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

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

Info

Publication number
WO2016140479A1
WO2016140479A1 PCT/KR2016/001995 KR2016001995W WO2016140479A1 WO 2016140479 A1 WO2016140479 A1 WO 2016140479A1 KR 2016001995 W KR2016001995 W KR 2016001995W WO 2016140479 A1 WO2016140479 A1 WO 2016140479A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
service
present
signaling
packet
Prior art date
Application number
PCT/KR2016/001995
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 KR1020187003286A priority Critical patent/KR101853670B1/ko
Priority to US15/543,041 priority patent/US10637595B2/en
Priority to KR1020167020603A priority patent/KR101827277B1/ko
Publication of WO2016140479A1 publication Critical patent/WO2016140479A1/ko
Priority to US15/885,274 priority patent/US10790917B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/53Arrangements specially adapted for specific applications, e.g. for traffic information or for mobile receivers
    • H04H20/59Arrangements specially adapted for specific applications, e.g. for traffic information or for mobile receivers for emergency or urgency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/27Server based end-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4126The peripheral being portable, e.g. PDAs or mobile phones
    • H04N21/41265The peripheral being portable, e.g. PDAs or mobile phones having a remote control device for bidirectional communication between the remote control device and client device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4728End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for selecting a Region Of Interest [ROI], e.g. for requesting a higher resolution version of a selected region
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/488Data services, e.g. news ticker
    • H04N21/4882Data services, e.g. news ticker for displaying messages, e.g. warnings, reminders
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6112Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving terrestrial transmission, e.g. DVB-T
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/81Monomedia components thereof
    • H04N21/8126Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts
    • H04N21/814Monomedia components thereof involving additional data, e.g. news, sports, stocks, weather forecasts comprising emergency warnings
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the present invention relates to a broadcast signal transmission apparatus, a broadcast signal reception apparatus, and a broadcast signal transmission and reception method.
  • the digital broadcast signal may include a larger amount of video / audio data than the analog broadcast signal, and may further include various types of additional data as well as the video / audio data.
  • the digital broadcasting system may provide high definition (HD) images, multichannel audio, and various additional services.
  • HD high definition
  • data transmission efficiency for a large amount of data transmission, robustness of a transmission / reception network, and network flexibility in consideration of a mobile receiving device should be improved.
  • the present invention provides a system and an associated signaling scheme that can effectively support next-generation broadcast services in an environment that supports next-generation hybrid broadcasting using terrestrial broadcasting networks and Internet networks. Suggest.
  • the present invention proposes a method for efficiently providing a hybrid broadcast using both a broadcasting network and an internet network.
  • the present invention proposes a method for providing an app-based enhancement based on an app for a basic broadcast service.
  • the present invention proposes a method of providing app-based enhancement to a broadcast service in sync.
  • the present invention proposes an architecture according to various protocols between a PD and a CD, and proposes a communication scheme between a PD and a CD, an app, and an app according to the architecture.
  • the present invention proposes an architecture and signaling scheme for effectively delivering information such as ESG and EAS from the PD side to the CD side.
  • FIG. 1 is a diagram illustrating a receiver protocol stack according to an embodiment of the present invention.
  • SLT service layer signaling
  • FIG. 3 is a diagram illustrating an SLT according to an embodiment of the present invention.
  • FIG. 4 is a diagram illustrating an SLS bootstrapping and service discovery process according to an embodiment of the present invention.
  • FIG. 5 is a diagram illustrating a USBD fragment for ROUTE / DASH according to an embodiment of the present invention.
  • FIG. 6 illustrates an S-TSID fragment for ROUTE / DASH 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 8 illustrates a link layer protocol architecture according to an embodiment of the present invention.
  • FIG 9 illustrates a base header structure of a link layer packet according to an embodiment of the present invention.
  • FIG. 10 is a diagram illustrating an additional header structure of a link layer packet according to an embodiment of the present invention.
  • FIG. 11 illustrates an additional header structure of a link layer packet according to another embodiment of the present invention.
  • FIG. 12 is a diagram illustrating a header structure of a link layer packet for an MPEG-2 TS packet and an encapsulation process according to an embodiment of the present invention.
  • 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).
  • LMT link mapping table
  • 15 is a diagram illustrating a link layer structure of a transmitter according to an embodiment of the present invention.
  • FIG. 16 illustrates a link layer structure of a receiver side according to an embodiment of the present invention.
  • 17 is a diagram illustrating a signaling transmission structure through a link layer according to an embodiment of the present invention (transmission / reception side).
  • FIG. 18 illustrates a structure of a broadcast signal transmission apparatus for a next generation broadcast service according to an embodiment of the present invention.
  • FIG. 19 illustrates a bit interleaved coding & modulation (BICM) block according to an embodiment of the present invention.
  • BICM bit interleaved coding & modulation
  • 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.
  • 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.
  • FIG. 23 illustrates a signaling hierarchy structure of a frame according to an embodiment of the present invention.
  • 26 illustrates PLS2 data according to another embodiment of the present invention.
  • FIG. 27 illustrates a logical structure of a frame according to an embodiment of the present invention.
  • FIG. 28 illustrates PLS mapping according to an 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.
  • 31 illustrates the operation of a twisted row-column block interleaver according to another embodiment of the present invention.
  • 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.
  • 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.
  • 35 illustrates a writing operation of a time interleaver according to an embodiment of the present invention.
  • 36 is a table showing interleaving types applied according to the number of PLPs.
  • 37 is a block diagram including the first embodiment of the above-described hybrid time interleaver structure.
  • 38 is a block diagram including a second embodiment of the above-described hybrid time interleaver structure.
  • 39 is a block diagram including the first embodiment of the structure of the hybrid time deinterleaver.
  • 40 is a block diagram including the second embodiment of the structure of the hybrid time deinterleaver.
  • 41 is a block diagram of an electronic device according to an embodiment of the present disclosure.
  • 43 illustrates a connection of a second client according to an embodiment.
  • 44 illustrates a connection between a first client and a second client according to an embodiment.
  • 45 illustrates an additional connection request according to an embodiment.
  • FIG. 47 illustrates a standby connection for connection between applications according to an embodiment.
  • FIG. 48 illustrates a new connection request for connecting with a second client according to an embodiment.
  • 49 is a diagram illustrating setting of a first client when including an IP address according to an embodiment.
  • 50 is a diagram illustrating setting of first and second clients when including an IP address according to an embodiment.
  • FIG. 51 illustrates an embodiment of connecting to a plurality of second clients when including an IP address.
  • FIG. 52 is a flowchart of a control method of an electronic device, according to an embodiment of the present disclosure.
  • FIG. 53 is a diagram illustrating the configuration of a main physical device and a companion physical device according to an embodiment of the present invention.
  • 54 is a diagram illustrating a protocol stack for supporting hybrid broadcast service according to an embodiment of the present invention.
  • 55 is a diagram illustrating an action mechanism of the UPnP method according to an embodiment of the present invention.
  • FIG. 57 is a diagram illustrating a service for exchanging ESGs between a broadcast receiver and companion devices according to one embodiment of the present invention.
  • ESGData state variables are a view showing ESGData state variables according to another embodiment of the present invention.
  • 60 is a diagram illustrating a process of delivering an ESGData state variable to a companion device according to an event according to an embodiment of the present invention.
  • FIG. 61 is a view illustrating LastChangedESGData state variables according to an embodiment of the present invention.
  • FIG. 62 is a diagram illustrating a process of delivering ESG data to a companion device according to the GetESGData action according to an embodiment of the present invention.
  • FIG. 63 is a view illustrating a process of delivering ESG data to a companion device according to GetServiceIds and GetESGbyServiceIds actions according to an embodiment of the present invention.
  • 64 is a diagram illustrating a process of delivering ESG data to a companion device according to the GetCurrentServiceId action according to an embodiment of the present invention.
  • 65 is a diagram illustrating a process of delivering ESG data to a companion device according to a SearchESG action according to an embodiment of the present invention.
  • 66 is a diagram illustrating an authentication process for delivering ESG data according to an DoAuthenticationForESG action according to an embodiment of the present invention.
  • FIG. 67 is a diagram illustrating a process of delivering ESG data to a companion device at the same time as device authentication according to GetServiceIds and GetESGbyServiceIds actions according to another embodiment of the present invention.
  • FIG. 68 is a diagram illustrating a process of delivering ESG data to a companion device according to a GetService action according to an embodiment of the present invention.
  • 69 is a diagram illustrating a process of changing a service of a broadcast receiver in a companion device according to a SetChangeChannel action according to an embodiment of the present invention.
  • 70 is a diagram illustrating a method for providing a broadcast service according to an embodiment of the present invention.
  • 71 is a view showing a broadcast receiver according to an embodiment of the present invention.
  • FIG. 72 is a diagram showing the configuration of a broadcast system according to an embodiment of the present invention.
  • 73 is a flowchart of a broadcast system according to an embodiment of the present invention.
  • 74 is a diagram illustrating information related to a media playback status information subscription request according to an embodiment of the present invention.
  • 75 is a diagram illustrating information related to a media playback status information subscription response according to an embodiment of the present invention.
  • 76 is a diagram showing information related to a media playback status information subscription response according to an embodiment of the present invention.
  • 77 is a diagram illustrating information related to a media playback status information subscription update request according to an embodiment of the present invention.
  • FIG. 78 is a diagram illustrating information related to a media playback status information subscription cancel request according to an embodiment of the present invention.
  • 79 is a diagram illustrating information related to a media playback status information subscription update response according to an embodiment of the present invention.
  • 80 is a diagram illustrating information related to a media playback status information subscription update response according to an embodiment of the present invention.
  • 81 is a diagram showing information related to a media playback status information subscription cancel response according to an embodiment of the present invention.
  • FIG. 82 illustrates a media playback status information notification message according to an embodiment of the present invention.
  • 83 is a diagram illustrating a response message to a media playback status information notification message according to one embodiment of the present invention.
  • FIG. 84 is a flowchart of a broadcast system according to an embodiment of the present invention.
  • 85 is a diagram illustrating information related to an emergency alert message subscription request according to an embodiment of the present invention.
  • 86 is a diagram illustrating information related to an emergency alert message subscription response according to an embodiment of the present invention.
  • 87 is a view showing information related to an emergency alert message subscription response according to an embodiment of the present invention.
  • 88 is a diagram illustrating information related to an emergency alert message subscription update request according to an embodiment of the present invention.
  • 89 is a view illustrating information related to an emergency alert message subscription cancellation request according to an embodiment of the present invention.
  • 90 is a view showing information related to an emergency alert message subscription update response according to an embodiment of the present invention.
  • 91 is a diagram illustrating information related to an emergency alert message subscription update response according to an embodiment of the present invention.
  • 92 is a diagram illustrating information related to an emergency alert message subscription cancellation response according to an embodiment of the present invention.
  • 93 is a diagram illustrating an emergency alert message according to an embodiment of the present invention.
  • 94 is a view illustrating a response message to an emergency alert message notification message according to an embodiment of the present invention.
  • FIG. 96 shows a protocol stack for supporting a broadcast service according to an embodiment of the present invention.
  • 97 is a view of a broadcast transport frame according to an embodiment of the present invention.
  • FIG. 98 shows a broadcast transport frame according to another embodiment of the present invention.
  • 100 is a view illustrating a value that a network_protocol field includes in a transport packet for transmitting a broadcast service according to an embodiment of the present invention.
  • 101 is a diagram showing the configuration of a broadcast reception device according to one embodiment of the present invention.
  • 102 is a diagram showing the configuration of a broadcast reception device according to another embodiment of the present invention.
  • FIG. 103 is a view illustrating a broadcast service signaling table and a broadcast service transmission path signaling information signaling a broadcast service and a broadcast service transmission path according to an embodiment of the present invention.
  • 104 is a view of a broadcast service signaling table according to an embodiment of the present invention.
  • 105 is a view illustrating a value that a service_category field includes in a broadcast service signaling table according to an embodiment of the present invention.
  • 106 is a view of a broadcast service signaling table according to another embodiment of the present invention.
  • 107 shows a stream identifier descriptor according to an embodiment of the present invention.
  • FIG. 108 illustrates an operation of transmitting a broadcast service signaling table by a broadcast transmission device according to an embodiment of the present invention.
  • 109 illustrates an operation of receiving a broadcast service signaling table by a broadcast reception device according to an embodiment of the present invention.
  • 111 is a view illustrating a value that a delivery_network_type field includes in broadcast service transmission path signaling information according to an embodiment of the present invention.
  • FIG. 112 shows that broadcast service transmission path signaling information signals transmission of a broadcast service through an IP stream according to an embodiment of the present invention.
  • FIG. 113 shows that broadcast service transmission path signaling information signals transmission of a broadcast service through an IP stream of another broadcaster according to an embodiment of the present invention.
  • 114 is a view illustrating broadcast service transmission path signaling information signaling transmission of a broadcast service through a FLUTE session according to an embodiment of the present invention.
  • FIG. 115 shows that broadcast service transmission path signaling information signals transmission of a broadcast service through a FLUTE protocol of another broadcaster according to an embodiment of the present invention.
  • the broadcast service transmission path signaling information of the present invention signals the transmission of a broadcast service through an MPEG-2 TS stream.
  • FIG. 117 shows that broadcast service transmission path signaling information signals transmission of a broadcast service through a packet based stream of another broadcaster according to an embodiment of the present invention.
  • FIG. 118 shows that broadcast service transmission path signaling information signals transmission of a broadcast service through a packet based stream transmitted in an IP based broadcast network according to an embodiment of the present invention.
  • broadcast service transmission path signaling information signals a broadcast service through a URL according to an embodiment of the present invention.
  • FIG. 120 shows a broadcast transmission device transmitting broadcast service transmission path signaling information according to an embodiment of the present invention.
  • 121 is a view illustrating a broadcast reception device receiving a broadcast service based on a broadcast service transmission path according to an embodiment of the present invention.
  • FIG. 122 shows media component signaling information signaling a media component according to an embodiment of the present invention.
  • 123 shows a value of a component_type field included in media component signaling information according to an embodiment of the present invention.
  • 124 is a view illustrating component_data syntax included in media component signaling information according to another embodiment of the present invention.
  • 125 is a view showing the types and roles of media components according to an embodiment of the present invention.
  • 127 shows a complex video component according to an embodiment of the present invention.
  • 128 illustrates a complex audio component according to an embodiment of the present invention.
  • 129 illustrates types and roles of media components according to another embodiment of the present invention.
  • 130 illustrates a configuration of a complex video component according to an embodiment of the present invention.
  • 131 shows a complex video component according to another embodiment of the present invention.
  • FIG. 132 shows a complex video component according to another embodiment of the present invention.
  • 133 illustrates a configuration of a media component of an audio service according to an embodiment of the present invention.
  • 134 illustrates a configuration of a broadcast service including both audio and video according to an embodiment of the present invention.
  • 135 is a diagram showing the configuration of a user request content service according to one embodiment of the present invention.
  • 136 shows a configuration of a standalone NRT data service according to an embodiment of the present invention.
  • FIG. 138 shows a value of a component_data field included in media component signaling information according to another embodiment of the present invention.
  • 143 shows an NRT information block according to an embodiment of the present invention.
  • icon_transport_mode of graphic icon information may have according to an embodiment of the present invention.
  • 147 illustrates a value that a coordinate_system field of graphic icon information may have according to an embodiment of the present invention.
  • 150 illustrates targeting criterion information signaling a targeting criterion of a broadcast service or a media component.
  • 151 shows text information for describing a broadcast service or a media component.
  • 152 shows title information of a broadcast service, program, or show segment.
  • 153 shows genre information of a broadcast service, a program, or a show segment.
  • 155 shows that a broadcast service is divided into a plurality of segments.
  • 157 shows a show information block according to an embodiment of the present invention.
  • 158 shows a segment information block according to an embodiment of the present invention.
  • a broadcast transmission device transmits a broadcast signal including at least one of show information and segment information according to an embodiment of the present invention.
  • 160 is a view illustrating a broadcast receiving device receiving a broadcast signal including at least one of show information and segment information according to an embodiment of the present invention.
  • 161 shows program information according to an embodiment of the present invention.
  • 162 shows a program information block according to an embodiment of the present invention.
  • 163 shows a program information block according to another embodiment of the present invention.
  • FIG. 164 shows a program information block according to another embodiment of the present invention.
  • 165 shows a program information block according to another embodiment of the present invention.
  • FIG. 168 shows a segment information block according to an embodiment of the present invention.
  • 169 illustrates targeting segment set information according to an embodiment of the present invention.
  • 170 is a view illustrating a broadcast transmission device transmitting a broadcast signal including at least one of program information and segment information according to an embodiment of the present invention.
  • a broadcast reception device receives a broadcast signal including at least one of program information and segment information.
  • 172 shows a continuous component class, an audio component class, a video component class, and a subtitle component class.
  • 173 shows an elementary audio component class, an elementary video component class, and an elementary subtitle component class.
  • 174 shows a composite audio component class and a composite video component class.
  • 175 shows a PickOne component class.
  • 176 illustrates a presentable component class, a presentable video component class, a presentable audio component class, and a presentable subtitle component class.
  • 177 shows a user request component class.
  • 179 shows a user request component class according to another embodiment of the present invention.
  • 183 shows a time base class and a notification stream class.
  • 187 shows a segment class, a show segment class, and an intermediate segment class.
  • 188 illustrates an inheritance relationship with sub-properties according to the type of broadcast service according to an embodiment of the present invention.
  • 189 illustrates an inheritance relationship between a continuous component and components having sub-properties of the continuous component according to an embodiment of the present invention.
  • 190 is a view illustrating an inheritance relationship between a presentable component and components having sub-properties of the presentable component according to an embodiment of the present invention.
  • 191 illustrates a relationship between a service, a program included in the service, and segments included in the programs according to an embodiment of the present invention.
  • 193 illustrates an inheritance relationship between a continuous component and components having sub-properties of the continuous component according to another embodiment of the present invention.
  • 194 illustrates an inheritance relationship between an NRT content item class and an NRT file.
  • 195 illustrates a relationship between a service and a program included in the service, and segments included in the programs according to another embodiment of the present invention.
  • 196 shows a hierarchical structure of a presentable audio component.
  • 197 is a flowchart illustrating an operation in which a broadcast receiving device displays an auto-launch app based service through a broadcast service guide and stores or downloads it as a favorite.
  • 199 illustrates an inheritance relationship between a continuous component and components having sub-properties of the continuous component according to another embodiment of the present invention.
  • 200 is a view illustrating an inheritance relationship between a presentable component and components having sub-properties of the presentable component according to another embodiment of the present invention.
  • 201 is a flowchart illustrating an operation of transmitting, by a broadcast transmission device, information signaling a video including a sign language screen according to an embodiment of the present invention.
  • 202 is a flowchart illustrating an operation of displaying a video including a broadcast receiving device sign language screen according to an embodiment of the present invention.
  • 203 illustrates a user interface for setting a sign language interface of a broadcast reception device according to an embodiment of the present invention.
  • FIG. 204 illustrates a broadcast system for providing a broadcast service interoperating with a companion device according to an embodiment of the present invention.
  • 205 shows a property of a broadcast service signaled according to an embodiment of the present invention.
  • target device information can have among the attributes of a broadcast service signaled according to an embodiment of the present invention.
  • 207 illustrates a UPnP action mechanism according to an embodiment of the present invention.
  • REST representational state transfer
  • FIG. 209 illustrates a service signaling message of a broadcast reception device and a companion device using an eventing method according to an embodiment of the present invention.
  • 210 is a ladder diagram illustrating an operation of a broadcast reception device signaling a broadcast service property to a companion device according to an embodiment of the present invention.
  • 211 illustrates a data format of a broadcast service property that a broadcast reception device signals to a companion device according to an embodiment of the present invention.
  • 212 illustrates a variable representing a state of a broadcast service property that a broadcast receiving device signals to a companion device, an action for a broadcast service property, and an argument of an action according to another embodiment of the present invention.
  • 213 is a ladder diagram illustrating operations when a broadcast reception device signals a broadcast service property to a companion device according to another embodiment of the present invention.
  • 214 is a view illustrating a data format of whether a broadcast service property is changed that a broadcast reception device signals to a companion device according to another embodiment of the present invention.
  • 215 is a view illustrating variables representing a state of a broadcast service property that a broadcast reception device signals to a companion device according to another embodiment of the present invention.
  • 216 illustrates a data format of whether a broadcast service property is changed by a broadcast reception device signaling to a companion device according to another embodiment of the present invention.
  • 217 is a view illustrating variables representing a state of a broadcast service property that a broadcast reception device signals to a companion device according to another embodiment of the present invention.
  • 218 is a ladder diagram illustrating an operation of a broadcast reception device signaling a broadcast service property to a companion device according to another embodiment of the present invention.
  • 219 is a view illustrating parameters representing a state of a broadcast service property that a broadcast reception device signals to a companion device according to another embodiment of the present invention.
  • 220 is a diagram illustrating an action for obtaining a broadcast service property according to an embodiment of the present invention.
  • 221 is a ladder diagram illustrating operations when a broadcast reception device signals a broadcast service property to a companion device according to another embodiment of the present invention.
  • 222 illustrates a variable representing a state of a broadcast service property that a broadcast receiving device signals to a companion device, an action for a broadcast service property, and an action argument according to another embodiment of the present invention.
  • 223 is a ladder diagram illustrating operations when a broadcast reception device signals a broadcast service property to a companion device according to another embodiment of the present invention.
  • FIG. 224 illustrates a process in which an emergency alert is generated and transmitted through a broadcasting network according to an embodiment of the present invention.
  • the broadcast reception device extracts and displays an emergency alert signaled through a broadcast network according to an embodiment of the present invention.
  • 226 shows a format of a specific CAP message according to an embodiment of the present invention.
  • 227 is a view illustrating a service type of an emergency alert service signaled by a broadcast reception device, a service identifier, a variable representing a state of an emergency alert, an action for an emergency alert, and an argument of an action according to an embodiment of the present invention.
  • 228 is a ladder diagram illustrating an operation of signaling an emergency alert to a companion device by a broadcast reception device according to an embodiment of the present invention.
  • 229 illustrates the contents of an emergency alert notification message of a broadcast reception device according to an embodiment of the present invention.
  • 230 illustrates the contents of an emergency alert notification message according to an embodiment of the present invention.
  • 231 to 233 show a criterion for the broadcast reception device to determine the priority of an emergency alert according to an embodiment of the present invention.
  • 234 is a view illustrating a parameter representing a state of an emergency alert signaled by a broadcast reception device, an action for emergency alert, and an argument of an action according to another embodiment of the present invention.
  • 235 is a ladder diagram illustrating an operation of signaling an emergency alert by a broadcast reception device to a companion device according to another embodiment of the present invention.
  • 236 is a view showing an emergency alert message in XML format returned from the broadcast reception device according to an embodiment of the present invention.
  • 237 illustrates a variable representing a state of an emergency alert signaled by a broadcast receiving device, an action for emergency alert, and an argument of an action according to another embodiment of the present invention.
  • 238 is a ladder diagram illustrating an operation of signaling an emergency alert to a companion device by a broadcast reception device according to another embodiment of the present invention.
  • 239 illustrates a parameter representing a state of an emergency alert signaled by a broadcast reception device according to another embodiment of the present invention.
  • 240 is a view illustrating an action and an argument of an action for an emergency alert signaled by a broadcast reception device according to another embodiment of the present invention.
  • 241 is a ladder diagram illustrating an operation of signaling an emergency alert to a companion device by a broadcast reception device according to another embodiment of the present invention.
  • 242 is a ladder diagram illustrating an operation of signaling an emergency alert to a companion device by a broadcast reception device according to another embodiment of the present invention.
  • NRT data signaling information for a companion device according to an embodiment of the present invention.
  • a broadcast reception device generates NRT data signaling information for a companion device based on NRT data signaling information for a broadcast reception device according to an embodiment of the present invention.
  • 245 is a view illustrating a variable relating to NRT data, an action for obtaining NRT data, and an action factor according to an embodiment of the present invention.
  • FIG. 246 shows that a broadcast reception device signals NRT data to a companion device according to an embodiment of the present invention.
  • FIG. 247 shows that a broadcast reception device signals NRT data to a companion device according to another embodiment of the present invention.
  • 248 illustrates device capability information signaled by a broadcast reception device to a companion device according to an embodiment of the present invention.
  • 250 illustrates an action and a factor of an action for obtaining device performance information according to an embodiment of the present invention.
  • a broadcast reception device signals device information to a companion device according to an embodiment of the present invention.
  • a broadcast reception device signals device information to a companion device according to an embodiment of the present invention.
  • 253 shows a broadcast reception device signaling device information to a companion device according to another embodiment of the present invention.
  • a broadcast reception device signals device information to a companion device according to another embodiment of the present invention.
  • 255 shows device capability information signaled by a broadcast reception device to a companion device according to an embodiment of the present invention.
  • 256 shows that a broadcast reception device signals device information to a companion device according to an embodiment of the present invention.
  • FIG. 257 shows that a broadcast reception device signals device information to a companion device according to an embodiment of the present invention.
  • 258 is a flowchart illustrating an operation of a companion device according to an embodiment of the present invention.
  • 259 is a flowchart illustrating the operation of a broadcast reception device according to an embodiment of the present invention.
  • 260 illustrates a configuration of a broadcast system according to an embodiment of the present invention.
  • 261 shows a configuration of a broadcast reception device according to an embodiment of the present invention.
  • 262 is a diagram illustrating an application layer transport protocol stack according to an embodiment of the present invention.
  • 263 shows a broadcast transport frame according to an embodiment of the present invention.
  • 264 shows a broadcast transport frame according to an embodiment of the present invention.
  • 265 shows a broadcast transport frame according to an embodiment of the present invention.
  • 266 shows an LCT packet according to an embodiment of the present invention.
  • 268 is a diagram illustrating signaling information delivered through a transport session according to an embodiment of the present invention.
  • 269 illustrates that signaling information is transmitted through a transport session according to an embodiment of the present invention.
  • 270 illustrates a service signaling message configuration according to an embodiment of the present invention.
  • 271 is a ladder diagram illustrating an operation of signaling an emergency alert to a companion device by a broadcast reception device according to an embodiment of the present invention.
  • 272 illustrates a header message format for delivery of an emergency alert multicast message according to an embodiment of the present invention.
  • FIG. 273 illustrates a body message format for delivery of an emergency alert multicast message according to an embodiment of the present invention.
  • FIG. 274 illustrates a body message format for delivery of an emergency alert multicast message according to an embodiment of the present invention.
  • 275 is a flowchart illustrating a broadcast reception device according to an embodiment of the present invention.
  • 276 is a diagram illustrating a broadcast system according to an embodiment of the present invention.
  • 278 is a view showing a broadcast reception method according to an embodiment of the present invention.
  • 279 is a diagram illustrating an app-related broadcast service according to an embodiment of the present invention.
  • 281 illustrates another part of an ApplicationList element according to an embodiment of the present invention.
  • EMT event message table
  • 284 is a diagram illustrating an AST transmitted through broadband according to an embodiment of the present invention.
  • 285 illustrates an event transmitted in the form of an EventStream element through broadcast according to an embodiment of the present invention.
  • 287 illustrates an event transmitted in the form of an EventStream element through broadband according to an embodiment of the present invention.
  • 288 illustrates an event transmitted in the form of an emsg box through a broadband according to an embodiment of the present invention.
  • 289 illustrates an API and an event listener according to an embodiment of the present invention.
  • 290 is a view showing a broadcast transmission method according to an embodiment of the present invention.
  • 291 is a view showing a broadcast receiving method according to an embodiment of the present invention.
  • FIG. 292 is a block diagram illustrating that a broadcast receiving device receives an MPD of MPEG-DASH through a broadcasting network transmitting a broadcast stream according to the MPEG-2 TS standard.
  • FIG. 293 is a block diagram illustrating that the broadcast reception device synchronizes broadcast content of a broadcast stream transmitted according to the MPEG-2 TS standard with media content transmitted through a communication network.
  • 294 illustrates a configuration of a broadcast reception device according to an embodiment of the present invention.
  • 295 illustrates a configuration of a broadcast reception device according to another embodiment of the present invention.
  • 296 illustrates a configuration of a broadcast reception device according to another embodiment of the present invention.
  • 297 is a flowchart illustrating an operation in which the broadcast receiving device 100 scans a broadcast service to generate a channel map.
  • 298 is a flowchart illustrating an operation of the broadcast receiving device 100 receiving a broadcast service.
  • 299 is a flowchart illustrating an operation of obtaining, by a broadcast receiving device, a media component based on media content presentation information.
  • 300 shows a broadcast transport frame according to an embodiment of the present invention.
  • 301 shows a broadcast transport frame according to another embodiment of the present invention.
  • FIG. 302 illustrates a service signaling message configuration according to an embodiment of the present invention.
  • 303 illustrates a configuration of a broadcast service signaling message in a next generation broadcast system according to an embodiment of the present invention.
  • 304 is a view illustrating the meanings of values indicated by a timebase_transport_mode field and a signaling_transport_mode field in a service signaling message according to an embodiment of the present invention.
  • 305 illustrates syntax of a bootstrap () field according to a timebase_transport_mode field and a signaling_transport_mode field value according to an embodiment of the present invention.
  • 306 illustrates syntax of a bootstrap () field according to a timebase_transport_mode field and a signaling_transport_mode field value according to an embodiment of the present invention.
  • 307 illustrates syntax of a bootstrap () field according to a timebase_transport_mode field and a signaling_transport_mode field value according to an embodiment of the present invention.
  • 308 illustrates syntax of a bootstrap () field according to a timebase_transport_mode field and a signaling_transport_mode field value according to an embodiment of the present invention.
  • 309 illustrates syntax of a bootstrap () field according to a timebase_transport_mode field and a signaling_transport_mode field value according to an embodiment of the present invention.
  • FIG. 310 illustrates syntax of a bootstrap () field according to a timebase_transport_mode field and a signaling_transport_mode field value according to an embodiment of the present invention.
  • 311 illustrates syntax of a bootstrap () field according to a timebase_transport_mode field and a signaling_transport_mode field value according to an embodiment of the present invention.
  • 312 illustrates a process of acquiring a timebase and service signaling message in the embodiments of FIGS. 303 to 311.
  • 313 illustrates a configuration of a broadcast service signaling message in a next generation broadcast system according to an embodiment of the present invention.
  • 314 illustrates a configuration of a broadcast service signaling message in a next generation broadcast system according to an embodiment of the present invention.
  • FIG. 315 shows the meaning according to the value of each transmission mode described with reference to FIG.
  • 316 illustrates a configuration of a signaling message signaling a component data acquisition path of a broadcast service in a next generation broadcast system.
  • 317 illustrates syntax of an app_delevery_info () field according to an embodiment of the present invention.
  • 318 illustrates syntax of an app_delevery_info () field according to another embodiment of the present invention.
  • component location signaling including path information capable of acquiring one or more component data configuring a broadcast service.
  • FIG. 320 illustrates a configuration of component location signaling of FIG. 319.
  • 321 is a flowchart illustrating an operation process of a broadcast reception device according to an embodiment of the present invention.
  • 322 is a flowchart illustrating an operation process of a broadcast transmission device according to an embodiment of the present invention.
  • 323 illustrates a trigger according to the trigger syntax described above.
  • 324 illustrates syntax of triggering application information according to an embodiment of the present invention.
  • 325 illustrates a matching relationship between a trigger attribute for signaling trigger type information and an MPD element and an event message box according to an embodiment of the present invention.
  • 326 shows trigger type information according to an embodiment of the present invention.
  • 327 illustrates syntax of triggering application information according to an embodiment of the present invention.
  • 328 illustrates a matching relationship between a trigger attribute and an MPD element and an event message box for signaling a location of information about an application triggered according to an embodiment of the present invention.
  • 329 illustrates a matching relationship between a trigger attribute for signaling a state of an application, an MPD element, and an event message box according to an embodiment of the present invention.
  • 330 illustrates a matching relationship between a trigger attribute for signaling an operation of an application, an MPD element, and an event message box according to an embodiment of the present invention.
  • 331 illustrates a matching relationship between a trigger attribute for signaling media time and an MPD element and an event message box according to an embodiment of the present invention.
  • 332 shows definition of a value attribute for signaling all trigger attributes as one event according to an embodiment of the present invention.
  • 333 is a view illustrating a matching relationship between an identifier attribute and a message attribute of an event element and an identifier field of an event message box and a message data field for signaling all trigger attributes as one event according to an embodiment of the present invention.
  • 334 shows a structure of a package of an MMT protocol according to an embodiment of the present invention.
  • 335 illustrates a structure of an MMTP packet and types of data included in an MMTP packet according to an embodiment of the present invention.
  • 336 shows syntax of an MMTP payload header when an MMTP packet includes a fragment of an MPU according to an embodiment of the present invention.
  • 337 shows synchronizing a trigger transmitted through an MPU with content according to an embodiment of the present invention.
  • 338 shows syntax of an MMT signaling message according to another embodiment of the present invention.
  • 339 illustrates a relationship between a value of an identifier for identifying an MMT signaling message and data signaled by the MMT signaling message according to another embodiment of the present invention.
  • 340 shows the syntax of a signaling message including application signaling information according to another embodiment of the present invention.
  • 341 shows a syntax of an application signaling table including application signaling information according to another embodiment of the present invention.
  • 342 illustrates a relationship between trigger type information included in an application signaling table and trigger attributes included in a trigger according to another embodiment of the present invention.
  • 343 illustrates a relationship between a value of an identifier for identifying an MMT signaling message and data signaled by the MMT signaling message according to another embodiment of the present invention.
  • the application signaling table does not include trigger type information unlike the application signaling table described above.
  • 345 shows a structure of an MMTP packet according to another embodiment of the present invention.
  • 346 shows the structure of an MMTP packet and syntax of a header extension field for transmitting application signaling information according to another embodiment of the present invention.
  • 347 shows that a broadcast transmission device transmits a broadcast signal based on application signaling information according to embodiments of the present invention.
  • 348 shows that a broadcast reception device obtains application signaling information based on a broadcast signal according to embodiments of the present invention.
  • 349 illustrates event information according to an embodiment of the present invention.
  • 350 is a diagram illustrating XML format of event information according to an embodiment of the present invention.
  • 351 illustrates UPnP Action Mechanism according to an embodiment of the present invention.
  • 352 is a view illustrating REST mechanism according to an embodiment of the present invention.
  • 353 illustrates state variables for delivery of a trigger according to an embodiment of the present invention.
  • 354 illustrates trigger list information according to an embodiment of the present invention.
  • 355 is a diagram illustrating an XML format of trigger list information according to an embodiment of the present invention.
  • 356 is a diagram illustrating trigger transmission information according to an embodiment of the present invention.
  • 357 illustrates trigger delivery information according to an embodiment of the present invention.
  • 358 is a diagram illustrating trigger list information according to an embodiment of the present invention.
  • 359 is a diagram illustrating an XML data format of trigger list information according to an embodiment of the present invention.
  • 360 illustrates trigger delivery information according to an embodiment of the present invention.
  • 361 illustrates a flow diagram when trigger type information indicates “action” according to an embodiment of the present invention.
  • 362 is a diagram illustrating an XML format of TriggerInfoList when trigger type information indicates “action” according to an embodiment of the present invention.
  • 363 is a diagram illustrating a flow diagram when trigger type information indicates “action” according to an embodiment of the present invention.
  • FIG. 364 is a diagram illustrating an XML format of TriggerInfoList when trigger type information indicates “action” according to an embodiment of the present invention.
  • 365 is a diagram illustrating a flow diagram when trigger type information indicates "status" according to an embodiment of the present invention.
  • 366 is a diagram illustrating an XML format of TriggerInfoList when trigger type information indicates "status" according to an embodiment of the present invention.
  • 367 is a flowchart illustrating a flow diagram when trigger type information indicates "mediaTime” according to an embodiment of the present invention.
  • 368 is a diagram illustrating an XML format of TriggerInfoList when trigger type information indicates “mediaTime” according to an embodiment of the present invention.
  • 369 is a flowchart illustrating a case in which a first receiver is not paired with a second receiver according to an embodiment of the present invention.
  • 370 is a flowchart illustrating a case where the first receiver is not paired with the second receiver according to an embodiment of the present invention.
  • 371 illustrates a flow diagram in which a second receiver receives triggering application information from a transmitter according to an embodiment of the present invention.
  • 372 is a flowchart illustrating the operation of a broadcast reception device according to an embodiment of the present invention.
  • 373 is a diagram illustrating a configuration of a broadcast system according to an embodiment of the present invention.
  • 374 is a diagram showing a broadcast system for delivering time information according to an embodiment of the present invention.
  • 375 is a view showing state variables for delivery of service time information according to an embodiment of the present invention.
  • 376 illustrates service time information according to an embodiment of the present invention.
  • 377 is a diagram illustrating an XML format of service time information according to an embodiment of the present invention.
  • 378 is a view illustrating operations required for delivering service time information according to an embodiment of the present invention.
  • 379 illustrates delivery frequency information according to an embodiment of the present invention.
  • 380 is a flowchart illustrating a method of delivering service time information to a companion screen device by a broadcast receiving device according to an embodiment of the present invention in an eventing manner.
  • 381 is a flowchart illustrating a method of delivering service time information to a companion screen device by a broadcast reception device according to an embodiment of the present invention in a request manner.
  • 382 is a flowchart illustrating an operation of a broadcast reception device according to an embodiment of the present invention.
  • 383 is a diagram illustrating a synchronization of a broadcast reception device and a companion screen device according to one embodiment of the present invention.
  • 384 illustrates a diagram in which the broadcast reception device and the companion screen device are not synchronized according to an embodiment of the present invention.
  • 385 is a diagram illustrating a method for synchronizing a broadcast receiving device and a companion screen device according to an embodiment of the present invention.
  • 386 is a diagram illustrating service time information including playback status information according to an embodiment of the present invention.
  • 387 illustrates an XML format of service time information according to an embodiment of the present invention.
  • 388 is a diagram illustrating delivery of playback status information according to an embodiment of the present invention.
  • 389 is a diagram illustrating delivery of playback status information according to an embodiment of the present invention.
  • 390 is a diagram illustrating delivery of playback status information according to an embodiment of the present invention.
  • 391 is a diagram illustrating delivery of playback status information according to an embodiment of the present invention.
  • 392 illustrates state variables for delivery of playback information according to an embodiment of the present invention.
  • 393 illustrates playback information according to an embodiment of the present invention.
  • 394 illustrates an XML format of playback information according to an embodiment of the present invention.
  • 395 is a diagram illustrating operations required for transferring playback information according to an embodiment of the present invention.
  • FIG. 396 is a flowchart of a broadcast reception device delivering playback information to a companion screen device in an eventing manner according to an embodiment of the present invention.
  • 397 is a flowchart illustrating a method of delivering playback information to a companion screen device by a broadcast reception device according to an embodiment of the present invention.
  • 398 is a diagram illustrating delivery of playback status information according to an embodiment of the present invention.
  • 399 is a diagram illustrating delivery of playback status information according to an embodiment of the present invention.
  • 400 is a flowchart illustrating an operation of a broadcast reception device according to an embodiment of the present invention.
  • 401 is a diagram illustrating service time information (ServiceTimeInfo) in JSON format according to another embodiment of the present invention.
  • ServiceTimeInfo service time information in JSON format further including playback status information according to another embodiment of the present invention.
  • FIG. 403 is a diagram illustrating service time information (ServiceTimeInfo) in JSON format further including playback state information of a plurality of images according to another embodiment of the present invention.
  • PlaybackInfo playback state information
  • 405 illustrates a UPnP-based PD-CD architecture according to an embodiment of the present invention.
  • 406 illustrates a UPnP based PD-CD architecture according to another embodiment of the present invention.
  • 407 illustrates a UPnP based PD-CD architecture according to another embodiment of the present invention.
  • 408 illustrates an interaction diagram in a UPnP-based PD-CD architecture according to an embodiment of the present invention.
  • 409 illustrates a Websocket-based PD-CD architecture according to an embodiment of the present invention.
  • 410 is a diagram illustrating a Websocket-based PD-CD architecture according to another embodiment of the present invention.
  • 411 is a diagram illustrating a Websocket-based PD-CD architecture according to another embodiment of the present invention.
  • 412 illustrates App to app communication in a Websocket-based PD-CD architecture according to an embodiment of the present invention.
  • 413 is a diagram illustrating an HTTP-based PD-CD architecture according to an embodiment of the present invention.
  • 414 is a diagram illustrating an HTTP-based PD-CD architecture according to another embodiment of the present invention.
  • 415 is a diagram illustrating a PD-CD architecture based on Websocket & HTTP according to an embodiment of the present invention.
  • 416 illustrates a format of messages used for discovery of a primary device (PD) according to an embodiment of the present invention.
  • FIG. 417 is a diagram illustrating a discovery process of a Websocket endpoint or HTTP service URL using a device description document (DDD) according to an embodiment of the present invention.
  • DDD device description document
  • FIG. 418 illustrates a request message of DDD and a format of DDD in a discovery process of a Websocket endpoint or HTTP service URL using DDD according to an embodiment of the present invention.
  • FIG. 419 illustrates a format of a DDD in a discovery process of a Websocket endpoint or an HTTP service URL using DDD according to an embodiment of the present invention.
  • 420 illustrates a format of DDD in a discovery process of a Websocket endpoint or an HTTP service URL using DDD according to another embodiment of the present invention.
  • 421 illustrates a discovery process of a Websocket endpoint or an HTTP service URL using a response header for a DDD request according to an embodiment of the present invention.
  • FIG. 422 illustrates a format of a response header in a discovery process of a Websocket endpoint or an HTTP service URL using a response header for a DDD request according to an embodiment of the present invention.
  • 423 illustrates a discovery process of a Websocket endpoint or an HTTP service URL using a URL of a response header for a DDD request according to an embodiment of the present invention.
  • FIG. 424 illustrates a GET request and a response message formats in a discovery process of a Websocket endpoint or HTTP service URL using a URL of a response header for a DDD request according to an embodiment of the present invention. to be.
  • FIG. 425 illustrates a format of a response message for delivering address information in a discovery process of a Websocket endpoint or HTTP service URL using a URL of a response header for a DDD request according to another embodiment of the present invention.
  • FIG. 426 illustrates a Websocket-based handshake & connection process according to an embodiment of the present invention (after discovery).
  • FIG. 427 is a diagram illustrating a handshake & connection process for websocket-based app-to-app communication according to an embodiment of the present invention (after discovery).
  • 428 is a diagram illustrating a two-way communication process based on Websockets (after connection) according to an embodiment of the present invention.
  • 429 is a diagram illustrating a websocket based App to App 2 way communication process according to an embodiment of the present invention (after connection / CD to PD).
  • FIG. 430 is a diagram illustrating a websocket based App to App 2 way communication process according to an embodiment of the present invention (after connection / PD to CD).
  • FIG. 431 is a view illustrating an HTTP-based request-response process according to an embodiment of the present invention (after discovery).
  • 432 is a view showing a method for providing a broadcast service in a PD according to an embodiment of the present invention.
  • 433 illustrates a broadcast reception device operating as a PD according to an embodiment of the present invention.
  • 435 is a view showing a process of delivering an ESGData state variable in JSON format to a companion device using a web socket protocol according to another embodiment of the present invention.
  • the present invention provides an apparatus and method for transmitting and receiving broadcast signals for next generation broadcast services.
  • the next generation broadcast service includes a terrestrial broadcast service, a mobile broadcast service, a UHDTV service, and the like.
  • a broadcast signal for a next generation broadcast service may be processed through a non-multiple input multiple output (MIMO) or MIMO scheme.
  • MIMO multiple input multiple output
  • the non-MIMO scheme may include a multiple input single output (MISO) scheme, a single input single output (SISO) scheme, and the like.
  • 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 service is delivered using three functional layers. These are the physical layer, delivery layer, and service management layer.
  • the physical layer provides a mechanism by which signals, service announcements, and IP packet streams are transmitted in the broadcast physical layer and / or the broadband physical layer.
  • the delivery layer provides object and object flow transport functionality. This is possible by the MMTP or ROUTE protocol operating in the UDP / IP multicast of the broadcast physical layer, and by the HTTP protocol in the TCP / IP unicast of the broadband physical layer.
  • the service management layer enables all services such as linear TV or HTML5 application services executed by underlying delivery and physical layers.
  • a broadcast side protocol stack portion may be divided into a portion transmitted through SLT and MMTP, and a portion transmitted through ROUTE.
  • the SLT may be encapsulated via the UDP and IP layers.
  • the SLT will be described later.
  • the MMTP may transmit data formatted in an MPU format defined in MMT and signaling information according to the MMTP. These data can be encapsulated over the UDP and IP layers.
  • ROUTE can transmit data formatted in the form of a DASH segment, signaling information, and non timed data such as an NRT. These data can also be encapsulated over the UDP and IP layers. In some embodiments, some or all of the processing according to the UDP and IP layers may be omitted.
  • the signaling information shown here may be signaling information about a service.
  • 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.
  • a service can be a collection of media components that are shown to the user as a whole, a component can be of multiple media types, a service can be continuous or intermittent, a service can be real time or non-real time, and a real time service can be a sequence of TV programs. It can be configured as.
  • 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 be transmitted through UDP / IP.
  • the data corresponding to the SLT may be delivered through the most robust method for this transmission.
  • the SLT may have access information for accessing the SLS carried by the ROUTE protocol. That is, the SLT may bootstrap to the SLS according to the ROUTE protocol.
  • This SLS is signaling information located in the upper layer of ROUTE in the above-described protocol stack and may be transmitted through ROUTE / UDP / IP.
  • This SLS may be delivered via one of the LCT sessions included in the ROUTE session. This SLS can be used to access the service component corresponding to the desired service.
  • 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.
  • Rules relating to the existence of an MMTP session and / or a ROUTE / LCT session for delivering a content component of a service may be as follows.
  • 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 content component of the service may be carried by (1) one or more ROUTE / LCT sessions and (2) zero or more MMTP sessions.
  • 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.
  • Each ROUTE session includes one or more LCT sessions that deliver, in whole or in part, the content components that make up the service.
  • an LCT session may deliver an individual component of a user service, such as an audio, video, or closed caption stream.
  • Streaming media is formatted into a DASH segment.
  • Each MMTP session includes one or more MMTP packet flows carrying an MMT signaling message or all or some content components.
  • the MMTP packet flow may carry components formatted with MMT signaling messages or MPUs.
  • 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.
  • Broadcast streams are the concept of an RF channel defined in terms of carrier frequencies concentrated within a particular band. It is identified by [geographic domain, frequency] pairs.
  • PLP physical layer pipe
  • Each PLP has specific modulation and coding parameters. It is identified by a unique PLPID (PLP identifier) in the broadcast stream to which it belongs.
  • PLP may be called a data pipe (DP).
  • 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.
  • MMTP sessions are identified by destination IP address and destination port number.
  • the MMTP packet flow (associated with the service component it carries) is identified by a unique packet_id within the scope of the parent MMTP session.
  • Properties common to each MMTP packet flow and specific properties of the MMTP packet flow are given to the SLT.
  • the properties for each MMTP session are given by the MMT signaling message that can be delivered within the MMTP session. Different MMTP packet flows of MMTP sessions may or may not be included in different PLPs.
  • the MMTP session may be delivered through a plurality of PLPs.
  • the properties described in the MMT signaling message include a packet_id value and a PLPID for each MMTP packet flow.
  • the MMT signaling message may be a form defined in MMT or a form in which modifications are made according to embodiments to be described later.
  • 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.
  • the properties or elements of the SLT may be added / modified / deleted.
  • Each element included in the SLT may also additionally have a separate property or element, and some of the properties or elements according to the present embodiment may be omitted.
  • the field marked @ may correspond to an attribute and the field not marked @ may correspond to an element.
  • @bsid is an identifier of the entire broadcast stream.
  • the value of the BSID may be unique at the local level.
  • @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.
  • @totalSltSectionNumbers may be the total number of sections of the SLT that the section is part of (ie, the section with the maximum sltSectionNumber).
  • sltSectionNumber and totalSltSectionNumbers can be considered to represent the "M part of N" of a portion of the SLT when sent together in splits. That is, transmission through fragmentation may be supported in transmitting the SLT. If this field is not used, it may be set to a default value of 1. If the field is not used, the SLT may be divided and not transmitted.
  • @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.
  • @capabilities may indicate the capabilities required to decode and meaningfully represent the contents of all services in the case of the slt.
  • 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.
  • the service field is an element having information on each service and may correspond to a service entry. There may be as many Service Element fields as the number N of services indicated by the SLT. The following describes the sub-properties / elements of the Service field.
  • @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.
  • the element InetSigLoc may exist as a child element of the slt root element, and the attribute urlType of the InetSigLoc element includes URL_type 0x00 (URL to signaling server).
  • @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.
  • @SlsMinorProtocolVersion can be the minor version number of the protocol used to deliver SLS for the service. The default value is zero.
  • @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.
  • InetSigLoc field may be replaced with an @sltInetSigUri and / or an @sltInetEsgUri field.
  • the two fields may include URI of signaling server and URI information of ESG server, respectively.
  • InetSigLoc field which is a sub-element of SLT
  • InetSigLoc field which is a sub-element of Service
  • 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.
  • Service signaling focuses on the basic nature of the service itself, in particular the nature necessary to obtain the service.
  • Features of services and programming for viewers are represented by service announcements or ESG data.
  • the SLT may include an HTTP URL from which the service signaling file may be obtained as described above.
  • LLS is used to bootstrap SLS acquisition, and then SLS is used to acquire service components carried in a ROUTE session or an MMTP session.
  • the figure depicted shows the following signaling sequence.
  • the receiver starts to acquire the SLT described above.
  • Each service identified by service_id delivered in a ROUTE session provides SLS bootstrapping information such as PLPID (# 1), source IP address (sIP1), destination IP address (dIP1), and destination port number (dPort1). do.
  • SLS bootstrapping information such as PLPID (# 2), destination IP address (dIP2), and destination port number (dPort2).
  • the receiver can obtain the SLS segmentation that is delivered to the PLP and IP / UDP / LCT sessions.
  • the receiver can obtain the SLS segmentation delivered to the PLP and MMTP sessions.
  • these SLS splits include USBD / USD splits, S-TSID splits, and MPD splits. They are related to a service.
  • the USBD / USD segment describes service layer characteristics and provides a URI reference for the S-TSID segment and a URI reference for the MPD segment. That is, USBD / USD can refer to S-TSID and MPD respectively.
  • 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.
  • one ROUTE or MMTP session may be delivered through a plurality of PLPs. That is, one service may be delivered through one or more PLPs. As described above, one LCT session may be delivered through one PLP. Unlike shown, components constituting one service may be delivered through different ROUTE sessions. In addition, according to an embodiment, components constituting one service may be delivered through different MMTP sessions. According to an embodiment, components constituting one service may be delivered divided into a ROUTE session and an MMTP session. Although not shown, a component constituting one service may be delivered through a broadband (hybrid delivery).
  • 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.
  • the userServiceDescription element may include @serviceId, @atsc: serviceId, @atsc: serviceStatus, @atsc: fullMPDUri, @atsc: sTSIDUri, name, serviceLanguage, atsc: capabilityCode and / or deliveryMethod.
  • @serviceId can be a globally unique URI that identifies a unique service within the scope of the BSID. This parameter can be used to associate the ESG data (Service @ globalServiceID).
  • serviced is a reference to the corresponding service entry in the LLS (SLT). The value of this property is equal to the value of serviceId assigned to that entry.
  • 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.
  • serviceLanguage may indicate an available language of the service.
  • the language can be specified according to the XML data type.
  • capabilityCode may specify the capability required for the receiver to generate a meaningful presentation of the content of the service. According to an embodiment, this field may specify a predefined capability group.
  • the capability group may be a group of capability properties values for meaningful presentation. This field may be omitted according to an embodiment.
  • 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.
  • the r12: broadcastAppService may be a DASH presentation delivered on a multiplexed or non-multiplexed form of broadcast including corresponding media components belonging to the service over all periods of the belonging media presentation. That is, each of the present fields may mean DASH presentations delivered through the broadcasting network.
  • 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.
  • S-TSID split is referenced in the USBD split by the @atsc: sTSIDUri property of the userServiceDescription element.
  • the S-TSID according to the embodiment of the present invention shown is represented in the form of an XML document. According to an embodiment, the S-TSID may be expressed in binary format or in the form of an XML document.
  • the S-TSID shown may have an S-TSID root element as shown.
  • the S-TSID root element may include @serviceId and / or RS.
  • @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.
  • the RS element may include @bsid, @sIpAddr, @dIpAddr, @dport, @PLPID and / or LS.
  • @bsid may be an identifier of a broadcast stream to which the content component of broadcastAppService is delivered. If the property does not exist, the PLP of the default broadcast stream may convey SLS splitting for the service. The value may be the same as broadcast_stream_id in the SLT.
  • @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 ServiceDescription contains a service description, which can be multiple languages.
  • ServiceDescription may include @atsc: serviceDescrText and / or @atsc: serviceDescrLang.
  • @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.
  • @atsc: nextMmtPackageId can refer to the MMT package used after being referenced by @atsc: mmtPackageId in accordance with 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.
  • componentProtectedFlag is a property that indicates whether the component is protected (eg encrypted). If the flag is set to a value of 1, the component is protected (eg encrypted). If the flag is set to a value of zero, the component is not protected (eg, not encrypted). If not present, the value of the componentProtectedFlag property is inferred to be equal to zero. 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
  • An MPD is an SLS metadata partition that corresponds to a linear service of a given duration defined by a broadcaster (eg, one TV program, or a collection of consecutive linear TV programs for a period of time).
  • the content of the MPD provides the resource identifier for the partition and the context for the resource identified within the media presentation.
  • the data structure and semantics of the MPD may follow the MPD defined by MPEG DASH.
  • 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.
  • the next MMTP message may be carried by the MMTP session signaled in the SLT.
  • 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.
  • the following MMTP message may be delivered by each MMTP session carrying streaming content.
  • 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.
  • a packet ID field indicating that each divided segment is generated from the same input packet may be added. This field may not be necessary if the segmented segments are transmitted in order.
  • Segmentation_Concatenation (S / C) "1"
  • an additional header tsib10030 may exist.
  • Length_MSB may be a 4-bit field that may indicate the MSB bit of the payload length in bytes in the corresponding link layer packet.
  • the maximum length of the payload is 32767 bytes for concatenation. As described above, the detailed values may be changed.
  • the Count field may be a field that may indicate the number of packets included in the link layer packet. 2 corresponding to the number of packets included in the link layer packet may be set in the corresponding field. Therefore, the maximum value of concatenated packets in the link layer packet is nine.
  • the way in which the Count field indicates the number may vary from embodiment to embodiment. That is, the number from 1 to 8 may be indicated.
  • 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_Type may be an 8-bit field that may indicate the type of Header_Extension ().
  • 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 figure tsib11010 illustrates a structure of a link layer packet including an additional header for signaling information.
  • the link layer packet may consist of two additional parts, an additional header for signaling information and the actual signaling data itself.
  • the total length of the link layer signaling packet is indicated in the link layer packet header.
  • 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.
  • FIG. 12 is a diagram illustrating a header structure of a link layer packet for an MPEG-2 TS packet and an encapsulation process according to an embodiment of the present invention.
  • 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 transport stream rule requires that the bit rates at the output of the multiplexer of the transmitter and the input of the demultiplexer of the receiver are constant over time and the end-to-end delay is also constant.
  • null packets may be present to accommodate variable bitrate services in a constant bitlace stream.
  • This process is performed in such a way that the removed null packet can be reinserted into the original correct position at the receiver, thus ensuring a constant bitrate and eliminating the need for a PCR time stamp update.
  • a counter called DNP can be incremented for each discarded null packet prior to the first non-null TS packet that will be encapsulated in the payload of the current link layer packet after it is first reset to zero. have.
  • a group of consecutive useful TS packets can then be encapsulated in the payload of the current link layer packet, and the value of each field in its header can be determined.
  • the DNP is reset to zero. If the DNP reaches the highest allowance, if the next packet is also a null packet, that null packet remains a useful packet and is encapsulated in the payload of the next link layer packet.
  • Each link layer packet may include at least one useful TS packet in its payload.
  • TS packet header deletion may be referred to as TS packet header compression.
  • the header is sent once in the first packet and the other header is deleted. If duplicate MPEG-2 TS packets are included in two or more sequential TS packets, header deletion cannot be applied at the transmitter side.
  • the HDM field may indicate whether the header is deleted. If the TS header is deleted, the HDM may be set to one. At the receiver side, using the first packet header, the deleted packet header is recovered and recovered by increasing the CC in order from the first header.
  • the illustrated embodiment tsib12020 is an embodiment of a process in which an input stream of a TS packet is encapsulated into a link layer packet.
  • a TS stream composed of TS packets having SYNC bytes (0x47) may be input.
  • sync bytes may be deleted by deleting the SYNC byte. In this embodiment, it is assumed that null packet deletion has not been performed.
  • 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.
  • Extraction of the context information may be performed in various ways depending on the adaptation mode. In the present invention, the following three embodiments will be described. The scope of the present invention is not limited to the embodiments of the adaptation mode to be described later.
  • the adaptation mode may be called a context extraction mode.
  • 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 extracted context information may be transmitted separately from the RoHC packet flow along with the signaling data through a specific physical data path.
  • the transfer of context depends on the configuration of the physical layer path.
  • the context information may be transmitted along with other link layer signaling through the signaling data pipe.
  • 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.
  • the PLP_ID may be an 8-bit field indicating a PLP corresponding to the table.
  • 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.
  • src_UDP_port may be a 16-bit unsigned integer field that indicates the source UDP port number of the upper layer session delivered to the PLP identified by the PLP_ID field.
  • the dst_UDP_port may be a 16-bit unsigned integer field that indicates the destination UDP port number of the upper layer session delivered to the PLP identified by the PLP_ID field.
  • SID_flag may be a 1-bit Boolean field indicating whether 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 has an SID field in its optional header. If the value of this field is set to 0, a link layer packet carrying a higher layer session may not have an SID field in its optional header. If the value of this field is set to 1, the link layer packet carrying the upper layer session may have an SID field in its optional header, and the value of the SID field may be the same as the next SID field in the table.
  • 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 PLP_ID may be an 8-bit field indicating a PLP corresponding to the table.
  • context_id may be an 8-bit field indicating the CID of the compressed IP stream.
  • an 8-bit CID can be used for large CIDs.
  • 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'.
  • context_length may be an 8-bit field indicating the length of the static chain byte sequence. This field may be omitted.
  • 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.
  • signaling information and / or system parameter tsib15010 of an upper layer may be delivered to a link layer.
  • an IP stream including IP packets from the IP layer tsib15110 may be delivered to 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 link layer signaling part may collect information to be transmitted as signaling in the physical layer and convert / configure the information into a form suitable for transmission.
  • the link layer signaling portion may include a signaling manager tsib15030, a signaling formatter tsib15040, and / or a buffer tsib15050 for the channel.
  • 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 signaling formatter tsib15040 may serve to format related signaling information in a form suitable for each divided channel so that signaling information may be transmitted through separate channels. As described above, there may be a separate channel physically and logically separated in the physical layer. These divided channels may be used to transmit FIC signaling information or EAS related information. The FIC or EAS related information may be classified by the signaling manager tsib15030 and input to the signaling formatter tsib15040. The signaling formatter tsib15040 may format each information according to its own separate channel. In addition to the FIC and the EAS, when the physical layer is designed to transmit specific signaling information through a separate channel, a signaling formatter for the specific signaling information may be added. In this way, the link layer can be made compatible with various physical layers.
  • 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 transmitted 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 scheduler tsib16020 may determine and control the operation of various modules included in the link layer.
  • the scheduler tsib16020 may control each part of the link layer by using information received from the receiver information tsib16010 and / or the signaling manager tsib16060.
  • the scheduler tsib16020 may determine an operation mode of each part.
  • the receiver information tsib16010 may mean information previously stored in the receiver.
  • the scheduler tsib16020 may also be used for control by using information changed by the user such as channel switching.
  • 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 packet configuration table tsib16150 may include payload information of a link layer packet composed of segmentation and / or concatenation.
  • the information in the packet configuration table tsib16150 may have the same information between the transmitter and the receiver.
  • Information in the packet configuration table tsib16150 may be referred to at the transmitter and the receiver. A value required for reassembly may be found based on index information included in the link layer packet.
  • 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.
  • Data processed by IP / UDP may be input to the link layer.
  • the link layer may perform an overhead reduction and / or encapsulation process.
  • link layer signaling may be added.
  • Link layer signaling may include system parameters. Link layer signaling has been described above.
  • 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.
  • a dedicated channel such as an FIC or an EAC is used.
  • Signaling transmitted through the FIC may be referred to as a fast information table (FIT) and signaling transmitted through the EAC may be referred to as an emergency alert table (EAT).
  • the FIT may be the same as the SLT described above. These particular channels may not be used in some embodiments. If a dedicated channel is not configured, the FIT and EAT may be transmitted through a general link layer signaling transmission method or may be transmitted to the PLP through IP / UDP like other service data.
  • 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 decode only the PLP for the corresponding service using signaling information without having to decode all PLPs.
  • 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.
  • Dummy cell A cell that carries a pseudo-random value used to fill the remaining unused capacity for physical layer signaling (PLS) signaling, data pipes, or auxiliary streams.
  • PLS physical layer signaling
  • 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.
  • FEC Fast information channel
  • FECBLOCK set of LDPC encoded bits of data pipe data
  • FFT size The nominal FFT size used for a particular mode equal to the active symbol period Ts expressed in cycles of the fundamental period T.
  • Frame signaling symbol The higher pilot density used at the start of a frame in a particular combination of FFT size, guard interval, and scattered pilot pattern, which carries a portion of the PLS data. Having OFDM symbol
  • Frame edge symbol An OFDM symbol with a higher pilot density used at the end of the frame in a particular combination of FFT size, guard interval, and scatter pilot pattern.
  • Frame-group set of all frames with the same physical profile type in a superframe
  • Future extention frame A physical layer time slot within a super frame that can be used for future expansion, starting with a preamble.
  • Futurecast UTB system A proposed physical layer broadcast system whose input is one or more MPEG2-TS or IP (Internet protocol) or generic streams and the output is an RF signal.
  • Input stream A stream of data for the coordination of services delivered to the end user by the system.
  • Normal data symbols data symbols except frame signaling symbols and frame edge symbols
  • PHY profile A subset of all structures that the corresponding receiver must implement
  • PLS physical layer signaling data consisting of PLS1 and PLS2
  • PLS1 The first set of PLS data carried in a frame signaling symbol (FSS) with fixed size, coding, and modulation that conveys basic information about the system as well as the parameters needed to decode PLS2.
  • FSS frame signaling symbol
  • PLS2 The second set of PLS data sent to the FSS carrying more detailed PLS data about data pipes and systems.
  • PLS2 dynamic data PLS2 data that changes dynamically from frame to frame
  • PLS2 static data PLS2 data that is static during the duration of a frame group
  • Preamble signaling data signaling data carried by the preamble symbol and used to identify the basic mode of the system
  • Preamble symbol a fixed length pilot symbol carrying basic PLS data and positioned at the beginning of a frame
  • Preamble symbols are mainly used for fast initial band scans to detect system signals, their timing, frequency offset, and FFT size.
  • Superframe set of eight frame repeat units
  • Time interleaving block A set of cells in which time interleaving is performed, corresponding to one use of time interleaver memory.
  • Time interleaving group A unit in which dynamic capacity allocation is performed for a particular data pipe, consisting of an integer, the number of XFECBLOCKs that change dynamically.
  • a time interleaving group can be directly mapped to one frame or mapped to multiple frames.
  • the time interleaving group may include one or more time interleaving blocks.
  • Type 1 DP A data pipe in a frame where all data pipes are mapped to frames in a time division multiplexing (TDM) manner
  • Type 2 DPs Types of data pipes in a frame where all data pipes are mapped to frames in an FDM fashion.
  • XFECBLOCK set of N cells cells carrying all the bits of one LDPC FECBLOCK
  • FIG. 18 illustrates a structure of a broadcast signal transmission apparatus for a next generation broadcast service according to an embodiment of the present invention.
  • a broadcast signal transmission apparatus for a next generation broadcast service includes an input format block 1000, a bit interleaved coding & modulation (BICM) block 1010, and a frame building block 1020, orthogonal frequency division multiplexing (OFDM) generation block (OFDM generation block) 1030, and signaling generation block 1040. The operation of each block of the broadcast signal transmission apparatus will be described.
  • BICM bit interleaved coding & modulation
  • OFDM generation block orthogonal frequency division multiplexing
  • signaling generation block 1040 The operation of each block of the broadcast signal transmission apparatus will be described.
  • IP streams / packets and MPEG2-TS may be main input formats, and other stream types are treated as general streams.
  • 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 BICM block to which MIMO is not applied and the BICM block to which MIMO is applied may include a plurality of processing blocks for processing 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.
  • the pair of constellation mapper outputs, NUQ (e 1, i and e 2, i ), are fed to the input of the MIMO encoder.
  • MIMO encoder output pairs g1, i and g2, i are transmitted by the same carrier k and OFDM symbol l of each transmit antenna.
  • FIG. 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.
  • LDPC parity bits are punctured after LDPC encoding.
  • the LDPC parity bits of PLS2 are punctured after LDPC encoding. These punctured bits are not transmitted.
  • the bit interleaver 6010 may interleave each shortened and punctured PLS1 data and PLS2 data.
  • the constellation mapper 6020 may map bit interleaved PLS1 data and PLS2 data to constellations.
  • 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 synchronization and demodulation module 9000 receives an input signal through m reception antennas, performs signal detection and synchronization on a system corresponding to the broadcast signal receiving apparatus, and performs a reverse process of the procedure performed by the broadcast signal transmitting apparatus. Demodulation can be performed.
  • the frame parsing module 9010 may parse an input signal frame and extract data in which a service selected by a user is transmitted.
  • the frame parsing module 9010 may execute deinterleaving corresponding to the reverse process of interleaving. In this case, positions of signals and data to be extracted are obtained by decoding the data output from the signaling decoding module 9040, so that the scheduling information generated by the broadcast signal transmission apparatus may be restored.
  • the demapping and decoding module 9020 may convert the input signal into bit region data and then deinterleave the bit region data as necessary.
  • the demapping and decoding module 9020 can perform demapping on the mapping applied for transmission efficiency, and correct an error generated in the transmission channel through decoding. In this case, the demapping and decoding module 9020 can obtain transmission parameters necessary for demapping and decoding by decoding the data output from the signaling decoding module 9040.
  • the output processor 9030 may perform a reverse process of various compression / signal processing procedures applied by the broadcast signal transmission apparatus to improve transmission efficiency.
  • the output processor 9030 may obtain necessary control information from the data output from the signaling decoding module 9040.
  • the output of the output processor 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 signaling decoding module 9040 may obtain PLS information from the signal demodulated by the synchronization and demodulation module 9000. As described above, the frame parsing module 9010, the demapping and decoding module 9020, and the output processor 9030 may execute the function using the data output from the signaling decoding module 9040.
  • a frame according to an embodiment of the present invention is further divided into a plurality of OFDM symbols and preambles. As shown in (d), the frame includes a preamble, one or more FSS, normal data symbols, and FES.
  • the preamble is a special symbol that enables fast Futurecast UTB system signal detection and provides a set of basic transmission parameters for efficient transmission and reception of the signal. Details of the preamble will be described later.
  • the main purpose of the FSS is to carry PLS data.
  • the FSS For fast synchronization and channel estimation, and hence for fast decoding of PLS data, the FSS has a higher density pilot pattern than normal data symbols.
  • the FES has a pilot that is exactly the same as the FSS, which allows frequency only interpolation and temporal interpolation within the FES without extrapolation for symbols immediately preceding the FES.
  • FIG. 23 illustrates a signaling hierarchy structure of a frame according to an embodiment of the present invention.
  • 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.
  • GI_FRACTION This 3-bit field indicates a guard interval fraction value in the current super frame as described in Table 2 below.
  • EAC_FLAG This 1-bit field indicates whether EAC is provided in the current frame. If this field is set to 1, EAS is provided in the current frame. If this field is set to 0, EAS is not delivered in the current frame. This field may be converted to dynamic within a super frame.
  • PILOT_MODE This 1-bit field indicates whether the pilot mode is a mobile mode or a fixed mode for the current frame in the current frame group. If this field is set to 0, mobile pilot mode is used. If the field is set to '1', fixed pilot mode is used.
  • PAPR_FLAG This 1-bit field indicates whether PAPR reduction is used for the current frame in the current frame group. If this field is set to 1, tone reservation is used for PAPR reduction. If this field is set to 0, no PAPR reduction is used.
  • 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.
  • the 4-bit MSB in the SYSTEM_VERSION field indicates major version information. Changes in the major version field indicate incompatible changes. The default value is 0000. For the version described in that standard, the value is set to 0000.
  • Minor Version A 4-bit LSB in the SYSTEM_VERSION field indicates minor version information. Changes in the minor version field are compatible.
  • CELL_ID This is a 16-bit field that uniquely identifies a geographic cell in an ATSC network. ATSC cell coverage may consist of one or more frequencies depending on the number of frequencies used per Futurecast UTB system. If the value of CELL_ID is unknown or not specified, this field is set to zero.
  • NETWORK_ID This is a 16-bit field that uniquely identifies the current ATSC network.
  • SYSTEM_ID This 16-bit field uniquely identifies a Futurecast UTB system within an ATSC network.
  • Futurecast UTB systems are terrestrial broadcast systems whose input is one or more input streams (TS, IP, GS) and the output is an RF signal.
  • the Futurecast UTB system conveys the FEF and one or more physical profiles, if present.
  • the same Futurecast UTB system can carry different input streams and use different RFs in different geographic regions, allowing for local service insertion.
  • Frame structure and scheduling are controlled in one place and are the same for all transmissions within a Futurecast UTB system.
  • One or more Futurecast UTB systems may have the same SYSTEM_ID meaning that they all have the same physical structure and configuration.
  • the following loop is composed of FRU_PHY_PROFILE, FRU_FRAME_LENGTH, FRU_GI_FRACTION, and RESERVED indicating the length and FRU configuration of each frame type.
  • the loop size is fixed such that four physical profiles (including FFEs) are signaled within the FRU. If NUM_FRAME_FRU is less than 4, the unused fields are filled with zeros.
  • FRU_PHY_PROFILE This 3-bit field indicates the physical profile type of the (i + 1) th frame (i is a loop index) of the associated FRU. This field uses the same signaling format as shown in Table 8.
  • FRU_FRAME_LENGTH This 2-bit field indicates the length of the (i + 1) th frame of the associated FRU. Using FRU_FRAME_LENGTH with FRU_GI_FRACTION, the exact value of frame duration can be obtained.
  • FRU_GI_FRACTION This 3-bit field indicates the guard interval partial value of the (i + 1) th frame of the associated FRU.
  • FRU_GI_FRACTION is signaled according to Table 7.
  • the following fields provide parameters for decoding PLS2 data.
  • PLS2_FEC_TYPE This 2-bit field indicates the FEC type used by the PLS2 protection.
  • the FEC type is signaled according to Table 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 in the number of QAM cells) of the entire coding block for PLS2 delivered every frame of the next frame-group when PLS2 repetition is used. If iteration is not used in the next frame-group, the value of this field is equal to zero. This value is constant for the entire duration of the current frame-group.
  • PLS2_NEXT_REP_STAT_SIZE_BIT This 14-bit field indicates the size, in bits, of the PLS2-STAT for the next frame-group. The value is constant in the current frame group.
  • PLS2_NEXT_REP_DYN_SIZE_BIT This 14-bit field indicates the size of the PLS2-DYN for the next frame-group, in bits. The value is constant in the current frame group.
  • PLS2_AP_MODE This 2-bit field indicates whether additional parity is provided for PLS2 in the current frame group. This value is constant for the entire duration of the current frame-group. Table 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.

Abstract

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

Description

방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
본 발명은 방송 신호 송신 장치, 방송 신호 수신 장치, 및 방송 신호 송수신 방법에 관한 것이다.
아날로그 방송 신호 송신이 종료됨에 따라, 디지털 방송 신호를 송수신하기 위한 다양한 기술이 개발되고 있다. 디지털 방송 신호는 아날로그 방송 신호에 비해 더 많은 양의 비디오/오디오 데이터를 포함할 수 있고, 비디오/오디오 데이터뿐만 아니라 다양한 종류의 부가 데이터를 더 포함할 수 있다.
즉, 디지털 방송 시스템은 HD(High Definition) 이미지, 멀티채널(multi channel, 다채널) 오디오, 및 다양한 부가 서비스를 제공할 수 있다. 그러나, 디지털 방송을 위해서는, 많은 양의 데이터 전송에 대한 데이터 전송 효율, 송수신 네트워크의 견고성(robustness), 및 모바일 수신 장치를 고려한 네트워크 유연성(flexibility)이 향상되어야 한다.
본 발명의 목적에 따라, 여기에 포함되고 대략적으로 기재된 바와 같이, 본 발명은 지상파 방송망과 인터넷 망을 사용하는 차세대 하이브리드 방송을 지원하는 환경에서 차세대 방송 서비스를 효과적으로 지원할 수 있는 시스템 및 관련된 시그널링 방안을 제안한다.
본 발명은 방송망과 인터넷 망을 모두 사용하는 하이브리드 방송을 효율적으로 제공하는 방법을 제안한다.
본 발명은 기본적인 방송 서비스에 대한 앱을 기반으로 한 앱 기반 인핸스먼트를 제공하는 방법을 제안한다.
본 발명은 앱 기반 인핸스먼트를 방송 서비스에 싱크를 맞추어 제공하는 방법을 제안한다.
본 발명은 PD 와 CD 간의 다양한 프로토콜에 따른 아키텍쳐를 제안하며, 아키텍쳐에 따라 PD 와 CD, 앱과 앱 간의 커뮤니케이션 방안을 제안한다.
본 발명은 PD 측에서 CD 측으로 ESG, EAS 등의 정보를 효과적으로 전달하기 위한 아키텍쳐 및 시그널링 방안을 제안한다.
본 발명에 대해 더욱 이해하기 위해 포함되며 본 출원에 포함되고 그 일부를 구성하는 첨부된 도면은 본 발명의 원리를 설명하는 상세한 설명과 함께 본 발명의 실시예를 나타낸다.
도 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은 일 실시 예에 따른 전자 장치의 블록도.
도 42는 일 실시 예에 따른 제1 클라이언트의 연결을 설명하는 도면.
도 43은 일 실시 예에 따른 제2 클라이언트의 연결을 설명하는 도면.
도 44는 일 실시 예에 따른 제1 및 제2 클라이언트 간의 연결을 설명하는 도면.
도 45는 일 실시 예에 따른 추가 연결 요청을 설명하는 도면.
도 46은 일 실시 예에 따른 IP 어드레스가 없는 경우 클라이언트 간의 연결을 설명하는 도면.
도 47은 일 실시 예에 따른 어플리케이션 간의 연결을 위한 대기 연결을 설명하는 도면.
도 48은 일 실시 예에 따른 제2 클라이언트와 연결을 위한 새로운 연결 요청을 설명하는 도면.
도 49는 일 실시 예에 따른 IP 어드레스를 포함하는 경우 제1 클라이언트의 설정을 설명하는 도면.
도 50은 일 실시 예에 따른 IP 어드레스를 포함하는 경우 제1 및 제2 클라이언트의 설정을 설명하는 도면.
도 51은 IP 어드레스를 포함하는 경우 복수의 제2 클라이언트에 연결하는 일 실시 예를 설명하는 도면.
도 52는 일 실시 예에 따른 전자 장치의 제어 방법의 흐름도.
도 53는 본 발명의 일 실시예에 따른 메인 피지컬 디바이스 (Main Physical Device) 및 컴페니언 피지컬 디바이스 (Companion Physical Device)의 구성을 나타낸 도면이다.
도 54은 본 발명의 일 실시예에 따른 하이브리드 방송 서비스를 지원하기 위한 프로토콜 스택을 나타낸 도면이다.
도 55 은 본 발명의 일 실시예에 따른 UPnP 방식의 액션(Action) 메커니즘을 도시한 도면이다.
도 56 은 본 발명의 일 실시예에 따른 REST 메커니즘을 도시한 도면이다.
도 57 은 본 발명의 일 실시예에 따른, 방송 수신기와 컴패니언 디바이스들이 ESG 를 교환하기 위한 서비스를 도시한 도면이다.
도 58 는 본 발명의 일 실시예에 따른 ESGData 상태변수를 도시한 도면이다.
도 59 는 본 발명의 다른 실시예에 따른 ESGData 상태변수를 도시한 도면이다.
도 60 는 본 발명의 일 실시예에 따른 ESGData 상태변수를 이벤트 방식에 따라 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
도 61 는 본 발명의 일 실시예에 따른 LastChangedESGData 상태변수를 도시한 도면이다.
도 62 는 본 발명의 일 실시예에 따른 GetESGData 액션에 따라 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
도 63 는 본 발명의 일 실시예에 따른 GetServiceIds, GetESGbyServiceIds 액션에 따라 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
도 64 은 본 발명의 일 실시예에 따른 GetCurrentServiceId 액션에 따라 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
도 65 은 본 발명의 일 실시예에 따른 SearchESG 액션에 따라 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
도 66 는 본 발명의 일 실시예에 따른 DoAuthenticationForESG 액션에 따라 ESG 데이터를 전달하기 위한 인증 과정을 도시한 도면이다.
도 67 은 본 발명의 다른 실시예에 따른 GetServiceIds, GetESGbyServiceIds 액션에 따라 디바이스 인증과 동시에 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
도 68 는 본 발명의 일 실시예에 따른 GetService 액션에 따라 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
도 69 는 본 발명의 일 실시예에 따른 SetChangeChannel 액션에 따라 컴패니언 디바이스에서 방송수신기의 서비스를 변경하는 과정을 도시한 도면이다.
도 70 은 본 발명의 일 실시예에 따른 방송 서비스를 제공하는 방법을 도시한 도면이다.
도 71 은 본 발명의 일 실시예에 따른 방송 수신기를 도시한 도면이다.
도 72은 본 발명의 일 실시예에 따른 방송 시스템의 구성을 나타낸 도면이다.
도 73는 본 발명의 일 실시예에 따른 방송 시스템의 플로우 다이어그램을 나타낸 도면이다.
도 74은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 요청과 관련된 정보를 나타낸 도면이다.
도 75는 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 응답과 관련된 정보를 나타낸 도면이다.
도 76는 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 응답과 관련된 정보를 나타낸 도면이다.
도 77은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 갱신 요청과 관련된 정보를 나타낸 도면이다.
도 78은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 취소 요청과 관련된 정보를 나타낸 도면이다.
도 79은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 갱신 응답과 관련된 정보를 나타낸 도면이다.
도 80는 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 갱신 응답과 관련된 정보를 나타낸 도면이다.
도 81은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 취소 응답과 관련된 정보를 나타낸 도면이다.
도 82은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 통지 메시지를 나타낸 도면이다.
도 83는 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 통지 메시지에 대한 응답 메시지를 나타낸 도면이다.
도 84은 본 발명의 일 실시예에 따른 방송 시스템의 플로우 다이어그램을 나타낸 도면이다.
도 85는 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 요청과 관련된 정보를 나타낸 도면이다.
도 86는 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 응답과 관련된 정보를 나타낸 도면이다.
도 87은 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 응답과 관련된 정보를 나타낸 도면이다.
도 88은 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 갱신 요청과 관련된 정보를 나타낸 도면이다.
도 89은 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 취소 요청과 관련된 정보를 나타낸 도면이다.
도 90는 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 갱신 응답과 관련된 정보를 나타낸 도면이다.
도 91은 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 갱신 응답과 관련된 정보를 나타낸 도면이다.
도 92은 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 취소 응답과 관련된 정보를 나타낸 도면이다.
도 93는 본 발명의 일 실시예에 따른 긴급 경보 메시지를 나타낸 도면이다.
도 94은 본 발명의 일 실시예에 따른 긴급 경보 메시지 통지 메시지에 대한 응답 메시지를 나타낸 도면이다.
도 95는 본 발명의 일 실시예에 따른 방송 수신 장치의 흐름도를 나타낸 도면이다.
도 96은 본 발명의 일 실시예에 따른 방송 서비스를 지원하기 위한 프로토콜 스택(protocol stack)을 보여준다.
도 97는 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 98은 본 발명의 또 다른 실시예에 따른 방송 전송 프레임을 보여준다.
도 99는 본 발명의 일 실시예에 따른 방송 서비스를 전송하는 전송 패킷의 구조를 보여준다.
도 100는 본 발명의 일 실시예에 따른 방송 서비스를 전송하는 전송 패킷이 포함하는 network_protocol 필드가 가질 수 있는 값을 보여준다.
도 101은 본 발명의 일 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 102은 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 103은 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블과 방송 서비스 전송 경로 시그널링 정보가 방송 서비스와 방송 서비스 전송 경로를 시그널링하는 것을 보여준다.
도 104는 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
도 105은 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블이 포함하는 service_category 필드가 가질 수 있는 값을 보여준다.
도 106은 본 발명의 또 다른 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
도 107는 본 발명의 일 실시예에 따른 스트림 식별자 디스크립터를 보여준다.
도 108은 본 발명의 일 실시예에 따른 방송 전송 장치가 방송 서비스 시그널링 테이블을 전송하는 동작을 보여준다.
도 109는 본 발명의 일 실시예에 따른 방송 수신 장치가 방송 서비스 시그널링 테이블을 수신하는 동작을 보여준다.
도 110는 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보를 보여준다.
도 111은 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 포함하는 delivery_network_type 필드가 가질 수 있는 값을 보여준다.
도 112은 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 IP 스트림을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
도 113은 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 다른 방송국(broadcaster)의 IP 스트림을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
도 114는 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 FLUTE 세션을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
도 115은 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 다른 방송국(broadcaster)의 FLUTE 프로토콜을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
도 116은 본 발명의 방송 서비스 전송 경로 시그널링 정보가 MPEG-2 TS 스트림을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
도 117는 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 다른 방송국(broadcaster)의 패킷 기반 스트림을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
도 118은 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 IP 기반 방송 네트워크에서 전송되는 패킷 기반 스트림을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
도 119는 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 URL을 통하여 방송 서비스를 시그널링하는 것을 보여준다.
도 120는 본 발명의 일 실시예에 따른 방송 전송 장치가 방송 서비스 전송 경로 시그널링 정보를 전송하는 것을 보여준다.
도 121은 본 발명의 일 실시예에 따른 방송 수신 장치가 방송 서비스 전송 경로에 기초하여 방송 서비스를 수신하는 것을 보여준다.
도 122은 본 발명의 일 실시예에 따른 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보를 보여준다.
도 123은 본 발명의 일 실시예에 따른 미디어 컴포넌트 시그널링 정보가 포함하는 component_type 필드의 값을 보여준다.
도 124는 본 발명의 또 다른 실시예에 따른 미디어 컴포넌트 시그널링 정보가 포함하는 component_data 신택스를 보여준다.
도 125은 본 발명의 일 실시예에 따른 미디어 컴포넌트의 종류와 역할을 보여준다.
도 126은 본 발명의 일 실시예에 따른 컴플렉스 컴포넌트의 구성을 보여준다.
도 127는 본 발명의 일 실시예에 따른 컴플렉스 비디오 컴포넌트를 보여준다.
도 128은 본 발명의 일 실시예에 따른 컴플렉스 오디오 컴포넌트를 보여준다.
도 129는 본 발명의 또 다른 실시예에 따른 미디어 컴포넌트의 종류와 역할을 보여준다.
도 130는 본 발명의 일 실시예에 따른 컴플렉스 비디오 컴포넌트의 구성을 보여준다.
도 131은 본 발명의 또 다른 실시예에 따른 컴플렉스 비디오 컴포넌트를 보여준다.
도 132은 본 발명의 또 다른 실시예에 따른 컴플렉스 비디오 컴포넌트를 보여준다.
도 133은 본 발명의 일 실시예에 따른 오디오 서비스의 미디어 컴포넌트 구성을 보여준다.
도 134는 본 발명의 일 실시예에 따른 오디오와 비디오를 모두 포함하는 방송 서비스의 구성을 보여준다.
도 135은 본 발명의 일 실시예에 따른 사용자 요청 컨텐츠 서비스의 구성을 보여준다.
도 136은 본 발명의 일 실시예에 따른 스탠드얼론 NRT 데이터 서비스의 구성을 보여준다.
도 137는 본 발명의 일 실시예에 따른 미디어 컴포넌트 정보를 보여준다.
도 138은 본 발명의 또 다른 실시예에 따른 미디어 컴포넌트 시그널링 정보가 포함하는 component_data 필드의 값을 보여준다.
도 139는 본 발명의 일 실시예에 따른 컴플렉스 컴포넌트 정보를 보여준다.
도 140는 본 발명의 일 실시예에 따른 컴플렉스 컴포넌트 정보를 포함하는 디스크립터를 보여준다.
도 141은 본 발명의 일 실시예에 따른 관련 컴포넌트 리스트 정보를 보여준다.
도 142은 본 발명의 일 실시예에 따른 NRT 정보 테이블을 보여준다.
도 143은 본 발명의 일 실시예에 따른 NRT 정보 블락을 보여준다.
도 144는 본 발명의 일 실시예에 따른 NRT 서비스 디스크립터를 보여준다.
도 145은 본 발명의 일 실시예에 따른 그래픽 아이콘 정보를 보여준다.
도 146은 본 발명의 일 실시예에 따른 그래픽 아이콘 정보의 icon_transport_mode가 가질 수 있는 값을 보여준다.
도 147는 본 발명의 일 실시예에 따른 그래픽 아이콘 정보의 coordinate_system 필드가 가질 수 있는 값을 보여준다.
도 148은 본 발명의 일 실시예에 따른 미디어 컴포넌트 리스트 정보를 보여준다.
도 149는 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블에서 미디어 컴포넌트 또는 방송 서비스를 URI를 통해 맵핑하는 것을 보여준다.
도 150는 방송 서비스 또는 미디어 컴포넌트의 타겟팅 기준을 시그널링하는 타겟팅 기준 정보를 보여준다.
도 151은 방송 서비스 또는 미디어 컴포넌트를 설명하는 텍스트 정보를 보여준다.
도 152은 방송 서비스, 프로그램 또는 쇼 세그먼트의 제목 정보를 보여준다.
도 153은 방송 서비스, 프로그램 또는 쇼 세그먼트의 장르 정보를 보여준다.
도 154는 방송 서비스, 미디어 컴포넌트 또는 컨텐츠 아이템과 연관된 타겟 디바이스를 시그널링하는 타겟 디바이스 정보를 보여준다.
도 155은 방송 서비스가 복수의 세그먼트로 구분되는 것을 보여준다.
도 156은 본 발명의 일 실시예에 따른 쇼 정보를 보여준다.
도 157는 본 발명의 일 실시예에 따른 쇼 정보 블락을 보여준다.
도 158은 본 발명의 일 실시예에 따른 세그먼트 정보 블락을 보여준다.
도 159는 본 발명의 일 실시예에 따른 방송 전송 장치가 쇼 정보 및 세그먼트 정보 중 적어도 어느 하나를 포함하는 방송 신호를 전송하는 것을 보여준다.
도 160는 본 발명의 일 실시예에 따른 방송 수신 장치가 쇼 정보 및 세그먼트 정보 중 적어도 어느 하나를 포함하는 방송 신호를 수신하는 것을 보여준다.
도 161은 본 발명의 일 실시예에 따른 프로그램 정보를 보여준다.
도 162은 본 발명의 일 실시예에 따른 프로그램 정보 블락을 보여준다.
도 163은 본 발명의 또 다른 실시예에 따른 프로그램 정보 블락을 보여준다.
도 164는 본 발명의 또 다른 실시예에 따른 프로그램 정보 블락을 보여준다.
도 165은 본 발명의 또 다른 실시예에 따른 프로그램 정보 블락을 보여준다.
도 166은 본 발명의 또 다른 실시예에 따른 프로그램 정보 블락을 보여준다.
도 167는 본 발명의 일 실시예에 따른 세그먼트 정보를 보여준다.
도 168은 본 발명의 일 실시예에 따른 세그먼트 정보 블락을 보여준다.
도 169는 본 발명의 일 실시예에 따른 타겟팅 세그먼트 셋 정보를 보여준다.
도 170는 본 발명의 일 실시예에 따른 방송 전송 장치가 프로그램 정보 및 세그먼트 정보 중 적어도 어느 하나를 포함하는 방송 신호를 전송하는 것을 보여준다.
도 171은 본 발명의 일 실시예에 따른 방송 수신 장치가 프로그램 정보 및 세그먼트 정보 중 적어도 어느 하나를 포함하는 방송 신호를 수신하는 것을 보여준다.
도 172은 연속 컴포넌트 클래스, 오디오 컴포넌트 클래스, 비디오 컴포넌트 클래스 및 자막 컴포넌트 클래스를 보여준다.
도 173은 기초 오디오 컴포넌트 클래스, 기초 비디오 컴포넌트 클래스 및 기초 자막 컴포넌트 클래스를 보여준다.
도 174는 컴포지트 오디오 컴포넌트 클래스 및 컴포지트 비디오 컴포넌트 클래스를 보여준다.
도 175은 픽원 컴포넌트 클래스를 보여준다.
도 176은 프레젠터블 컴포넌트 클래스, 프레젠터블 비디오 컴포넌트 클래스, 프레젠터블 오디오 컴포넌트 클래스 및 프레젠터블 자막 컴포넌트 클래스를 보여준다.
도 177는 사용자 요청 컴포넌트 클래스를 보여준다.
도 178은 NRT 컨텐츠 아이템 클래스 및 NRT 파일 클래스를 보여준다.
도 179는 본 발명의 또 다른 실시예의 사용자 요청 컴포넌트 클래스를 보여준다.
도 180는 본 발명의 또 다른 실시예의 NRT 컨텐츠 아이템 클래스 및 NRT 파일 클래스를 보여준다.
도 181은 선형 서비스 클래스를 보여준다.
도 182는 어플 클래스 및 어플 기반 부가 서비스를 보여준다.
도 183은 타임 베이스 클래스 및 노티피케이션 스트림 클래스를 보여준다.
도 184는 어플 기반 서비스 클래스를 보여준다.
도 185은 프로그램 클래스를 보여준다.
도 186은 쇼 클래스를 보여준다.
도 187는 세그먼트 클래스, 쇼 세그먼트 클래스 및 중간 세그먼트 클래스를 보여준다.
도 188은 본 발명의 일 실시예에 따른 방송 서비스의 종류에 따른 하위 속성과의 상속 관계를 보여준다.
도 189는 본 발명의 일 실시예에 따른 연속 컴포넌트와 연속 컴포넌트의 하위 속성을 갖는 컴포넌트들과의 상속 관계를 보여준다.
도 190는 본 발명의 일 실시예에 따른 프레젠터블 컴포넌트와 프레젠터블 컴포넌트의 하위 속성을 갖는 컴포넌트들과의 상속 관계를 보여준다.
도 191은 본 발명의 일 실시예에 따른 서비스와 서비스에 포함된 프로그램, 프로그램들에 포함된 세그먼트들의 관계를 보여준다.
도 192은 본 발명의 또 다른 실시예에 따른 방송 서비스의 종류에 따른 하위 속성과의 상속 관계를 보여준다.
도 193은 본 발명의 또 다른 실시예에 따른 연속 컴포넌트와 연속 컴포넌트의 하위 속성을 갖는 컴포넌트들과의 상속 관계를 보여준다.
도 194는 NRT 컨텐츠 아이템 클래스와 NRT 파일의 상속 관계를 보여준다.
도 195은 본 발명의 또 다른 실시예에 따른 서비스와 서비스에 포함된 프로그램, 프로그램들에 포함된 세그먼트들의 관계를 보여준다.
도 196은 프레젠터블 오디오 컴포넌트의 계층 구조를 보여준다.
도 197는 방송 수신 장치가 자동 실행 어플 기반 서비스를 방송 서비스 가이드를 통해 표시하고 이를 즐겨찾기로 저장 하거나 다운로드하는 동작을 보여주는 흐름도이다.
도 198은 본 발명의 또 다른 실시예에 따른 방송 서비스의 종류에 따른 하위 속성과의 상속 관계를 보여준다.
도 199는 본 발명의 또 다른 실시예에 따른 연속 컴포넌트와 연속 컴포넌트의 하위 속성을 갖는 컴포넌트들과의 상속 관계를 보여준다.
도 200는 본 발명의 또 다른 실시예에 따른 프레젠터블 컴포넌트와 프레젠터블 컴포넌트의 하위 속성을 갖는 컴포넌트들과의 상속 관계를 보여준다.
도 201은 본 발명의 일 실시예에 따라 방송 전송 장치가 수화 화면을 포함하는 비디오를 시그널링하는 정보를 전송하는 동작을 보여주는 흐름도이다.
도 202은 본 발명의 일 실시예에 따라 방송 수신 장치 수화 화면을 포함하는 비디오를 표시하는 동작을 보여주는 흐름도이다.
도 203은 본 발명의 일 실시예에 따라 방송 수신 장치가 수화를 위한 설정에 대한 사용자 입력을 인터페이스를 보여준다.
도 204는 본 발명의 일 실시예에 따른 연동 장치와 연동하는 방송 서비스를 제공하는 방송 시스템을 보여준다.
도 205은 본 발명의 일 실시예에 따라 시그널링되는 방송 서비스의 속성을 보여준다.
도 206은 본 발명의 일 실시예에 따라 시그널링되는 방송 서비스의 속성 중 타겟 디바이스 정보가 가질 수 있는 값을 보여준다.
도 207는 본 발명의 일 실시예에 따른 UPnP 액션 메커니즘을 나타낸 도면이다.
도 208은 본 발명의 일 실시예에 따른 REST(REpresentational State Transfer) 액션 메커니즘을 나타낸 도면이다.
도 209는 본 발명의 일 실시예에 따른 이벤팅 방식을 이용한 방송 수신 장치와 연동 장치의 서비스 시그널링 메시지를 나타낸다.
도 210은 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 방송 서비스 속성을 시그널링하는 동작을 보여주는 래더다이그램이다.
도 211는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 데이터 형식을 보여준다.
도 212은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 상태를 나타내는 변수, 방송 서비스 속성을 위한 액션 및 액션의 인수(argument)를 보여준다.
도 213은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 방송 서비스 속성을 시그널링하는 동작을 보여주는 래더다이그램이다.
도 214는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성 변경 여부의 데이터 형식을 보여준다.
도 215은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 상태를 나타내는 변수들을 보여준다.
도 216는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성 변경 여부의 데이터 형식을 보여준다.
도 217은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 상태를 나타내는 변수들을 보여준다.
도 218은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 방송 서비스 속성을 시그널링하는 동작을 보여주는 래더다이그램이다.
도 219는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 상태를 나타내는 변수들을 보여준다.
도 220는 본 발명의 일 실시예에 따른 방송 서비스 속성을 획득하기 위한 액션을 나타낸 도면이다.
도 221은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 방송 서비스 속성을 시그널링하는 동작을 보여주는 래더다이그램이다.
도 222은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 상태를 나타내는 변수, 방송 서비스 속성을 위한 액션 및 액션의 인수(argument)를 보여준다.
도 223은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 방송 서비스 속성을 시그널링하는 동작을 보여주는 래더다이그램이다.
도 224는 본 발명의 일 실시예에 따라 긴급 경보가 생성되어 방송망을 통해서 전송되는 과정을 보여준다.
도 225는 본 발명의 일 실시예에 따라 방송 수신 장치가 방송망을 통해 시그널링되는 긴급 경보를 추출하여 표시하는 것을 보여준다.
도 226은 본 발명의 일 실시예에 따른 구체적인 CAP 메시지의 형식을 나타낸다.
도 227는 본 발명의 일 실시예에 따라 방송 수신 장치가 시그널링하는 긴급 경보 서비스의 서비스 타입, 서비스 식별자, 긴급 경보의 상태를 나타내는 변수, 긴급 경보를 위한 액션 및 액션의 인수(argument)를 보여준다.
도 228는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다.
도 229는 본 발명의 일 실시예에 따른 방송 수신 장치의 긴급 경보 알림 메시지의 내용을 나타낸다.
도 230은 본 발명의 일 실시예에 따른 긴급 경보 알림 메시지의 내용을 나타낸다.
도 231 내지 233은 본 발명의 일 실시예에 따라 방송 수신 장치가 긴급 경보의 우선 순위를 판단하는 기준을 보여준다.
도 234은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 시그널링하는 긴급 경보의 상태를 나타내는 변수, 긴급 경보를 위한 액션 및 액션의 인수(argument)를 보여준다.
도 235는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다.
도 236은 본 발명의 일 실시예에 따라 방송 수신 장치로부터 반환되는 XML 형태의 긴급 경보 메시지를 나타낸 도면이다.
도 237는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 시그널링하는 긴급 경보의 상태를 나타내는 변수, 긴급 경보를 위한 액션 및 액션의 인수(argument)를 나타낸다.
도 238는 본 발명의 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다.
도 239은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 시그널링하는 긴급 경보의 상태를 나타내는 변수를 나타낸다.
도 240은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 시그널링하는 긴급 경보를 위한 액션 및 액션의 인자(argument)를 나타낸다.
도 241는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다.
도 242는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다.
도 243은 본 발명의 일 실시예에 따른 연동 장치를 위한 NRT 데이터 시그널링 정보를 보여준다.
도 244은 본 발명의 일 실시예에 따라 방송 수신 장치가 방송 수신 장치를 위한 NRT 데이터 시그널링 정보에 기초하여 연동 장치를 위한 NRT 데이터 시그널링 정보를 생성하는 것을 보여준다.
도 245는 본 발명의 일 실시예에 따른 NRT 데이터에 관한 변수, NRT 데이터 획득을 위한 액션 및 액션의 인자를 보여준다.
도 246은 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 NRT 데이터를 시그널링하는 것을 보여준다.
도 247는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 NRT 데이터를 시그널링하는 것을 보여준다.
도 248는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 장치 성능 정보를 보여준다..
도 249은 본 발명의 일 실시예에 따른 장치 성능 정보에 관한 상태 변수를 나타낸다.
도 250은 본 발명의 일 실시예에 따른 장치 성능 정보 획득을 위한 액션 및 액션의 인자를 나타낸다.
도 251은 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다.
도 252는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다.
도 253은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다.
도 254은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다.
도 255는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 장치 성능 정보를 보여준다.
도 256은 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다.
도 257는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다.
도 258는 본 발명의 일 실시예에 따른 연동 장치가 동작하는 흐름도를 나타낸 도면이다.
도 259은 본 발명의 일 실시예에 따른 방송 수신 장치가 동작하는 흐름도를 나타낸 도면이다.
도 260은 본 발명의 일 실시예에 따른 방송 시스템의 구성을 나타낸다.
도 261은 본 발명의 일 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 262는 본 발명의 일 실시예에 따른 어플리케이션 레이어 전송 프로토콜 스택을 도시한 도면이다.
도 263은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 264은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 265는 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 266은 본 발명의 일 실시예에 따른 LCT 패킷이 나타나 있다.
도 267는 본 발명의 일 실시예에 따른 시그널링 정보가 FIC 및/또는 PLP를 통하여 전달되는 것을 나타낸 도면이다.
도 268는 본 발명의 일 실시예에 따른 시그널링 정보가 전송 세션을 통하여 전달되는 것을 나타낸 도면이다.
도 269은 본 발명의 일 실시예에 따른 시그널링 정보가 전송 세션을 통하여 전달되는 것을 나타낸 도면이다.
도 270은 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지 구성을 나타낸다.
도 271은 본 발명의 일 실시예에 따른 방송 수신 장치가 연동장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다.
도 272는 본 발명의 일 실시예에 따른 긴급 경보 멀티캐스트 메시지의 전달을 위한 헤더 메시지 포맷을 나타낸 도면이다.
도 273은 본 발명의 일 실시예에 따른 긴급 경보 멀티캐스트 메시지의 전달을 위한 바디 메시지 포맷(body message format)을 나타낸 도면이다.
도 274은 본 발명의 일 실시예에 따른 긴급 경보 멀티캐스트 메시지의 전달을 위한 바디 메시지 포맷(body message format)을 나타낸 도면이다.
도 275는 본 발명의 일 실시예에 따른 방송 수신 장치의 흐름도를 나타낸 도면이다.
도 276은 본 발명의 일 실시예에 따른 방송 시스템을 나타낸 도면이다.
도 277은 본 발명의 일 실시예에 따른 방송 전송 방법을 나타낸 도면이다.
도 278은 본 발명의 일 실시예에 따른 방송 수신 방법을 나타낸 도면이다.
도 279은 본 발명의 일 실시예에 따른 앱 관련 방송 서비스에 대해 도시한 도면이다.
도 280 은 본 발명의 일 실시예에 따른 ApplicationList 엘레멘트의 일부를 도시한 도면이다.
도 281 는 본 발명의 일 실시예에 따른 ApplicationList 엘레멘트의 다른 일부를 도시한 도면이다.
도 282 은 본 발명의 일 실시예에 따른 EMT (Event Message Table) 을 도시한 도면이다.
도 283는 본 발명의 일 실시예에 따른 브로드캐스트를 통해서 전송되는 AST를 나타낸 도면이다.
도 284는 본 발명의 일 실시예에 따른 브로드밴드를 통해서 전송되는 AST를 나타낸 도면이다.
도 285는 본 발명의 일 실시예에 따른 브로드캐스트를 통해서 EventStream 엘레멘트의 형태로 전송되는 이벤트를 나타낸 도면이다.
도 286은 본 발명의 일 실시예에 따른 브로드캐스트를 통해서 emsg 박스의 형태로 전송되는 이벤트를 나타낸 도면이다.
도 287는 본 발명의 일 실시예에 따른 브로드밴드를 통해서 EventStream 엘레멘트의 형태로 전송되는 이벤트를 나타낸 도면이다.
도 288은 본 발명의 일 실시예에 따른 브로드밴드를 통해서 emsg 박스의 형태로 전송되는 이벤트를 나타낸 도면이다.
도 289은 본 발명의 일 실시예에 따른 API 및 이벤트 리스너(event listener)를 나타낸 도면이다.
도 290은 본 발명의 일 실시예에 따른 방송 전송 방법을 나타낸 도면이다.
도 291은 본 발명의 일 실시예에 따른 방송 수신 방법을 나타낸 도면이다.
도 292는 방송 수신 장치가 MPEG-2 TS 표준에 따라 방송 스트림을 전송하는 방송망을 통해서 MPEG-DASH의 MPD를 수신하는 것을 보여주는 블락도이다.
도 293은 방송 수신 장치가 MPEG-2 TS 표준에 따라 전송되는 방송 스트림의 방송 컨텐츠와 통신망을 통해 전송되는 미디어 컨텐츠를 동기화하는 것을 보여주는 블락도이다.
도 294은 본 발명의 일 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 295는 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 296은 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 297는 방송 수신 장치(100)가 방송 서비스를 스캔하여 채널 맵을 생성하는 동작을 보여주는 흐름도이다.
도 298는 방송 수신 장치(100)가 방송 서비스를 수신하는 동작을 보여주는 흐름도이다.
도 299은 방송 수신 장치가 미디어 컨텐츠 재생 정보에 기초하여 미디어 컴포넌트를 획득하는 동작을 보여주는 흐름도이다.
도 300은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 301은 본 발명의 또 다른 실시예에 따른 방송 전송 프레임을 보여준다.
도 302는 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지 구성을 나타낸다.
도 303는 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다.
도 304은 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드가 나타내는 값이 의미하는 내용을 나타낸다.
도 305는 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 306은 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 307는 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 308는 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 309은 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 310은 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 311은 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드 값에 따른, bootstrap() 필드의 신택스를 나타낸다.
도 312는 도 303 내지 도 311의 실시 예에서 타임베이스 및 서비스 시그널링 메시지를 획득하는 과정을 나타낸다.
도 313은 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다.
도 314은 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다.
도 315은 도 314에서 설명한 각각의 전송 모드가 갖는 값에 따른 의미를 나타낸다.
도 316는 차세대 방송 시스템에서 방송 서비스의 컴포넌트 데이터 획득 경로를 시그널링하는 시그널링 메시지의 구성을 나타낸다.
도 317은 본 발명의 일 실시 예에 따른 app_delevery_info() 필드의 신택스를 나타낸다.
도 318는 본 발명의 또 다른 일 실시 예에 따른 app_delevery_info() 필드의 신택스를 나타낸다.
도 319은 방송 서비스를 구성하는 하나 이상의 컴포넌트 데이터를 획득할 수 있는 경로 정보를 포함하는 컴포넌트 로케이션 시그널링을 나타낸다.
도 320은 도 319의 컴포넌트 로케이션 시그널링의 구성을 나타낸다.
도 321은 본 발명의 일 실시 예에 따른 방송 수신 장치의 동작 과정을 나타내는 흐름도이다.
도 322는 본 발명의 일 실시 예에 따른 방송 전송 장치의 동작 과정을 나타내는 흐름도이다.
도 323는 앞서 설명한 트리거 신택스에 따른 트리거를 보여준다.
도 324은 본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보의 신택스를 보여준다.
도 325은 본 발명의 일 실시예에 따라 트리거 타입 정보를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
도 326은 본 발명의 일 실시예에 따라 트리거 타입 정보를 보여준다.
도 327은 본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보의 신택스를 보여준다.
도 328는 본 발명의 일 실시예에 따라 트리거링되는 어플리케이션에 관한 정보의 위치를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
도 329은 본 발명의 일 실시예에 따라 어플리케이션의 상태를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
도 330은 본 발명의 일 실시예에 따라 어플리케이션의 동작을 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
도 331는 본 발명의 일 실시예에 따라 미디어 시간을 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
도 332은 본 발명의 일 실시예에 따라 모든 트리거 속성을 하나의 이벤트로 시그널링하기 위한 밸류 어트리뷰트의 정의를 보여준다.
도 333는 본 발명의 일 실시예에 따라 모든 트리거 속성을 하나의 이벤트로 시그널링하기 위한 이벤트 엘리먼트의 식별자 어트리뷰트와 메시지 어트리뷰트, 및 이벤트 메시지 박스의 식별자 필드와 메시지 데이터 필드의 매칭 관계를 보여준다.
도 334는 본 발명의 일 실시예에 따른 MMT 프로토콜의 패키지의 구조를 보여준다.
도 335은 본 발명의 일 실시예에 따른 MMTP 패킷의 구조와 MMTP 패킷이 포함하는 데이터의 종류를 보여준다.
도 336은 본 발명의 일 실시예에 따라 MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 페이로드 헤더의 신택스를 보여준다.
도 337은 본 발명의 일 실시예에 따라 컨텐츠와 MPU를 통해 전송되는 트리거를 동기화하는 것을 보여준다.
도 338는 본 발명의 또 다른 실시예에 따른 MMT 시그널링 메시지의 신택스를 보여준다.
도 339은 본 발명의 또 다른 실시시예에 따라 MMT 시그널링 메시지를 식별하는 식별자의 값과 MMT 시그널링 메시지가 시그널링하는 데이터의 관계를 보여준다.
도 340은 본 발명의 또 다른 실시예에 따라 어플리케이션 시그널링 정보를 포함하는 시그널링 메시지의 신택스를 보여준다.
도 341는 본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 정보를 포함하는 어플리케이션 시그널링 테이블의 신택스를 보여준다.
도 342는 본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 테이블이 포함하는 트리거 타입 정보와 트리거가 포함하는 트리거 속성의 관계를 보여준다.
도 343은 본 발명의 또 다른 실시예에 따라 MMT 시그널링 메시지를 식별하는 식별자의 값과 MMT 시그널링 메시지가 시그널링하는 데이터의 관계를 보여준다.
도 344의 실시예에 어플리케이션 시그널링 테이블은 앞서 설명한 어플리케이션 시그널링 테이블과 달리 트리거 타입 정보를 포함하지 않는다.
도 345은 본 발명의 또 다른 실시예에 따른 MMTP 패킷의 구조를 보여준다.
도 346은 본 발명의 또 다른 실시예에 따른 MMTP 패킷의 구조와 어플리케이션 시그널링 정보를 전송하기 위한 헤더 확장 필드의 신택스를 보여준다.
도 347은 본 발명의 실시예들에 따라 방송 전송 장치가 어플리케이션 시그널링 정보에 기초하여 방송 신호를 전송하는 것을 보여준다.
도 348는 본 발명의 실시예들에 따라 방송 수신 장치가 방송 신호에 기초하여 어플리케이션 시그널링 정보를 획득하는 것을 보여준다.
도 349는 본 발명의 일 실시예에 따른 이벤트 정보를 나타내는 도면이다.
도 350은 본 발명의 일 실시예에 따른 이벤트 정보의 XML 포멧을 나타낸 도면이다.
도 351은 본 발명의 일 실시예에 따른 UPnP Action Mechanism을 나타낸 도면이다.
도 352은 본 발명의 일 실시예에 따른 REST Mechanism을 나타낸 도면이다.
도 353은 본 발명의 일 실시예에 따른 트리거의 전달을 위한 state variable들을 나타낸 도면이다.
도 354는 본 발명의 일 실시예에 따른 트리거 리스트 정보를 나타낸 도면이다.
도 355은 본 발명의 일 실시예에 따른 트리거 리스트 정보의 XML 포멧을 나타낸 도면이다.
도 356은 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
도 357는 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
도 358은 본 발명의 일 실시예에 따른 트리거 리스트 정보를 나타낸 도면이다.
도 359는 본 발명의 일 실시예에 따른 트리거 리스트 정보의 XML 데이터 포멧을 나타낸 도면이다.
도 360는 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
도 361은 본 발명의 일 실시예에 따른 트리거 타입 정보가 "action"을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도 362은 본 발명의 일 실시예에 따른 트리거 타입 정보가 "action"을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도 363는 본 발명의 일 실시예에 따른 트리거 타입 정보가 "action"을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도 364는 본 발명의 일 실시예에 따른 트리거 타입 정보가 "action"을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도 365은 본 발명의 일 실시예에 따른 트리거 타입 정보가 "status"을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도 366은 본 발명의 일 실시예에 따른 트리거 타입 정보가 "status"을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도 367는 본 발명의 일 실시예에 따른 트리거 타입 정보가 "mediaTime"을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도 368은 본 발명의 일 실시예에 따른 트리거 타입 정보가 "mediaTime"을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도 369는 본 발명의 일 실시예에 따른 제1 수신기가 제2 수신기와 페어링 되지 않은 경우의 Flow Diagram을 나타낸 도면이다.
도 370는 본 발명의 일 실시예에 따른 제1 수신기가 제2 수신기와 페어링 되지 않은 경우의 Flow Diagram을 나타낸 도면이다.
도 371은 본 발명의 일 실시예에 따른 제2 수신기가 트리거링 어플리케이션 정보를 송신기로부터 수신하는 Flow Diagram을 나타낸 도면이다.
도 372은 본 발명의 일 실시예에 따른 방송 수신 장치의 동작을 나타낸 흐름도이다.
도 373는 본 발명의 일 실시예에 따른 방송 시스템의 구성을 나타내는 도면이다.
도 374은 본 발명의 일 실시예에 따른 시간 정보의 전달을 위한 방송 시스템을 나타낸 도면이다.
도 375는 본 발명의 일 실시예에 따른 서비스 시간 정보의 전달을 위한 state variable들을 나타낸 도면이다.
도 376는 본 발명의 일 실시예에 따른 서비스 시간 정보를 나타낸 도면이다.
도 377은 본 발명의 일 실시예에 따른 서비스 시간 정보의 XML 포맷을 나타낸 도면이다.
도 378은 본 발명의 일 실시예에 따른 서비스 시간 정보를 전달하기 위해서 필요한 동작들을 나타낸 도면이다.
도 379은 본 발명의 일 실시예에 따른 전달 빈도 정보를 나타낸 도면이다.
도 380는 본 발명의 일 실시예에 따른 방송 수신 장치가 eventing 방식으로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도 381는 본 발명의 일 실시예에 따른 방송 수신 장치가 request 방식으로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도 382는 본 발명의 일 실시예에 따른 방송 수신 장치의 동작을 나타낸 흐름도이다.
도 383은 본 발명의 일 실시 예에 따른 방송 수신 장치와 컴패니언 스크린 디바이스가 동기화된 도면을 나타낸다.
도 384은 본 발명의 일 실시 예에 따른 방송 수신 장치와 컴패니언 스크린 디바이스가 동기화되지 않은 도면을 나타낸다.
도 385은 본 발명의 일 실시 예에 따른 방송 수신 장치와 컴패니언 스크린 디바이스를 동기화시키기 위한 방법을 나타낸 도면이다.
도 386은 본 발명의 일 실시 예에 따른 플레이백 상태 정보를 포함하는 서비스 시간 정보을 나타낸 도면이다.
도 387는 본 발명의 일 실시예에 따른 서비스 시간 정보의 XML 포맷을 나타낸 도면이다.
도 388는 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
도 389는 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
도 390는 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
도 391는 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
도 392은 본 발명의 일 실시예에 따른 플레이백 정보의 전달을 위한 state variable들을 나타낸 도면이다.
도 393은 본 발명의 일 실시예에 따른 플레이백 정보를 나타낸 도면이다.
도 394는 본 발명의 일 실시예에 따른 플레이백 정보의 XML 포맷을 나타낸 도면이다.
도 395은 본 발명의 일 실시예에 따른 플레이백 정보를 전달하기 위해서 필요한 동작들을 나타낸 도면이다.
도 396은 본 발명의 일 실시예에 따른 방송 수신 장치가 eventing 방식으로 플레이백 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도 397는 본 발명의 일 실시예에 따른 방송 수신 장치가 request 방식으로 플레이백 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도 398은 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
도 399는 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
도 400는 본 발명의 일 실시예에 따른 방송 수신 장치의 동작을 나타낸 흐름도이다.
도 401 은 본 발명의 또 다른 실시예에 따른, JSON 포맷의 서비스 시간 정보(ServiceTimeInfo) 를 도시한 도면이다.
도 402 는 본 발명의 또 다른 실시예에 따른, 플레이백 상태 정보를 더 포함하는 JSON 포맷의 서비스 시간 정보(ServiceTimeInfo) 를 도시한 도면이다.
도 403 은 본 발명의 또 다른 실시예에 따른, 복수의 영상에 대한 플레이백 상태 정보를 더 포함하는 JSON 포맷의 서비스 시간 정보(ServiceTimeInfo) 를 도시한 도면이다.
도 404 는 본 발명의 또 다른 실시예에 따른, JSON 포맷의 플레이백 상태 정보(PlaybackInfo) 를 도시한 도면이다.
도 405 는 본 발명의 일 실시예에 따른, UPnP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도 406 은 본 발명의 다른 실시예에 따른, UPnP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도 407 은 본 발명의 또 다른 실시예에 따른, UPnP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도 408 은 본 발명의 일 실시예에 따른, UPnP 기반의 PD-CD 아키텍쳐에서의 인터랙션 다이어그램을 도시한 도면이다.
도 409 는 본 발명의 일 실시예에 따른, Websocket 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도 410 은 본 발명의 다른 실시예에 따른, Websocket 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도 411 은 본 발명의 또 다른 실시예에 따른, Websocket 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도 412 는 본 발명의 일 실시예에 따른, Websocket 기반의 PD-CD 아키텍쳐에서의 앱 투 앱 커뮤니케이션(App to app communication) 을 도시한 도면이다.
도 413 은 본 발명의 일 실시예에 따른, HTTP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도 414 는 본 발명의 다른 실시예에 따른, HTTP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도 415 는 본 발명의 일 실시예에 따른, Websocket & HTTP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도 416 은 본 발명의 일 실시예에 따른, PD (Primary Device) 의 디스커버리를 위해 사용되는 메시지들의 포맷을 도시한 도면이다.
도 417 은 본 발명의 일 실시예에 따른, DDD (Device Description Document) 를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정을 도시한 도면이다.
도 418 은 본 발명의 일 실시예에 따른, DDD 를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, DDD 의 요청 메시지와 DDD 의 포맷을 도시한 도면이다.
도 419 는 본 발명의 일 실시예에 따른, DDD 를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, DDD 의 포맷을 도시한 도면이다.
도 420 은 본 발명의 다른 실시예에 따른, DDD 를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, DDD 의 포맷을 도시한 도면이다.
도 421 은 본 발명의 일 실시예에 따른, DDD 요청에 대한 응답(response) 헤더를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정을 도시한 도면이다.
도 422 는 본 발명의 일 실시예에 따른, DDD 요청에 대한 응답(response) 헤더를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, 응답 헤더의 포맷을 도시한 도면이다.
도 423 은 본 발명의 일 실시예에 따른, DDD 요청에 대한 응답(response) 헤더의 URL 을 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정을 도시한 도면이다.
도 424 는 본 발명의 일 실시예에 따른, DDD 요청에 대한 응답(response) 헤더의 URL 을 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, GET 요청 및 그에 따른 응답 메시지 포맷들을 도시한 도면이다.
도 425 는 본 발명의 다른 실시예에 따른, DDD 요청에 대한 응답(response) 헤더의 URL 을 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, 주소 정보를 전달하는 응답 메시지의 포맷을 도시한 도면이다.
도 426 은 본 발명의 일 실시예에 따른, Websocket 기반의 핸드쉐이크(Handshake) & 연결 과정을 도시한 도면이다 (디스커버리 이후).
도 427 은 본 발명의 일 실시예에 따른, Websocket 기반의 앱투앱 커뮤니케이션을 위한 핸드쉐이크(Handshake) & 연결 과정을 도시한 도면이다(디스커버리 이후).
도 428 은 본 발명의 일 실시예에 따른, Websocket 기반의 2 웨이(way) 커뮤니케이션 과정을 도시한 도면이다 (연결 이후).
도 429 는 본 발명의 일 실시예에 따른, Websocket 기반의 앱투앱 2 웨이(way) 커뮤니케이션 과정을 도시한 도면이다 (연결 이후 / CD to PD).
도 430 은 본 발명의 일 실시예에 따른, Websocket 기반의 앱투앱 2 웨이(way) 커뮤니케이션 과정을 도시한 도면이다 (연결 이후 / PD to CD).
도 431 은 본 발명의 일 실시예에 따른, HTTP 기반의 요청-응답(Request-Response) 과정을 도시한 도면이다 (디스커버리 이후).
도 432 는 본 발명의 일 실시예에 따른 PD 에서 방송 서비스를 제공하는 방법을 도시한 도면이다.
도 433 는 본 발명의 일 실시예에 따른 PD 로서 동작하는 방송 수신 장치를 도시한 도면이다.
도 434 은 본 발명의 다른 실시예에 따른 XML 형식의 ESGData 상태변수를 JSON 형식의 ESGData 상태변수로 변환한 도면이다.
도 435 은 본 발명의 다른 실시예에 따른 JSON 형식의 ESGData 상태변수를 웹소켓 프로트콜을 사용하여 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
본 발명의 바람직한 실시예에 대해 구체적으로 설명하며, 그 예는 첨부된 도면에 나타낸다. 첨부된 도면을 참조한 아래의 상세한 설명은 본 발명의 실시예에 따라 구현될 수 있는 실시예만을 나타내기보다는 본 발명의 바람직한 실시예를 설명하기 위한 것이다. 다음의 상세한 설명은 본 발명에 대한 철저한 이해를 제공하기 위해 세부 사항을 포함한다. 그러나 본 발명이 이러한 세부 사항 없이 실행될 수 있다는 것은 당업자에게 자명하다.
본 발명에서 사용되는 대부분의 용어는 해당 분야에서 널리 사용되는 일반적인 것들에서 선택되지만, 일부 용어는 출원인에 의해 임의로 선택되며 그 의미는 필요에 따라 다음 설명에서 자세히 서술한다. 따라서 본 발명은 용어의 단순한 명칭이나 의미가 아닌 용어의 의도된 의미에 근거하여 이해되어야 한다.
본 발명은 차세대 방송 서비스에 대한 방송 신호 송신 및 수신 장치 및 방법을 제공한다. 본 발명의 일 실시예에 따른 차세대 방송 서비스는 지상파 방송 서비스, 모바일 방송 서비스, 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로부터 조직적으로 인코딩되고, 그 뒤에 첨부된다.
Figure PCTKR2016001995-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 사이즈를 나타낸다.
Value FFT 사이즈
00 8K FFT
01 16K FFT
10 32K FFT
11 리저브드
GI_FRACTION: 해당 3비트 필드는 아래 표 2에서 설명한 바와 같이 현 슈퍼 프레임에서의 가드 인터벌 일부(fraction) 값을 나타낸다.
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에 나타낸 바와 같이 시그널링 된다.
페이로드 타입
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 코드에 대한 자세한 내용은 후술한다.
콘텐트 PLS2 FEC 타입
00 4K-1/4 및 7K-3/10 LDPC 코드
01 ~ 11 리저브드(reserved)
PLS2_MOD: 해당 3비트 필드는 PLS2에 의해 사용되는 변조 타입을 나타낸다. 변조 타입은 표 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에 대해 사용되지 않는다.
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에 따라 시그널링 된다.
데이터 파이프 타입
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에 따라 시그널링 된다.
FEC_TYPE
00 16K LDPC
01 64K LDPC
10 ~ 11 리저브드(reserved)
DP_COD: 해당 4비트 필드는 관련된 데이터 파이프에 의해 사용되는 코드 레이트(code rate)을 나타낸다. 코드 레이트(code rate)은 아래의 표 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에 따라 시그널링 된다.
변조
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에 따라 시그널링 된다.
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에 정의된다.
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에 따라 시그널링 된다.
페이로드 타입
00 TS
01 IP
10 GS
11 리저브드(reserved)
DP_INBAND_MODE: 해당 2비트 필드는 현 데이터 파이프가 인 밴드(In-band) 시그널링 정보를 전달하는지 여부를 나타낸다. 인 밴드(In-band) 시그널링 타입은 아래의 표 14에 따라 시그널링 된다.
인 밴드 모드(In-band mode)
00 인 밴드(In-band) 시그널링이 전달되지 않음
01 INBAND-PLS만 전달됨
10 INBAND-ISSY만 전달됨
11 INBAND-PLS 및 INBAND-ISSY가 전달됨
DP_PROTOCOL_TYPE: 해당 2비트 필드는 주어진 데이터 파이프에 의해 전달되는 페이로드의 프로토콜 타입을 나타낸다. 페이로드의 프로토콜 타입은 입력 페이로드 타입이 선택되면 아래의 표 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에 따라 시그널링 된다.
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의 값으로 설정된다.
널 패킷 삭제 모드
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의 값으로 설정된다.
ISSY 모드
00 사용되지 않음
01 ISSY-UP
10 ISSY-BBF
11 리저브드(reserved)
HC_MODE_TS: 해당 2비트 필드는 DP_PAYLOAD_TYPE이 TS ('00')로 설정되는 경우에 관련된 데이터 파이프에 의해 사용되는 TS 헤더 압축 모드를 나타낸다. HC_MODE_TS는 아래의 표 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에 따라 시그널링 된다.
헤더 압축 모드
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 사이즈에 따라 다른 길이를 갖는다.
피지컬 프로파일 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 인코딩 파라미터를 나타낸다.
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
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)는 다음의 수학식으로 표현된다.
Figure PCTKR2016001995-appb-M000002
롱 FECBLOCK 및 쇼트 FECBLOCK에 대한 파라미터는 위의 표 22 및 23 에 각각 주어진다.
롱 FECBLOCK에 대해 Nldpc - Kldpc 패리티 비트를 계산하는 구체적인 절차는 다음과 같다.
1) 패리티 비트 초기화
Figure PCTKR2016001995-appb-M000003
2) 패리티 체크 매트릭스의 어드레스의 첫 번째 행에서 특정된 패리티 비트 어드레스에서 첫 번째 정보 비트 i0 누산(accumulate). 패리티 체크 매트릭스의 어드레스의 상세한 내용은 후술한다. 예를 들면, 비율 13/15에 대해,
Figure PCTKR2016001995-appb-M000004
3) 다음 359개의 정보 비트 is, s=1, 2, …, 359에 대해, 다음의 수학식을 이용하여 패리티 비트 어드레스에서 is 누산(accumulate).
Figure PCTKR2016001995-appb-M000005
여기서, x 는 첫 번째 비트 i0에 해당하는 패리티 비트 누산기의 어드레스를 나타내고, Qldpc는 패리티 체크 매트릭스의 어드레서에서 특정된 코드 레이트(code rate) 의존 상수이다. 상기 예인, 비율 13/15에 대한, 따라서 정보 비트 i1에 대한 Qldpc = 24에 계속해서, 다음 동작이 실행된다.
Figure PCTKR2016001995-appb-M000006
4) 361번째 정보 비트 i360에 대해, 패리티 비트 누산기의 어드레스는 패리티 체크 매트릭스의 어드레스의 두 번째 행에 주어진다. 마찬가지 방식으로, 다음 359개의 정보 비트 is, s= 361, 362, …, 719에 대한 패리티 비트 누산기의 어드레스는 수학식 6을 이용하여 얻어진다. 여기서, x는 정보 비트 i360에 해당하는 패리티 비트 누산기의 어드레스, 즉 패리티 체크 매트릭스의 두 번째 행의 엔트리를 나타낸다.
5) 마찬가지 방식으로, 360개의 새로운 정보 비트의 모든 그룹에 대해, 패리티 체크 매트릭스의 어드레스로부터의 새로운 행은 패리티 비트 누산기의 어드레스를 구하는 데 사용된다.
모든 정보 비트가 이용된 후, 최종 패리티 비트가 다음과 같이 얻어진다.
6) i=1로 시작해서 다음 동작을 순차적으로 실행
Figure PCTKR2016001995-appb-M000007
여기서 pi, i=0,1,...Nldpc - Kldpc - 1의 최종 콘텐트는 패리티 비트 pi와 동일하다.
코드 레이트(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 인코딩 절차에 따른다.
코드 레이트(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에 나타낸 바와 같이, 타임 인터리빙에는 세 가지 옵션이 있다(타임 인터리빙을 생략하는 추가 옵션 제외).
모드 설명
옵션 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 PCTKR2016001995-appb-I000001
이 순차적으로 판독될 타임 인터리빙 메모리 셀 위치라고 가정하면, 이러한 인터리빙 어레이에서의 판독 동작은 아래 식에서와 같이 행 인덱스
Figure PCTKR2016001995-appb-I000002
, 열 인덱스
Figure PCTKR2016001995-appb-I000003
, 관련된 트위스트 파라미터
Figure PCTKR2016001995-appb-I000004
를 산출함으로써 실행된다.
Figure PCTKR2016001995-appb-M000008
여기서,
Figure PCTKR2016001995-appb-I000005
Figure PCTKR2016001995-appb-I000006
에 상관없이 대각선 방향 판독 과정에 대한 공통 시프트 값이고, 시프트 값은 아래 식에서와 같이 PLS2-STAT에서 주어진
Figure PCTKR2016001995-appb-I000007
에 의해 결정된다.
Figure PCTKR2016001995-appb-M000009
결과적으로, 판독될 셀 위치는 좌표
Figure PCTKR2016001995-appb-I000008
에 의해 산출된다.
도 31는 본 발명의 다른 일 실시예에 따른 트위스트된 행-열 블록 인터리버의 동작을 나타낸다.
더 구체적으로, 도 31 은
Figure PCTKR2016001995-appb-I000009
,
Figure PCTKR2016001995-appb-I000010
,
Figure PCTKR2016001995-appb-I000011
일 때 가상 XFECBLOCK을 포함하는 각각의 타임 인터리빙 그룹에 대한 타임 인터리빙 메모리에서 인터리빙 어레이를 나타낸다.
변수
Figure PCTKR2016001995-appb-I000012
Figure PCTKR2016001995-appb-I000013
보다 작거나 같을 것이다. 따라서,
Figure PCTKR2016001995-appb-I000014
에 상관없이 수신기 측에서 단일 메모리 디인터리빙을 달성하기 위해, 트위스트된 행-열 블록 인터리버용 인터리빙 어레이는 가상 XFECBLOCK을 타임 인터리빙 메모리에 삽입함으로써
Figure PCTKR2016001995-appb-I000015
의 크기로 설정되고, 판독 과정은 다음 식과 같이 이루어진다.
Figure PCTKR2016001995-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 PCTKR2016001995-appb-I000016
로 이어진다.
하나의 OFDM 심볼에 해당하는 데이터 상에서 동작하는 프리퀀시 인터리버의 목적은 프레임 빌더로부터 수신된 데이터 셀을 무작위로 인터리빙 함으로써 프리퀀시 다이버시티를 제공하는 것이다. 하나의 프레임에서 최대 인터리빙 이득을 얻기 위해, 두 개의 순차적인 OFDM 심볼로 이루어진 모든 OFDM 심볼 페어에 대해 다른 인터리빙 시퀀스가 사용된다.
따라서 본 발명의 일 실시예에 따른 프리퀀시 인터리버는 심볼 페어에 대응하는 데이터들에 적용하기 위한 인터리빙 어드레스를 생성하기 위한 인터리빙 어드레스 제너레이터를 포함할 수 있다.
도 32는 본 발명의 일 실시예에 따른 각 FFT 모드에 따른 메인-PRBS 제너레이터와 서브-PRBS 제너레이터로 구성된 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타낸 도면이다.
(a)는 8K FFT 모드에 대한 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타내고, (b)는 16K FFT 모드에 대한 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타내고, (c)는 32K FFT 모드에 대한 인터리빙 어드레스 제너레이터의 블록 다이아그램을 나타낸다.
OFDM 심볼 페어에 대한 인터리빙 과정은 하나의 인터리빙 시퀀스를 이용하며 다음과 같이 설명된다. 우선, 하나의 OFDM 심볼 Om,l 에서 인터리빙 될 사용 가능한 데이터 셀(셀 매퍼로부터의 출력 셀)은
Figure PCTKR2016001995-appb-I000017
에 대해
Figure PCTKR2016001995-appb-I000018
로 정의된다. 이때 xm,l,pm번째 프레임에서 l번째 OFDM 심볼의 p번째 셀이고, Ndata 는 데이터 셀의 개수이다: 프레임 시그널링 심볼에 대해 Ndata = CFSS 이고, 노멀 데이터에 대해 Ndata = Cdata 이며, 프레임 엣지 심볼에 대해 Ndata = CFES 이다. 또한, 인터리빙된 데이터 셀은
Figure PCTKR2016001995-appb-I000019
에 대해
Figure PCTKR2016001995-appb-I000020
로 정의된다.
OFDM 심볼 페어에 대해, 인터리빙 된 OFDM 심볼 페어는 각 페어의 첫 번째 OFDM 심볼에 대해
Figure PCTKR2016001995-appb-I000021
로 주어지고, 각 페어의 두 번째 OFDM 심볼에 대해
Figure PCTKR2016001995-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은 일 실시 예에 따른 전자 장치의 블록도이다.
도 41을 참조하면, 전자 장치(100)는 제어부(110) 및 통신부(120)를 포함할 수 있다. 제어부(110)는 컴패니언 장치와 통신 연결을 수행할 수 있다. 그리고, 컴패니언 장치와 통신 연결이 되면 통신부(120)는 컴패니언 장치와 데이터를 송수신할 수 있다.
그리고, 제어부(110)는 네트워크 프로세서(111) 및 어플리케이션 프로세서(112)를 포함할 수 있다. 어플리케이션 프로세서(112)는 네트워크 프로세서(111)로 컴패니언 장치와 연결을 요청할 수 있다.
네트워크 프로세서(111)는 어플리케이션 프로세서(112)로 받은 연결 요청을 대기 상태로 둘 수 있다. 네트워크 프로세서(111)는 아직 컴패니언 장치와 연결이 되지 않았기 때문이다. 이후에 네트워크 프로세서(111)는 컴패니언 장치로부터 연결 요청을 수신할 수 있다. 네트워크 프로세서(111)는 컴패니언 장치로부터 수신한 정보를 기초로 매칭되는 어플리케이션 프로세서(112)의 연결 요청을 검색할 수 있다. 네트워크 프로세서(111)는 매칭되는 연결 요청을 검색하면 컴패니언 장치와 어플리케이션 프로세서(112)를 연결할 수 있다.
일 실시 예로서, 어플리케이션 프로세서(112)는 어플리케이션 모듈, 어플리케이션 브라우저일 수 있다. 또는, HbbTV 어플리케이션일 수 있다. 일 실시 예로서, 네트워크 프로세서(111)는 네트워크 모듈로 구현될 수 있다. 또는, 네트워크 프로세서(111)는 웹소켓 서버(WebSocket Server)일 수 있다. 네트워크 프로세서(111)는 어플리케이션 프로세서(112)와 컴패니언 장치를 연결해 줄 수 있다. 일 실시 예로서, 네트워크 프로세서(111)가 웹소켓 서버로 구현되는 경우, 어플리케이션 프로세서(112)와 컴패니언 장치는 각각 하나의 클라이언트라고 볼 수 있다. 다시 말해서, 웹소켓 서버가 제1 클라이언트와 제2 클라이언트를 연결해 줄 수 있다. 또는, 제1 클라이언트와 제2 클라이언트를 각각 피어(peer)라고 부를 수도 있다. 경우에 따라, 웹소켓 서버는 전자 장치 외부에 별도의 장치로서 구현될 수도 있다.
한편, 어플리케이션 프로세서(112)는 하나의 어플리케이션을 구동시킬 수 있다. 그리고, 컴패니언 장치도 하나의 어플리케이션을 구동시킬 수 있다. 어플리케이션 프로세서(112)는 네트워크 프로세서(111)를 통해 컴패니언 장치와 연결할 수 있다. 컴패니언 장치는 어플리케이션 프로세서(112)로부터 데이터를 수신하여 어플리케이션 프로세서(112)가 구동 중인 어플리케이션을 수신하여 구동시킬 수 있다. 또는, 어플리케이션 프로세서(112)와 컴패니언 장치는 각각 어플리케이션을 구동시킬 수 있다. 어플리케이션 프로세서(112)는 컴패니언 장치와 연결하여 컴패니언 장치와 데이터를 송수신할 수 있다. 이 경우, 전자 장치(100)와 컴패니언 장치는 어플리케이션 간 통신을 수행한다고 말할 수 있다.
웹소켓 서버는 중계기로 이용되고 어플리케이션 간의 통신 채널을 생성할 수 있다. 생성된 통신 채널은 전자 장치(100)와 컴패니언 장치 간 통신을 가능하게 할 수 있다. 웹소켓 서버는 통신 채널을 생성하기 위해 통신을 하고자 하는 어플리케이션 네임 아이디(application name id)와 어플리케이션 오리진 아이디(application origin id)를 이용하여 같은 정보를 요청하는 어플리케이션끼리 채널을 연결해 줄 수 있다. 일 실시 예로서, 상술한 방법은 HbbTV 2.0에서 웹소켓 API를 수정하지 않고 어플리케이션(클라이언트)와 어플리케이션(클라이언트)을 연결할 수 있다.
본 명세서에서는 각 용어를 혼용하여 사용하도록 한다.
도 42는 일 실시 예에 따른 제1 클라이언트의 연결을 설명하는 도면이다.
도 42를 참조하면, 전자 장치(100a)와 컴패니언 장치(200a)가 도시되어 있다. 전자 장치(100a)는 어플리케이션 프로세서와 네트워크 프로세서를 포함할 수 있다. 일 실시 예로서, 어플리케이션 프로세서는 HbbTV 어플리케이션 또는 제1 클라이언트일 수 있고, 네트워크 프로세서는 HbbTV 웹소켓 서버일 수 있다. 컴패니언 장치(200a)는 컴패니언 장치 프로세서를 포함할 수 있다. 일 실시 예로서, 컴패니언 장치 프로세서는 컴패니언 어플리케이션 또는 제2 클라이언트일 수 있다. 클라이언트 간의 연결을 수행하기 위해 웹소켓 서버는 변경이 필요할 수 있다. 아래에서는 웹소켓 서버의 변경과 관련된 동작을 설명한다. 변경된 웹소켓 서버는 HbbTV 2.0 TV에서 구동될 수 있다.
일반적으로 웹소켓 클라이언트는 연결을 하고자하는 원격 호스트 및 웹소켓 연결 업그레이드 헤더와 함께 초기 GET 요청시 그 호스트에서 원하는 서비스를 위한 상대적 URI를 지정할 수 있다. 그러나, HbbTV의 경우, 통신 연결을 위한 피어(peer)(예, 컴패니언 장치)가 아직 웹소켓 서버와 컨택되지 않을 수 있다. 따라서, 클라이언트 간 연결을 위한 제1 클라이언트로부터의 연결 요청은 대상 피어의 연결 요청이 있을 때까지 활성을 유지할 필요가 있다.
이러한 필요성 때문에 업그레이드 웹소켓 프로토콜 GET 요청은 특정 사용을 정의한 두 가지 필드를 포함할 수 있다. URI 요청(Request-URI)은 일반 접두사 스트링의 기 설정된 포맷을 가질 수 있다. 이 필드는 대응되는 통신 피어들을 매칭하는데 사용될 수 있다. 호스트 요청 헤더(Host request-header) 필드는 웹소켓 서버에서 동작하는 TV 셋을 언급(매칭 URI 요청을 가진 임의의 피어와 통신이 설립되는 경우)하거나 특정 컴패니언 장치를 언급(지정된 장치 및 매칭 URI 요청과 통신이 설립되는 경우)할 수 있다. 즉, 어플리케이션 프로세서는 네트워크 프로세서에서 동작하는 전자 장치 정보 또는 컴패니언 장치 정보를 나타내는 호스트 요청 헤더 정보를 네트워크 프로세서로 보낼 수 있다.
URI 요청을 위한 포맷은 아래의 ABNF 문법에 따를 수 있다.
HbbTV-Request-URI = "/hbbtv/" org-id "." app-id
org-id = 8HEX
app-id = 4HEX
URI 요청에 대응하여 웹소켓 서버는 스트림 헤드를 생성해야 하는데, 이것은 클라이언트에 의해 업그레이드 GET 요청에서 지원되는 URI 요청과 관련된 하프(half) 오픈 연결을 의미할 수 있다. 웹소켓 서버는 웹소켓 프로토콜 핸드쉐이크(handshake) 응답에 즉시 응답하는 대신, 다른 피어(peer)가 나타나길 기다리면서 제1 클라이언트의 대기 상태를 유지시킬 수 있다. 웹소켓 서버가 종료하길 희망하는 경우, 서버는 504 게이트웨이 타임아웃 응답(504 Gateway Timeout response)으로 반응할 수 있다.
클라이언트 간 연결을 요청할 때, 클라이언트는 Sec-웹소켓 프로토콜 헤더를 사용하지 않을 수 있다. 서버는 클라이언트 간 연결을 위한 요청 내의 Sec-웹소켓 프로토콜 헤더를 무시할 수도 있다. 클라이언트 간 연결 요청 내의 호스트 헤더 필드는 서버가 어태치(attached)되는 로컬 서브 네트워크 상의 어떤 장치도 지정하지 않으면, 서버는 403 금지 응답(403 Forbidden response)으로 반응할 수 있다. 모든 HbbTV 2.0 웹소켓 클라이언트는 HbbTV 2.0 웹소켓 서버로부터 클라이언트 간 연결을 요청하는 메소드를 사용할 수 있다.
도 43은 일 실시 예에 따른 제2 클라이언트의 연결을 설명하는 도면이다.
도 43을 참조하면, 전자 장치(100a)와 컴패니언 장치(200a)가 도시되어 있다. 전자 장치(100a)는 어플리케이션 프로세서와 네트워크 프로세서를 포함할 수 있다. 네트워크 프로세서(예, 웹소켓 서버)는 HbbTV 어플리케이션 및 컴패니언 어플리케이션으로부터 연결 요청을 수신할 수 있다.
다른 클라이언트가 상술한 메소드를 이용하여 클라이언트 간 연결을 요청할 때, 서버는 도 3에서 보는 바와 같이 새로운 요청을 위한 스트림 헤드를 생성할 수 있다. 새로운 스트림 헤드가 생성된 후, 서버는 URI 요청 및 새로 생성된 스트림 헤드외 매칭되는 호스트 헤더 필드 값을 위해 현재 연결 대기 중인 스트림 헤드의 집합을 검색할 수 있다. 어떠한 매칭도 발견되지 않으면 서버는 새로 생성된 스트림 헤드를 연결을 위해 대기 중인 스트림 헤드의 집합에 추가하고, 추가적인 클라이언트 간 연결 요청을 기다릴 수 있다.
도 44는 일 실시 예에 따른 제1 및 제2 클라이언트 간의 연결을 설명하는 도면이다.
도 44를 참조하면, 전자 장치(100a)와 컴패니언 장치(200a)가 도시되어 있다. 전자 장치(100a)는 어플리케이션 프로세서와 네트워크 프로세서를 포함할 수 있다. 네트워크 프로세서(예, 웹소켓 서버)는 HbbTV 어플리케이션 및 컴패니언 어플리케이션을 연결할 수 있다.
새로 생성된 스트림 헤드가 현재 연결을 위해 대기하는 스트림 헤드의 집합 내의 스트림 헤드로서 동일한 호스트 헤더 필드 값 및 동일한 URI 요청(Request-URI)과 연관되어 있다면, 웹소켓 서버는 그 집합으로부터 매칭되는 스트림 헤드를 제거하고, 두 개의 스트림 헤드 사이의 양 방향 통신 채널을 설립할 수 있다.
두 개의 스트림 헤드가 연결되면, 서버는 즉시 하나의 스트림 헤드로부터 수신한 모든 데이터를 출력하고, 각각 다른 스트림 헤드로 변경하지 않는다. 이렇게 함으로써, 두 클라이언트 간의 투명한 통신 채널(a transparent communications channel)이 설립될 수 있다.
두 클라이언트 중 하나가 클로즈 프레임(Close frame)을 전송하면, 서버는 다른 클라이언트에게 대응되는 클로즈 프레임을 전송할 수 있다. 두 클라이언트 중 하나가 클로즈 프레임을 전송하지 않고 연결을 해제하면, 서버는 클로즈 프레임을 생성하고 다른 클라이언트에게 전송할 수 있다.
즉, 네트워크 프로세서는 어플리케이션 프로세서의 연결 요청이 있을 때, 어플리케이션 프로세서의 스트림 헤드를 생성하여 스트림 헤드 그룹에 포함시킬 수 있다. 그리고, 네트워크 프로세서는 컴패니언 장치로부터 연결 요청을 받으면, 컴패니언 장치의 스트림 헤드를 생성하여 매칭되는 스트림 헤드의 존재 여부를 검색할 수 있다. 매칭되는 스트림 헤드가 존재하면, 네트워크 프로세서는 스트림 헤드 그룹으로부터 매칭되는 어플리케이션 프로세서의 스트림 헤드와 컴패니언 장치의 스트림 헤드를 연결할 수 있다. 이때, 네트워크 프로세서는 매칭된 어플리케이션 프로세서의 스트림 헤드 또는 컴패니언 장치의 스트림 헤드를 스트림 헤드 그룹으로부터 제거할 수 있다.
도 45는 일 실시 예에 따른 추가 연결 요청을 설명하는 도면이다.
도 45를 참조하면, HbbTV 어플리케이션(클라이언트)은 컴패니언 장치(200a)의 컴패니언 어플리케이션(클라이언트)과 연결되어 있다. 그리고, HbbTV 어플리케이션은 다른 클라이언트를 위한 다른 스트림 헤드를 생성할 수 있다. HbbTV 어플리케이션은 다른 어플리케이션과 추가로 연결될 수 있다. 스트림 헤드는 클라이언트 간의 연결을 설립 전에 연결 가능한 스트림 헤드 집합에서 제거되기 때문에 클라이언트 간의 연결은 일대일로 될 수 있다. 만일 클라이언트가 하나 이상의 다른 클라이언트와 통신을 원하면, 클라이언트는 처리 가능한 클라이언트 간의 연결 최대 갯수에 다다를 때까지 추가 연결 요청을 서버로 보낼 수 있다.
웹소켓 서버는 연결을 위해 대기하는 스트림 헤드 집합 상에서 동일한 URI 요청과 호스트를 가진 동일한 클라이언트를 위한 하나 이상의 스트림 헤드를 허락하지 않는다. 클라이언트가 하나의 성공적인 연결이나 타임 아웃 전에 동일한 URI 요청 및 호스트를 가진 다른 클라이언트와의 연결 요청을 발행하면, 서버는 403 금지 응답(403 Forbidden response)으로 반응할 수 있다.
클라이언트는 연결될 대기 상태에서 몇 가지 서로 다른 URI 요청/호스트 조합의 클라이언트 간의 연결 요청을 가질 수 있다. 클라이언트는 하나가 성공적으로 연결되거나 타임 아웃되기 전에 동일한 URI 요청/호스트 조합을 가지고 다른 클라이언트와의 연결을 요청하는 시도를 할 수 없다.
다른 것과 함께 수행되고 표준 웹소켓 서버 기능들을 사용하며 그들 간의 간섭이 없도록 하기 위해 특정 장치간 동작으로서 URI 요청을 위한 /hbbtv/orgid.appid 스킴(scheme)이 사용될 수 있다. URI 요청 및 호스트 헤더 필드의 매칭은 두 가지 접근 방법을 허용할 수 있다. 첫째, 특정 장치(클라이언트)가 호스트 헤더에 의해 타겟되면, 클라이언트는 그 타켓된 특정 클라이언트와 대화를 희망할 수 있다. 그것은 다른 수단(예, UPnP의 파트로서 SSDP)을 통해 그것의 존재에 대해 인식될 수 있다. 둘째, 호스트 헤더 필드가 서버를 타켓으로 한다면, 동일한 서버를 타켓팅하는 모든 클라이언트에게 동일할 수 있다. 이것은 URI 요청만이 적절한 통신 피어를 선택하기 위한 차별적인 요소임을 나타낸다. 이렇게 호스트 헤더 필드에서 효과적으로 서버를 타켓팅하는 것은 동일한 URI 요청을 사용하고 서버를 타켓팅하는 다른 클라이언트와 매칭되는 와일드카드를 제공할 수 있다. 전용적이고 기회적인 연결 설립 전략이 가능할 수 있다.
HbbTV 2.0 웹소켓 서버는 어떤 인증, 허가 또는 확인 과정을 수행하지 않기 때문에 클라이언트 간 연결이나 클라이언트와 웹 소켓 서버간의 신뢰성이 없을 수 있다. 개인 정보 또는 웹소켓 서버를 통한 민감한 정보를 교환하려는 클라이언트는 통신 프라이버시를 보증할 끝단 암호를 수행할 수 있다. 클라이언트는 웹소켓 서버를 통해 통신을 수행할 피어의 신원이나 진위를 설립할 암호화 방식을 수행할 수 있다. HbbTV 2.0 웹소켓 서버는 연결된 인터넷을 통해 표시된 클라이언트와 연결을 설립하기 때문에 HbbTV 웹소켓 서버를 통해 다른 클라이언트에 대한 성공적인 서비스 거부 공격(denial-of-service attack)을 받지 않을 수 있다. 공격받는 클라이언트는 서버에게 다른 클라이언트로 연결하라는 요청을 중지할 수 있다.
서버는 아직 연결되지 않은 URI 연결/호스트 컴비네이션에 동시 연결 시도를 거절하는 것으로 정의했기 때문에 서비스 거부 공격은 서버 자체에 대해 시도될 수도 있다. 이것은 에러 응답이 생성되도록 동일한 연결 요청을 반복적으로 전송하거나 많은 오픈 스트림 헤드를 생성하여 서버의 리소스를 소비하기 위한 하나의 시도로서 랜덤 연결 요청을 전송함으로써 행해질 수 있다. 두 기술은 HTTP 서버에 대한 일반적인 전략이고, 웹소켓이나 HbbTV 사용의 특정한 것은 아니다. 어떤 웹소켓 서버 실행은 적절한 경감 구조를 가질 수 있다. (예, 응답 전송이나 스트림 헤드의 생성을 중지시킴으로써)
도 46은 일 실시 예에 따른 IP 어드레스가 없는 경우 클라이언트 간의 연결을 설명하는 도면이다.
도 46을 참조하면, 클러이언트 간 통신 연결을 수행하는 방법이 도시되어 있다. 상술한 웹소켓 기반 어플리케이션 간 통신 방법은 웹 소켓 서버가 URI의 경로(호스트 네임을 제외한 나머지 경로, 즉 path)가 같은 어플리케이션끼리 연결시켜 어플리케이션 간 통신을 가능하게 할 수 있다. 클라이언트 간 통신은 전자 장치에서 구동되는 어플리케이션(예, TV 어플리케이션)과 컴패니언 장치에서 구동되는 어플리케이션(CS 어플리케이션)을 구분하여 선택적으로 어플리케이션 간 통신을 수행할 수 있다.
일 실시 예로서, HbbTV에 있어서 URI 요청(Request-URI)은 IP 어드레스를 포함하지 않고 구성할 수 있다. URI의 경로(path)는 루트("/")뒤에 HbbTV를 알리는 예약어("hbbtv")로 시작하고, 그 뒤에 기관 또는 회사 구분자(org-id)와 앱 구분자(app-id)로 구성될 수 있다. 웹소켓 서버(네트워크 프로세서)는 웹소켓 API 콜의 URI 경로가 같은 어플리케이션끼리 연결시켜 줄 수 있다.
신택스) GET "/hbbtv/"org-id"."app-id
실시예) GET/hbbtv/org.mychannel.myapp
한편, 연결을 요청하는 각 클라이언트는 같은 포트(port)를 사용할 수 있고 다른 포트를 사용할 수 있다. 클라이언트들이 같은 포트를 사용하는 경우, 웹소켓 API를 호출하는 어플리케이션의 IP가 같은 경우, 웹소켓 서버는 호출하는 어플리케이션이 HbbTV 어플리케이션임을 알 수 있고, IP가 다른 경우 컴패니언 장치 어플리케이션임을 알 수 있다. 같은 포트를 사용하는 경우, 웹소켓 서버는 서버 실행과 테스트를 간소화할 수 있고, 디스커버리가 불필요한 장점이 있다. (With most WebSocket libraries, need to start a different instance per port. Single port drastically simplifies server implementation and test. No discovery needed if app-2-app server listens on well-defined port on the TV.)
다음으로 클라이언트들이 다른 포트를 사용하는 경우를 설명한다. 이 경우에는 TV에서 구동하는 어플리케이션과 컴패니언 장치에서 구동하는 어플리케이션이 같은 URI 경로를 사용하지만, 서로 다른 포트를 쓰는 경우를 의미한다. 일 실시 예로서, TV에서 구동하는 HbbTV 어플리케이션은 8900 포트를 사용하고, 컴패니언 장치에서 구동하는 어플리케이션은 8901 포트를 사용할 수 있다. 웹소켓 서버가 TV 어플리케이션/컴패니언 어플리케이션이 사용하는 포트를 알면 TV 어플리케이션/컴패니언 어플리케이션 간 통신, 컴패니언 어플리케이션/컴패니언 어플리케이션 간 통신을 구분할 수 있다. 다른 포트를 사용할 때, 서로 같은 호스트 요청-헤더를 사용하여 여러 개의 컴패니언 장치가 TV로 연결될 경우, 이를 구분하여 클라이언트 간을 용이하게 연결할 수 있다. TV와 컴패니언 장치 모두가 호스트 요청-헤더는 같지만 웹소켓 서버에 서로 다른 포트를 통해 접속하여 통신하기 때문에 어느 장치가 컴패니언 장치인지 TV인지 알 수 있다. 이에 따라, 보안 측면에서 보완할 수 있다.
도 47은 일 실시 예에 따른 어플리케이션 간의 연결을 위한 대기 연결을 설명하는 도면이다.
도 47을 참조하면, 전자 장치(100a)와 컴패니언 장치(200a)가 도시되어 있다. 전자 장치(100a)의 TV 어플리케이션은 웹 소켓 서버로 연결 요청을 전송할 수 있다. TV 어플리케이션은 전자 장치 내에 포함되어 있으므로 웹소켓 서버는 TV 어플리케이션을 로컬 어플리케이션으로 인식할 수 있다. 그리고, 컴패니언 어플리케이션은 전자 장치 외부에 존재하므로 웹소켓 서버는 컴패니언 어플리케이션을 원결 어플리케이션으로 인식할 수 있다. 일 실시 예로서, 어플리케이션은 연결 요청을 할 때 다음과 같은 메소드를 사용할 수 있다.
String getApp2AppLocalBaseURL()
Description Returns the base URL of the application to application communication service local end-point.
Arguments No arguments
String getApp2AppRemoteBaseURL()
Description Returns the base URL of the application to application communication service remote end-point.
Arguments No arguments
일 실시 예로서, 네트워크 프로세서는 W3C 웹소켓 API를 실행할 수 있고 최소 200개의 동시 웹소켓 연결을 지원할 수 있다.
네트워크 프로세서는 웹소켓 프로토콜 사양의 서버 측에서 실행하는 두 가지 서비스 엔드 포인트를 제공할 수 있다. 로컬 엔드 포인트는 HbbTV 어플리케이션에 의해 네트워크 프로세서로의 연결을 위한 것이다. 원격 엔드 포인트는 다른 장치의 어플리케이션에 의해 홈 네트워크에 연결될 수 있고, 다른 HbbTV 장치에서 구동하는 원격 컴패니언 어플리케이션 또는 HbbTV 어플리케이션을 포함하기 위한 것이다. HbbTV 어플리케이션은 그들이 동작하는 네트워크 프로세서의 로컬 서비스 엔드 포인트나 동일한 홈 네트워크 상의 다른 하이브리드 터미널의 원격 서비스 엔드 포인트에 연결될 수 있다. 네트워크 프로세서는 홈 네트워크 내의 다른 장치의 로컬 서비스 엔드 포인트에 연결하지 않는 편이 낫다. 예를 들어, 네트워크 프로세서의 로컬 루프백 인터페이스의 로컬 서비스 엔드 포인트를 위치시킴으로써 이룰 수 있다. 다른 서비스 엔드 포인트가 웹소켓 프로토콜 사양의 서버 측을 실행하고 HbbTV 어플리케이션이나 컴패니언 어플리케이션이 그러한 서비스 엔드 포인트를 사용하면 하이브리드 터미널은 다른 서비스 엔드 포인트로서 동일한 호스트 및 포트 조합에서 서비스 엔드 포인트를 위치시키서는 안 된다.
어플리케이션 간 서비스 엔드 포인트를 위한 기본 URL은 웹소켓 URL일 수 있다. 웹소켓 URL은 호스트, 포트, 보안 및 서비스 엔드 포인트의 리소스 네임을 정의할 수 있다. 클라이언트는 서비스 엔드 포인트의 웹소켓 URL에 의해 명시된 호스트와 포트에 연결해야 한다. 클라이언트에 의해 최초 프로토콜 요청에서 사용되는 리소스 네임은 ABNF 문법에 따른다.
resource-name = base-url-resource-name app-endpoint
base-url-resource-name은 서비스 엔드 포인트의 웹소켓 URL으로부터 도출된 리소스 네임이다. app-endpoint는 어플리케이션 사양이다. 이것은 클라이언트로부터 대응되는 클라이언트의 연결 매칭 프로세스에 사용될 수 있다. 대응되는 클라이언트의 메시지는 웹 소켓 프로토콜을 통해 전달될 수 있다. app-endpoint는 충돌을 피하기 위해 어플리케이션 디벨로퍼에 의해 선택될 수 있다. 따라서 app-endpoint는 HbbTV 어플리케이션 또는 컴패니언 어플리케이션 및 그것의 디벨로퍼와 독특하게 연관된 리버스 DNS 표기로 형식화된 식별자로 시작할 수 있다. 하이브리드 터미널은 최소 1000 문자의 길이와 웹 소켓 프로토콜 사양에 의해 리소스 네임에서 허용된 어떤 문자를 포함하는 app-endpoint를 지원할 수 있다.
서비스 엔드 포인트는 클라이언트로부터 최소 10개의 동시 TCP 소켓 연결을 지원할 수 있다. 클라이언트가 서버와 TCP 소켓 연결을 오픈하기 위해 노력할 때, 서버는 서버가 동시 연결을 다룰 수 없으면 요청을 거절할 수 있다. 그렇지 않으면, 서버는 TCP 소켓 연결을 승인하고, TCP 소켓 연결을 웹소켓 프로토콜 핸드쉐이크를 시작할 수 있다. 서버는 클라이언트 요청 핸드쉐이크를 수신하지만 서버는 핸드쉐이크 응답으로 즉시 응답하지 않을 수 있다. 대신 서버는 연결이 페어링될 때까지 또는 클라이언트의 연결이 해제될 때까지 기다릴 수 있다. 이 상태에서 연결은 대기 연결을 구성할 수 있다. 서버가 타임 아웃을 실행하려는 경우, 서버는 504 게이트웨이 타임아웃 응답으로 반응할 수 있다.
서버는 클라이언트에 의해 전송된 요청 핸드쉐이크의 어떤 오리진(origin) 헤더를 무시할 수 있다. 클라이언트는 클라이언트 간의 연결을 요청할 때 Sec-웹소켓-프로토콜 헤더를 사용하지 않을 수 있다. 서버는 클라이언트 간의 연결을 위한 요청에서 Sec-웹소켓-프로토콜 헤더를 무시할 수 있다. 서버는 Sec-웹소켓-프로토콜 헤더를 사용하는 프로토콜 확장을 위한 클라이언트 요청을 승인하지 않을 수 있다. 클라이언트가 Sec-웹소켓 확장 헤더를 사용하면 서버는 웹소켓 프로토콜 사양에서 정의된 방식으로 연결하지 못할 수 있다.
도 47에서 도시된 바와 같이, 클라이언트로 동작하는 HbbTV 어플리케이션이 "org.mychannel.myapp"의 app-endpoint와 /hbbtv/의 base-url-resource-name을 가지는 로컬 서비스 엔드 포인트와 연결을 시도할 수 있다. 컴패니언 장치와의 연결은 컴패니언 어플리케이션이 아직 동일한 app-endpoint를 사용하는 어플리케이션 간의 통신에 연결하지 못했기 때문에 대기 상태를 유지할 수 있다.
도 48은 일 실시 예에 따른 제2 클라이언트와 연결을 위한 새로운 연결 요청을 설명하는 도면이다.
도 48을 참조하면, HbbTV 어플리케이션(클라이언트)은 컴패니언 장치(200a)의 컴패니언 어플리케이션(클라이언트)과 연결되어 있다. 그리고, HbbTV 어플리케이션은 다른 클라이언트를 위한 다른 스트림 헤드를 생성할 수 있다.
서버는 동일한 app-endpoint를 가지는 동일한 본래 IP 어드레스로부터 하나 이상의 동시 대기 연결을 허락할 수 없다. 성공적으로 연결되거나 종료되기 전에 해당하는 IP 어드레스의 클라이언트가 동일한 app-endpoint를 사용하는 다른 연결 요청을 발행하면 서버는 403 금지 응답으로 반응할 수 있다.
클라이언트는 다른 리소스-네임 조합을 사용하는 동일한 서비스 엔드포인트를 통해 멀티플 동시 클라이언트 간의 연결을 설립하길 희망할 수 있다. 클라이언트는 존재하는 서비스 엔드포인트로의 연결 대기가 성공적으로 연결되거나 타임아웃되거나 연결 해제되기 전에 서비스 엔드포인트로 다른 연결의 요청을 시도할 수 없다. 이러한 클라이언트의 동작은 웹소켓 프로토콜 사양에 의해 정의될 수 있다.
도 8에 따르면, 만일 클라이언트가 하나 이상의 클라이언트와 통신하길 희망하면, 클라이언트는 존재하는 대기 연결이 페어링될 때가지 대기할 수 있다. 이때, 처리 가능한 클라이언트 간의 연결 최대 숫자에 다다를 때까지 추가 연결 요청을 서버로 발행될 수 있다. 즉, HbbTV 어플리케이션은 어플리케이션 간 통신의 설립을 허락하기 위한 새로운 대기 연결 요청을 생성할 수 있다.
한편, 클라이언트는 URI 경로에 IP 어드레스를 포함시킬 수도 있다.
도 49는 일 실시 예에 따른 IP 어드레스를 포함하는 경우 제1 클라이언트의 설정을 설명하는 도면이다.
일 실시 예로서, 상술한 URI 경로(path)는 루트("/") 뒤에 HbbTV를 알리는 예약어("hbbtb")로 시작하고, 그 뒤에 기관/회사 구분자(org-id)와 어플리케이션 구분자(app-id)로 구성될 수 있다. 어플리케이션 간의 통신을 수행하고자 하는 어플리케이션이 타겟 어플리케이션을 지정하기 위해 URI의 경로에 타겟 어플리케이션이 구동중인 장치의 IP 어드레스를 추가할 수 있다. 웹소켓 서버는 웹소켓 API 콜의 URI 경로가 같은 어플리케이션 중 서로 통신하고자 하는 IP에 따라 연결시켜 줄 수 있다.
신택스) GET "/hbbtv/" target IP "/" org-id "." app-id
실시예) GET /hbbtv/1.1.1.1/org.mychannel.myapp
일 실시 예로서, TV 어플리케이션 A가 IP 1.1.1.1에서 구동 중이고, 컴패니언 어플리케이션 B가 IP 1.1.1.2(제1 사용자 단말기), 컴패니언 어플리케이션 C가 IP 1.1.1.3(제2 사용자 단말기)에서 구동 중일 수 있다. 이때, TV 어플리케이션 A가 컴패니언 어플리케이션 C와 서로 통신하려고 할 수 있다. TV 어플리케이션 A는 WebSocket 요청에 포함되는 URI의 경로에 컴패니언 어플리케이션 C가 구동 중인 IP(1.1.1.3)를 포함시킬 수 있다. 그리고, 컴패니언 어플리케이션 C는 웹소켓 요청에 포함되는 URI의 경로에 TV 어플리케이션 A의 IP(1.1.1.1)을 포함시킬 수 있다.
도 49에 따르면, URI 경로는 hbbtv/192.0.2.7/org.mychannel.myapp HTTP/1/1과 같을 수 있다. 여기서 192.0.2.7은 타겟 어플리케이션의 IP 어드레스일 수 있다. 192.0.2.110은 자신의 IP 어드레스일 수 있다. 그리고, org.mychannel.myapp는 어플리케이션 ID일 수 있다.
도 50은 일 실시 예에 따른 IP 어드레스를 포함하는 경우 제1 및 제2 클라이언트의 설정을 설명하는 도면이다.
웹소켓 서버는 각각의 클라이언트로부터 도 49에서 설명한 URI 요청을 수신할 수 있다. 도 50을 참조하면, 192.0.2.110의 IP 어드레스를 가지는 제1 클라이언트와 192.0.2.7의 IP 어드레스를 가지는 제2 클라이언트가 있다. 제1 클라이언트가 제2 클라이언트로 연결을 요청하는 경우, 출발지(From Host)는 192.0.2.110이고, 도착지(To Host)는 192.0.2.7이 된다. 그리고, 어플리케이션 ID는 org.mychannel.myapp일 수 있다. 제2 클라이언트가 제1 클라이언트로 연결을 요청하는 경우, 출발지(From Host)는 192.0.2.7이고, 도착지(To Host)는 192.0.2.110이 된다. 그리고, 어플리케이션 ID는 org.mychannel.myapp일 수 있다. 즉, 제1 클라이언트와 제2 클라이언트의 출발지와 목적지 주소는 서로 반대될 수 있다. 그러나, 어플리케이션 ID는 동일하다. 웹소켓 서버는 매칭되는 클라이언트를 서로 연결시켜 줄 수 있다.
또한, 호스트 IP 어드레스를 포함하는 URI 경로가 사용될 수도 있다.
예를 들어, URI 경로는 Syntax) GET "/"hbbtv"/" host_address"/"org-id "." app-id,
실시예) GET /hbbtv/192.0.2.7/org.mychannel.myapp 와 같이 사용될 수 있다.
도 51은 IP 어드레스를 포함하는 경우 복수의 제2 클라이언트에 연결하는 일 실시 예를 설명하는 도면이다.
도 51을 참조하면, HbbTV는 일정한 IP 어드레스를 가지고, org.mychannel.myapp의 어플리케이션 ID를 포함하고 있다. 제1 컴패니언 어플리케이션 IP 어드레스는 192.0.2.7이고, 제2 컴패니언 어플리케이션 IP 어드레스는 192.0.2.1이다. 제1 및 제2 컴패니언 어플리케이션의 어플리케이션 ID는 org.mychannel.myapp이다. 도 50에서 설명한 바와 같이, 웹소켓 서버는 매칭되는 클라이언트를 서로 연결시켜 줄 수 있다. 따라서, 각 클라이언트들의 요청에 대응하여 웹소켓 서버는 매칭되는 클라이언트들을 서로 연결시켜 줄 수 있다.
이와 같이, URI 경로에 IP 어드레스를 사용하는 경우, 양 클라이언트는 연결 대상을 지정하기 때문에 보안성이 향상되고, 클라이언트 간 연결이 가능하며, 별도의 노력없이 모든 정보의 매칭이 가능하다는 장점이 있다. 한편, URI 경로에 IP 어드레스를 사용하는 경우에도 각 클라이언트는 동일한 포트를 사용할 수 있고, 서로 다른 포트를 사용할 수도 있다.
도 52는 일 실시 예에 따른 전자 장치의 제어 방법의 흐름도이다.
도 52에 따르면, 전자 장치는 컴패니언 장치와 연결할 수 있다(S1210). 전자 장치는 네트워크 프로세서와 어플리케이션 프로세서를 포함할 수 있다. 전자 장치는 어플리케이션 프로세서가 네트워크 프로세서로 컴패니언 장치와의 연결을 요청할 수 있다. 네트워크 프로세서는 컴패니언 장치로부터 연결 요청을 받으면, 연결 요청한 어플리케이션 프로세서와 컴패니언 장치를 연결할 수 있다.
상술한 바와 같이, 어플리케이션 프로세서는 어플리케이션 모듈, 어플리케이션 브라우저일 수 있다. 또는, HbbTV 어플리케이션일 수 있다. 네트워크 프로세서는 네트워크 모듈로 구현될 수 있다. 또는, 네트워크 프로세서는 웹소켓 서버(WebSocket Server)일 수 있다. 네트워크 프로세서가 웹소켓 서버로 구현되는 경우, 어플리케이션 프로세서와 컴패니언 장치는 각각 하나의 클라이언트라고 볼 수 있다. 또는, 제1 클라이언트와 제2 클라이언트를 각각 피어(peer)라고 부를 수도 있다.
어플리케이션 프로세서는 네트워크 프로세서에서 동작하는 전자 장치 정보 또는 컴패니언 장치 정보를 나타내는 호스트 요청 헤더 정보를 네트워크 프로세서로 전송할 수 있다. 그리고, 네트워크 프로세서는 어플리케이션 프로세서의 연결 요청이 있을 때, 어플리케이션 프로세서의 스트림 헤드를 생성하여 스트림 헤드 그룹에 포함시킬 수 있다. 네트워크 프로세서는 컴패니언 장치로부터 연결 요청을 받으면, 컴패니언 장치의 스트림 헤드를 생성하여 스트림 헤드 그룹으로부터 매칭되는 어플리케이션 프로세서의 스트림 헤드와 연결할 수 있다. 이때, 네트워크 프로세서는 매칭된 어플리케이션 프로세서의 스트림 헤드 또는 컴패니언 장치의 스트림 헤드를 스트림 헤드 그룹으로부터 제거할 수 있다. 한편, 어플리케이션 프로세서는 연결하려는 컴패니언 장치의 IP 어드레스를 전송할 수 있으며, 각각의 어플리케이션들은 동일한 포트를 이용할 수 있다.
전자 장치는 컴패니언 장치와 데이터를 송수신할 수 있다(S1220). 이와 같은 과정을 통해, 전자 장치는 컴패니언 장치와 연결하여 통신을 수행할 수 있다.
본 명세서에 따른 전자 장치 및 제어 방법은 상술한 실시 예들의 구성과 방법으로 한정되어 적용되는 것이 아니라, 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 다양한 변형이 이루어질 수 있다.
도 53는 본 발명의 일 실시예에 따른 메인 피지컬 디바이스 (Main Physical Device) 및 컴페니언 피지컬 디바이스 (Companion Physical Device)의 구성을 나타낸 도면이다.
본 발명의 일 실시예는 지상파 방송 또는 모바일 방송 환경에서 서비스 가이드 (service guide)를 제공할 수 있다. 또한, 본 발명의 일 실시예는 지상파 방송망과 인터넷망의 연동을 기반으로 하는 차세대 하이브리드 방송 환경에서 가능할 수 있는 서비스에 대한 서비스 가이드를 제공할 수 있다.
본 발명의 일 실시예는 차세대 하이브리드 방송 시스템에서 제공할 수 있는 다양한 서비스와 이를 구성하는 content 및/또는 component 요소들을 사용자에게 알려줄 수 있다. 이를 통하여, 사용자가 해당 서비스를 확인, 선택 및 감상하는데 편의를 제공할 수 있다.
본 발명의 일 실시예는 하나의 서비스와 이를 구성하는 다양한 content 및/또는 component 요소들을 구조화하고 상호간 연계 (reference)시켜줄 수 있다. 이를 통하여, 방송 수신기는 해당 서비스를 용이하게 구성하고 제공할 수 있고, 사용자로 하여금 해당 서비스에 대한 쉽게 파악할 수 있도록 할 수 있다.
본 발명의 일 실시예는 하나의 서비스와 이를 구성하는 다양한 content 및/또는 component 요소들을 연계시키는 reference 구조를 확장함으로써 방송 수신기 및/또는 사용자로 하여금 하나의 서비스를 구성하는 content 및/또는 component 요소들을 검색하는데 소요되는 resource 및/또느 시간을 절약하도록 할 수 있다.
이 도면은 본 발명의 일 실시예에 따른 메인 피지컬 디바이스 및 컴페니언 피지컬 디바이스의 전체적인 구성을 나타낸 도면이다.
본 발명의 일 실시예에 따른 메인 피지컬 디바이스 (main physical device, L25010)은 interactive service를 위한 디바이스 중 하나로서, 주로 컴페니언 피지컬 디바이스 (companion physical device, L25020)에 의한 제어 대상이 되는 기기를 나타낼 수 있다. 메인 피지컬 디바이스는 메인 디바이스, 메인 수신 장치, 메인 수신기, 메인 디스플레이, 메인 스크린 등으로 명명될 수 있다.
본 발명의 일 실시예에 따른 메인 피지컬 디바이스 (L25010)는 broadcast interface (L25030), network interface (L25040), memory unit (L25050), control unit (L25060), display unit (L25070), multimedia module (L25080), storage (L25090), power supply (L25100) 및/또는 user input interface (L25110)를 포함할 수 있다.
broadcast interface (L25030)는 broadcaster와 디바이스 사이에 AV stream, service guide, notification 등의 message 및/또는 데이터 전송을 가능하게 해주는 물리적 장치를 나타낼 수 있다. broadcast interface는 broadcaster로부터 방송 신호, 시그널링 정보, 데이터 등을 수신할 수 있다.
network interface (L25040)는 디바이스들 (예를 들어, 메인 피지컬 디바이스와 컴페니언 피지컬 디바이스) 사이에 command, request, action, response 등의 message, advertise 및/또는 데이터 전송을 가능하게 해주는 물리적 장치를 나타낼 수 있다. network interface는 internet service provider로부터 방송 서비스, 방송 컨텐츠, 시그널링 정보, 어플리케이션, 데이터 등을 수신할 수 있다.
memory unit (L25050)는 다양한 종류의 디바이스에서 구현되는 선택적인 장치로서, 다양한 종류의 데이터를 임시적으로 저장할 수 있는 휘발성 성질의 물리적 장치를 나타낼 수 있다.
control unit (L25060)은 source device 및/또는 sink device의 전반적인 동작을 제어하는 장치로서 소프트웨어 또는 하드웨어일 수 있다. 여기서, source device는 message 및/또는 데이터를 전송하는 디바이스를 나타낼 수 있고, sink device는 message 및/또는 데이터를 수신하는 디바이스를 나타낼 수 있다. 따라서, 본 발명의 일 실시예에 따른 메인 피지컬 디바이스 및 컴페니언 피지컬 디바이스는 source device 또는 sink device에 해당할 수 있다.
display unit (L25070)은 network interface를 통해 수신된 데이터 또는 storage에 저장되어 있는 데이터를 화면상에 디스플레이할 수 있다. 이 때, display unit은 control unit의 제어에 의해 동작할 수 있다.
multimedia module (L25080)은 다양한 종류의 멀티미디어를 재생할 수 있다. multimedia module은 control unit에 포함될 수 있고, control unit과 별개로 존재할 수 있다.
storage (L25090)는 다양한 종류의 데이터를 저장할 수 있는 비휘발성 성질의 물리적 장치를 나타낼 수 있다. 예를 들어, SD 카드가 storage에 해당할 수 있다.
power supply (L25100)는 control unit의 제어에 의하여, 외부의 전원 및/또는 내부의 전원을 인가 받아 다른 구성 요소들의 동작에 필요한 전원을 공급해주는 장치를 나타낼 수 있다.
user input interface (L25110)는 user로부터 명령 등의 입력을 수신할 수 있는 장치를 나타낼 수 있다.
본 발명의 일 실시예에 따른 컴페니언 피지컬 디바이스 (companion physical device, L25020)은 interactive service를 위한 디바이스 중 하나로서, 메인 디바이스를 제어하는 기기를 나타낼 수 있다. 컴페니언 피지컬 디바이스는 주로 사용자로부터 직접 input을 입력받을 수 있다. 컴페니언 피지컬 디바이스는 컴페니언 디바이스, 세컨드 디바이스, 부가 디바이스, 보조 디바이스, 컴페니언 수신 장치, 컴페니언 수신기, 컴페니언 디스플레이, 세컨드 스크린 등으로 명명될 수 있다.
본 발명의 일 실시예에 따른 컴페니언 피지컬 디바이스 (L25020)는 network interface, memory unit, control unit, display unit, multimedia module, storage, power supply 및/또는 user input interface 를 포함할 수 있다.
본 발명의 일 실시예에 따른 컴페니언 피지컬 디바이스를 구성하는 구성 요소들 중에 메인 디바이스를 구성하는 구성 요소와 동일한 명칭의 구성요소는 전술한 메인 디바이스를 구성하는 구성 요소와 동일한 기능을 할 수 있다.
도 54은 본 발명의 일 실시예에 따른 하이브리드 방송 서비스를 지원하기 위한 프로토콜 스택을 나타낸 도면이다.
Physical layer는 지상파 방송 신호를 수신하고 이를 적절한 형태로 변환할 수 있다.
IP (Internet Protocol) Encapsulation은 Physical layer로부터 획득된 정보를 이용하여 IP 데이터그램을 획득할 수 있다. 또한, 획득된 IP 데이터그램을 특정 프레임 (예를 들어, RS Frame, GSE 등)으로 변환할 수 있다.
MPEG-2 TS Encapsulation은 Physical layer로부터 획득된 정보를 이용하여 MPEG-2 TS을 획득할 수 있다. 또한, 획득된 MPEG-2 TS 데이터그램을 특정 프레임 (예를 들어, RS Frame, GSE 등)으로 변환할 수 있다.
FIC (fast information channel)는 서비스 및/또는 컨텐츠에 접근할 수 있도록 하기 위한 정보 (예를 들어, 서비스 ID와 프레임 간의 매핑 정보 등)를 전달할 수 있다.
Signaling은 서비스 및/또는 컨텐츠의 효과적인 획득을 지원하기 위한 시그널링 정보를 포함할 수 있다. 시그널링 정보는 바이너리 및/또는 XML 형태로 표현될 수 있고 지상파 방송망 및/또는 broadband를 통하여 전송될 수 있다.
실시간 방송 A/V (Audio/Video) 컨텐츠 및 Data는 ISO Base Media File Format (ISOBMFF) 등으로 표현 될 수 있고 지상파 방송망 및/또는 브로드밴드를 통하여 실시간으로 전송될 수 있다. 비실시간 컨테츠는 IP/UDP/FLUTE를 기반으로 전송될 수 있다. 그리고, 실시간 방송 A/V (Audio/Video) 컨텐츠, Data 및/또는 시그널링 정보는 DASH 등을 이용하여 인터넷망을 통해 실시간으로 전송될 수 있다. 이 때, 실시간 방송 A/V (Audio/Video) 컨텐츠, Data 및/또는 시그널링 정보는 요청에 의해 전송될 수 있고, 아니면 실시간 스트리밍에 의해 전송될 수 있다.
본 발명의 일 실시예는 상술한 프로토콜 스택을 거쳐 전달받은 데이터를 조합하여 Interactive 서비스, second screen 서비스 등의 다양한 enhanced service를 시청자에게 제공할 수 있다.
도 55 은 본 발명의 일 실시예에 따른 UPnP 방식의 액션(Action) 메커니즘을 도시한 도면이다.
먼저, 본 발명에서의 기기간 커뮤니케이션에 대하여 설명한다.
기기간 커뮤니케이션이란, 기기간에 메시지/명령(command)/콜(call)/액션(action)/요청(request)/응답(response) 를 교환하는 것을 의미할 수 있다.
기기간에 메시지를 원하는 대상 기기에 안정적으로 전달하기 위하여, IP (Internet Protocol) 뿐 아니라 ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol) 등의 다양한 프로토콜이 적용될 수 있다. 이 때, 본 발명은 특정 프로토콜에 국한되지 아니한다.
기기간 커뮤니케이션에 사용되는 메시지에 다양한 정보를 담기 위하여, HTTP (Hypertext Transfer Protocol), RTP (Real-time Transport Protocol), XMPP (Extensible Messaging and Presence Protocol), FTP (File Transfer Protocol) 등의 다양한 프로토콜이 적용될 수 있다. 이 때, 본 발명은 특정 프로토콜에 국한되지 아니한다.
기기간 커뮤니케이션에 사용되는 메시지를 전달할 때, 각 프로토콜이 정의하는 메시지 헤더/메시지 바디 등의 다양한 컴포넌트가 활용될 수 있다. 즉, 각 메시지 컴포넌트에 데이터가 저장되어 전달될 수 있으며, 특정 메시지 컴포넌트에 국한되지 아니한다. 또한, 메시지에 의해 전달되는 데이터는 각 프로토콜이 정의하는 다양한 타입(string, integer, floating point, boolean, character, array, list 등) 으로 전달될 수 있다. 복잡한 내용의 데이터를 구조적으로 표현/전달/저장하기 위해 XML (Extensible Markup Language), HTML (Hypertext Markup Language), XHTML (Extensible Hypertext Markup Language), JSON (JavaScript Object Notation) 등의 마크업(Markup) 방식 혹은 텍스트, 이미지 포맷 등이 적용될 수 있다. 이 때, 본 발명은 특정 방식에 국한되지 아니한다.
또한, 기기간 기기간 커뮤니케이션에 사용되는 메시지는 데이터를 압축하여 전달할 수 있는데, 본 발명은 특정 방식의 압축기술을 적용하는 것에 국한되지 아니한다.
전술한 본 발명에서의 기기간 커뮤니케이션에 대한 설명 중, 한가지 방식인 UPnP 방식에 대하여 설명한다. UPnP 방식은 전술한 기기간 커뮤네케이션에 관한 설명 중에서, IP-TCP/UDP-HTTP의 프로토콜이 조합된 경우에 해당할 수 있다.
도시된 본 발명의 일 실시예에 따른 UPnP 방식의 액션(Action) 메커니즘이란, UPnP 컨트롤 포인트와 UPnP 디바이스 간의 커뮤니케이션 매커니즘을 의미할 수 있다. 여기서 UPnP 컨트롤 포인트(t87010) 은 HTTP 클라이언트일 수 있고, UPnP 디바이스(t87020) 은 HTTP 서버일 수 있다. UPnP 컨트롤 포인트(t87010) 는 액션이라 불리우는 일종의 메시지를, UPnP 디바이스(t87020) 에 전달하여, UPnP 디바이스(t87020) 가 특정한 동작을 수행하도록 할 수 있다.
여기서, UPnP 컨트롤 포인트(t87010) 과 UPnP 디바이스(t87020) 은 페어링되어 있을 수 있다. 페어링은 각 디바이스들 간에 디스커버리 및 디스크립션 전달과정을 통해 수행될 수 있다. UPnP 컨트롤 포인트는 페어링 과정을 통해 컨트롤 URL 을 획득할 수 있다.
UPnP 컨트롤 포인트(t87010) 는 각 액션을 XML 의 형태로 표시할 수 있다. UPnP 컨트롤 포인트(t87010) 는 HTTP 에서 정의한 POST 메쏘드(t87030) 를 이용하여, 획득한 컨트롤 URL로 전달할 수 있다. 각 액션은 일종의 메시지로 실제 전달하고자 하는 데이터일 수 있으며, 이는 HTTP POST 메시지 바디에 XML 형태로 전달될 수 있다. 여기서, 각 액션은 이름(Name) 과, 아규먼트(arguments), 관련 데이터 들을 포함할 수 있다. HTTP POST 메시지 바디는, 각 액션의 이름 및/또는 아규먼트를 전달할 수 있다.
이 때, 각 액션은 같은 컨트롤 URL 로 전달될 수 있다. UPnP 디바이스(t87020) 는 전달받은 액션을 XML 파서(parser) 를 이용하여 파싱을 수행할 수 있다. UPnP 디바이스(t87020) 는 파싱한 각 액션에 따라 해당 동작을 수행할 수 있다.
UPnP 프로토콜의 경우, 각 액션이 이름(Name)에 의해 정의되어 사용될 수 있다. 또한, HTTP POST 메시지 바디에 액션 이름(Name) 도 함께 전달되기 때문에, 대상 기기에 대한 URL이 하나만 존재하고, HTTP POST 메쏘드 역시 하나만 사용되어도, 무한한 종류의 액션의 교환이 가능할 수 있다.
도 56 은 본 발명의 일 실시예에 따른 REST 메커니즘을 도시한 도면이다.
전술한 본 발명에서의 기기간 커뮤니케이션에 대한 설명 중, 한가지 방식인 REST 방식에 대하여 설명한다.
도시된 본 발명의 일 실시예에 따른 REST 메커니즘이란, REST 클라이언트(t88010) 과 REST 서버(t88020) 간의 커뮤니케이션 매커니즘을 의미할 수 있다. 여기서 REST 클라이언트(t88010) 은 HTTP 클라이언트일 수 있고, REST 서버(t88020) 은 HTTP 서버일 수 있다. 전술한 것과 마찬가지로, REST 클라이언트는 액션이라 불리우는 일종의 메시지를, REST 서버(t88020) 에 전달하여, REST 서버(t88020) 가 특정한 동작을 수행하도록 할 수 있다.
본 실시예에서, REST 클라이언트(t88010) 는 각 액션을 URI 를 통하여 REST 서버(t88020) 에 전달할 수 있다. 각 액션에는 액션 이름(Name) 이 필수적이지 않을 수 있다. 각 액션은 아규먼트들과 데이터만을 포함할 수 있다.
여기서, HTTP 메쏘드 중 POST 뿐 만 아니라, GET, HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH 등의 여러 메쏘드가 활용될 수 있다. 또한, 커뮤니케이션을 행할 대상 기기에 접근할 URI 가 복수개가 정의될 수 있다. 이러한 특징들로 인하여, 액션 이름의 정의없이도 액션이 전달될 수 있다. 이러한 REST 방식에 필요한 복수의 URI 값은 디스커버리 혹은 디스크립션 전달 과정에서 획득될 수 있다.
전달이 필요한 데이터 또는 아규먼트들이, 해당 URI 에 부가되어(appended) 전달될 수 있고, 또는 HTTP 바디에 다양한 형태(XML, JSON, HTML, TEXT, IMAGE,…..)로 포함되어 전달될 수 있다.
REST 서버(t88020) 는 전달받은 액션에 따라 특정 동작을 수행할 수 있다.
전술한 기기간 커뮤니케이션은 일 실시예일 뿐이며, 본 발명에서 제안하는 모든 내용은 UPnP 방식 등에 국한되지 아니한다.
도 57 은 본 발명의 일 실시예에 따른, 방송 수신기와 컴패니언 디바이스들이 ESG 를 교환하기 위한 서비스를 도시한 도면이다.
ESG (Electronic Service Guide) 는 특정 세션 내의 서비스 가이드 전달 디스크립터들(Service Guide Delivery Descriptors) 등을 통해 전달될 수 있는 채널 내지 정보의 일종으로서, 유저들에게 방송, 라디오 또는 다른 미디어 어플리케이션에 대한 서비스 가이드를 제공할 수 있다. ESG 는 서비스들의 스케쥴링이나 프로그램 관련 정보들을 메뉴 형식등을 통해 사용자에게 제공할 수 있다. ESG 는 방송 채널 또는 인터넷 채널(브로드밴드)를 통해 제공될 수 있다.
유저들은 ESG 를 통해 서비스 제공 스케쥴, 현재 가용한 서비스들의 엔트리 포인트의 발견, 선호도에 따른 서비스 필터링 등의 동작을 수행할 수 있다. 컨텐츠 프로바이더들은 ESG 를 통해 어떠한 서비스 및/또는 컨텐츠가 가용한 상태(available)인지에 관한 정보, 구매/구독 관련 정보, 서비스 접근 정보 등을 표현할 수 있다. ESG 는 서비스 가이드(Service Guide) 또는 EPG(Electronic Program Guide) 등으로 불릴 수도 있다.
종래에는 사용자가 방송 수신기에서 방송 프로그램을 시청하는 중에 ESG 등의 서비스 가이드를 실행시키면, ESG 가 시청중인 방송 프로그램을 가려서 불편함이 초래되었다.
본 발명은 ESG 등의 서비스 가이드들을 컴패니언 디바이스에서 실행하여, 현재 시청중인 방송 프로그램의 시청을 방해함이 없이 ESG 정보에 접근하는 방안을 제안한다. 이 경우 사용자는 방송 프로그램 시청에 불편을 느끼지 않는 상태에서 ESG 에 접근할 수 있다. 또한, 사용자는 ESG 탐색에 있어 개인의 컴패니언 디바이스를 이용함으로써, 사생활이 보호받을 수 있다. 또한, 일반적으로 편의성이 떨어지는 방송 수신기의 UI 대신 컴패니언 디바이스의 UI 를 통해 ESG 를 탐색함으로서 편의성이 증대될 수 있다.
*714본 발명은 지상파 방송망과 인터넷망 연동 기반의 차세대 하이브리드 방송 환경에서, 방송 수신기에서 컴패니언 디바이스로 ESG 정보를 전달하는 프로토콜을 정의함으로써, 전술한 문제점을 해결할 수 있다. 또한, 본 발명은 컴패니언 디바이스에서 제공된 ESG 를 통해 사용자가 새로운 서비스를 선택한 경우, 컴패니언 디바이스에서의 채널 정보 전달을 통해 방송 수신기의 서비스가 변경될 수 있도록 하는 프로토콜을 제안한다.
본 발명의 실시예들은 UPnP 기반으로 설명되어 있으나, 이는 설명의 편의를 위함일 뿐이며, 방송 수신기와 컴패니언 디바이스 간의 통신을 위한 프로토콜은 이에 한정되지 아니한다. 또한, 본 발명의 실시예들은 XML 기반 ESG 를 예로 들어 설명하고 있으나, 이는 설명의 편의를 위함일 뿐이며, ESG 를 구성하는 포캣은 이에 한정되지 아니한다.
도시된 ESG 를 교환하기 위한 서비스의 일 실시예는, ESG 서비스라 불릴 수 있다.
ESG 서비스는 방송 수신기와 컴패니언 디바이스 간의 ESG 를 서로 교환하기 위한 서비스일 수 있다. 실시예에 따라, ESG 서비스의 서비스 타입은 atsc3.0ESG-1, 서비스 ID 는 urn:atsc.org:serviceId:atsc3.0ESG 등으로 정의될 수 있다.
ESG 서비스를 위해 각 디바이스 간의 호환성이 필요할 수 있다. 실시예에 따라 UPnP 디바이스 타입이 정의될 수 있다. 방송 수신기는 urn:atsc.org:device:atsc3.0rcvr 의 디바이스 타입을 가지며 UPnP Controlled Device 로서, 동작할 수 있다. 컴패니언 디바이스는 UPnP Control Point 로서 동작할 수 있다.
*719ESG 서비스를 위한 상태변수(state variable), 액션(action) 등에 대해서는 후술한다.
도 58 는 본 발명의 일 실시예에 따른 ESGData 상태변수를 도시한 도면이다.
전술한 ESG 서비스를 위하여 ESGData 라는 상태변수가 정의될 수 있다. ESGData 상태변수는 ESG 자체를 나타내는 상태변수일 수 있다. ESGData 상태변수는 방송/인터넷 망을 통해 수신한 ESG 의 ESG 데이터를 저장할 수 있다. 도시된 ESGData 는 XML 포맷으로 작성되었다.
ESGData 상태변수는 ESG 를 표현하는 ESG 데이터 들, 즉 ESG 내 엘레멘트(element) 들과 성질(attribute), 서브 엘레멘트(sub element) 들을 저장할 수 있다.
ESGData 상태변수 내의 Service 엘레멘트(t54010)은, ESG 를 구성하는 내용 중 ESG 가 나타내는 서비스에 관련된 정보를 가지는 엘레멘트일 수 있다. 이 엘레멘트의 하위 정보로서, 서비스의 ID 를 나타내는 Service@id, 서비스의 버전을 나타내는 Service@version, 서비스의 이름을 나타내는 Service.Name, 서비스에 대한 설명인 Service.Description 및/또는 서비스의 타입을 나타내는 Service.ServiceType 등의 정보들이 있을 수 있다. 여기서, A.B 는 A 엘레멘트의 하위 엘레멘트인 B 엘레멘트를 의미하고, A@a 는 A 엘레멘트의 하위 성질(attribute)인 @a 를 의미할 수 있다.
여기서, 서비스의 하위 엘레멘트인 Service.ServiceType, 즉 ServiceType 엘레멘트는 해당 서비스가 나타내고 있는 서비스의 타입을 나타낼 수 있다. 실시예에 따라, 0 은 미지정(unspecified), 1 은 Basic TV, 2 는 Basic Radio, ... , 14 는 리니어 서비스(linear service), 15 는 앱 베이스드 서비스(app based service), 16 은 컴패니언 스크린 서비스(companion screen service) 등을 의미할 수 있다. 이 엘레멘트가 지시하는 값은 실시예에 따라 달라질 수 있다.
ESGData 상태변수 내의 Schedule 엘레멘트(t54020)은, ESG 를 구성하는 내용 중 ESG 가 나타내는 서비스/프로그램 들의 스케쥴 정보를 가지는 엘레멘트일 수 있다. 이 엘레멘트의 하위 정보로서, 스케쥴의 ID 를 나타내는 Schedule@id, 스케쥴의 버전을 나타내는 Schedule@version 등의 정보들이 포함될 수 있다. 또한, 이 엘레멘트의 하위 정보로서, 스케쥴과 관련된 서비스를 나타내는 Scheudle.ServiceReference, 스케쥴과 관련된 인터랙티비티 데이터를 나타내는 Scheudle.InteractivityDataReference, 스케쥴과 관련된 컨텐츠를 나타내는 Scheudle.ContentReference 등의 정보들이 포함될 수 있다.
ESGData 상태변수 내의 Content 엘레멘트(t54030)은, ESG 를 구성하는 내용 중 ESG 가 나타내는 컨텐츠 정보를 가지는 엘레멘트일 수 있다. 이 엘레멘트의 하위 정보로서, 컨텐츠의 ID 를 나타내는 Content@id, 컨텐츠의 버전을 나타내는 Content@version, 컨텐츠의 이름을 나타내는 Content.Name, 컨텐츠에 대한 설명인 Content.Description, 컨텐츠의 재생 시작시각을 나타내는 Content.StartTimie, 및/또는 컨텐츠의 재생 종료시각을 나타내는 Content.EndTime 등의 정보들이 있을 수 있다. 또한, Content 엘레멘트의 하위 엘레멘트인 ComponentReference 는 해당 컨텐츠와 관련된 해당 컨텐츠의 컴포넌트를 레퍼런싱하는 정보를 포함할 수 있다. 이를 통해, 관련있는 컴포넌트가 파악될 수 있으며, ESG 내의 해당 컴포넌트 관련 정보들이 참조될 수 있다.
ESGData 상태변수 내의 Component 엘레멘트(t54040)은, ESG 를 구성하는 내용 중 ESG 가 나타내는 컨텐츠의 컴포넌트 정보를 가지는 엘레멘트일 수 있다. 이 엘레멘트의 하위 정보로서, 컴포넌트의 ID 를 나타내는 Component@id, 컴포넌트의 버전을 나타내는 Component@version 등의 정보가 포함될 수 있다. 또한 이 엘레멘트의 하위 정보로서, 컴포넌트의 언어를 나타내는 Language, 컴포넌트의 길이를 나타내는 Length, 컴포넌트의 레이팅을 나타내는 ParentalRating, 컴포넌트의 타입을 나타내는 ComponentType, 컴포넌트의 역할을 나타내는 ComponentRole, 컴포넌트가 타겟하는 디바이스를 나타내는 TargetDevice 엘레멘트 등의 정보가 포함될 수 있다. 또한, 컴포넌트가 재생가능한 비디오, 오디오, 클로즈드 캡션, 앱인지에 따라 각각 PresentableVideoComponent, PresentableAudioComponent, PresentableCCComponent, PresentableAppComponent 등의 정보들이 본 엘레멘트에 포함될 수 있다.
ESGData 상태변수는 실시예에 따라 이벤팅 방식, 또는 액션 방식에 의해 컴패니언 디바이스로 전달될 수 있다.
전술한 엘레멘트, 성질 등은 ESGData 의 일 실시예일 뿐이며, ESG 의 구성, 포맷 등에 따라 ESGData 내의 엘레멘트/성질 등이 더 추가되거나 변경, 삭제될 수도 있다.
도 59 는 본 발명의 다른 실시예에 따른 ESGData 상태변수를 도시한 도면이다.
도시된 ESGData 상태변수는 전술한 ESGData 상태변수와 유사하나, Component 엘레멘트가 Content 엘레멘트의 하위 엘레멘트로 포함되었다는 점이 다르다.
복수개의 컴포넌트들이 조합되어 하나의 컨텐트를 구성하므로, Component 엘레멘트가 Content 엘레멘트의 하위 엘레멘트로 포함될 수 있다. 또한, 각 컴포넌트들이 지원되는 디바이스들의 능력(capability) 를 하위 엘레멘트인 DeviceCapability 로 정의하여, 컴포넌트 엘레멘트의 하위 엘레멘트로 포함시킬 수 있다.
도 60 는 본 발명의 일 실시예에 따른 ESGData 상태변수를 이벤트 방식에 따라 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
먼저 도시된 CD(Companion Device) 는 컴패니언 디바이스, PD(Primary Device) 는 수신기 내지 방송 수신기를 의미할 수 있다. 본 실시예에서, 두 디바이스는 페어링이 이미 수행되었다고 가정한다. 또한 컴패니언 디바이스는 전술한 ESG 서비스에 섭스크라이빙(subscribing) 한 상태라고 가정한다. 이 초기 상태(t56010)에서 ESGData 상태변수는 아무런 값을 가지지 않을 수 있다.
서비스/컨텐츠 프로바이더는 ESG 를 방송망 또는 브로드밴드 채널을 통해 전송할 수 있다(t56020). ESG 는 수신기의 수신 유닛 또는 네트워크 인터페이스를 통해 수신될 수 있다. 여기서 수신 유닛은 전술한 브로드캐스트 인터페이스 내지 튜너일 수 있다.
수신기는 수신한 ESG 를 시그널링할 수 있다(t56030). ESG 데이터는 ESGData 상태 변수에 저장될 수 있다(t56040).
이벤팅(Eventing)을 통해 ESGData 가 컴패니언 디바이스로 전달될 수 있다(t56050). ESGData 상태변수를 전달받은 컴패니언 디바이스는 이를 파싱한 후(t56060), 파싱된 값에 따라 ESG 가 UI 를 통해 컴패니언 디바이스에 노출될 수 있다(t56070). 이 때, 사용자에게 ESG 를 보여주기 위해 컴패니언 디바이스의 네이티브 레벨에서 UI 를 표현해주거나, 컴패니언 디바이스의 어플리케이션에서 표현해줄 수도 있다.
컴패니언 디바이스에서 ESG 가 표현되는 방식에는 다양한 실시예가 존재할 수 있다. 실시예에 따라, ESG 가 수신되면 컴패니언 디바이스는 어떠한 형태로든지 사용자에게 ESG 를 바로 노출할 수 있다. 다른 실시예에 따라, ESG 가 수신되면 컴패니언 디바이스는 사용자에게 알림(notification) 메시지를 보내고 사용자가 실행한 경우에 ESG 를 노출할 수 있다. 또 다른 실시예에 따라, ESG 가 수신되면 컴패니언 디바이스는 백그라운드에서 ESG 정보를 가지고 있다가, 사용자가 직접 원하는 때에 ESG 를 볼 수 있는 어플리케이션을 실행하면, 그 때서야 ESG 를 사용자에게 노출할 수도 있다.
도 61 는 본 발명의 일 실시예에 따른 LastChangedESGData 상태변수를 도시한 도면이다.
전술한 ESG 서비스를 위하여 LastChangedESGData 라는 상태변수가 정의될 수 있다. 전술한 바와 같이 ESG 전체가 컴패니언 디바이스로 전달되는 경우에는, ESG 데이터의 일부만이 변경된 경우에도 모든 ESG 데이터가 전달되어 비효율적일 수 있다. 이를 위해 변경된 ESG 데이터만을 저장하는 상태변수 LastChangedESGData 가 정의될 수 있다. LastChangedESGData 상태변수는 이전의 ESG 에 비하여 새로이 수신된 ESG 에서 추가/변경/삭제된 ESG 데이터만을 저장할 수 있다.
LastChangedESGData 상태변수는 Addition 엘레멘트를 포함할 수 있다(t57010). 이 엘레멘트는 기존에 가지고 있던 ESG 데이터에 비하여, 새로 수신된 ESG 에 추가된 ESG 데이터를 저장할 수 있다. 이 엘레멘트의 서브 엘레멘트로서, 새로이 추가된 ESG 데이터들, 즉 엘레멘트/성질들이 저장될 수 있다. 예를 들어, 기존 대비 새로운 서비스 ID 를 가진 새로운 서비스에 관련된 ESG 데이터가, 새로 수신한 ESG 에 추가되었을 경우, 이 새로운 서비스에 관련된 엘레멘트/성질들은 Addition 엘레멘트 하위 트리(tree) 에 포함될 수 있다. 도시된 실시예에서, "atsc.org/esg/service/3 의 ID 를 가지는 서비스가 새로 추가되었는 바, Addition 엘레멘트에 해당 서비스의 Service 엘레멘트가 포함되었음을 알 수 있다. 또한, "atsc.org/esg/service/4 의 ID 를 가지고, ABC 라는 이름을 가지는 서비스가 새로 추가되었는 바, Addition 엘레멘트에 해당 서비스의 Service 엘레멘트가 포함되었음을 알 수 있다. 이 외에도, Service, Content, Schedule 등의 정보들이 이 엘레멘트에 포함 될 수 있다.
LastChangedESGData 상태변수는 Modification 엘레멘트를 포함할 수 있다(t57020). 이 엘레멘트는 기존에 가지고 있던 ESG 데이터에 비하여, 새로 수신된 ESG 에서 변경이 된 ESG 데이터를 저장할 수 있다. 이 엘레멘트의 서브 엘레멘트로서, 변경된 ESG 데이터들, 즉 엘레멘트/성질들이 저장될 수 있다. 예를 들어, "atsc.org/esg/schedule/3" 의 ID 를 가지는 스케쥴의 하위 정보 중 어느 하나가 변경된 경우, 해당 스케쥴의 Schedule 엘레멘트가 Modification 엘레멘트에 저장될 수 잇다. 이 외에도, Service, Content, Schedule 등의 정보들이 이 엘레멘트에 포함 될 수 있다.
LastChangedESGData 상태변수는 Deletion 엘레멘트를 포함할 수 있다(t57030). 이 엘레멘트는 기존에 가지고 있던 ESG 데이터에 비하여, 새로 수신된 ESG 에서 삭제된 ESG 데이터를 저장할 수 있다. 이 엘레멘트의 서브 엘레멘트로서, 삭제된 ESG 데이터들, 즉 엘레멘트/성질들이 저장될 수 있다. 예를 들어, "atsc.org/esg/content/1", "atsc.org/esg/content/2" 의 ID 를 가지는 컨텐트 엘레멘트가 새로 수신된 ESG 에서 삭제되었다면, 해당 컨텐트의 Content 엘레멘트가 Deletioin 엘레멘트에 저장될 수 있다. 이 외에도, Service, Content, Schedule 등의 정보들이 이 엘레멘트에 포함 될 수 있다.
LastChangedESGData 상태변수는 실시예에 따라 이벤팅 방식, 또는 액션 방식에 의해 컴패니언 디바이스로 전달될 수 있다. 이벤팅 방식에 의해 전달되는 경우, 본 상태변수의 값에 변화가 있는 경우에 본 상태변수가 컴패니언 디바이스로 전달될 수 있다. 액션 방식에 의해 전달되는 경우, 본 상태변수 값에 대한 요청이 들어온 시점에서 가장 최근의 ESG 데이터의 변경사항에 대해 LastChangedESGData 상태변수를 구성하여 컴패니언 디바이스로 전달될 수 있다.
컴패니언 디바이스는 전달받은 LastChangedESGData 상태변수를 참조하여, 기 저장하고 있던 ESG 에 비하여 변경된 ESG 데이터들만을 업데이트할 수 있다. 이를 통해 전체 ESG 가 전달되는 경우에 비하여 효율적인 전달이 수행될 수 있다.
전술한 엘레멘트, 성질 등은 LastChangedESGData 의 일 실시예일 뿐이며, ESG 의 구성, 포맷 등에 따라 LastChangedESGData 내의 엘레멘트/성질 등이 더 추가되거나 변경, 삭제될 수도 있다.
도 62 는 본 발명의 일 실시예에 따른 GetESGData 액션에 따라 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
전술한 바와 같이 ESGData 상태변수는 이벤팅방식으로 컴패니언 디바이스에 전달될 수 있다. 그러나, 수신기 측에서 ESG 가 변경될 때마다 컴패니언 디바이스로 이벤팅하는 경우, 네트워크 과부화 내지 컴패니언 디바이스 측의 버든이 될 수 있다. 따라서, 컴패니언 디바이스에서 원하는 경우에만 ESG 데이터를 전달할 수 있도록 GetESGData() 액션이 정의될 수 있다.
GetESGData() 액션은 ESGData 상태변수를 액션 방식으로 컴패니언 디바이스에 전달하기 위한 액션일 수 있다. 즉, 컴패니언 디바이스가 이 액션을 통해 수신기에 ESG 데이터를 요청하면, 수신기는 컴패니언 데이터에 ESGData 상태변수를 전달할 수 있다. 이 액션의 입력 변수(input argument)는 없고(none), 출력 변수(output argument) 는 ESGData 상태변수일 수 있다.
GetESGData() 액션은 사용자가 컴패니언 디바이스에서 ESG 를 보고 싶을 때 ESG 어플리케이션 등을 실행하는 경우에 수행될 수 있다. 이 경우 해당 액션에 따른 결과로 ESG 데이터를 전달받게되고, ESG 어플리케이션을 통해 전달받은 ESG 데이터를 노출시킬 수 있다. 또한 실시예에 따라 주기적인 폴링방식으로 GetESGData() 액션이 수행되어 ESG 데이터를 컴패니언 디바이스에 저장하고 있다가, ESG 어플리케이션이 실행되면 저장된 ESG 데이터를 사용자에게 노출시킬 수도 있다.
GetESGData() 액션은 ESGData 상태변수가 이벤팅 방식을 지원하는 경우에도 동시에 지원될 수 있다. 단, 이 경우 ESGData 에 변경이 있을 때마다 이벤팅 방식으로 ESG 데이터를 전달받고, 동시에 액션을 통해 ESG 데이터를 또 전달받는다면 중복이 될 수 있다. 따라서, 액션과 이벤팅 방식이 동시에 지원되는 경우에는, 최초 ESG 서비스의 섭스크라이빙할 때에만 이벤팅 방식으로 ESG 데이터를 전달받고, 그 이후에는 ESG 어플리케이션을 실행시킬 때, 또는 주기적으로 GetESGData() 액션을 활용하여 ESG 데이터를 받아오는 정책을 취할 수도 있다.
먼저 본 실시예에서, 두 디바이스는 페어링이 이미 수행되었다고 가정한다. 또한 컴패니언 디바이스는 전술한 ESG 서비스에 섭스크라이빙(subscribing) 한 상태라고 가정한다.
수신기는 ESG 데이터를 가지고 있을 수 있다(t58010). ESG 데이터는 ESGData 상태변수에 저장될 수 있다. 사용자는 ESG 어플리케이션을 실행하는 등의 특정 행동을 취할 수 있다(t58020). 특정행동이란 ESG 데이터가 필요한 어떤 동작일 수 있다.
컴패니언 디바이스는 GetESGData() 액션을 수행하여 수신기에 ESGData 상태변수를 요청할 수 있다(t58030). 수신기는 이에 대해 200 OK 의 콜백(call back)을 보내면서 동시에 GetESGData() 액션의 출력 변수인 ESGData 상태변수를 컴패니언 디바이스로 출력할 수 있다(t58040).
컴패니언 디바이스는 수신된 ESGData 를 파싱하고, 그 ESG 데이터를 이용하여 ESG 어플리케이션을 통해 노출시키는 등의 동작을 수행할 수 있다(t58050). 컴패니언 디바이스는 ESG 데이터를 노출시킴에 있어 전술한 실시예들대로 즉시 노출시키거나, 일단 저장해놓고 있는 등의 동작을 취할 수 있다.
도시된 실시예는 사용자가 특정행동을 한 경우에 GetESGData() 액션을 수행하는 실시예이다. 그러나 실시예에 따라, 전술한 바와 같이 주기적으로 GetESGData() 액션이 수행될 수 있고(특정행동여부에 상관없이), 이 후 일정 시점에서 사용자가 ESG 어플리케이션 등을 실행시키는 경우에 해당 액션을 통해 전달받아 저장하였던 ESG 데이터가 노출될 수 있다.
*762
도 63 는 본 발명의 일 실시예에 따른 GetServiceIds, GetESGbyServiceIds 액션에 따라 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
방송 수신기와 컴패니언 디바이스간의 네트워크 버든 및/또는 컴패니언 디바이스에서 ESG 데이터 전체를 처리하는데 사용되는 버든을 최소화하기 위하여, 특정 서비스에 관련된 ESG 데이터만이 컴패니언 디바이스로 전달될 수 있다. 이를 위해 ServiceIdsList 상태변수와 A_ARG_TYPE_ESGData_by_ServiceIds 상태변수가 정의될 수 있다.
ServiceIdsList 상태변수는 ESG 가 기술하는 서비스들의 ID 들을 컴패니언 디바이스로 전달하기 위한 상태변수일 수 있다. 즉, 본 상태변수는 수신기에 파싱되어 저장되어 있는 ESG 데이터 중 서비스 ID 정보들을 포함할 수 있다. 본 상태변수는 스트링들의 리스트 또는 URI 들의 리스트의 타입을 가질 수 있다. 여기서 URI 의 종류는 불문할 수 있다. 실시예에 따라 본 상태변수는 CSV 형태로 표현될 수 있다. 예를 들어, atsc.org/esg/service/1, atsc.org/esg/service/2, …, 등과 같이 표현될 수 있다.
A_ARG_TYPE_ESGData_by_ServiceIds 상태변수는 ESG 의 일부 ESG 데이터를 저장하는 상태변수일 수 있다. 본 상태변수는 일부 ESG 데이터만을 컴패니언 디바이스로 전달하기 위해 정의될 수 있다. 본 상태변수는 ESGData 상태변수를 표현하기 위한 특정 형태의 마크업 언어(Markup Language) 의 프래그먼트 타입을 가질 수 있다. 예를 들어, ESGData 상태변수가 XML 도큐먼트인 경우, 본 상태변수는 XML 프래그먼트 타입을 가질 수 있다.
전술한 상태변수들을 활용하여, 수신기가 가지는 ESG 의 서비스 ID 들을 컴패니언 디바이스에 먼저 전달하고, 그에 따라 요청된 필요한 ESG 데이터만을 컴패니언 디바이스에 전달해 줄 수 있다. 이를 위하여 GetServiceIds 액션, GetESGbyServiceIds 액션이 정의될 수 있다.
*768GetServiceIds 액션은, 컴패니언 디바이스가 수신기로부터 서비스의 ID들을 전달받기 위한 액션일 수 있다. 수신기는, 수신기가 가지는 ESG 가 기술하는 서비스에 관한 정보들 중, 서비스 ID 들을 리스트 형태로 컴패니언 디바이스로 전달할 수 있다. 이 액션의 입력 변수는 없고(none), 출력 변수는 ServiceIdsList 상태변수일 수 있다.
GetServiceIds 액션은 사용자가 컴패니언 디바이스에서 ESG 를 보고 싶을 때 ESG 어플리케이션 등을 실행하는 경우에 수행될 수 있다. 이 경우 해당 액션에 따른 결과로 ESG 데이터를 전달받게되고, ESG 어플리케이션을 통해 전달받은 ESG 데이터를 노출시킬 수 있다. 또한 실시예에 따라 주기적인 폴링방식으로 GetServiceIds 액션이 수행되어 ESG 데이터를 컴패니언 디바이스에 저장하고 있다가, ESG 어플리케이션이 실행되면 저장된 ESG 데이터를 사용자에게 노출시킬 수도 있다.
GetESGbyServiceIds 액션은, 컴패니언 디바이스가 수신기로부터 특정 서비스에 해당하는 ESG 데이터만을 전달받기 위해 정의될 수 있다. 컴패니언 디바이스는 GetServiceIds 액션에 의해 전달받은 서비스 ID 들의 리스트를 활용하여 원하는 서비스의 서비스 ID 를 선별할 수 있다. 이 후 원하는 서비스의 ESG 데이터를 전달받기 위해 서비스 ID 들의 리스트를 입력 변수로 하여 본 액션을 수행할 수 있다. 그 결과 컴패니언 디바이스는 원하는 서비스에 관한 ESG 데이터를 전달받을 수 있다. 이 액션의 입력 변수는 ServiceIdsList 상태변수, 출력 변수는 A_ART_TYPE_ESGData_by_ServiceIds 상태변수일 수 있다.
GetESGbyServiceIds 액션은 사용자가 컴패니언 디바이스에서 ESG 를 보고 싶을 때 ESG 어플리케이션 등을 실행하는 경우에 수행될 수 있다. 이 경우 해당 액션에 따른 결과로 ESG 데이터를 전달받게되고, ESG 어플리케이션을 통해 전달받은 ESG 데이터를 노출시킬 수 있다. 또한 실시예에 따라 주기적인 폴링방식으로 GetESGbyServiceIds 액션이 수행되어 ESG 데이터를 컴패니언 디바이스에 저장하고 있다가, ESG 어플리케이션이 실행되면 저장된 ESG 데이터를 사용자에게 노출시킬 수도 있다.
실시예에 따라 GetESGbyServiceIds 액션에서 입력 변수를 "*" 로 설정하면 서비스 ID 에 관계없이 모든 ESG 데이터를 요청하게 설정할 수 있다. 또한 실시예에 따라 GetESGbyServiceIds 액션에서 입력 변수를 "empty" 로 설정하면 현재 시청중인 서비스에 대한 ESG 데이터를 요청하게 설정할 수 있다.
먼저 본 실시예에서, 두 디바이스는 페어링이 이미 수행되었다고 가정한다. 또한 컴패니언 디바이스는 전술한 ESG 서비스에 섭스크라이빙(subscribing) 한 상태라고 가정한다.
수신기는 ESG 데이터를 가지고 있을 수 있다(t59010). ESG 데이터는 ESGData 상태변수에 저장될 수 있다. ESGData 에 저장된 ESG 데이터는 "atsc.org/esg/service/1", "atsc.org/esg/service/2" 로 식별되는 두 서비스에 관한 ESG 데이터일 수 있다(t59080). 사용자는 ESG 어플리케이션을 실행하는 등의 특정 행동을 취할 수 있다(t59020). 특정행동이란 ESG 데이터가 필요한 어떤 동작일 수 있다.
컴패니언 디바이스는 GetServiceIds 액션을 통해 서비스 ID 들의 리스트를 요청할 수 있다(t59030). 수신기는 200 OK 와 함께 ServiceIdsList 를 컴패니언 디바이스에 출력할 수 있다(t59040). 본 실시예에서, ServiceIdsList 의 값은 (atsc.org/esg/service/1, atsc.org/esg/service/2) 와 같을 수 있다.
사용자 또는 컴패니언 디바이스가 원하는 특정 서비스가 "atsc.org/esg/service/1" 으로 식별되는 서비스인 경우, 이를 입력 변수로 하여 GetESGbyServiceIds 액션을 수행할 수 있다(t59050). 수신기는 200 OK 와 함께 A_ART_TYPE_ESGData_by_ServiceIds 를 컴패니언 디바이스로 출력할 수 있다(t59060). 본 실시예에서 A_ART_TYPE_ESGData_by_ServiceIds 의 값은 "atsc.org/esg/service/1" 으로 식별되는 서비스와 관련된 ESG 데이터일 수 있다(t59090). 도시된 바와 같이 atsc.org/esg/service/1 를 서비스 ID 값으로 가지는 Service 엘레멘트 뿐 아니라, atsc.org/esg/service/1 를 레퍼런스 값으로 가지는 Schedule 엘레멘트, Content 엘레멘트도 출력 변수에 포함될 수 있다. 여기서 Schedule 엘레멘트, Content 엘레멘트는 atsc.org/esg/service/1 로 식별되는 서비스에 관계된 스케쥴, 컨텐츠 정보일 수 있다.
컴패니언 디바이스는 수신된 ESG 데이터 를 파싱하고, 그 ESG 데이터를 이용하여 ESG 어플리케이션을 통해 노출시키는 등의 동작을 수행할 수 있다(t59070). 컴패니언 디바이스는 ESG 데이터를 노출시킴에 있어 전술한 실시예들대로 즉시 노출시키거나, 일단 저장해놓고 있는 등의 동작을 취할 수 있다.
도시된 실시예는 사용자가 특정행동을 한 경우에 해당하나, 전술한 바와 같이 액션이 먼저 수행될 수 있고(특정행동여부에 상관없이), 이 후 일정 시점에서 사용자가 ESG 어플리케이션 등을 실행시키는 경우에 해당 액션을 통해 미리 전달받아 저장하였던 ESG 데이터가 노출될 수 있다.
도 64 은 본 발명의 일 실시예에 따른 GetCurrentServiceId 액션에 따라 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
수신기에서 현재 시청중인 서비스에 대한 ESG 데이터가 컴패니언 디바이스로 전달될 필요가 있을 수 있다. 이를 위해서 현재 시청중인 서비스의 서비스 ID 가 컴패니언 디바이스로 전달될 수 있다. 이를 위해 CurrentServiceId 상태변수 및 GetCurrentServiceId 액션이 정의될 수 있다.
CurrentServiceId 상태변수는 수신기의 ESG 데이터 중, 현재 수신기에서 시청중인 서비스의 서비스 ID 를 저장할 수 있다. 본 상태변수는 스트링 또는 특정 URI 타입일 수 있다.
GetCurrentServiceId 액션은 컴패니언 디바이스가, 수신기에서 현재 시청중인 서비스의 서비스 ID 를 전달받기 위한 액션일 수 있다. 이 액션의 입력 변수는 없고, 출력 변수는 CurrentServiceId 상태변수일 수 있다.
GetCurrentServiceId 액션은 사용자가 컴패니언 디바이스에서 ESG 를 보고 싶을 때 ESG 어플리케이션 등을 실행하는 경우에 수행될 수 있다. 이 경우 해당 액션에 따른 결과로 ESG 데이터를 전달받게되고, ESG 어플리케이션을 통해 전달받은 ESG 데이터를 노출시킬 수 있다. 또한 실시예에 따라 주기적인 폴링방식으로 GetCurrentServiceId 액션이 수행되어 ESG 데이터를 컴패니언 디바이스에 저장하고 있다가, ESG 어플리케이션이 실행되면 저장된 ESG 데이터를 사용자에게 노출시킬 수도 있다.
먼저 본 실시예에서, 두 디바이스는 페어링이 이미 수행되었다고 가정한다. 또한 컴패니언 디바이스는 전술한 ESG 서비스에 섭스크라이빙(subscribing) 한 상태라고 가정한다.
수신기는 ESG 데이터를 가지고 있을 수 있다(t60010). ESG 데이터는 ESGData 상태변수에 저장될 수 있다. ESGData 에 저장된 ESG 데이터는 "atsc.org/esg/service/1", "atsc.org/esg/service/2" 로 식별되는 두 서비스에 관한 ESG 데이터일 수 있다(t60090). 수신기는 주기적으로 현재 시청중인 방송을 시그널링하여, 현재 시청중인 서비스의 서비스 ID 를 CurrentServiceId 상태변수에 업데이트할 수 있다. 사용자는 ESG 어플리케이션을 실행하는 등의 특정 행동을 취할 수 있다(t60030). 특정행동이란 ESG 데이터가 필요한 어떤 동작일 수 있다.
컴패니언 디바이스는 GetCurrentServiceId 액션을 통하여 현재 시청중인 서비스의 ID 를 요청할 수 있다(t60040). 수신기는 200 OK 와 함께 CurrentServiceId 상태변수를 컴패니언 디바이스에 출력할 수 있다(t60050). 본 실시예에서 CurrentServiceId 상태변수의 값은 "atsc.org/esg/service/1" 일 수 있다.
컴패니언 디바이스는 GetESGbyServiceIds 액션을 수행하여 현재 시청중인 서비스 관련 ESG 데이터를 요청할 수 있다(t60060). 본 실시예에서 GetESGbyServiceIds 액션의 입력 변수는 atsc.org/esg/service/1 일 수 있다. 수신기는 200 OK 와 함께 A_ART_TYPE_ESGData_by_ServiceIds 상태변수를 컴패니언 디바이스로 출력할 수 있다(t60070). 본 실시예에서 A_ART_TYPE_ESGData_by_ServiceIds 의 값은 "atsc.org/esg/service/1" 으로 식별되는 서비스와 관련된 ESG 데이터일 수 있다(t60100). 도시된 바와 같이 atsc.org/esg/service/1 를 서비스 ID 값으로 가지는 Service 엘레멘트 뿐 아니라, atsc.org/esg/service/1 를 레퍼런스 값으로 가지는 Schedule 엘레멘트, Content 엘레멘트도 출력 변수에 포함될 수 있다. 여기서 Schedule 엘레멘트, Content 엘레멘트는 atsc.org/esg/service/1 로 식별되는 서비스에 관계된 스케쥴, 컨텐츠 정보일 수 있다.
컴패니언 디바이스는 수신된 ESG 데이터 를 파싱하고, 그 ESG 데이터를 이용하여 ESG 어플리케이션을 통해 노출시키는 등의 동작을 수행할 수 있다(t60080). 컴패니언 디바이스는 ESG 데이터를 노출시킴에 있어 전술한 실시예들대로 즉시 노출시키거나, 일단 저장해놓고 있는 등의 동작을 취할 수 있다.
도시된 실시예는 사용자가 특정행동을 한 경우에 해당하나, 전술한 바와 같이 액션이 먼저 수행될 수 있고(특정행동여부에 상관없이), 이 후 일정 시점에서 사용자가 ESG 어플리케이션 등을 실행시키는 경우에 해당 액션을 통해 미리 전달받아 저장하였던 ESG 데이터가 노출될 수 있다.
도 65 은 본 발명의 일 실시예에 따른 SearchESG 액션에 따라 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
컴패니언 디바이스는 수신기로 ESG 데이터를 요청할 때, ESG 데이터의 특정 필드가 특정 값(타겟 값)을 가지는 경우에만 해당 ESG 데이터를 전달하도록 요청할 수 있다. 이를 위하여 A_ART_TYPE_SearchField 상태변수, A_ART_TYPE_TargetValue 상태변수, SearchESG 액션이 정의될 수 있다.
A_ART_TYPE_SearchField 상태변수는 컴패니언 디바이스가 지정하고자 하는 특정 필드를 지시할 수 있다. 즉, 본 상태변수는 ESGData 상태변수의 엘레멘트/성질들의 이름들의 리스트일 수 있다. 예를 들어 Service@id, Service.Genre 등의 값이 본 상태변수에 저장될 수 있다. 본 상태변수는 스트링들의 리스트 타입을 가질 수 있다. 이 상태변수는 SearchField 라 불릴 수도 있다.
A_ART_TYPE_TargetValue 상태변수는 컴패니언 디바이스가 지정한 특정필드의 특정값, 즉 타겟값을 저장할 수 있다. 이 타겟값은 지시된 특정필드가 해당 타겟값을 가지는 지 여부를 판단할 때 사용될 수 있다. 이 타겟값을 이용하여 수신기의 ESG 데이터가 검색될 수 있다. 본 상태변수는 스트링들의 리스트 타입을 가질 수 있다. 이 상태변수는 TargetValue 라 불릴 수도 있다.
SearchESG 액션은 컴패니언 디바이스가 수신기 내의 ESG 데이터를 탐색하고 요청하기 위한 액션일 수 있다. 본 액션의 입력변수로 특정 필드(SearchField) 및/또는 타겟값(TargetValue) 이 정의될 수 있다. 수신기는 해당 특정필드가 해당 타겟 값을 가지는 지 여부로 ESG 데이터를 탐색할 수 있다. 수신기는 해당 조건을 만족하는 ESG 데이터를 탐색한 경우, 관련된 모든 ESG 데이터를 컴패니언 디바이스로 출력할 수 있다. 어떠한 데이터도 매칭되지 않는 경우 아무것도 출력되지 않을 수 있다. 실시예에 따라 ESG 데이터의 일부분만 매칭되는 경우에도 ESG 정보가 전달될 수 있다.
출력 변수로 A_ART_TYPE_ESGData 상태변수가 정의될 수 있는데, 이는 전술한 A_ART_TYPE_ESGData_by_ServiceIds 상태변수와 마찬가지로 ESG 의 일부 ESG 데이터를 저장하는 상태변수일 수 있다. A_ART_TYPE_ESGData 상태변수는 SearchedESGData 로 불릴 수도 있다.
SearchESG 액션은 사용자가 컴패니언 디바이스에서 ESG 를 보고 싶을 때 ESG 어플리케이션 등을 실행하는 경우에 수행될 수 있다. 이 경우 해당 액션에 따른 결과로 ESG 데이터를 전달받게되고, ESG 어플리케이션을 통해 전달받은 ESG 데이터를 노출시킬 수 있다. 또한 실시예에 따라 주기적인 폴링방식으로 SearchESG 액션이 수행되어 ESG 데이터를 컴패니언 디바이스에 저장하고 있다가, ESG 어플리케이션이 실행되면 저장된 ESG 데이터를 사용자에게 노출시킬 수도 있다.
먼저 본 실시예에서, 두 디바이스는 페어링이 이미 수행되었다고 가정한다. 또한 컴패니언 디바이스는 전술한 ESG 서비스에 섭스크라이빙(subscribing) 한 상태라고 가정한다.
수신기는 ESG 데이터를 가지고 있을 수 있다(t61010). ESG 데이터는 ESGData 상태변수에 저장될 수 있다. ESGData 에 저장된 ESG 데이터는 "atsc.org/esg/service/1" 로 식별되고 Drama 라는 Service.Genre 값을 가지는 서비스와, "atsc.org/esg/service/2" 로 식별되고 Sports 라는 Service.Genre 값을 가지는 서비스에 관한 ESG 데이터일 수 있다(t61050).
컴패니언 디바이스는 SearchESG 액션을 이용하여 ESG 데이터를 요청할 수 있다(t61020). 여기서 해당 액션의 입력 변수는 ("Service@id, Service.Genre", "atsc.org/esg/service/1, Drama") 와 같을 수 있다. 이는 서비스 ID 가 atsc.org/esg/service/1 이고, Service 엘레멘트의 서브 엘레멘트 Genre 의 값이 Drama 인 ESG 데이터를 탐색하기 위함일 수 있다.
수신기는 해당 조건에 매칭되는 ESG 데이터를 탐색하고, 해당 ESG 데이터를 200 OK 와 함께 컴패니언 디바이스로 출력할 수 있다(t61030). 본 실시예에서, 해당 조건에 매칭되는 "atsc.org/esg/service/1" 로 식별되는 서비스에 관련된 ESG 데이터가 출력될 수 있다.
컴패니언 디바이스는 수신된 ESG 데이터 를 파싱하고, 그 ESG 데이터를 이용하여 ESG 어플리케이션을 통해 노출시키는 등의 동작을 수행할 수 있다(t61040). 컴패니언 디바이스는 ESG 데이터를 노출시킴에 있어 전술한 실시예들대로 즉시 노출시키거나, 일단 저장해놓고 있는 등의 동작을 취할 수 있다.
도 66 는 본 발명의 일 실시예에 따른 DoAuthenticationForESG 액션에 따라 ESG 데이터를 전달하기 위한 인증 과정을 도시한 도면이다.
수신기와 컴패니언 디바이스 간에 ESG 데이터를 교환함에 있어 의도치 않은 어플리케이션, 예를 들어 해킹 목적의 어플리케이션이 ESG 정보를 요청하는 경우 등이 있을 수 있다. 이러한 경우를 방지하기 위하여 보안을 위한 인증 절차가 필요할 수 있다. 이를 위해 CompanionDeviceId 상태변수, CompanionDeviceAppId 상태변수, CompanionDeviceAppVersion 상태변수, PrimaryDeviceId 상태변수, DoAuthenticationForESG 액션이 정의될 수 있다.
CompanionDeviceId 상태변수는 컴패니언 디바이스의 ID 정보를 저장하는 상태변수 일 수 있다. 컴패니언 디바이스를 구별하기 위한 유니크한 값이 본 상태변수에 저장될 수 있다. 디바이스 ID 로서 MAC 주소 등이 사용될 수 있으며, 이 또한 보안을 위하여 암호화될 수 있다(e.g. hashed Mac 주소). 본 상태변수는 스트링 또는 특정 URI 타입일 수 있다.
CompanionDeviceAppId 상태변수는 컴패니언 디바이스에서 ESG 사용을 위해 실행될 수 있는 어플리케이션의 ID 정보를 저장하는 상태변수 일 수 있다. 여기서 어플리케이션은 컴패니언 디바이스의 네이티브 앱 또는 브라우저 기반의 앱을 모두 포함하는 개념일 수 있다. 본 상태변수는 스트링 또는 특정 URI 타입일 수 있다.
CompanionDeviceAppVersion 상태변수는 컴패니언 디바이스에서 ESG 사용을 위해 실행될 수 있는 어플리케이션의 버전 정보를 저장하는 상태변수 일 수 있다. 수신기는 이 버전정보를 이용하여 ESG 정보의 제공 여부를 결정할 수 있다. 본 상태변수는 헥스 바이너리(hexBinary) 또는 정수(integer) 타입일 수 있다.
PrimaryDeviceId 상태변수는 수신기, 즉 프라이머리 디바이스의 디바이스 ID 정보를 저장하는 상태변수일 수 있다. 컴패니언 디바이스는 이 상태변수를 이용하여 수신기를 구별할 수 있다. 본 상태변수를 이용하여, 컴패니언 디바이스는, 의도치 않은 수신기로부터 오는 정보인지 여부를 판단하거나, 복수개의 수신기가 홈 네트워크 상에서 검색되는 경우 ESG 를 요청했던 특정 수신기인지 여부를 판단할 수 있다. 본 상태변수는 스트링 또는 특정 URI 타입일 수 있다.
DoAuthenticationForESG 액션은 컴패니언 디바이스가 ESG 데이터를 수신기에 요청하기 전에, 보안을 위한 인증절차를 거치기 위한 액션일 수 있다. 이 인증절차를 통해 ESG 데이터를 교환해도 되는지 여부가 판단될 수 있다. 입력 변수로 컴패니언 디바이스의 ID, 컴패니언 디바이스의 앱 ID 및/또는 컴패니언 디바이스의 앱 버전 정보를 입력하여 수신기로 보낼 수 있다. 이 정보들을 인증정보라고 부를 수도 있다. 수신기는 인증 정보를 전달받으면 어떤 컴패니언 디바이스가 요청한 것인지, ESG 를 위한 앱에서 요청한 것인지 등을 판단할 수 있다. 정상적인 컴패니언 디바이스의 앱에서 요청이 온 경우, 수신기는 자신의 디바이스 ID 를 컴패니언 디바이스로 출력할 수 있다. 컴패니언 디바이스는 전달받은 수신기의 ID 를 참조하여 자신이 ESG 를 요청하려고 한 대상이 맞는지를 확인할 수 있다. 이러한 인증 절차가 끝난 후 본 발명이 제안하는 액션/이벤팅 등의 메커니즘에 의해 실제 ESG 데이터를 받아올 수 있다. 이 액션의 입력 변수는 CompanionDeviceId, CompanionDeviceAppId, CompanionDeviceAppVersion 상태변수이고, 출력 변수는 PrimaryDeviceId 상태변수일 수 있다.
DoAuthenticationForESG 액션은 사용자가 컴패니언 디바이스에서 ESG 를 보고 싶을 때 ESG 어플리케이션 등을 실행하는 경우에 수행될 수 있다. 또한 실시예에 따라 주기적인 폴링 방식으로 DoAuthenticationForESG 액션이 수행되어 인증절차가 수행될 수도 있다.
먼저 본 실시예에서, 두 디바이스는 페어링이 이미 수행되었다고 가정한다. 또한 컴패니언 디바이스는 전술한 ESG 서비스에 섭스크라이빙(subscribing) 한 상태라고 가정한다.
수신기는 ESG 데이터를 가지고 있을 수 있다(t62010). ESG 데이터는 ESGData 상태변수에 저장될 수 있다. 사용자는 ESG 어플리케이션을 실행하는 등의 특정 행동을 취할 수 있다(t62020). 특정행동이란 ESG 데이터가 필요한 어떤 동작일 수 있다.
컴패니언 디바이스는 DoAuthenticationForESG 액션을 수행할 수 있다(t62030). 이를 통해 인증 정보가 수신기로 전달될 수 있다. 수신기는 전달받은 인증 정보를 이용하여 인증된 컴패니언 디바이스인지 여부 등을 판단할 수 있다(t62040). 인증된 경우, 수신기는 컴패니언 디바이스로 200 OK 와 함께 자신의 디바이스 ID 를 출력할 수 있다(t62050). 컴패니언 디바이스는 전달받은 수신기의 ID 를 이용하여 자신이 ESG 데이터를 요청해도 되는 수신기인지 여부를 판단할 수 있다(t62060).
그 후, 본 발명의 실시예들에 따라 ESG 데이터를 요청하고 받아올 수 있다(t62070, t62080). 컴패니언 디바이스는 수신된 ESG 데이터 를 파싱하고, 그 ESG 데이터를 이용하여 ESG 어플리케이션을 통해 노출시키는 등의 동작을 수행할 수 있다(t62070). 컴패니언 디바이스는 ESG 데이터를 노출시킴에 있어 전술한 실시예들대로 즉시 노출시키거나, 일단 저장해놓고 있는 등의 동작을 취할 수 있다.
도시된 실시예는 사용자가 특정행동을 한 경우에 해당하나, 전술한 바와 같이 액션이 먼저 수행될 수 있고(특정행동여부에 상관없이), 이 후 일정 시점에서 사용자가 ESG 어플리케이션 등을 실행시키는 경우에 이미 인증 절차가 끝났으므로 ESG 데이터 전달을 위한 동작들이 바로 수행될 수 있다.
도 67 은 본 발명의 다른 실시예에 따른 GetServiceIds, GetESGbyServiceIds 액션에 따라 디바이스 인증과 동시에 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
전술한 바와 같이 인증을 위하여 별도의 액션이 정의될 수 있다. 본 실시예에서는 별도의 액션의 정의 없이 기존의 액션들을 확장하여 인증을 수행함과 동시에, 기존 액션들의 원래 목적도 수행하게 할 수 있다. 여기서 확장의 대상이 되는 액션들을 본 발명에서 소개된 모든 액션들일 수 있다. 확장의 대상이 되는 액션들은 기존에 정의된 입력/출력 변수 외에, 입력 변수로서 CompanionDeviceId, CompanionDeviceAppId, CompanionDeviceAppVersion 상태변수가 추가될 수 있고, 출력 변수로서 PrimaryDeviceId 상태변수가 추가될 수 있다.
본 실시예는 GetServiceIds 액션, GetESGbyServiceIds 액션을 확장한다. 본 발명은 해당 액션의 확장에만 국한되지 아니한다.
GetServiceIds 액션은 확장되어 입력변수로 CompanionDeviceId, CompanionDeviceAppId, CompanionDeviceAppVersion 상태변수를 가지고 출력변수로 기존의 ServiceIdsList 상태변수 외에 PrimaryDeviceId 상태변수를 가질 수 있다. 수신기는 본 액션에 따라 인증정보를 전달받고, 전달 가능하다고 판단될 경우, 자신의 디바이스 ID 와 함께 서비스들의 ID 들을 컴패니언 디바이스로 전달할 수 있다. 컴패니언 디바이스는 전달받은 수신기의 디바이스 ID 를 참조하여 전달받은 서비스 ID 들을 사용해도 될 지 여부를 판단할 수 있다.
GetESGbyServiceIds 액션은 확장되어 입력변수로 기존의 ServiceIdsList 상태변수 외에, CompanionDeviceId, CompanionDeviceAppId, CompanionDeviceAppVersion 상태변수를 가지고 출력변수로 기존의 A_ART_TYPE_ESGData_by_ServiceIds 상태변수 외에 PrimaryDeviceId 상태변수를 가질 수 있다. 수신기는 본 액션에 따라 인증정보와 서비스 ID 들을 전달받고, 전달 가능하다고 판단될 경우, 자신의 디바이스 ID 와 함께 관련 서비스의 ESG 데이터를 컴패니언 디바이스로 전달할 수 있다. 컴패니언 디바이스는 전달받은 수신기의 디바이스 ID 를 참조하여 전달받은 ESG 데이터를 사용해도 될 지 여부를 판단할 수 있다.
확장된 액션들은 사용자가 컴패니언 디바이스에서 ESG 를 보고 싶을 때 ESG 어플리케이션 등을 실행하는 경우에 수행될 수 있다. 이 경우 해당 액션에 따른 결과로 ESG 데이터를 전달받게되고, ESG 어플리케이션을 통해 전달받은 ESG 데이터를 노출시킬 수 있다. 또한 실시예에 따라 주기적인 폴링방식으로 확장된 액션들이 수행되어 ESG 데이터를 컴패니언 디바이스에 저장하고 있다가, ESG 어플리케이션이 실행되면 저장된 ESG 데이터를 사용자에게 노출시킬 수도 있다.
먼저 본 실시예에서, 두 디바이스는 페어링이 이미 수행되었다고 가정한다. 또한 컴패니언 디바이스는 전술한 ESG 서비스에 섭스크라이빙(subscribing) 한 상태라고 가정한다.
수신기는 ESG 데이터를 가지고 있을 수 있다(t63010). ESG 데이터는 ESGData 상태변수에 저장될 수 있다. ESGData 에 저장된 ESG 데이터는 "atsc.org/esg/service/1", "atsc.org/esg/service/2" 로 식별되는 두 서비스에 관한 ESG 데이터일 수 있다(t63100). 사용자는 ESG 어플리케이션을 실행하는 등의 특정 행동을 취할 수 있다(t63020). 특정행동이란 ESG 데이터가 필요한 어떤 동작일 수 있다.
컴패니언 디바이스는 GetServiceIds 액션을 통해 서비스 ID 들의 리스트를 요청할 수 있다(t63030). 이 때 인증정보 역시 수신기로 전달될 수 있다. 수신기는 인증정보를 이용해 컴패니언 디바이스의 인증여부를 판단할 수 있다(t63040). 인증된 경우, 수신기는 200 OK 와 함께 ServiceIdsList 를 컴패니언 디바이스에 출력할 수 있다(t63050). 본 실시예에서, ServiceIdsList 의 값은 (atsc.org/esg/service/1, atsc.org/esg/service/2) 와 같을 수 있다. 이 때, 수신기의 디바이스 ID 역시 전달될 수 있다. 컴패니언 디바이스는 전달받은 수신기의 ID 를 이용하여 자신이 ESG 데이터를 요청해도 되는 수신기인지 여부를 판단할 수 있다(t63060).
사용자 또는 컴패니언 디바이스가 원하는 특정 서비스가 "atsc.org/esg/service/1" 으로 식별되는 서비스인 경우, 이를 입력 변수로 하여 GetESGbyServiceIds 액션을 수행할 수 있다(t63070). 이 때 역시 인증 정보가 수신기로 전달될 수 있다. 실시예에 따라 이 인증과정을 중복으로 보고 생략할 수도 있다. 인증과정이 생략된 경우, 기존의 일반적인 GetESGbyServiceIds 액션이 수행될 수 있다. 인증된 경우, 수신기는 200 OK 와 함께 A_ART_TYPE_ESGData_by_ServiceIds 를 컴패니언 디바이스로 출력할 수 있다(t63080). 본 실시예에서 A_ART_TYPE_ESGData_by_ServiceIds 의 값은 "atsc.org/esg/service/1" 으로 식별되는 서비스와 관련된 ESG 데이터일 수 있다(t63110). 도시된 바와 같이 atsc.org/esg/service/1 를 서비스 ID 값으로 가지는 Service 엘레멘트 뿐 아니라, atsc.org/esg/service/1 를 레퍼런스 값으로 가지는 Schedule 엘레멘트, Content 엘레멘트도 출력 변수에 포함될 수 있다. 여기서 Schedule 엘레멘트, Content 엘레멘트는 atsc.org/esg/service/1 로 식별되는 서비스에 관계된 스케쥴, 컨텐츠 정보일 수 있다.
컴패니언 디바이스는 수신된 ESG 데이터 를 파싱하고, 그 ESG 데이터를 이용하여 ESG 어플리케이션을 통해 노출시키는 등의 동작을 수행할 수 있다(t63090). 컴패니언 디바이스는 ESG 데이터를 노출시킴에 있어 전술한 실시예들대로 즉시 노출시키거나, 일단 저장해놓고 있는 등의 동작을 취할 수 있다.
도시된 실시예는 사용자가 특정행동을 한 경우에 해당하나, 전술한 바와 같이 액션이 먼저 수행될 수 있고(특정행동여부에 상관없이), 이 후 일정 시점에서 사용자가 ESG 어플리케이션 등을 실행시키는 경우에 해당 액션을 통해 미리 전달받아 저장하였던 ESG 데이터가 노출될 수 있다.
도 68 는 본 발명의 일 실시예에 따른 GetService 액션에 따라 ESG 데이터를 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
ESG 데이터 중에서 서비스의 경우에는, 새로운 서비스가 추가/삭제 되는 등의 업데이트 빈도수가 적을 수 있다. 따라서 서비스에 관한 ESG 데이터를 지속적으로 요청/전달하는 것은 불필요한 네트워크 오버로드를 야기할 수 있다. 이를 해결하기 위하여 NumOfServices 상태변수, A_ARG_TYPE_ESGData_Service 상태변수, GetService 액션이 정의될 수 있다. 또한, 전술한 GetESGbyServiceIds 액션의 다른 실시예가 정의될 수 있다.
NumOfServices 상태변수는 수신기의 ESG 가 기술하고 있는 총 서비스의 수를 저장하는 상태변수일 수 있다. 본 상태변수의 값은 서비스 리스트를 구성할 때 참조될 수 있다. 예를 들어 본 상태변수의 값은 서비스 리스트 구성시에 유효성(validation) 을 확인하기 위한 용도로 사용될 수 있다. 본 상태변수는 정수(integer) 의 타입일 수 있다.
A_ARG_TYPE_ESGData_Service 상태변수는 수신기의 ESG 중에서 Service 엘레멘트에 해당하는 ESG 데이터만을 저장하는 상태변수일 수 있다. 본 상태변수는 ESGData 상태변수를 표현하기 위한 특정 형태의 마크업 언어(Markup Language) 의 프래그먼트 타입을 가질 수 있다. 예를 들어, ESGData 상태변수가 XML 도큐먼트인 경우, 본 상태변수는 XML 프래그먼트 타입을 가질 수 있다.
GetService 액션은 컴패니언 디바이스가 수신기로부터 ESG 정보들 중 서비스에 관련된 ESG 데이터를 전달받기 위한 액션일 수 있다. 컴패니언 디바이스는 이 액션을 통해 전달받은 ESG 데이터(Service 엘레멘트들) 를 이용하여 특정 서비스에 관련된 ESG 데이터(Service 엘레멘트 이외의 ESG 데이터들)을 받아올 수 있다. 컴패니언 디바이스는 NumOfServices 상태변수가 나타내는 서비스의 총 개수와 전달받은 Service 엘레멘트들의 개수를 비교하여 서비스 리스트를 구성할 때 참조할 수 있다. 이 과정에서 전술한 인증절차가 사용될 수 있다. 즉, GetService 액션은 인증을 위한 추가적인 입력/출력 변수를 포함하는 확장된 형태일 수 있다. 실시예에 따라 인증을 위한 추가 변수가 없는 GetService 액션도 사용될 수 있다.
이 액션의 입력 변수는 전술한 인증정보에 해당하는 상태변수들일 수 있다. 출력변수는 PrimaryDeviceId 상태변수, NumOfServices 상태변수, A_ARG_TYPE_ESGData_Service 상태변수일 수 있다.
또한, 전술한 GetESGbyServiceIds 액션의 다른 실시예가 정의될 수 있다. 이 다른 실시예에 따른 GetESGbyServiceIds 액션은 컴패니언 디바이스가 특정 서비스의 서비스 ID 들을 입력으로 하여, 특정 서비스와 관련된 나머지 ESG 데이터를 전달받기 위한 액션일 수 있다. 여기서 나머지 ESG 데이터는 해당 Service 엘레멘트를 제외한 ESG 데이터, 즉, 해당 서비스와 관련된 Content, Schedule 엘레멘트에 해당하는 ESG 데이터일 수 있다. 마찬가지로 본 액션 역시 전술한 인증을 위한 추가 변수들을 포함하여 확장된 형태로 정의될 수도 있다.
GetService, GetESGbyServiceIds 액션은 사용자가 컴패니언 디바이스에서 ESG 를 보고 싶을 때 ESG 어플리케이션 등을 실행하는 경우에 수행될 수 있다. 이 경우 해당 액션에 따른 결과로 ESG 데이터를 전달받게되고, ESG 어플리케이션을 통해 전달받은 ESG 데이터를 노출시킬 수 있다. 또한 실시예에 따라 주기적인 폴링방식으로 GetService, GetESGbyServiceIds 액션이 수행되어 ESG 데이터를 컴패니언 디바이스에 저장하고 있다가, ESG 어플리케이션이 실행되면 저장된 ESG 데이터를 사용자에게 노출시킬 수도 있다.
먼저 본 실시예에서, 두 디바이스는 페어링이 이미 수행되었다고 가정한다. 또한 컴패니언 디바이스는 전술한 ESG 서비스에 섭스크라이빙(subscribing) 한 상태라고 가정한다.
수신기는 ESG 데이터를 가지고 있을 수 있다(t64010). ESG 데이터는 ESGData 상태변수에 저장될 수 있다. ESGData 에 저장된 ESG 데이터는 "atsc.org/esg/service/1", "atsc.org/esg/service/2" 로 식별되는 두 서비스에 관한 ESG 데이터일 수 있다(t64100). 사용자는 ESG 어플리케이션을 실행하는 등의 특정 행동을 취할 수 있다(t64020). 특정행동이란 ESG 데이터가 필요한 어떤 동작일 수 있다.
컴패니언 디바이스는 GetService 액션을 수행하여 서비스에 관한 ESG 데이터를 요청할 수 있다(t64030). 수신기는 인증된 컴패니언 디바이스 및/또는 앱이라고 판단될 경우(t64040), 200 OK 와 함께 A_ARG_TYPE_ESGData_Service 상태변수를 컴패니언 디바이스로 출력할 수 있다(t64050). 여기서, A_ARG_TYPE_ESGData_Service 상태변수는 수신기의 ESG 데이터 중 Service 엘레멘트에 관한 ESG 데이터만을 포함할 수 있다(t64110). 컴패니언 디바이스는 같이 전달받은 수신기의 디바이스 ID 를 이용해 인증을 수행하여 믿을 수 있는 정보인지 판단할 수 있다(t64060).
컴패니언 디바이스는 GetESGbyServiceIds 액션을 수행하여 특정 서비스에 관련한 나머지 ESG 데이터를 요청할 수 있다(t64070). 본 실시예에서 GetESGbyServiceIds 액션의 ServiceIdsList 입력변수 값은 atsc.org/esg/service/1 일 수 있다. 수신기는 인증된 컴패니언 디바이스 및/또는 앱이라고 판단될 경우, 200 OK 와 함께 A_ARG_TYPE_ESGData_by_ServiceIds 상태변수를 출력할 수 있다(t64080). 본 실시예에서 출력된 A_ARG_TYPE_ESGData_by_ServiceIds 상태변수는 atsc.org/esg/service/1 로 식별되는 서비스와 관련된 ESG 데이터일 수 있다(t64120). 도시된 바와 같이 atsc.org/esg/service/1 를 레퍼런스 값으로 가지는 Schedule 엘레멘트, Content 엘레멘트가 출력 변수에 포함될 수 있다. 출력변수에 atsc.org/esg/service/1 로 식별되는 Service 엘레멘트 자체는 포함되지 않을 수 있다.
컴패니언 디바이스는 수신된 ESG 데이터 를 파싱하고, 그 ESG 데이터를 이용하여 ESG 어플리케이션을 통해 노출시키는 등의 동작을 수행할 수 있다(t64090). 컴패니언 디바이스는 ESG 데이터를 노출시킴에 있어 전술한 실시예들대로 즉시 노출시키거나, 일단 저장해놓고 있는 등의 동작을 취할 수 있다.
도시된 실시예는 사용자가 특정행동을 한 경우에 해당하나, 전술한 바와 같이 액션이 먼저 수행될 수 있고(특정행동여부에 상관없이), 이 후 일정 시점에서 사용자가 ESG 어플리케이션 등을 실행시키는 경우에 해당 액션을 통해 미리 전달받아 저장하였던 ESG 데이터가 노출될 수 있다.
도 69 는 본 발명의 일 실시예에 따른 SetChangeChannel 액션에 따라 컴패니언 디바이스에서 방송수신기의 서비스를 변경하는 과정을 도시한 도면이다.
컴패니언 디바이스로 전달된 ESG 정보가 UI 를 통해 사용자에게 노출될 수 있다. ESG 에 나타나는 서비스가 사용자에 의해 확인되고 선택될 수 있다. 이 때, 실제 서비스가 제공되고 있는 기기는 수신기이므로, 서비스 변경을 위한 정보가 수신기로 전달되어 서비스가 변경될 수 있어야 한다. 이를 위해 A_ARG_TYPE_SelectedServiceId 상태변수, SetChangeChannel 액션이 정의될 수 있다.
A_ARG_TYPE_SelectedServiceId 상태변수는 사용자가 컴패니언 디바이스 상에서 ESG 를 통해 선택한 서비스의 서비스 ID 를 저장하는 상태변수일 수 있다. 본 상태변수는 스트링 또는 특정 URI 타입일 수 있다.
SetChangeChannel 액션은 컴패니언 디바이스가, 수신기에서 제공되고 있는 서비스를 변경하기 위한 액션일 수 있다. 입력 변수는 A_ARG_TYPE_SelectedServiceId 상태변수일 수 있다. 사용자는 컴패니언 디바이스를 통해 ESG 를 보다가 특정 서비스를 선택할 수 있다. 이 때 해당 서비스의 ID 가 입력변수로 저장될 수 있다. 수신기는 해당 액션이 수행될 경우, 입력 변수의 값에 따라 해당 서비스 ID 를 가지는 서비스로, 채널 변경을 할 수 있다. 출력 변수는 없을 수 있다(none).
먼저 본 실시예에서, 두 디바이스는 페어링이 이미 수행되었다고 가정한다. 또한 컴패니언 디바이스는 전술한 ESG 서비스에 섭스크라이빙(subscribing) 한 상태라고 가정한다.
수신기는 ESG 데이터를 가지고 있을 수 있다(t65010). ESG 데이터는 ESGData 상태변수에 저장될 수 있다. 사용자는 ESG 어플리케이션을 실행하는 등의 특정 행동을 취할 수 있다(t65030). 특정행동이란 ESG 데이터가 필요한 어떤 동작일 수 있다.
컴패니언 디바이스는 전술한 GetESGData 액션을 통해 ESG 데이터를 요청하고, ESG 데이터를 전달받을 수 있다(t65040). 도시된 실시예는 사용자가 특정행동을 한 경우에 해당하나, 전술한 바와 같이 액션이 먼저 수행될 수 있고(특정행동여부에 상관없이), 이 후 일정 시점에서 사용자가 ESG 어플리케이션 등을 실행시키는 경우에 해당 액션을 통해 미리 전달받아 저장하였던 ESG 데이터가 노출될 수 있다.
컴패니언 디바이스는 수신된 ESG 를 파싱하고, 그 ESG 데이터를 이용하여 ESG 어플리케이션 등을 통해 노출시키는 등의 동작을 수행할 수 있다(t65050). 컴패니언 디바이스는 ESG 데이터를 노출시킴에 있어 전술한 실시예들대로 즉시 노출시키거나, 일단 저장해놓고 있는 등의 동작을 취할 수 있다.
사용자가 ESG 를 보던 중 컴패니언 디바이스의 UI 를 통해 서비스를 선택할 수 있다(t65060). 예를 들어 사용자는 NBCU 채널로의 변경을 시도했을 수 있다. 컴패니언 디바이스는 SetChangeChannel 액션을 수행할 수 있다(t65070). 이 액션을 통해 NBCU 채널에 해당하는 서비스 ID 가 수신기로 전달될 수 있다.
수신기는 전달받은 서비스 ID 를 이용하여, 해당 서비스로 채널변경을 할 수 있다(t65080). 서비스는 NBCU 로 변경되고 사용자에게 제공될 수 있다(t65090).
도 70 은 본 발명의 일 실시예에 따른 방송 서비스를 제공하는 방법을 도시한 도면이다.
본 발명의 일 실시예에 따른 방송 수신기에서 방송 서비스를 제공하는 방법은 컴패니언 디바이스와 페어링하는 단계 및/또는 ESG (Electronic Service Guide) 를 수신하는 단계를 포함할 수 있다.
방송 수신기의 네트워크 인터페이스 유닛은 컴패니언 디바이스와 페어링할 수 있다(t66010). 여기서 네트워크 인터페이스 유닛은 전술한 방송 수신기의 네트워크 인터페이스에 해당할 수 있다. 페어링을 위해서는 UPnP 등의 기술이 사용될 수 있으나, 페어링을 위한 기술은 이에 한정되지 아니한다.
방송 수신기의 수신 유닛은 ESG 내지 특정 서비스 가이드를 수신할 수 있다. 여기서 수신 유닛은 전술한 방송 수신기의 브로드캐스트 인터페이스 내지 네트워크 인터페이스일 수 있다. ESG 가 방송망을 통해 수신될 경우 수신 유닛은 브로드캐스트 인터페이스, 인터넷망을 통해 수신될 경우 수신유닛은 네트워크 인터페이스에 해당할 수 있다. 즉, 실시예에 따라 네트워크 인터페이스 유닛과 수신 유닛은 같은 블락/모듈일 수 있다.
본 실시예에서, ESG 는 적어도 하나 이상의 방송 서비스에 관한 ESG 데이터를 포함할 수 있다. 여기서, ESG 데이터는 ESG 에 포함되는 데이터 또는 ESG 내의 엘레멘트/성질을 의미할 수 있다. 방송 서비스는 전술한 서비스 내지 채널에 해당할 수 있다.
본 발명의 다른 실시예에 따른 방송 서비스를 제공하는 방법에서, ESG 데이터는 전술한 적어도 하나 이상의 방송 서비스의 서비스 타입 정보, 스케쥴 정보, 관련 컨텐츠 정보 또는 관련 컴포넌트 정보일 수 있다. ESG 데이터는 각각 전술한 Service 엘레멘트의 type 성질이거나, Schedule 엘레멘트, Content 엘레멘트 또는 Component 엘레멘트일 수 있다. 여기서 관련 컨텐츠, 관련 컴포넌트는 ESG 에 의해 기술되고 있는 서비스에 관련된 컨텐츠, 그에 관련된 컴포넌트를 의미할 수 있다.
본 발명의 또 다른 실시예에 따른 방송 서비스를 제공하는 방법은, 수신한 ESG 의 변경사항 정보를 상기 컴패니언 디바이스로 전달하는 단계를 더 포함할 수 있다. 이 동작은 전술한 네트워크 인터페이스 유닛에 의해 수행될 수 있다. 여기서 변경사항 정보는 기 저장된 ESG 데이터 대비 수신된 ESG 의 추가, 변경 또는 삭제된 ESG 데이터를 포함할 수 있다. 여기서 변경사항정보는 전술한 LastChangedESGData 상태변수일 수 있다. 추가, 변경 또는 삭제된 ESG 데이터는 각각 Addition, Modification, Deletion 엘레멘트에 해당할 수 있다.
본 발명의 또 다른 실시예에 따른 방송 서비스를 제공하는 방법은, 수신한 ESG 가 포함하는 방송 서비스들의 ID 리스트를 컴패니언 디바이스로 전달하는 단계, 컴패니언 디바이스로부터, ID 리스트 중 적어도 하나의 ID 로 식별되는 특정 방송 서비스들과 관련된 ESG 데이터를 요청받는 단계 및 요청된 특정 방송 서비스 관련 ESG 데이터를 컴패니언 디바이스로 전달하는 단계를 더 포함할 수 있다. 서비스 ID 리스트의 전달은 전술한 GetServiceIds 액션에 의해 수행될 수 있다. ID 에 의한 ESG 데이터 요청 및 전달은 전술한 GetESGbyServiceIds 액션에 의해 수행될 수 있다.
본 발명의 또 다른 실시예에 따른 방송 서비스를 제공하는 방법은, 컴패니언 디바이스로부터 현재 시청중인 방송 서비스의 ID 를 요청받고, 요청된 현재 시청중인 방송 서비스의 ID 를 컴패니언 디바이스로 전달하는 단계; 현재 시청중인 서비스에 관련된 ESG 데이터를 요청받는 단계; 및 요청된 현재 시청중인 서비스 관련 ESG 데이터를 컴패니언 디바이스로 전달하는 단계; 를 더 포함할 수 있다. 현재 시청중인 서비스의 ID 전달은 전술한 GetCurrentServiceId 액션에 의해 수행될 수 있다. ID 에 의한 ESG 데이터 요청 및 전달은 전술한 GetESGbyServiceIds 액션에 의해 수행될 수 있다.
본 발명의 또 다른 실시예에 따른 방송 서비스를 제공하는 방법은, 컴패니언 디바이스로부터 ESG 데이터의 특정 필드를 지시하는 서치 필드 및 특정 필드에 대한 타겟 값을 전달받는 단계; 컨트롤 유닛이 서치 필드가 지시하는 특정 필드가 타겟값을 가지는 ESG 데이터를 선별하는 단계; 및 선별된 ESG 데이터를 컴패니언 디바이스로 전달하는 단계;를 더 포함할 수 있다. 서치 필드 및 특정 필드에 대한 타겟값은 각각 전술한 A_ART_TYPE_SearchField 상태변수, A_ART_TYPE_TargetValue 상태변수에 해당할 수 있다. ESG 데이터 선별 및 전달은 전술한 SearchESG 액션에 의해 수행될 수 있다. 여기서 컨트롤 유닛은 전술한 방송 수신기의 메인 피지컬 디바이스의 컨트롤 유닛에 해당할 수 있다.
본 발명의 또 다른 실시예에 따른 방송 서비스를 제공하는 방법은, 컴패니언 디바이스로부터 컴패니언 디바이스의 인증 정보를 전달받는 단계, 여기서 인증 정보는 상기 컴패니언 디바이스의 디바이스 ID 정보를 포함하고; 인증 모듈이 인증 정보를 이용하여 컴패니언 디바이스의 인증 여부를 확인하는 단계; 및 컴패니언 디바이스의 인증이 확인된 경우, 방송 수신기의 디바이스 ID 정보를 컴패니언 디바이스로 전달하는 단계; 를 더 포함할 수 있다. 여기서 인증정보는 전술한 CompanionDeviceId, CompanionDeviceAppId 및/또는 CompanionDeviceAppVersion 상태변수에 해당할 수 있다. 방송 수신기의 디바이스 ID는 전술한 PrimaryDeviceId 상태변수에 해당할 수 있다. 인증 정보를 전달, 인증확인, 수신기 디바이스 ID 전달 등의 동작은 전술한 DoAuthenticationForESG 액션에 의해 수행될 수 있다. 여기서 인증모듈은 방송 수신기 내/외부에 위치하여 전술한 인증과 관련된 동작을 수행하는 블락/모듈일 수 있다. 인증 모듈은 실시예에 따라 전술한 컨트롤 유닛 또는 네트워크 인터페이스와 병합될 수 있다.
본 발명의 또 다른 실시예에 따른 방송 서비스를 제공하는 방법에서, ID 리스트를 상기 컴패니언 디바이스로 전달하는 단계는: 컴패니언 디바이스로부터 ID 리스트의 요청을 받는 단계, 여기서 ID 리스트의 요청은 컴패니언 디바이스의 인증정보를 포함하고; 인증 모듈이 인증 정보를 이용하여 컴패니언 디바이스의 인증 여부를 확인하는 단계; 및 컴패니언 디바이스의 인증이 확인된 경우, ID 리스트 및 방송 수신기의 디바이스 ID 정보를 컴패니언 디바이스로 전달하는 단계; 를 더 포함할 수 있다. 이 실시예는 전술한 서비스 ID 리스트를 통한 ESG 전달의 실시예에서, GetServiceIds 액션이 인증까지 수행될 수 있도록 확장된 경우에 해당할 수 있다.
본 발명의 또 다른 실시예에 따른 방송 서비스를 제공하는 방법은, 컴패니언 디바이스로부터 현재 시청중인 방송 서비스의 변경을 요청받는 단계, 여기서 방송 서비스 변경 요청은 전달된 ESG 데이터에 근거하고; 및 컨트롤 유닛이 방송 서비스 변경 요청에 따라 방송 수신기에서 시청중인 방송 서비스를 변경하는 단계;를 더 포함할 수 있다. 방송 변경을 요청받고, 이에 근거해 서비스를 변경하는 것은 전술한 SetChangeChannel 액션에 의해 수행될 수 있다.
전술한 방송 서비스를 제공하는 방법은 컴패니언 디바이스 입장에서도 기술될 수 있다. 본 발명은 전술한 실시예들을 컴패니언 디바이스 입장에서 수행하는 경우 역시 포함한다. 예를 들어 컴패니언 디바이스는 ESG 의 변경사항 정보를 전달받을 수 있고, 서비스의 ID 리스트를 요청하고 그 ID 를 이용해 관련 ESG 데이터를 전달받을 수 있다. 또한 컴패니언 디바이스는 현재 시청되고 있는 서비스의 ID 를 요청하고, 그를 이용해 관련 ESG 데이터를 전달받을 수 있다. 컴패니언 디바이스는 특정 필드를 지시하는 서치 필드, 특정값을 수신기로 전달하여 매칭되는 ESG 데이터를 전달받을 수 있고, 인증정보를 수신기로 보내 인증을 수행할 수 있다. 또한 컴패니언 디바이스는 현재 시청되고 있는 서비스의 변경을 요청할 수 있다. 수신기와의 통신은 컴패니언 디바이스 내/외부의 전술한 네트워크 인터페이스에 의해 수행될 수 있다. 서치 필드 관련 동작, 서비스 변경 요청 관련 동작, ESG 데이터 관련 처리 동작 등 제반 동작은 컴패니언 디바이스 내/외부의 전술한 컨트롤 유닛에 의해 수행될 수 있다. 또한 컴패니언 디바이스는 인증 관련 동작을 수행하는 인증모듈을 포함할 수 있다.
전술한 각 단계들은 생략되거나 동일 또는 유사한 동작을 하는 다른 단계에 의해 대체될 수 있다.
도 71 은 본 발명의 일 실시예에 따른 방송 수신기를 도시한 도면이다.
본 발명의 일 실시예에 따른 방송 수신기는 네트워크 인터페이스 유닛 및/또는 수신유닛을 포함할 수 있다. 본 발명의 다른 실시예에 따른 방송 수신기는 컨트롤 유닛 및/또는 인증모듈을 더 포함할 수 있다. 각각의 블락, 모듈, 유닛들은 전술한 바와 같다.
본 발명의 일 실시예에 따른 방송 수신기 및 그 내부 모듈/블락/유닛들은, 전술한 방송 수신기에서 방송 서비스를 제공하는 방법의 실시예들을 수행할 수 있다.
본 발명의 일 실시예에 따른 컴패니언 디바이스는 네트워크 인터페이스 유닛 및/또는 수신유닛을 포함할 수 있다. 본 발명의 다른 실시예에 따른 컴패니언 디바이스는 컨트롤 유닛 및/또는 인증모듈을 더 포함할 수 있다. 각각의 블락, 모듈, 유닛들은 전술한 바와 같다.
본 발명의 일 실시예에 따른 컴패니언 디바이스 및 그 내부 모듈/블락/유닛들은, 전술한 컴패니언 디바이스에서 방송 서비스를 제공하는 방법의 실시예들을 수행할 수 있다.
전술한 방송 수신기 및 컴패니언 디바이스 내부의 블락/모듈/유닛 등은 메모리에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있고, 실시예에 따라 장치 내/외부에 위치하는 하드웨어 엘레멘트들일 수 있다.
전술한 각 블락/모듈/유닛들은 생략되거나 동일 또는 유사한 동작을 하는 다른 블락/모듈에 의해 대체될 수 있다.
도 72은 본 발명의 일 실시예에 따른 방송 시스템의 구성을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치(C410010), 콘텐트 서버(C410020), 방송 수신 장치(C410100), 및/또는 컴패니언 스크린 디바이스(C410200) 중에서 적어도 하나를 포함할 수 있다.
방송 전송 장치(C410010)는 방송 서비스를 제공할 수 있다. 방송 전송 장치(C410010)는 제어부(미도시) 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다. 또한, 방송 전송 장치(C410010)는 송신기로 표현할 수 있다.
예를 들어, 방송 서비스는 콘텐트(또는, 리니어 서비스), 어플리케이션(또는, Non-리니어 서비스), 및/또는 시그널링 정보 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치(C410010)는 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 방송 서비스를 포함하는 방송 스트림을 전송할 수 있다.
콘텐트 서버(C410020)는 방송 수신 장치(C410100) 및/또는 컴패니언 스크린 디바이스(C410200)로부터 인터넷 망을 통하여 요청을 받고, 응답으로 인터넷 망을 통하여 방송 서비스를 제공할 수 있다.
방송 수신 장치(C410100)는 방송망 및/또는 인테넷망을 통하여 방송 서비스를 수신할 수 있다. 방송 수신 장치(C410100)는 수신기, 제1 수신기, 제1 스크린 디바이스(first screen device), 마스터 디바이스(Master Device, MD), 및/또는 프라이머리 디바이스(Primary Device, PD)로 표현할 수 있다.
방송 수신 장치(C410100)는 브로드캐스트 인터페이스(C410100; 또는 방송 수신부), 브로드밴드 인터페이스(C410130; 또는 IP 송수신부), 컴패니언 스크린 인터페이스(C410140; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C410150) 중에서 적어도 하나를 포함할 수 있다.
브로드캐스트 인터페이스(C410110)는 방송 서비스를 포함하는 방송 스트림을 수신할 수 있다. 이때 방송 스트림은 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 전송될 수 있다. 따라서 브로드캐스트 인터페이스(C410110)는 방송 스트림을 수신하기 위하여 위성 튜너, 지상파 튜너, 케이블 튜너 중 적어도 어느 하나를 포함할 수 있다.
브로드밴드 인터페이스(C410130)는 콘텐트 서버(C410020)에 방송 서비스를 요청할 수 있다. 또한, 브로드밴드 인터페이스(C410130)는 콘텐트 서버로부터 방송 서비스를 수신할 수 있다.
컴패니언 스크린 인터페이스(C410140)는 컴패니언 스크린 디바이스(C410200)의 프라이머리 디바이스 인터페이스(C410240)로 방송 서비스 및/또는 시그널링 데이터를 송신 및/또는 수신할 수 있다.
디코더(미도시)는 방송 서비스를 디코딩할 수 있다.
디스플레이(미도시)는 방송 서비스를 디스플레이할 수 있다.
제어부(C410150)는 브로드캐스트 인터페이스(C410100), 브로드밴드 인터페이스(C410130), 컴패니언 스크린 인터페이스(C410140), 디코더, 및/또는 디스플레이의 동작을 제어할 수 있다.
컴패니언 스크린 디바이스(C410200)는 콘텐트 서버(C410020)로부터 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 컴패니언 스크린 디바이스(C410200)는 제2 방송 수신 장치, 제2 수신기, 제2 스크린 디바이스(second screen device), 슬레이브 디바이스(Slave Device, SD), 및/또는 컴패니언 디바이스(Companion Device, CD)로 표현할 수 있다. 컴패니언 스크린 디바이스(C410200)는 브로드밴드 인터페이스(C410230; 또는 IP 송수신부), 프라이머리 디바이스 인터페이스(C410240; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C410250) 중에서 적어도 하나를 포함할 수 있다. 컴패니언 스크린 디바이스(C410200)의 개수는 복수일 수 있다.
브로드밴드 인터페이스(C410230)는 콘텐트 서버(C410020)에 방송 서비스를 요청하고, 콘텐트 서버(C410020)로부터 방송 서비스를 수신할 수 있다. 또한, 브로드밴드 인터페이스(C410230)는 방송 수신 장치(C410100)로부터 방송 서비스를 수신할 수 있다.
프라이머리 디바이스 인터페이스(C410240)는 방송 수신 장치(C410100)의 컴패니언 스크린 인터페이스(C410140)로 방송 서비스 및/또는 서비스 데이터를 송신 및/또는 수신할 수 있다.
디코더(미도시)는 방송 서비스를 디코딩할 수 있다.
디스플레이(미도시)는 방송 서비스를 디스플레이할 수 있다.
제어부(C410250)는 브로드밴드 인터페이스(C410230), 프라이머리 디바이스 인터페이스(C410240), 디코더, 및/또는 디스플레이의 동작을 제어할 수 있다.
이하에서는 PD(또는 방송 수신 장치)와 CD(컴패니언 스크린 디바이스)에서지된되는 다섯 가지 유형의 기능들을 설명한다.
첫 번째 기능은 CD에서 동시 재생을 위하여 PD에서 현재 선택된 서비스의 일부인 연속적인 컴포넌트들을 흘려보내기(stream)위해 PD를 사용하는 것이다. 컴포넌트들은 PD에서 재생되는 컴포넌트들과 동일할 수 있다. 또는 컴포넌트들은 현재 PD에서 재생되지 않는 대체적인 컴포넌트들일 수 있다.
두 번째 기능은 PD에서 현재 선택된 서비스의 일부인 파일들 또는 데이터를 CD로 전달(deliver)하기 위하여 PD를 사용하는 것이다. 데이터는 PD 외의 소스들로부터 콘텐트에 접근하는 방법 또는 장소를 포함할 수 있다. 예를 들어, 데이터는 원거리 서버의 URL을 포함할 수 있다. CD는 단일의 특정 파일(single particular file) 또는 데이터 패키지를 요청할 수 있다. 또는 CD는 일련의(a series of) 특정 파일들 또는 데이터의 "구독(subscribe)"을 요청할 수 있다.
세 번째 기능은, CD가 PD에서 재생되는 콘텐트와 함께 CD에서 재생되는 콘텐트를 동기화하기 위해서, PD에서 현재 선택된 서비스에 대한 미디어 타임라인 정보를 CD로 전달(deliver)하기 위하여 PD를 사용하는 것이다.
네 번째 기능은 PD 어플리케이션과 협력하는 CD 어플리케이션을 사용하는 것이다. PD 어플리케이션은 스케줄드 리니어 서비스(Scheduled Linear Service)의 일부인 인핸스먼트 어플리케이션일 수 있다. 또한 PD 어플리케이션은 앱-베이스드 서비스(App-Based Service, Unscheduled service)의 일부인 어플리케이션일 수 있다.
다섯 번째 기능은 EAM Delivery 이다. 즉, 다섯 번째 기능은 비상 경보 메시지(Emergency Alert Message)들을 CD로 전달하기 위하여 PD를 사용하는 것이다. 이것은 CD가 연속적인 콘텐트를 디스플레이하고 있을 때 특히 중요하다. 왜냐하면, 비상 경보가 발생했을 때, 사용자(또는, viewer)는 PD에 집중하지 못할 수 있고 PD와 같은 방에 있지 않을 수 있기 때문이다.
서버 역할의 PD와 함께, CD 지원을 위한 적절한 패러다임은 클라이언트-서버 패러다임이다는 것은 예상된다. 즉, PD는 어떤(certain) CD 지원 동작들을 지원할 수 있다. 이것은 CD에도 적용될 수 있다. 각각의 상호작용(interaction)은 특정한(particular) 동작을 적용하기 위하여 클라이언트(또는, CD)로부터 서버(또는, PD)로의 요청에 의해서 개시될 수 있다. 쌍방향 통신(Two-way communication)들이 통신들을 설정(set-up)하기 위하여 클라이언트(또는, CD)로부터 서버(또는, PD)로의 요청에 의해서 개시될 수 있다. PD로부터 CD로의 비동기 통지(asynchronous notification)들은 서버(또는, PD)에 통지들의 스트림을 구독하는 것을 요청하는 클라이언트(또는, CD) 요청에 의하여 개시될 수 있다. 이하에서 서술되는 모든 메시지들은 다르게 명시된 것을 제외하고는 유니캐스트일 수 있다.
보안 메커니즘은 CD 어플리케이션 요청들을 인증하기 위하여 필요할 수 있다.
이하에서는, 사용예들(Use cases) 을 설명한다.
예를 들어, Julio는 TV 스크린으로 그가 선호하는 Rock & Roll 밴드의 방송 콘서트를 시청하고 있다. TV에서의 통지 팝업(notification pop-up)은 그에게 각각의 뮤지션을 보여주는(presenting) 콘서트의 대체적인 카메라 뷰(alternative camera view)들이 그의 CD에 있는 지정된 어플리케이션을 통하여 이용가능하다는 것을 알려준다. Julio는 기타리스트, 베이시스트, 싱어 및 드러머를 클로우즈-업한 장면들(close-ups)이 이용가능하다는 것을 알려주는 어플리케이션을 시작할 수 있다. Julio는 노래에서 기타 솔로 도중에 기타리스트를 선택할 수 있고, 나중에는 드러머로 변경할 수 있다. TV 스크린 및 컴패니언 스크린에서 미디어 콘텐트들은 동시에 랜더링(synchronously rendered)될 수 있다.
예를 들어, Mary는 시각 장애자를 위한 비디오 디스크립션을 듣는 것(hearing video description)에 관심이 있지만, Mary는 방에 있는 모든 시청자들이 그것을 듣는 것을 원하지는 않는다. 그녀의 CD에 있는 어플리케이션을 이용하여, 그녀는 다양한 이용가능한 오디오 트랙들을 발견하고, 그녀의 CD에서 재생하기위한 디스크립션 트랙(description track)을 선택할 수 있다. John은 시각 장애인이고, 사운드 디스크립션(sound description)과 함께 클로우즈드 캡션(closed caption)들을 읽고 싶어 한다. 그의 CD에 있는 어플리케이션을 이용하여, 그는 클로우즈드 캡션들을 위한 다양한 옵션들을 발견하고, 그의 CD에서 재생하기 위한 오디오 디스크립션과 함께 하나를 선택할 수 있다. Hector는 스페인어 서브타이틀들을 읽는 것 대신에 목소리 더빙(voice over-dub)들을 선호한다. 그는 텍스트를 목소리로 변환하는 기능(text-to-voice function)을 가진 CD 어플리케이션을 가지고 있다. 그의 CD를 사용하여, 그는 스페인어 서브타이틀들을 발견하고, 텍스트를 헤드폰들을 통해서 듣는 목소리로 변경하는 어플리케이션을 사용할 수 있다.
예를 들어, Jane은 그녀가 좋아하는 게임 쇼를 시청하고 있다. TV에서의 통지 팝업(A notification pop-up)은 그녀에게 지정된 태블릿 어플리케이션을 통하여 그녀의 태블릿에서 함께 플레이할 수 있다는 것을 알려준다. 그녀는 그 어플리케이션을 시작하고, 실시간으로 게임 쇼에 따라서 플레이할 수 있다. 쇼에서 표현되는 것과 동시에 그녀의 태블릿에서 각각의 질문이 그녀에게 표현된다. 그리고 그녀의 응답 시간은 그 쇼의 참가자가 가진 응답 시간에 제한된다. 그녀의 점수는 어플리케이션에 의해서 추적되고, 그녀는 태블릿 어플리케이션을 사용하여 함께 플레이하고 있는 다른 시청자들 사이에서 그녀의 랭킹을 볼 수 있다.
예를 들어, George는 그의 메인 TV에서 온디맨드 어플리케이션(OnDemand app)을 시작한다. TV 어플리케이션은 George를 위한 프로그램 추천(program recommendation)들을 만들기 위해서 George로부터 몇 가지 데모그래픽 정보(demographic information)를 요청할 수 있다. TV 어플리케이션은, 데이터를 더욱 쉽게 입력하기 위해서, George가 다운로드 할 수 있는 컴패니언 태블릿 어플리케이션을 제안한다. George는 태블릿 어플리케이션을 다운로드 및 시작한다. 태블릿 어플리케이션은 George에게 데이터 입력 필드(data entry field)들을 제공한다. George는 그의 태블릿에서 데이터 입력(data entry)을 완료하고, 그 정보는 TV 어플리케이션에 등록된다. TV 어플리케이션은 그의 입력들을 기초로 몇가지 온디맨드 프로그램(OnDemand program)들을 추천한다. George는 그의 TV에서 표현되는 추천되는 프로그램들 중에서 하나를 선택하기위해서 그의 태블릿을 사용한다. 대체적인 방법으로, George는 메인 TV 대신에 그의 태블릿에서 표현되는 추천되는 프로그램들 중에서 하나를 선택하기위해서 그의 태블릿을 사용한다.
예를 들어, Laura는 거실에서 그녀가 좋아하는 프로그램을 시청하고 있다. 그녀는 집 주변에서 할 필요가 있는 다양한 일들을 가지고 있다. 하지만, 그녀는 그녀가 좋아하는 쇼를 놓치고 싶지 않다. 그녀는 그녀의 TV 뿐만 아니라 그녀의 태블릿에서도 그녀의 쇼를 시청할 수 있게 하는 그녀의 태블릿에 있는 어플리케이션을 시작한다. 그녀는 방에서 방으로 옮겨다니면서 그녀의 태블릿으로 그녀의 쇼를 계속 시청한다. Laura가 세탁실에 있는 동안에, 긴급 경보 메시지기 방송된다. 메시지는 그녀의 태블릿에 나타난다. 태블릿은 또한 그녀에게 그녀가 원하면 볼 수 있는 이벤트의 비디오가 있다는 것을 알려준다. 그녀는 비디오를 선택하고, 시청을 시작한다. 그녀는 긴급 메시지가 전달하는 지시(instruction)들을 따른다.
이하에서는, PD 어플리케이션과 CD 어플리케이션 사이의 통신(PD App to CD App Communication) 에 대하여 설명한다.
몇몇의 사례에서, PD 어플리케이션과 CD 어플리케이션은 서로 협력하여(in tandem) 동작하기 위해서 설계될 수 있다. 이 경우, 어플리케이션 설계자는 어플리케이션 간의 통신(app-to-app communication)의 구체적인 내용에 대하여 결정할 것이 예상된다. PD 어플리케이션들과 CD 어플리케이션들은 모두 다른 어플리케이션(the other application)에 대한 사용자에 대한 정보를 포함하고 있고, 또한 다른 어플리케이션(the other application)을 다운로드하는 방법 및 시작(launch)하는 방법을 포함할 수 있다. 비록 CD 어플리케이션이 현재 시작되지 않더라도, CD 어플리케이션은 PD 어플리케이션으로부터의 어나운스먼트 메시지(announcement message)를 들으려고 항상 "귀를 기울이는" 메커니즘을 포함할 수 있다. ATSC가 이러한 동작에 대한 어떤 표준들을 명시할 것이라는 것은 예상되지 않는다. (HbbTV 2.0은 필요한 동작에 대하여 몇몇 규격(specification)들을 제공한다)
도 73는 본 발명의 일 실시예에 따른 방송 시스템의 플로우 다이어그램을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치(C420010), 방송 수신 장치(C420100, PD), 및/또는 컴패니언 스크린 디바이스(C420200, CD) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 방송 시스템의 구성요소들의 내용은 전술한 방송 시스템의 구성요소들의 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치(C420100)는 미디어 플레이백 상태 정보를 컴패니언 스크린 디바이스(C420200)로 통지할 수 있다.
미디어 플레이백 상태 정보는 PD에서 미디어 플레이백 상태를 CD로 전달하기위한 정보이다. 미디어 플레이백 상태 정보는 CD가 PD와 동기화된 상태에서 미디어 스트림을 재생(playing back)할 때 유용할 수 있다.
PD는 방송 서비스 및/시그널링 데이터를 수신할 수 있다(CS420010).
그리고 나서, PD와 CD는 양방향 통신을 위한 페어링 세션을 생성할 수 있다(CS420020). 구체적으로, PD와 CD는 UPnP 프로토콜을 이용하여 페어링 세션을 생성할 수 있다. 구체적으로, PD 어플리케이션 및 CD 어플리케이션 모두는 그들의 존재와 ATSC 3.0 서비스 지원을 수색(searching) 및/또는 광고(advertising)하는 멀티캐스트 디스커버리 메시지(multicast discovery message)들을 전송할 수 있다.
그리고 나서, PD는 CD로부터 현재의 미디어 플레이백 상태 정보를 요청하는 미디어 플레이백 상태 정보 구독 요청을 수신할 수 있다(CS420030).
그리고 나서, PD는 미디어 플레이백 상태 정보 구독 응답을 CD로 전송할 수 있다(CS420040).
한편, PD는 미디어 플레이백 상태 정보 구독 갱신/취소 요청을 CD로부터 수신할 수 있다(CS420050).
또한, PD는 미디어 플레이백 상태 정보 구독 갱신/취소 응답을 CD로 전송할 수 있다(CS420060).
그리고 나서, PD의 미디어 플레이백 상태가 변경될 수 있다(CS420070).
*904PD의 미디어 플레이백 상태가 변경되면, PD는 미디어 플레이백 상태 정보를 CD로 통지할 수 있다(CS420080).
그리고 나서, PD는 미디어 플레이백 상태 정보의 통지에 대한 응답을 CD로부터 수신할 수 있다(CS420090).
도 74은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 요청과 관련된 정보를 나타낸 도면이다.
컴패니언 스크린 디바이스(CD)는 구독 요청을 방송 수신 장치(CD)로 전송할 수 있다. 예를 들어, 컴패니언 스크린 디바이스(CD)는 미디어 플레이백 상태 정보 구독 요청을 방송 수신 장치(CD)로 전송할 수 있다. 시기는 명시되지 않을 수 있다(즉, 어플리케이션 디자이너에 따라서 결정될 수 있다).
도면을 참고하면, 컴패니어 스크린 디바이스(CD)가 미디어 플레이백 상태 정보를 방송 수신 장치(PD)로부터 수신하기 위한 구독 요청(또는 미디어 플레이백 상태 정보 구독 요청)에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
미디어 플레이백 상태 정보 구독 요청은 SubscriptionCallbackURL 엘리먼트, SubscriptionDuration 엘리먼트, MediaURL 엘리먼트, MediaID 엘리먼트, CDDevID 엘리먼트, CDAppID 엘리먼트, 및/또는 CDAppVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
SubscriptionCallbackURL 엘리먼트는 미디어 플레이백 상태 정보 메시지를 수신하기 위한 Uniform Resource Locator (URL) 정보를 지시할 수 있다.
SubscriptionDuration 엘리먼트는 미디어 플레이백 상태 정보 구독이 만료되기까지 요청된 기간을 지시할 수 있다. 예를 들어, 요청된 기간은 초(second) 단위 일 수 있다. SubscriptionDuration 엘리먼트의 값이 특정한 값이면(예를 들어, "-1"), 요청된 기간은 무한대의 기간을 지시할 수 있다.
MediaURL 엘리먼트는 미디어 플레이백 상태 정보 구독이 요청되는 미디어를 위한 URL을 지시할 수 있다. 만약 MediaURL 엘리먼트가 존재하지 않으면, 방송 수신 장치에서 현재 플레이백 되고 있는 미디어에 대한 정보가 선택적으로 요청될 수 있다.
MediaID 엘리먼트는 미디어 플레이백 상태 정보 구독이 요청되는 미디어를위한 식별자를 지시할 수 있다. 이 식별자는 미디어 플레이백 상태 정보 구독이 요청되는, 방송 수신 장치의, 미디어를 고유하게 식별할 수 있다.
CDDevID 엘리먼트는 컴패니언 스크린 디바이스를 위한 디바이스 식별자를 지시할 수 있다.
CDAppID 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션 식별자를 지시할 수 있다.
CDAppVersion 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션의 버전 정보를 지시할 수 있다.
컴패니언 스크린 디바이스는 미디어 플레이백 상태 정보 요청을 특정의 주소(예를 들어, SubscriptionURL)를 이용하여 방송 수신 장치로 전송할 수 있다.
도 75는 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 응답과 관련된 정보를 나타낸 도면이다.
방송 수신 장치(PD)는 구독 응답을 컴패니언 스크린 디바이스(CD)로 전송할수 있다. 예를 들어, 방송 수신 장치는 미디어 플레이백 상태 정보 구독 응답을 컴패니언 스크린 디바이스로 전달할 수 있다. 구독 요청을 받자마자(초기 응답), 및/또는 콘텐트가 변경될 때마다(이후의 응답들)(즉, 서비스, 쇼, 또는 세그먼트가 변경될 때마다), 방송 수신 장치는 구독 응답을 컴패니언 스크린 디바이스로 전송할 수 있다.
도면을 참조하면, 구독 요청이 성공적으로 승인되었을 경우에, 미디어 플레이백 상태 정보 구독 응답에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
미디어 플레이백 상태 정보 구독 응답은 StatusCode 엘리먼트, StatusString 엘리먼트, SubscriptionID 엘리먼트, SubscriptionTimeoutDuration 엘리먼트, MediaURL 엘리먼트, MediaID 엘리먼트, PDDevID 엘리먼트, 및/또는 PDVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 요청이 성공적으로 승인되었다는 것을 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "aaa")을 가지면, 요청이 성공적으로 승인되었다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
SubscriptionID 엘리먼트는 현재의 미디어 플레이백 상태 정보 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독을 고유하게 식별하기 위해서 사용될 수 있다.
SubscriptionTimeoutDuration 엘리먼트는 미디어 플레이백 상태 정보 구독이 만료되는 실제의 기간(duration)을 지시할 수 있다. 예를 들어, 기간(duration)은 초(second) 단위일 수 있다. SubscriptionTimeoutDuration 엘리먼트의 값이 특정한 값이면(예를 들어, "-1"), 구독이 만료되는 실제의 기간은 무한대의 기간을 지시할 수 있다.
MediaURL 엘리먼트는 미디어 플레이백 상태 정보 구독 응답이 전송되는 미디어를 위한 URL을 지시할 수 있다.
MediaID 엘리먼트는 미디어 플레이백 상태 정보 구독 응답이 전송되는 미디어를 위한 식별자를 지시할 수 있다. 이 식별자는 미디어 플레이백 상태 정보 구독 응답이 전송되는, 방송 수신 장치의, 미디어를 고유하게 식별할 수 있다. 또한, 이 식별자는 미디어를 전송되는 SubscriptionID 엘리먼트에 연관시킬 수 있다.
PDDevID 엘리먼트는 방송 수신 장치를 위한 디바이스 식별자를 지시할 수 있다.
PDVersion 엘리먼트는 방송 수신 장치를 위한 버전 정보를 지시할 수 있다.
도 76는 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 응답과 관련된 정보를 나타낸 도면이다.
도면을 참조하면, 구독 요청이 승인되지 않았을 경우에, 미디어 플레이백 상태 정보 구독 응답에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
미디어 플레이백 상태 정보 구독 응답은 StatusCode 엘리먼트 및/또는 StatusString 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 요청이 승인되지 않은 이유를 설명하는 실패 상태 코드를 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "xxx")을 가지면, SubscriptionCallbackURL 엘리먼트가 존재하지 않거나 유효하지 않다고 지시할 수 있다. 또한, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "yyy")을 가지면, 구독 요청을 승인할 수 없다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
도 77은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 갱신 요청과 관련된 정보를 나타낸 도면이다.
컴패니언 스크린 디바이스(CD)는 구독 갱신 요청을 방송 수신 장치(PD)로 전송할 수 있다. 예를 들어, 컴패니언 스크린 디바이스(CD)는 미디어 플레이백 상태 정보 구독 갱신 요청을 방송 수신 장치로 전송할 수 있다. 구독을 갱신하기 위해서 구독 타임아웃 이전에, 컴패니언 스크린 디바이스는 미디어 플레이백 상태 정보 구독 갱신 요청을 방송 수신 장치로 전송할 수 있다.
도면을 참고하면, 컴패니언 스크린 디바이스가 방송 수신 장치로부터 계속적으로 미디어 플레이백 상태 정보를 수신하기 위한 미디어 플레이백 상태 정보 구독 갱신 요청에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
미디어 플레이백 상태 정보 구독 갱신 요청은 SubscriptionID 엘리먼트, SubscriptionDuration 엘리먼트, CDDevID 엘리먼트, CDAppID 엘리먼트, 및/또는 CDAppVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
SubscriptionID 엘리먼트는 현재의 미디어 플레이백 상태 정보 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독을 고유하게 식별하기 위해서 사용될 수 있다.
SubscriptionDuration 엘리먼트는 미디어 플레이백 상태 정보 구독이 만료되기까지 요청된 기간을 지시할 수 있다. 예를 들어, 요청된 기간은 밀리세컨드(millisecond) 단위 일 수 있다. SubscriptionDuration 엘리먼트의 값이 특정한 값이면(예를 들어, "-1"), 요청된 기간은 무한대의 기간을 지시할 수 있다.
CDDevID 엘리먼트는 컴패니언 스크린 디바이스를 위한 디바이스 식별자를 지시할 수 있다.
CDAppID 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션 식별자를 지시할 수 있다.
CDAppVersion 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션의 버전 정보를 지시할 수 있다.
도 78은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 취소 요청과 관련된 정보를 나타낸 도면이다.
컴패니언 스크린 디바이스(CD)는 구독 취소 요청을 방송 수신 장치로 전송할 수 있다. 예를 들어, 구독을 취소하기 위해서 언제든지, 컴패니언 스크린 디바이스는 미디어 플레이백 상태 정보 구독 취소 요청을 방송 수신 장치로 전송할 수 있다.
도면을 참고하면, 컴패니어 스크린 디바이스(CD)가 미디어 플레이백 상태 정보를 방송 수신 장치(PD)로부터 수신하는 것을 취소하기 위한 구독 취소 요청(또는 미디어 플레이백 상태 정보 구독 취소 요청)에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
미디어 플레이백 상태 정보 구독 취소 요청은 SubscriptionID 엘리먼트, CDDevID 엘리먼트, CDAppID 엘리먼트, 및/또는 CDAppVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
SubscriptionID 엘리먼트는 현재의 미디어 플레이백 상태 정보 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독을 고유하게 식별하기 위해서 사용될 수 있다.
CDDevID 엘리먼트는 컴패니언 스크린 디바이스를 위한 디바이스 식별자를 지시할 수 있다.
CDAppID 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션 식별자를 지시할 수 있다.
CDAppVersion 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션의 버전 정보를 지시할 수 있다.
도 79은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 갱신 응답과 관련된 정보를 나타낸 도면이다.
방송 수신 장치(PD)는 구독 갱신 응답을 컴패니언 스크린 디바이스(CD)로 전송할 수 있다. 예를 들어, 구독 갱신 요청을 받자마자, 방송 수신 장치는 미디어 플레이백 상태 정보 구독 갱신 응답을 컴패니언 스크린 디바이스로 전송할 수 있다.
도면을 참조하면, 구독 갱신 요청이 성공적으로 승인되었을 경우에, 미디어 플레이백 상태 정보 구독 갱신 응답에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
미디어 플레이백 상태 정보 구독 갱신 응답은 StatusCode 엘리먼트, StatusString 엘리먼트, SubscriptionID 엘리먼트, SubscriptionTimeoutDuration 엘리먼트, PDDevID 엘리먼트, 및/또는 PDVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 요청이 성공적으로 승인되었다는 것을 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "aaa")을 가지면, 요청이 성공적으로 승인되었다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
SubscriptionID 엘리먼트는 현재의 미디어 플레이백 상태 정보 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독을 고유하게 식별하기 위해서 사용될 수 있다.
SubscriptionTimeoutDuration 엘리먼트는 미디어 플레이백 상태 정보 구독이 만료되는 실제의 기간(duration)을 지시할 수 있다. 예를 들어, 기간(duration)은 초(second) 단위일 수 있다. SubscriptionTimeoutDuration 엘리먼트의 값이 특정한 값이면(예를 들어, "-1"), 구독이 만료되는 실제의 기간은 무한대의 기간을 지시할 수 있다.
PDDevID 엘리먼트는 방송 수신 장치를 위한 디바이스 식별자를 지시할 수 있다.
PDVersion 엘리먼트는 방송 수신 장치를 위한 버전 정보를 지시할 수 있다.
도 80는 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 갱신 응답과 관련된 정보를 나타낸 도면이다.
도면을 참조하면, 구독 요청이 승인되지 않았을 경우에, 미디어 플레이백 상태 정보 구독 갱신 응답에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
미디어 플레이백 상태 정보 구독 갱신 응답은 StatusCode 엘리먼트 및/또는 StatusString 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 요청이 승인되지 않은 이유를 설명하는 실패 상태 코드를 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "xxx")을 가지면, SubscriptionCallbackURL 엘리먼트가 존재하지 않거나 유효하지 않다고 지시할 수 있다. 또한, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "yyy")을 가지면, 구독 요청을 승인할 수 없다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
도 81은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 구독 취소 응답과 관련된 정보를 나타낸 도면이다.
방송 수신 장치(PD)는 구독 취소 응답을 컴패니언 스크린 디바이스(CD)로 전송할 수 있다. 예를 들어, 구독 취소 요청을 받자마자, 방송 수신 장치는 미디어 플레이백 상태 정보 구독 취소 응답을 컴패니언 스크린 디바이스로 전송할 수 있다.
도면을 참조하면, 미디어 플레이백 상태 정보 구독 취소 응답에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
미디어 플레이백 상태 정보 구독 취소 응답은 StatusCode 엘리먼트 및/또는 StatusString 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 구독 취소 요청의 상태를 지시하는 성공/실패 지시 상태 코드(success/ failure indication status code)를 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "aaa")을 가지면, 구독 취소 요청이 성공적으로 승인되었다고 지시할 수 있다. 또한, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "yyy")을 가지면, 구독 취소 요청(또는 구독 갱신 요청)을 승인할 수 없다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
도 82은 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 통지 메시지를 나타낸 도면이다.
방송 수신 장치(PD)는 통지 메시지를 컴패니언 스크린 디바이스로 전송할 수 있다. 통지 메시지의 전송에 사용되는 프로토콜은 웹소켓(WebSocket) 또는 통지(Notification) 일 수 있다.
예를 들어, 구독 요청을 받자마자, 및/또는 현재 콘텐트의 식별 또는 관련된 정보가 변경된 때, 방송 수신 장치는 미디어 플레이백 상태 정보 통지 메시지를 컴패니언 스크린 디바이스로 전송할 수 있다.
도면을 참고하면, 미디어 플레이백 상태 정보 통지 메시지는 SubscriptionID 엘리먼트, MPState 엘리먼트, MPSpeed 엘리먼트, MediaURL 엘리먼트, MediaID 엘리먼트, PDDevID, 및/또는 PDVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
SubscriptionID 엘리먼트는 현재의 미디어 플레이백 상태 정보 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독(또는 가입, subscription)을 고유하게 식별하기 위해서 사용될 수 있다.
MPState 엘리먼트는 SubscriptionID 엘리먼트에 의하여 식별된 미디어 플레이백 상태 정보 구독과 관련되는 mediaURL 엘리먼트 및/또는 mediaID 엘리먼트(또는 mediaURL 엘리먼트 및/또는 mediaID 엘리먼트에 의해서 식별되는 미디어)를 위한 현재의 미디어 플레이백 상태를 지시할 수 있다. 예를 들어, 미디어 플레이백 상태는 "재생(PLAYING)", "일시중지(PAUSED)", "중단(STOPPED)", "앞으로 감기(FFORWARD)", "뒤로 감기(FBACKWARD)", "버퍼링(BUFERRING)", 및/또는 "언노운(UNKNOWN)" 중에서 적어도 하나를 포함할 수 있다.
"중단(STOPPED)" 상태는 미디어 플레이백 상태 정보와 관련되는 mediaID 엘리먼트(또는 mediaID 엘리먼트에 의해서 식별되는 미디어)를 위한 미디어 스트림의 마지막을 지시할 수 있다.
MPSpeed 엘리먼트는 정상 속도(normal speed)와 비교하여(relative to) 미디어 (플레이백) 상태의 현재의 속도를 지시할 수 있다.
MPSpeed 엘리먼트의 값은 정수 값을 가질 수 있다. 예를 들어, 정상 속도(normal speed)에 대한 MPSpeed 엘리먼트의 값은 "1"일 수 있다. MPState 엘리먼트가 "재생(PLAYING)", "앞으로 감기(FFORWARD)", 및/또는 "뒤로 감기(FBACKWARD)" 중에서 하나를 지시할 때, MPSpeed 엘리먼트는 적용될 수 있다.
MPState 엘리먼트가 "앞으로 감기(FFORWARD)" 및/또는 "뒤로 감기(FBACKWARD)"를 지시하면, MPSpeed 엘리먼트는 정상 속도(normal speed)와 비교하여(relative to) 미디어 타임라인이 앞으로 이동(moving forward) 및/또는 뒤로 이동(moving backward)하는 속도를 지시할 수 있다.
MPState 엘리먼트가 "재생(PLAYING)"을 지시하면, MPSpeed 엘리먼트는 정상 속도(normal speed)와 비교하여(relative to) 미디어 플레이백이 진행되고 있는 속도를 지시할 수 있다.
보다 구체적으로 설명하면, 양의 값을 가지는 MPSpeed 엘리먼트(Positive MPSpeed values)는 "포워드 플레이백(forward playback)"를 지시할 수 있다. "포워드 플레이백(forward playback)"는 미디어 타임 라인 포지션이 월-클럭 시간(wall-clock time)이 증가하는 만큼 증가한다는 것을 의미할 수 있다.
또한, 음의 값을 가지는 MPSpeed 엘리먼트(Negative MPSpeed values)는 "백워드 플레이백(backward playback)"를 지시할 수 있다. "백워드 플레이백(backward playback)"는 미디어 타임 라인 포지션이 월-클럭 시간(wall-clock time)이 감소하는 만큼 감소한다는 것을 의미할 수 있다.
MPSpeed 엘리먼트의 값이 "1"이면, MPSpeed 엘리먼트는 정상 속도(normal speed)로 "포워드 플레이백(forward playback)"을 지시할 수 있다. 정상 속도(normal speed)로 "포워드 플레이백(forward playback)"의 경우에, 미디어 타임라인은 월-클럭 시간(wall-clock time)과 같은 양의 시간만큼 증가할 수 있다. MPSpeed 엘리먼트의 값이 "-1"이면, MPSpeed 엘리먼트는 정상 속도(normal speed)로 "백워드 플레이백(backward playback)"을 지시할 수 있다. 정상 속도(normal speed)로 "백워드 플레이백(backward playback)"의 경우에, 미디어 타임라인은 월-클럭 시간(wall-clock time)과 같은 양의 시간만큼 감소할 수 있다.
MPSpeed 엘리먼트의 값이 "X"이면, MPSpeed 엘리먼트는 정상 속도(normal speed)의 "X" 배의 속도로 플레이백(playback)을 지시할 수 있다. 정상 속도(normal speed)의 "X" 배의 속도로 플레이백(playback)의 경우에, 미디어 타임라인은 월-클럭 시간(wall-clock time)의 "X" 배의 속도량 만큼 증가(양의 "X" 값에 대하여)하거나 감소(음의 "X" 값에 대하여)할 수 있다. 예를 들어, "X"는 "0" 및/또는 "1"이 아닐 수 있다.
현재의 MPState 엘리먼트가 "재생(PLAYING)"을 지시하면, "0"의 값을 가지는 MPSpeed 엘리먼트는 "언노운 플레이백 속도(UNKNOWN playback speed)를 지시하도록 예약될 수 있다.
MPState 엘리먼트가 "재생(PLAYING)" 이외의 상태를 지시하면, MPSpeed 엘리먼트는 "0"의 값을 가질 수 있다.
MPState 엘리먼트가 "재생(PLAYING)"을 지시하면, 존재하지 않는 MPSpeed 엘리먼트는 "1"의 값을 가지는 것으로 추정될 수 있다.
MPState 엘리먼트가 "재생(PLAYING)" 이외의 상태를 지시하면, 존재하지 않는 MPSpeed 엘리먼트는 "0"의 값을 가지는 것으로 추정될 수 있다.
MediaURL 엘리먼트는 미디어 플레이백 상태 정보 구독이 요청되는 미디어를 위한 URL을 지시할 수 있다. 만약 MediaURL 엘리먼트가 존재하지 않으면, 방송 수신 장치에서 현재 플레이백 되고 있는 미디어에 대한 정보가 선택적으로 통지될 수 있다.
MediaID 엘리먼트는 미디어 플레이백 상태 정보 구독이 요청되는 미디어를위한 식별자를 지시할 수 있다. 이 식별자는 미디어 플레이백 상태 정보 구독이 요청되는, 방송 수신 장치의, 미디어를 고유하게 식별할 수 있다.
예를 들어, "CURRENT"의 값을 가지는 MediaID 엘리먼트는 방송 수신 장치에서 현재 플레이백되는 메인 미디어에 대한 정보가 요청된다는 것을 지시할 수 있다.
PDDevID 엘리먼트는 방송 수신 장치를 위한 디바이스 식별자를 지시할 수 있다.
PDVersion 엘리먼트는 방송 수신 장치를 위한 버전 정보를 지시할 수 있다.
방송 수신 장치는 미디어 플레이백 상태 정보 응답을 특정의 주소(예를 들어, SubscriptionCallbackURL)를 이용하여 컴패니언 스크린 디바이스로 전송할 수 있다.
도 83는 본 발명의 일 실시예에 따른 미디어 플레이백 상태 정보 통지 메시지에 대한 응답 메시지를 나타낸 도면이다.
컴패니언 스크린 디바이스(CD)는 통지 메시지에 대한 응답 메시지를 방송 수신 장치로 전송할 수 있다. 예를 들어, 방송 수신 장치로부터 미디어 플레이백 상태 정보 통지 메시지를 수신한 때, 컴패니언 스크린 디바이스는 미디어 플레이백 상태 정보 통지 메시지에 대한 응답 메시지를 방송 수신 장치로 전송할 수 있다.
도면을 참조하면, 미디어 플레이백 상태 정보 통지 메시지에 대한 응답 메시지는 StatusCode 엘리먼트, StatusString 엘리먼트, 및/또는, SubscriptionID 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 통지 메시지의 수신 상태를 지시하는 성공/실패 상태 코드(success/ failure status code)를 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "aaa")을 가지면, 통지 메시지가 성공적으로 수신되었다고 지시할 수 있다. 또한, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "yyy")을 가지면, 통지 메시지를 수신할 수 없다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
SubscriptionID 엘리먼트는 현재의 미디어 플레이백 상태 정보 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독을 고유하게 식별하기 위해서 사용될 수 있다.
도 84은 본 발명의 일 실시예에 따른 방송 시스템의 플로우 다이어그램을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치(C530010), 방송 수신 장치(C530100, PD), 및/또는 컴패니언 스크린 디바이스(C530200, CD) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 방송 시스템의 구성요소들의 내용은 전술한 방송 시스템의 구성요소들의 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치(C530100)는 긴급 경보 메시지(Emergency Alert Message)를 수신하고, 긴급 경보 메시지를 컴패니언 스크린 디바이스(C530200)로 통지할 수 있다. 예를 들어, 방송 수신 장치(C530100)는 웹소켓(WebSocket) 및/또는 멀티캐스트(Multicast)를 이용하여 긴급 경보 메시지를 컴패니언 스크린 디바이스(C530200)로 전달할 수 있다.
PD는 방송 서비스 및/시그널링 데이터를 수신할 수 있다(CS530010).
그리고 나서, PD와 CD는 양방향 통신을 위한 페어링 세션을 생성할 수 있다(CS530020). 구체적으로, PD와 CD는 UPnP 프로토콜을 이용하여 페어링 세션을 생성할 수 있다. 구체적으로, PD 어플리케이션 및 CD 어플리케이션 모두는 그들의 존재와 ATSC 3.0 서비스 지원을 수색(searching) 및/또는 광고(advertising)하는 멀티캐스트 디스커버리 메시지(multicast discovery message)들을 전송할 수 있다.
그리고 나서, PD는 CD로부터 긴급 경보 메시지를 요청하는 긴급 경보 메시지 구독 요청을 수신할 수 있다(CS530030).
그리고 나서, PD는 긴급 경보 메시지 구독 응답을 CD로 전송할 수 있다(CS530040).
한편, PD는 긴급 경보 메시지 구독 갱신/취소 요청을 CD로부터 수신할 수 있다(CS530050).
또한, PD는 긴급 경보 메시지 구독 갱신/취소 응답을 CD로 전송할 수 있다(CS530060).
그리고 나서, PD는 긴급 경보 메시지를 수신할 수 있다(CS530070).
PD가 긴급 경보 메시지를 수신하면, PD는 긴급 경보 메시지를 CD로 통지할 수 있다(CS530080).
그리고 나서, PD는 긴급 경보 메시지의 통지에 대한 응답을 CD로부터 수신할 수 있다(CS530090).
도 85는 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 요청과 관련된 정보를 나타낸 도면이다.
컴패니언 스크린 디바이스(CD)는 구독 요청을 방송 수신 장치(CD)로 전송할 수 있다. 예를 들어, 컴패니언 스크린 디바이스(CD)는 긴급 경보 메시지 구독 요청을 방송 수신 장치(CD)로 전송할 수 있다. CD가 네트워크에 참가하여 EAM 기능이 활성화된 때(또는 CD 어플리케이션이 시작할 때), CD는 EAM을 수신하기 위하여 PD에게 긴급 경보 메시지 구독 요청을 전송할 수 있다.
도면을 참고하면, 컴패니어 스크린 디바이스(CD)가 긴급 경보 메시지를 방송 수신 장치(PD)로부터 수신하기 위한 구독 요청(또는 긴급 경보 메시지 구독 요청)에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
긴급 경보 메시지 구독 요청은 SubscriptionCallbackURL 엘리먼트, SubscriptionDuration 엘리먼트, Geo-loc 엘리먼트, CDDevID 엘리먼트, CDAppID 엘리먼트, 및/또는 CDAppVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
SubscriptionCallbackURL 엘리먼트는 긴급 경보 메시지를 수신하기 위한 Uniform Resource Locator (URL) 정보를 지시할 수 있다.
SubscriptionDuration 엘리먼트는 긴급 경보 메시지 구독이 만료되기까지 요청된 기간을 지시할 수 있다. 예를 들어, 요청된 기간은 초(second) 단위 일 수 있다. SubscriptionDuration 엘리먼트의 값이 특정한 값이면(예를 들어, "-1"), 요청된 기간은 무한대의 기간을 지시할 수 있다.
Geo-loc 엘리먼트는 긴급 경보 메시지가 요청되는 지리적인 위치(Geographical location)를 지시할 수 있다.
CDDevID 엘리먼트는 컴패니언 스크린 디바이스를 위한 디바이스 식별자를 지시할 수 있다.
CDAppID 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션 식별자를 지시할 수 있다.
CDAppVersion 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션의 버전 정보를 지시할 수 있다.
컴패니언 스크린 디바이스는 긴급 경보 메시지 구독 요청을 특정의 주소(예를 들어, SubscriptionURL)를 이용하여 방송 수신 장치로 전송할 수 있다.
도 86는 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 응답과 관련된 정보를 나타낸 도면이다.
방송 수신 장치(PD)는 구독 응답을 컴패니언 스크린 디바이스(CD)로 전송할수 있다. 예를 들어, 방송 수신 장치는 긴급 경보 메시지 구독 응답을 컴패니언 스크린 디바이스로 전달할 수 있다. 구독 요청을 받자마자, 방송 수신 장치는 긴급 경보 메시지 구독 응답을 컴패니언 스크린 디바이스로 전송할 수 있다.
도면을 참조하면, 구독 요청이 성공적으로 승인되었을 경우에, 긴급 경보 메시지 구독 응답에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
긴급 경보 메시지 구독 응답은 StatusCode 엘리먼트, StatusString 엘리먼트, SubscriptionID 엘리먼트, SubscriptionTimeoutDuration 엘리먼트, PDDevID 엘리먼트, 및/또는 PDVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 요청이 성공적으로 승인되었다는 것을 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "aaa")을 가지면, 요청이 성공적으로 승인되었다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
SubscriptionID 엘리먼트는 현재의 긴급 경보 메시지 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독을 고유하게 식별하기 위해서 사용될 수 있다.
SubscriptionTimeoutDuration 엘리먼트는 긴급 경보 메시지 구독이 만료되는 실제의 기간(duration)을 지시할 수 있다. 예를 들어, 기간(duration)은 초(second) 단위일 수 있다. SubscriptionTimeoutDuration 엘리먼트의 값이 특정한 값이면(예를 들어, "-1"), 구독이 만료되는 실제의 기간은 무한대의 기간을 지시할 수 있다.
PDDevID 엘리먼트는 방송 수신 장치를 위한 디바이스 식별자를 지시할 수 있다.
PDVersion 엘리먼트는 방송 수신 장치를 위한 버전 정보를 지시할 수 있다.
도 87은 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 응답과 관련된 정보를 나타낸 도면이다.
도면을 참조하면, 구독 요청이 승인되지 않았을 경우에, 긴급 경보 메시지 구독 응답에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
긴급 경보 메시지 구독 응답은 StatusCode 엘리먼트 및/또는 StatusString 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 요청이 승인되지 않은 이유를 설명하는 실패 상태 코드를 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "xxx")을 가지면, SubscriptionCallbackURL 엘리먼트가 존재하지 않거나 유효하지 않다고 지시할 수 있다. 또한, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "yyy")을 가지면, 구독 요청을 승인할 수 없다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
도 88은 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 갱신 요청과 관련된 정보를 나타낸 도면이다.
컴패니언 스크린 디바이스(CD)는 구독 갱신 요청을 방송 수신 장치(PD)로 전송할 수 있다. 예를 들어, 컴패니언 스크린 디바이스(CD)는 긴급 경보 메시지 구독 갱신 요청을 방송 수신 장치로 전송할 수 있다. 구독을 갱신하기 위해서 구독 타임아웃 이전에, 컴패니언 스크린 디바이스는 긴급 경보 메시지 구독 갱신 요청을 방송 수신 장치로 전송할 수 있다.
도면을 참고하면, 컴패니언 스크린 디바이스가 방송 수신 장치로부터 긴급 경보 메시지를 수신하기 위한 긴급 경보 메시지 구독 갱신 요청에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
긴급 경보 메시지 구독 갱신 요청은 SubscriptionID 엘리먼트, SubscriptionDuration 엘리먼트, CDDevID 엘리먼트, CDAppID 엘리먼트, 및/또는 CDAppVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
SubscriptionID 엘리먼트는 현재의 긴급 경보 메시지 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독을 고유하게 식별하기 위해서 사용될 수 있다.
*1062SubscriptionDuration 엘리먼트는 긴급 경보 메시지 구독이 만료되기까지 요청된 기간을 지시할 수 있다. 예를 들어, 요청된 기간은 세컨드(second) 단위 일 수 있다. SubscriptionDuration 엘리먼트의 값이 특정한 값이면(예를 들어, "-1"), 요청된 기간은 무한대의 기간을 지시할 수 있다.
CDDevID 엘리먼트는 컴패니언 스크린 디바이스를 위한 디바이스 식별자를 지시할 수 있다.
CDAppID 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션 식별자를 지시할 수 있다.
CDAppVersion 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션의 버전 정보를 지시할 수 있다.
도 89은 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 취소 요청과 관련된 정보를 나타낸 도면이다.
컴패니언 스크린 디바이스(CD)는 구독 취소 요청을 방송 수신 장치로 전송할 수 있다. 예를 들어, 구독을 취소하기 위해서 언제든지, 컴패니언 스크린 디바이스는 긴급 경보 메시지 구독 취소 요청을 방송 수신 장치로 전송할 수 있다.
도면을 참고하면, 컴패니어 스크린 디바이스(CD)가 긴급 경보 메시지를 방송 수신 장치(PD)로부터 수신하는 것을 취소하기 위한 구독 취소 요청(또는 긴급 경보 메시지 구독 취소 요청)에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
긴급 경보 메시지 구독 취소 요청은 SubscriptionID 엘리먼트, CDDevID 엘리먼트, CDAppID 엘리먼트, 및/또는 CDAppVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
SubscriptionID 엘리먼트는 현재의 긴급 경보 메시지 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독을 고유하게 식별하기 위해서 사용될 수 있다.
CDDevID 엘리먼트는 컴패니언 스크린 디바이스를 위한 디바이스 식별자를 지시할 수 있다.
CDAppID 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션 식별자를 지시할 수 있다.
CDAppVersion 엘리먼트는 컴패니언 스크린 디바이스를 위한 어플리케이션의 버전 정보를 지시할 수 있다.
도 90는 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 갱신 응답과 관련된 정보를 나타낸 도면이다.
방송 수신 장치(PD)는 구독 갱신 응답을 컴패니언 스크린 디바이스(CD)로 전송할 수 있다. 예를 들어, 구독 갱신 요청을 받자마자, 방송 수신 장치는 긴급 경보 메시지 구독 갱신 응답을 컴패니언 스크린 디바이스로 전송할 수 있다.
도면을 참조하면, 구독 갱신 요청이 성공적으로 승인되었을 경우에, 긴급 경보 메시지 구독 갱신 응답에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
긴급 경보 메시지 구독 갱신 응답은 StatusCode 엘리먼트, StatusString 엘리먼트, SubscriptionID 엘리먼트, SubscriptionTimeoutDuration 엘리먼트, PDDevID 엘리먼트, 및/또는 PDVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 요청이 성공적으로 승인되었다는 것을 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "aaa")을 가지면, 요청이 성공적으로 승인되었다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
SubscriptionID 엘리먼트는 현재의 긴급 경보 메시지 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독을 고유하게 식별하기 위해서 사용될 수 있다.
SubscriptionTimeoutDuration 엘리먼트는 긴급 경보 메시지 구독이 만료되는 실제의 기간(duration)을 지시할 수 있다. 예를 들어, 기간(duration)은 초(second) 단위일 수 있다. SubscriptionTimeoutDuration 엘리먼트의 값이 특정한 값이면(예를 들어, "-1"), 구독이 만료되는 실제의 기간은 무한대의 기간을 지시할 수 있다.
PDDevID 엘리먼트는 방송 수신 장치를 위한 디바이스 식별자를 지시할 수 있다.
PDVersion 엘리먼트는 방송 수신 장치를 위한 버전 정보를 지시할 수 있다.
도 91은 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 갱신 응답과 관련된 정보를 나타낸 도면이다.
도면을 참조하면, 구독 요청이 승인되지 않았을 경우에, 긴급 경보 메시지 구독 갱신 응답에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
긴급 경보 메시지 구독 갱신 응답은 StatusCode 엘리먼트 및/또는 StatusString 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 요청이 승인되지 않은 이유를 설명하는 실패 상태 코드를 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "xxx")을 가지면, SubscriptionCallbackURL 엘리먼트가 존재하지 않거나 유효하지 않다고 지시할 수 있다. 또한, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "yyy")을 가지면, 구독 요청을 승인할 수 없다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
도 92은 본 발명의 일 실시예에 따른 긴급 경보 메시지 구독 취소 응답과 관련된 정보를 나타낸 도면이다.
방송 수신 장치(PD)는 구독 취소 응답을 컴패니언 스크린 디바이스(CD)로 전송할 수 있다. 예를 들어, 구독 취소 요청을 받자마자, 방송 수신 장치는 긴급 경보 메시지 구독 취소 응답을 컴패니언 스크린 디바이스로 전송할 수 있다.
도면을 참조하면, 긴급 경보 메시지 구독 취소 응답에 포함되는 엘리먼트들 및/또는 파라미터들이 나타나 있다.
긴급 경보 메시지 구독 취소 응답은 StatusCode 엘리먼트, StatusString 엘리먼트, PDDevID 엘리먼트, 및/또는 PDVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 구독 취소 요청의 상태를 지시하는 성공/실패 지시 상태 코드(success/ failure indication status code)를 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "aaa")을 가지면, 구독 취소 요청이 성공적으로 승인되었다고 지시할 수 있다. 또한, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "yyy")을 가지면, 구독 취소 요청(또는 구독 갱신 요청)을 승인할 수 없다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
PDDevID 엘리먼트는 방송 수신 장치를 위한 디바이스 식별자를 지시할 수 있다.
PDVersion 엘리먼트는 방송 수신 장치를 위한 버전 정보를 지시할 수 있다.
도 93는 본 발명의 일 실시예에 따른 긴급 경보 메시지를 나타낸 도면이다.
방송 수신 장치(PD)는 통지 메시지를 컴패니언 스크린 디바이스로 전송할 수 있다. 통지 메시지의 전송에 사용되는 프로토콜은 웹소켓(WebSocket) 또는 통지(Notification) 일 수 있다.
예를 들어, 컴패니언 스크린 디바이스로부터 긴급 경보 메시지 구독 요청을 받자마자, 방송 수신 장치는 긴급 경보 메시지 통지 메시지를 컴패니언 스크린 디바이스로 전송할 수 있다. 또는 방송 전송 장치 및/또는 콘텐트 서버로부터 긴급 경보 메시지를 받자마자, 방송 수신 장치는 긴급 경보 메시지 통지 메시지를 컴패니언 스크린 디바이스로 전송할 수 있다.
긴급 경보 메시지 통지 메시지를 위한 파라미터는 Subscription ID 엘리??트, 긴급 경보 메시지의 초기 콘텐트들(Initial contents of EAM), 긴급 경보 메시지의 초기 콘텐트들의 특성, 및/또는 추가적으로 이용가능한 콘텐트 중에서 적어도 하나를 포함할 수 있다. 예를 들어, 긴급 경보 메시지의 초기 콘텐트의 특성은 텍스트 뿐만 아니라 리치 미디어(rich media)를 포함하는 새로운 메시지, 계속적 메시지, 및/또는 일회적인 메시지를 포함할 수 있다.
도면을 참고하면, 긴급 경보 메시지 통지 메시지는 방송 수신 장치로부터 컴패니언 스크린 디바이스로 통지되는 적어도 하나의 긴급 경보 메시지를 포함할 수 있다. 긴급 경보 메시지 통지 메시지는 EAM 엘리먼트, EAMID 어트리뷰트(attribute), SentTimestamp 어트리뷰트, ExpiredTimestamp 어트리뷰트, Category 어트리뷰트, Urgency 어트리뷰트, Severity 어트리뷰트, Geo-loc 어트리뷰트, NewMsg 어트리뷰트, OneTimeMsg 어트리뷰트, EAMContent 엘리먼트, ContentFormat 어트리뷰트, AddlEAMURL 엘리먼트, EAMContentAccessibilityURL 엘리먼트, AddlEAMPhone 엘리먼트, ContactEmail 엘리먼트, SubscriptionID 엘리먼트, PDDevID, 및/또는 PDVersion 엘리먼트 중에서 적어도 하나를 포함할 수 있다. 예를 들어, EAM 엘리먼트는 EAMContent 엘리먼트, ContentFormat 어트리뷰트, AddlEAMURL 엘리먼트, EAMContentAccessibilityURL 엘리먼트, AddlEAMPhone 엘리먼트, 및/또는 ContactEmail 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
EAM 엘리먼트는 긴급 경보 메시지와 관련된 정보를 포함할 수 있다.
EAMID 어트리뷰트(attribute)는 긴급 경보 메시지의 식별자를 지시할 수 있다. 이 식별자는 긴급 경보 메시지를 고유하게 식별할 수 있다.
SentTimestamp 어트리뷰트는 긴급 경보 메시지가 생성된 날짜 및/또는 시간을 지시할 수 있다. 예를 들어, SentTimestamp 어트리뷰트는 긴급 경보 메시지가 유효하게 되는 첫번째 순간을 지시할 수 있다.
ExpiredTimestamp 어트리뷰트는 긴급 경보 메시지가 유효하게 되는 마지막 순간(날짜 및/또는 시간)을 지시할 수 있다.
Category 어트리뷰트는 긴급 경보 메시지의 카테고리를 지시할 수 있다. 예를 들어, Category 어트리뷰트는 Geo, Met, Safety, Rescue, Fire, Health, Env, Transport, Infra, 및/또는 CBRNE 중에서 적어도 하나를 지시할 수 있다.
Urgency 어트리뷰트는 긴급 경보 메시지의 긴급성(urgency)를 지시할 수 있다. 예를 들어, Urgency 어트리뷰트는 Immediate, Expected, Future, 및/또는 Past 중에서 적어도 하나를 지시할 수 있다.
Severity 어트리뷰트는 긴급 경보 메시지의 심각성(Severity)을 지시할 수 있다. 예를 들어, Severity 어트리뷰트는 Extreme, Severe, Moderate, 및/또는 Minor 중에서 적어도 하나를 지시할 수 있다.
Geo-loc 어트리뷰트는 긴급 경보 메시지가 이용가능한 지리적 위치(Geographical location)를 지시할 수 있다.
NewMsg 어트리뷰트는 긴급 경보 메시지가 새로운 메시지인지 여부를 지시할 수 있다. 만약 NewMsg 어트리뷰트의 값이 "true"이면, 이 긴급 경보 메시지는 새로운 메시지이다. 만약 NewMsg 어트리뷰트의 값이 "false"이면, 이 긴급 경보 메시지는 이전의 긴급 경보 메시지의 반복이다.
OneTimeMsg 어트리뷰트는 긴급 경보 메시지가 오직 한번만 전송되는지 여부를 지시할 수 있다. 만약 OneTimeMsg 어트리뷰트의 값이 "true"이면, 이 긴급 경보 메시지는 오직 한번만 전송되고 반복되지 않는다. 만약 OneTimeMsg 어트리뷰트의 값이 "false"이면, 이 긴급 경보 메시지는 적어도 한번 반복될 수 있다.
EAMContent 엘리먼트는 긴급 경보 메시지의 내용을 포함할 수 있다. EAMContent 엘리먼트의 콘텐트 타입은 ContentFormat 어트리뷰트에 의하여 주어질 수 있다.
ContentFormat 어트리뷰트는 긴급 경보 메시지의 콘텐트 포맷을 지시할 수 있다. 즉, ContentFormat 어트리뷰트는 EAMContent 엘리먼트일 수 있다.
AddlEAMURL 엘리먼트는 이 긴급 경보 메시지에 대한 추가적인 정보를 제공하는 URL을 지시할 수 있다. AddlEAMURL 엘리먼트는 EAMContent 엘리먼트에 포함된 정보보다 더 많은 정보를 포함할 수 있다.
EAMContentAccessibilityURL 엘리먼트는 접근성을 위한 초기 긴급 경보 메시지 콘텐트(initial emergency alert message content)를 제공하는 URL을 지시할 수 있다. EAMContentAccessibilityURL 엘리먼트는 긴급 정보의 제공을 가능하게할 세컨더리 오디오 스트림을 지시할 수 있다. 이것은 FCC 규정(rule)에 의하여 요구된 대로 수행될 수 있다.
AddlEAMPhone 엘리먼트는 이 긴급 경보 메시지에 대하여 더 많은 정보를 얻기위한 전화번호를 지시할 수 있다.
ContactEmail 엘리먼트는 이 긴급 경보 메시지에 대하여 더 많은 정보를 제공하는 이메일 주소를 지시할 수 있다.
SubscriptionID 엘리먼트는 이 긴급 경보 메시지 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독을 고유하게 식별하기 위해서 사용될 수 있다.
PDDevID 엘리먼트는 방송 수신 장치를 위한 디바이스 식별자를 지시할 수 있다.
PDVersion 엘리먼트는 방송 수신 장치를 위한 버전 정보를 지시할 수 있다.
방송 수신 장치는 긴급 경보 메시지 구독 응답을 특정의 주소(예를 들어, SubscriptionCallbackURL)를 이용하여 컴패니언 스크린 디바이스로 전송할 수 있다.
긴급 경보 메시지는 XML 포멧으로 변경될 수 있다. XLM 스키마는 CD로 통지되는 긴급 경보 메시지의 PD 통지를 포함할 수 있다. XLM 스키마는 상술한 엘리먼트 및/또는 어트리뷰트를 기초로 표준 XML 컨벤션들(XML conventions)을 이용하여 정의될 수 있다.
도 94은 본 발명의 일 실시예에 따른 긴급 경보 메시지 통지 메시지에 대한 응답 메시지를 나타낸 도면이다.
컴패니언 스크린 디바이스(CD)는 통지 메시지에 대한 응답 메시지를 방송 수신 장치로 전송할 수 있다. 예를 들어, 방송 수신 장치로부터 긴급 경보 메시지 통지 메시지를 수신한 때, 컴패니언 스크린 디바이스는 긴급 경보 메시지 통지 메시지에 대한 응답 메시지를 방송 수신 장치로 전송할 수 있다.
도면을 참조하면, 긴급 경보 메시지 통지 메시지에 대한 응답 메시지는 StatusCode 엘리먼트, StatusString 엘리먼트, SubscriptionID 엘리먼트, 및/또는 EAMID 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
StatusCode 엘리먼트는 통지 메시지의 수신 상태를 지시하는 성공/실패 상태 코드(success/ failure status code)를 지시할 수 있다. 예를 들어, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "aaa")을 가지면, 통지 메시지가 성공적으로 수신되었다고 지시할 수 있다. 또한, StatusCode 엘리먼트가 미리 정해진 값(예를 들어, "yyy")을 가지면, 통지 메시지를 수신할 수 없다는 것을 지시할 수 있다.
StatusString 엘리먼트는 요청의 성공/실패 지시 상태 문자열(success/ failure indication status string)을 지시할 수 있다.
SubscriptionID 엘리먼트는 현재의 긴급 경보 메시지 구독을 위한 구독 식별자를 지시할 수 있다. SubscriptionID 엘리먼트는 컴패니언 스크린 디바이스로부터 방송 수신 장치로의 구독을 고유하게 식별하기 위해서 사용될 수 있다.
EAMID 엘리먼트는 긴급 경보 메시지의 식별자를 지시할 수 있다. 이 식별자는 긴급 경보 메시지를 고유하게 식별할 수 있다.
도 95는 본 발명의 일 실시예에 따른 방송 수신 장치의 흐름도를 나타낸 도면이다.
방송 수신 장치는, 브로드캐스트 인터페이스를 이용하여, 서비스를 포함하는 방송 신호를 수신할 수 있다(CS640100).
또한, 방송 수신 장치는, 컴패니언 스크린 인터페이스를 이용하여, 컴패니언 스크린 디바이스로부터 서비스의 구독 요청을 수신할 수 있다.
예를 들어, 서비스는 서비스를 위한 서비스 데이터 및/또는 시그널링 데이터를 포함할 수 있다. 또한, 서비스는 미디어 플레이백 상태 정보 및/또는 긴급 경보 메시지를 포함할 수 있다. 구독 요청은 구독이 유효한 기간을 지시하는 구독 기간 정보를 포함할 수 있다. 예를 들어, 구독 요청은 미디어 플레이백 상태 정보 구독이 만료되기까지 요청된 기간을 지시하는 SubscriptionDuration 엘리먼트 및/또는 긴급 경보 메시지 구독이 만료되기까지 요청된 기간을 지시하는 SubscriptionDuration 엘리먼트를 포함할 수 있다.
방송 수신 장치는, 제어부를 이용하여, 서비스를 위한 통지 메시지를 생성할 수 있다(CS640200).
예를 들어, 통지 메시지는 미디어 플레이백 상태 정보를 포함할 수 있다.
또한, 미디어 플레이백 상태 정보는 미디어 플레이백 상태를 지시하는 MPState 엘리먼트를 포함할 수 있다.
또한, 미디어 플레이백 상태 정보는 미디어 플레이백 상태의 속도를 지시하는 MPSpeed 엘리먼트를 더 포함할 수 있다
*1146또한, 미디어 플레이백 상태 정보는 미디어 플레이백 상태 정보 구독이 요청된 미디어를 식별하는 MediaID 엘리먼트를 더 포함할 수 있다.
예를 들어, 상기 통지 메시지는 긴급 경보 메시지를 포함할 수 있다.
또한, 긴급 경보 메시지는 긴급 경보 메시지가 생성된 날짜 및 시간을 지시하는 SentTimestamp 어트리뷰트 및 상기 긴급 경보 메시지가 유효하게 되는 마지막 날짜 및 시간을 지시하는 ExpiredTimestamp 어트리뷰트 중에서 적어도 하나를 포함할 수 있다.
또한, 긴급 경보 메시지는 상기 긴급 경보 메시지의 내용을 포함하는 EAMContent 엘리먼트, 상기 긴급 경보 메시지의 콘텐트 포맷을 지시하는 ContentFormat 어트리뷰트, 접근성을 위한 초기 긴급 경보 메시지 콘텐트를 제공하는 URL을 지시하는 EAMContentAccessibilityURL 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
또한, 긴급 경보 메시지는 상기 긴급 경보 메시지의 카테고리를 지시하는 Category 어트리뷰트, 상기 긴급 경보 메시지의 긴급성(urgency)를 지시하는 Urgency 어트리뷰트, 상기 긴급 경보 메시지의 심각성(Severity)을 지시하는 Severity 어트리뷰트, 상기 긴급 경보 메시지가 이용가능한 지리적 위치(Geographical location)를 지시하는 Geo-loc 어트리뷰트, 상기 긴급 경보 메시지가 새로운 메시지인지 여부를 지시하는 NewMsg 어트리뷰트, 상기 긴급 경보 메시지가 오직 한번만 전송되는지 여부를 지시하는 OneTimeMsg 어트리뷰트 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치는, 컴패니언 스크린 인터페이스를 이용하여, 통지 메시지를 컴패니언 스크린 디바이스로 전달할 수 있다(CS640300).
통지 메시지는 통지 프로토콜을 기초로 상기 컴패니언 스크린 디바이스로 전달될 수 있다. 통지 프로토콜은 웹소켓 프로토콜(WebSocket Protocol)을 지시할 수 있다. 예를 들어, 통지 프로토콜은 방송 수신 장치가 이벤트를 발생시켜서 통지 메시지를 컴패니언 스크린 디바이스로 전달하는 방식을 지시할 수 있다.
도 96은 본 발명의 일 실시예에 따른 방송 서비스를 지원하기 위한 프로토콜 스택(protocol stack)을 보여준다.
본 발명의 일 실시예에 따른 방송 서비스는 시청각 데이터(Auido/Video, A/V)뿐만 아니라 HTML5 어플리케이션, 양방향 서비스, ACR 서비스, 세컨드 스크린(second screen) 서비스, 개인화(personalization) 서비스 등의 부가 서비스를 제공할 수 있다.
이러한 방송 서비스는 지상파, 케이블 위성 등의 방송 신호인 물리 계층(physical layer)을 통해 전송될 수 있다. 또한 본 발명의 일 실시예에 따른 방송 서비스는 인터넷 통신망(broadband)을 통하여 전송될 수 있다.
방송 서비스가 지상파, 케이블 위성 등의 방송 신호인 물리 계층(physical layer)을 통해 전송되는 경우, 방송 수신 장치는 인캡슐레이(encapsulation)된 MPEG-2 전송 스트림(Transport Stream, TS)과 인켑슐레이션된 IP 데이터그램을 방송 신호를 디모듈레이션하여 추출할 수 있다. 방송 수신 장치는 IP 데이터그램으로부터 사용자 데이터그램 프로토콜(User Datagram Protocol, UDP) 데이터그램을 추출할 수 있다. 방송 수신 장치는 UDP 데이터그램으로부터 시그널링 정보를 추출할 수 있다. 이때, 시그널링 정보는 XML 형태일 수 있다. 또한 방송 수신 장치는 UDP 데이터그램으로부터 비도기 계층 코딩/ 계층 코딩 전송(Asynchronous Layered Coding/ Layered Coding Transport, ALC/LCT) 패킷을 추출할 수 있다. 방송 수신 장치는 ALC/LCT 패킷으로부터 단방향 파일 전송(File Delivery over Unidirectional Transport, FLUTE) 패킷을 추출할 수 있다. 이때, FLUTE 패킷은 비실시간(Non-Real Time, NRT) 데이터와 전자 서비스 가이드(Electronic Service Gudie, ESG) 데이터를 포함할 수 있다. 또한 방송 수신 장치는 UDP 데이터그램으로부터 실시간 전송 프로토콜(Real-time Transport Protocol, RTCP) 패킷 및 RTP 제어 프로토콜(RTP Control Protocol, RTCP) 패킷을 추출할 수 있다. 방송 수신 장치는 RTP/RTCP 패킷과 같은 실시간 전송 패킷으로부터 A/V 데이터 및 부가 데이터를 추출할 수 있다. 이때 NRT 데이터, A/V 데이터 및 부가 데이터 중 적어도 어느 하나는 ISO 베이스 미디어 파일 포맷(ISO Base Media File Format, ISO BMFF)의 형태일 수 있다. 또한 방송 수신 장치는 MPEG-2 TS 패킷 혹은 IP 데이터 그램으로부터 NRT 데이터. A/V, PSI/PSIP과 같은 시그널링 정보를 추출할 수 있다.
방송 서비스가 인터넷 통신망(broadband)을 통하여 전송되는 경우, 방송 수신 장치는 인터넷 통신망으로부터 IP 패킷을 수신할 수 있다. 방송 수신 장치는 IP 패킷으로부터 TCP 패킷을 추출할 수 있다. 방송 수신 장치는 TCP 패킷으로부터 HTTP 패킷을 추출할 수 있다. 방송 수신 장치는 HTTP 패킷으로부터 A/V, 부가 데이터, 시그널링 정보 등을 추출할 수 있다. 이때, A/V 및 부가 데이터 중 적어도 어느 하는 ISO BMFF 형태일 수 있다. 또한, 시그널링 정보는 XML 형태일 수 있다.
구체적인 방송 서비스를 전송하는 전송 프레임과 전송 패킷에 대해서는 도 97 내지 도 100를 통하여 설명하도록 한다.
도 97는 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 97의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 공통 PLP(Common PLP) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
도 97의 실시예에서 방송 전송 장치는 방송 전송 프레임(transport frame)의 P1 파트를 통하여 전송 시그널 탐지(transport signal detection)를 위한 정보를 전송한다. 또한 방송 전송 장치는 P1 파트를 통하여 방송 신호 튜닝을 위한 튜닝 정보를 전송할 수 있다.
도 97의 실시예에서 방송 전송 장치는 L1 파트를 통하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 전송한다. 이때 방송 수신 장치(100)는 P1에 기초하여 L1 파트를 디코딩하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 획득할 수 있다.
도 97의 실시예에서 방송 전송 장치는 Common PLP 파트를 통하여 PLP간에 공통으로 적용되는 정보를 전송할 수 있다. 구체적인 실시예에 따라서 방송 전송 프레임은 Common PLP 파트를 포함하지 않을 수 있다.
도 97의 실시예에서 방송 전송 장치는 방송 서비스에 포함된 복수의 컴포넌트를 인터리브드(interleaved) PLP 파트를 통하여 전송한다. 이때, 인터리브드 PLP 파트는 복수의 PLP를 포함한다.
도 97의 실시예에서 방송 전송 장치는 각각의 방송 서비스를 구성하는 컴포넌트가 각각 어느 PLP로 전송되는지를 L1 파트 또는 Common PLP 파트를 통하여 시그널링할 수 있다. 다만, 방송 수신 장치(100)가 방송 서비스 스캔 등을 위하여 구체적인 방송 서비스 정보를 획득하기 위해서는 인터리브드 PLP 파트의 복수의 PLP 들을 모두 디코딩하여야 한다.
도 97의 실시예와 달리 방송 전송 장치는 방송 전송 프레임을 통하여 전송되는 방송 서비스와 방송 서비스에 포함된 컴포넌트에 대한 정보를 포함하는 별도의 파트를 포함하는 방송 전송 프레임을 전송할 수 있다. 이때, 방송 수신 장치(100)는 별도의 파트를 통하여 신속히 방송 서비스와 방송 서비스에 포함된 컴포넌트들에 대한 정보를 획득할 수 있다. 이에 대해서는 도 98을 통해 설명하도록 한다.
도 98은 본 발명의 또 다른 실시예에 따른 방송 전송 프레임을 보여준다.
도 98의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 고속 정보 채널(Fast Information Channe, FIC) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
FIC 파트를 제외한 다른 파트는 도 2의 실시예와 동일하다.
방송 전송 장치는 FIC 파트를 통하여 고속 정보(fast information)를 전송한다. 고속 정보는 전송 프레임을 통해 전송되는 방송 스트림의 구성 정보 (configuration information), 간략한 방송 서비스 정보 및 컴포넌트 정보를 포함할 수 있다. 방송 수신 장치(100) FIC 파트에 기초하여 방송 서비스를 스캔할 수 있다. 구체적으로 방송 수신 장치(100)는 FIC 파트로부터 방송 서비스에 대한 정보를 추출할 수 있다.
도 99는 본 발명의 일 실시예에 따른 방송 서비스를 전송하는 전송 패킷의 구조를 보여준다.
도 99의 실시예에서 방송 서비스를 전송하는 전송 패킷은 Network Protocol 필드, Error Indicator 필드, Stuffing Indicator 필드, Pointer field 필드, Stuffing bytes 필드 및 페이로드(payload) 데이터를 포함한다.
Network Protocol 필드는 네트워크 프로토콜이 어떤 타입인지 나타낸다. 구체적인 실시예에서 Network Protocol 필드의 값은 IPv4 프로토콜인지 또는 프레임드 패킷 타입인지 나타낼 수 있다. 구체적으로 도 100의 실시예와 같이 Network Protocol 필드의 값이 O00인 경우 IPv4 프로토콜을 나타낼 수 있다. 또한 구체적으로 도 100의 실시예와 같이 Network Protocol 필드의 값이 111인 경우 frame_packet_type 프로토콜을 나타낼 수 있다. 이때, framed_packet_type은 ATSC A/153에 의하여 정의된 프로토콜일 수 있다. 구체적으로 framed_packet_type은 길이에 대한 정보를 나타내는 필드를 포함하지 않는 네트워크 패킷 프로토콜을 나타낼 수 있다. 구체적인 실시예에서 Network Protocol 필드는 3 비트 필드일 수 있다.
Error Indicator 필드는 해당 전송 패킷에 에러가 검출되었는지를 표시한다. 구체적으로 Error Indicator 필드의 값이 0이면 해당 패킷에서 에러가 검출되지 않음을 나타내고, Error Indicator 필드의 값이 1이면 해당 패킷에서 에러가 검출되었음을 나타낼 수 있다. 구체적인 실시예에서 Error Indicator 필드는 1 비트 필드일 수 있다.
Stuffing Indicator 필드는 해당 전송 패킷에 스터핑 바이트(stuffing bytes)가 포함되어있는지를 표시한다. 이때, 스터핑 바이트는 고정된 패킷의 길이를 유지하기 위해 페이로드에 포함되는 데이터를 나타낸다. 구체적인 실시예에서 Stuffing Indicator 필드의 값이 1이면 전송 패킷이 스터핑 바이트를 포함하고, Stuffing Indicator 필드의 값이 0이면 전송 패킷 스터핑 바이트를 포함하지 않음을 나타낼 수 있다. 구체적인 실시예에서 Stuffing Indicator 필드는 1 비트 필드일 수 있다.
Pointer field 필드는 해당 전송 패킷의 페이로드 부분에서 새로운 네트워크 패킷의 시작 지점을 표시한다. 구체적인 실시예에서 Pointer field의 값이 0x7FF인 경우, 새로우 네트워크 패킷의 시작 지점이 없음을 나타낼 수 있다. 또한 구체적인 실시예에서 Pointer field의 값이 0x7FF이 아닌 경우, 전송 패킷 헤더의 마지막 부분부터 새로운 네트워크 패킷의 시작 지점까지의 오프셋(offset) 값을 나타낼 수 있다. 구체적인 실시예에서 Pointer field 필드는 11 비트 필드일 수 있다.
Stuffing_Bytes 필드는 고정된 패킷 길이를 유지하기 위하여 헤더와 페이로드 데이터 사이를 채워주는 스터핑 바이트를 나타낸다.
이러한 방송 서비스를 수신하기 위한 방송 수신 장치의 구성에 대해서는 도 129를 통하여 설명하도록 한다.
도 101은 본 발명의 일 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 101의 실시예에서 방송 수신 장치(100)는 방송 수신부(110), 인터넷 프로토콜(Internet Protocol, IP) 통신부(130) 및 제어부(150)를 포함한다.
방송 수신부(110)는 채널 동기화부(Channel Synchronizer)(111), 채널 이퀄라이저(channel equalizer)(113) 및 채널 디코더(channel decoder)(115)를 포함한다.
채널 동기화부(110)는 방송 신호를 수신할 수 있는 기저 대역대(baseband)에서 디코딩이 가능하도록 심볼 주파수와 타이밍을 동기화한다.
채널 이퀄라이저(113)는 동기화된 방송 신호의 왜곡을 보상한다. 구체적으로 채널 이퀄라이저(113)는 멀티패스(multipath), 도플러 효과 등으로 인한 동기화된 방송 신호의 왜곡을 보상한다.
채널 디코더(115)는 왜곡이 보상된 방송 신호를 디코딩한다. 구체적으로 채널 디코더(115)는 왜곡이 보상된 방송 신호로부터 전송 프레임(transport frame)을 추출한다. 이때 채널 디코더(115)는 전진 에러 수정(Forward Error Correction, FEC)를 수행할 수 있다.
IP 통신부(130)는 인터넷 망을 통해 데이터를 수신하고 전송한다.
제어부(150)는 시그널링 디코더(151), 전송 패킷 인터페이스(153), 광대역 패킷 인터페이스(155), 기저대역 동작 제어부(157), 공통 프로토콜 스택(Common Protocol Stack)(159), 서비스 맵 데이터베이스(161), 서비스 시그널링 채널 프로세싱 버퍼(buffer) 및 파서(parser)(163), A/V 프로세서(165), 방송 서비스 가이드 프로세서(167), 어플리케이션 프로세서(169) 및 서비스 가이드 데이터 베이스(171)를 포함한다.
시그널링 디코더(151)는 방송 신호의 시그널링 정보를 디코딩한다.
전송 패킷 인터페이스(153)는 방송 신호로부터 전송 패킷을 추출한다. 이때 전송 패킷 인터페이스(153)는 추출한 전송 패킷으로부터 시그널링 정보 또는 IP 데이터그램 등의 데이터를 추출할 수 있다.
광대역 패킷 인터페이스(155)는 인터넷 망으로부터 수신한 데이터로부터 IP 패킷을 추출한다. 이때 광대역 패킷 인터페이스(155)는 IP 패킷으로부터 시그널링 데이터 또는 IP 데이터크램을 추출할 수 있다.
기저대역 동작 제어부(157)는 기저대역으로부터 방송 정보 수신 정보를 수신하는 것과 관련된 동작을 제어한다.
공통 프로토콜 스택(159)은 전송 패킷으로부터 오디오 또는 비디오를 추출한다.
A/V 프로세서(547)는 오디오 또는 비디오를 처리한다.
서비스 시그널링 채널 프로세싱 버퍼(buffer) 및 파서(parser)(163)는 방송 서비스를 시그널링하는 시그널링 정보를 파싱하고 버퍼링한다. 구체적으로 서비스 시그널링 채널 프로세싱 버퍼 및 파서(163)는 IP 데이터그램으로부터 방송 서비스를 시그널링하는 시그널링 정보를 파싱하고 버퍼링할 수 있다.
서비스 맵 데이터 베이스(165)는 방송 서비스들에 대한 정보를 포함하는 방송 서비스 리스트를 저장한다.
서비스 가이드 프로세서(167)는 지상파 방송 서비스의 프로그램을 안내하는 지상파 방송 서비스 가이드 데이터를 처리한다.
어플리케이션 프로세서(169)는 방송 신호로부터 어플리케이션 관련 정보를 추출하고 처리한다.
서비스 가이드 데이터베이스(171)는 방송 서비스의 프로그램 정보를 저장한다.
도 102은 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 102의 실시예에서 방송 수신 장치(100)는 방송 수신부(110), 인터넷 프로토콜(Internet Protocol, IP) 통신부(130) 및 제어부(150)를 포함한다.
방송 수신부(110)는 방송 수신부(110)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 방송 수신부(110)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 방송 수신부(110)는 물리 계층 모듈(119) 물리 계층 IP 프레임 모듈(117)을 포함할 수 있다. 물리 계층 모듈(119)는 방송망의 방송 채널을 통하여 방송 관련 신호를 수신하고 처리한다. 물리 계층 IP 프레임 모듈(117)은 물리 계층 모듈(119)로부터 획득한 IP 데이터 그램 등의 데이터 패킷을 특정 프레임으로 변환한다. 예컨대, 물리 계층 모듈(119)은 IP 데이터 그램 등을 RS Fraem 또는 GSE 등으로 변환할 수 있다.
IP 통신부(130)는 IP 통신부(130)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 IP 통신부(130)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. IP 통신부(130)는 인터넷 접근 제어 모듈(131)을 포함할 수 있다. 인터넷 접근 제어 모듈(131)은 인터넷 통신망(broad band)을 통하여 서비스, 컨텐츠 및 시그널링 데이터 중 적어도 어느 하나를 획득하기 위한 방송 수신 장치(100)의 동작을 제어한다.
제어부(150)는 제어부(150)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 제어부(150)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 제어부(150)는 시그널링 디코더(151), 서비스 맵 데이터 베이스(161), 서비스 시그널링 채널 파서(163), 어플리케이션 시그널링 파서(166), 얼러트 시그널링 파서(168), 타겟팅 시그널링 파서(170), 타겟팅 프로세서(173), A/V 프로세서(161), 얼러팅 프로세서(162), 어플리케이션 프로세서(169), 스케쥴드 스트리밍 디코더(181), 파일 디코더(182), 사용자 요청 스트리밍 디코더(183), 파일 데이터베이스(184), 컴포넌트 동기화부(185), 서비스/컨텐츠 획득 제어부(187), 재분배 모듈(189), 장치 관리자(193) 및 데이터 쉐어링부(191) 중 적어도 어느 하나를 포함할 수 있다.
서비스/컨텐츠 획득 제어부(187)는 방송망 또는 인터넷 통신망을 통해 획득한 서비스, 컨텐츠, 서비스 또는 컨텐츠와 관련된 시그널링 데이터 획득을 위한 수신기의 동작을 제어한다.
시그널링 디코더(151)는 시그널링 정보를 디코딩한다.
서비스 시그널링 파서(163)는 서비스 시그널링 정보를 파싱한다.
어플리케이션 시그널링 파서(166)는 서비스와 관련된 시그널링 정보를 추출하고 파싱한다. 이때, 서비스와 관련된 시그널링 정보는 서비스 스캔과 관련된 시그널링 정보일 수 있다. 또한 서비스와 관련된 시근러링 정보는 서비스를 통해 제공되는 컨텐츠와 관련된 시그널링 정보일 수 있다.
얼러트 시그널링 파서(168)는 얼러팅 관련된 시그널링 정보를 추출하고 파싱한다.
타겟팅 시그널링 파서(170)는 서비스 또는 컨텐츠를 개인화(personalization)하기 위한 정보 또는 타겟팅 정보를 시그널링하는 정보를 추출하고 파싱한다.
타겟팅 프로세서(173)는 서비스 또는 컨텐츠를 개인화하기 위한 정보를 처리한다.
얼러팅 프로세서(162)는 얼리팅 관련된 시그널링 정보를 처리한다.
어플리케이션 프로세서(169)는 어플리케이션 관련 정보 및 어플리케이션의 실행을 제어한다. 구체적으로 어플리케이션 프로세서(169)는 다운로드된 어플리케이션의 상태 및 디스플레이 파라미터를 처리한다.
A/V 프로세서(161)는 디코딩된 오디오 또는 비디오, 어플리케이션 데이터 등에 기초하여 오디오/비디오의 렌더링 관련 동작을 처리한다.
스케쥴드 스트리밍 디코더(181)는 미리 방송사 등의 컨텐츠 제공업자가 정한 일정 대로 스트리밍 되는 컨텐츠인 스케쥴드 스트리밍을 디코딩한다.
파일 디코더(182)는 다운로드된 파일을 디코드한다. 특히 파일 디코더(182)는 인터넷 통신망을 통하여 다운로드된 파일을 디코드한다.
사용자 요청 스트리밍 디코더(183)는 사용자 요청에 의하여 제공되는 컨텐츠(On Demand Content)를 디코드한다.
파일 데이터베이스(184)는 파일을 저장한다. 구체적으로 파일 데이터베이스(184)는 인터넷 통신망을 통하여 다운로드한 파일을 저장할 수 있다.
컴포넌트 동기화부(185)는 컨텐츠 또는 서비스를 동기화한다. 구체적으로 컴포넌트 동기화부(185)는 스케쥴드 스트리밍 디코더(181), 파일 디코더(182) 및 사용자 요청 스트리밍 디코더(183) 중 적어도 어느 하나가 디코딩한 컨텐츠를
서비스/컨텐츠 획득 제어부(187)는 서비스, 컨텐츠, 서비스 또는 컨텐츠와 관련된 시그널링 정보 중 적어도 어느 하나를 획득하기 위한 수신기의 동작을 제어한다.
재분배 모듈(189)은 방송망을 통하여 서비스 또는 컨텐츠를 수신하지 못하는 경우, 서비스, 컨텐츠, 서비스와 관련 정보 및 컨텐츠 관련 정보 중 적어도 어느 하나의 획득을 지원하기 위한 동작을 수행한다. 구체적으로 외부의 관리 장치(300)에게 서비스, 컨텐츠, 서비스와 관련 정보 및 컨텐츠 관련 정보 중 적어도 어느 하나를 요청할 수 있다. 이때 외부의 관리 장치(300)는 컨텐츠 서버일 수 있다.
장치 관리자(193)는 연동 가능한 외부 장치를 관리한다. 구체적으로 장치 관리자(193)는 외부 장치의 추가, 삭제 및 갱신 중 적어도 어느 하나를 수행할 수 있따. 또한 외부 장치는 방송 수신 장치(100)와 연결 및 데이터 교환이 가능할 수 있다.
데이터 쉐어링부(191)는 방송 수신 장치(100)와 외부 장치 간의 데이터 전송 동작을 수행하고, 교환 관련 정보를 처리한다. 구체적으로 데이터 쉐어링부(191)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 전송할 수 있다. 또한 데이터 쉐어링부(191)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 수신할 수 있다.
도 103은 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블과 방송 서비스 전송 경로 시그널링 정보가 방송 서비스와 방송 서비스 전송 경로를 시그널링하는 것을 보여준다.
방송 서비스 시그널링 테이블은 방송 서비스 정보를 시그널링할 수 있다. 구체적으로 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링할 수 있다. 또한 방송 서비스 시그널링 테이블은 방송 서비스와 방송 서비스가 포함하는 미디어 컴포넌트의 전송 경로를 시그널링할 수 있다. 이를 위해 방송 서비스 시그널링 테이블은 방송 서비스 전송 경로 시그널링 정보를 포함할 수 있다. 도 8의 실시예에서 방송 서비스 시그널링 테이블은 복수의 방송 서비스에 대한 정보를 포함한다. 이때, 방송 서비스 시그널링 테이블은 복수의 방송 서비스 각각에 포함된 복수의 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보를 포함한다. 특히, 방송 서비스 시그널링 테이블은 복수의 미디어 컴포넌트의 전송 경로를 시그널링하는 방송 서비스 전송 경로 시그널링 정보를 포함한다. 예컨대 방송 서비스 시그널링 테이블을 통해 방송 수신 장치(100)는 서비스(Service 0)에 포함되는 비디오(Video 0)는 물리적 계층 파이프(PLP 0)를 통해 전송됨을 알 수 있다. 또한 방송 서비스 시그널링 테이블을 통해 방송 수신 장치(100)는 서비스(Service N)에 포함되는 오디오(Audio 1)가 인터넷 망을 통해 전송됨을 알 수 있다. 이때 물리적 계층 파이프(Physical Layer Pipe, PLP)는 물리적 계층(physical layer)상에서 식별 가능한 일련의 논리적 데이터 전달 경로이다. PLP는 데이터 파이프(data pipe) 등 다른 용어로 지칭될 수 있다.
도 104 내지 도 99를 통하여 방송 서비스 시그널링 테이블에 대하여 구체적으로 설명하도록 한다.
도 104는 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
방송 서비스 시그널링 테이블은 방송 서비스를 식별하는 정보, 방송 서비스 의 현재 상태를 나타내는 정보, 방송 서비스의 네임, 방송 서비스의 채널 넘버, 방송 서비스에 대한 보호 알고리즘 적용 여부를 나타내는 정보, 방송 서비스의 카테고리 정보 및 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보 중 적어도 어느 하나를 포함할 수 있다. 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 미디어 컴포넌트가 해당 방송 서비스에 필수적인지를 나타내는 정보를 포함할 수 있다. 또한 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 컴포넌트와 관련된 정보를 포함할 수 있다.
구체적으로 도 104의 실시예와 같이 방송 서비스 시그널링 테이블은 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, section_length 필드, table_id_extension 필드, version_number 필드, current_next_indicator 필드, section_number 필드, last_section_numberr 필드, num_services 필드, service_id 필드, service_status 필드, SP_indicator 필드, short_service_name_length 필드, short_service_name 필드, channel_number 필드, service_category 필드, num_components 필드, essential_component_indicator 필드, num_component_level_descriptor 필드, component_level_descriptor 필드, num_service_level_descriptors 필드, 및 service_level_descriptor 필드 중 적어도 어느 하나를 포함할 수 있다.
table_id 필드는 방송 서비스 시그널링 정보 테이블의 식별자를 나타낸다. 이때 table_id 필드의 값은 ATSC A/65에서 정의된 reserved id값중 하나일 수 있다. 구체적인 실시예에서 table_id 필드는 8 비트 필드일 수 있다.
section_syntax_indicator 필드는 방송 서비스 시그널링 정보 테이블의MPEG-2 TS 표준의 long 형식의 private section table인지 아닌지를 나타낸다. 구체적인 실시예에서 section_syntax_indicator 필드는 1 비트 필드일 수 있다.
private_indicator 필드는 현재 테이블이 private section에 해당하는지를 나타낸다. 구체적인 실시예에서 private_indicator 필드는 1 비트 필드일 수 있다.
section_length 필드는 section_length 필드 이후에 포함된 section의 길이를 나타낸다. 구체적인 실시예에서 section_length 필드는 12 비트 필드일 수 있다.
table_id_extension 필드는 table_id 필드와 결합하여 방송 서비스 시그널링 정보 테이블을 식별하는 값을 나타낸다. 특히, table_id 필드는 서비스 시그널링 정보 테이블의 프로토콜 버전을 나타내는 SMT_protocol_version 필드를 포함할 수 있다. 구체적인 실시예에서 SMT_protocol_version 필드는 8 비트 필드일 수 있다.
version_number 필드는 서비스 시그널링 테이블의 버전을 나타낸다. 방송 수신 장치(100)는 vserion_number 필드의 값에 기초하여 서비스 시그널링 정보 테이블의 정보 이용여부를 결정할 수 있다. 구체적으로 version_number 필드의 값이 이전에 수신한 서비스 시그널링 테이블의 버전과 동일한 경우 서비스 시그널링 테이브블의 정보를 이용하지 않을 수 있다. 구체적인 실시예에서 version_number 필드는 5 비트 필드일 수 있다.
current_next_indicator 필드는 방송 서비스 시그널링 테이블의 정보가 현재 사용가능한지 나타낸다. 구체적으로 current_next_indicator 필드의 값이 1인 경우 방송 서비스 시그널링 테이블의 정보가 사용 가능함을 나타낼 수 있다. 또한 current_next_indicator 필드의 값이 1인 경우 방송 서비스 시그널링 테이블의 정보를 다음에 사용할 수 있음을 나타낼 수 있다. 구체적인 실시예에서 current_next_indicator 필드 1 비트 필드일 수 있다.
section_number 필드는 현재 섹션의 번호를 나타낸다. 구체적인 실시예에서 section_number 필드는 8 비트일 수 있다.
last_section_number 필드는 마지막 섹션의 번호를 나타낸다. 방송 서비스 시그널링 테이블의 크기가 큰 경우 복수의 섹션으로 나뉘어 전송될 수 있다. 이때 방송 수신 장치(100)는 section_number 필드와 last_section_number 필드에 기초하여 방송 서비스 시그널링 테이블에 필요한 모든 섹션의 수신 여부를 판단한다. 구체적인 실시예에서 last_section_number 필드는 8 비트 필드일 수 있다.
service_id 필드는 방송 서비스를 식별하는 식별자를 나타낸다. 구체적인 실시예에서 service_id 필드는 16 비트 필드일 수 있다.
service_status 필드는 방송 서비스의 현재 상태를 나타낸다. 구체적으로 방송 서비스가 현재 이용 가능한지 나타낼 수 있다. 구체적인 실시예에서 service_status 필드의 값이 1인 경우 방송 서비스가 현재 이용 가능함을 나타낼 수 있다. 구체적인 실시예에서 방송 수신 장치(100) service_status 필드의 값에 기초하여 해당 방송 서비스를 방송 서비스 리스트 및 방송 서비스 가이드에 표시할지를 결정할 수 있다. 예컨대 방송 수신 장치(100)는 해당 방송 서비스가 사용 불가능한 경우 해당 방송 서비스를 방송 서비스 리스트와 방송 서비스 가이드에 표시하지 않을 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 service_status 필드의 값에 기초하여 해당 방송 서비스에 대한 접근을 제한할 수 있다. 예컨대, 해당 방송 서비스가 사용 불가능한 경우 방송 수신 장치(100)는 해당 방송 서비스에 대한 채널 업/다운 키를 통한 접근을 제한할 수 있다. 구체적인 실시예에서 service_status 필드는 2 비트 필드일 수 있다.
SP_indicator 필드는 해당 방송 서비스 내의 하나 이상의 컴포넌트가 서비스 프로텍션(protection)이 적용되었는지 나타낼 수 있다. 예컨대 SP_indicator의 값이 1인 경우, 해당 방송 서비스 내의 하나 이상의 컴포넌트에 서비스 프로텍션이 적용되었음을 나타낼 수 있다. 구체적인 실시예에서 SP_indicator 필드는 1 비트 필드일 수 있다.
short_service_name_length 필드는 short_service_nmae 필드의 크기를 나타낸다.
short_service_name 필드는 방송 서비스의 이름을 나타낸다. 구체적으로 short_service_nema 필드는 방송 서비스의 이름 요약하여 표시할 수 있다.
channel_number 필드는 해당 방송 서비스의 가상 채널 넘버를 표시한다.
service_category 필드는 방송 서비스의 카테고리를 나타낸다. 구체적으로 service_category 필드는 TV 서비스, 라디오 서비스, 방송 서비스 가이드, RI 서비스 및 긴급 경고(Emergency Alerting) 중 어느 하나를 나타낼 수 있다. 예컨대 도 134의 실시예에서와 같이 service_category 필드의 값이 0x01인 경우 TV 서비스를 나타내고, service_category 필드의 값이 0x02인 경우 라디오 서비스를 나타내고, service_category 필드의 값이 0x03인 경우 RI 서비스를 나타내고, service_category 필드의 값이 0x08인 경우 서비스 가이드를 나타내고, service_category 필드의 값이 0x09인 경우 긴급 경보를 나타낼 수 있다. 구체적인 실시예에서 service_category 필드는 6 비트 필드일 수 있다.
num_components 필드는 해당 방송 서비스가 포함하는 미디어 컴포넌트의 개수를 나타낸다. 구체적인 실시예에서 num_component 필드는 5 비트 필드일 수 있다.
essential_component_indicator 필드는 해당 미디어 컴포넌트가 해당 방송 서비스 재생(presentation)을 위해 필요한 필수 미디어 컴포넌트인지 나타낸다. 구체적인 실시예에서 essential_component_indicator 필드는 1 비트 필드일 수 있다.
num_component_level_descriptor 필드는 component_level_descrptor 필드의 개수를 나타낸다. 구체적인 실시예에서 num_component_level_descriptor 필드는 4 비트 필드일 수 있다.
component_level_descriptor 필드는 해당 컴포넌트에 대한 부가적인 속성을포함한다.
num_service_level_descriptors 필드는 service_level_descriptor 필드의 개수를 나타낸다. 구체적인 실시예에서 num_service_level_descriptors 필드는 4 비트 필드일 수 있다.
service_level_descriptor 필드는 해 당 서비스에 대한 부가적인 속성을 포함한다.
서비스 시그널링 테이블은 앙상블에 대한 정보를 더 포함할 수 있다. 앙상블은 하나 이상의 서비스가 동일한 전진 오류 수정(Forward Error Correction, FEC)이 적용되어 전송이 되는 경우 하나 이상의 서비스의 집합을 나타낸다. 이에 대해서는 도 106을 통하여 구체적으로 설명하도록 한다.
도 106은 본 발명의 또 다른 실시예에 따른 방송 서비스 시그널링 테이블을 보여준다.
구체적으로 도 106의 실시예와 같이 방송 서비스 시그널링 테이블은 num_ensemble_level_descriptors 필드와 ensemble_level_descriptor 필드를 더 포함할 수 있다.
num_ensemble_level_descriptors 필드는 ensemble_level_descriptor 필드의 개수를 나타낸다. 구체적인 실시예에서 num_ensemble_level_descriptors 필드는 4 비트 필드일 수 있다.
ensemble_level_descriptor 필드는 해당 앙상블에 대한 부가적인 속성을 포함한다.
또한 서비스 시그널링 테이블은 미디어 컴포넌트를 식별하기 위하여 미디어 컴포넌트를 식별하는 스트림 식별자 정보를 더 포함할 수 있다. 이에 대해서는 도 136을 통하여 구체적으로 설명하도록 한다.
도 107는 본 발명의 일 다른 실시예에 따른 스트림 식별자 디스크립터를 보여준다.
스트림 식별자 정보는 descriptor_tag 필드, descriptor_length 필드 및 component_tag 필드 중 적어도 어느 하나를 포함할 수 있다.
descriptor_tag 필드는 해당 descriptor가 스트림 식별자 정보를 포함하는 descirptor임을 나타낸다. 구체적인 실시예에서 descriptor_tag 필드는 8 비트 필드일 수 있다.
descriptor_length 필드는 해당 필드 이후의 스트림 식별자 정보의 길이를 나타낸다. 구체적인 실시예에서 descriptor_length 필드는 8 비트 필드일 수 있다.
component_tag 필드는 미디어 컴포넌트를 식별하는 미디어 컴포넌트 식별자를 나타낸다. 이때 미디어 컴포넌트 식별자는 해당 시그널링 정보 테이블 상에서 다른 미디어 컴포넌트의 미디어 컴포넌트 식별자와 다른 유일(unique)한 값을 가질 수 있다. 해당 구체적인 실시예에서 component_tag 필드는 8 비트 필드일 수 있다.
방송 서비스 시그널링 테이블을 전송하고 수신하는 동작에 대해서는 도 108 내지 도 112을 통하여 설명하도록 한다.
앞서 방송 서비스 테이블을 비트스트림 형식으로 설명하였으나 구체적인 실시예에 따라서 방송 서비스 테이블은 XML 형식일 수 있다.
도 108는 본 발명의 일 실시예에 따른 방송 전송 장치가 방송 서비스 시그널링 테이블을 전송하는 동작을 보여준다.
본 발명의 일 실시예에 따른 방송 전송 장치는 방송 신호를 전송하는 전송부 및 방송 전송 장치의 동작을 제어하는 제어부를 포함할 수 있다. 전송부는 전송부가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 전송부는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 제어부는 제어부가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 제어부는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다.
방송 전송 장치는 제어부를 통하여 방송 서비스 정보를 획득한다(S101). 이때, 방송 서비스 정보는 방송 서비스를 설명하는 정보이다. 구체적으로 방송 서비스 정보는 방송 서비스를 식별하는 정보, 방송 서비스 의 현재 상태를 나타내는 정보, 방송 서비스의 네임, 방송 서비스의 채널 넘버, 방송 서비스에 대한 보호 알고리즘 적용 여부를 나타내는 정보, 방송 서비스의 카테고리 정보 및 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보 중 적어도 어느 하나를 포함할 수 있다. 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 미디어 컴포넌트가 해당 방송 서비스에 필수적인지를 나타내는 정보를 포함할 수 있다. 또한 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 컴포넌트와 관련된 정보를 포함할 수 있다.
방송 전송 장치는 제어부를 통하여 방송 서비스 정보에 기초하여 방송 서비스 시그널링 테이블 생성한다(S103). 이때, 방송 서비스 시그널링 테이블은 앞서 설명한 방송 서비스 정보를 포함할 수 있다.
방송 전송 장치는 전송부를 통하여 서비스 시그널링 테이블을 포함하는 방송 신호를 전송 한다(S105).
도 109는 본 발명의 일 실시예에 따른 방송 수신 장치가 방송 서비스 시그널링 테이블을 수신하는 동작을 보여준다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 신호를 수신한다(S301).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 신호에 기초하여 방송 서비스 시그널링 테이블을 획득한다(S303). 구체적으로 방송 수신 장치(100)는 방송 신호로부터 방송 서비스 시그널링 테이블을 획득할 수 있다. 이때, 방송 서비스 시그널링 테이블은 앞서 설명한 바와 같이 방송 서비스를 식별하는 정보, 방송 서비스 의 현재 상태를 나타내는 정보, 방송 서비스의 네임, 방송 서비스의 채널 넘버, 방송 서비스에 대한 보호 알고리즘 적용 여부를 나타내는 정보, 방송 서비스의 카테고리 정보 및 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보 중 적어도 어느 하나를 포함할 수 있다. 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 미디어 컴포넌트가 해당 방송 서비스에 필수적인지를 나타내는 정보를 포함할 수 있다. 또한 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 컴포넌트와 관련된 정보를 포함할 수 있다. 다만, 구체적인 실시예에 따라서는 방송 수신 장치(100)는 방송 서비스 시그널링 테이블을 인터넷 망을 통하여 획득할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 방송 서비스 시그널링 테이블에 기초하여 방송 서비스 정보를 획득한다(S305). 이때 방송 서비스 정보는 앞서 설명한 바와 같이 방송 서비스를 식별하는 정보, 방송 서비스 의 현재 상태를 나타내는 정보, 방송 서비스의 네임, 방송 서비스의 채널 넘버, 방송 서비스에 대한 보호 알고리즘 적용 여부를 나타내는 정보, 방송 서비스의 카테고리 정보 및 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보 중 적어도 어느 하나를 포함할 수 있다. 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 미디어 컴포넌트가 해당 방송 서비스에 필수적인지를 나타내는 정보를 포함할 수 있다. 또한 방송 서비스가 포함하는 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보는 각각의 컴포넌트와 관련된 정보를 포함할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 방송 서비스 정보에 기초하여 방송 서비스에 대한 정보를 저장하는 방송 서비스 리스트를 생성한다(S307). 이때 방송 서비스 리스트는 방송 수신 장치(100)가 획득한 방송 서비스 정보를 포함할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 방송 서비스 정보 또는 방송 서비스 리스트에 기초하여 방송 서비스를 수신할 수 있다.
도 110는 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보를 보여준다.
방송 서비스 전송 경로 시그널링 정보는 방송 서비스를 전송하는 네트워크의 형태를 나타내는 정보와 방송 전송 형태에 따른 구체적인 전송 정보를 포함할 수 있다. 방송 서비스를 전송 하는 네트워크 종류는 방송 서비스가 동일한 방송국(broadcaster)이 전송하는 IP 스트림을 통하여 전송하는 네트워크, 방송 서비스가 다른 방송국이 전송하는 IP 스트림을 통하여 전송하는 네트워크, 방송 서비스가 동일한 방송국의 FLUTE 세션을 통하여 전송하는 네트워크, 방송 서비스가 다른 방송국의 FLUTE 세션을 통하여 전송하는 네트워크, 방송 서비스가 다른 방송국의 MPEG-2 TS를 통하여 전송하는 네트워크, 방송 서비스가 다른 방송국의 패킷 기반 스트림을 통해 전송하는 네트워크, 방송 서비스가 IP 기반 방송 네트워크에서 전송되는 패킷 기반 스트림을 통하여 전송하는 네트워크 및 URL을 통하여 방송 서비스를 획득할 수 있는 네트워크 중 어느 하나일 수 있다.
구체적인 실시예에서 도 110와 같이 방송 서비스 전송 경로 시그널링 정보는 descriptor_tag 필드, description_length 필드, delivery_network_type 필드 및 data_path 필드를 포함할 수 있다.
descriptor_tag 필드는 해당 descriptor가 전송 경로 시그널링 정보를 포함함을 나타낸다. 구체적인 실시예에서 descriptor_tag 필드는 8 비트 필드일 수 있다.
descriptior_length 필드는 해당 필드 이후 방송 서비스 전송 경로 시그널링 정보의 길이를 나타낸다. 구체적인 실시예에서 descriptor_length 필드는 8 비트 필드일 수 있다.
delivery_network_type 필드는 방송 서비스를 전송하는 전송 네트워크의 종류를 나타낸다. 구체적인 실시예에서 delivery_network_type 필드의 값은 방송 서비스를 동일한 방송국(broadcaster)이 전송하는 IP 스트림을 통하여 전송하는 네트워크, 방송 서비스를 다른 방송국이 전송하는 IP 스트림을 통하여 전송하는 네트워크, 방송 서비스를 동일한 방송국의 FLUTE 세션을 통하여 전송하는 네트워크, 방송 서비스를 다른 방송국의 FLUTE 세션을 통하여 전송하는 네트워크, 방송 서비스를 다른 방송국의 MPEG-2 TS를 통하여 전송하는 네트워크, 방송 서비스를 다른 방송국의 패킷 기반 스트림을 통해 전송하는 네트워크, 방송 서비스를 IP 기반 방송 네트워크에서 전송되는 패킷 기반 스트림을 통하여 전송하는 네트워크 및 URL을 통하여 방송 서비스를 획득할 수 있는 네트워크 중 어느 하나를 나타낼 수 있다. 예컨대 도 16의 실시예에서와 같이 delivery_network_type 필드의 값이 0x00인 경우, delivery_network_type 필드는 방송 서비스를 동일한 방송국(broadcaster)이 전송하는 IP 스트림을 통하여 전송하는 네트워크를 나타낼 수 있다. 또한 delivery_network_type 필드의 값이 0x01인 경우, delivery_network_type 필드는 방송 서비스를 다른 방송국이 전송하는 IP 스트림을 통하여 전송하는 네트워크를 타나탤 수 있다. 또한 delivery_network_type 필드의 값이 0x02인 경우, delivery_network_type 필드는 방송 서비스를 동일한 방송국의 FLUTE 세션을 통하여 전송하는 네트워크를 나타낼 수 있다. 또한 delivery_network_type 필드의 값이 0x03인 경우, delivery_network_type 필드는 방송 서비스를 다른 방송국의 FLUTE 세션을 통하여 전송하는 네트워크를 나타낼 수 있다. 또한 delivery_network_type 필드의 값이 0x04인 경우, delivery_network_type 필드는 방송 서비스를 다른 방송국의 MPEG-2 TS를 통하여 전송하는 네트워크를 나타낼 수 있다. 또한 delivery_network_type 필드의 값이 0x05인 경우, 방송 서비스를 다른 방송국의 패킷 기반 스트림을 통해 전송하는 네트워크를 나타낼 수 있다. 또한 delivery_network_type 필드의 값이 0x06인 경우, delivery_network_type 필드는 방송 서비스를 IP 기반 방송 네트워크에서 전송되는 패킷 기반 스트림을 통하여 전송하는 네트워크를 나타낼 수 있다. 또한 delivery_network_type 필드의 값이 0x07인 경우, delivery_network_type 필드는 URL을 통하여 방송 서비스를 획득할 수 있는 네트워크를 나타낼 수 있다.
data_path 필드는 방송 서비스를 전송하는 전송 네트워크의 종류에 따른 구체적인 전송 정보를 포함한다. data_path 필드에 관해서는 도 112 내지 도 120를 통하여 설명하도록 한다.
도 112은 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 IP 스트림을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
방송 서비스를 전송하는 네트워크가 방송 서비스를 동일한 방송국(broadcaster)이 전송하는 IP 스트림을 통하여 전송하는 네트워크인 경우, 방송 서비스 전송 경로 시그널링 정보는 IP 버전을 나타내는 정보, 소스(source) IP 주소를 포함하는지 나타내는 정보, 소스 IP 주소, 데스티네이션(destination) IP 주소를 포함하는지 나타내는 정보, 데스티네이션 IP 주소, 방송 서비스를 전송하는 IP 데이터그램 플로우(flow)의 UDP 포트 개수를 나타내는 정보 및 UDP 포트 넘버 정보 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 방송 서비스 전송 경로 시그널링 정보는 도 112의 실시예에서와 같이 IP_versioni_flag 필드, source_IP_address_flag 필드, destination_IP_address_flag 필드, source_IP_address 필드, port_num_count 필드, 및 destination_UDP_port_number 필드 중 적어도 어느 하나를 포함할 수 있다.
IP_versioni_flag 필드는 방송 서비스를 포함하는 IP 데이터그램의 IP 주소 형식을 타나낸다. 구체적으로 IP_version_flag 필드의 값이 1인 경우 IP_version_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 IPv4 형식임을 타나내고, IP_version_flag 필드의 값이 0인 경우 IP_version_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 IPv6 형식임을 나타낼 수 있다. 구체적인 실시예에서 IP_versioni_flag 필드는 1 비트 필드일 수 있다.
source_IP_address_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 나타낸다. 구체적으로 source_IP_address_flag 필드의 값이 1인 경우 source_IP_address_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는 것을 나타내고, source_IP_address_flag 필드의 값이 0인 경우 source_IP_address_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하지 않음을 나타낼 수 있다. 구체적인 실시예에서 source_IP_address_flag 필드는 1 비트 필드일 수 있다.
destination_IP_address_flag 필드는 방송 서비스 포함하는 IP 데이터그램이 데스티네이션 IP 주소를 포함하는지 여부를 나타낸다. 구체적으로 destination _IP_address_flag 필드의 값이 1인 경우 destination_IP_address_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 데스티네이션 IP 주소를 포함하는 것을 나타내고, destination_IP_address_flag 필드의 값이 0인 경우 destination_IP_address_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 데스티네이션 IP 주소를 포함하지 않음을 나타낼 수 있다. 구체적인 실시예에서 destination _IP_address_flag 필드는 1 비트 필드일 수 있다.
source_IP_address 필드는 방송 서비스를 포함하는 IP 데이터그램의 소스 IP 주소를 나타낸다. 구체적인 실시예에서 source_IP_address 필드는 IP 버전에 따라 32 비트 또는 128 비트 필드일 수 있다.
destination_IP_address 필드는 방송 서비스 포함하는 IP 데이터그램의 데스티네이션 IP 주소를 나타낸다. 구체적인 실시예에서 destination_IP_address 필드는 IP 버전에 따라 32 비트 또는 128 비트 필드일 수 있다.
port_num_count 필드는 방송 서비스를 포함하는 IP 데이터그램 플로우의 포트 개수를 나타낼 수 있다. 구체적인 실시예에서 port_num_count 필드는 8 비트 필드일 수 있다.
destination_UDP_port_number 필드는 방송 서비스를 포함하는 IP 데이터그램의 UDP 포트 번호를 나타낸다. 구체적인 실시예에서 destination_UDP_port_number 필드는 16 비트 필드일 수 있다.
도 113은 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 다른 방송국(broadcaster)의 IP 스트림을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
방송 서비스를 전송하는 네트워크가 방송 서비스를 다른 방송국이 전송하는 IP 스트림을 통하여 전송하는 네트워크인 경우, 방송 서비스를 동일한 방송국(broadcaster)이 전송하는 IP 스트림을 통하여 전송하는 네트워크와 달리 방송 서비스 전송 경로 시그널링 정보는 IP 데이터그램을 전송하는 전송 스트림을 식별하는 식별자를 더 포함할 수 있다.
구체적인 실시예에서 도 142의 실시예와 같이 방송 서비스 전송 경로 시그널링 정보는 transport_stream_id 필드를 포함할 수 있다.
transport_stream_id 필드는 방송 서비스를 포함하는 IP 데이터그램을 전송하는 전송 스트림을 식별한다. 구체적인 실시예에서 transport_stream_id 필드는 16 비트 필드일 수 있다.
도 114는 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 FLUTE 세션을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
방송 서비스를 전송하는 네트워크가 방송 서비스를 동일한 방송국의 FLUTE 세션을 통하여 전송하는 네트워크의 경우, 방송 서비스 전송 경로 시그널링 정보는 IP 버전을 나타내는 정보, 소스(source) IP 주소를 포함하는지 나타내는 정보, 소스 IP 주소, 데스티네이션 IP 주소, UDP 포트 넘버 정보 및 방송 서비스를 포함하는 FLUTE 패킷을 전송하는 FLUTE 세션을 식별하는 전송 세션 식별자(Transport Session Identifier) 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 방송 서비스 전송 경로 시그널링 정보는 도 19의 실시예에서와 같이 IP_versioni_flag 필드, source_IP_address_flag 필드, source_IP_address 필드, destination_UDP_port_number 필드 및 flute_tsi 필드 중 적어도 어느 하나를 포함할 수 있다.
IP_versioni_flag 필드는 방송 서비스를 포함하는 FLUTE 패킷을 전송하는 IP 데이터그램의 IP 주소 형식을 타나낸다. 구체적으로 IP_version_flag 필드의 값이 1인 경우 IP_version_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 IPv4 형식임을 타나내고, IP_version_flag 필드의 값이 0인 경우 IP_version_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 IPv6 형식임을 나타낼 수 있다. 구체적인 실시예에서 IP_versioni_flag 필드는 1 비트 필드일 수 있다.
source_IP_address_flag 필드는 방송 서비스를 포함하는 FLUTE 패킷을 전송하는 IP 데이터그램이 소스 IP 주소를 포함하는지 나타낸다. 구체적으로 source_IP_address_flag 필드의 값이 1인 경우 source_IP_address_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는 것을 나타내고, source_IP_address_flag 필드의 값이 0인 경우 source_IP_address_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하지 않음을 나타낼 수 있다. 구체적인 실시예에서 source_IP_address_flag 필드는 1 비트 필드일 수 있다.
source_IP_address 필드는 방송 서비스를 포함하는 FLUTE 패킷을 전송하는 IP 데이터그램의 소스 IP 주소를 나타낸다. 구체적인 실시예에서 source_IP_address 필드는 IP 버전에 따라 32 비트 또는 128 비트 필드일 수 있다.
destination_IP_address 필드는 방송 서비스 포함하는 FLUTE 패킷을 전송하는 IP 데이터그램의 데스티네이션 IP 주소를 나타낸다. 구체적인 실시예에서 destination_IP_address 필드는 IP 버전에 따라 32 비트 또는 128 비트 필드일 수 있다.
destination_UDP_port_number 필드는 방송 서비스를 포함하는 FLUTE 패킷을 전송하는 IP 데이터그램의 UDP 포트 번호를 나타낸다. 구체적인 실시예에서 destination_UDP_port_number 필드는 16 비트 필드일 수 있다.
flute_tsi 필드는 방송 서비스를 포함하는 FLUTE 패킷을 전송하는 FLUTE 세션을 식별하는 전송 세션 식별자(Transport Session Identifier)를 나타낸다.
도 115은 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 다른 방송국(broadcaster)의 FLUTE 프로토콜을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
방송 서비스를 전송하는 네트워크가 방송 서비스를 다른 방송국의 FLUTE 세션을 통하여 전송하는 네트워크인 겨우, 방송 서비스를 다른 방송국의 FLUTE 세션을 통하여 전송하는 네트워크와 달리 방송 서비스 전송 경로 시그널링 정보는 방송 서비스를 포함하는 FLUTE 패킷을 전송하는 전송 스트림을 식별하는 식별자를 더 포함할 수 있다.
구체적인 실시예에서 도 115의 실시예와 같이 방송 서비스 전송 경로 시그널링 정보는 transport_stream_id 필드를 포함할 수 있다.
transport_stream_id 필드는 방송 서비스를 포함하는 FLUTE 패킷을 전송하는 을 전송하는 전송 스트림을 식별한다. 구체적인 실시예에서 transport_stream_id 필드는 16 비트 필드일 수 있다.
도 116은 본 발명의 방송 서비스 전송 경로 시그널링 정보가 MPEG-2 TS 스트림을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
방송 서비스를 전송하는 네트워크가 방송 서비스를 다른 방송국의 MPEG-2 TS를 통하여 전송하는 네트워크인 경우, 방송 서비스를 포함하는 MPEG-2 TS를 전송하는 전송 스트림을 식별하는 식별자 및 방송 서비스를 포함하는 MPEG2-TS 패킷의 식별자를 포함할 수 있다.
구체적인 실시예에서 도 116과 같이 방송 서비스 전송 경로 시그널링 정보는 transptort_stream_id 필드 및 pid 필드 중 적어도 어느 하나를 포함할 수 있다.
transptort_stream_id 필드는 MPEG-2 TS를 전송하는 전송 스트림을 식별하는 식별자를 나타낸다. 구체적인 실시예에서 transptort_stream_id 필드는 16 비트 필드일 수 있다.
pid 필드는 방송 서비스를 포함하는 MPEG2-TS 패킷의 식별자를 나타낸다. 구체적인 실시예에서 pid 필드 13 비트 필드일 수 있다.
도 117는 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 다른 방송국(broadcaster)의 패킷 기반 스트림을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
방송 서비스를 전송하는 네트워크가 방송 서비스를 다른 방송국의 패킷 기반 스트림을 통해 전송하는 네트워크인 경우, 방송 서비스 전송 경로 시그널링 정보는 방송 서비스를 포함하는 패킷 기반의 스트림을 식별하는 식별자 및 방송 서비스를 포함하는 패킷의 식별자를 포함할 수 있다.
구체적인 실시예에서 도 117와 같이 방송 서비스 전송 경로 시그널링 정보는 transptor_stream_id 필드 및 packet_id 필드 중 적어도 어느 하나를 포함할 수 있다.
transptor_stream_id 필드는 방송 서비스를 포함하는 패킷 기반의 스트림을 식별하는 식별자를 나타낸다. 구체적인 실시예에서 transptor_stream_id 필드는 16 비트 필드일 수 있다.
packet_id 필드는 방송 서비스를 포함하는 패킷의 식별자를 나타낸다. 구체적인 실시예에서 packet_id 필드는 16 비트 필드일 수 있다.
도 118은 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 IP 기반 방송 네트워크에서 전송되는 패킷 기반 스트림을 통한 방송 서비스의 전송을 시그널링하는 것을 보여준다.
방송 서비스를 전송하는 네트워크가 방송 서비스를 IP 기반 방송 네트워크에서 전송되는 패킷 기반 스트림을 통하여 전송하는 네트워크인 경우, 방송 서비스 전송 경로 시그널링 정보는 IP 버전을 나타내는 정보, 소스(source) IP 주소를 포함하는지 나타내는 정보, 소스 IP 주소, 데스티네이션 IP 주소, UDP 포트 넘버 정보 및 방송 서비스를 포함하는 패킷을 식별하는 식별자 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 방송 서비스 전송 경로 시그널링 정보는 도 118의 실시예에서와 같이 IP_versioni_flag 필드, source_IP_address_flag 필드, source_IP_address 필드, destination_UDP_port_number 필드 및 packet_id 필드 중 적어도 어느 하나를 포함할 수 있다.
IP_versioni_flag 필드는 방송 서비스를 포함하는 패킷을 전송하는 IP 데이터그램의 IP 주소 형식을 타나낸다. 구체적으로 IP_version_flag 필드의 값이 1인 경우 IP_version_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 IPv4 형식임을 타나내고, IP_version_flag 필드의 값이 0인 경우 IP_version_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 IPv6 형식임을 나타낼 수 있다. 구체적인 실시예에서 IP_versioni_flag 필드는 1 비트 필드일 수 있다.
source_IP_address_flag 필드는 방송 서비스를 포함하는 패킷을 전송하는 IP 데이터그램이 소스 IP 주소를 포함하는지 나타낸다. 구체적으로 source_IP_address_flag 필드의 값이 1인 경우 source_IP_address_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는 것을 나타내고, source_IP_address_flag 필드의 값이 0인 경우 source_IP_address_flag 필드는 방송 서비스를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하지 않음을 나타낼 수 있다. 구체적인 실시예에서 source_IP_address_flag 필드는 1 비트 필드일 수 있다.
source_IP_address 필드는 방송 서비스를 포함하는 패킷을 전송하는 IP 데이터그램의 소스 IP 주소를 나타낸다. 구체적인 실시예에서 source_IP_address 필드는 IP 버전에 따라 32 비트 또는 128 비트 필드일 수 있다.
destination_IP_address 필드는 방송 서비스 포함하는 패킷을 전송하는 IP 데이터그램의 데스티네이션 IP 주소를 나타낸다. 구체적인 실시예에서 destination_IP_address 필드는 IP 버전에 따라 32 비트 또는 128 비트 필드일 수 있다.
destination_UDP_port_number 필드는 방송 서비스를 포함하는 패킷을 전송하는 IP 데이터그램의 UDP 포트 번호를 나타낸다. 구체적인 실시예에서 destination_UDP_port_number 필드는 16 비트 필드일 수 있다.
packet_id 필드는 방송 서비스를 포함하는 패킷을 식별하는 식별자를 나타낸다. 구체적인 실시예에서 packet_id 필드는 16 비트 필드를 나타낼 수 있다.
도 119는 본 발명의 일 실시예에 따른 방송 서비스 전송 경로 시그널링 정보가 URL을 통하여 방송 서비스를 시그널링하는 것을 보여준다.
방송 서비스를 전송하는 네트워크가 URL을 통하여 방송 서비스를 획득할 수 있는 네트워크인 경우, 방송 서비스 전송 경로 시그널링 정보는 방송 서비스를 수신 받을 수 있는 URL의 길이를 나타내는 정보 및 방송 서비스를 수신 받을 수 있는 URL 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 도 119와 같이 방송 서비스 전송 경로 시그널링 정보는 URL_lenth 필드 및 URI_char 필드 중 적어도 어느 하나를 포함할 수 있다.
URL_lengh 필드는 방송 서비스를 수신 받을 수 있는 URL의 길이를 나타낸다. 구체적인 실시예에서 URL_length 필드 8 비트 필드일 수 있다.
URL_char 필드는 방송 서비스를 수신 받을 수 있는 URL을 나타낸다. 구체적인 실시예에서 URL_char 필드는 8 비트 필드일 수 있다.
도 120는 본 발명의 일 실시예에 따른 방송 전송 장치가 방송 서비스 전송 경로 시그널링 정보를 전송하는 것을 보여준다.
방송 전송 장치는 제어부를 통하여 방송 서비스의 전송 경로를 획득한다(S501).
방송 전송 장치는 제어부를 통하여 방송 서비스 전송 경로 시그널링 정보를 생성한다(S503). 방송 전송 장치는 도 109 내지 도 118를 통하여 설명한 방송 서비스 전송 경로 시그널링 정보를 생성할 수 있다.
방송 전송 장치는 전송부를 통하여 방송 서비스 전송 결로 시그널링 정보를 포함하는 방송 신호를 전송한다(S505).
도 121은 본 발명의 일 실시예에 따른 방송 전송 장치가 방송 서비스 전송 경로 시그널링 정보를 전송하는 것을 보여준다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 신호를 수신한다(S701).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 신호에 기초하여 방송 서비스 전송 경로 시그널링 정보를 획득한다(S703).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 서비스 전송 경로 시그널링 정보에 기초하여 방송 서비스를 수신한다(S705). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 방송 서비스 전송 경로 시그널링 정보에 기초하여 방송 서비스의 미디이어 컴포넌트를 수신할 수 있다. 도 111 내지 도 120를 통하여 앞서 설명한 바와 같이 방송 수신 장치(100)는 방송 서비스가 동일한 방송국(broadcaster)이 전송하는 IP 스트림을 통하여 전송하는 네트워크, 방송 서비스가 다른 방송국이 전송하는 IP 스트림을 통하여 전송하는 네트워크, 방송 서비스가 동일한 방송국의 FLUTE 세션을 통하여 전송하는 네트워크, 방송 서비스가 다른 방송국의 FLUTE 세션을 통하여 전송하는 네트워크, 방송 서비스가 다른 방송국의 MPEG-2 TS를 통하여 전송하는 네트워크, 방송 서비스가 다른 방송국의 패킷 기반 스트림을 통해 전송하는 네트워크, 방송 서비스가 IP 기반 방송 네트워크에서 전송되는 패킷 기반 스트림을 통하여 전송하는 네트워크 및 URL을 통하여 방송 서비스를 획득할 수 있는 네트워크 중 적어도 어느 하나를 통해서 방송 서비스를 수신할 수 있다. 특히 구체적인 실시예에서 방송 수신 장치(100)는 방송 서비스의 복수의 미디어 컴포넌트를 복수의 네트워크를 통하여 수신할 수 있다. 예컨대, 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 서비스의 비디오 컴포넌트는 패킷 기반 스트림을 통하여 수신하고, IP 통신부(150)를 통하여 방송 서비스의 오디오 컴포넌트는 IP 기반 방송 네트워크를 통하여 수신할 수 있다.
앞서 설명한 바와 같이 방송 서비스 시그널링 테이블은 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보를 포함할 수 있다. 특히 ISO 베이스 미디어 파일 포맷(ISO Base Media File Format, ISO BMFF) 형태로 방송 서비스를 전송하는 경우 미디어 컴포넌트 시그널링 정보를 포함할 수 있다. 이에 대해서는 도 122 내지 도 125을 통하여 구체적으로 설명하도록 한다.
도 122은 본 발명의 일 실시예에 따른 미디어 컴포넌트를 시그널링하는 미디어 컴포넌트 시그널링 정보를 보여준다.
미디어 컴포넌트 시그널링 정보는 미디어 컴포넌트의 인코딩 종류를 나타내는 정보, 미디어 컴포넌트의 인크립션(encryption) 여부를 나타내는 정보, 인크립션된 미디어 컴포넌트를 디크립트(decrypt)할 수 있는 키(key)를 포함하는 STKM 스트림의 개수를 나타내는 정보, 인크립션된 미디어 컴포넌트를 디크립트할 수 있는 키를 포함하는 STKM 스트림을 식별하는 식별자, 미디어 컴포넌트의 전송 파라미터의 길이, 미디어 컴포넌트의 전송 파라미터 및 컴포넌트의 인코딩 종류에 따른 인코딩 파라미터를 포함할 수 있다. 이때 전송 파라미터는 버퍼 모델 및 최대 전송 단위(maximum transmission unit, MTU)의 크기 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 미디어 컴포넌트 시그널링 정보는 도 122의 실시예와 같이 descriptor_tag 필드, descriptor_length 필드, component_type 필드, component_encryption_flag 필드, num_STKM_streams 필드, STKM_stream_id 필드, transport_parameter_text_length 필드, transport_parameter_text 필드 및 component_data 필드 중 적어도 어느 하나를 포함할 수 있다.
descriptor_tag 필드는 해당 descriptor가 미디어 컴포넌트 시그널링 정보를 포함함을 나타낸다. 구체적인 실시예에서 descriptor_tag 필드는 8 비트 필드일 수 있다.
descriptor_length 필드는 해당 필드 이후 방송 서비스 전송 경로 시그널링 정보의 길이를 나타낸다. 구체적인 실시예에서 descriptor_length 필드는 8 비트 필드일 수 있다.
component_type 필드는 해당 컴포넌트의 인코딩 종류를 나타낸다. 구체적인 실시예에서 도 123의 실시예와 같이 component_type 필드가 가지는 값은 H.264/AVC, SVC enhancement 계층 스트림 컴포넌트, HE AAC v2 오디오 스트림 컴포넌트, FLUTE 파일 전송 세션, STKM 스트림 컴포넌트, LTKM 스트림 컴포넌트, OMA-RME DIMS 스트림 컴포넌트, NTP 타임베이스 스트림 컴포넌트 중 어느 하나를 나타낼 수 있다. 미디어 컴포넌트가 ISO BMFF를 통해 전송되는 경우, 방송 수신 장치(100)는 미디어 컴포넌트를 수신하기 위한 적절한 동작을 준비하여야 한다. 따라서 미디어 컴포넌트가 ISO BMFF를 통해 전송됨을 시그널링할 필요가 있다. 구체적으로 도 123의 실시예와 같이 component_type 필드는 방송 서비스의 미디어 컴포넌트가 ISO BMFF으로 전송되는 것을 나타낼 수 있다. 구체적으로 component_type 필드가 가지는 값이 35인 경우, component_type 필드는 미디어 컴포넌트가 H.264/AVC 컴포넌트임을 나타낼 수 있다. 구체적으로 component_type 필드가 가지는 값이 36인 경우, component_type 필드는 미디어 컴포넌트가 SVC enhancement 계층 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_type 필드가 가지는 값이 37인 경우, component_type 필드는 미디어 컴포넌트가 HE AAC v2 오디오 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_type 필드가 가지는 값이 38인 경우, component_type 필드는 미디어 컴포넌트가 FLUTE 파일 전송 세션에 의해 전송되는 미디어 컴포넌트임을 나타낼 수 있다. 구체적으로 component_type 필드가 가지는 값이 39인 경우, component_type 필드는 미디어 컴포넌트가 STKM 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_type 필드가 가지는 값이 40인 경우, component_type 필드는 미디어 컴포넌트가 LTKM 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_type 필드가 가지는 값이 41인 경우, component_type 필드는 미디어 컴포넌트가 OMA-RME DIMS 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_type 필드가 가지는 값이 42인 경우, component_type 필드는 미디어 컴포넌트가 NTP 타임베이스 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_type 필드가 가지는 값이 43인 경우, component_type 필드는 미디어 컴포넌트가 ISO BMFF으로 전송되는 것을 나타낼 수 있다. 구체적인 실시예에서 component_type 필드는 7 비트 필드일 수 있다.
component_encryption_flag 필드는 미디어 컴포넌트가 인크립션되었는지를 나타내는 필드이다. 구체적인 실시예에서 component_encryption_flag 필드는 1 비트 필드일 수 있다.
num_STKM_streams 필드는 인크립션된 미디어 컴포넌트를 디크립트(decrypt)할 수 있는 키(key)를 포함하는 STKM 스트림의 개수를 나타낸다. 구체적인 실시예에서 num_STKM_streams 필드는 8 비트 필드일 수 있다.
STKM_stream_id 필드는 인크립션된 미디어 컴포넌트를 디크립트(decrypt)할 수 있는 키(key)를 포함하는 STKM 스트림을 식별하는 식별자를 나타낸다. 구체적인 실시예에서 STKM_stream_id 필드는 8 비트 필드일 수 있다.
transport_parameter_text_length 필드는 transport_parameter_text 필드의 길이를 나타낸다. 구체적인 실시예에서 transport_parameter_text_length 필드는 8 비트 필드일 수 있다.
transport_parameter_text 필드는 미디어 컴포넌트의 전송 파라미터를 나타낸다. 이때, 전송 파라미터는 버퍼 모델 및 최대 전송 단위(maximum transmission unit, MTU)의 크기 중 적어도 어느 하나를 포함할 수 있다.
component_data 필드는 컴포넌트의 인코딩 파라미터를 나타낸다. 인코딩 파라미터가 포함하는 파라미터는 컴포넌트의 인코딩 종류에 따라 달라질 수 있다. 구체적으로 인코딩 파라미터가 포함하는 파라미터는 component_type 필드의 값에 달라질 수 있다.
미디어 컴포넌트가 ISO BMFF를 통해 전송되는 경우 component_data 필드는 ISO BMFF의 버전 정보 및 프로파일 정보 중 적어도 어느 하나를 포함할 수 있다.
구체적으로 도 125의 실시예와 같이 version 필드 및 profile 필드 중 적어도 어느 하나를 포함할 수 있다.
version 필드는 ISO BMFF의 버전 정보를 나타낸다. 구체적인 실시예에서 version 필드는 8 비트 필드일 수 있다.
profile 필드는 ISO BMFF의 프로파일 정보를 나타낸다. 구체적인 실시예에서 profile 필드는 8 비트 필드일 수 있다.
앞서 설명한 미디어 컴포넌트들은 그 내용에 상관 없이 모두 동일하게 취급되고 시그널링되었다. 다만, 근래에 통신 환경에 따라 다른 품질의 미디어 컴포넌트를 전송하는 적응적 스트리밍 서비스가 각광받고 있다. 이에 따라 사용자는 통신 환경에 따라 동일한 컨텐츠를 포함하는 다양한 품질의 미디어 컴포넌트 중 어느 하나를 선택하여 시청할 수 있게 되었다. 또한 하나의 화면에서 복수의 미디어 컴포넌트를 동시에 표시하는 멀티 뷰 (multi view) 서비스가 제공되고 있다. 이에 따라 사용자는 복수의 영상 또는 데이터 방송을 한 화면으로 시청할 수 있게 되었다. 예컨대, 사용자는 야구 경기를 시청하면서 타구장의 경기를 별도의 PIP(Picutre In Picture) 화면을 통해 시청할 수 있다. 이와 같이 복수의 미디어 컴포넌트를 포함하는 방송 서비스가 다양화되고 증가함에 따라 방송 전송 장치와 방송 수신 장치(100)는 컴포넌트의 종류를 세분화하여 처리하고 각 미디어 컴포넌트간의 관계를 체계적으로 정의할 필요가 있다. 이에 대해서는 도 125 내지 도 203을 통해 설명하도록 한다.
도 125은 본 발명의 일 실시예에 따른 미디어 컴포넌트의 종류와 역할을 보여준다.
미디어 컴포넌트는 컨텐츠 컴포넌트, 심플 오디오 컴포넌트, 심플 비디오 컴포넌트, 연속(continuous) 컴포넌트, 기초(elementary) 컴포넌트, 컴포지트(composite) 컴포넌트, 컴포지트 오디오 컴포넌트, 컴포지트 비디오 컴포넌트, 적응적(adaptive) 컴포넌트, 적응적 오디오 컴포넌트, 적응적 비디오 컴포넌트 및 컴플렉스 컴포넌트로 구분될 수 있다. 적응적 컴포넌트는 픽원(PickOne) 컴포넌트로 표현할 수 있다.
컨텐츠 컴포넌트는 한 종류의 미디어와 미디어와 관련된 메타데이터를 포함하는 컴포넌트이다. 구체적으로 컨텐츠 컴포넌트는 비디오 트랙, 오디오 트랙, 자막, 비디오 인헨스드(enhaced) 레이어, 웹페이지, 양방향 어플리케이션 중 어느 하나일 수 있다.
심플 오디오 컴포넌트는 오디오를 포함하는 컴포넌트이다. 구체적으로 심플 오디오 컴포넌트는 특정한 인코딩 파라미터들에 따라 인코딩된 하나의 음성 시퀀스의 인코딩이다.
심플 비디오 컴포넌트는 비디오를 포함하는 컴포넌트이다. 구체적으로 심플 비디오 컴포넌트는 특정한 인코딩 파라미터들에 따라 인코딩된 하나의 영상 시퀀스의 인코딩이다.
연속(continuous) 컴포넌트는 연속된 스트림상에서 재생되는 컴포넌트이다.
기초(elementary) 컴포넌트는 하나의 인코딩만을 포함하는 연속 컴포넌트이다. 기초 컴포넌트는 오디오 컴포넌트일 수 있다. 구체적으로 기초 컴포넌트는 음성 시퀀스에 대한 하나의 인코딩일 수 있다. 또한 기초 컴포넌트는 비디오 컴포넌트일 수 있다. 구체적으로 영상 시퀀스에 대한 하나의 인코딩일 수 있다. 기초 커포넌트는 하나의 자막 트랙일 수 있다.
컴포지트(composite) 컴포넌트는 하나의 장면(scene)을 재생하기 위해 필요한 복수의 연속 컴포넌트들의 집합이다. 구체적으로 컴포지트(composite) 컴포넌트는 동일한 미디어 형태(type)를 가지고, 동일한 장면(scene)을 나타내며, 재생을 위해서는 일정한 조합으로 함께 재생되어야 하는 연속 컴포넌트들의 집합이다. 따라서 컴포지트 컴포넌트는 복수의 미디어 컴포넌트가 조합(combine)되어 하나의 장면을 나타내는 복수의 미디어 컴포넌트의 집합이다. 구체적으로 컴포지트 컴포넌트는 하나의 완전한 오디오를 위해 필요한 음악, 대화 및 특수효과일 수 있다. 또한 컴포지트 컴포넌트는 3D 영상을 재생하기 위해 필요한 3D 영상의 오른쪽 영상과 3D 영상의 왼쪽 영상일 수 있다.
컴포지트 오디오 컴포넌트는 음성 시퀀스를 재생하기 위해 필요한 오디오 컴포넌트들의 집합이다. 구체적으로 컴포지트 오디오 컴포넌트는 믹싱될 오디오 컴포넌트들의 집합일 수 있다.
컴포지트 비디오 컴포넌트는 영상 시퀀스를 재생하기 위해 필요한 비디오 컴포넌트들의 집합이다. 구체적으로 컴포지트 비디오 컴포넌트는 3D 비디오 재생을 위해 조합되는 3D 컴포넌트들의 집합일 수 있다. 또한 컴포지트 비디오 컴포넌트는 하나 이상의 인핸스드(enhanced) 인코딩을 동반하는 베이스 비디오 인코딩일 수 있다.
적응적(adaptive) 컴포넌트는 어느 하나의 장면을 나타내는 서로 대체 가능한 복수의 연속 컴포넌트의 집합이다. 앞서 설명한바와 같이 적응적 컴포넌트는 픽원(PickOne)으로 일컬어질 수 있고, 이는 여러가지 대체가능한 복수의 연속 컴포넌트 중 어느 하나를 선택하여 재생할 수 있음을 나타낸다. 구체적으로 적응적 컴포넌트는 동일한 미디어 형태(type)이고, 동일한 장면(scene)을 나타내며, 재생을 위해 어느 하나가 선택되는 복수의 연속 컴포넌트들의 집합이다. 구체적으로 적응적 컴포넌트는 동일한 컨텐츠를 서로 다른 품질로 인코딩한 복수의 미디어 컴포넌트의 집합일 수 있다. 예컨대, 적응적 컴포넌트는 동일한 음성 시퀀스를 다른 비트레이트(bitrate)로 인코딩한 오디오 컴포넌트들의 집합일 수 있다. 또한 적응적 컴포넌트는 동일한 영상 시퀀스를 다른 비트레이트로 인코딩한 비디오 컴포넌트들의 집합일 수 있다. 또한 적응적 컴포넌트는 동일한 대화에 대한 일반적인 자막 트랙과 큰 글씨(easy reader) 자막일 수 있다.
적응적 오디오 컴포넌트는 음성 시퀀스를 재생하기 위하여 어느 하나가 선택되는 오디오 컴포넌트들의 집합이다. 구체적으로 적응적 오디오 컴포넌트는 동일한 사운드 시퀀스를 서로 다른 비트레이트로 인코딩한 오디오 컴포넌트들의 집합일 수 있다.
적응적 비디오 컴포넌트는 영상 시퀀스를 재생하기 위하여 어느 하나가 선택되는 비디오 컴포넌트들의 집합이다. 구체적으로 적응적 비디오 컴포넌트는 동일한 비디오 시퀀스를 서로 다른 인코딩 파라미터로 인코딩한 비디오 컴포넌트들의 집합일 수 있다.
컴플렉스 컴포넌트는 컴포지트 컴포넌트 또는 적응적 컴포넌트 중 어느 하나를 나타낸다. 컴플렉스 컴포넌트에 대해서는 도 126 내지 도 128을 통하여 구체적으로 설명하도록 한다.
도 126은 본 발명의 일 실시예에 따른 컴플렉스 컴포넌트의 구성을 보여준다.
컴플렉스 컴포넌트가 기초 컴포넌트만을 포함하여야 하는 것은 아니다. 구체적인 실시예에 따라서 컴플렉스 컴포넌트는 컴플렉스 컴포넌트를 포함할 수 있다. 따라서 컴플렉스 컴포넌트가 포함하는 하나의 기초 컴포넌트만으로는 방송 서비스의 재생이 불가능할 수 있다. 또한 컴플렉스 컴포넌트는 컴포지트 컴포넌트 또는 적응적 컴포넌트일 수 있다. 구체적으로 도 126의 실시예와 같이 컴포지트 컴포넌트는 하나 이상의 기초 컴포넌트를 포함할 수 있다. 또한 컴포지트 컴포넌트는 하나 이상의 컴플렉스 컴포넌트를 포함할 수 있다. 또한 컴포지트 컴포넌트는 기초 컴포넌트와 컴플렉스 컴포넌트를 모두 포함할 수 있다. 하나의 적응적 컴포넌트는 하나 이상의 기초 컴포넌트를 포함할 수 있다.
방송 서비스의 컴포넌트를 탑-레벨(top-level) 컴포넌트라는 용어를 사용하여 설명할 수 있다. 탑-레벨 오디오 컴포넌트는 고유한 음성 시퀀스를 나타낸다. 탑-레벨 비디오 컴포넌트는 고유한 영상 시퀀스를 나타낸다. 구체적인 실시예에서 이러한 탑-레벨 컴포넌트는 기초 컴포넌트일 수 있다. 또 다른 구체적인 실시예에서 탑-레벨 컴포넌트는 컴포지트 컴포넌트일 수 있다.
예컨대, 도 127의 실시예와 같이 탑-레벨 비디오 컴포넌트는 3D 영상의 왼쪽 영상인 컴포넌트와 오른쪽 영상인 컴포넌트를 포함하는 컴포지트 컴포넌트일 수 있다. 이때, 3D 영상의 왼쪽 영상 컴포넌트는 각각 다른 비트레이트로 인코딩된 복수의 기초 컴포넌트를 포함하는 적응적 컴포넌트일 수 있다. 또한, 3D 영상의 오른쪽 영상 컴포넌트도 각각 다른 비트레이트로 인코딩된 복수의 기초 컴포넌트를 포함하는 적응적 컴포넌트일 수 있다.
또 다른 구체적인 실시예에서 도 128의 실시예와 같이 탑-레벨 오디오 컴포넌트는 완전한 메인 오디오를 포함하는 적응적 컴포넌트와 음악, 대화 및 효과 트랙이 믹싱된 컴포지트 컴포넌트를 포함하는 적응적 컴포넌트일 수 있다. 이때, 완전한 메인 오디오를 포함하는 적응적 컴포넌트는 각각 다른 비트레이트로 인코딩된 복수의 기초 컴포넌트를 포함할 수 있다. 또한 음악, 대화 및 효과 트랙이 믹싱된 컴포지트 컴포넌트는 음악을 포함하는 적응적 컴포넌트, 대화를 포함하는 적응적 컴포넌트 및 효과음을 포함하는 적응적 컴포넌트를 포함할 수 있다. 다시 음악을 포함하는 적응적 컴포넌트는 각각 다른 비트레이트로 인코딩된 복수의 기초 컴포넌트를 포함할 수 있다.
이렇게 미디어 컴포넌트를 구별하는 것은 복수의 미디어 컴포넌트의 관계를 단순화할 수 있다. 예컨대, 각각의 비디오 프로그램이 하나의 컴플렉스 비디오 컴포넌트를 포함하는 것으로 특정하면 각각의 오디오 기초 컴포넌트 또는 비디오 기초 컴포넌트와의 관계를 특정할 필요가 없다.
하나의 미디어에 대한 복수의 컴플렉스 컴포넌트 모델이 존재할 수 있다. 예컨대, 복수의 비트레이트로 인코딩된 3D 컴포넌트는 왼쪽 영상에 대한 서브 미디어 컴포넌트와 오른쪽 영상에 대한 서브 미디어 컴포넌트를 포함하는 컴포지트 컴포넌트로 모델링 되고, 각각의 서브 미디어 컴포넌트는 서로 다른 비트레이트로 인코딩된 복수의 컴포넌트를 포함하는 적응적 컴포넌트로 모델링될 수 있다. 또는 동일한 3D 컴포넌트가 서로 다른 비트레이트로 인코딩된 복수의 서브 미디어 컴포넌트를 포함하는 적응적 컴포넌트로 모델링되고, 각각의 서브 미디어 컴포넌트들은 왼쪽 영상과 오른쪽 영상을 포함하는 컴포지트 컴포넌트로 모델링될 수 있다. 왼쪽 영상과 오른쪽 영상이 포함하는 서로 다른 비트레이트를 가지는 복수의 서브 미디어 컴포넌트의 개수는 상이할 수 있다.
도 129는 본 발명의 일 실시예에 따른 컴플렉스 비디오 컴포넌트의 구성을 보여준다.
도 129의 실시예는 도 125의 실시예에서 구체적인 표현을 수정한 것으로 도 126의 실시예와 같이 적용될 수 있다. 특히 연속 컴포넌트, 기초 컴포넌트, 컴포지 컴포넌트 및 컴플렉스 컴포넌트에 대한 정의와 역할은 동일하다. 도 125의 적응적 컴포넌트에 대해서는 적응적 컴포넌트 대신 앞서 설명한 바와 같이 픽원 컴포넌트로 표현한다. 도 129의 실시예에서 픽원 컴포넌트의 정의 및 역할은 도 125의 실시예에서 적응적 컴포넌트의 정의 및 역할과 동일하다. 따라서 컴포지트 컴포넌트는 복수의 연속 컴포넌트를 조합하여 하나의 컨텐츠를 재생하는 것을 나타낸다. 또한 픽원 컴포넌트는 복수의 선택 가능한 미디어 컴포넌트 중에서 어느 하나를 선택하여 재생해야하는 컴포넌트를 나타낸다. 다만, 도 129의 실시예에서 도 125의 실시예와 달리 프레젠터블(presentable) 컴포넌트를 정의한다. 프레젠터블 컴포넌트는 방송 수신 장치(100)에서 실질적으로 재생되는 연속 컴포넌트를 나타낸다. 구체적으로 프레젠터블 컴포넌트는 기초 컴포넌트일 수 있다. 또한 프레젠터블 컴포넌트는 콤플렉스 컴포넌트일 수 있다. 구체적인 실시예에서 미디어 컴포넌트는 그 자체로서 프레젠터블 컴포넌트이면서 컴플렉스 컴포넌트의 하위 미디어 컴포넌트로서 컴플렉스 컴포넌트에 포함될 수 있다. 예컨대 서비스는 기초 2D 비디오 컴포넌트와 콤플렉스 3D 컴포넌트를 포함할 수 있다. 이때 2D 비디오 컴포넌트는 3D 비디오 컴포넌트 없이도 2D 영상으로써 재생 가능한 프레젠터블 컴포넌트이다. 또한, 2D 비디오 컴포넌튼는 3D 영상의 하나의 뷰(view)로써 다른 3D 비디오 컴포넌트와 함께 3D 영상으로써 재생될 수 있다.
또 다른 구체적인 실시예에서 프레젠터블 오디오 컴포넌트는 메인 컴포넌트와 음악, 대화 및 음향 효과 등을 포함하는 픽원 컴포넌트일 수 있다. 이때, 메인 컴포넌트와 음악 컴포넌트는 서로 다른 비트율(bitrate)로 인코딩된 복수의 기초 컴포넌트를 포함하는 픽원 컴포넌트일 수 있다. 또한, 대화 및 음향 효과 등을 나타내는 미디어 컴포넌트는 기초 컴포넌트일 수 있다.
도 130는 본 발명의 일 실시예에 따른 컴플렉스 비디오 컴포넌트의 구성을 보여준다.
프레젠터블 컴포넌트는 컴포지트 컴포넌트일 수 있다. 도 130의 실시예에서와 같이 가변적(scalable) 비디오 인코딩은 컴포지트 컴포넌트로서 복수의 미디어 컴포넌트를 포함할 수 있다. 가변적 비디오 인코딩은 기초 컴포넌트인 베이스 계층(layer) 컴포넌트, 제1 인핸스먼트 계층 컴포넌트 및 제2 인핸스먼트 계층 컴포넌트를 포함할 수 있다. 이때. 베이스 계층 컴포넌트는 제1 인핸스먼트 계층 컴포넌트 및 제2 인핸스먼트 계층 컴포넌트 없이도 재생 가능한 프레젠터블 컴포넌트이다. 또한, 베이스 계층 컴포넌튼는 제1 인핸스먼트 계층 컴포넌트 및 제2 인핸스먼트 계층 컴포넌트 중 적어도 어느 하나와 함께 높음 품질의 영상으로 재생될 수 있다. 이때, 제1 인핸스먼트 계층 컴포넌트 및 제2 인핸스먼트 계층 컴포넌트는 베이스 계층 컴포넌트 없이는 재생이 불가능한 미디어 컴포넌트이고, 베이스 계층 컴포넌트와 함께 재생할 목적을 갖는 것이기 때문에 프레젠터블 컴포넌트라할 수 없다. 이때, 방송 수신 장치(100)는 방송 수신 장치(100)의 성능에 기초하여 베이스 계층 컴포넌트와 제1 인핸스먼트 컴포넌트 및 제2 인핸스먼트를 조합하여 영상을 재생할 수 있다. 구체적으로 방송 수신 장치(100)의 성능이 낮은 경우, 방송 수신 장치(100)는 베이스 계층 컴포넌트를 이용하여 비교적 낮은 품질의 영상을 재생할 수 있다. 또는 방송 수신 장치(100)의 성능이 비교적 높은 경우, 방송 수신 장치(100)는 베이스 계층 컴포넌트와 제1 인핸스먼트 계층 컴포넌트를 조합하여 비교적 높은 품질의 영상을 재생할 수 있다. 또는 방송 수신 장치(100)의 성능이 매우 높은 경우, 방송 수신 장치(100)는 베이스 계층 컴포넌트와 제1 인핸스먼트 계층 컴포넌트 및 제2 인핸스먼트 계층 컴포넌트를 조합하여 매우 높은 품질의 영상을 재생할 수 있다.
도 131은 본 발명의 또 다른 실시예에 따른 컴플렉스 비디오 컴포넌트를 보여준다.
프레젠터블 컴포넌트는 픽원 컴포넌트일 수 있다. 도 131의 실시예와 같이 픽원 비디오 컴포넌트는 2D 인코딩과 사이드 바이 사이드(side-by-side) 형태의 3D 인코딩을 포함할 수 있다. 이때, 3D 인코딩은 좌영상(left view)과 우영상(right view)으로 나뉘어지고, 좌영상과 우영상은 일반적인 영상 폭의 반만큼이고, 좌영상과 우영상이 사이드 바이 사이드 형태로 병치되어 하나의 화면(picture)을 생성하도록 인코딩된 것일 수 있다. 방송 수신 장치(100)는 방송 수신 장치(100)의 성능에 따라 2D 인코딩과 3D 인코딩 중 어느 하나를 선택하여 재생할 수 있다. 구체적으로 방송 수신 장치(100)가 3D 영상의 재생을 지원하지 않는 경우, 방송 수신 장치(100)는 2D 인코딩을 선택하여 재생할 수 있다. 또한 방송 수신 장치(100)가 3D 영상의 재생을 지원하는 경우, 방송 수신 장치(100)는 3D 인코딩을 선택하여 재생할 수 있다.
이와 같이 각각의 서비스들은 서비스가 포함하는 프레젠터블 컴포넌트를 통해 설명(describe)될 수 있다. 또한 프레젠터블 컴포넌트가 컴플렉스 컴포넌트인 경우, 컴플렉스 컴포넌트가 포함하는 컴포넌트들을 통해 설명(describle)될 수 있다. 구체적인 실시예에서 각각의 프레젠터블 오디오 컴포넌트는 특정 장면의 음성을 나타낼 수 있고, 각각의 프레젠터블 비디오 컴포넌트는 특정 시점(angle)으로 촬영한 특정 장면의 화면(picture)을 나타낼 수 있다. 간단한 조합의 경우 프레젠터블 컴포넌트는 기초 컴포넌트일 수 있다. 앞서 설명한 것과 같이 각각의 프레젠터블 컴포넌트는 콤플렉스 컴포넌트일 수 있다. 이에 대해서는 도 132을 통해서 설명하도록 한다.
도 132은 본 발명의 또 다른 실시예에 따른 컴플렉스 비디오 컴포넌트를 보여준다.
프레젠터블 컴포넌트는 컴포지트 컴포넌트이고, 컴포지트 컴포넌트가 포함하는 컴포넌트는 픽원 컴포넌트일 수 있다. 도 132의 실시예에서 프레젠터블 비디오 컴포넌트는 3D 영상의 좌영상인 비디오 컴포넌트와 우영상인 비디오 컴포넌트를 포함한다. 좌영상인 비디오 컴포넌트와 우영상인 비디오 컴포넌트는 픽원 컴포트이다. 따라서 좌영상인 비디오 컴포넌트와 우영상인 비디오 컴포넌트는 각각 서로 다른 비디율로 인코딩된 복수의 기초 컴포넌트를 포함한다.
이와 같이 미디어 컴포넌트의 종류와 역할을 정의할 경우, 서비스가 포함하는 미디어 컴포넌트의 관계와 구조를 효율적이고 간단하게 설명할 수 있다. 따라서 방송 전송 장치는 이를 이용하여 효율적이고 간단하게 서비스를 시그널링할 수 있고, 방송 수신 장치(100)는 이를 이용하여 효율적이고 간단하게 서비스를 시그널링하는 정보를 획득할 수 있다.
도 133 내지 도 136을 통해서는 다양한 방송 서비스 모델을 형태를 설명하도록 한다.
도 133은 본 발명의 일 실시예에 따른 오디오 서비스의 미디어 컴포넌트 구성을 보여준다.
오디오 서비스는 하나 또는 복수의 오디오 컴포넌트를 포함할 수 있다. 또한 오디오 서비스는 자막 컴포넌트를 포함할 수 있다. 또한 오디오 컴포넌트는 부가서비스 데이터(Adjunct data service)를 포함할 수 있다. 이때, 부가서비스는 비실시간 서비스(Non-Real-Time service, NRT service)일 수 있다. 또한 구체적인 실시예에서 오디오 서비시는 정해진 일정(schedule)에 따라 연속된 스트림을 통해 전송될 수 있다. 구체적인 실시예에서 오디오 서비스는 라디오 서비스로 지칭될 수 있다.
도 134는 본 발명의 일 실시예에 따른 오디오와 비디오를 모두 포함하는 방송 서비스의 구성을 보여준다.
오디오와 비디오를 모두 포함하는 방송 서비스는 하나 또는 복수의 주 비디오 컴포넌트를 포함할 수 있다. 이때, 오디오와 비디오를 모두 포함하는 방송 서비스는 보조 비디오 컴포넌트를 더 포함할 수 있다. 이때, 오디오와 비디오를 모두 포함하는 방송 서비스는 오디오 컴포넌트를 포함할 수 있다. 또한, 오디오와 비디오를 모두 포함하는 방송 서비스는 자막 컴포넌트를 포함할 수 있다. 또한 오디오와 비디오를 모두 포함하는 방송 서비스는 부가서비스 데이터 컴포넌트를 포함할 수 있다. 구체적인 실시예에서 오디오와 비디오를 모두 포함하는 서비스는 TV 서비스로 지칭될 수 있다.
도 135은 본 발명의 일 실시예에 따른 사용자 요청 컨텐츠 서비스의 구성을 보여준다.
사용자 요청 컨텐츠(Contents On Demand, CoD) 서비스는 사용자 인터페이스를 제공하는 어플리케이션을 포함할 수 있다. 또한, 사용자 요청 컨텐츠 서비스는 사용자 요청에 따라 제공되는 컨텐츠 아이템을 포함할 수 있다. 또한 사용자 요청 컨텐츠 서비스는 컨텐츠 아이템의 카탈로그를 포함할 수 있다. 이때, 카탈로그는 어플리케이션에 내장될 수 있다.
도 136은 본 발명의 일 실시예에 따른 스탠드얼론 NRT 데이터 서비스의 구성을 보여준다.
스탠드얼론(standalone) NRT 데이터 서비스는 서비스를 구성하는 하나 또는 복수의 컨텐츠 아이템을 포함할 수 있다. 구체적인 실시예에서 스탠드 얼론 NRT 데이터 서비스는 앱(App) 서비스로 지칭될 수 있다.
복수의 방송 서비스는 미디어 컴포넌트를 공유할 수 있다. 구체적으로 앞서 설명한 오디오 서비스, 오디오와 비디오를 모두 포함하는 방송 서비스 및 스탠드 얼론 NRT 데이터 서비스가 포함하는 각각의 미디어 컴포넌트들은 하나 또는 복수의 다른 컴포넌트와 연관될 수 있다. 이때, 하나 또는 복수의 다른 컴포넌트는 동일한 기초(base) 컨텐츠를 나타나내는 다른 방식에 의하여 인코딩된 서비스에 포함될 수 있다.
또한 방송 서비스는 서비스 식별자, 서비스 형태, 서비스에 대한 설명, 서비스 이름, 채널 넘버, 그래픽 아이콘, 서비스에 포함된 미디어 컴포넌트의 리스트, 방송 서비스 보호(protection)에 관한 속성, 타겟팅(targeting)/개인화(personalization)에 관한 속성, 시청 권장 등급(contents advisory rating), 서비스의 언어, 서비스에 관련된 부가 NRT 데이터 서비스의 목록(list) 및 방송 서비스 사용자 보고에 관한 속성 중 적어도 어느 하나를 속성으로 포함할 수 있다. 이때, 서비스 이름은 복수의 언어로 표시될 수 있다. 또한 그래픽 아이콘은 서비스를 나타내기 위해 사용될 수 있다. 또한 서비스의 언어는 서비스에 사용되는 주(primary) 언어를 나타낼 수 있다. 또한, 서비스 형태는 예정된 일정에 따라 전송되는 스케줄드(scheduled) 오디오 서비스, 예정된 일정에 따라 전송되는 스케줄드 오디오 및 비디오를 포함하는 서비스, 사용자 요청에 따라 전송되는 사용자 요청 서비스 및 스크립티드(scripted) NRT 데이터 서비스 중 적어도 어느 하나를 포함할 수 있다. 또한 채널 넘버는 구체적으로 메이저 채널 넘버와 마이너 채널 넘버를 포함할 수 있다. 또한 채널 넘버는 버추얼 채널 넘버로 표시될 수 있다. 또한 복수의 방송 서비스 동일한 그래픽 아이콘을 사용할 수 있다. 또한 서비스 식별자는 방송 서비스가 방송되는 방송 지역에서 고유한 값을 가질 수 있다. 또한 서비스 식별자는 지역(local) 식별자와 지방(regional) 식별자인, 두 카테고리의 식별자가 사용될 수 있다. 지역 식별자는 하나의 방송 영역(area)에서만 방송되는 서비스들에 사용될 수 있다. 따라서 서로 다른 복수의 방송 영역에서 방송되는 복수의 방송 서비스는 동일한 지역 식별자를 가질 수 있다. 지방 식별자는 복수의 방송 영역(area)에서 동일한 방송 서비스가 사용 가능한 경우 방송 서비스 식별을 위해 사용될 수 있다.
이러한 방송 서비스의 속성들을 시그널링하기 위해 앞서 설명한 방송 서비스 시그널링 테이블이 사용될 수 있다.
각각의 연속 컴포넌트는 복수의 속성을 가질 수 있다. 이때, 복수의 속성은 복수의 종류로 나뉠 수 있다. 구체적인 실시예에서 연속(continuous) 컴포넌트가 가지는 복수의 속성을 기본(Basic) 연속 컴포넌트 속성, 기초(Elementary) 컴포넌트 속성, 콤플렉스 컴포넌트 속성 및 프레젠터블 컴포넌트 속성 구분할 수 있다.
기본(Basic) 연속 컴포넌트 속성은 모든 연속 컴포넌트에 적용된다. 기본 연속 컴포넌트 속성은 유일한 컨텐츠 식별자, 컨텐츠 구조 및 컨텐츠 종류 중 적어도 어느 하나를 포함할 수 있다. 이때, 컨텐츠 구조는 기본, 컴포지트 및 픽원 중 어느 하나를 나타낼 수 있다. 또한, 컨텐츠 종류는 오디오, 비디오 및 자막 중 어느 하나를 나타낼 수 있다.
기초(Elementary) 컴포넌트 속성은 기초 컴포넌트에 적용된다. 기초 컴포넌트 속성은 컴포넌트 인코딩의 기본 특징을 포함할 수 있다. 예컨대, 기초 컴포넌트 속성은 비디오 해상도를 포함할 수 있다. 또한, 기초 컴포넌트 속성은 오디오의 채널 수를 포함할 수 있다.
컴플렉스 컴포넌트 속성은 컴플렉스 컴포넌트에 적용된다. 컴플렉스 컴포넌트의 속성은 콤플렉스 컴포넌트가 포함하는 미디어 컴포넌트들 및 포함하는 미디어 컴포넌트들의 역할 중 적어도 어느 하나를 포함할 수 있다. 구체적으로 미디어 컴포넌들의 역할은 오디오 컴포넌트가 대화 트랙임을 나타낼 수 있다. 또한, 미디어 컴포넌들의 역할은 비디오 컴포넌트가 3D 영상의 좌영상임을 나타낼 수 있다.
각각의 서비스들은 하나 또는 복수의 미디어 컴포넌트를 포함할 수 있다.또한 각각의 미디어 컴포넌트는 미디어 컴포넌트를 식별하는 컴포넌트 식별자, 컴포넌트의 형태, 컴포넌트에 대한 설명, 타겟팅/개인화 속성, 서비스 보호 속성, 타겟 디바이스, 시청 권장 등급 및 연관된 컴포넌트 정보 중 적어도 어느 하나를 속성(property)으로 가질 수 있다. 이때 컴포넌트 식별자의 값은 방송 서비스의 컴포넌트 사이에서 고유할 수 있다. 타겟 디바이스는 주(primary) 디바이스와 연동(companion) 디바이스 중 어느 하나를 나타낼 수 있다. 또한 서비스 시그널링 테이블은 이러한 미디어 컴포넌트의 속성을 시그널링하는 미디어 컴포넌트 정보를 포함할 수 있다. 구체적으로 서비스 시그널링 테이블은 미디어 컴포넌트 정보를 컴포넌트 레벨 정보로 포함할 수 있다. 이에 대해서는 도 137을 통해 설명하도록 한다.
도 137는 본 발명의 일 실시예에 따른 미디어 컴포넌트 정보를 보여준다.
미디어 컴포넌트 정보는 미디어 컴포넌트의 형태를 나타내는 정보, 타켓 디바이스에 대한 정보를 포함하고 있는지를 나타내는 정보, 타겟 디바이스를 나타내는 타겟 디바이스 정보, 미디어 컴포넌트를 설명하는 텍스트 정보, 미디어 컴포넌트의 형태에 따른 컴포넌트 인코딩 파라미터 및 미디어 컴포넌트가 포함하는 컴플렉스 컴포넌트 인경우 컴플렉스 컴포넌트에 대한 정보를 포함할 수 있다.
미디어 컴포넌트 정보는 descriptor_tag 필드, descriptor_length 필드, component_type 필드, target_device_flag 필드, target_device 필드, text_length 필드 text_char 필드, component_data_type 필드, component_data 필드 및 complex_component_data 필드를 포함할 수 있다.
descriptor_tag 필드는 미디어 컴포넌트 정보를 포함함을 나타낸다. 구체적인 실시예에서 descriptor_tag 필드는 8 비트 필드일 수 있다.
descriptor_length 필드는 descriptor_length 필드의 이후의 길이를 나타낸다. 구체적인 실시예에서 descriptor_length 필드 8 비트 필드일 수 있다.
component_type 필드는 미디어 컴포넌트의 형태를 나타낸다. 구체적인 실싱예서 component_type 필드의 값은 앞서 설명한 기초 컴포넌트, 컴포지트 컴포넌트 및 적응적 컴포넌트 중 어느 하나를 나타낼 수 있다. 구체적으로 component_type 필드의 값이 0x00인 경우 해당 미디어 컴포넌트가 기초 컴포넌트를 나타내고, component_type 필드의 값이 0x01인 경우 해당 미디어 컴포넌트가 컴포지트 컴포넌트를 나타내고, component_type 필드의 값이 0x02인 경우 해당 미디어 컴포넌트가 적응적 컴포넌트임을 나타낼 수 있다. 구체적인 실시예에서 component_type 필드는 4 비트 필드일 수 있다.
target_device_flag 필드는 target_device 필드의 포함 여부를 나타낸다. 구체적인 실시예에서 target_device_flag 필드는 1 비트 필드일 수 있다.
target_device 필드는 해당 컴포넌트가 실행될 수 있는 타겟 디바이스를 나타낸다. 구체적인 실시예에서 target_device 필드가 가지는 값은 해당 컴포넌트가 주(primary) 디바이스에서만 실행될 수 있는지, 연동(companion) 디바이스에서 실행될 수 있는지 또는 주 디바이스와 연동 디바이스 모두에서 실행될 수 있는지를 나타낼 수 있다. 구체적으로 target_device 필드의 값이 0x01인 경우 주 디바이스에서만 실행됨을 나타내고, target_device 필드의 값이 0x02인 경우 연동 디바이스에서만 실행됨을 나타내고, target_device 필드의 값이 0x03인 경우 주 디바이스와 연동 디바이스 모두에서 실행될 수 있음을 나타낼 수 있다, 구체적인 실시예에서 target_device 필드는 3 비트 필드일 수 있다.
text_length 필드는 text_char 필드의 길이를 나타낸다. 구체적인 실시예에서 8 비트 필드일 수 있다.
text_char 필드는 미디어 컴포넌트를 설명하는 텍스트이다.
component_data_type 필드는 해당 컴포넌트의 인코딩 종류를 나타낸다. 구체적으 도 138의 실시예와 같은 값을 가질 수 있다. 구체적으로 구체적으로 component_data_type 필드가 가지는 값이 35인 경우, component_data_type 필드는 미디어 컴포넌트가 H.264/AVC 컴포넌트임을 나타낼 수 있다. 구체적으로 component_data_type 필드가 가지는 값이 36인 경우, component_data_type 필드는 미디어 컴포넌트가 SVC enhancement 계층 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_data_type 필드가 가지는 값이 37인 경우, component_data_type 필드는 미디어 컴포넌트가 HE AAC v2 오디오 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_data_type 필드가 가지는 값이 38인 경우, component_data_type 필드는 미디어 컴포넌트가 FLUTE 파일 전송 세션에 의해 전송되는 미디어 컴포넌트임을 나타낼 수 있다. 구체적으로 component_data_type 필드가 가지는 값이 39인 경우, component_data_type 필드는 미디어 컴포넌트가 STKM 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_data_type 필드가 가지는 값이 40인 경우, component_data_type 필드는 미디어 컴포넌트가 LTKM 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_data_type 필드가 가지는 값이 41인 경우, component_data_type 필드는 미디어 컴포넌트가 OMA-RME DIMS 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_data_type 필드가 가지는 값이 42인 경우, component_data_type 필드는 미디어 컴포넌트가 NTP 타임베이스 스트림 컴포넌트임을 나타낼 수 있다. 구체적으로 component_data_type 필드가 가지는 값이 70인 경우, component_type 필드는 미디어 컴포넌트가 HEVC 비디오 스트림 컴포넌트인 것을 나타낼 수 있다. 구체적으로 component_data_type 필드가 가지는 값이 71인 경우, component_type 필드는 미디어 컴포넌트가 ISO BMFF으로 전송되는 것을 나타낼 수 있다. 구체적인 실시예에서 component_type 필드는 8 비트 필드일 수 있다.
component_data 필드는 컴포넌트의 인코딩 파라미터를 나타낸다. 인코딩 파라미터가 포함하는 파라미터는 컴포넌트의 인코딩 종류에 따라 달라질 수 있다. 구체적으로 인코딩 파라미터가 포함하는 파라미터는 component_type 필드의 값에 달라질 수 있다.
complex_component_data 필드는 미디어 컴포넌트의 형태가 컴플렉스 형태인 경우, 예컨대 컴포지트 컴포넌트 또는 적응적 컴포넌트인 경우, 컴플렉스 컴포넌트에 대한 정보를 나타낸다. 이에 대해서는 도 139 내지 도 140를 통하여 자세히 설명하도록 한다. 또한 컴포넌트 정보를 비트스트림 형태를 통해 설명하였으나 컴포넌트 정보는 XML 파일 형식 등의 다른 형식일 수 있다.
도 139는 본 발명의 일 실시예에 따른 컴플렉스 컴포넌트 정보를 보여준다.
컴플렉스 컴포넌트 정보는 컴포넌트의 집합 형태를 나타내는 정보, 타겟 디바이스에 대한 정보를 포함하고 있는지를 나타내는 정보, 타겟 디바이스를 나타내는 타겟 디바이스 정보, 해당 컴플렉스 컴포넌트가 포함하는 서브 미디어 컴포넌트의 개수, 해당 컴플렉스 컴포넌트가 컴포지트 컴포넌트인 경우 서브 미디어 컴포넌트가 포함하는 미디어의 형태 및 서브 미디어 미디어 컴포넌트의 역할을 나타내는 정보 중 적어도 어느 하나를 포함할 수 있다.
구체적으로 컴플렉스 컴포넌트 정보는 도 139와 같이 aggretation_type 필드는 num_sub_component 필드, sub_component_id 필드, general_mdeida_type 필드 및 sub_component_role 필드 중 적어도 어느 하나를 포함할 수 있다.
aggretation_type 필드는 해당 컴포넌트가 속하는 집합의 형태를 나타낸다. 구체적으로 aggretation_type 필드의 값은 컴포지트 컴포넌트인지 또는 적응적 컴포넌트인지 중 어느 하나를 나타낼 수 있다. 구체적인 실시예에서
target_device_flag 필드는 target_device 필드의 포함 여부를 나타낸다. 구체적인 실시예에서 target_device_flag 필드는 1 비트 필드일 수 있다.
target_device 필드는 해당 컴포넌트가 실행될 수 있는 타겟 디바이스를 나타낸다. 구체적인 실시예에서 target_device 필드가 가지는 값은 해당 컴포넌트가 주(primary) 디바이스에서만 실행될 수 있는지, 연동(companion) 디바이스에서 실행될 수 있는지 또는 주 디바이스와 연동 디바이스 모두에서 실행될 수 있는지를 나타낼 수 있다. 구체적으로 target_device 필드의 값이 0x01인 경우 주 디바이스에서만 실행됨을 나타내고, target_device 필드의 값이 0x02인 경우 연동 디바이스에서만 실행됨을 나타내고, target_device 필드의 값이 0x03인 경우 주 디바이스와 연동 디바이스 모두에서 실행될 수 있음을 나타낼 수 있다, 구체적인 실시예에서 target_device 필드는 3 비트 필드일 수 있다.
num_sub_component 필드는 해당 컴플렉스 컴포넌트가 포함하는 서브 미디어 컴포넌트의 개수를 나타낸다. 구체적인 실시예에서 num_sub_component 필드는 8 비트 필드일 수 있다.
sub_component_id 필드는 서브 미디어 컴포넌트를 식별하는 서브 미디어 컴포넌트 식별자를 나타낸다. 구체적인 실시예에서 sub_component_id 필드는 8 비트 필드일 수 있다.
general_mdeida_type 필드는 해당 컴플렉스 컴포넌트가 컴포지트 컴포넌트 인 경우 서브 미디어 컴포넌트가 포함하는 미디어의 형태를 나타낸다. 구체적으로 general_mdeida_type 필드의 값은 비디오, 오디오, 텍스트, 어플리케이션 및 메시지 중 어느 하나를 나타낼 수 있다. 구체적으로 general_media_type 필드의 값이 0x00인 경우 서브 미디어 컴포넌트가 포함하는 미디어가 비디오임을 나타내고, general_media_type 필드의 값이 0x01인 경우 서브 미디어 컴포넌트가 포함하는 미디어가 오디오임을 나타내고, general_media_type 필드의 값이 0x02인 경우 서브 미디어 컴포넌트가 포함하는 미디어가 텍스트임을 나타내고, general_media_type 필드의 값이 0x03인 경우 서브 미디어 컴포넌트가 포함하는 미디어가 어플리케이션임을 나타내고, general_media_type 필드의 값이 0x04인 경우 서브 미디어 컴포넌트가 포함하는 미디어가 메시지임을 나타낼 수 있다. 구체적인 실시예에서 general_media_type 필드는 4 비트 필드일 수 있다.
sub_component_role 필드는 각각의 서브 미디어 컴포넌트의 역할을 나타낸다. 구체적으로 sub_component_role 필드의 값은 서브 미디어 컴포넌트가 가변적 비디오 인코딩(scalable video encoding)을 위한 인핸스먼트 계층(enhacement layer)임을 나타낼 수 있다. 또 다른 구체적인 실시예에서 sub_component_role 필드의 값은 서브 미디어 컴포넌트가 3D 영상의 오른쪽 영상, 왼쪽 영상 및 깊이 정보 중 어느 하나임을 나타낼 수 있다. 또 다른 구체적인 실시예에서 sub_component_role 필드의 값은 서브 미디어 컴포넌트가 복수의 영역으로 분할된 화면의 특정 위치의 비디오임을 나타낼 수 있다. 서브 미디어 컴포넌트가 포함하는 미디어의 형태에 따라 sub_compoent_role이 나타내는 정보는 달라질 수 있다. 구체적인 실시예에서 sub_component_role 필드는 8 비트 필드일 수 있다.
이러한 컴플렉스 컴포넌트 정보는 도 140의 실시예와 같이 컴플렉스 컴포넌트 디스크립터안에 포함될 수 있다. 또한 컴플렉스 컴포넌트 정보를 비트스트림 형태를 통해 설명하였으나 컴플렉스 컴포넌트 정보는 XML 파일 형식 등의 다른 형식일 수 있다.
앞서 설명한 바와 같이 미디어 컴포넌트들은 서로 일정한 연관 관계를 가질 수 있다. 예컨대 하나의 자막 컴포넌트는 하나 또는 복수의 오디오 컴포넌트와 연관될 수 있다. 이러한 미디어 컴포넌트 사이의 관계를 시그널링하기 위하여 서비스 시그널링 테이블은 관련 컴포넌트 리스트 정보를 포함할 수 있다. 구체적으로 서비스 시그널링 테이블은 관련 컴포넌트 리스트 정보를 컴포넌트 레벨 정보로 포함할 수 있다. 도 141을 통하여 관련 컴포넌트 리스트 정보에 대해 구체적으로 설명하도록 한다.
도 141은 본 발명의 일 실시예에 따른 관련 컴포넌트 리스트 정보를 보여준다.
관련 컴포넌트 리스트 정보는 미디어 컴포넌트를 식별하는 컴포넌트 식별자, 미디어 컴포넌트 형태를 나타내는 정보, 미디어 컴포넌트의 인코딩 형태를 나타내는 정보, 미디어 컴포넌트가 포함하는 미디어의 형태를 나타내는 정보 중 적어도 어느 하나를 포함할 수 있다.
구체적으로 도 142의 실시예와 같이 관련 컴포넌트 리스트 정보는 descriptor_tag 필드, descriptor_length 필드, num_associated_component 필드, component_id 필드, component_type 필드, component_data_type 필드 및 general_media_typee 필드 중 적어도 어느 하나를 포함할 수 있다.
descriptor_tag 필드는 관련 컴포넌트 리스트 정보를 포함함을 나타낸다. 구체적인 실시예에서 descriptor_tag 필드는 8 비트 필드일 수 있다.
descriptor_length 필드는 descriptor_length 필드의 이후의 길이를 나타낸다. 구체적인 실시예에서 descriptor_length 필드 8 비트 필드일 수 있다.
num_associated_component 필드 해당 미디어 컴포넌트와 연관된 미디어 컴포넌트의 개수를 나타낸다. 구체적인 실시예에서 num_associated_component 필드는 8 비트 필드일 수 있다.
component_id 필드는 연관된 미디어 컴포넌트를 식별하는 컴포넌트 식별자를 나타낸다. 구체적인 실시예에서 component_id 필드는 8 비트 필드일 수 있다.
component_type 필드는 미디어 컴포넌트의 형태를 나타낸다. 구체적인 실시예에서 component_type 필드의 값은 앞서 설명한 기초 컴포넌트, 컴포지트 컴포넌트 및 적응적 컴포넌트 중 어느 하나를 나타낼 수 있다. 구체적으로 component_type 필드의 값이 0x00인 경우 연관된 미디어 컴포넌트가 기초 컴포넌트를 나타내고, component_type 필드의 값이 0x01인 경우 연관된 미디어 컴포넌트가 컴포지트 컴포넌트를 나타내고, component_type 필드의 값이 0x02인 경우 연관된 미디어 컴포넌트가 적응적 컴포넌트임을 나타낼 수 있다. 구체적인 실시예에서 component_type 필드는 4 비트 필드일 수 있다.
component_data_type 필드는 해당 컴포넌트의 인코딩 종류를 나타낸다. 구체적으 도 138의 실시예와 같은 값을 가질 수 있다. 구체적인 실시예에서 component_type 필드는 8 비트 필드일 수 있다.
general_mdeida_type 필드는 연관된 미디어 컴포넌트가 포함하는 미디어의 형태를 나타낸다. 구체적으로 general_mdeida_type 필드의 값은 비디오, 오디오, 텍스트, 어플리케이션 및 메시지 중 어느 하나를 나타낼 수 있다. 구체적으로 general_media_type 필드의 값이 0x00인 경우 연관된 미디어 컴포넌트가 포함하는 미디어가 비디오임을 나타내고, general_media_type 필드의 값이 0x01인 경우 연관된 미디어 컴포넌트가 포함하는 미디어가 오디오임을 나타내고, general_media_type 필드의 값이 0x02인 경우 연관된 미디어 컴포넌트가 포함하는 미디어가 텍스트임을 나타내고, general_media_type 필드의 값이 0x03인 경우 연관된 미디어 컴포넌트가 포함하는 미디어가 어플리케이션임을 나타내고, general_media_type 필드의 값이 0x04인 경우 연관된 미디어 컴포넌트가 포함하는 미디어가 메시지임을 나타낼 수 있다. 구체적인 실시예에서 general_media_type 필드는 8 비트 필드일 수 있다.
오디오 컴포넌트는 미디어 컴포넌트를 식별하는 컴포넌트 식별자, 컴포넌트의 형태, 컴포넌트에 대한 설명, 타겟팅/개인화 속성, 서비스 보호 속성, 타겟 디바이스 및 연관된 컴포넌트 정보 중 적어도 어느 하나를 속성(property)으로 가질 수 있다. 이때, 컴포넌트 식별자의 값은 방송 서비스의 컴포넌트 사이에서 고유할 수 있다. 타겟 디바이스는 주(primary) 디바이스, 연동(companion) 디바이스 및 주 디바이스와 연동 디바이스를 모두 포함하는 것 중 어느 하나를 나타낼 수 있다.
오디오 컴포넌트가 기초 컴포넌트인 경우 코덱, 채널의 개수, 비트레이트, 압축 파라미터 등을 포함하는 인코딩 형식에 대한 속성을 포함할 수 있다. 또한. 오디오 컴포넌트가 기초 컴포넌트인 경우, 오디오 컴포넌트는 오디오의 언어 정보를 속성으로 포함할 수 있다. 오디오 컴포넌트의 모드(mode)를 속성으로 포함할 수 있다. 이때 오디오 컴포넌트의 모드는 완전한 메인 오디오, 음악, 대화, 효과음, 시각 장애인을 위한 오디오, 청각 장애인을 위한 오디오, 커멘터리(commentary) 및 해설(voice over) 중 어느 하나일 수 있다.
오디오 컴포넌트가 컴플렉스 컴포넌트인 경우, 오디오 컴포넌트는 집합의 형태(type of aggreagation]를 나타내는 정보, 포함하는 미디어 컴포넌트의 리스트, 컴포지트 컴포넌트인 경우 포함하는 컴포넌트의 역할 중 적어도 하나를 속성으로 가질 수 있다. 집합의 형태는 컴포지트 및 적응적 컴포넌트, 즉 픽원, 중 어느 하나일 수 있다.
오디오 컴포넌트가 탑 레벨 컴포넌트인 경우, 오디오 컴포넌트는 시청 권장 등급 및 연관된 자막 컴포넌트에 관한 정보 중 적어도 어느 하나를 속성으로 가질 수 있다.
오디오 컴포넌트가 프레젠터블 컴포넌트인 경우, 타겟팅/개인화, 컨텐츠 권장 등급, 컨텐츠/서비스 보호, 타겟 스크린 및 관련 자막 컴포넌트 중 적어도 어느 하나를 속성으로 가질 수 있다. 이때, 타겟 스크린 속성은 주(primarary) 스크린, 연동(companion) 스크린 및 주 스크린에 일부로 삽입되는(inset) 스크린, 예컨대 (Picture In Picture, PIP), 중 어느 하나를 나타낼 수 있다.
자막 컴포넌트는 컴포넌트 식별자, 컴포넌트의 형태, 타겟팅/개인화 속성, 서비스 보호 속성, 타겟 디바이스 및 자막 컴포넌트와 연관된 오디오 컴포넌트 식별자 중 적어도 어느 하나를 속성(property)으로 가질 수 있다. 이때 컴포넌트 식별자의 값은 방송 서비스의 컴포넌트 사이에서 고유할 수 있다. 타겟 디바이스는 주(primary) 디바이스, 연동(companion) 디바이스 및 주 디바이스와 연동 디바이스를 모두 포함하는 것 중 어느 하나를 나타낼 수 있다.
자막 컴포넌트가 기초 컴포넌트인 경우, 자막 컴포넌트는 자막 컴포넌트의 언어 종류 및 자막 컴포넌트의 형태를 속성으로 가질 수 있다. 구체적으로 자막 컴포넌트의 형태는 일반적인 자막 또는 큰 글씨(Easy-reader) 자막 중 어느 하나일 수 있다.
자막 컴포넌트가 적응적 컴포넌트인 경우, 자막 컴포넌트는 자막 컴포넌트가 포함하는 미디어 컴포넌트의 리스트를 속성으로 가질 수 있다.
자막 컴포넌트가 탑 레벨 컴포넌트인 경우, 자막 컴포넌트는 권장 시청 등급을 속성으로 가질 수 있다.
자막 컴포넌트가 프레젠터블 컴포넌트인 경우, 자막 컴포넌트는 타켓팅/개인화, 컨텐츠 권장 등급, 컨텐츠/서비스 보호 및 타겟 스크린 중 적어도 어느 하나를 속성으로 가질 수 있다. 이때, 타겟 스크린 속성은 주(primarary) 스크린, 연동(companion) 스크린 및 주 스크린에 일부로 삽입되는(inset) 스크린, 예컨대 (Picture In Picture, PIP), 중 어느 하나를 나타낼 수 있다.
비디오 컴포넌트는 미디어 컴포넌트를 식별하는 컴포넌트 식별자, 컴포넌트의 형태, 타겟팅/개인화 속성, 서비스 보호 속성, 비디오 컴포넌트의 역할(role), 타겟 스크린 및 비디오 컴포넌트와 연관된 NRT 데이터 서비스 중 적어도 어느 하나를 속성(property)으로 가질 수 있다. 이때 컴포넌트 식별자의 값은 방송 서비스의 컴포넌트 사이에서 고유할 수 있다. 비디오 컴포넌트의 역할은 대체 시점 화면(alternative camera view), 대체 비디오 컴포넌트, 수화 화면, 팔로우 서브젝트 비디오(follow subject video) 중 어느 하나일 수 있다. 타겟 스크린은 주(primary) 디바이스, 연동(companion) 디바이스, 주 디바이스와 연동 디바이스를 모두 포함하는 것 또는 PIP(Picture In Picutre) 화면 중 어느 하나를 나타낼 수 있다. 비디오 컴포넌트와 연관된 NRT 데이터 서비스를 포함하지 않는 경우 모든 부가 NRT 데이터 서비스가 비디오 컴포넌트와 연결된 것을 나타낼 수 있다.
비디오 컴포넌트가 기초 컴포넌트인 경우, 비디오 컴포넌트는 코덱, 압축 파라미터 등을 포함하는 인코딩 포맷, 가로 세로 픽셀값을 포함할 수 있는 해상도, 화면 비율(Aspect Ratio), 인터레이스인지 프로그레시브인지를 나타낼 수 있는 주사 방식, 프레임 레이트(frame rate) 및 스틸 픽처 모드인지 중 적어도 어느 하나를 속성으로 가질 수 있다. 또한 비디오 컴포넌트는 인코딩 파라미터를 속성으로 포함할 수 있다. 이때 구체적인 인코딩 파라미터의 종류는 비디오 컴포넌트의 코덱에 따라 달라질 수 있다.
비디오 컴포넌트가 컴플렉스 컴포넌트인 경우, 비디오 컴포넌트는 집합(aggregation)의 형태, 컴플렉스 컴포넌트가 포함하는 미디어 컴포넌트 리스트 중 적어도 어느 하나를 속성으로 가질 수 있다.
비디오 컴포넌트가 컴플렉스 컴포넌트 중에서도 컴포지트 컴포넌트인 경우, 비디오 컴포넌트는 컴포지트 컴포넌트가 포함하는 각각의 미디어 컴포넌트의 역할을 속성으로 가질 수 있다. 이때 미디어 컴포넌트의 역할은 가변적 비디오 인코딩(scalable video encoding)을 위한 인핸스먼트 계층(enhacement layer)임을 나타낼 수 있다. 또 다른 구체적인 실시예에서 미디어 컴포넌트의 역할은 미디어 컴포넌트가 3D 영상의 오른쪽 영상, 왼쪽 영상 및 깊이 정보 중 어느 하나임을 나타낼 수 있다. 또 다른 구체적인 실시예에서 미디어 컴포넌트의 역할은 미디어 컴포넌트가 복수의 영역으로 분할된 화면의 특정 위치의 비디오임을 나타낼 수 있다. 또 다른 구체적인 실시예에서 미디어 컴포넌트의 역할은 특정 피사체(subject)를 따라 보여지는 화면인 팔로우 -서브젝트(Follow-Subject) 메타데이터일 수 있다. 이러한 팔로우-서브젝트 메타데이터는 피사체의 이름, 피사체의 위치 및 피사체의 크기 중 적어도 어느 하나를 포함할 수 있다. 팔로우-서브젝트 기능이 스트림의 프레임 단위의 메타데이터에 의하여 지원되는 경우, 팔로우-서브젝트 메타데이터는 피사체가 포커스되는 메인 비디오 컴포넌트의 영역을 나타낼 수 있다.
비디오 컴포넌트가 컴플렉스 컴포넌트 중에서도 탑 레벨 컴포넌트인 경우, 비디오 컴포넌트는 권장 시청 등급 및 관련되는 오디오 컴포넌트 중 적어도 어느 하나를 속성으로 가질 수 있다.
비디어 컴포넌트가 프레젠터블 컴포넌트인 경우, 비디오 컴포넌트는 타켓팅/개인화, 컨텐츠 권장 등급, 컨텐츠/서비스 보호, 타겟 스크린, 관련 오디오 프레젠터블 컴포넌트 및 관련 자막 프레젠터블 컴포넌트 중 적어도 어느 하나를 속성으로 가질 수 있다. 이때, 타겟 스크린 속성은 주(primarary) 스크린, 연동(companion) 스크린 및 주 스크린에 일부로 삽입되는(inset) 스크린, 예컨대 (Picture In Picture, PIP), 중 어느 하나를 나타낼 수 있다.
NRT 데이터 서비스는 다른 서비스에 종속되지 않는 스탠드 얼론(stand-alone) 서비스일 수 있다. 또한 NRT 데이터 서비스는 다른 서비스에 종속적인 부가(adjunct) NRT 데이터 서비스일 수 있다. 이때, 부가 NRT 데이터 서비스는 라디오 서비스의 일부(part)일 수 있다. 또한 부가 NRT 데이터 서비스는 TV 서비스의 일부일 수 있다. NRT 데이터 서비스는 모든 서비스들에 공통된 속성, 예컨대 서비스 식별자를 가질 수 있다. 또한 NRT 데이터 서비스는 NRT 서비스와 공통된 속성을 가질 수 있다.
데이터 서비스는 서비스의 언어, 소비 모델(consumption mode), 필수적인 장치 성능(essential capabilities)의 리스트, 필수적이지 않은 장치 성능의 리스트, 타겟 디바이스 및 데이터 서비스에서 사용 가능한 컨텐트 아이템 중 적어도 어느 하나를 속성으로 가질 수 있다.
소비 모델은 푸쉬(Push), 포탈(Portal), 푸쉬 스크립티드(Scripted), 포탈 스크립티드, 트리거드(Triggered) 및 세그먼트 딜리버리(Segment Delivery) 중 적어도 어느 하나를 나타낼 수 있다.
푸쉬는 NRT 데이터 서비스가 요청에 기초한 서비스를 제공한다. 방송 수신 장치(100)는 사용자에게 서비스와 관련된 NRT 데이터 서비스를 자동 업데이트할 것인지에 대한 선택권을 제공한다. 구체적으로 방송 수신 장치(100)는 사용자로부터 서비스와 관련된 NRT 데이터 서비스의 자동 업데이트에대한 입력을 수신한다. 사용자로부터 서비스와 관련된 NRT 데이터 서비스의 자동 업데이트할 것이라는 입력을 수신한 경우, 방송 수신 장치(100)는 사용자가 사용가능하도록 서비스와 관련된 컨텐츠와 최신 버전의 자동 업데이트 파일을 캐쉬(cache)한다. 사용자로부터 푸쉬 서비스에 대한 입력을 수신한 경우, 방송 수신 장치(100)는 미리 준비된(pre-loaded) 컨텐츠를 표시한다.
포탈은 사용자가 웹 브라우저를 통해 NRT 데이터 서비스에 접속하는 것과 유사한 경험을 제공한다. 이때, NRT 데이터 서비스에 사용되는 파일들은 텍스트/그래픽 렌더링을 지원하여야 한다.
푸쉬 스크립티드는 푸쉬와 유사하다. 다만, 푸쉬 스크립트는 서비스에 대하여 특정 방송사의 사용자 인터페이스를 제공하는 선언적 오브젝트(Declarative Object)를 제공한다는 점에 차이가 있다.
포탈 스크립티드는 포탈과 유사하다. 다만, 포탈 스크립트는 서비스에 대하여 특정 방송사의 사용자 인터페이스를 제공하는 선언적 오브젝트(Declarative Object)를 제공한다는 점에 차이가 있다.
트리거드는 쌍방향 부가 NRT 데이터 서비스에서 사용될 수 있는 소비 모델이다. 전형적이 트리거드 사용예는 사용자의 사용자 경험을 향상 시키기위하여 A/V 가상채널에 대한 부가 NRT 데이터 서비스가 동기화된 선언적 오브젝트를 전달(deliver)하는 것이다.
세그먼트 딜리버리는 프로그램의 타겟팅된 컨텐츠를 삽입하는 것을 지원하기위한 세그먼트와 어플리케이션의 전달을 제공한다. 세그먼트는 프로그램을 복수의 시간 구간으로 구분한 것이다. 타켓팅 세그먼트는 사용자의 특성 또는 방송 수신 장치(100) 등의 특성에 기초한 컨텐츠를 특정 세그먼트로서 제공하는 것이다. 구체적으로 방송 수신 장치(100)는 사용자의 특성 또는 방송 수신 장치(100) 등의 특성에 기초한 컨텐츠를 중간 세그먼트로 재생할 수 있다. 구체적으로 세그먼트 딜리버리 소비 모델은 사용자에게 이를 표시하지 않고(behind scene) 서비스의 라디오 프로그램 또는 TV 프로그램 중간에 타켓팅 컨텐츠를 삽입하기 위한 것이다. 예컨대 서비스의 라디오 프로그램 또는 TV 프로그램 중간에 방송 수신 장치(100)가 사용자의 특성에 기초한 타겟팅 광고를 보여주는 것이다. 이러한 NRT 데이터 서비스는 사용자의 선택의 하여 제공되는 것이 아니다. 이러한 NRT 데이터 서비스는 삽입된 타겟팅 어플리케이션, 삽입되기 위하여 타겟팅된 세그먼트의 모음(collection) 및 어플리케이션에 의하여 열리고(open) 소비되는 다른 파일들 중 적어도 어느 하나를 컨텐츠 아이템으로 전달할 수 있다. 이때, 삽입된 타겟팅 어플리케이션은 어떤 세크먼트에 어떤 시간에 삽입될지 선택할 수 있다. 또한 타겟팅 어플리케이션은 방송 수신 장치(100)에게 이러한 삽입을 알릴 수 있다. 또한 타겟팅 어플리케이션은 보고 기능을 수행할 수 있다. 또한 어플리케이션에 의하여 열리고 소비되는 다른 파일들은 오직 해당 어플리케이션에 의해서만 해석(interpret)될 수 있도록 인크립션될 수 있다.
방송 수신 장치(100)는 세그먼트 딜리버리를 위하여 다음과 같은 동작을 수행할 수 있다. 방송 수신 장치(100)는 사용자가 부가 NRT 데이터 서비스를 포함하는 라디오 서비스 또는 TV 서비스를 선택할 때마다 반복적으로 어플리케이션을 다운 받지 않도록, 어플리케이션을 미리 다운 받아 캐쉬할 수 있다. 또한 방송 수신 장치(100)는 타겟팅된 세그먼트를 미리 다운로드 받고 만료일(expiration date)까지 캐쉬할 수 있다. 이를 통해 방송 수신 장치(100)는 사용자에게 즉각적으로 타겟팅된 세그먼트를 제공할 수 있다. 또한 방송 수신 장치(100)는 어플리케션을 실행할 수 있다. 또한 방송 수신 장치(100)는 어플리케이션이 특정 세그먼트를 삽입할 것을 알리는 경우, 특정 세그먼트를 삽입할 수 있다.
타겟 디바이스는 주 디바이스, 연동 디바이스 및 주 디바이스와 연동 디바이스 둘다 중 어느 하나를 나타낼 수 있다.
데이터 서비스의 컨텐트 아이템은 컨텐트 아이템 식별자, 컨텐트 아이템의 이름, 컨텐트 아이템이 포함하는 파일 셋(set), 컨텐트 아이템의 업데이트를 위해 모니터링 되어야 하는지 나타내는 표시, 다운로드 가능 시간을 나타내는 다운 가능 윈도우(avaible window), 컨텐트 아이템이 폐기(discard)되는 시간을 나타내는 만료 날짜(expiration date), 컨텐트 아이템 크기, 컨텐트 아이템의 재생 길이, 타겟팅/개인화 속성, 서비스/컨텐츠 보호 및 컨텐츠 권장 등급(Content advisory rating) 중 적어도 어느 하나를 속성으로 가질 수 있다.
또한, 각각의 부가 NRT 데이터 서비스들은 타겟 스크린을 속성으로 가질 수 있다. 이때 타겟 스크린은 디바이스는 주(primary) 디바이스, 연동(companion) 디바이스 및 주 디바이스와 연동 디바이스를 모두 포함하는 것 중 어느 하나를 나타낼 수 있다.
이러한 NRT 데이터 속성은 NRT 정보 테이블을 통해 시그널링될 수 있다. 이에대해서는 도 142을 통해서 설명하도록 한다.
도 142은 본 발명의 일 실시예에 따른 NRT 정보 테이블을 보여준다.
본 발명의 일 실시예에 따른 NRT 정보 테이블은 NRT 서비스의 식별자 및 NRT 정보 블락을 포함할 수 있다.
구체적인 실시예에서 NRT 정보 테이블은 도 142의 실시예와 같이 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, section_length 필드, table_id_extension 필드, version_number 필드, current_next_indicator 필드, section_number 필드, last_section_numberr 필드, service_id 필드 및 NRT_information_block 필드 중 적어도 어느 하나를 포함할 수 있다.
table_id 필드는 NRT 정보 테이블의 식별자를 나타낸다. 이때 table_id 필드의 값은 ATSC A/65에서 정의된 reserved id값중 하나일 수 있다. 구체적인 실시예에서 table_id 필드는 8 비트 필드일 수 있다.
section_syntax_indicator 필드는 NRT 정보 테이블 테이블의MPEG-2 TS 표준의 long 형식의 private section table인지 아닌지를 나타낸다. 구체적인 실시예에서 section_syntax_indicator 필드는 1 비트 필드일 수 있다.
private_indicator 필드는 현재 테이블이 private section에 해당하는지를 나타낸다. 구체적인 실시예에서 private_indicator 필드는 1 비트 필드일 수 있다.
section_length 필드는 section_length 필드 이후에 포함된 section의 길이를 나타낸다. 구체적인 실시예에서 section_length 필드는 12 비트 필드일 수 있다.
table_id_extension 필드는 table_id 필드와 결합하여 NRT 정보 테이블을 식별하는 값을 나타낸다. 특히, table_id 필드는 NRT 정보 테이블의 프로토콜 버전을 나타내는 protocol_version 필드를 포함할 수 있다. 구체적인 실시예에서 protocol_version 필드는 8 비트 필드일 수 있다. 또한 table_id_extension 필드는 NRT 정보 테이블이 전송되는 서브넷을 식별하는 subnet_id 필드를 포함할 수 있다. 구체적인 실시예에서 subnet_id 필드는 8 비트 필드일 수 있다.
version_number 필드는 NRT 정보 테이블의 버전을 나타낸다. 방송 수신 장치(100)는 vserion_number 필드의 값에 기초하여 NRT 정보 테이블의 정보 이용여부를 결정할 수 있다. 구체적으로 version_number 필드의 값이 이전에 수신한 서비스 시그널링 테이블의 버전과 동일한 경우 NRT 정보 테이블의 정보를 이용하지 않을 수 있다. 구체적인 실시예에서 version_number 필드는 5 비트 필드일 수 있다.
current_next_indicator 필드는 NRT 정보 테이블의 정보가 현재 사용가능한지 나타낸다. 구체적으로 current_next_indicator 필드의 값이 1인 경우 NRT 정보 테이블의 정보가 사용 가능함을 나타낼 수 있다. 또한 current_next_indicator 필드의 값이 1인 경우 NRT 정보 테이블의 정보를 다음에 사용할 수 있음을 나타낼 수 있다. 구체적인 실시예에서 current_next_indicator 필드 1 비트 필드일 수 있다.
section_number 필드는 현재 섹션의 번호를 나타낸다. 구체적인 실시예에서 section_number 필드는 8 비트일 수 있다.
last_section_number 필드는 마지막 섹션의 번호를 나타낸다. NRT 정보 테이블의 크기가 큰 경우 복수의 섹션으로 나뉘어 전송될 수 있다. 이때 방송 수신 장치(100)는 section_number 필드와 last_section_number 필드에 기초하여 NRT 정보 테이블에 필요한 모든 섹션의 수신 여부를 판단한다. 구체적인 실시예에서 last_section_number 필드는 8 비트 필드일 수 있다.
service_id 필드는 NRT 서비스를 식별하는 식별자를 나타낸다. 구체적인 실시예에서 service_id 필드는 16 비트 필드일 수 있다.
NRT_information_block 필드는 NRT 정보 블락을 나타낸다. 이에 대해서는 도 143을 통하여 구체적으로 설명하도록 한다.
도 143은 본 발명의 일 실시예에 따른 NRT 정보 블락을 보여준다.
NRT 정보 블락이 시그널링하는 시간 구간(time span)의 시작 시간을 나타내는 정보, NRT 정보 블락이 시그널링하는 시간 구간(time span)의 길이를 나타내는 정보, NRT 정보 블락이 시그널링하는 컨텐츠 아이템의 개수, 해당 컨테츠 아이템을 식별하는 컨텐츠 식별 정보, 해당 컨텐츠 아이템이 주기적으로 업데이트 되는지를 나타내는 정보, 컨텐츠 보호(protection)가 해당 컨텐츠 아이템이 포함하는 파일들에 적용되었는지 여부를 나타내는 정보, 해당 컨텐츠 아이템이 서비스가 선택되면 실행되는 마스터 컨텐츠 아이템인지를 나타내는 정보, NRT 정보 블락이 해당 컨텐츠의 재생 시간의 길이가 포함하는지 나타내는 정보, 해당 컨텐츠의 재생 시간의 길이, NRT 정보 블락이 해당 컨텐츠의 재생 지연 시간을 포함하는지 나타내는 정보, 해당 컨텐츠의 재생 지연 시간, NRT 정보 블락이 해당 컨텐츠 아이템의 만료(expiration) 시간을 포함하는지 나타내는 정보, 컨텐츠 아이템의 만료 시간, NRT 정보 블락이 해당 컨텐츠 아이템의 크기(size)를 포함하는지 여부를 나타내는 정보, 해당 컨텐츠 아이템의 크기, NRT 정보 블락이 NRT 서비스의 타겟 디바이스에 관한 정보를 포함하는 지를 나타내는 정보, NRT 서비스의 타겟 디바이스에 관한 정보, 해당 컨텐츠 아이템을 방송망을 통해서 수신할 수 있는지를 나타내는 정보, 해당 컨텐츠 아이템을 인터넷망을 통해서 수신할 수 있는지를 나타내는 정보, 해당 컨텐츠 아이템의 이름 및 해당 컨텐츠에 대한 구체적인 정보를 포함하는 디스크립터 중 적어도 어느 하나를 포함할 수 있다.
구체적으로 NRT 정보 블락은 도 144와 같이 time_span_start 필드, time_span_length 필드, num_content_items_in_section 필드, content_id, updates_available 필드, content_security_conditions_indicator 필드, master_item 필드, playback_length_included 필드, palybace_Delay_included 필드, expiration_included 필드, content_size_included 필드, available_in_broadcast 필드, target_included 필드, playback_length_in seconds 필드, playback_delay 필드, expiration 필드, content_size 필드, target 필드, content_name_text 필드 및 content_descriptor 필드 중 적어도 어느 하나를 포함할 수 있다.
time_span_start 필드, time_span_length 필드, num_content_items_in_section 필드, content_id, updates_available 필드, content_security_conditions_indicator 필드, master_item 필드, playback_length_included 필드, palyback_Delay_included 필드, expiration_included 필드, content_size_included 필드, available_in_internet 필드, available_in_broadcast 필드, target_included 필드, playback_length_in seconds 필드, playback_delay 필드, expiration 필드, content_size 필드, target 필드, content_name_length 필드, content_name_text 필드 및 content_descriptor 필드 중 적어도 어느 하나를 포함할 수 있다.
time_span_start 필드는 NRT 정보 블락이 시그널링하는 시간 구간(time span)의 시작 시간을 나타낸다. 구체적인 실시예에서 time_span_start는 32 비트 필드일 수 있다.
time_span_length 필드는 NRT 정보 블락이 시그널링하는 시간 구간(time span)의 길이를 나타낸다. 구체적인 실시예에서 time_span_length 필드는 16 비트 필드일 수 있다.
NRT_content_items_in_section 필드는 NRT 정보 블락이 시그널링하는 컨텐츠 아이템의 개수를 나타낸다. 구체적인 실시예에서 NRT_content_items_in_section 필드는 8 비트 필드일 수 있다.
content_id 필드는 해당 컨텐츠 아이템을 식별하는 정보를 나타낸다. 구체적인 실시예에서 32 비트 필드일 수 있다.
updates_available 필드는 해당 컨텐츠 아이템이 업데이트될 것 인지 여부를 타나낸다. 구체적인 실시예에서 updates_available 필드는 1 비트 필드일 수 있다.
content_security_conditions_indicator 필드는 해당 컨텐츠 아이템이 포함하는 파일 중 적어도 하나에 컨텐츠 보호가 적용 되었는지를 나타낸다. 구체적인 실시예에서 content_security_conditions_indicator 필드는 1 비트 필드일 수 있다.
master_item 필드는 해당 컨텐츠 아이템이 마스터 컨텐츠 아이템인지 나타낸다. 구체적으로 master_item 필드는 해당 컨텐츠 아이템이 해당 NRT 서비스가 선택되면 실행되어야 하는 컨텐츠 아이템인지 나타낸다. 구체적인 실시예에서 master_item 필드는1 비트 필드일 수 있다.
playback_length_included 필드는 NRT 정보 블락이 해당 컨텐츠 아이템의 재생 시간의 길이를 포함하는지 나타낸다. 구체적인 실시예에서 playback_length_included 필드는 1비트 필드일 수 있다.
palyback_Delay_included 필드는 NRT 정보 블락이 해당 컨텐츠 아이템의 지연 재생 시간 정보를 포함하는지 나타낸다. 구체적인 시릿예에서 palyback_Delay_included 필드는 1 비트 필드일 수 있다.
expiration_included 필드는 NRT 정보 블락이 해당 컨텐츠 아이템의 만료 시간을 포함하는 지를 나타낸다. 구체적인 실시예에서 expiration_included 필드는 1 비트 필드일 수 있다.
content_size_included 필드는 NRT 정보 블락이 해당 컨텐츠 아이템의 크기를 포함하는 지를 나타낸다. 구체적인 실시예에서 content_size_included 필드는 1 비트 필드일 수 있다.
available_in_broadcast 필드는 해당 컨텐츠 아이템이 방송망을 통해서 획득될 수 있는지를 나타낸다. 구체적인 실시예에서 available_in_broadcast 필드는 1 비트 필드일 수 있다.
available_in_internet 필드는 해당 컨텐츠 아이템이 인터넷망을 통해서 획득될 수 있는지를 나타낸다. 구체적인 실시예에서 available_in_internet 필드는 1 비트 필드일 수 있다.
target_included 필드는 NRT 정보 블락이 타겟 디바이스에 관한 정보를 포함하고 있는지를 나타낸다. 구체적인 실시예에서 target_included 필드는 1 비트 필드일 수 있다.
playback_length_in seconds 필드는 해당 컨텐츠 아이템의 재생 시간의 길이를 나타낸다. 구체적인 실시예에서 초 단위의 길이를 나타낼 수 있다. 또한 구체적인 실시예에서 playback_length_in seconds 필드는 24 비트 필드일 수 있다.
playback_delay 필드는 해당 컨텐츠 아이템의 재생 지연 시간을 나타낸다. 구체적인 실시예에서 playback_delay 필드는 24 비트 필드일 수 있다.
expiration 필드는 해당 컨텐츠 아이템의 만료 시간을 나타낸다. 구체적인 실시예에서 expiration 필드는 32 비트 필드일 수 있다.
content_size 필드는 해당 컨텐츠 아이템의 크기를 나타낸다. 구체적인 실시예에서 content_size 필드는 40 비트 필드일 수 있다.
target 필드는 해당 컨텐츠 아이템의 타겟 디바이스 정보를 나타낸다. 구체적인 실싱예에서 target 필드의 값이 0x01인 경우, 타겟 디바이스가 오직 주(primary) 디바이스 임을 나타낼 수 있다. 또한 target 필드의 값이 0x02인 경우, 타겟 디바이스가 하나 또는 하나 이상의 연동(companion) 디바이스 임을 나타낼 수 있다. 또한 target 필드의 값이 0x03인 경우, 타겟 디바이스가 주 디바이스와 하나 또는 하나 이상의 연동(companion) 디바이스 모두임을 나타낼 수 있다.
content_name_length 필드는 content_name_text 필드의 길이를 나타낸다. 구체적인 실시예에서 content_name_length 필드는 8 비트 필드일 수 있다.
content_name_text 필드는 컨텐츠 아이템의 이름을 나타낸다.
content_descriptor 필드는 컨텐츠 아이템에 대한 구체적인 정보를 포함하는 하나 또는 하나 이상의 NRT 서비스 디스크립터를 나타낸다. 이에 대해서는 도 144를 통하여 구체적으로 설명하도록 한다. 도 144는 본 발명의 일 실시예에 따른 NRT 서비스 디스크립터를 보여준다.
NRT 서비스 디스크립터는 NRT 서비스의 소비 모델을 나타내는 정보, NRT 서비스의 자동 업데이트 여부를 나타내는 정보, NRT 서비스를 위해 필요한 최소 저장 공간을 나타내는 정보를 포함하는지 나타내는 정보, 컨텐츠 아이템의 기본(default) 크기를 나타내는 정보를 포함하는지 나타내는 정보, 타겟 디바이스의 정보, NRT 서비스를 위해 필요한 최소 저장 공간을 나타내는 정보 및 컨텐츠 아이템의 기본 크기를 나타내는 정보 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 NRT 서비스 디스크립터는 consumption_model 필드, auto-update 필드, stoargage_reservation_present 필드, decault_content_size_present 필드, target_include 필드, storage_reservation 필드 및 default_content_size 필드 중 적어도 어느 하나를 포함할 수 있다.
counsumption_model 필드는 NRT 서비스의 소비 모델을 나타낸다. 구체적인 실시예에서 counsumption_model 필드의 값이 0x00인 경우 푸쉬 NRT 서비스의 소비 모델이 푸쉬임을 나타낸다. 또한, counsumption_model 필드의 값이 0x01인 경우, NRT 서비스의 소비 모델이 포탈임을 나타낸다. 또한, counsumption_model 필드의 값이 0x02인 경우, NRT 서비스의 소비 모델이 스크립티드 푸쉬임을 나타낸다. counsumption_model 필드의 값이 0x03인 경우, NRT 서비스의 소비 모델이 스크립티드 포탈임을 나타낸다. counsumption_model 필드의 값이 0x04인 경우, NRT 서비스의 소비 모델이 트리거드임을 나타낸다. counsumption_model 필드의 값이 0x05인 경우, NRT 서비스의 소비 모델이 세그먼트 딜리버리임을 나타낸다. 구체적인 실시예에서 counsumption_model 필드는 6 비트 필드일 수 있다.
auto-update 필드는 자동 업데이트 서비스가 제공됨을 나타낸다. 구체적인 실시예에서 auto-update 필드는 1 비트 필드일 수 있다.
stoargage_reservation_present 필드는 NRT 서비스를 실행하기 위해 필요한 최소 저장 공간의 크기를 나태는 정보를 포함하는지 여부를 나타낸다. 구체적인 실시예에서 stoargage_reservation_present 필드는 1 비트 필드일 수 있다.
decault_content_size_present 필드는 컨텐츠 아이템의 기본 크기를 나타내는 정보를 포함하는 여부를 나타낸다. 구체적인 실시예에서 decault_content_size_present 필드는 1 비트 필드일 수 잇다.
target_include 필드는 타겟 디바이스에 대한 정보를 포함하는지를 타나낸다. 구체적인 실시예에서 target_include 필드는 1 비트 필드일 수 있다.
storage_reservation 필드는 NRT 서비스를 실행하기 위해 필요한 최소 저장 공간의 크기를 나타낸다. 구체적인 실시예에서 storage_reservation 필드는 24 비트 필드일 수 있다.
default_content_size 필드 컨텐츠 아이템의 기본 크기를 나타낸다. 구체적인 실시예에서 default_content_size 필드는 40 비트 필드일 수 있다.
앞서 설명한 NRT 정보 블락과 NRT 서비스 디스크립터는 비트 스트림 형식으로 설명하였다. 다만, NRT 정보 블락과 NRT 서비스 디스크립터는 비트 스트림 형식에 한정되지 않고 다른 형식일 수 있다. 예컨대, NRT 정보 블락과 NRT 서비스 디스크립터는 XML 파일 형식일 수 있다.
또한 방송 서비스, 프로그램 및 프로그램을 구성하는 복수의 시간 구간 중 프로그램의 본편 내용을 포함하는 쇼 세그먼트(show segment)의 그래픽 아이콘을 시그널링하기 위하여 방송 서비스 시그널링 테이블, 프로그램 정보 및 세그먼트 정보는 그래픽 아이콘 정보를 포함할 수 있다. 특히, 방송 서비스 시그널링 테이블은 그래픽 아이콘 정보를 서비스 레벨 정보로 포함할 수 있다. 또한, 프로그램 정보는 그래픽 아이콘 정보를 프로그램 레벨 정보로 포함할 수 있다. 또한, 세그먼트 정보는 그래픽 아이콘 정보를 세그먼트 레벨 정보로 포함할 수 있다.
도 145는 본 발명의 일 실시예에 따른 그래픽 아이콘 정보를 보여준다.
그래픽 아이콘 정보는 아이콘 식별자, 아이콘 전송 방법을 나타내는 아이콘전송 모드, 아이콘의 위치가 특정되어 있는지를 나타내는 정보, 아이콘 위치의 기준이 되는 좌표를 나타내는 좌표계(coordinate system) 정보, 아이콘의 수평 좌표를 나타내는 수평 좌표 정보, 아이콘의 수직 좌표를 나타내는 수직 좌표 정보, 아이콘의 이미지 형태를 나타내는 정보, 아이콘 이미지가 저장된 위치를 나타내는 URL 정보 및 아이콘 데이터 자체 중 적어도 어느 하나를 포함할 수 있다.
구체적으로 도 145의 실시예와 같이 descriptor_tag 필드, descriptor_length 필드, descriptor_number 필드, last_decirptor_number 필드, icon_id 필드, icon_transport_mode 필드, position_flag 필드, coordinate_system 필드, icon_horizontal_origin 필드, icon_vertical_origin 필드, icon_type_length 필드, icon_type_chars 필드, icon_data_length 필드, icon_data_byte 필드, url_length 필드, url 필드 및 icon_content_linkage 필드 중 적어도 어느 하나를 포함할 수 있다.
descriptor_tag 필드는 아이콘 정보를 포함함을 나타낸다. 구체적인 실시예에서 descriptor_tag 필드는 8 비트 필드일 수 있다.
descriptor_length 필드는 이 필드 이후의 아이콘 정보의 길이를 나타낸다. 구체적인 실시예에서 decroptor_length는 8 비트 필드일 수 있다.
descriptor_number 필드는 아이콘 정보가 복수의 디스크립터로 나뉘어 전송되는 경우, 현재 디스크립터의 순서를 나타낸다. 구체적인 실시예에서 처음 전송되는 디스크립터인 경우, descriptor_number 필드의 값은 0x00일 수 있다. 구체적인 실시예에서 descriptor_number 필드의 값은 1씩 증가할 수 있다. 구체적인 실시예에서 descriptor_number 필드는 4 비트 필드일 수 있다.
last_decirptor_number 필드는 마지막 descriptor의 번호를 나타나내다. 구체적인 실시예에서 last_decirptor_number 필드는 4 비트 필드일 수 있다.
icon_id 필드는 아이콘을 식별하는 아이콘 식별자를 나타낸다. 구체적인 실시예에서 icon_id 필드는 8 비트일 수 있다.
icon_transport_mode 필드는 아이콘의 전송 방법을 나타낸다. 구체적으로icon_transport_mode의 값은 아이콘 이미지가 그래픽 아이콘 정보 자체를 통해 전송 되는 경우, 아이콘 이미지가 URL을 통해 링크 되는 경우 및 아이콘 이미지가 FLUTE 세션을 통해 전송되는 경우 중 어느 하나를 나타낼 수 있다. 구체적인 실시예에서 도 146의 실시예와 같이 icon_transport_mode의 값이 0x00인 경우 아이콘 이미지가 그래픽 아이콘 정보 자체를 통해 전송는 것을 나타내고, icon_transport_mode의 값이 0x01인 경우 아이콘 이미지가 URL을 통해 링크 되는 것을 나타내고, icon_transport_mode의 값이 0x02인 경우 아이콘 이미지가 FLUTE 세션을 통해 전송되는 것을 나타낼 수 있다. 구체적인 실시예에서 icon_transport_mode 필드는 2 비트 필드일 수 있다.
position_flag 필드는 아이콘의 위치가 특정되어 있는지를 나타낸다. 구체적인 실시예에서 position_flag 필드는 1 비트 필드일 수 있다.
coordinate_system 필드는 아이콘 위치의 기준이 되는 좌표를 나타낸다. 구체적으로 coordinate_system 필드의 값은 좌표계가 720x576 좌표로 구성된 경우, 좌표계가 1280x720 좌표로 구성된 경우, 좌표계가 1920x1080 좌표로 구성된 경우, 좌표계가 3840x2160 좌표로 구성된 경우 및 좌표계가 7680x4320 좌표로 구성된 경우 중 어느 하나를 나타낼 수 있다. 구체적인 실시예에서 도 147의 실시예와 같이 coordinate_system 필드의 값이 0x00인 경우 좌표계가 720x576 좌표로 구성된 것을 나타내고, 0x01인 경우 좌표계가 1280x720 좌표로 구성된 것을 나타내고, 0x02인 경우 좌표계가 1920x1080 좌표로 구성된 것을 나타내고, 0x03인 경우 좌표계가 3840x2160 좌표로 구성된 것을 나타내고, 0x04인 경우 좌표계가 7680x4320 좌표로 구성된 것을 나타낼 수 있다. 구체적인 실시예에서 coordinate_system 필드는 3 비트 필드일 수 있다.
icon_horizontal_origin 필드는 아이콘의 수평 좌표를 나타낸다. 구체적으로 왼쪽 열부터 오른쪽 열 방향으로 좌표의 값이 증가할 수 있다. 구체적인 실시예에서 icon_horizontal_origin 필드는 13 비트 필드일 수 있다.
icon_vertical_origin 필드는 아이콘의 수직 좌표를 나타낸다. 구체적으로 위의 행부터 아래 행 방향으로 좌표의 값이 증가할 수 있다. 구체적인 실시예에서 icon_vertical_origin 필드는 13 비트 필드일 수 있다.
icon_type_length 필드는 icon_type 필드의 길이를 나타낸다. 구체적인 실시예에서 icon_type_length 필드는 8 비트 필드일 수 있다.
icon_type_chars 필드는 아이콘의 이미지 형태를 나타낸다. 구체적으로 icon_type_chars 필드의 값은 RFC 2045에서 정의된 마임(Multipurpose Internet Mail Extensions, MIME) 이미지 형태일 수 있다.
icon_data_length 필드는 아이콘 이미지가 그래픽 아이콘 정보를 통해 전송되는 경우, icon_data_byte 필드의 길이를 나타낸다. 구체적인 실시예에서 8 비트 필드일 수 있다.
icon_data_byte 필드는 그래픽 아이콘 정보가 전송하는 이이콘 이미지의 데이터를 나타낸다.
url_length 필드는 아이콘 이미지가 URL을 통해 링크될 경우 url 필드의 길이를 나타낸다. url_length 필드는 8 비트 필드일 수 있다.
url 필드는 아이콘을 링크하는 URL을 나타낸다.
icon_content_linkage 필드는 아이콘 이미지가 FLUTE 세션을 통해 전송되는 경우 아이콘 이미지를 전송하는 FLUTE FDT 컨텐츠 링크지(contents linkage)를 나타낸다.
그래픽 아이콘 정보가 비트스트림 형태인 실시예를 통해 그래픽 아이콘 정보를 설명하였으나 그래픽 아이콘 정보는 XML 파일 형식 등의 다른 형식일 수 있다.
또한 앞서 설명한 바와 같이 방송 서비스들은 하나 또는 복수의 미디어 컴포넌트를 포함할 수 있다. 서비스 시그널링 테이블이 방송 서비스가 포함하는 미디어 컴포넌트들을 시그널링하는 미디어 컴포넌트 리스트 정보를 포함할 수 있다. 특히, 방송 서비스 시그널링 테이블은 미디어 컴포넌트 리스트 정보를 서비스 레벨 정보로 포함할 수 있다.
이에 대해서는 도 148을 통해 구체적으로 설명하도록 한다.
도 148은 본 발명의 일 실시예에 따른 미디어 컴포넌트 리스트 정보를 보여준다.
미디어 컴포넌트 리스트 정보는 컴포넌트를 식별하는 컴포넌트 식별자, 미디어 컴포넌트의 형태를 나타내는 컴포넌트 형태 정보 및 미디어 컴포넌트가 포함하는 미디어의 형태를 나타내는 미디어 형태 정보 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 도 148의 실시예와 같이 미디어 컴포넌트 리스트 정보는 descriptor_tag 필드, descriptor_length 필드, num_component 필드, component_id 필드, component_type 필드 및 general_media_type 필드를 포함할 수 있다.
descriptor_tag 필드는 컴포넌트 리스트 정보를 포함함을 나타낸다. 구체적인 실시예에서 descriptor_tag 필드는 8 비트 필드일 수 있다.
descriptor_length 필드는 descriptor_length 필드 이후의 길이를 나타낸다. 구체적인 실시예에서 descriptor_length 필드 8 비트 필드일 수 있다.
num_component 필드는 해당 방송 서비스에 포함된 미디어 컴포넌트의 개수를 나나탠다. 구체적인 실시예에서 미디어 컴포넌트 리스트 정보를 8 비트 필드일 수 있다.
component_id 필드는 해당 미디어 컴포넌트를 식별하는 식별자를 나타낸다. 구체적인 실시예에서 component_id 필드는 8 비트 필드일 수 있다.
component_type 필드는 미디어 컴포넌트의 형태를 나타낸다. 구체적인 실싱예서 component_type 필드의 값은 앞서 설명한 기초 컴포넌트, 컴포지트 컴포넌트 및 적응적 컴포넌트 중 어느 하나를 나타낼 수 있다. 구체적으로 component_type 필드의 값이 0x00인 경우 해당 미디어 컴포넌트가 기초 컴포넌트를 나타내고, component_type 필드의 값이 0x01인 경우 해당 미디어 컴포넌트가 컴포지트 컴포넌트를 나타내고, component_type 필드의 값이 0x02인 경우 해당 미디어 컴포넌트가 적응적 컴포넌트임을 나타낼 수 있다. 구체적인 실시예에서 component_type 필드는 4 비트 필드일 수 있다.
general_media_type 필드는 미디어 컴포넌트가 포함하는 미디어의 형태를 나타낸다. general_media_type 필드의 값은 비디오, 오디오, 텍스트, 어플리케이션 및 메시지 중 어느 하나를 나타낼 수 있다. 구체적으로 general_media_type 필드의 값이 0x00인 경우 미디어 컴포넌트가 포함하는 미디어가 비디오임을 나타내고, general_media_type 필드의 값이 0x01인 경우 미디어 컴포넌트가 포함하는 미디어가 오디오임을 나타내고, general_media_type 필드의 값이 0x02인 경우 미디어 컴포넌트가 포함하는 미디어가 텍스트임을 나타내고, general_media_type 필드의 값이 0x03인 경우 미디어 컴포넌트가 포함하는 미디어가 어플리케이션임을 나타내고, general_media_type 필드의 값이 0x04인 경우 미디어 컴포넌트가 포함하는 미디어가 메시지임을 나타낼 수 있다. 구체적인 실시예에서 general_media_type 필드는 4 비트 필드일 수 있다.
컴포넌트 리스트 정보가 비트스트림 형태인 실시예를 통해 설명하였으나 컴포넌트 리스트 정보는 XML 파일 형식 등의 다른 형식일 수 있다.
구체적인 실시예에서 하나의 미디어 컴포넌트는 동일한 방송 스트림의 복수 방송 서비스들에게 공유(share)될 수 있다. 또한 서로 다른 방송 스트림에 포함된 복수의 방송 서비스들이 하나의 미디어 컴포넌트를 공유할 수 있다. 이에 따라 하나의 미디어 컴포넌트를 복수의 방송 서비스가 효율적으로 공유할 수 있는 방법이 필요하다. 이를 위해 방송 전송 장치는 각각의 미디어 컴포넌트 또는 방송 서비스가 고유한 리소스 식별자(unique resource identifier, URI)와 연결(associate)되도록 할 수 있다.
이에 대해서는 도 149를 통해 자세히 설명하도록 한다.
도 149는 본 발명의 일 실시예에 따른 방송 서비스 시그널링 테이블에서 미디어 컴포넌트 또는 방송 서비스를 URI를 통해 맵핑하는 것을 보여준다.
방송 서비스 시그널링 테이블에서 방송 서비스 또는 미디어 컴포넌트를 URI를 통해 시그널링할 수 있다. 이때, 방송 서비스 또는 미디어 컴포넌트를 URI를 통해 시그널링하는 정보를 URI 링키지(linkage) 정보라 할 수 있다. URI 링키지 정보는 URI, 또는 방송사 또는 지역별로 독립적으로 규정할 수 있는 프라이빗 데이터 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 도 149의 실시예와 같이 descriptor_tag 필드, descriptor_length 필드, uri_length 필드, uri_char 필드 및 private_data_byte 필드 중 적어도 어느 하나를 포함할 수 있다.
descriptor_tag 필드는 URI 링키지 정보를 포함함을 나타낸다. 구체적인 실시예에서 URI 링키지 정보 8 비트 필드일 수 있다.
descriptor_length 필드는 descriptor_length 필드 이후의 URI 링키지 정보의 길이를 나타낸다. 구체적인 실시예에서 descriptor_length 필드는 8 비트 필드일 수 있다.
uri_length 필드는 uri_char 필드의 개수를 나타낸다. 구체적인 실시예에서 uri_length 필드는 8 비트 필드일 수 있다.
uri_char 필드는 URI 문자열의 각각의 문자를 나타낸다. 구체적인 실시예에서 uri_char 필드는 8 비트 필드일 수 있다.
private_data_byte 필드는 방송사 또는 지역별로 독립적으로 규정할 수 있는 프라이빗 데이터를 나타낸다. 구체적인 실시예에서 private_data_byte 필드는 8 비트 필드일 수 있다.
방송 수신 장치(100)는 URI 링키지 정보의 URI를 통해 미디어 컴포넌트 또는 방송 서비스를 식별할 수 있다. URI 링키지 정보의 URI가 미디어 컴포넌트를 식별하는 경우, 방송 서비스 시그널링 테이블은 URI 링키지 정보를 컴포넌트 레벨 정보로 포함할 수 있다. URI 링키지 정보의 URI가 방송 서비스를 식별하는 경우, 방송 서비스 시그널링 테이블은 URI 링키지 정보를 서비스 레벨 정보로 포함할 수 있다.
도 149의 실시예에서는 비트스트림을 통해 설명하였으나 URI 링크 정보의 형식은 이에 한정되지 않는다. 특히 URI 링크 정보는 XML 파일 형식일 수 있다.
방송 전송 장치는 특정 조건을 갖는 사용자들을 타겟팅(targeting)하는 방송 서비스 또는 미디어 컴포넌트를 전송할 수 있다. 또한 방송 수신 장치(100)는 방송 수신 장치(100) 사용자의 정보를 전송하고, 방송 수신 장치(100)의 사용자에게 맞는 방송 서비스 또는 미디어 컴포넌트를 수신할 수 있다. 예컨대, 방송 수신 장치(100)는 방송 수신 장치(100)가 위치한 지역 정보를 전송하고, 해당 지역을 위한 방송 서비스를 수신할 수 있다. 이를 위해서는 방송 서비스 또는 미디어 컴포넌트가 타겟하는 타겟팅 기준과 개인화 속성에 대한 정보를 시그널링하는 방법이 필요하다. 이에 대해서는 도 150를 통해 설명하도록 한다.
도 150는 방송 서비스 또는 미디어 컴포넌트의 타겟팅 기준을 시그널링하는 타겟팅 기준 정보를 보여준다.
방송 서비스 시그널링 테이블은 방송 서비스 또는 미디어 컴포넌트의 타켓 기준을 시그널링하는 타겟팅 기준 정보를 포함할 수 있다.
타겟팅 기준 정보는 타켓 기준을 식별하는 타겟팅 식별자 정보, 타겟팅의 형태를 나타내는 타겟팅 형태 정보, 구체적인 타겟팅 기준을 나타내는 타겟팅 기준 값 정보 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 도 150의 실시예와 같이 타겟팅 기준 정보는 descriptor_tag 필드, descriptor_length 필드, num_targeting_criteria 필드, criterion_id_length 필드, crerion_id 필드, criterion_type_code 필드, num_criterion_values 필드, criterion_value_length 필드 및 criterion_value 필드 중 적어도 어느 하나를 포함할 수 있다.
descriptor_tag 필드는 타겟팅 기준 정보를 포함함을 나타낸다. 구체적인 실시예에서 descriptor_tag 필드는 8 비트 필드일 수 있다.
descriptor_length 필드는 descriptor_tag 필드 이후 타겟팅 기준 정보의 길이를 나타낸다. descriptor_length 필드는 8 비트 필드일 수 있다.
num_targeting_criteria 필드는 타겟팅 기준 정보의 개수를 나타낸다. 구체적인 실시예에서 방송 서비스 또는 미디어 컴포넌트 가지는 타겟팅 기준은 복수일 수 있다. 구체적인 실시예에서 num_targeting_criteria 필드는 8 비트 필드일 수 있다.
criterion_id_length 필드는 crerion_id 필드의 길이를 나타낸다. 구체적인 실시예에서 criterion_id_length 필드 8 비트 필드일 수 있다.
crerion_id 필드는 타겟팅 기준을 식별하는 타겟팅 기준 식별자를 나타낸다. 구체적인 실시예에서 crerion_id 필드는 8 비트 필드일 수 있다.
criterion_type_code 필드는 타겟팅 기준의 형태를 나타낸다. 구체적인 실시예에서 criterion_type_code 필드는 3 비트 필드일 수 있다.
num_criterion_values 필드는 타겟팅 기준 값의 개수를 나타낸다. 구체적인실시예에서 방송 서비스 또는 미디어 컴포넌트는 타겟팅 기준 형태에 해당하는 복수의 타겟팅 기준 값을 가질 수 있다. 구체적인 실시예에서 num_criterion_values 필드는 5 비트 필드일 수 있다.
criterion_value_length 필드는 criterion_value 필드의 길이를 나타낸다. 구체적인 실시예에서 criterion_value_length 필드는 8 비트 필드일 수 있다.
criterion_value 필드는 타겟팅 기준 값을 나타낸다.
구체적인 실시예에서 타겟팅 기준 정보가 미디어 컴포넌트의 타켓팅 기준을 시그널링하는 경우, 방송 서비스 시그널링 테이블은 타겟팅 기준 정보를 컴포넌트 레벨 정보로 포함할 수 있다. 구체적인 실시예에서 타겟팅 기준 정보가 방송 서비스의 타켓팅 기준을 시그널링하는 경우, 방송 서비스 시그널링 테이블은 타겟팅 기준 정보를 서비스 레벨 정보로 포함할 수 있다.
도 150의 실시예에서 비트스트림 형식을 통해서 설명하였으나 타겟팅 기준 정보는 비트스트림 형식에 제한되지 않는다. 특히 타겟팅 기준 정보는 XML 파일 형식일 수 있다.
방송 서비스 시그널링 테이블은 각각의 방송 서비스 또는 미디어 컴포넌트를 설명하는 텍스트 정보를 포함할 수 있다. 이는 도 151을 통해서 구체적으로 설명하도록 한다.
도 151은 방송 서비스 또는 미디어 컴포넌트를 설명하는 텍스트 정보를 보여준다.
구체적으로 텍스트 정보는 텍스트 언어의 종류를 나타내는 정보, 텍스트 정보를 식별하는 식별자, 및 방송 서비스 또는 미디어 컴포넌트를 포함하는 텍스트를 설명하는 텍스트 정보 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 도 151의 실시예와 같이 descriptor_number 필드, last_descriptor_number 필드, description_id 필드, language_code 필드, text_length 필드 및 text_char 필드 중 적어도 어느 하나를 포함할 수 있다.
descriptor_number 필드는 디스크립터의 순서를 나타낸다. 하나의 디스크립터가 텍스트 정보를 모두 포함하지 못 하는 경우, 복수의 디스크립터가 텍스트 정보를 나누어 포함할 수 있다. 이때, descriptor_number 필드는 복수의 디스크립터 중 해당 디스크립터의 번호를 나타낸다. 구체적인 실시예에서 descriptor_number 필드는 4 비트 필드일 수 있다.
last_descriptor_number 필드는 텍스트 정보를 포함하는 마지막 디스크립터의 번호를 나타낸다. 구체적인 실시예에서 last_descriptor_number 필드는 4 비트 필드일 수 있다.
description_id 필드는 텍스트 정보를 식별하는 식별자를 나타낸다. 구체적으로 방송 수신 장치(100)는 특정 방송 서비스 또는 미디어 컴포넌트에 대한 텍스트 정보를 description_id 필드의 값에 기초하여 다른 미디어 컴포넌트 또는 방송 서비스에 대한 텍스트 정보들을 식별할 수 있다. 구체적인 실시예에서 description_id 필드는 8 비트 필드일 수 있다.
language_code 필드는 텍스트 정보에 사용된 언어를 나타낸다. 구체적인 실시예에서 language_code 필드는 24 비트 필드일 수 있다.
text_length 필드는 text_char 필드의 길이를 나타낸다. 구체적인 실시예에서 text_length 필드는 8 비트 필드일 수 있다.
text_char 필드는 텍스트 정보의 문자를 나타낸다. 구체적인 실시예에서 text_char 필드는 8 비트 필드일 수 있다.
구체적인 실시예에서 텍스트 정보가 미디어 컴포넌트를 설며하는 텍스트를 시그널링하는 경우, 방송 서비스 시그널링 테이블은 텍스트 정보를 컴포넌트 레벨 정보로 포함할 수 있다. 구체적인 실시예에서 텍스트 정보가 방송 서비스를 설명하는 텍스트 정보을 시그널링하는 경우, 방송 서비스 시그널링 테이블은 텍스트 정보를 서비스 레벨 정보로 포함할 수 있다.
도 151의 실시예에서 비트스트림 형식을 통해서 설명하였으나 텍스트 정보는 형식은 비트스트림 형식에 제한되지 않는다. 특히 텍스트 정보는 XML 파일 형식일 수 있다.
또한, 방송 서비스, 프로그램 또는 프로그램을 구성하는 복수의 시간 구간 중 프로그램의 본편 내용을 포함하는 쇼 세그먼트(show segment)의 제목을 시그널링하기 위하여 방송 서비스 시그널링 테이블, 프로그램 정보 또는 세그먼트 정보는 제목 정보를 포함할 수 있다. 특히, 방송 서비스 시그널링 테이블은 제목 정보를 서비스 레벨 정보로 포함할 수 있다. 또한, 프로그램 정보는 제목 정보를 프로그램 레벨 정보로 포함할 수 있다. 또한, 세그먼트 정보는 제목 정보를 세그먼트 레벨 정보로 포함할 수 있다. 특히, 제목 정보는 복수의 언어를 지원하기 위하여 복수의 언어로 표시된 제목을 포함할 수 있다.
도 152은 방송 서비스, 프로그램 또는 쇼 세그먼트의 제목 정보를 보여준다.
제목 정보는 제목의 언어 수를 나타내는 정보, 제목의 언어를 나타내는 정보, 제목의 길이를 나타내는 정보 및 제목이 포함하는 글자 중 적어도 어느 하나를 포함할 수 있다.
구체적으로 제목 정보는 도 152의 실시예와 같이 num_title 필드, language_code 필드, title_length 필드 및 text_char 필드 중 적어도 어느 하나를 포함할 수 있다.
num_title 필드는 제목의 개수를 나타낸다. 구체적으로 제목 정보는 복수의 언어에따라 표시되는 방송 서비스, 프로그램 또는 쇼 세그먼트의 제목을 포함할 수 있다. 따라서 num_title 필드는 제목을 표시하는 언어의 수를 나타낼 수 있다. 구체적인 실시예에서 num_tilte 필드는 8 비트 필드일 수 있다.
language_code 필드는 제목을 표시하는 언어 종류를 나타낸다. 구체적인 실시예에서 language_code 필드는 24 비트 필드일 수 있다.
title_length 필드는 제목의 글자 수를 나타낸다. 구체적인 실시예에서 title_length 필드는 8 비트 필드일 수 있다.
text_char 필드는 제목이 포함하는 글자를 나타낸다. 구체적인 실시예에서 text_char 필드는 8 비트 또는 16 비트 필드일 수 있다.
비트 스트림 형식을 통해 제목 정보를 설명하였으나 제목 정보는 비트 스트림 형식에 제한 되지 않고 다른 형식일 수 있다. 구체적인 실시예에서 제목 정보는 XML 파일 형식일 수 있다.
또한, 방송 서비스, 프로그램 또는 프로그램을 구성하는 복수의 시간 구간 중 프로그램의 본편 내용을 포함하는 쇼 세그먼트(show segment)의 장르를 시그널링하기 위하여 방송 서비스 시그널링 테이블, 프로그램 정보 또는 세그먼트 정보는 장르 정보를 포함할 수 있다. 특히, 방송 서비스 시그널링 테이블은 장르 정보를 서비스 레벨 정보로 포함할 수 있다. 또한, 프로그램 정보는 장르 정보를 프로그램 레벨 정보로 포함할 수 있다. 또한, 세그먼트 정보는 장르 정보를 세그먼트 레벨 정보로 포함할 수 있다. 이에 대해서는 도 153을 통하여 구체적으로 설명하도록 한다.
도 153은 방송 서비스, 프로그램 또는 쇼 세그먼트의 장르 정보를 보여준다.
장르 정보는 장르의 개수를 나타내는 정보 및 방송 서비스, 프로그램 또는 쇼 세그먼트의 장르를 나타내는 정보를 포함할 수 있다.
구체적으로 장르 정보는 도 153의 실시예와 같이 num_genre 필드 및 genre_value 중 적어도 어느 하나를 포함할 수 있다.
num_genre 필드는 장르의 개수를 나타낸다. 구체적인 실시예에서 num_genre 필드는 8 비트 필드일 수 있다. 하나의 방송 서비스, 프로그램 및 쇼 세그먼트라도 복수의 장르에 해당할 수 있다. 따라서 장르 정보는 하나의 방송 서비스, 프로그램 및 쇼 세그먼트에 대하여 복수의 장르 정보를 포함할 수 있다. 이에 따라 장르 정보는 num_genre 필드를 포함할 수 있다.
genre_value 필드는 방송 서비스, 프로그램 또는 쇼세그먼트의 장르를 나타낸다. 구체적인 실시예에서 genre_value 필드는 8 비트 필드일 수 있다.
비트 스트림 형식을 통해 장르 정보를 설명하였으나 장르 정보는 비트 스트림 형식에 제한 되지 않고 다른 형식일 수 있다. 구체적인 실시예에서 장르 정보는 XML 파일 형식일 수 있다.
또한, 방송 서비스, 미디어 컴포넌트 또는 컨텐츠 아이템은 특정 디바이스를 위한 것일 수 있다. 구체적을 방송 서비스, 미디어 컴포넌트 또는 컨텐츠 아이템은 주 디바이스만을 위한 것일 수 있다. 또는 방송 서비스, 미디어 컴포넌트 또는 컨텐츠 아이템은 복수의 연동 디바이스를 위한 것일 수 있다. 이에 따라 방송 서비스, 미디어 컴포넌트 또는 컨텐츠 아이템과 연관된 타겟 디바이스를 시그널링하기 위하여 방송 서비스 시그널링 테이블, 프로그램 테이블, 또는 NRT 정보 테이블은 타겟 디바이스 정보를 포함할 수 있다. 이에 대해서는 도 154를 통하여 설명하도록 한다.
도 154는은 방송 서비스, 미디어 컴포넌트 또는 컨텐츠 아이템과 연관된 타겟 디바이스를 시그널링하는 타겟 디바이스 정보를 보여준다.
타겟 디바이스 정보는 방송 서비스, 미디어 컴포넌트 또는 컨텐츠 아이템의 타겟 디바이스를 나타내는 정보를 포함할 수 있다.
구체적인 실시예에서 타겟 디바이스 정보는 도 154와 같이 target_device 필드를 포함할 수 있다. target_dgvice 필드는 방송 서비스, 미디어 컴포넌트 또는 컨텐츠 아이템의 타겟 디바이스를 나타낸다. 구체적인 실시예에서 target_device 필드는 8 비트 필드일 수 있다.
비트 스트림 형식을 통해 타겟 디바이스 정보를 설명하였으나 타겟 디바이스 정보는 비트 스트림 형식에 제한 되지 않고 다른 형식일 수 있다. 구체적인 실시예에서 타겟 디바이스 정보는 XML 파일 형식일 수 있다.
앞서서는 방송 서비스와 방송 서비스가 포함할 수 있는 미디어 컴포넌트에 대해서 설명하였다. 도 155 내지 도 159를 통해서는 프로그램과 세그먼트에 대해서 설명하도록 한다.
도 155은 방송 서비스가 복수의 세그먼트로 구분되는 것을 보여준다.
방송 서비스는 미리 예정된 시작 시간과 재생 길이를 가지는 시각적 구간(temporal segment)인 프로그램을 포함할 수 있다. 구체적으로 라디오 서비스는 라디오 프로그램, 또는 오디오 프로그램을 포함한다. 또한 TV 서비스는 TV 프로그램을 포함할 수 있다. 또한 사용자 요청 컨텐츠 서비스는 사용자 요청 프로그램을 포함할 수 있다. 또한 스탠드얼론 NRT 데이터 서비스는 데이터 프로그램을 포함할 수 있다.
이러한 프로그램은 방송 서비스 시간에 따라 구분될 수 있다. 또한 라디오 서비스가 방송되는 시간은 라디오 프로그램들의 프로그램 길이(duration)의 합과 같다. TV서비스가 방송 되는 시간은 TV 프로그램 길이(duration)의 합과 같다. 다만, 사용자 요청 컨텐츠 서비스의 프로그램 길이(duration)는 특정 컨텐츠가 재생되는 시간이 아니라 사용자 요청 컨텐츠 서비스가 가능한 시간을 나타낼 뿐이다. 따라서 개별적인 컨텐츠의 재생시간은 사용자에 의해 좌우된다. 다만 컨텐츠 아이템(contents item)이 제공되는 동안 시작시간과 길이는 프로그램에 따라 제한된다. 따라서 사용자 요청 컨텐츠 서비스를 통해 제공되는 컨텐츠 아이템은 카달로그에 포함될 수 있다. 이때, 카달로그는 서비스가 가능하도록 사용자 인터페이스를 제공하는 어플리케이션일 수 있다.
프로그램은 연관된 프로그램의 주된 컨텐츠를 나타내는 쇼를 포함할 수 있다. 프로그램의 속성이라 생각되는 많은 부분들은 실질적으로 쇼의 속성이라할 수 있다. 예컨대, 프로그램 속성에 포함된 프로그램을 설명하는 텍스트, 배우 또는 장르 등은 쇼의 속성에 관한 것이다. 프로그램 속성 중 쇼의 속성이 아닌 다른 속성들은 프로그램 자체의 속성이다. 예컨대, 프로그램을 포함하는 서비스의 식별자 또는 프로그램의 시작 시간은 프로그램 자체의 속성이다. 동일한 쇼를 포함하는 포함하는 프로그램이라도 프로그램 자체의 속성은 다를 수 있다.
쇼는 쇼를 식별하는 식별자 정보, 쇼의 길이, 쇼의 텍스트 제목, 쇼를 설명하는 텍스트, 장르, 그래픽 아이콘, 쇼와 연관된 세그먼트의 목록, 권장 시청 등급, 타겟팅/개인화 속성 및 컨텐츠/서비스 보호 속성 중 적어도 어느 하나를 포함할 수 있다. 이러한 쇼의 속성은 쇼 정보를 통해 시그널링될 수 있다. 이때, 쇼와 연관된 세그먼트의 목록은 쇼를 포함하는 세그먼트의 목록일 수 있다. 이에 대해서는 도 156을 통해서 설명하도록 한다.
도 156은 본 발명의 일 실시예에 따른 쇼 정보를 보여준다.
쇼 정보는 쇼를 식별하는 식별장 정보 및 쇼에 대한 구체적인 정보를 포함하는 쇼 정보 블락을 포함할 수 있다.
구체적으로 쇼 정보는 도 156의 실시예와 같이 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, section_length 필드, table_id_extentsion 필드, version_number 필드, current_next_indicator 필드, section_number 필드, last_section_number 필드, show_id 필드, show_infoamtion_block을 포함할 수 있다.
table_id 필드는 쇼 정보를 포함하는 것을 나타낸다. 구체적인 실시예에서 table_id 필드는 8 비트 필드일 수 있다.
section_syntax_indicator 필드는 쇼 정보가 MPEG-2 TS 표준의 long 형식의 private section table인지 아닌지를 나타낸다. 구체적인 실시예에서 section_syntax_indicator 필드는 1 비트 필드일 수 있다.
private_indicator 필드는 현재 테이블이 private section에 해당하는지를 나타낸다. 구체적인 실시예에서 private_indicator 필드는 1 비트 필드일 수 있다.
section_length 필드는 section_length 필드 이후에 포함된 section의 길이를 나타낸다. 구체적인 실시예에서 section_length 필드는 12 비트 필드일 수 있다.
table_id_extension 필드는 table_id 필드와 결합하여 쇼 정보를 식별하는 값을 나타낸다. 구체적으로 protocol_version 필드 및 subnet_id 필드 중 적어도 어느 하나를 포함할 수 있다. protocol_version 필드는 프로그램 정보의 프로토콜 버전을 나타낸다. 구체적으로 protocol_version 필드는 상위 4 비트는 메이저 버전 넘버를 나타내고, 하위 4 비트는 마이너 버전 넘버를 나타내는 8 비트 필드일 수 있다. subnet_id 필드는 프로그램 정보가 방송 스트림을 통해 전송되는 경우 쇼 정보를 전송하는 IP 서브넷(subnet)을 식별하는 서브넷 식별자를 나타낼 수 있다. 또 다른 구체적인 실시예에서 subnet_id 필드의 값은 0일 수 있다. 인터넷 망을 통하여 프로그램 정보가 전송되는 경우, subnet_id 필드는 방송 스트림을 통해 전송되는 프로그램 정보의 subnet_id 필드와 동일한 값을 갖는다. 구체적인 실시예에서 subnet_id 필드는 8 비트 필드일 수 있다.
version_number 필드는 쇼 정보의 버전을 나타낸다. 방송 수신 장치(100)는 vserion_number 필드의 값에 기초하여 쇼 정보 이용여부를 결정할 수 있다. 구체적으로 version_number 필드의 값이 이전에 수신한 서비스 쇼 정보의 버전과 동일한 경우 쇼 정보를 이용하지 않을 수 있다. 구체적인 실시예에서 version_number 필드는 5 비트 필드일 수 있다.
current_next_indicator 필드는 쇼 정보가 현재 사용가능한지 나타낸다. 구체적으로 current_next_indicator 필드의 값이 1인 경우 쇼 정보가 사용 가능함을 나타낼 수 있다. 또한 current_next_indicator 필드의 값이 1인 경우 쇼 정보를 다음에 사용할 수 있음을 나타낼 수 있다. 구체적인 실시예에서 current_next_indicator 필드 1 비트 필드일 수 있다.
section_number 필드는 현재 섹션의 번호를 나타낸다. 구체적인 실시예에서 section_number 필드는 8 비트일 수 있다.
last_section_number 필드는 마지막 섹션의 번호를 나타낸다. 쇼 정보테이블의 크기가 큰 경우 복수의 섹션으로 나뉘어 전송될 수 있다. 이때 방송 수신 장치(100)는 section_number 필드와 last_section_number 필드에 기초하여 쇼 정보에 필요한 모든 섹션의 수신 여부를 판단한다. 구체적인 실시예에서 last_section_number 필드는 8 비트 필드일 수 있다.
show_id 필드는 쇼 정보가 시그널링하는 쇼를 식별하는 쇼 식별자를 나타낸다. 구체적인 실시예에서 show_id 필드는 16 비트 필드일 수 있다.
show_information_block 필드는 쇼의 속성에 대한 정보 포함하는 쇼 정보 블락을 나타낸다. 이에 대해서는 도 157를 통해서 구체적으로 설명하도록 한다.
도 157는 본 발명의 일 실시예에 따른 쇼 정보 블락을 보여준다.
쇼 정보 블락은 쇼의 길이, 쇼를 설명하는 텍스트, 쇼와 연관된 세그먼트의 개수, 쇼와 연관된 세그먼트를 시그널링하는 세그먼트 정보 블락 및 쇼의 속성에 관한 구체적인 정보를 포함하는 디스크립터 중 적어도 어느 하나를 포함할 수 있다. 이때 쇼와 연관된 세그먼트는 쇼를 포함하는 세그먼트일 수 있다.
구체적으로 쇼 정보 블락은 도 157의 실시예와 같이 time_span_length 필드, title_text_length 필드, title_text() 필드, num_segment 필드, segment_information_block() 필드, num_show_descriptors 필드 및 descriptors 필드 중 적어도 어느 하나를 포함할 수 있다.
time_span_length 필드는 쇼의 길이를 나타낸다. 쇼는 복수의 세그먼트에 포함될 수 있다. 이때, 복수의 세그먼트의 시작 시간은 각각 다르더라도 쇼의 길이는 동일 할 수 있다. 다른 프로그램에 포함되더라도 쇼 세그먼트의 컨텐츠는 동일하기 때문이다. 구체적인 실시예에서 time_span_length 필드는 16 비트 필드일 수 있다.
title_text_length 필드는, title_text(), num_segment 필드, segment_information_block() 필드, num_show_descriptors 필드 및 descriptors 필드
도 158은 본 발명의 일 실시예에 따른 세그먼트 정보 블락을 보여준다.
세그먼트 정보 블락은 세그먼트를 식별하는 세그먼트 식별자, 세그먼트의 시작 시간을 나타내는 정보, 세그먼트의 길이를 나타내는 정보 및 세그먼트에 대한 구체적인 정보를 포함하는 디스크립터 중 적어도 어느 하나를 포함할 수 있다. 구체적인 실시예에서 세그먼트 식별자는 세그먼트를 포함하는 프로그램을 식별하는 프로그램 식별자와 도메인 네임에 기초한 것일 수 있다. 구체적으로 세그먼트 식별자는 세그먼트를 포함하는 프로그램을 식별하는 프로그램 식별자와 도메인 네임을 조합한 것일 수 있다. 구체적으로 세그먼트의 시작 시간은 세그먼트를 포함하는 프로그램의 시작을 기준으로한 상대적 시간일 수 있다.
구체적인 실시예에서 세그먼트 정보 블락은 도 158의 실시예와 같이 segment_id 필드, start_time 필드, time_span_length 필드, num_segment_descriptors 필드 및 descriptor 필드 중 적어도 어느 하나를 포함할 수 있다.
segment_id 필드는 세그먼트를 식별하는 세그먼트 식별자를 나타낸다. 구체적인 실시예에서 segment_id 필드는 16 비트 필드일 수 있다.
start_time 필드는 세그먼트의 시작 시간을 나타낸다. 동일한 쇼를 포함하는 세그먼트라도 각 세그먼트 별로 시작 시간이 다를 수 있다. 따라서 세그먼트 정보 각각의 세그먼트에 대한 시작 시간을 나타낸는 정보를 포함할 수 있다. 구체적인 실시예에서 start_time 필드는 32 비트 필드일 수 있다.
time_span_length 필드는 세그먼트의 길이를 나타낸다. 구체적인 실시예에서time_span_length 필드는 16 비트 필드일 수 있다.
num_segment_descriptors 필드는 세그먼트 정보 블락이 포함하는 디스크립터의 수를 나타낸다. 구체적인 실시예에서 num_segment_descriptors 필드는 8 비트 필드일 수 있다.
descriptor 필드 세그먼트에 대한 구체적인 정보를 포함한다.
앞서 쇼 정보, 쇼 정보 블락 및 세그먼트 정보 블락을 비트스트림 형식을 통해서 설명하였으나 쇼 정보, 쇼 정보 블락 및 세그먼트 정보는 비트스트림 형식에 제한되지 않고 다른 형식일 수 있다. 구체적으로 쇼 정보, 쇼 정보 블락 및 세그먼트 정보는 XML 파일 형식일 수 있다.
도 159는 본 발명의 일 실시예에 따른 방송 전송 장치가 쇼 정보 및 세그먼트 정보 중 적어도 어느 하나를 포함하는 방송 신호를 전송하는 것을 보여준다.
방송 전송 장치는 제어부를 통하여 방송 서비스가 포함하는 쇼의 속성을 획득한다(S731). 쇼의 속성은 앞서 설명한 바와 같이 쇼를 식별하는 식별자 정보, 쇼의 길이, 쇼의 텍스트 제목, 쇼를 설명하는 텍스트, 장르, 그래픽 아이콘, 쇼와 연관된 세그먼트의 목록, 권장 시청 등급, 타겟팅/개인화 속성 및 컨텐츠/서비스 보호 속성 중 적어도 어느 하나를 포함할 수 있다. 이러한 쇼의 속성은 쇼 정보를 통해 시그널링될 수 있다. 이때, 쇼와 연관된 세그먼트의 목록은 쇼를 포함하는 세그먼트의 목록일 수 있다.
방송 전송 장치는 제어부를 통하여 쇼의 속성에 기초하여 프로그램을 시그널링하는 프로그램 정보를 생성한다(S733). 쇼 정보는 도 156 내지 도 157를 통해 설명한 쇼 정보와 쇼 정보 블락 중 적어도 어느 하나를 포함할 수 있다.
방송 전송 장치는 제어부를 통하여 쇼와 연관된 세그먼트의 속성을 획득한다(S735). 세그먼트의 속성은 세그먼트를 식별하는 고유한 식별자, 해당 세그먼트의 시간 구간 동안 재생되는 미디어 컴포넌트의 리스트, 세그먼트의 시작 시간과 길이, 세그먼트의 종류(type), 타겟팅/개인화 속성 및 시청 권장 등급 중 적어도 어느 하나를 포함할 수 있다.
방송 전송 장치는 제어부를 통하여 세그먼트의 속성에 기초하여 세그먼트 정보 블락을 생성한다(S737). 세그먼트 정보 블락은 앞서 설명한 도 158의 세그먼트 정보 블락일 수 있다.
방송 전송 장치는 전송부를 통하여 세그먼트 정보 블락 및 프로그램 정보 중 적어도 어느 하나를 포함하는 방송 신호를 전송한다(S739).
도 160는 본 발명의 일 실시예에 따른 방송 수신 장치가 쇼 정보 및 세그먼트 정보 중 적어도 어느 하나를 포함하는 방송 신호를 수신하는 것을 보여준다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 신호를 수신한다(S751).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 신호에 기초하여 프로그램 정보를 획득한다(S753). 구체적으로 방송 수신 장치(100)는 방송 신호로부터 쇼 정보를 획득할 수 있다. 이때 쇼 정보는 도 156 내지 도 157를 통해 설명한 쇼 정보와 쇼 정보 블락 중 적어도 어느 하나를 포함할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 쇼 정보에 기초하여 쇼의 속성을 획득한다(S755). 쇼의 속성은 앞서 설명한 바와 같이 쇼를 식별하는 식별자 정보, 쇼의 길이, 쇼의 텍스트 제목, 쇼를 설명하는 텍스트, 장르, 그래픽 아이콘, 쇼와 연관된 세그먼트의 목록, 권장 시청 등급, 타겟팅/개인화 속성 및 컨텐츠/서비스 보호 속성 중 적어도 어느 하나를 포함할 수 있다. 이러한 쇼의 속성은 쇼 정보를 통해 시그널링될 수 있다. 이때, 쇼와 연관된 세그먼트의 목록은 쇼를 포함하는 세그먼트의 목록일 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 방송 신호에 기초하여 쇼와 연관된 세그먼트의 정보 블락을 획득한다(S757). 구체적으로 방송 수신 장치(100)는 쇼 정보 블락으로부터 쇼와 연관된 세그먼트 정보 블락을 획득할 수 있다. 세그먼트 정보 블락은 앞서 설명한 도 158의 세그먼트 정보 블락을 포함할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 세그먼트 정보 블락에 기초하여 세그먼트의 속성을 획득한다(S759). 세그먼트 정보 블락은 앞서 설명한 도 158의 세그먼트 정보 블락일 수 있다.
방송 수신 장치(100)는 쇼의 속성 및 쇼와 연관된 세그먼트 속정 중 적어도 어느 하나에 기초하여 쇼의 속성을 보여주는 서비스 가이드를 생성한다(S761). 구체적인 실시예에서 서비스 가이드는 쇼의 속성과 쇼와 연관된 세그먼트들을 함께 보여줄 수 있다. 예컨대, 서비스 가이드는 동일한 쇼를 포함하는 복수의 세그먼트의 속성을 함께 보여줄 수 있다. 이때, 세그먼트의 속성은 세그먼트의 시작 시간 및 세그먼트가 포함된 프로그램의 속성 중 적어도 어느 하나를 포함할 수 있다. 이때, 프로그램의 속성은 프로그램의 시작 시간, 프로그램이 속한 서비스의 정보 중 적어도 어느 하나를 포함할 수 있다.
라디오 프로그램, TV 프로그램 및 데이터 프로그램은 고유한 식별자, 프로그램에 포함된 미디어 컴포넌트의 목록, 프로그램의 시작시간과 길이, 연관된 쇼를 식별하는 쇼 식별자, 제목과 프로그램을 설명하는 텍스트, 프로그램의 장르, 그래픽 아이콘, 시청 권장 등급, 타겟팅/개인화 속성, 컨텐츠 보호 속성, 연관된 데이터 서비스의 목록 및 연관된 세그먼트의 목록 중 적어도 어느 하나를 포함할 수 있다. 오디오 프로그램, TV 프로그램 및 데이터 프로그램이 포함하는 속성은 프로그램 정보를 통해 시그널링될 수 있다. 이에 대해서는 도 171 내지 도 166을 통해서 설명하도록 한다.
도 171은 본 발명의 일 실시예에 따른 프로그램 정보를 보여준다.
프로그램 정보는 도 171의 실시예와 같이 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, section_length 필드, table_id_extentsion 필드, version_number 필드, current_next_indicator 필드, section_number 필드, last_section_number 필드, service_id 필드 및 program_information_block 필드 중 적어도 어느 하나를 포함할 수 있다.
table_id 필드는 프로그램 정보를 포함하는 것을 나타낸다. 구체적인 실시예에서 table_id 필드는 8 비트 필드일 수 있다.
section_syntax_indicator 필드는 프로그램 정보가 MPEG-2 TS 표준의 long 형식의 private section table인지 아닌지를 나타낸다. 구체적인 실시예에서 section_syntax_indicator 필드는 1 비트 필드일 수 있다.
private_indicator 필드는 현재 테이블이 private section에 해당하는지를 나타낸다. 구체적인 실시예에서 private_indicator 필드는 1 비트 필드일 수 있다.
section_length 필드는 section_length 필드 이후에 포함된 section의 길이를 나타낸다. 구체적인 실시예에서 section_length 필드는 12 비트 필드일 수 있다.
table_id_extension 필드는 table_id 필드와 결합하여 프로그램 정보를 식별하는 값을 나타낸다. 구체적으로 protocol_version 필드 및 subnet_id 필드 중 저적어도 어느 하나를 포함할 수 있다. protocol_version 필드는 프로그램 정보의 프로토콜 버전을 나타낸다. 구체적으로 protocol_version 필드는 상위 4 비트는 메이저 버전 넘버를 나타내고, 하위 4 비트는 마이너 버전 넘버를 나타내는 8 비트 필드일 수 있다. subnet_id 필드는 프로그램 정보가 방송 스트림을 통해 전송되는 경우 프로그램 정보를 전송하는 IP 서브넷(subnet)을 식별하는 서브넷 식별자를 나타낼 수 있다. 또 다른 구체적인 실시예에서 subnet_id 필드의 값은 0일 수 있다. 인터넷 망을 통하여 프로그램 정보가 전송되는 경우, subnet_id 필드는 방송 스트림을 통해 전송되는 프로그램 정보의 subnet_id 필드와 동일한 값을 갖는다. 구체적인 실시예에서 subnet_id 필드는 8 비트 필드일 수 있다.
version_number 필드는 프로그램 정보의 버전을 나타낸다. 방송 수신 장치(100)는 vserion_number 필드의 값에 기초하여 프로그램 정보 이용여부를 결정할 수 있다. 구체적으로 version_number 필드의 값이 이전에 수신한 서비스 프로그램 정보의 버전과 동일한 경우 프로그램 정보를 이용하지 않을 수 있다. 구체적인 실시예에서 version_number 필드는 5 비트 필드일 수 있다.
current_next_indicator 필드는 프로그램 정보가 현재 사용가능한지 나타낸다. 구체적으로 current_next_indicator 필드의 값이 1인 경우 프로그램 정보가 사용 가능함을 나타낼 수 있다. 또한 current_next_indicator 필드의 값이 1인 경우 프로그램 정보를 다음에 사용할 수 있음을 나타낼 수 있다. 구체적인 실시예에서 current_next_indicator 필드 1 비트 필드일 수 있다.
section_number 필드는 현재 섹션의 번호를 나타낸다. 구체적인 실시예에서 section_number 필드는 8 비트일 수 있다.
last_section_number 필드는 마지막 섹션의 번호를 나타낸다. 프로그램 정보테이블의 크기가 큰 경우 복수의 섹션으로 나뉘어 전송될 수 있다. 이때 방송 수신 장치(100)는 section_number 필드와 last_section_number 필드에 기초하여 프로그램 정보에 필요한 모든 섹션의 수신 여부를 판단한다. 구체적인 실시예에서 last_section_number 필드는 8 비트 필드일 수 있다.
service_id 필드 프로그램 정보와 관련된 방송 서비스를 식별하는 서비스 식별자를 나타낸다. 구체적으로 service_id 필드는 프로그램 정보에서 시그널링하는 프로그램을 포함하는 방송 서비스를 식별하는 서비스 식별자를 나타낼 수 있다. 구체적인 실시예에서 service_id 필드는 8 비트 필드일 수 있다.
program_information_block 필드는 프로그램의 속성에 대한 정보 포함하는 프로그램 정보 블락을 나타낸다. 이에 대해서는 도 162을 통해서 구체적으로 설명하도록 한다.
도 162은 본 발명의 일 실시예에 따른 프로그램 정보 블락을 보여준다.
프로그램 정보 블락은 프로그램 정보 블락이 시그널링하는 프로그램의 개수, 시그널링하는 프로그램을 식별하는 프로그램 식별자, 프로그램의 시작 시간, 프로그램의 길이, 프로그램을 설명하는 텍스트 및 프로그램의 속성을 시그널링하는 디스크립터를 포함할 수 있다.
구체적인 실시예에서 도 162의 실시예와 같이 프로그램 정보 블락은 num_program 필드, program_id 필드, time_span_start 필드, time_span_length 필드, title_text_length 필드, title_text 필드, num_program_descriptors 필드 및 descriptor 필드 중 적어도 어느 하나를 포함할 수 있다.
num_program 필드는 프로그램 정보 블락이 시그널링하는 프로그램의 개수를 나타낸다. 구체적인 실시예에서 num_program 필드는 8 비트 필드일 수 있다.
program_id 필드는 해당 프로그램을 식별하는 프로그램 식별자를 나타낸다. 구체적인 실시예에서 program_id 필드는 8 비트 필드일 수 있다.
time_span_start 필드는 해당 프로그램의 시작 시간을 나타낸다. 구체적으로 time_span_start 필드는 1980년 1월 6일 0시부터 경과된 UTC시간을 초 단위로 나타낼 수 있다. 구체적인 실시예에서 time_span_start 필드는 32 비트 필드일 수 있다.
time_span_length 필드는 해당 프로그램의 길이를 나타낸다. 구체적으로 time_span_start 필드 값을 기준으로 해당 프로그램이 방송되는 시간의 길이를 분 단위로 나타낼 수 있다. time_span_length 필드의 값이 한번 정해지면 이후에는 변하지 않는다. 구체적인 실시예에서 time_span_length 필드는 16 비트 필드일 수 있다.
title_text_length 필드는 title_text 필드의 길이를 나타낸다. 구체적인 실시예에서 title_text 필드는 8 비트 필드일 수 있다.
title_text 필드는 해당 프로그램의 제목이 포함하는 각각의 글자를 나타낸다. 구체적인 실시예에서 각 글자는 UTF-8 인코딩 형식일 수 있다. 또한 구체적인 실시예에서 title_text 필드는 8 비트 필드일 수 있다.
num_program_descriptors 필드는 프로그램 정보 블락이 포함하는 디스크립터의 개수를 나타낸다. 구체적인 실시예에서 num_program_descriptors 필드는 8 비트 필드일 수 있다.
descriptor 필드는 프로그램의 속성과 관련된 정보를 포함하는 디스크립터를 나타낸다. 예컨대 descriptor 필드가 가질 수 있는 디스크립터는 미디어 컴포넌트 리스트에 대한 정보를 포함할 수 있다. 또한 descriptor 필드가 가질 수 있는 디스크립터는 권장 시청 등급에 대한 정보를 포함할 수 있다. 또한 descriptor 필드가 가질 수 있는 디스크립터는 타겟팅 속성에 대한 정보를 포함할 수 있다. 또한 descriptor 필드가 가질 수 있는 디스크립터는 프로그램을 설명하는 텍스트에 대한 정보를 포함할 수 있다. 따라서 descriptor 필드는 omponent_list_descriiptor, targeting_descriptor 및 text_descriptor 중 적어도 어느 하나를 포함할 수 있다. 다만, 도 162의 실시예에서와 같은 프로그램 정보 블락은 프로그램과 연관된 쇼를 시그널링하지 못한다. 구체적으로 도 162의 실시예에서와 같은 프로그램 정보 블락은 프로그램이 포함하는 쇼를 시그널링하지 못한다. 이를 해결하기 위한 방법에 대해서는 도 163을 통해서 설명하도록 한다.
도 163은 본 발명의 또 다른 실시예에 따른 프로그램 정보 블락을 보여준다.
본 발명의 또 다른 실시예에 따른 프로그램 정보 블락은 프로그램 정보 블락이 시그널링하는 프로그램과 연관된 쇼에 관한 정보를 포함하는지 여부를 나타내는 정보 및 프로그램 정보 블락이 시그널링하는 프로그램과 연관된 쇼를 식별하는 쇼 식별자 중 적어도 어느 하나를 더 포함할 수 있다.
구체적인 실시예에서 프로그램 정보 블락은 도 163과 같이 associated_show_flag 필드 및 show_id 필드 중 적어도 어느 하나를 포함할 수 있다.
associated_show_flag 필드는 프로그램 정보 블락이 시그널링하는 프로그램과 연관된 쇼에 관한 정보를 포함하는지 여부를 나타낸다. 구체적인 실시예에서 연관된 쇼가 존재하는 경우, 방송 수신 장치(100)는 쇼 정보를 수신할 수 있다. 따라서 associated_show_flag가 1인 경우, 방송 수신 장치(100)는 쇼 정보를 수신할 수 있다. 이때, 쇼 정보는 도 166과 도 167에서 설명한 쇼 정보 또는 쇼 정보 블락일 수 있다. 구체적인 실시예에서 associated_show_flag 필드는 1 비트 필드일 수 있다.
show_id 필드는 프로그램 정보 블락이 시그널링하는 프로그램과 연관된 쇼를 식별하는 쇼 식별자를 나타낸다. 구체적인 실시예에서 show_id 필드는 16 비트 필드일 수 있다.
다만, 도 163과 같은 프로그램 정보 블락은 프로그램이 포함하는 미디어 컴포넌트의 속성을 컴포넌트 레벨 정보를 통해서 시그널링하지 못한다. 따라서 다양한 속성을 갖는 복수의 미디어 컴포넌트를 효율적으로 시그널링할 수 없는 문제가 있다. 이를 해결하기 위한 방법에 대해서는 도 193을 통해 설명하도록 한다.
도 164는 본 발명의 또 다른 실시예에 따른 프로그램 정보 블락을 보여준다.
프로그램 정보 블락은 해당 프로그램이 포함하는 미디어 컴포넌트의 개수, 해당 미디어 컴포넌트를 식별하는 컴포넌트 식별자. 해당 미디어 컴포넌트가 해당 프로그램 재생을 위해 필수적으로 필요한 미디어 컴포넌트인지 나타내는 정보 및 미디어 컴포넌트의 부가적인 속성을 포함하는 컴포넌트 디스크립터를 포함할 수 있다.
구체적인 실시예에서 도 164의 실시예와 같이 프로그램 정보 블락은 num_component 필드, component_id 필드, essential_conponent_indicator 필드, num_component_descritpors 필드 및 component_descriptor 필드 중 적어도 어느 하나를 포함할 수 있다.
num_component 필드는 해당 프로그램이 포함하는 미디어 컴포넌트의 개수를 나타낸다. 구체적인 실시예에서 num_component 필드는 8 비트 필드일 수 있다.
component_id 필드는 해당 미디어 컴포넌트를 식별하는 컴포넌트 식별자를 나타낸다. 구체적인 실시예에서 component_id 필드는 8 비트 필드일 수 있다.
essential_component_indicator 필드는 해당 미디어 컴포넌트가 해당 방송 서비스 재생(presentation)을 위해 필요한 필수 미디어 컴포넌트인지 나타낸다. 구체적인 실시예에서 essential_component_indicator 필드는 1 비트 필드일 수 있다.
num_component_descritpors 필드는 component_descriptor 필드의 개수를 나타낸다. 구체적인 실시예에서 num_component_descritpors 필드는 8 비트 필드일 수 있다.
component_descriptor 필드는 필드는 해당 컴포넌트에 대한 부가적인 속성을 포함하는 컴포넌트 디스크립터를 나타낸다.
다만, 이러한 경우 프로그램이 포함하는 세그먼트에 대한 정보를 알 수 없는 문제가 있다. 이를 해결하기 위한 방법을 도 165 내지 도 166을 통해서 설명하도록 한다.
도 165과 도 166은 본 발명의 또 다른 실시예에 따른 프로그램 정보 블락을 보여준다.
본 발명의 또 다른 실시예에 따른 프로그램 정보 블락은 프로그램 정보 블락이 시그널링하는 프로그램이 포함하는 세그먼트의 정보를 포함할 수 있다. 구체적으로 프로그램 정보 블락은 프로그램 정보 블락이 시그널링하는 프로그램이 포함하는 세그먼트의 수와 세그먼트의 구체적인 속성을 포함하는 세그먼트 정보 블락을 포함할 수 있다.
프로그램 정보 블락은 구체적으로 도 165과 도 166과 같이 num_segment 필드 및 segment_information_block 필드 중 적어도 어느 하나를 포함할 수 있다.
num_segment 필드는 프로그램 정보 블락이 시그널링하는 프로그램이 포함하는 세그먼트의 수를 나타낸다. 구체적인 실시예에서 num_segment 필드는 8 비트 필드일 수 있다.
segment_infoamtion_block 필드는 도 187의 실시예를 통하여 설명한 세그먼트 정보 블락을 포함하거나 도 167 내지 도 168을 통해 설명할 세그먼트 정보 블락을 포함할 수 있다.
도 165의 실시예에서 방송 수신 장치(100)는 프로그램 정보 블락이 시그널링하는 프로그램과 연관된 쇼의 정보를 알 수 없다. 도 167의 실시예에서는 도 134의 실시예에서와 같이 프로그램 정보 블락이 시그널링하는 프로그램과 연관된 쇼의 정보를 포함하고 있어 방송 수신 장치(100)가 프로그램과 연관된 쇼의 정보를 알 수 있다.
도 160 내지 도 166을 통해 프로그램 정보와 프로그램 정보 블락에 대해서 비트스트림 형태로 설명하였으나 프로그램 정보와 프로그램 정보 블락의 형식은 비트스트림 형식에 제한되지 않는다. 특히 프로그램 정보와 프로그램 정보 블락은 XML 파일 형식일 수 있다.
앞서 설명한 바와 같이 방송 서비스는 복수의 프로그램을 포함할 수 있다. 이때, 프로그램은 복수의 세그먼트를 포함할 수 있다. 세그먼트(segment)는 프로그램을 구성하는 시간 구간이다. 세그먼트는 프로그램의 주된 컨텐츠인 쇼(show)를 방송하는 쇼 세그먼트와 프로그램의 본 편 내용 사이에 본 편 내용과 관련 없는 내용을 방송하는 중간(interstitial) 세그먼트를 포함할 수 있다. 이때, 중간 세그먼트는 광고(ads) 또는 공익광고(public service announcement)일 수 있다. 라디오 서비스 또는 TV서비스의 쇼 세그먼트와 중간 세그먼트는 미리 예정된(scheduled) 시작 시간과 길이(duration)를 가질 수 있다.
세그먼트는 세그먼트를 식별하는 고유한 식별자, 해당 세그먼트의 시간 구간 동안 재생되는 미디어 컴포넌트의 리스트, 세그먼트의 시작 시간과 길이, 세그먼트의 종류(type), 타겟팅/개인화 속성 및 시청 권장 등급 중 적어도 어느 하나를 속성으로 가질 수 있다. 세그먼트의 종류는 앞서 설명한 바와 같이 쇼 세그먼트 또는 중간 세그먼트 중 어느 하나일 수 있다. 이때, 세그먼트의 시작 시간은 쇼의 시작시간을 기준으로한 상대적 시간을 나타낼 수 있다. 예컨대, 세그먼트의 시작 시간은 쇼 시작 시간으로부터 10분전과 같이 쇼의 시작 시간을 기준으로 지정된 것일 수 있다. 앵커드 세그먼트(anchored segment)는 특정한 프로그램과 연관되고, 시작 시간이 특정된 세그먼트를 나타낸다. 반면 언앵커드 세그먼트(unanchored segment)는 특정한 프로그램과 연관되지 않고 시작 시간이 특정되지 않은 세그먼트를 나타낸다. 예컨대, 방송 수신 장치(100)가 타겟팅된(targeted) 광고 세그먼트를 수신하였으나 해당 광고 세그먼트는 여러 프로그램/서비스 등에서 중복하여 사용될 수 있으므로 해당 세그먼트에 대한 시작 시간을 명시적으로 정해지지 않은 경우, 타게팅된 광고는 언앵커드 세그먼트라 할 수 있다. 이러한 세그먼트를 효율적으로 시그널링할 필요가 있다. 세그먼트를 시그널링하는 것에 대해서는 도 167 내지 도 171을 통해서 설명하도록 한다.
도 167는 본 발명의 일 실시예에 따른 세그먼트 정보를 보여준다.
세그먼트 정보는 구체적인 세그먼트 속성을 포함하는 세그먼트 블락을 포함할 수 있다.
구체적인 실시예에서 도 167의 실시예와 같이 세그먼트 정보는 같이 table_id 필드, section_syntax_indicator 필드, private_indicator 필드, section_length 필드, table_id_extentsion 필드, version_number 필드, current_next_indicator 필드, section_number 필드, last_section_number 필드 및 segment_information_block 필드 중 적어도 어느 하나를 포함할 수 있다.
table_id 필드는 세그먼트 정보를 포함하는 것을 나타낸다. 구체적인 실시예에서 table_id 필드는 8 비트 필드일 수 있다.
section_syntax_indicator 필드는 방송 서비스 세그먼트 정보가 MPEG-2 TS 표준의 long 형식의 private section table인지 아닌지를 나타낸다. 구체적인 실시예에서 section_syntax_indicator 필드는 1 비트 필드일 수 있다.
private_indicator 필드는 현재 테이블이 private section에 해당하는지를 나타낸다. 구체적인 실시예에서 private_indicator 필드는 1 비트 필드일 수 있다.
section_length 필드는 section_length 필드 이후에 포함된 section의 길이를 나타낸다. 구체적인 실시예에서 section_length 필드는 12 비트 필드일 수 있다.
table_id_extension 필드는 table_id 필드와 결합하여 세그먼트 정보를 식별하는 값을 나타낸다. 구체적으로 protocol_version 필드 및 subnet_id 필드 중 적어도 어느 하나를 포함할 수 있다. protocol_version 필드는 세그먼트 정보의 프로토콜 버전을 나타낸다. 구체적으로 protocol_version 필드는 상위 4 비트는 메이저 버전 넘버를 나타내고, 하위 4 비트는 마이너 버전 넘버를 나타내는 8 비트 필드일 수 있다. subnet_id 필드는 세그먼트 정보가 방송 스트림을 통해 전송되는 경우 세그먼트 정보를 전송하는 IP 서브넷(subnet)을 식별하는 서브넷 식별자를 나타낼 수 있다. 또 다른 구체적인 실시예에서 subnet_id 필드의 값은 0일 수 있다. 인터넷 망을 통하여 세그먼트 정보가 전송되는 경우, subnet_id 필드는 방송 스트림을 통해 전송되는 세그먼트 정보의 subnet_id 필드와 동일한 값을 갖는다. 구체적인 실시예에서 subnet_id 필드는 8 비트 필드일 수 있다.
version_number 필드는 세그먼트 정보의 버전을 나타낸다. 방송 수신 장치(100)는 vserion_number 필드의 값에 기초하여 세그먼트 정보 이용여부를 결정할 수 있다. 구체적으로 version_number 필드의 값이 이전에 수신한 서비스 세그먼트 정보의 버전과 동일한 경우 세그먼트 정보를 이용하지 않을 수 있다. 구체적인 실시예에서 version_number 필드는 5 비트 필드일 수 있다.
current_next_indicator 필드는 세그먼트 정보가 현재 사용가능한지 나타낸다. 구체적으로 current_next_indicator 필드의 값이 1인 경우 세그먼트 정보가 사용 가능함을 나타낼 수 있다. 또한 current_next_indicator 필드의 값이 1인 경우 세그먼트 정보를 다음에 사용할 수 있음을 나타낼 수 있다. 구체적인 실시예에서 current_next_indicator 필드 1 비트 필드일 수 있다.
section_number 필드는 현재 섹션의 번호를 나타낸다. 구체적인 실시예에서 section_number 필드는 8 비트일 수 있다.
last_section_number 필드는 마지막 섹션의 번호를 나타낸다. 세그먼트 정보테이블의 크기가 큰 경우 복수의 섹션으로 나뉘어 전송될 수 있다. 이때 방송 수신 장치(100)는 section_number 필드와 last_section_number 필드에 기초하여 세그먼트 정보에 필요한 모든 섹션의 수신 여부를 판단한다. 구체적인 실시예에서 last_section_number 필드는 8 비트 필드일 수 있다.
service_id 필드 세그먼트 정보와 관련된 방송 서비스를 식별하는 서비스 식별자를 나타낸다. 구체적으로 service_id 필드는 세그먼트 정보에서 시그널링하는 세그먼트를 포함하는 방송 서비스를 식별하는 서비스 식별자를 나타낼 수 있다. 구체적인 실시예에서 service_id 필드는 8 비트 필드일 수 있다.
program_information_block 필드는 세그먼트의 속성에 대한 정보 포함하는 세그먼트 정보 블락을 나타낸다. 이에 대해서는 도 168을 통해서 구체적으로 설명하도록 한다.
도 168은 본 발명의 일 실시예에 따른 세그먼트 정보 블락을 보여준다.
세그먼트 정보가 포함하는 세그먼트 정보 블락은 시그널링하는 세그먼트를 식별하는 세그먼트 식별자, 세그먼트 종류(type), 세그먼트와 연관된 프로그램이 있는지 나타내는 정보, 세그먼트의 시작 시간과 길이가 특정되어있는지를 나타내는 정보, 세그먼트와 연관된 프로그램을 식별하는 프로그램 식별자, 세그먼트의 시작 시간, 세그먼트가 포함하는 미디어 컴포넌트의 개수, 해당 미디어 컴포넌트를 식별하는 미디어 컴포넌트 식별자, 해당 미디어 컴포넌트에 대한 속성을 포함하는 디스크립터의 개수, 해당 미디어 컴포넌트에 대한 속성을 포함하는 디스크립터, 해당 세그먼트에 대한 속성을 포함하는 디스크립터의 개수 및 해당 세그먼트에 대한 속성을 포함하는 디스크립터 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 세그먼트 정보는 도 168의 실시예와 같이 segment_id 필드, segment_type 필드, associated_program_flag 필드, time_included 필드, progmam_id 필드, time_span_start 필드, time_span_length 필드, num_component 필드, component_id 필드, num_component_descirtors 필드, component_descritpors 필드, num_descritpor 필드 및 descriptor 필드 중 적어도 어느 하나를 포함할 수 있다.
segment_id 필드는 해당 세그먼트를 식별하는 세그먼트 식별자를 나타낸다. 구체적인 실시예에서 segment_id 필드는 8 비트 필드일 수 있다.
segment_type 필드는 해당 세그먼트의 종류를 나타낸다. 구체적으로 쇼 세그먼트 또는 중간 세그먼트인지를 나타낼 수 있다. 구체적인 실시예에서 segment_type 필드의 값이 0x02인 경우, 쇼 세그먼트를 나타내고, segment_type 필드의 값이 0x03부터 0x07 사이의 값인 경우 중간 세그먼트를 나타낼 수 있다. 구체적인 실시예에서 segment_type 필드는 3 비트 필드일 수 있다.
associated_program_flag 필드는 해당 세그먼트와 연관된 프로그램이 존재하는지를 나타낸다. 구체적으로 associated_program_flag 필드의 값이 1인 경우 해당 세그먼트와 연관된 프로그램이 있음을 나타내고, associated_program_flag 필드의 값이 0인 경우 해당 세그먼트와 연관된 프로그램이 없음을 나타낼 수 있다. 구체적인 실시예에서 associated_program_flag 필드는 1 비트 필드일 수 있다.
time_included 필드는 해당 세그먼트의 시작 시간과 길이가 특정되었는지를 나타낸다. 구체적으로 time_included 필드의 값이 1인 경우 해당 세그먼트의 시작 시간과 길이가 특정되었음을 나타내고, time_included 필드의 값이 0인 경우 해당 세그먼트의 시작 시간과 길이가 특정되지 않았음을 나타낼 수 있다. 구체적인 실시예에서 time_included 필드는 1 비트 필드일 수 있다.
progmam_id 필드 해당 세그먼트가 연관된 프로그램을 식별하는 프로그램 식별자를 나타낸다. 구체적인 실시예에서 progmam_id 필드 16 비트 필드일 수 있다.
time_span_start 필드 해당 세그먼트의 시작 시간을 나타낸다. 구체적으로 time_span_start 필드는 1980년 1월 6일 0시부터 경과된 UTC시간을 초 단위로 나타낼 수 있다. 구체적인 실시예에서 time_span_start 필드는 32 비트 필드일 수 있다.
time_span_length 필드는 해당 세그먼트의 길이를 나타낸다. 구체적으로 time_span_start 필드 값을 기준으로 해당 세그먼트가 방송되는 시간의 길이를 분 단위로 나타낼 수 있다. time_span_length 필드의 값이 한번 정해지면 이후에는 변하지 않는다. 구체적인 실시예에서 time_span_length 필드는 16 비트 필드일 수 있다.
num_component 필드는 해당 세그먼트가 포함하는 미디어 컴포넌트의 개수를 나타낸다. 구체적인 실시예에서 num_component 필드는 8 비트 필드일 수 있다.
component_id 필드는 해당 미디어 컴포넌트를 식별하는 컴포넌트 식별자를 나타낸다. 구체적인 실시예에서 component_id 필드는 8 비트 필드일 수 있다.
num_component_descritpors 필드는 component_descriptor 필드의 개수를 나타낸다. 구체적인 실시예에서 num_component_descritpors 필드는 8 비트 필드일 수 있다.
component_descriptor 필드는 필드는 해당 컴포넌트에 대한 부가적인 속성을 포함하는 컴포넌트 디스크립터를 나타낸다.
num_descritpor 필드는 descriptor 필드의 개수를 나타낸다. 구체적인 실시예에서 num_descritpor 필드는 8 비트 필드일 수 있다.
descriptor 필드는 세그먼트의 부가적인 속성을 포함하는 디스크립터를 나타낸다. 예컨대, 디스크립터는 권장 시청 등급 및 타켓팅 속성 중 적어도 어느 하나를 포함할 수 있다. 따라서 descriptor 필드는 targeting_descirptor일 수 있다.
프로그램을 복수의 세그먼트로 구분하면, 동일한 프로그램을 시청하는 시청자더라도 각각의 시청자의 특성에 따라 다른 세그먼트를 제공할 수 있다. 특히, 본 편 세그먼트가 아닌 중간 세그먼트에 각각의 시청자 특성에 따른 세그먼트들을 제공할 수 있다. 이를 통해 방송사들은 동일한 내용의 본 편 방송을 제공하면서도 각각의 시청자들의 특성에 따른 타겟 광고를 시청자들에게 제공할 수 있다. 이를 위해서는 각각의 세그먼트의 세그먼트의 타켓팅 정보와 속성을 시그널링하는 타겟팅 세그먼트 셋을 제공할 필요가 있다. 이에 대해서는 도 169를 통해서 설명하도록 한다.
도 169는 본 발명의 일 실시예에 따른 타겟팅 세그먼트 셋(set) 정보를 보여준다.
타겟팅 세그먼트 셋은 복수의 세그먼트에 대한 타겟팅 정보를 시그널링할 수 있다. 특히, 타겟팅 세그먼트 셋 정보는 동일한 길이(duration)를 가지는 복수의 세그먼트에 대한 타겟팅 정보를 시그널링할 수 있다. 구체적인 실시예에서 타겟팅 세그먼트 셋 정보는 동일한 프로그램에 연관된 복수의 세그먼트에 대한 타겟팅 정보를 시그널링할 수 있다. 또 다른 구체적인 실시예에서 타겟팅 세그먼트 정보는 동일한 시작 시간을 가지는 복수의 세그먼트에 대한 타겟팅 정보를 시그널링할 수 있다.
타겟팅 세그먼트 셋 정보는 해당 세그먼트의 시작 시간, 세그먼트의 길이, 타겟팅 세그먼트 셋이 포함하는 세그먼트의 개수, 해당 세그먼트를 식별하는 세그먼트 식별자, 타겟팅 세그먼트 셋 정보가 포함하는 타겟팅 기준의 개수, 타켓 기준을 식별하는 타겟팅 식별자 정보, 타겟팅의 형태를 나타내는 타겟팅 형태 정보, 구체적인 타겟팅 기준을 나타내는 타겟팅 기준 값 정보 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 타겟팅 세그먼트 셋 정보는 도 169의 실시예와 같이 descriptor_tag 필드, descritpro_length 필드, time_span_start 필드, time_span_length 필드, num_segment 필드, segment_id 필드, num_targeting_criteria 필드, criterion_id_length 필드, crerion_id 필드, criterion_type_code 필드, num_criterion_values 필드, criterion_value_length 필드 및 criterion_value 필드 중 적어도 어느 하나를 포함할 수 있다.
descriptor_tag 필드는 타겟팅 세그먼트 셋 정보를 포함함을 나타낸다. 구체적인 실시예에서 descriptor_tag 필드는 8 비트 필드일 수 있다.
descriptor_length 필드는 descriptor_tag 필드 이후 타겟팅 세그먼트 정보의 길이를 나타낸다. descriptor_length 필드는 8 비트 필드일 수 있다.
time_span_start 필드 해당 세그먼트의 시작 시간을 나타낸다. 구체적으로 time_span_start 필드는 1980년 1월 6일 0시부터 경과된 UTC시간을 초 단위로 나타낼 수 있다. 구체적인 실시예에서 time_span_start 필드는 32 비트 필드일 수 있다.
time_span_length 필드는 해당 세그먼트의 길이를 나타낸다. 구체적으로 time_span_start 필드 값을 기준으로 해당 세그먼트가 방송되는 시간의 길이를 분 단위로 나타낼 수 있다. time_span_length 필드의 값이 한번 정해지면 이후에는 변하지 않는다. 구체적인 실시예에서 time_span_length 필드는 16 비트 필드일 수 있다.
num_segments 필드는 타겟팅 세그먼트 셋 정보가 시그널링하는 세그먼트의 개수를 나타낸다. 구체적인 실시예에서 num_segments 필드는 8 비트 필드일 수 있다.
num_targeting_criteria 필드는 타겟팅 세그먼트 셋 정보의 개수를 나타낸다. 구체적인 실시예에서 방송 서비스 또는 미디어 컴포넌트 가지는 타겟팅 기준은 복수일 수 있다. 구체적인 실시예에서 num_targeting_criteria 필드는 8 비트 필드일 수 있다.
criterion_id_length 필드는 crerion_id 필드의 길이를 나타낸다. 구체적인 실시예에서 criterion_id_length 필드 8 비트 필드일 수 있다.
crerion_id 필드는 타겟팅 기준을 식별하는 타겟팅 기준 식별자를 나타낸다. 구체적인 실시예에서 crerion_id 필드는 8 비트 필드일 수 있다.
criterion_type_code 필드는 타겟팅 기준의 형태를 나타낸다. 구체적인 실시예에서 criterion_type_code 필드는 3 비트 필드일 수 있다.
num_criterion_values 필드는 타겟팅 기준 값의 개수를 나타낸다. 구체적인실시예에서 세그먼트는 타겟팅 기준 형태에 해당하는 복수의 타겟팅 기준 값을 가질 수 있다. 구체적인 실시예에서 num_criterion_values 필드는 5 비트 필드일 수 있다.
criterion_value_length 필드는 criterion_value 필드의 길이를 나타낸다. 구체적인 실시예에서 criterion_value_length 필드는 8 비트 필드일 수 있다.
criterion_value 필드는 타겟팅 기준 값을 나타낸다.
방송 수신 상황 또는 방송 수신 장치(100)의 성능 등으로 인하여 고려하여 특정 세그먼트의 수신이 불가능한 경우, 방송 수신 장치(100)는 타겟팅 세그먼트 셋 정보에 기초하여 다른 세그먼트를 수신 또는 재생할 수 있다. 예건대, 방송 수신 장치(100)가 3D 영상의 재생을 지원하지 않는 경우, 방송 수신 장치(100)는 3D 영상을 포함하나는 세그먼트 대신 타겟팅 세그먼트 셋에 기초하여 2D 영상을 포함하는 세그먼트를 수신 또는 재생할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 타겟팅 세그먼트 셋 정보에 기초하여 사용자에게 적합한 컨텐츠만을 선택적으로 수신 또는 재생할 수 있다. 예컨대, 시청자가 청소년인 경우, 방송 수신 장치(100)는 성인 대상 영화의 예고편 대신 청소년 대상 영화의 예고편을 수신 또는 재생할 수 있다.
도 167 내지 도 169를 통하여 세그먼트 정보, 세그먼트 정보 블락, 세그먼트 타겟팅 셋 정보가 비트스트림 형식인 경우를 설명하였다. 다만, 세그먼트 정보, 세그먼트 정보 블락, 세그먼트 타겟팅 셋 정보의 형식은 비트스트림 형식에 제한되지 않는다. 특히, 세그먼트 정보, 세그먼트 정보 블락, 세그먼트 타겟팅 셋 정보는 XML 파일 형식일 수 있다. 또한 구체적인 실시예에서 앞서 설명한 프로그램 정보는 세그먼트 정보, 세그먼트 정보 블락 및 세그먼트 타겟팅 셋 정보를 포함할 수 있다.
프로그램의 속성과 세그먼트의 속성을 전송하고 수신하는 방송 전송 장치와 방송 수신 장치(100)의 동작에 대해서는 도 170 내지 도 171을 통하여 설명하도록 한다.
도 170는 본 발명의 일 실시예에 따른 방송 전송 장치가 프로그램 정보 및 세그먼트 정보 중 적어도 어느 하나를 포함하는 방송 신호를 전송하는 것을 보여준다.
방송 전송 장치는 제어부를 통하여 방송 서비스가 포함하는 프로그램의 속성을 획득한다(S801). 프로그램의 속성은 앞서 설명한 바와 같이 고유한 식별자, 프로그램에 포함된 미디어 컴포넌트의 목록, 프로그램의 시작시간과 길이, 제목과 프로그램을 설명하는 텍스트, 그래픽 아이콘, 시청 권장 등급, 타겟팅/개인화 속성 및 컨텐츠 보호 속성 중 적어도 어느 하나를 포함할 수 있다.
방송 전송 장치는 제어부를 통하여 프로그램의 속성에 기초하여 프로그램을 시그널링하는 프로그램 정보를 생성한다(S803). 프로그램 정보는 도 170 내지 도 171을 통해 설명한 프로그램 정보와 프로그램 정보 블락 중 적어도 어느 하나를 포함할 수 있다.
방송 전송 장치는 제어부를 통하여 프로그램이 포함하는 세그먼트의 속성을 획득한다(S805). 세그먼트의 속성은 앞서 설명한 바와 같이 세그먼트를 식별하는 고유한 식별자, 해당 세그먼트의 시간 구간 동안 재생되는 미디어 컴포넌트의 리스트, 세그먼트의 시작 시간과 길이, 세그먼트의 종류(type), 타겟팅/개인화 속성 및 시청 권장 등급 중 적어도 어느 하나를 포함할 수 있다.
방송 전송 장치는 제어부를 통하여 세그먼트의 속성에 기초하여 세그먼트 정보를 생성한다(S807). 세그먼트 정보는 앞서 설명한 도 167 내지 도 171의 세그먼트 정보, 세그먼트 정보 블락, 세그먼트 타겟팅 셋 정보 중 적어도 하나를 포함할 수 있다.
방송 전송 장치는 전송부를 통하여 세그먼트 정보 및 프로그램 정보 중 적어도 어느 하나를 포함하는 방송 신호를 전송한다(S809).
도 171은 본 발명의 일 실시예에 따른 방송 수신 장치가 프로그램 정보 및 세그먼트 정보 중 적어도 어느 하나를 포함하는 방송 신호를 수신하는 것을 보여준다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 신호를 수신한다(S901).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 신호에 기초하여 프로그램 정보를 획득한다(S903). 구체적으로 방송 수신 장치(100)는 방송 신호로부터 프로그램 정보를 획득할 수 있다. 이때 프로그램 정보는 도 173 내지 도 174를 통해 설명한 프로그램 정보와 프로그램 정보 블락 중 적어도 어느 하나를 포함할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 프로그램 정보에 기초하여 프로그램의 속성을 획득한다(S905). 프로그램의 속성은 앞서 설명한 바와 같이 고유한 식별자, 프로그램에 포함된 미디어 컴포넌트의 목록, 프로그램의 시작시간과 길이, 제목과 프로그램을 설명하는 텍스트, 그래픽 아이콘, 시청 권장 등급, 타겟팅/개인화 속성 및 컨텐츠 보호 속성 중 적어도 어느 하나를 포함할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 방송 신호에 기초하여 세그먼트 정보를 획득한다(S907). 구체적으로 방송 수신 장치(100)는 방송 신호로부터 세그먼트 정보를 획득할 수 있다. 세그먼트 정보는 앞서 설명한 도 167 내지 도 169의 세그먼트 정보, 세그먼트 정보 블락, 세그먼트 타겟팅 셋 정보 중 적어도 하나를 포함할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 세그먼트 정보에 기초하여 세그먼트의 속성을 획득한다(S909). 세그먼트 정보는 앞서 설명한 도 167 내지 도 169의 세그먼트 정보, 세그먼트 정보 블락, 세그먼트 타겟팅 셋 정보 중 적어도 하나를 포함할 수 있다.
방송 수신 장치(100)는 프로그램의 속성 및 세그먼트 속정 중 적어도 어느 하나에 기초하여 프로그램의 속성을 보여주는 서비스 가이드를 생성한다(S911). 구체적인 실시예에서 서비스 가이드는 프로그램이 포함하는 세그먼트의 속성도 함께 보여줄 수 있다. 구체적으로 서비스 가이드는 프로그램이 포함하는 쇼 세그먼트의 속성을 함께 보여줄 수 있다. 예컨대, 서비스 가이드는 프로그램 속성과 함께 프로그램이 포함하는 쇼 세그먼트의 시작 시간, 길이 및 동일한 쇼 세그먼트를 포함하는 다른 프로그램 정보를 함께 보여줄 수 있다.
앞서 설명한 바와 같이 본 발명의 일 실시예에 따른 방송 서비스는 점점 복잡해지고 다양해지는 방송 서비스의 형태를 효과적으로 시그널링하기 위하여 미디어 컴포넌트의 속성을 세분화하고, 방송 서비스의 시간 구간을 나타내는 프로그램을 세그먼트로 다시 세분화하였다. 이를 도 172 내지 도 195을 통하여 다시 상세히 설명하도록 한다.
본 발명의 일 실시예에 따른 방송 서비스는 일종의 클래스, 클래스들간에 상속(inheritance) 관계(relationship), 클래스들간의 포함(containment) 관계(relationship) 및 클래스들 사이의 다른 연관성(association)을 포함하는 오브젝트 모델로서 설명할 수 있다.
도 172은 연속 컴포넌트 클래스, 오디오 컴포넌트 클래스, 비디오 컴포넌트 클래스 및 자막 컴포넌트 클래스를 보여준다.
연속 컴포넌트 클래스는 연속 컴포넌트를 나타낸다. 연속 컴포넌트 클래스는 컴포넌트를 식별하는 컴포넌트 식별자(componentID)를 어트리뷰트로 포함할 수 있다.
오디오 컴포넌트 클래스는 컨텐츠 종류(type)가 오디오인 연속 컴포넌트를 나타낸다. 오디오 컴포넌트 클래스는 "연속 컴포넌트 클래스와의 하위 클래스 관계(Sub-class relationship with Continuous Compeonet class"를 관계로 포함할 수 있다.
비디오 컴포넌트 클래스는 컨텐츠 종류가 비디오인 연속 컴포넌트를 나타낸다. 비디오 컴포넌트 클래스는 "연속 컴포넌트 클래스와의 하위 클래스 관계(Sub-class relationship with Continuous Compeonet class"를 관계로 포함할 수 있다.
자막(closed caption) 컴포넌트 클래스는 컨텐츠 종류가 자막인 연속 컴포넌트를 나타낸다. 자막 컴포넌트 클래스는 "연속 컴포넌트 클래스와의 하위 클래스 관계(Sub-class relationship with Continuous Compeonet class"를 관계로 포함할 수 있다.
도 173은 기초 오디오 컴포넌트 클래스, 기초 비디오 컴포넌트 클래스 및 기초 자막 컴포넌트 클래스를 보여준다.
기초(elementary) 오디오 컴포넌트 클래스는 컨텐츠 형태가 오디오인 기초 컴포넌트를 나타낸다. 기초 오디오 컴포넌트 클래스는 코덱, 오디오 채널의 수, 인코딩 비트레이트, 다른 인코딩 파라미터들, 오디오 컴포넌트의 언어 및 모드 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다. 구체적으로 다른 인코딩 파라미터는 코덱에 따라 정해질 수 있다. 또한, 모드는 해당 오디오의 모드(mode)을 나타내는 것으로 "완전한 메인(complete main)", "음악", "대화(dialog)", "효과음(effects)", "시각 장애인을 위한 오디오(visual impaired)". "청각 장애인을 위한 오디오(hearing impaired)" 및 "코멘터리" 중 적어도 어느 하나임을 나타낼 수 있다. 오디오 컴포넌트 클래스는 "오디오 컴포넌트 클래스와의 하위 클래스 관계(Sub-class relationship with Continuous Compeonet class"를 관계로 포함할 수 있다.
기초 비디오 컴포넌트 클래스는 컨텐츠 형태가 비디오인 기초 컴포넌트 나타낸다. 기초 비디오 컴포넌트 클래스는 "코덱", "해상도(reaolution)", "화면비율(aspect ratio)", "주사방식", "프레임레이트", "스틸(still) 픽처 모드" 및 "다른 인코딩 파라미터"들 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다. 해상도는 가로x세로의 픽셀 단위로 나타낼 수 있다. 또한, 주사방식은 인터레이스와 프로그레시브 중 어느 하나일 수 있다. 또한, 다른 인코딩 파라미터들은 코덱에 따라 결정될 수 있다. 기초 비디오 컴포넌트 클래스는 "비디오 컴포넌트 클래스와의 하위 클래스 관계(Sub-class relationship with Continuous Compeonet class"를 관계로 포함할 수 있다.
기초 자막 클래스는 컨텐츠 형태가 자막인 기초 컴포넌트를 나타낸다. 기초 자막 클래스는 "코덱", "언어" 및 "종류" 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다. 이때, 코덱은 자막 텍스트에 대한 형식을 나타낼 수 있다. 언어는 자막을 구성하는 언어를 나타낸다. 종류는 일반적인 자막과 저시력자를 위한 큰 글씨 자막(easy-reader)중 어느 하나일 수 있다. 기초 자막 컴포넌트 클래스는 "자막 컴포넌트 클래스와의 하위 클래스 관계(Sub-class relationship with Continuous Compeonet class"를 관계로 포함할 수 있다.
컴플렉스 컴포넌트 클래스는 컴플렉스 컴포넌트를 나타낸다. 앞서 설명한 바와 같이 컴플렉스 컴포넌트는 컴포지트 컴포넌트 또는 픽원 컴포넌트일 수 있다. 따라서 컴포지트 컴포넌트 및 픽원 컴포넌트에 관한 클래스는 도 174 및 도 175을 통해 설명하도록 한다.
도 174는 컴포지트 오디오 컴포넌트 클래스 및 컴포지트 비디오 컴포넌트 클래스를 보여준다.
컴포지트 오디오 컴포넌트 클래스는 컨텐츠 종류가 오디오인 컴포지트 컴포넌트를 나타낸다. 컴포지트 오디오 컴포넌트 클래스는 관계(relationship)로서 "포함 오디오(ContainsAudio)" 및 "오디오 컴포넌트 클래스와의 하위 클래스 관계(Sub-classs relationship with Audio Component Class)"중 적어도 어느 하나를 포함할 수 있다. 이때, "포함 오디오"는 컴포지트 오디오 클래스가 포함하는 오디오 컴포넌트 클래스를 나타낸다. 이때, "포함 오디오"에 포함되는 개체(object)들은 모두 하나의 음향 씬(sound scene)을 나타내는 것으로 제한된다.
컴포지트 비디오 컴포넌트 클래스는 컨텐츠 종류가 비디오인 컴포지트 컴포넌트를 나타낸다. 컴포지트 비디오 컴포넌트 클래스는 관계(relationship)로서 "포함 비디오(ContainsVideo)"및 "비디오 컴포넌트 클래스와의 하위 클래스 관계(Sub-classs relationship with Video Component Class)"중 적어도 어느 하나를 포함할 수 있다. 이때, 포함 비디오는 컴포지트 비디오 컴포넌트 클래스의 비디오 컴포넌트 클래스와의 하위 클래스 관계(sub-class relationship)를 나타낸다. 이때, 포함 비디오에 포함되는 개체들은 모두 하나의 영상 씬(video scene)을 나타내는 것으로 제한된다. 또한, 포함 비디오 관계의 어트립튜는 "역할(role)"을 포함할 수 있다. 이때, 역할은 가변적 비디오의 인핸스드 계층을 나타낼 수 있다. 또한 역할은 3D 영상의 좌 영상 또는 우 영상을 나타낼 수 있다. 또한 역할은 3D 영상의 깊이(depth) 정보를 나타낼 수 있다. 또한 역할은 복수의 화면으로 분할되는 비디오 행렬(array)의 일부(part)를 나타낼 수 있다. 이때, 롤은 전체 nxm의 행렬이 있을 때 왼쪽으로부터 x번째 y줄에 해당함을 나타낼 수 있다. 또한 롤은 팔로우 서브젝트 메타데이터(Follow-subject metadata)를 나타낼 수 있다.
도 175은 픽원 컴포넌트 클래스를 보여준다.
픽원 컴포넌트 클래스는 픽원 컴포넌트를 나타낸다. 픽원컴포넌트는 관계로서 "포함(contains)"및 "연속 컴포넌트 클래스와의 하위 클래스 관계(Sub-classs relationship with Continous Component Class)"중 적어도 어느 하나를 포함할 수 있다. 이때, "포함"은 픽원 컴포넌트 클래스의 연속 컴포넌트 클래스와의 관계를 나타낸다. 이때, "포함"에 포함되는 컴포넌트들은 모두 동일한 컨텐츠 종류이고, 모두 동일한 영상 씬 또는 오디오 씬을 나타내는 것으로 제한된다.
도 176은 프레젠터블 컴포넌트 클래스, 프레젠터블 비디오 컴포넌트 클래스, 프레젠터블 오디오 컴포넌트 클래스 및 프레젠터블 자막 컴포넌트 클래스를 보여준다.
프레젠터블 컴포넌트 클래스는 프레젠터블 컴포넌트를 나타낸다. 프레젠터블 컴포넌트 클래스는 타겟팅/개인화 속성, 권장 컨텐츠 등급(content advisory rating), 컨텐츠/서비스 보호 속성 및 타겟 디바이스 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다. 이때, 타겟 디바이스는 주(primarary) 스크린, 연동(companion) 스크린 및 주 스크린에 일부로 삽입되는(inset) 스크린 중 어느 하나일 수 있다.
프레젠터블 비디오 컴포넌트 클래스는 프레젠터블 비디오 컴포넌트를 나타낸다. 프레젠터블 비디오 컴포넌트 클래스는 "관련 오디오(AssociatedAudio)", "관련 자막(Associated CC)" 및 "비디오 컴포넌트 클래스와의 하위 클래스 관계(Sub-classs relationship with Audio Component Class)" 중 적어도 어느 하나를 관계로서 포함할 수 있다. "관련 오디오(AssociatedAudio)"는 프레젠터블 비디오 컴포넌트와 같이 재생되기에 적합한 프레젠터블 오디오 컴포넌트를 나타낼 수 있다.
프레젠터블 오디오 컴포넌트 클래스는 프레젠터블 오디오 컴포넌트를 나타낸다. 프레젠터블 오디오 컴포넌트 클래스는 오디오 컴포넌트 클래스와의 하위 클래스 관계(Sub-classs relationship with Audio Component Class)를 관계로서 포함할 수 있다.
프레젠터블 자막 컴포넌트 클래스는 프레젠터블 자막 컴포넌트를 나타낸다. 프레젠터블 자막 컴포넌트 클래스는 자막 컴포넌트 클래스와의 하위 클래스 관계(Sub-classs relationship with Audio Component Class)를 관계로서 포함할 수 있다.
도 177는 사용자 요청 컴포넌트 클래스를 보여준다.
사용자 요청(OnDemad) 컴포넌트는 사용자 요청에 의해 전송되는 컨텐츠 컴포넌트를 나타낸다. 사용자 요청 컴포넌트는 사용자 요청 컴포넌트의 고유한 식별자인 사용자 요청 컴포넌트 식별자(OnDemandComponentId), 사용자 요청 컴포넌트에 접근할 수 있는 위치를 나타내는 컴포넌트 위치(ComponentLocation), 컴포넌트의 명칭을 나타내고, 다국어로 표시될 수 있는 컴포넌트 명칭(ComponentName), 컴포넌트의 총 재생 시간을 나타내는 재생 길이(PlaybackLength), 컴포넌트가 이용가능하게 되는 시작 시간을 나타내는 이용 시작 시간(AvailabilityStart), 컴포넌트를 이용가능한 시간의 길이를 나타내는 이용 기간(AvailabilityDuration), 컴포넌트가 타겟팅하는 장치 또는 사용자의 특성을 나타내는 타겟팅/개인화 속성, 컨텐츠 또는 서비스의 보호 여부를 나타내는 컨텐츠/서비스 보호 속성(Content/Service protection properties) 및 컨텐츠 권장 등급을 나타내는 컨텐츠 권장 등급(Content advisory rating) 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다.
도 178은 NRT 컨텐츠 아이템 클래스 및 NRT 파일 클래스를 보여준다.
NRT 컨텐츠 아이템 컴포넌트 클래스는 NRT 데이터 서비스의 컨텐츠 아이템을 나타낸다. NRT 컨텐츠 아이템 컴포넌트 클래스는 컨텐츠 아이템을 식별하는 컨텐츠 아이템 식별자(ContentItemID), 컨텐츠 아이템의 이름(ContentItemName), 컨텐츠 아이템의 업데이트를 위해 모니터링 되어야 하는지 나타내는 표시(Updateable), 다운로드 가능 시간을 나타내는 다운 가능 윈도우(Avaiblewindow), 컨텐츠 아이템이 폐기(discard)되는 시간을 나타내는 만료 날짜(Expiration), 컨텐츠 아이템의 크기(ContentItemSize), 컨텐츠 아이템의 재생 길이(PlaybackLength), 컨텐츠 아이템이 타겟팅하는 장치 또는 사용자의 특성을 나타내는 타겟팅/개인화 속성(TargetInfo), 컨텐츠 아이템의 보호 여부를 나타내는 컨텐츠 아이템의 보호 속성(ProtectionInfo) 및 컨텐츠 아이템의 권장 등급을 나타내는 컨텐츠 권장 등급(ContentAdvRating) 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다. 또한 NRT 컨텐츠 아이템 클래스는 NRT 파일 클래스를 관계로서 포함할 수 있다.
NRT 파일(file) 클래스는 비 시실간 파일을 나타낸다. 구체적으로 NRT 파일은 NRT 서비스에 사용되는 파일을 나타낼 수 있다. NRT 파일 클래스는 컨텐츠의 위치를 나타내는 컨텐츠 위치(ContentLocation) 및 컨텐츠의 종류를 나타내는 컨텐츠 타입(ContentType) 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다. 이때, 컨텐츠 위치 및 컨텐츠 타입은 IETF RFC 2616에서 정의하는 것일 수 있다.
서비스에 대한 클래스들에 대해서는 도 208 및 도 209를 참조하여 설명하도록 한다.
서비스 클래스는 서비스를 나타낸다. 서비스 클래스는 서비스 식별자(ServiceId), 서비스 이름(ServiceName), 채널 번호(ChanNum), 서비스에 대한 설명(Description), 서비스를 나타내는 그래픽 아이콘(Icon), 서비스에 포함된 미디어 컴포넌트의 리스트, 방송 서비스 보호에 관한 속성(Content/service protection properties for the service), 타겟팅/개인화에 관한 속성(targeting properties for the service), 시청 권장 등급(contentAdvRating), 서비스의 언어(Language) 및 방송 서비스 사용자 보고(UsageReportInfo)에 관한 속성 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다. 이때, 채널 번호는 메이저 번호(MajorChanNum)와 마이너 번호(MinorChanNum)로 나뉘어질 수 있다.
라디오 서비스 클래스는 정해진 시간에 방송되는(scheduled) 라디오 서비스를 나타낸다. 라디오 서비스 클래스는 "프레젠터블 비디오 컴포넌트 클래스와의 포함 관계(Conatinment Relationship with Presentable Video Component Class)", "프레젠터블 자막 컴포넌트 클래스와의 포함 관계(Conatinment Relationship with Presentable CC Component Class)", "NRT 데이터 클래스와의 부가 관계(Adjunct relationship with NRT Data Service Classs)" 중 적어도 어느 하나를 관계로 포함할 수 있다.
TV 서비스 클래스는 정해진 시간에 방송되는(scheduled) TV 서비스를 나타낸다. TV 서비스 클래스는 "프레젠터블 비디오 컴포넌트 클래스와의 포함 관계(Conatinment Relationship with Presentable Video Component Class)", "프레젠터블 오디오 컴포넌트 클래스와의 포함 관계(Conatinment Relationship with Presentable Audio Component Class)", "프레젠터블 자막 컴포넌트 클래스와의 포함 관계(Conatinment Relationship with Presentable CC Component Class)", "NRT 데이터 클래스와의 부가 관계(Adjunct relationship with NRT Data Service Classs)" 중 적어도 어느 하나를 관계로 포함할 수 있다. "프레젠터블 비디오 컴포넌트 클래스와의 포함 관계"는 비디오 컴포넌트의 역할을 어트리뷰트로 포함한다. 구체적으로 비디오 컴포넌트의 역할은 주 비디오, 대체 카메라 시점(Alternative camera view), 다른 대체 비디오 컴포넌트, 수화 화면, 팔로우 서브젝트 비디오(Follow Subject Video) /메타데이터 중 어느 하나를 나타낼 수 있다. 특히 팔로우 서브젝트 비디오/메타데이터는 팔로우하는 객체(subject)의 이름을 포함할 수 있다. 이러한 팔로우 서브젝트 비디오는 비디오 스트림일 수 있다. 또는 팔로우 서브젝트 비디오는 비디오 스트림의 객체(subject)의 확대(zoom-in)를 위한 각 프레임의 사각형들일 수 있다.
사용자 요청(OnDemand) 서비스 클래스는 사용자 요청 컨텐츠 서비스를 나타낸다. 사용자 요청 서비스 클래스는 "사용자 요청 UI 어플 클래스와 포함 관계(Containment relationship with OnDemand UI App Class)", "사용 요청 오퍼링 클래스와의 포함 관계(Containment relationship with OnDemand Offering Class)" 및 "사용자 요청 카탈로그 클래스와의 포함 관계(containment relationship with OnDemand Catalog class)"를 관계로 포함할 수 있다. "사용자 요청 UI 어플 클래스와 포함 관계(Containment relationship with OnDemand UI App Class)"은 사용자 요청 서비스에 대하 사용자 인터페이스 제공을 위한 것이다. 구체적인 실시예에서 사용자 요청 서비스의 사용자 인터페이스는 복수의 언어로 제공될 수 있다. 사용자 요청 오퍼링은 사용자 요청에 의해 제공되는 서비스들의 상품을 나타낼 수 있다. 사용 요청 오퍼링 클래스와의 포함 관계(Containment relationship with OnDemand Offering Class)"는 사용자 요청 서비스에서 제공되는 컨텐츠 아이템을 대한 것이다. "사용자 요청 카탈로그 클래스와의 포함 관계(containment relationship with OnDemand Catalog class)"는 사용자 요청 서비스의 사용자 요청 오퍼링 카달로그를 위한 것이다. 구체적인 실시예에서 사용자 요청 오퍼링 카달로그는 복수의 언어로 제공될 수 있다.
NRT 데이터 서비스 클래스는 NRT 데이터 서비스를 나타낸다. NRT 데이터 서비스 클래스는 "소비 모델(Comsumption Mode)", "필수적 장치 성능(Essential capabilities)", "비 필수적 장치 성능(Non-essential capabilities)", "타겟 디바이스(Target Device)" 및 "데이터 아이템 컴포넌트 클래스와의 포함관계를 포함하는 관계" 중 적어도 어느 하나를 속성으로 포함할 수 있다. "필수적 장치 성능(Essential capabilities)"은 방송 수신 장치(100)가 서비스를 수신하기 위해 필요한 성능을 나타낸다. "비 필수적 장치 성능(Non-essential capabilities)"은 방송 수신 장치(100)가 서비스의 선택 사항을 수신하기 위해 필요한 성능을 나타낸다. "타겟 디바이스(Target Device)"는 주 디바이스 또는 연동 디바이스 중 어느 하나를 나타낼 수 있다.
또 다른 구체적인 실시예에서 서비스 클래스를 리니어(Linear) 서비스와 앱 기반(App-based) 서비스로 구분할 수 있다. 이에 대해서는 도 208 내지 도 211을 통하여 설명하도록 한다.
도 179는 본 발명의 또 다른 실시예의 사용자 요청 컴포넌트 클래스를 보여준다.
사용자 요청 컴포넌트 클래스는 "필수적 장치 성능(Essential capabilities)" 및 "비 필수적 장치 성능(Non-essential capabilities)"을 어트리뷰트로 포함할 수 있다. "필수적 장치 성능(Essential capabilities)"은 방송 수신 장치(100)가 사용자 요청 컴포넌트를 재생하기 위해 필요한 성능을 나타낸다. "비 필수적 장치 성능(Non-essential capabilities)"은 방송 수신 장치(100)가 사용자 요청 컴포넌트의 선택 사항을 재생하기 위해 필요한 성능을 나타낸다. 방송 수신 장치(100)는 "필수적 장치 성능(Essential capabilities)"에 기초하여 사용자 요청 컴포넌트의 재생 여부를 결정할 수 있다. 예컨대, 방송 수신 장치(100)가 "필수적 장치 성능(Essential capabilities)"에 포함된 장치 성능을 지원하지는 않는 경우, 방송 수신 장치(100)는 사용자 요청 컴포넌트를 재생하지 않을 수 있다. 또한 구체적인 실시예에서 "필수적 장치 성능(Essential capabilities)"및 "비 필수적 장치 성능(Non-essential capabilities)" 중 적어도 어느 하나를 방송 수신 장치(100)가 지원하지 않는 경우, 방송 수신 장치(100)는 필수적 장치 성능(Essential capabilities)"및 "비 필수적 장치 성능(Non-essential capabilities)" 중 적어도 어느 하나를 지원하지 않음을 표시할 수 있다.
도 180는 본 발명의 또 다른 실시예의 NRT 컨텐츠 아이템 클래스 및 NRT 파일 클래스를 보여준다.
NRT 컨텐츠 아이템 클래스는 "필수적 장치 성능(Essential capabilities)" 및 "비 필수적 장치 성능(Non-essential capabilities)"을 어트리뷰트로 포함할 수 있다. "필수적 장치 성능(Essential capabilities)"은 방송 수신 장치(100)가 NRT 컨텐츠 아이템을 재생하기 위해 필요한 성능을 나타낸다. "비 필수적 장치 성능(Non-essential capabilities)"은 방송 수신 장치(100)가 NRT 컨텐츠 아이템의 선택 사항을 재생하기 위해 필요한 성능을 나타낸다. 방송 수신 장치(100)는 "필수적 장치 성능(Essential capabilities)"에 기초하여 NRT 컨텐츠 아이템의 재생 여부를 결정할 수 있다. 예컨대, 방송 수신 장치(100)가 "필수적 장치 성능(Essential capabilities)"에 포함된 장치 성능을 지원하지는 않는 경우, 방송 수신 장치(100)는 NRT 컨텐츠 아이템을 재생하지 않을 수 있다. 또한 구체적인 실시예에서 NRT 컨텐츠 아이템의 "필수적 장치 성능(Essential capabilities)"및 "비 필수적 장치 성능(Non-essential capabilities)" 중 적어도 어느 하나를 방송 수신 장치(100)가 지원하지 않는 경우, 방송 수신 장치(100)는 NRT 컨텐츠 아이템의 필수적 장치 성능(Essential capabilities)"및 "비 필수적 장치 성능(Non-essential capabilities)" 중 적어도 어느 하나를 지원하지 않음을 표시할 수 있다.
NRT 파일 클래스는 "필수적 장치 성능(Essential capabilities)" 및 "비 필수적 장치 성능(Non-essential capabilities)"을 어트리뷰트로 포함할 수 있다. "필수적 장치 성능(Essential capabilities)"은 방송 수신 장치(100)가 NRT 파일을 재생하기 위해 필요한 성능을 나타낸다. "비 필수적 장치 성능(Non-essential capabilities)"은 방송 수신 장치(100)가 NRT 파일의 선택 사항을 재생하기 위해 필요한 성능을 나타낸다. 방송 수신 장치(100)는 "필수적 장치 성능(Essential capabilities)"및"비 필수적 장치 성능(Non-essential capabilities)" 중 어느 하나에 기초하여 NRT 파일의 재생 여부를 결정할 수 있다. 예컨대, 방송 수신 장치(100)가 "필수적 장치 성능(Essential capabilities)"에 포함된 장치 성능을 지원하지는 않는 경우, 방송 수신 장치(100)는 NRT 파일을 재생하지 않을 수 있다. 또한 구체적인 실시예에서 NRT 파일의 "필수적 장치 성능(Essential capabilities)"및 "비 필수적 장치 성능(Non-essential capabilities)" 중 적어도 어느 하나를 방송 수신 장치(100)가 지원하지 않는 경우, 방송 수신 장치(100)는 NRT 파일의 필수적 장치 성능(Essential capabilities)"및 "비 필수적 장치 성능(Non-essential capabilities)" 중 적어도 어느 하나를 지원하지 않음을 표시할 수 있다.
도 181은 리니어 서비스 클래스를 보여준다.
리니어 서비스는 주(primary)된 컨텐츠가 연속 컴포넌트로 구성된 서비스를 나타낸다. 이때, 연속 컴포넌트들은 방송사가 정의한 기준 시간(time base) 및 일정에 따라 소비될 수 있다. 다만, 연속 컴포넌트들은 방송사가 정의한 기준 시간 및 일정에 따라 소비되는 경우라도 사용자는 다양한 종류의 타임 쉬프트 방법을 연속 컴포넌트들에 사용할 수 있다. 리니어 서비스는 "프레젠터블 비디오 컴포넌트 클래스와의 포함 관계(Conatains Relationship with Presentable Video Component Class)", "프레젠터블 오디오 컴포넌트 클래스와의 포함 관계(Conatains Relationship with Presentable Audio Component Class)", "프레젠터블 자막 컴포넌트 클래스와의 포함 관계(Conatains Relationship with Presentable CC Component Class)", "어플 기반 부가 서비스와의 포함 관계(Contains relationship with App-Based Enhancement class)" 및 서비스 클래스와의 하위 클래스 관계(Sub-class relationship with Service class)" 중 적어도 어느 하나를 관계로 포함할 수 있다. 특히, 프레젠터블 비디오 컴포넌트 클래스와의 포함 관계는 비디오 컴포넌트의 역할을 나타내는 비디오 컴포넌트 역할(reole of video component)를 어트리뷰트로 포함할 수 있다. 이때, 비디오 컴포넌트 역할은 주된 비디오(Primary video), 대체 시점 화면(alternative camera view), 대체 비디오 컴포넌트, 수화 화면, 팔로우 서브젝트 비디오(follow subject video) 중 어느 하나를 나타낼 수 있다. 이때, 주된 비디오는 기본(default) 비디오로 표현될 수 있다. 또한 팔로우 서브젝트 비디오는 팔로우 하는 객체(subject)의 이름을 포함할 수 있다. 팔로우 서브젝트 비디오는 분리된 비디오 컴포넌트에 의해 지원될 수 있다.
도 182은 어플 클래스 및 어플 기반 부가 서비스를 보여준다.
어플 클래스(App Class)는 양방향 서비스를 지원하는 컨텐츠 아이템의 한 종류를 나타낸다. "NRT 컨텐츠 아이템과의 하위 클래스 관계(Sub-class relationship with NRT Content Item Class)"를 관계로 포함한다.
어플 기반 부가 서비스 클래스는 어플 기반 부가 서비스를 나타낸다. 어플 기반 부가 서비스는 부가 서비스를 실행하기 위해 필요한 장치 성능을 나타내는 필수적 장치 성능(Essential capabilities), 부가 서비스를 실행하기 위해 유용하지만 필수적이지 않은 비필수적 장치 성능(Non-essential capabilities) 및 부가 서비스가 타겟팅하는 장치를 나타내는 타겟 장치(target device) 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다. 타겟 장치는 주 장치(primary device) 또는 연동 장치(companion device) 중 적어도 어느 하나를 나타낼 수 있다. "어플 클래스와의 포함 관계(Contains relationship with App Class), "NRT 컨텐츠 아이템 클래스와의 포함 관계(Contains relationship with NRT Content Item class)", "노티피케이션 스트림 클래스와의 포함 관계(Contains relationship with Notification Stream class)" 및 "사용자 요청 컴포넌트 클래스와의 포함 관계(Contains relationship with OnDemand Component class)" 중 적어도 어느 하나를 관계로서 포함할 수 있다. NRT 컨텐츠 아이템 클래스와의 포함 관계는 어플 기반 부가 서비스에 의하여 사용되는 NRT 컨텐츠 아이템에 대한 것이다. 노티피케이션 스트림 클래스와의 포함 관계는 선형 기준 시간(linear time base)에 따라 어플리케이션의 동작(action)을 동기화하기 위한 노티피케이션을 전달하는 노티피케이션 스트림에 대한 것이다. 사용자 요청 컴포넌트 클래스와의 포함 관계는 어플리케이션에 의해 관리(manage)되는 사용자 요청 컴포넌트에 대한 것이다. 서비스에 포함된 컴포넌트들의 동기화 기준이 되는 타임 베이스 클래스와 노티피케이션 스트림 클래스에 대해서는 도 183을 참조하여 설명하도록 한다.
도 183은 타임 베이스 클래스 및 노티피케이션 스트림 클래스를 보여준다.
타임 베이스 클래스는 리니어 서비스의 컴포넌트들을 동기화하기 위한 타임 라인을 생성하기 위해 사용되는 메타 데이터이다. 이때, 타임 라인은 동기화의 기준이 되는 연속된 기준 시간을 나타낼 수 있다. 타임 베이스 클래스는 타임 베이스를 식별하는 타임 베이스 식별자 및 타임 베이스의 클락 레이트를 나타내는 클락 레이트 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다.
노티피케이션 스트림 클래스는 실행되어야 하는 액션에 대한 노티피케이션을 전송하기 위한 노티피케이션 스트림을 나타낸다. 노티피케이션 스트림 클래스는 노티피케이션 스트림의 식별자를 나타내는 노티피케이션 스트림 식별자를 어트리뷰트로 포함할 수 있다.
도 184는 어플 기반 서비스 클래스를 보여준다.
어플 기반 서비스 클래스는 어플 기반 서비스(App-Based Service)를 나타낸다. "타임 베이스 클래스와 포함 관계(Contains relationship with Time Base Class)", "어플 기반 부가 서비스 클래스와의 포함 관계(Contains relationship with App-Based Enhancement class)" 및 "서비스 클래스와의 하위 클래스(Sub-class relationship with Service class)" 중 적어도 어느 하나를 관계로서 포함할 수 있다.
NRT 컨텐츠 아이템 컴포넌트는 프로그램과 같은 구조를 가질 수 있다. 그러나 NRT 컨텐츠 아이템은 스트림의 형태가 아닌 파일의 형태로 전송된다. 또한 프로그램은 부가 데이터 서비스(adjunct data service)를 가질 수 있다. 구체적으로 부가 데이터 서비스는 프로그램과 관련된 양방향 서비스일 수 있다. 프로그램을 나타내는 프로그램 클래스와 프로그램에 포함되는 주된 컨텐츠인 쇼를 나타내는 쇼 클래스 및 프로그램의 시간적 구간인 세그먼트를 나태는 세그먼트 클래스에 대해서는 도 185 내지 도 187를 통해서 구체적으로 설명하도록 한다.
도 185은 프로그램 클래스를 보여준다.
프로그램 클래스는 프로그램을 나타낸다. 프로그램 클래스는 프로그램을 식별하는 프로그램 식별자(ProgamIdentifier), 프로그램의 시작시간(StartTime), 프로그램의 길이(ProgramDuration), 프로그램의 제목(TextualTitle), 프로그램을 설명하는 텍스트(TextualTitle), 프로그램의 장르(Genre), 프로그램을 나타내는 그래픽 아이콘(GraphhicalIcon), 시청 권장 등급(ContentAdvisoryRating), 타겟팅/개인화 속성(Targeting/personalization properties) 및 프로그램의 컨텐츠/서비스 보호를 나타내는 컨텐츠/서비스 보호 속성(Content/Service protection properties) 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다. 프로그램의 시작시간은 프로그램이 시작하는 날짜와 시간을 포함할 수 있다. 프로그램의 길이는 프로그램이 시작하는 시간부터 종료하는 시간까지의 길이이다. 프로그램의 제목은 복수의 언어로 표시될 수 있다. 또한 프로그램의 제목이 없는 경우, 영상 표시 장치(100)는 프로그램의 제목으로 연관된 쇼의 제목을 표시할 수 있다. 또한 프로그램의 장르가 없는 경우, 영상 표시 장치(100)는 프로그램의 장르로 연관된 쇼의 장르를 표시할 수 있다. 또한 그래픽 아이콘은 복수의 사이즈로 표시될 수 있다. 프로그램의 그래픽 아이콘이 없는 경우, 영상 표시 장치(100)는 연관된 쇼의 그래픽 아이콘을 프로그램의 아이콘으로 표시할 수 있다. 시청 권장 등급은 지역별로 다를 수 있고, 시청 권장 등급은 지역별로 다른 복수의 시청 권장 등급의 값을 포함할 수 있다. 또한 프록그램의 시청 권장 등급이 존재하지 않는 경우, 방송 수신 장치(100)는 프로그램과 연관된 쇼의 시청 권장 등급을 시청 권장 등급으로 표시할 수 있다. 타겟팅/개인화 속성이 존재하지 않는 경우, 방송 수신 장치(100)는 연관된 쇼의 타겟팅/개인화 속성을 표시할 수 있다. 컨텐츠/서비스 보호 속성이 존재하지 않는 경우, 방송 수신 장치(100)는 연관된 쇼의 컨텐츠/서비스 보호 속성을 표시할 수 있다.
프로그램 클래스는 "리니어 서비스 클래스와의 포함 프로그램 관계(ProgramOf relationship with Linear Service Class)", "어플 기반 서비스 클래스와의 포함 컨텐츠 아이템 관계(ContentItemOf relationship with App-Based Service Class)", "어플 기반 서비스 클래스와의 포함 사용자 요청 컴포넌트 관계(Contains relationship with Presentable Video Compoent class)", "프레젠터블 비디오 컴포넌트 클래스와의 포함 관계(Contains relastioship with Presentable Video Component class)", "프레젠터블 오디오 컴포넌트 클래스와의 포함 관계(Contains relastioship with Presentable Audio Component class)", "프레젠터블 자막 컴포넌트 클래스와의 포함 관계(Contains relastioship with Presentable CC Component class)", "어플 기반 부가서비스 클래스와의 포함 관계(Contains relastioship with App-Based Enhancement class)", "타임 베이스 클래스와의 포함 관계(Contains relastioship with Time Base Class)", "쇼 클래스와의 기초 관계(Based-on relationship with Show class)" 및 세그먼트 클래스와의 포함 관계(Contains relastioship with Segment Class) 중 적어도 어느 하나를 관계로서 가질 수 있다. 이때, 비디어 컴포넌트 클래스와의 포함 관계는 비디오 컴포넌트의 역할을 나타내는 비디오 컴포넌트 역할(reole of video component)를 어트리뷰트로 포함할 수 있다. 이때, 비디오 컴포넌트 역할은 주된 비디오(Primary video), 대체 시점 화면(alternative camera view), 대체 비디오 컴포넌트, 수화 화면, 팔로우 서브젝트 비디오(follow subject video) 중 어느 하나를 나타낼 수 있다. 이때, 주된 비디오는 기본(default) 비디오로 표현될 수 있다. 또한 팔로우 서브젝트 비디오는 팔로우 하는 객체(subject)의 이름을 포함할 수 있다. 팔로우 서브젝트 비디오는 분리된 비디오 컴포넌트에 의해 지원될 수 있다. 또한 세그먼트 클래스와의 포함 관계는 프로그램의 시작을 기준으로 하는 세그먼트의 상대적 시작 시간을 나타내는 상대적 시작 시간(RelativeSegmentStartTime)을 어트리뷰트로 포함할 수 있다.
라디오 프로그램 클래스는 라디오 프로그램을 나타낸다. 라디오 프로그램 클래스는 "프레젠터블 오디오 컴포넌트 클래스와의 포함 관계(Containment relationship with Presentable Audio Component class)", "프레젠터블 자막 컴포넌트 클래스와의 포함 관계(Containment relationship with Presentable CC Component class)", "NRT 데이터 서비스 클래스와의 부가 관계(Adjunct realtiohship with NRT Data Seervice class)" 및 "라디오 세그먼트 클래스와의 포함 관계(Containment relationship with Radio Segment Class)" 중 적어도 어느 하나를 관계로서 포함할 수 잇다. 또한 라디오 프로그램 클래스는 라디오 세그먼트의 시작 시간을 어트리뷰트로서 포함할 수 있다. 이때, 라디오 세그먼트의 시작 시간은 프그램의 시작 시간을 기준으로 한 상대적 시간일 수 있다.
TV 프로그램 클래스는 TV 프로그램을 나타낼 수 있다. 프레젠터블 비디오 컴포넌트 클래스는 "프레젠터블 비디오 컴포넌트 클래스와의 포함 관계(Containment relationship with Presentable Video Component Class)"를 관계로서 포함할 수 있다."프레젠터블 비디오 컴포넌트 클래스와의 포함 관계"는 비디오 컴포넌트의 역할(role), 프레젠터블 오디오 컴포넌트 클래스와의 포함 관계, 프레젠터블 자막 컴포넌트 클래스와의 포함 관계, NRT 데이터 서비스 클래스와의 부가 관계, TV 쇼 클래스와의 관계에 기초 및 TV 세그먼트 클래스와의 포함 관계 중 적어도 어느 하나를 어트리뷰트로서 포함할 수 있다. 비디오 컴포넌트로서 역할은 주(primary) 비디오, 대체 카메라 시점, 다른 대체 비디오 컴포넌트, 수화(Sign language) 화면(inset), 팔로우되는 객체의 이름을 포함하는 팔로우 서브젝트 비디오 중 어느 하나를 나타낼 수 있다. 팔로우 서브젝트 비디오는 분리된 비디오 컴포넌트에 의해 지원될 수 있다. TV 세그먼트 클래스와의 포함 관계는 세그먼트 시가작 시간(RelativeSegmentStartTime)을 포함할 수 있다. 이때 세그먼트 시작 시간은 프로그램의 시작을 기준으로한 상대적 시간일 수 있다.
도 186은 쇼 클래스를 보여준다.
쇼 클래스는 쇼를 나타낸다. 이때, 쇼는 앞서 설명한 바와 같이 프로그램의 주(primary)된 컨텐츠를 나타낼 수 있다. 특히, 쇼는 시청자의 관점에서 주된 컨텐츠를 나타낼 수 있다. 쇼 클래스는 "쇼 식별자(ShowIdentifier)", "쇼의 길이(ShowDuration)", 쇼에대한 "텍스트 설명(TextualDescription)", 쇼의 "장르(Genre)", 쇼를 나타내는 "그래픽 아이콘(GraphicalIcon)", "컨텐츠 권장 등급(ContentAdvisoryRating)", "타겟팅/개인화 속성(Targeting/personalization properties"" 및 "컨텐츠/서비스 보호 속성(Content/Service protection properties)" 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다. 쇼 클래스는 쇼 세그먼트와의 인클루드(include) 관계를 가질 수 있다.
TV 쇼 클래스는 TV 프로그램의 주 컨텐츠를 나타낸다. TV 쇼 클래스는 "TV 쇼 세그먼트 클래스와의 포함 관계(Containment relationship with TV Show Segment class)"를 관계로서 포함할 수 있다.
도 187는 세그먼트 클래스, 쇼 세그먼트 클래스 및 중간 세그먼트 클래스를 보여준다.
세그먼트 클래스는 세그먼트를 나타낼 수 있다. 세그먼트 클래스는 세그먼트를 식별하는 "세그먼트 식별자(SegmentId)", 세그먼트의 "길이(Duration)", "타겟팅/개인화 속성(Targeting/personalization properties)"및 "컨텐츠 권장 등급(Content advisory rating)" 중 적어도 어느 하나를 포함할 수 있다.
쇼 세그먼트 클래스는 쇼의 세그먼트를 나타낸다. 쇼 세그먼트 클래스는 쇼의 시작 시간을 기준으로하는 상대적 시작 시간을 나내는 쇼 세그먼트 상대적 시작 시간(ShowSegmentRelativeStartTime)을 어트리뷰트로 가질 수 있다. 쇼 세그먼트 클래스는 세그먼트 클래스와 하위 클래스 관계를 가질 수 있다.
중간 세그먼트 클래스는 프로그램의 세그먼트 중 쇼 세그먼트가 아닌 세그먼트를 나타낸다. 중간 세크먼트 클래스는 세그먼트 클래스와 하위 클래스 관계를 가질 수 있다.
라디오 세그먼트 클래스는 라디오 프로그램의 세그먼트를 나타낸다.
TV 세그먼트 클래스는 TV 프로그램의 세그먼트를 나타낸다.
라디오 쇼 세그먼트 클래스는 라디오 쇼의 세그먼트를 나타낸다. 라디오 쇼 세그먼트 클랫그는 "쇼 세그먼트의 시작 시간(ShowSegmentRelativeStartTime)"을 어트리뷰트로 포함할 수 있다. 구체적으로 쇼 세그먼트의 시작 시간은 라디오 프로그램을 기준으로한 상대적 시간일 수 있다.
TV 쇼 세그먼트 클래스는 TV 프로그램 메인 콘텐츠를 포함하는 쇼 세그먼트를 나타낸다. TV 쇼 세그먼트 클래스는 "쇼 세그먼트의 시작 시간(ShowSegmentRelativeStartTime)"을 어트리뷰트로 포함할 수 있다. 구체적으로 쇼 세그먼트의 시작 시간은 TV 프로그램을 기준으로한 상대적 시간일 수 있다.
라디오 중간 세그먼트 클래스(Radio Interstitial Segment)는 라디오 프로그램의 쇼 세그먼트가 아닌 세그먼트를 나타낸다.
TV 중간 세그먼트 클래스(TV Interstitial Segment)는 TV 프로그램의 쇼 세그먼트가 아닌 세그먼트를 나타낸다.
사용자 요청 UI 어플 클래스(OnDemand UI App class)는 사용자 요청 서비스를 위한 사용자 인터페이스를 제공하는 어플리케이션을 나타낸다.
사용자 요청 오퍼링 클래스(OnDemand Offering class)는 사용자 요청 서비스의 오퍼링을 나타낸다.
사용자 요청 카달로그 클래스(OnDemand Catalog class)는 사용자 요청 서비스의 오퍼링들에 대한 설명을 나타낸다. 이때, 오퍼링은 사용자 요청에 의하여 제공 되는 서비스 상품을 나타낼 수 있다. 사용자 요청 카달로그 클래스는 "사용자 요청 오퍼링 클래스와의 관계"를 관계로서 포함할 수 있다.
도 188은 본 발명의 일 실시예에 따른 방송 서비스의 종류에 따른 하위 속성과의 상속 관계를 보여준다.
도 188에서는 앞서 설명한 다른 종류의 서비스들, 각각의 서비스에 포함되는 다른 종류의 컴포넌트들, 및 각 서비스 사이의 부가 서비스 관계를 보여준다. 라디오 서비스는 하나 또는 복수의 프레젠터블 오디오 컴포넌트를 포함한다. 또한 라디오 컴포넌트는 하나 또는 복수의 자막 컴포넌트를 포함할 수 있다. 또한 라디오 컴포넌트는 하나 또는 복수의 부가 NRT 데이터 서비스를 포함할 수 있다. TV 서비스는 하나 또는 복수의 프레젠터블 비디오 컴포넌트를 포함한다. 또한 TV 서비스는 하나 또는 복수의 프레젠터블 오디오 컴포넌트를 포함할 수 있다. 또한 TV 서비스는 하나 또는 복수의 프레젠터블 자막 컴포넌트를 포함할 수 있다. 또한 TV 서비스는 하나 또는 복수의 부가 NRT 데이터 서비스를 포함할 수 있다. NRT 데이터 서비스는 하나 또는 복수의 프레젠터블 데이터 아이템 컴포넌트를 포함한다. 또한 NRT 데이터 서비스는 스탠드 얼론 데이터 서비스일 수 있다. 또한 NRT 데이터 서비스는 라디오 서비스 또는 TV 서비스 서비스의 부가 데이터 서비스일 수 있다. 또한 NRT 데이터 서비스는 사용자 요청 서비스의 프로그램 또는 다른 NRT 데이터 서비스를 통해서 전송되는 프로그램의 부가 서비스일 수 있다. 사용자 요청 서비스는 하나 또는 복수의 사용자 요청 오퍼링을 포함한다. 또한 사용자 요청 서비스는 오퍼링을 설명하는 하나 또는 복수의 카탈로그를 포함할 수 있다. 또한 사용자 요청 서비스는 서비스의 사용자 인터페이스를 제공하는 UI 어플 서비스일 수 있다. 이때, 사용자 인터페이스는 서비스 제공자에 의하여 커스터마이징될 수 있다. 또한, 사용자 인터페이스는 사용자에 의하여 커스터마이징될 수 있다.
도 189 본 발명의 일 실시예에 따른 연속 컴포넌트와 연속 컴포넌트의 하위 속성을 갖는 컴포넌트들과의 상속 관계를 보여준다.
도 189의 실시예에서와 같이 연속 컴포넌트 기초 컴포넌트 또는 콤플렉스 컴포넌트일 수 있다. 기초 컴포넌트는 기초 비디오 컴포넌트, 기초 오디오 컴포넌트 또는 기초 자막 컴포넌트일 수 있다. 컴플렉스 컴포넌트는 픽원 컴포넌트 또는 컴포지트 컴포넌트일 수 있다. 컴포넌트간의 "관계"를 정의하는 목적은 컴포지트 오디오와 컴포지트 비디오를 구분하는 것이 중요하기 때문이다. 이는, 컴포지트 비디오 컴포넌트의 경우, 컴포지트 컴포넌트의 구성(member) 컴포넌트의 역할(role)에 따라 달리 표시하여야 하기 때문이다. 따라서 컴플렉스 컴포넌트는 컴포지트 오디오 컴포넌트 또는 컴포지트 비디오 컴포넌트의 역할의 속성을 나타내는 복수의 "관계"를 포함할 수 있다.
도 190는 본 발명의 일 실시예에 따른 프레젠터블 컴포넌트와 프레젠터블 컴포넌트의 하위 속성을 갖는 컴포넌트들과의 상속 관계를 보여준다.
프레젠터블 컴포넌트는 앞서 설명한 바와 같이 프레젠터블 비디오 컴포넌트, 프레젠터블 오디오 컴포넌트 및 프레젠터블 자막 컴포넌트 중 어느 하나일 수 있다. TV 서비스의 프레젠터블 비디오 컴포넌트는 하나 또는 복수의 연관된 프레젠터블 오디오 컴포넌트를 가질 수 있다. 또한 TV 서비스의 프레젠터블 비디오 컴포넌트는 하나 또는 복수의 연관된 프레젠터블 자막 컴포넌트를 가질 수 있다. 이때, 연관된프레젠터블 오디오 컴포넌트와 프레젠터블 자막 컴포넌트라는 것은 프레젠터블 비디오 컴포넌트와 함께 재생될 수 있다는 것이다. TV 서비스는 비디오 컴포넌트를 포함하는 서비스이므로 TV 서비스의 프레젠터블 오디오 컴포넌트와 프레젠터블 자막 컴포넌트는 프레젠터블 비디오 컴포넌트와 연관되어야 한다.
도 191은 본 발명의 일 실시예에 따른 서비스와 서비스에 포함된 프로그램, 프로그램들에 포함된 세그먼트들의 관계를 보여준다.
라디오 서비스는 하나 또는 복수의 라디오 프로그램을 포함할 수 있다. 라디오 프로그램은 하나 또는 복수의 라디오 서비스에 포함될 수 있다. 라디오 프로그램은 NRT 데이터 서비스 컨텐츠 아이템 또는 사용자 요청 서비스의 오퍼링일 수 있다. 라디오 프로그램은 하나 또는 복수의 라디오 세그먼트를 포함할 수 있다. 이때 라디오 세그먼트는 라디오 중간 세그먼트일 수 있다. 라디오 세그먼트는 하나 또는 복수의 라디오 프로그램에 포함될 수 있다. 각각의 라디오 세그먼트는 라디오 쇼 세그먼트 또는 라디오 중간(interstitial) 세그먼트일 수 있다. 라디오 프로그램은 하나의 "라디오 쇼"일 수 있다. 이때, "라디오 쇼"는 서비스 제공자에 의해서 중간(interstitial) 컨텐츠로 여겨지지 않는 것이다. 라디오 쇼는 라디오 하나 또는 복수의 라디오 쇼 세그먼트를 포함할 수 있다. 이러한 라디오 서비스, 라디오 프로그램, 라디오 세그먼트, 라디오 쇼의 관계는 TV 서비스, TV 프로그램, TV 세그먼트, TV 쇼의 관계에 유사하게 적용될 수 있다.
도 192은 본 발명의 또 다른 실시예에 따른 방송 서비스의 종류에 따른 하위 속성과의 상속 관계를 보여준다.
서비스는 리니어 서비스 및 어플 기반 서비스 중 적어도 어느 하나를 포함할 수 있다. 리니어 서비스는 TV 서비스를 전달(deliver)할 수 있다. 또한 리니어 서비스는 비디오 디코딩이 불가능하거나, 디스플레이를 가지지 않는 장치에게 서비스를 전달할 수 있다. 구체적으로 리니어 서비스는 오디오만을 포함하는 서비스를 전달할 수 있다. 리니어 서비스는 동기화의 기준이되는 기준 시간을 제공하는 하나의 타임 베이스를 포함할 수 있다. 또한 리니어 서비스는 하나 또는 복수의 프레젠터블 비디오 컴포넌트를 포함할 수 있다. 또한 리니어 서비스는 하나 또는 복수의 프레젠터블 자막 컴포넌트를 포함할 수 있다. 또한 리니어 서비스는 하나 또는 복수의 프레젠터블 오디오 컴포넌트를 포함할 수 있다. 또한 리니어 서비스는 하나 또는 복수의 어플 기반 부가 서비스를 포함할 수 있다. 이때, 프레젠터블 비디오 컴포넌트는 앞서 설명한 바와 같이 프레젠터블 비디오 컴포넌트의 역할을 나타내는 역할(role)을 속성으로 가질 수 있다.
어플 기반 부가 서비스는 하나 또는 복수의 어플을 포함할 수 있다. 또한 어플 기반 부가 서비스는 하나 또는 복수의 컨텐츠 아이템을 포함할 수 있다. 또한 어플 기반 부가 서비스는 하나 또는 복수의 사용자 요청 컴포넌트를 포함할 수 있다. 또한 어플 기반 부가 서비스는 하나 또는 복수의 노티피케이션 스트림을 포함할 수 있다. 이때, 어플은 어플 기반 부가 서비스를 위해 필요한 주된(primary) 어플리케이션인지를 나타내는 프라이머리 속성을 가질 수 있다. 이때, 어플이 주된 어플리케이션인 경우, 어플을 포함하는 서비스가 선택되면 즉시 활성화(activate)될 수 있다. 또 다른 구체적인 실시예에서 어플은 노티피케이션 스트림에 포함된 노티피케이션에 의해서 활성화(activate)될 수 있다. 또 다른 구체적인 실시예에서 어플은 이미 활성화된(active) 다른 어플에 의하여 활성화될 수 있다. 또한 어플 기반 부가 서비스가 포함하는 어플은 어플 기반 부가 서비스의 컨텐츠 아이템을 실행할 수 있다.
어플 기반 서비스는 하나 또는 복수의 어플 기반 부가 서비스를 포함할 수 있다. 어플 기반 서비스가 포함하는 어플 기반 부가 서비스는 하나의 주된 어플을 포함할 수 있다. 또한, 어플 기반 서비스는 동기화의 기준 시간을 제공하는 타임 베이스를 선택적으로 포함할 수 있다. 또한 어플은 컨텐츠 아이템 또는 데이터 아이템의 한 형태라할 수 있다. 이때, 컨텐츠 아이템은 하나의 어플을 구성(constitute)하는 파일들을의 집합이라 할 수 있다.
도 193은 본 발명의 또 다른 실시예에 따른 연속 컴포넌트와 연속 컴포넌트의 하위 속성을 갖는 컴포넌트들과의 상속 관계를 보여준다.
모든 연속 컴포넌트들은 복수의 레벨로 구분되는 계층 구조를 가질 수 있다. 구체적인 실시예에서 연속 컴포넌트들은 3개의 레벨로 구분되는 계층 구조를 가질 수 있다. 연속 컴포넌트는 픽원 컴포넌트, 컴포지트 컴포넌트 및 기초 컴포넌트 중 어느 하나일 수 있다. 픽원 컴포넌트는 하나 또는 복수의 컴포지트 컴포넌트를 포함할 수 있다. 픽원 컴포넌트는 하나 또는 복수의 픽원 컴포넌트를 포함할 수 있다. 픽원 컴포넌트는 하나 또는 복수의 기초 컴포넌트를 포함할 수 있다. 픽원 컴포넌트의 정의상 적어도 2개의 컴포넌트를 포함한다. 또한, 픽원 컴포넌트는 계층 구조에서 최상위 레벨에 해당할 수 있다.
컴포지트 컴포넌트 하나 또는 복수의 컴포넌트를 포함할 수 있다. 또한, 컴포지트 컴포넌트는 하나 또는 복수의 기초 컴포넌트를 포함할 수 있다. 컴포지트 컴포넌트의 정의상 적어도 2개의 컴포넌트를 포함한다. 컴포지트 컴포넌트는 최상위 레벨의 픽원 컴포넌트에 포함될 수 있다.
최상위 레벨이 아닌 픽원 컴포넌트는 두개 이상의 기초 컴포넌트를 포함할 수 있다. 이때 기초 컴포넌트는 기초 비디오 컴포넌트, 기초 오디오 컴포넌트 및 기초 자막 컴포넌트 중 어느 하나일 수 있다. 최상위 레벨이 아닌 픽원 컴포넌트는 하나 또는 복수의 픽원 컴포넌트에 포함될 수 있다. 최상위 레벨이 아닌 픽원 컴포넌트는 하나 또는 복수의 컴포지트 컴포넌트에 포함될 수 있다.
도 194는 NRT 컨텐츠 아이템 클래스와 NRT 파일의 상속 관계를 보여준다.
NRT 컨텐츠 아이템은 하나 또는 복수의 NRT 파일들을 포함할 수 있다. 또한 하나의 NRT 파일은 하나 또는 복수의 NRT 컨텐츠 아이템에 포함될 수 있다. NRT 컨텐츠 아이템은 프레젠터블 NRT 파일 기반 컴포넌트일 수 있다. 예컨대, NRT 컨텐츠 아이템은 다른 파일들과 조합(combination)되지 않고 소비(consume)되는 NRT 파일들의 집합(set)일 수 있다. 또한 NRT 컨텐츠 아이템은 기초 NRT 파일 기반 컴포넌트일 수 있다. 예컨대, NRT 컨텐츠 아이템은 원자 단위(atomic unit)일 수 있다. 구구체적으로 NRT 컨텐츠 아이템은 가장 작은 파일 단위일 수 있다. NRT 컨텐츠 아이템은 연속 컴포넌트 및 비연속 컴포넌트 중 적어도 어느 하나를 포함할 수 있다. 특히, NRT 컨텐츠 아이템은 연속 컴포넌트와 비연속 컴포넌트의 조합(combination)을 포함할 수 있다.
도 195은 본 발명의 또 다른 실시예에 따른 서비스와 서비스에 포함된 프로그램, 프로그램들에 포함된 세그먼트들의 관계를 보여준다.
리니어 서비스는 하나 또는 복수의 프로그램을 포함할 수 있다. 이때 프로그램은 앞서 설명한 바와 같이 선형적(linear) 컨텐츠의 시간적 구간(temporal segment)의 형태이다. 프로그램은 하나 또는 복수의 리니어 서비스에 포함될 수 있다.
리니어 서비스는 하나 또는 복수의 어플 기반 부가 서비스를 포함할 수 있다. 어플 기반 서비스는 하나 또는 복수의 어플 기반 부가 서비스를 포함할 수 있다. 어플 기반 부가 서비스는 하나 또는 복수의 프로그램을 포함할 수 있다. 이때, 프로그램은 NRT 컨텐츠 아이템의 형태일 수 있다. 또는, 프로그램은 사용자 요청 컴포넌트의 형태일 수 있다.
프로그램은 하나 또는 복수의 세그먼트를 포함할 수 있다. 세그먼트는 하나 또는 복수의 프로그램에 포함될 수 있다. 각각의 세그먼트는 쇼 세그먼트 또는 중간 세그먼트일 수 있다. 프로그램은 리니어 서비스와 많은 속성을 공유한다. 프로그램은 리니어 서비스의 시간 구획(time slice)이거나, 리니어 서비스의 시간 구간과 동일한 구조(structure)를 갖는 NRT 컨텐츠 아이템이거나, 리니어 서비스의 시간 구간과 동일한 구조(structure)를 갖는 사용자 요청 컴포넌트이기 때문이다.
프로그램은 정의상 하나의 쇼에 기초한다. 쇼는 서비스 제공자(service provider)가 프로그램 중간 매체(interstitial material)가 아니라고 생각하는 부분(portion)이기 때문이다.
쇼는 하나 또는 복수의 쇼 세그먼트를 포함할 수 있다.
도 196은 프레젠터블 오디오 컴포넌트의 계층 구조를 보여준다.
연속 컴포넌트는 3개의 계층 구조(level hierarchy)로 구별될 수 있다. 최상위 계층(top level)은 픽원 컴포넌트이고, 중간 계층(middle level)은 컴포지트 컴포넌트를 포함하고, 최하위 계층(bottom level)은 픽원 컴포넌트를 포함할 수 잇다. 모든 연속 컴포넌트들은 이러한 3개의 계층을 포함할 수 있다. 다만, 연속 컴포넌트는 하위 계층을 포함하지 않는 간단한 기초 컴포넌트일 수 있다. 구체적인 실시예에서 도 196 과 같이 프레젠터블 오디오 컴포넌트는 픽원 컴포넌트일 수 있다. 이때, 픽원 컴포넌트는 완전한 메인 오디오(complete main audio)인 컴포넌트와 완전한 메인 음악과 믹스될 수 있는 음악, 대화 및 효과음 포함하는 컴포넌트를 포함할 수 있다. 이때, 완전한 메인 오디오인 컴포넌트는 서로 다른 비트레이트로 인코딩된 대체 가능한 복수의 엘레멘터리 컴포넌트를 포함하는 픽원 컴포넌트일 수 있다. 완전한 메인 음악과 믹스될 수 있는 음악, 대화 및 효과음을 포함하는 컴포넌트는 음악, 대화 및 효과음이 각각 하나의 컴포넌트인 컴포지트 컴포넌트일 수 있다. 이때, 대화를 포함하는 컴포넌트와 효과음을 포함하는 컴포넌트는 기초 컴포넌트일 수 있다. 음악 컴포넌트는 서로 다른 비트레이트로 인코딩된 대체 가능한 복수의 엘레멘터리 컴포넌트를 포함하는 픽원 컴포넌트일 수 있다.
종래 방송망을 통한 방송은 하나의 방송이 연속하여 방송되는 선형적(linear)인 서비스였다. 종래 방송망을 통한 방송이 하이브리드 방송으로 변하면서 종래의 리니어 서비스와 어플 기반 서비스(App-based Service)로 방송 서비스를 구분할 수 있다.
앞서 설명한 바와 같이 리니어 서비스는 정해진 스케줄에따라 연속 컴포넌트가 재생(presented)되는 서비스이다. 이때, 리니어 서비스는 방송국에서 결정한 시간에 기초한 것일 수 있다. 또한 리니어 서비스는 방송 서비스와 동기화되도록 트리거된 어플(triggered)을 포함할 수 있다.
구체적으로 리니어 서비스는 하나 또는 복수의 비디오 컴포넌트를 포함할 수 있다.
또한, 리니어 서비스는 하나 또는 복수의 오디오 컴포넌트를 포함할 수 있다. 또한, 리니어 서비스는 하나 또는 복수의 자막 컴포넌트를 포함할 수 있다.
또한, 리니어 서비스는 컴포넌트 및 부가 서비스들 중 적어도 어느 하나와의 동기화의 기준이 되는 타임 베이스 컴포넌트(time base component)를 포함할 수 있다.
또한 리니어 서비스는 하나 또는 복수의 트리거드된 어플기반 부가 서비스를 컴포넌트(triggered, app based enhancements)로 포함할 수 있다. 각각 부가 서비스는 하나 또는 복수의 어플리케이션을 포함할 수 있다. 이때, 어플리케이션은 활성화 노티피케이션(activation notification)과 동기화되어 활성화될 수 있다. 어플 기반 부가 서비스 컴포넌트는 일련의 실행 알림을 포함할 수 있다. 또한, 어플 기반 부가 서비스 컴포넌트는 하나 또는 복수의 컨텐츠 아이템을 포함할 수 있다. 또한 어플 기반 부가 서비스 컴포넌트는 하나 또는 복수의 사용자 요청 컴포넌트를 포함할 수 있다. 앞서 설명한바와 같이 어플이 주된(primary) 어플리케이션인 경우, 어플을 포함하는 서비스가 선택되면 즉시 활성화(activate)될 수 있다. 또 다른 구체적인 실시예에서 어플은 노티피케이션 스트림에 포함된 노티피케이션에 의해서 활성화(activate)될 수 있다. 또 다른 구체적인 실시예에서 어플은 이미 활성화된(active) 다른 어플에 의하여 활성화될 수 있다. 또한 어플 기반 부가 서비스가 포함하는 어플은 어플 기반 부가 서비스의 컨텐츠 아이템을 실행할 수 있다.
또한 리니어 서비스는 하나 또는 복수의 자동 실행 어플 기반 부가 서비스(auto-launch app-based enhancements)를 컴포넌트로 포함할 수 있다. 각각의 부가서비스는 서비스가 선택되면 자동 실행되는 어플리케이션을 포함할 수 있다. 자동 실행 어플 기반 부가 서비스는 자동 실행되는 어플리케이션을 컴포넌트로 포함한다. 또한, 자동 실행 어플 기반 부가 서비스는 하나 또는 복수의 활성화 노티피케이션 스트림을 컴포넌트로 포함할 수 있다. 또한, 자동 실행 어플 기반 부가 서비스는 하나 또는 복수의 컨텐츠 아이템을 컴포넌트로 포함할 수 있다.
리니어 서비스는 자동 실행 어플 기반 부가 서비스와 트리거된 어플 기반 부가 서비스를 동시에 컴포넌트로 포함할 수 있다. 구체적인 실시예에서 자동 실행 기반 어플 부가 서비스는 타겟 광고로 삽입되고 트리거된 어플 기반 부가 서비스는 사용자에게 양방향 시청 경험(interactive viewing experience)을 제공할 수 있다.
어플 기반 서비스는 서비스가 선택되면 지정된 어플리케이션이 실행되는 것이다. 어플 기반 서비스는 하나의 어플 기반 부가 서비스를 포함할 수 있다. 이때, 어플 기반 부가 서비스를 포함하는 어플 기반 서비스는 하나의 지정된 주된 어플을 포함할 수 있다. 어플은 컨텐츠 아이템 또는 데이터 아이템의 한 형태라할 수 있다. 이때, 컨텐츠 아이템은 하나의 어플을 구성(constitute)하는 파일들을의 집합이라 할 수 있다. 이때, 서비스는 자동 실행되는 어플리케이션을 속성으로 포함할 수 있다. 또한 어플 기반 서비스는 하나 또는 복수의 컨텐츠 아이템을 속성으로 포함할 수 있다.
서비스의 컴포넌트들은 서로 다른 복수의 컴포넌트들 사이에서 공유될 수 있다. 또한 어플 기반 서비스의 어플리케이션은 사용자 요청 컨텐츠의 재생을 개시(initiate)할 수 있다.
리니어 서비스와 관련하여 프로그램 및 세그먼트를 다시 설명하도록 한다. 프로그램은 리니어 서비스의 시간적 구간(temporal section)이다. 이때, 프로그램은 예정된(scheduled) 시작 시간과 길이(duration)를 가진다. 또한, 프로그램은 하나의 프로그램 단위로 소비되게 하기 위하여 방송국에 의하여 정해진 것일 수 있다.
또한 프로그램은 컨텐츠 아이템이나 리니어 서비스의 프로그램과 동일한 구조를 가지는 사용자 요청 컨텐츠를 지칭할 수 있다. 이때 사용자 요청 컨텐츠는 리니어 서비스의 프로그램과 달리 예정된 시작 시간을 가지는 것은 아니다. 또한 방송국엥 의해 정해진 타임 베이스를 포함하지 않는다.
각각의 프로그램은 "쇼"와 연관된다. 이때, 쇼는 프로그램의 주된(primary) 컨텐츠를 포함한다. 앞서 설명한 바와 같이 프로그램의 많은 속성들은 쇼의 속성이다. 예컨대, 프로그램이 포함하는 프로그램을 설명하는 텍스트, 배우 및 공개일(release date) 같은 속성은 쇼의 속성이다. 쇼의 속성 이외의 프로그램 속성들은 프로그램 자체의 속성이다. 프로그램 자체의 속성은 동일한 쇼를 포함하는 프로그램이라도 서로 다를 수 있다. 예컨대, 프로그램이 포함하는 시작 시간 및 프로그램이 포함된 서비스는 프로그램 마다 다를 수 있다.
프로그램은 쇼를 포함하는 하나 또는 복수의 시간 구간을 포함한다. 또한 프로그램은 중간(interstitial) 컨텐츠를 포함하는 하나 또는 복수의 시간 구간을 포함할 수 있다. 이러한 시간 구간을 세그먼트라 한다. 구체적으로 쇼 세그먼트, 중간 세그먼트로 나눌 수 있다.
세그먼트는 프로그램의 일부로서 정해진 시작 시간과 길이를 가질 수 있다. 이러한 세그먼트를 앵커드(anchored) 세그먼트라고 한다. 또한, 프로그램에 동적으로 삽입될 수 있는 논 앵커드(Non-anchored) 세그먼트가 존재한다. 구체적으로 논 앵커드 세그먼트는 삽입될 특정 프로그램 또는 삽입될 특정 시간이 정해지지 않은 세그먼트이다. 예컨대, 삽입될 프로그램과 시간이 정해지지 않고 방송 수신 장치(100)가 수신하는 타겟팅 광고도 논 앵커드 세그먼트일 수 있다.
방송 수신 장치(100)는 제어부(150)를 통해 프로그램과 관련된 어플리케이션을 서비스 가이드를통해 표시할 수 있다. 또한 방송 수신 장치(100)는 프로그램과 관련된 어플리케이션을 사용자 입력에 기초하여 즐겨찾기(favorite) 목록에 추가하거나 다운로드할 수 있다. 구체적으로 방송 수신 장치(100)는 자동 실행 어플 기반 서비스가 패키지드 어플(packaged app) 함께 제공되는 경우 방송 프로그램을 표시하는 서비스 가이드를 통해 표시할 수 있다. 이에 대해서는 도 197를 통하여 설명하도록 한다.
도 197는 방송 수신 장치가 자동 실행 어플 기반 서비스를 방송 서비스 가이드를 통해 표시하고 이를 즐겨찾기로 저장 하거나 다운로드하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 신호를 수신한다(S951).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 신호에 기초하여 자동 실행 어플 기반 서비스 정보를 획득한다(S953). 구체적인 실시예에서 방송 수신 장치(100)는 방송 신호로부터 자동 실행 어플 기반 서비스 정보를 획득할 수 있다. 예컨대, 방송 수신 장치(100)는 앞서 설명한 서비스 정보 또는 프로그램 정보로부터 자동 실행 어플 기반 서비스 정보를 획득할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 자동 실행 어플 기반 서비스 정보에 기초하여 서비스 가이드를 표시한다(S955). 구체적인 실시예에서 방송 수신 장치(100)는 프로그램 정보와 함께 자동 실행 어플 기반 서비스에 대한 정보를 표시할 수 있다. 특히, 방송 수신 장치(100)는 자동 실행 어플 기반 서비스와 연관된 프로그램의 정보와 자동 실행 어플 기반 서비스에 대한 정보를 함께 표시할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 자동 실행 어플 기반 서비스 표시에 대한 사용자 입력을 수신한다(S957). 구체적으로 방송 수신 장치(100)는 자동 실행 어플 기반 서비스를 선택하는 사용자 입력을 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 자동 실행 어플리케이션을 즐겨 찾기(favorite)로 저장하는 것에 대한 사용자 입력을 수신할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 자동 실행 어플리케이션을 다운로드 받는 것에 대한 사용자 입력을 수신할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 사용자 입력에 기초하여 자동 실행 어플리케이션을 즐겨 찾기로 저장하거나 다운로드한다(S959). 구체적으로 방송 수신 장치(100)는 선택된 자동 실행 어플 기반 서비스의 자동 실행 어플리케이션을 즐겨 찾기로 저장 하거나 다운로드 한다.
방송 수신 장치(100)는 제어부(150)를 통하여 즐겨 찾기로 저장된 자동 실행어플리케이션 또는 다운로드한 자동 실행 어플리케이션을 표시한다(S961). 구체적으로 방송 수신 장치(100)는 즐겨 찾기로 저장된 자동 실행어플리케이션 또는 다운로드한 자동 실행 어플리케이션을 표시할 수 잇다. 구체적인 실시예에서 방송 수신 장치(100)는 즐겨 찾기로 저장된 자동 실행어플리케이션 또는 다운로드한 자동 실행 어플리케이션을 어플리케이션을 나타내는 아이콘을 통해 표시할 수 있다. 또한 방송 수신 장치(100)는 즐겨 찾기로 저장된 자동 실행어플리케이션 또는 다운로드한 자동 실행 어플리케이션에 대한 사용자 입력을 수신하여 자동 실행어플레케이션을 다운로드하거나 실행할 수 있다. 이를 통해 방송 수신 장치(100)는 방송 서비스 가이드가 스마트폰의 어플리케이션 스토어와 같은 역할을 하도록할 수 있다.
기존 방송에서 청각 장애인들을 위한 수화 화면은 방송의 비디오에 직접 삽입되는 형태였다. 따라서 청가 장애가 없어 수화 화면이 불필요한 사용자들도 어쩔 수 없이 수화 화면을 보아야하는 불편함이 있었다. 또한, 수화 화면이 일정하게 고정되어 일반 사용자들이 집중적으로 보고자 하는 장면을 가릴 수 있다. 방송사들도 수화 화면을 내보내기 위해서는 일반 컨텐츠에 수화 화면을 삽입하는 인코딩 과정을 거쳐야만 했다. 이러한 불편을 해결하기위한 방송 전송 장치, 방송 전송 장치의 동작 방법. 방송 수신 장치 및 방송 수신 장치의 동작 방법이 필요하다. 이에 대해서는 도 198 내지 도 203을 통하여 설명하도록 한다.
방송 전송 장치는 수화 화면을 일반 컨텐츠를 포함하는 비디오와 다른 별도의 비디오로 전송할 수 있다. 방송 수신 장치(100)는 일반 컨텐츠, 수화 화면을 포함하지 않는 비디오 위에 수화 화면을 포함하는 별도의 비디오를 겹쳐서 표시(overlay)할 수 있다. 또한 방송 수신 장치(100)는 수화 화면이 표시될 위치를 나타내는 정보를 수신하고, 위치를 나타내는 정보에 기초하여 수화 화면을 포함하는 별도의 비디오를 표시할 수 있다. 또는 방송 수신 장치(100)는 수화 화면이 표시될 위치에 대한 사용자 입력에 기초하여 수화 화면을 포함하는 별도의 비디오를 표시할 수 있다. 또한 일반 언어뿐만 아니라 수화도 여러 나라에서 사용되는 다른 종류의 수화가 존재한다. 따라서 방송 전송 장치는 하나의 일반 컨텐츠에 대한 복수의 수화 화면 각각을 포함하는 복수의 비디오를 전송할 수 있다. 이때, 방송 수신 장치(100)는 복수의 수화 화면 각각을 포함하는 복수의 비디오 중 어느 하나를 표시할 수 있다. 이때, 방송 수신 장치(100)는 사용자 입력에 기초하여 복수의 수화 화면 각각을 포함하는 복수의 비디오 중 어느 하나를 표시할 수 있다. 이러한 수화 화면의 전송을 시그널링하는 방법이 필요하다.
구체적인 실시예에서 수화 화면의 수화 화면을 전송하는 비디오를 별도의 컴포넌트로 시그널링할 수 있다. 특히 앞서 설명한 오브젝트 모델을 통해서 수화 화면을 효율적으로 시그널링할 수 있다.
특히, 수화 컴포넌트는 수화 컴포넌트가 표시될 위치를 나타내는 위치를 나나타내는 정보를 포함할 수 있다. 또한 수화 컴포넌트는 수화의 종류를 나타내는 정보를 포함할 수 있다.
수화 화면을 전송하는 연속 컴포넌트를 수화 컴포넌트(Sign Langguage Component)라 할 수 있다. 이때, 수화 컴포넌트 클래스는 수화 화면의 인코딩 코텍을 나타내는 코덱, 수화 화면의 해상도를 나타내는 해상도(reaolution), 수화 화면이 표시되는 위치를 나타내는 좌표, 수화 화면의 화면 비율(aspect ratio)을 나타내는 화면 비율, 영상의 주사 방식을 나타내는 주사 방식, 수화 화면의 프레임레이트를 나타내는 프레임레이트, 스틸(still) 픽처 모드, 다른 인코딩 파라미터들 및 수화의 종류 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다. 해상도는 가로x세로의 픽셀 단위로 나타낼 수 있다. 좌표는 수화 화면이 표시되는 픽셀로 표시될 수 있다. 예컨대, 좌표가 (10,10)이면 가로 10, 세로 10에 해당하는 픽셀을 나타낼 수 있다. 또한, 좌표는 수화 화면이 표시되는 스크린 해상도의 비율로 표시될 수 있다. 예컨대, 좌표가 (10,10)이고 스크린 해상도가 1920X1080인 경우, 좌표는 가로 192, 세로 108에 해당하는 픽셀을 나타낼 수 있다. 또한, 주사방식은 인터레이스와 프로그레시브 중 어느 하나일 수 있다. 또한, 다른 인코딩 파라미터들은 코덱에 따라 결정될 수 있다. 구체적으로 수화의 종류는 American Sign Language(ASL), Panamanian Sign Language (LSP), Mexican Sign Language(LSM) 및 Korean Sign Language(KSL) 중 어느 하나일 수 있다.
이때, 프레젠터블 비디오 컴포넌트 클래스는 "프레젠터블 수화 컴포넌트 클래스와의 연관된 수화 관계(AssociatedSignLanguage relationship with Presentable SignLanguage Component class)"를 관계로 포함할 수 있다. 수화 컴포넌트 클래스와의 연관된 수화 관계는 프레젠터블 비디오 컴포넌트와 프레젠터블 수화 컴포넌트가 함께 표시되는 것이 적합한(suitable) 것을 나타낼 수 있다. 구체적으로 프레젠터블 수화 컴포넌트는 프레젠터블 비디오 컴포넌트위에 겹쳐서 표시(overlay)될 수 있다.
프레젠터블 수화 컴포넌트 클래스는 수화 컨텐츠를 포함하는 프레젠터블 컴포넌트를 나타낸다.
또한, 앞서 설명한 TV 서비스 클래스는 "프레젠터블 수화 컴포넌트 클래스와의 포함 관계(Conatinment Relationship with Presentable Sign Language Component Class)"를 관계로서 가질 수 있다.
또한, 앞서 설명한 TV 프로그램 클래스는 "프레젠터블 수화 컴포넌트 클래스와의 포함 관계(Containment relationship with Presentable Sign Language Component Class)"를 관계로서 포함할 수 있다.
도 198은 본 발명의 또 다른 실시예에 따른 방송 서비스의 종류에 따른 하위 속성과의 상속 관계를 보여준다. 앞서 설명한 바와 같이 서비스는 하나 또는 복수의 수화 컴포넌트를 포함할 수 있다. 구체적으로 복수의 수화 컴포넌트는 동일한 내용을 나타내는 서로 다른 종류의 수화일 수 있다. 방송 수신 장치(100)는 사용자 입력을 수신하여 사용자 입력에 따라 복수의 수화 컴포넌트 중 어느 하나를 표시할 수 있다. 이에따라 TV 서비스는 하나 또는 복수의 수화 컴포넌트를 포함할 수 있다. 또한, 라디오 서비스는 하나 또는 복수의 수화 컴포넌트를 포함할 수 있다. 이에따라 TV 서비스 클래스는 하나 또는 복수의 수화 컴포넌트 클래스를 포함할 수 있다. 또한, 라디오 서비스 클래스는 하나 또는 복수의 수화 컴포넌트 클래스를 포함할 수 있다.
도 199는 본 발명의 또 다른 실시예에 따른 연속 컴포넌트와 연속 컴포넌트의 하위 속성을 갖는 컴포넌트들과의 상속 관계를 보여준다.
앞서 설명한 바와 같이 연속 컴포넌트는 컴플렉스 컴포넌트 또는 기초 컴포넌트일 수 있다. 기초 컴포넌트는 기초 수화 컴포넌트일 수 있다.
도 200는 본 발명의 또 다른 실시예에 따른 프레젠터블 컴포넌트와 프레젠터블 컴포넌트의 하위 속성을 갖는 컴포넌트들과의 상속 관계를 보여준다.
프레젠터블 컴포넌트는 프레젠터블 수화 컴포넌트일 수 있다. TV 서비스의 각각의 프레젠터블 비디오 컴포넌트는 하나 또는 복수의 프레젠터블 수화 컴포넌트를 가질 수 있다. 이때, 프레젠터블 수화 컴포넌트는 프레젠터블 비디오 컴포넌트와 연관(associated with)되어야한다.
또 다른 구체적인 실시예에서 방송 전송 장치는 기초 비디오 컴포넌트의 속성을 이용하여 수화 화면을 포함하는 비디오를 시그널링할 수 있다. 구체적으로 기초 비디오 컴포넌트는 비디오의 종류를 나타내는 모드 속성을 포함할 수 있다. 이때 모드는 수화 화면이 아닌 일반적인 비디오를 나타내는 보통(normal), 수화 중 어느 하나를 나타낼 수 있다. 이때, 비디오 컴포넌트가 수화인 경우, 비디오 컴포넌트는 수화의 종류를 나타내는 정보 및 수화 화면이 표시될 위치를 나타내는 좌표 정보 중 적어도 어느 하나를 속성으로 포함할 수 있다. 좌표는 수화 화면이 표시되는 픽셀로 표시될 수 있다. 예컨대, 좌표가 (10,10)이면 가로 10, 세로 10에 해당하는 픽셀을 나타낼 수 있다. 또한, 좌표는 수화 화면이 표시되는 스크린 해상도의 비율로 표시될 수 있다. 예컨대, 좌표가 (10,10)이고 스크린 해상도가 1920X1080인 경우, 좌표는 가로 192, 세로 108에 해당하는 픽셀을 나타낼 수 있다.
또 다른 구체적인 실시예에서 방송 전송 장치는 서비스, 프로그램 또는 컴포지트 비디오 컴포넌트가 포함하는 속성인 비디오의 역할을 나타내는 정보를 수정(modifying)하여 수화 화면을 포함하는 비디오를 시그널링할 수 있다. 구체적으로 서비스, 프로그램 또는 컴포지트 비디오 컴포넌트가 포함하는 비디오의 역할을 나타내는 정보가 수화를 나타낼 수 있다. 이때, 서비스, 프로그램 또는 컴포지트 비디오 컴포넌트는 수화의 종류를 나타내는 정보 및 수화 화면이 표시될 위치를 나타내는 좌표 정보 중 적어도 어느 하나를 속성으로 포함할 수 있다. 좌표는 수화 화면이 표시되는 픽셀로 표시될 수 있다. 예컨대, 좌표가 (10,10)이면 가로 10, 세로 10에 해당하는 픽셀을 나타낼 수 있다. 또한, 좌표는 수화 화면이 표시되는 스크린 해상도의 비율로 표시될 수 있다. 예컨대, 좌표가 (10,10)이고 스크린 해상도가 1920X1080인 경우, 좌표는 가로 192, 세로 108에 해당하는 픽셀을 나타낼 수 있다. 구체적인 오브젝트 모델에서 서비스 클래스, 프로그램 클래스 또는 컴포지트 비디오 컴포넌트 클래스가 포함하는 역할 어트리뷰트가 수화를 나타낼 수 있다.
또 다른 구체적인 실시예에서 방송 전송 장치는 컨텐츠에 대한 접근성(accessibility)을 나타내는 정보를 통하여 수화 화면을 포함하는 비디오를 시그널링할 수 있다. 구체적으로 방송 전송 장치는 컨텐츠에 대한 접근성을 나타내는 정보를 프레젠터블 컴포넌트, 컨텐츠 아이템 컴포넌트, 서비스, 프로그램, 쇼, 세그먼트, 어플, 어플 기반 부가 서비스 및 어플 기반 서비스 중 적어도 어느 하나의 속성으로 수화 화면을 포함하는 비디오를 시그널링할 수 있다. 또한 방송 전송 장치는 서비스가 타겟팅하는 사용자 또는 방송 수신 장치를 나타내는 타겟팅 속성이 컨텐츠에 대한 접근성을 나타내는 정보를 포함하도록 하여 전송할 수 있다. 구체적인 실시예에서 컨텐츠에 대한 접근성을 나타내는 정보는 수화 화면을 포함하는 비디오의 속성을 포함할 수 있다. 이때, 수화 화면을 포함하는 비디오는 수화의 종류를 나타내는 정보 및 수화 화면이 표시될 위치를 나타내는 좌표 정보 중 적어도 어느 하나를 속성으로 포함할 수 있다. 좌표는 수화 화면이 표시되는 픽셀로 표시될 수 있다. 예컨대, 좌표가 (10,10)이면 가로 10, 세로 10에 해당하는 픽셀을 나타낼 수 있다. 또한, 좌표는 수화 화면이 표시되는 스크린 해상도의 비율로 표시될 수 있다. 예컨대, 좌표가 (10,10)이고 스크린 해상도가 1920X1080인 경우, 좌표는 가로 192, 세로 108에 해당하는 픽셀을 나타낼 수 있다. 구체적인 오브젝트 모델에서 프레젠터블 컴포넌트 클래스, 컨텐츠 아이템 컴포넌트 클래스, 서비스 클래스, 프로그램 클래스, 쇼 클래스, 세그먼트 클래스, 어플 클래스, 어플 기반 부가 서비스 클래스 및 어플 기반 서비스 클래스 중 적어도 어느 하나가 접근성을 나타내는 정보를 어트리뷰트로 포함할 수 있다. 또한 서비스 클래스의 타겟팅 어트리뷰트는 컨텐츠에 대한 접근성을 나타내는 접근성을 어트리뷰트로 포함할 수 있다.
도 201은 본 발명의 일 실시예에 따라 방송 전송 장치가 수화 화면을 포함하는 비디오를 시그널링하는 정보를 전송하는 동작을 보여주는 흐름도이다.
방송 전송 장치는 제어부를 통하여 수화 화면을 포함하는 비디오의 속성을 획득한다(S971). 수화 화면을 포함하는 비디오의 속성은 앞서 설명한 바와 같이 수화 화면을 포함하는 비디오가 표시되는 위치를 나타내는 좌표 및 수화의 종류를 나타내는 정보 중 적어도 어느 하나를 포함할 수 있다.
방송 전송 장치는 제어부를 통하여 수화 화면을 포함하는 비디오를 시그널링하는 정보를 생성한다(S973). 방송 전송 장치는 수화 화면을 포함하는 비디오를 앞서 설명한 바와 같이 별도의 컴포넌트, 기초 비디오 컴포넌트의 속성, 서비스, 프로그램 또는 컴포지트 비디오 컴포넌트가 포함하는 속성인 비디오의 역할을 나타내는 정보 및 컨텐츠에 대한 접근성(accessibility)을 나타내는 정보 중 적어도 어느 하나를 통하여 시그널링할 수 있다.
방송 전송 장치는 전송부를 통하여 수화 화면을 포함하는 비디오를 시그널링하는 정보를 포함하는 방송 신호를 전송한다(S975).
도 202은 본 발명의 일 실시예에 따라 방송 수신 장치 수화 화면을 포함하는 비디오를 표시하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 신호를 수신한다(S981).
방송 수신 장치(100)는 제어부(150)를 통하여 방송 신호에 기초하여 수화 화면을 포함하는 비디오를 시그널링하는 정보를 획득한다(S983). 수화 화면을 포함하는 비디오를 시그널링하는 정보는 앞서 설명한 바와 같이 별도의 컴포넌트, 기초 비디오 컴포넌트의 속성, 서비스, 프로그램 또는 컴포지트 비디오 컴포넌트가 포함하는 속성인 비디오의 역할을 나타내는 정보 및 컨텐츠에 대한 접근성(accessibility)을 나타내는 정보 중 적어도 어느 하나를 통하여 시그널링될 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 수화 화면을 포함하는 비디오를 시그널링하는 정보에 기초하여 수화 화면을 포함하는 비디오에 대한 속성을 획득한다(S985). 수화 화면을 포함하는 비디오의 속성은 앞서 설명한 바와 같이 수화 화면을 포함하는 비디오가 표시되는 위치를 나타내는 좌표 및 수화의 종류를 나타내는 정보 중 적어도 어느 하나를 포함할 수 있다.
방송 수신 장치(100)는 제어부(150)를 통하여 수화 화면을 포함하는 비디오에 대한 속성에 기초하여 수화 화면을 포함하는 비디오 표시한다(S987). 구체적으로 방송 수신 장치(100)는 수화 화면을 포함하는 비디오가 표시되는 위치를 나타내는 좌표에 기초하여 수화 화면을 포함하는 비디오를 표시할 수 있다. 또한, 방송 수신 장치(100)는 수화 화면을 포함하지 않는 비디오 위에 수화 화면을 포함하는 비디오를 겹쳐서(overlay) 표시할 수 있다. 또한 구체적인 실시예에서 방송 수신 장치(100)는 사용자 입력에 기초하여 수화 화면을 포함하는 비디오를 표시할 수 있다. 이에 대해서는 도 203을 통하여 설명하도록 한다
도 203은 본 발명의 일. 실시예에 따라 방송 수신 장치가 수화를 위한 설정에 대한 사용자 입력을 인터페이스를 보여준다.
방송 수신 장치(100)는 사용자 입력에 기초하여 수화 화면을 포함하는 비디오를 표시할 수 있다. 이때, 사용자 입력은 수화 화면을 표시하는 비디오의 표시 여부에 대한 사용자 입력일 수 있다. 또한, 사용자 입력은 수화 화면을 포함하는 비디오를 표시하는 위치에 대한 입력일 수 있다. 또한, 사용자 입력은 수화 화면의 수화의 종류에 대한 사용자 입력일 수 있다. 방송 서비스 또는 프로그램이 수화 화면을 포함하는 복수의 비디오를 포함하는 경우, 방송 수신 장치(100)는 수화 화면을 포함하는 복수의 비디오 중 어느 하나를 선택하는 사용자 입력을 수신할 수 있다. 이때, 방송 수신 장치(100)는 수화 화면을 포함하는 복수의 비디오 중 어느 하나를 선택하는 사용자 입력에 따라 선택된 수화 화면을 포함하는 비디오를 표시할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 도 203의 실시예에서와 같이 방송 수신 장치(100)의 동작을 설정하는 설정 메뉴를 통해 이러한 사용자 입력을 수신할 수 있다.
본 발명의 실시예들에 따라 방송 전송 장치가 서비스 시그널링 정보와 함께 방송 서비스를 전송하는 것과, 방송 수신 장치(100)가 서비스 시그널링 정보에 기초하여 방송 서비스를 수신하는 것을 설명하였다. 이후에서는 방송 수신 장치(100)가 방송 서비스에 연동하는 연동 장치(companion devic)에게 정보를 제공하는 것과 연동 장치의 동작에 대해서 설명한다.
도 204는 본 발명의 일 실시예에 따른 연동 장치와 연동하는 방송 서비스를 제공하는 방송 시스템을 보여준다.
본 발명의 일 실시예에 따른 방송 시스템은 방송 수신 장치(100), 연동 장치(200), 방송 전송 장치(300), 컨텐츠/시그널링 서버(400) 및 ACR 서버(500)를 포함한다. 아래에서, 방송 수신 장치(100)는 주 디바이스 (primary device, PD)로 칭할 수 있으며, 연동 장치(200)은 컴패니언 디바이스(companion device, CD)로 칭할 수 있다.
방송 전송 장치(300)는 방송 서비스를 전송하는 방송 서버를 나타낸다. 이때, 방송 수신 장치(100)는 방송 전송 장치(300)로부터 방송망(Broadcast channel)을 통하여 방송 서비스를 수신한다. 또한 방송 수신 장치(100)는 방송망을 통하여 방송 전송 장치(300)로부터 방송 서비스를 시그널링하는 정보를 수신할 수 있다. 또한 방송 수신 장치(100)는 방송망을 통하여 방송 전송 장치(300)로부터 트리거, 트리거 파라미터 테이블(Trigger Parameter Table, TPT), 트리거 선언적 오브젝트(Trigger Declarative Object, TDO)와 같은 방송 서비스를 위한 부가 정보를 수신할 수 있다.
컨텐츠/시그널링 서버(400)는 방송 서비스에관한 컨텐츠를 생성하고 관리한다. 이때, 방송 수신 장치(100)는 통신망(Broadband channel)을 통해 컨텐츠/시그널링 서버(400)로부터 방송 서비스에관한 부가 정보 및 방송 서비스의 시그널링 정보 중 적어도 어느 하나를 수신할 수 있다.
자동 컨텐츠 인식(Automatic Content Recogntion, ACR) 서버(300)는 방송 서비스에 관한 ACR 관련 데이터를 관리한다. 이때, 방송 수신 장치(100)는 통신망(Broadband channel)을 통해 ACR 서버(300)로부터 트리거(trigger) 및 방송 서비스에 관한 어플리케이션 중 적어도 어느 하나를 수신할 수 있다.
연동 장치(200)는 홈 네트워크를 통해 방송 수신 장치(100)와 연동하여 방송 서비스와 관련된 부가 기능을 실행한다. 구체적으로 연동 장치(200)는 방송 서비스와 관련된 어플리케이션 및 파일 중 적어도 어느 하나를 획득할 수 있다. 또한 연동 장치(200)는 방송 서비스와 관련된 어플리케이션 및 파일을 실행할 수 있다. 이때, 연동 장치(200)는 홈 네트워크 대신 3GPP와 같은 이동 통신망이나 HTTP 프록시(Proxy) 서버를 이용할 수 있다. 또한 구체적인 실시예에서 방송 서비스와 관련된 어플리케이션이나 파일이 단방향 파일 전송 세션(File Delivery over Unidirectional Transport, FLUTE)을 통하여서 전송되는 경우, 연동 장치(200)는 방송 수신 장치(100)로부터 방송 서비스에 관련한 어플리케이션 및 파일 중 적어도 어느 하나를 수신할 수 있다. 또한 연동 장치(200)는 세컨드 스크린 장치(second screen device)라 할 수 있다. 또한 연동 장치(200)는 스마트 폰, 태블릿 및 랩탑 중 적어도 어느 하나를 포함할 수 있다. 구체적으로 연동 장치(200)는 방송망을 통한 방송 수신 기능을 갖지 않고 네트워크 등의 통신 기능을 갖는 단말 장치일 수 있다. 또한 연동 장치(200)는 하나 또는 복수개가 존재할 수 있다. 연동 장치(200)는 연동 장치(200)의 전체적인 동작을 제어하는 제어부 및 외부 장치와의 통신을 수행하는 통신부(2통신부를 포함할 수 있다. 제어부는 제어부가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 제어부는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 또한 통신부는 통신부가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 통신부는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다.
또한, 방송 수신 장치(100)는 주 장치(Primary Device)로 일컬어질 수 있다.
또한, 구체적인 실시예에 따라서 방송 전송 장치(300), 컨텐츠/시그널링 서버(400) 및 ACR 서버(500) 중 적어도 어느 두개가 하나의 서버로 통합되어 사용될 수 있다.
앞서 설명한 바와 같이 방송 수신 장치(100)는 방송 전송 장치(300)로부터 방송 서비스의 시그널링 정보를 수신할 수 있다. 또는 방송 수신 장치(100)는 컨텐츠/시그널링 서버(400)로부터 방송 서비스의 시그널링 정보를 수신할 수 있다. 이때 방송 서비스의 시그널링 정보는 방송 서비스의 속성을 포함할 수 있다. 이에 대해서는 도 205을 통하여 자세히 설명하도록 한다.
도 205은 본 발명의 일 실시예에 따라 시그널링되는 방송 서비스의 속성을 보여준다.
방송 수신 장치(100)가 수신하는 방송 서비스의 시그널링 정보는 방송 서비스의 속성을 포함할 수 있다. 이때, 방송 서비스의 속성은 방송 서비스를 식별하는 방송 서비스 식별자, 방송 서비스의 이름, 방송 서비스의 채널 번호, 방송 서비스에 대한 설명, 방송 서비스의 장르, 방송 서비스를 나타내는 아이콘, 방송 서비스의 주 언어, 방송 서비스에 관련한 사용 보고 정보, 방송 서비스를 제공할 수 있는 장치의 정보를 나타내는 타겟팅 속성, 방송 서비스의 보호(protection)에 관한 속성, 권장 등급, 방송 서비스가 포함하는 미디어 컴포넌트에 관한 정보 중 적어도 어느 하나를 포함할 수 있다. 타겟팅 속성은 서비스가 제공되는 장치를 나타내는 것으로 주 장치 또는 연동 장치(200) 중 적어도 어느 하나를 나타낼 수 있다. 방송 서비스의 채널 번호는 메이저 채널 번호 및 마이너 채널 번호를 포함할 수 있다. 미디어 컴포넌트에 관한 정보는 미디어 컴포넌트를 식별하는 식별자, 미디어 컴포넌트의 종류, 미디어 컴포넌트의 이름, 미디어 컴포넌트의 시작 시간, 미디어 컴포넌트의 재생 시간(duration), 미디어 컴포넌트가 타켓팅하는 스크린을 나타내는 정보, 미디어 컴포넌트를 수신할 수 있는 URL, 미디어 컴포넌트의 권장 등급 및 미디어 컴포넌트의 장르 중 적어도 어느 하나를 포함할 수 있다. 이때, 미디어 컴포넌트가 타겟팅하는 스크린은 연동 장치(200)를 나타낼 수 있다. 구체적으로 미디어 컴포넌트가 타겟팅하는 스크린은 연동 장치가 없음, 모든 장치, 스마트폰, 타블렛 PC, TV 및 PC 중 어느 하나를 나타낼 수 있다. 타블렛 PC는 3G, LTE 등의 이동 통신망을 통한 통신 기능이 없고, 디스플레이를 포함하는 모바일 장치를 나타낼 수 있다.
방송 서비스의 속성은 도 205과 같이 XML 형식으로 시그널링 될 수 있다. 다만, 방송 서비스의 속성의 시그널링 형식은 이에 제한되지 않고 비트 스트림과 같이 다른 형식으로 시그널링될 수 있다. 도 205은 Service Signaling Service Properties 에 대한 XML schema 의 일 실시예이다. 이는 추후 설명할 본 발명의 실시예에 등장하는, Service Property 에 대한 XML Schema 구조의 일 실시예일 수 있다. 실시예에 따라, field 가 추가될 수도 삭제될 수도 있다. Service Signaling Service Properties 는 제공되는 Service 의 Property 에 대한 정보를 담고 있을 수 있다. 방송 전송 장치(300) 또는 컨텐츠/시그널링 서버(400)측에서 방송 수신 장치(100)에 이 XML Schema 를 전달할 수 있다. 방송 수신 장치(100)는 전달받은 XML Schema 를 연동 장치(200)에 전달할 수 있다. 방송 수신 장치(100)는 전달받은 XML Schema 를 연동 장치(200)에 전달할 때에, 이 XML Schema 를 그대로 전달하거나, 변형시켜 전달하거나, 연동 장치(200)가 원하는 field 만을 전달하거나, 변경된 field 만 전달할 수 있다.
구체적으로 방송 서비스의 속성을 시그널링하는 정보는 ServiceID, ServiceName, MajorChanNum, MinorChanNum, Description, Genre, Icon, Language, UsageReportingInfo, Targeting, ServiceProtection, AdvisoryRating 및/또는 ComponentItem 중 적어도 어느 하나를 포함할 수 있다. 이들 정보는 serviceInfo 레벨에서 정의될 수 있다.
ServiceID는 서비스를 식별하는 방송 서비스 식별자를 나타낸다. 이때 ServiceID는 한 개만 존재할 수 있다. 또한 구체적인 실시예에서 SerivceID는 언사인드 숏(unsigned short) 데이터 타입을 가질 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 ServiceID에 기초하여 방송 서비스를 식별할 수 있다.
ServiceName은 방송 서비스의 이름을 나타낸다. ServiceName은 없거나 단수 또는 복수개 존재할 수 있다. 구체적인 실시예에서 ServiceName은 스트링 데이터 타입을 가질 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 ServiceName에 기초하여 방송 서비스의 이름을 표시할 수 있다.
MajorChanNum과 MinorChanNum은 방송 서비스의 채널 번호의 메이저 번호와 마이너 번호를 각각 나타낸다. 구체적인 실시예에서 MajorChanNum과 MinorChanNum은 없거나, 1개 존재할 수 있다. 또한 MajorChanNum과 MinorChanNum은 0부터 15사이의 숫자 중 어느 하나의 정수 값을 가질 수 있다. MajorChanNum과 MinorChanNum은 사용자의 방송 서비스 선택을 용이하도록 하기 위해 사용될 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 MajorChanNum과 MinorChanNum에 기초하여 방송 서비스의 채널 번호를 표시할 수 있다.
Description은 방송 서비스에 대한 설명을 나타낸다. Description은 없거나 단수 또는 복수개 존재할 수 있다. Description은 스트링 데이터 타입을 가질 수 있다. 사용자는 Description을 통해 방송 서비스의 내용을 짐작할 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 Description에 기초하여 방송 서비스에 관한 설명을 표시할 수 있다.
Genre는 방송 서비스의 장르를 나타낸다. Genre는 없거나 단수 또는 복수개 존재할 수 있다. 구체적인 실시예에서 Genre는 스트링 데이터 타입을 가질 수 있다. 사용자는 Genre를 통해 방송 서비스의 장르를 알 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 Genre에 기초하여 방송 서비스의 장르를 표시할 수 있다.
Icon은 방송 서비스를 나타내는 아이콘을 나타낸다. Icon은 없거나 단수 또는 복수개 존재할 수 있다. Icon은 베이스 64 바이너리 데이터 타입(Base64Binary data type)을 가질 수 있다. 사용자는 방송 서비스를 대표하는 아이콘을 통해 방송 서비스의 내용을 용이하게 파악할 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 Icon에 기초하여 방송 서비스를 나타내는 아이콘을 표시할 수 있다.
Language는 방송 서비스의 주 언어를 나타낸다. Lagugage는 없거나 1개 존재할 수 있다. Lagnguage는 스트링 데이터 타입을 가질 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 Language에 기초하여 방송 서비스의 주 언어를 표시할 수 있다.
UsageReportingInfo는 방송 서비스에 관련한 사용 보고 정보를 나타낸다. UsageReportingInfo는 없거나 단수 또는 복수개 존재할 수 있다. UsageReportingInfo는 스트링 데이터 타입을 가질 수 있다. 구체적으로 UsageReportingInfo는 사용 정보 보고를 위한 파라미터로 사용될 수 있다. 예컨대, UsageReportingInfo는 사용 정보 보고를 위한 URL 및 보고 주기 중 적어도 어느 하나를 포함할 수 있다. 이러한 사용 정보 보고를 통해 방송 서비스 제공자는 방송 서비스의 사용 정보와 방송 서비스에 대한 과금 정보를 획득할 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 UsageReportingInfo에 기초하여 방송 서비스의 사용 정보를 보고할 수 있다.
Targeting은 방송 서비스의 타겟팅 속성을 나타낸다. Targeting은 없거나 단수 또는 복수개 존재할 수 있다. 구체적으로 Targeting은 스트링 데이터 타입을 가질 수 있다. 구체적으로 Targeting은 해당 방송 서비스가 방송 수신 장치(100)와 같은 주 디바이스를 위한 것인지, 또는연동 장치(200)를 위한 것인지 나타낼 수 있다. 연동 장치(200)를 위한 서비스 일 경우 방송 수신 장치(100)는 Service provider로부터 전달받은 XML Schema 를 연동 장치(200)에 전달해 줄 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 Targeting에 기초하여 방송 서비스의 표시여부를 결정할 수 있다.
ServiceProtection은 방송 서비스의 보호(protection)에 관한 속성을 나타낸다. ServiceProtection은 없거나 1개 존재할 수 있다. 구체적으로 ServiceProtection은 스트링 데이터 타입을 가질 수 있다.
AdvisoryRating 권장 등급은 서비스의 권장 등급을 나타낸다. AdvisoryRating은 없거나 단수 또는 복수개 존재할 수 있다. AdvisoryRating은 스트링 데이터 타입을 가질 수 있다. 방송 수신 장치(100)와 연동 장치(100)는 권장 등급과 개인화 정보에 기초하여 방송 서비스를 차단할 수 있다. 사용자는 AdvisoryRating 정보를 통해 원하지 않는 서비스를 선택하지 않을 수 있다. 사용자는 personalization 을 통해, 특정 rating 의 서비스를 차단할 수 있다.
ComponentItem은 방송 서비스가 포함하는 미디어 컴포넌트에 관한 정보를 나타낸다. 여기서, 컴포넌트는 컨텐츠를 의미하며 서비스 정보에 대응하는 서비스가 제공하는 컨텐츠에 대한 정보를 나타낸다. 하나의 componentItem element는 하나의 컨텐츠에 대한 정보를 가질 수 있다. 구체적으로 ComponentItem은 componentId, ComponentType, ComponentName, StartTime, Duration, TargetScreen, URL, ContentAdvisory 및 Genre 중 적어도 어느 하나를 포함할 수 있다.
ComponentId는 해당 미디어 컴포넌트를 식별하는 식별자를 나타낸다. 구체적으로 ComponentId는 1개 존재할 수 있다. 서비스 정보에 대응하는 서비스 범위에서 컴포넌트의 고유한 식별자이다. 구체적으로 ComponentId는 언사인드 데이터 타입을 가질 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 ComponentId에 기초하여 미디어 컴포넌트를 식별할 수 있다.
CmponentType은 해당 미디어 컴포넌트의 종류를 나타낸다. 구체적으로 CmponentType은 1개 존재할 수 있다. CmponentType은 스트링 데이터 타입을 가질 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 CmponentType에 기초하여 미디어 컴포넌트의 종류를 표시할 수 있다.
ComponentName은 해당 미디어 컴포넌트의 이름을 나타낸다. 구체적으로 ComponentName은 없거나 단수 또는 복수개 존재할 수 있다. ComponentName은 스트링 데이터 타입을 가질 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 ComponentName에 기초하여 미디어 컴포넌트의 이름을 표시할 수 있다.
StartTime은 해당 미디어 컴포넌트의 시작 시간을 나타낸다. 구체적으로 StartTime은 없거나 1개 존재할 수 있다. 구체적으로 StartTime은 언사인드 숏 데이터 타입을 가질 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 StartTime에 기초하여 미디어 컴포넌트의 시작 시간을 판단할 수 있다.
Duration은 해당 미디어 컴포넌트의 재생 길이를 나타낸다. 구체적으로 Duration은 없거나 1개 존재할 수 있다. 구체적으로 Duration은 언사인드 숏 데이터 타입을 가질 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 Duration에 기초하여 미디어 컴포넌트의 재생 길이를 판단할 수 있다.
TargetScreen은 해당 미디어 컴포넌트가 타겟팅하는 스크린을 나타낸다. 구체적으로 TargetScreen은 없거나 단수 또는 복수개 존재할 수 있다. 구체적으로 TargetScreen은 스트링 데이터 타입을 가질 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 TargetScreen에 기초하여 해당 미디어 컴포넌트의 재생 필요 여부를 판단할 수 있다. TargetScreen은 해당 component가 방송 수신 장치(100)를 포함하는 주 디바이스(Primary Devicd, PD) 를 위한 것인지, 연동 장치(companion device, CD) 를 위한 것인지 구별할 수 있도록 해준다. CD 를 위한 서비스 일 경우 PD 는 Service provider로부터 전달받은 XML Schema 를 CD 에 전달해 줄 수 있다. 구체적인 실시예에서 TargetScreen은 미디어 컴포넌트에 해당하는 연동 장치가 없음 또는 미디어 컴포넌트는 모든 장치를 타겟팅함을 나타낼 수 있다. 또한, TargetScreen은 미디어 컴포넌트가 스마트폰, 타블렛 PC, TV 및 PC 중 어느 하나를 타겟팅함을 나타낼 수 있다. 구체적으로 방송사 혹은 컨텐츠 제공자로부터 PD가 수신하는 Service Signaling 정보 중 Component 정보의 TargetScreen attribute는 도 206의 실시 예와 같이 지정하여 사용할 수 있다. 도 206의 실시예와 같이 TargetScreen의 값이 0x00인 경우, 유예된 URI를 의미할 수 있다. 이는 TargetScreen은 미디어 컴포넌트에 해당하는 연동 장치가 없음을 나타낼 수 있다. 이 때, URI는 연동 장치 어플리케이션에 대한 정보를 다운로드할 수 있는 원격 서버에 있는 리소스를 식별할 수 있다. 이 경우, 방송 수신 장치는 URI를 로케이션으로써 인식하고 해당 리소스를 그 로케이션으로부터 획득할 수 있다. TargetScreen의 값이 0x01인 경우, TargetScreen은 미디어 컴포넌트가 모든 장치의 클래스를 타겟팅함을 나타낼 수 있다. 여기서, TargetScreen은 generic URI일 수 있다. TargetScreen의 값이 0x02인 경우, TargetScreen은 미디어 컴포넌트가 스마트폰 클래스를 타겟팅함을 나타낼 수 있다. 여기서, TargetScreen은 specific URI일 수 있다. TargetScreen의 값이 0x03인 경우, TargetScreen은 미디어 컴포넌트가 타블렛 PC 클래스를 타겟팅함을 나타낼 수 있다. 여기서, TargetScreen은 specific URI일 수 있다. TargetScreen의 값이 0x04인 경우, TargetScreen은 미디어 컴포넌트가 TV 클래스를 타겟팅함을 나타낼 수 있다. 여기서, TargetScreen은 specific URI일 수 있다. TargetScreen의 값이 0x05인 경우, TargetScreen은 미디어 컴포넌트가 PC 클래스를 타겟팅함을 나타낼 수 있다. 여기서, TargetScreen은 specific URI일 수 있다.
URL은 미디어 컴포넌트를 수신하기 위한 주소를 나타낼 수 있다. 구체적으로 URL은 없거나 단수 또는 복수개 존재할 수 있다. 구체적으로 URL은 URI 데이터 타입을 가질 수 있다. 구체적으로 URL은 컨텐츠/시그널링 서버(400)의 주소를 나타낼 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 URL에 기초하여 미디어 컴포넌트를 수신할 수 있다.
ContentAdvisory는 해당 미디어 컴포넌트의 권장 등급을 나타낸다. ContentAdvisory의 값이 AdvisoryRating과 충돌(conflict)하는 경우, ContentAdvisory의 값이 우선할 수 있다. 구체적으로 ContentAdvisory은 단수 또는 복수개 존재할 수 있다. 구체적으로 ContentAdvisory은 스트링 데이터 타입을 가질 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 ContentAdvisory에 기초하여 미디어 컴포넌트의 재생 여부를 결정할 수 있다. 사용자는 등급(rating) 정보를 통해 원하지 않는 컴포넌트를 선택하지 않을 수 있다. 사용자는 personalization 을 통해, 특정 rating 의 컴포넌트를 차단할 수 있다.
Genre는 미디어 컴포넌트의 장르를 나타낸다. 구체적으로 Genre는 단수개 또는 복수개 존재할 수 있다. Genre는 스트링 데이터 타입을 가질 수 있다. 앞서 설명한 serviceInfo 레벨의 Genre 와 충돌할 경우 component 레벨의 Genre 정보가 우선하도록 설정할 수 있다. 즉, 서비스의 장르를 나타내는 Genre와 충돌할 경우, 미디어 컴포넌트의 장르를 나타내는 Genre가 우선할 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 Genre에 기초하여 미디어 컴포넌트의 장르를 표시할 수 있다.
다음은 주 디바이스(PD)와 연동 장치(CD)간에 적용될 수 있는 프로토콜에 대해 설명한다. 본 발명의 일 실시예는 특정 프로토콜에 한정되지 않고 적용될 수 있다.
A. 본 발명에서는 기기간 communication을 message, command, call, action, 혹은 request/response을 교환한다고 표현한다.
B. 본 발명에서는 기기간 communication시 사용되는 message를 원하는 대상 기기에 안정적으로 전달하기 위해, IP (Internet Protocol) 뿐만 아니라, ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol) 등의 다양한 protocol을 적용할 수 있으며 특정 protocol에 국한하여 적용하지 않는다.
C. 본 발명에서는 기기간 communication시 사용되는 message를 안정적으로 전달하고, message flow를 제어하고, 복수의 message간의 충돌이나 congestion을 해결하고, multiplexing을 지원하기 위해, TCP (Transmission Control Protocol), UDP (User Datagram Protocol) 뿐만 아니라 DCCP (Datagram Congestion Control Protocol), SCTP (Stream Control Transmission Protocol) 등의 다양한 protocol을 적용할 수 있으며 특정 protocol에 국한하여 적용하지 않는다.
D. 본 발명에서는 기기간 communication시 사용되는 message에 다양한 정보를 담아서 다양한 목적으로 전달하기 위해, HTTP (Hypertext Transfer Protocol), RTP (Real-time Transport Protocol), XMPP (Extensible Messaging and Presence Protocol), FTP (File Transfer Protocol) 등의 다양한 protocol을 적용할 수 있으며 특정 protocol에 국한하여 적용하지 않는다.
E. 본 발명에서는 기기간 communication시 사용되는 message를 상기의 다양한 protocol을 통해 전달할 때, 각 protocol에서 정의하는 message components 중 message header, message body 등 다양한 message component에 원하는 message data를 넣어서 전달할 수 있으며 특정 message component에 국한하여 적용하지 않는다.
F. 본 발명에서는 기기간 communication시 사용되는 message를 상기의 다양한 protocol을 통해 전달할 때, 전달할 data를 각 protocol에서 정의하는 다양한 type으로 (string, integer, floating point, boolean, character, array, list 등) 전달할 수 있다. 복잡한 내용의 data를 더 구조적으로 표현하고, 전달하고, 저장하기 위해 XML (Extensible Markup Language), HTML (Hypertext Markup Language), XHTML (Extensible Hypertext Markup Language), JSON (JavaScript Object Notation) 등의 Markup 방식 혹은 text, image format 등을 적용할 수 있으며 특정 방식에 국한하여 적용하지 않는다.
G. 본 발명에서는 기기간 communication시 사용되는 message에 포함되는 data를, "gzip" (RFC 1952), "deflate" (RFC 1950), "compress" (RFC 2616) 등의 다양한 data 압축기술을 적용하여 전달할 수 있으며 특정 박식에 국한하여 적용하지 않는다.
본 발명의 실시예에서 적용된 기기간 communication의 한가지 방안인 UPnP 방식은, 상기(B~G)의 다양한 layer의 기술중에서, IP-TCP/UDP-HTTP의 protocol이 조합된 기기간 communication protocol이다.
본 발명에서 제안하는 UPnP action은 기기간 communication의 다양한 방식의 예 중 하나로서, UPnP Discovery 및 Description 과정에서 획득한 Control URL로, HTTP에서 정의한 POST method를 사용하여, 실제 전달하고자 하는 data를 HTTP POST message body에 XML의 형태로 전달한다. UPnP protocol의 경우 각 action을 action name을 정의하여 사용하고, XML 형태로 전달되는 HTTP POST message body에 action name도 함께 전달되기 때문에, communication 대상 기기에 대한 URL이 하나만 존재하고, HTTP POST method 하나만 사용해도 무한한 종류의 action (message)의 교환이 가능하다. 이는 아래에서 UPnP Action Mechanism 관련 도면을 통해 설명한다.
다른 실시예로써, 본 발명에서 제안하는 기기간 communication은, HTTP method 중 POST 뿐만 아니라, GET, HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH 등의 여러 methods를 활용하고, communication 대상 기기에 접근할 복수의 URI를 정의하면, action name의 정의없이도 적용될 수 있다. 전달이 필요한 data는 해당 URI에 append하여 전달될 수 있고 혹은 HTTP body에 다양한 형태로 포함되어 전달될 수 있다. 이는 아래에서 REST Mechanism 관련 도면을 통해 설명한다. 단 이러한 REST방식에 필요한 복수의 URI값은 discovery 혹은 description 과정에서 획득될 수 있다.
본 발명에서 제안하는 모든 UPnP action은 상기(B~G)의 다양한 layer의 기술의 다양한 형태의 조합을 통해 적용될 수 있으며, 본 발명에서 제안하는 모든 내용은 UPnP 방식에 국한되어 적용되지 않는다.
앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 홈 네트워크, 3GPP와 같은 이동 통신망 및 HTTP 프록시 서버 중 적어도 어느 하나를 통해 방송 수신 장치(200)와 연동할 수 있다. 이때, 방송 수신 장치(100)와 연동 장치(200)간의 통신은 다양한 방식을 통해서 이루어질 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(100)간의 통신은 범용 플러그 및 플레이(Universal Plug and Play, UPnP) 방식을 통해 이루어질 수 있다.
UPnP는 컨트롤 포인트(Control Point, CP)와 컨트롤되는 장치들(Controlled Deivcies, CDs)로 장치를 구별한다. 컨트롤 포인트는 UPnP 프로토콜을 이용하여 컨트롤되는 장치들을 제어한다. 구체적인 실시예에서는 방송 수신 장치(100)가 컨트롤 되는 장치들중 하나에 해당할 수 있다. 또한, 연동 장치(200)는 컨트롤 포인트에 해당할 수 있다. UPnP에서는 디스커버리(discovery), 디스크립션(description), 컨트롤(control) 및 이벤팅(eventing) 프로토콜을 정의한다. 디스커버리 프로토콜은 컨트롤 포인트가 컨트롤되는 장치를 찾기위한 프로토콜이다. 디스크립션 프로토콜은 컨트롤 포인트가 컨트롤되는 장치의 정보를 획득하기위한 프로토콜이다. 컨트롤 프로토콜은 컨트롤 포인트가 컨트롤되는 장치에게 일정한 동작을 유발(invoke)하기 위한 것이다. 이벤팅 프로토콜은 컨트롤되는 장치가 비동기화된 알림(notifications)을 컨트롤 포인트에게 전송(delivery)하기위한 것이다. 본 발명의 일 실시예에 따른 방송 수신 장치(100)와 연동 장치(200)는 UPnP 프로토콜의 디스커버리(discovery), 디스크립션(description), 컨트롤(control) 및 이벤팅(eventing) 프로토콜 중 적어도 어느 하나를 사용하여 연동할 수 있다. 예컨대, 방송 수신 장치(100)가 디스커버리 프로토콜을 이용하여 연동 장치(200)를 찾을 수 있다.
도 207는 본 발명의 일 실시예에 따른 UPnP 액션 메커니즘을 나타낸 도면이다.
본 발명의 실시예에서 적용된 기기간 communication의 한가지 방안인 UPnP 방식은 IP-TCP/UDP-HTTP의 protocol이 조합된 기기간 communication protocol이다.
본 발명에서 제안하는 UPnP action은 기기간 communication의 다양한 방식의 예 중 하나로서, UPnP Discovery 및 Description 과정에서 획득한 Control URL로, HTTP에서 정의한 POST method를 사용하여, 실제 전달하고자 하는 data를 HTTP POST message body에 XML의 형태로 전달한다. UPnP protocol의 경우 각 action을 action name을 정의하여 사용하고, XML 형태로 전달되는 HTTP POST message body에 action name도 함께 전달되기 때문에, communication 대상 기기에 대한 URL이 하나만 존재하고, HTTP POST method 하나만 사용해도 무한한 종류의 action (message)의 교환이 가능하다.
HTTP 클라이언트(D1120)는 UPnP 컨트롤 포인트로써, HTTP 서버(D1121)를 컨트롤 할 수 있다. 이때, HTTP 서버는 UPnP 디바이스로써 동작할 수 있다. HTTP 클라이언트(D1120)는 다양한 액션을 전달하기 위해 Name 및 Arguments를 이용하여 각 액션을 정의할 수 있다. 적어도 하나의 액션은 식별자에 해당하는 Name과 데이터에 해당하는 arguments를 포함할 수 있다. 도시된 바와 같이 액션 1로부터 액션 N은 각각 Name 및 arguments를 포함할 수 있으며 이는 XML 형태로 작성될 수 있다. 작성된 XML 메시지는 HTTP POST method에 의해 HTTP 서버(D1121)로 전달될 수 있다. 각 액션의 Name 및 arguments는 HTTP POST message의 바디에 포함되어 전달 될 수 있다. 이 때, 적어도 하나 이상의 액션들을 포함한 HTTP POST message는 동일한 ControlURL로 전송될 수 있으며, 각 액션은 Name에 의해 구분될 수 있다.
HTTP 서버(D1121)는 수신된 HTTP POST message에 포함된 XML 메시지를 XML 파서를 이용하여 파싱할 수 있다. HTTP 서버(D1121)는 XML 메시지에 포함된 적어도 하나의 액션을 NAME 을 이용하여 구분하고, 각 액션의 arguments에 따라 액션을 수행할 수 있다.
도 208은 본 발명의 일 실시예에 따른 REST(REpresentational State Transfer) 액션 메커니즘을 나타낸 도면이다. 다른 실시예로써, 본 발명에서 제안하는 기기간 communication은, HTTP method 중 POST 뿐만 아니라, GET, HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH 등의 여러 methods를 활용하고, communication 대상 기기에 접근할 복수의 URI를 정의하면, action name의 정의없이도 적용될 수 있다. 전달이 필요한 data는 해당 URI에 append하여 전달될 수 있고 혹은 HTTP body에 다양한 형태로 포함되어 전달될 수 있다. 단 이러한 REST방식에 필요한 복수의 URI값은 discovery 혹은 description 과정에서 획득될 수 있다.
HTTP 클라이언트(D1130)는 REST 클라인트로써, HTTP 서버(D1131)를 컨트롤 할 수 있다. 이때, HTTP 서버는 REST 서버로써 동작할 수 있다. HTTP 클라이언트(D1130)는 다양한 액션을 전달하기 위해 Arguments를 이용하여 각 액션을 정의할 수 있다. 여기서 상술한 액션 Name은 요구되지 않는다. 각 액션의 Arguments는 데이터에 해당할 수 있다. 도시된 바와 같이 액션 1로부터 액션 N은 각각 arguments를 포함할 수 있다. 각 액션은 HTTP GET, HTTP PUT, HTTP POST, HTTP DELETE의 method를 통해 HTTP 서버(D1131)로 전달될 수 있다. 각 액션의 arguments는 HTTP acceptalbeheader 또는 HTTP body에 추가될 수 있다. 여기서 HTTP body는 XML, JSON, HTML, TEXT 또는 IMAGE의 형태로 작성될 수 있다. 각 HTTP method는 URI로 전송되며, 복수의 액션들에 대해서 복수의 URI가 정의될 수 있다. 이렇게 정의된 복수의 URI는 하나의 HTTP 서버(D1131)에 접근하는데 이용될 수 있다.
HTTP 서버(D1131)는 복수의 URI를 이용하여 각 액션들을 수신할 수 있으며 수신된 액션들을 수행할 수 있다. 이를 통해 각 액션은 NAME 식별자를 포함하지 않아도 HTTP 클라이언트(D1130)로부터 HTTP 서버(D1131)로 전달될 수 있다.
도 209는 본 발명의 일 실시예에 따른 이벤팅 방식을 이용한 방송 수신 장치와 연동 장치의 서비스 시그널링 메시지를 나타낸다.
이벤팅 방식(eventing method)는 UPnP 방식을 기반으로 할 수 있다. 이벤팅 방식에서 정의되는 Service Type 및 Service ID는 도 209의 (a)와 같을 수 있다. 즉, 서비스 시그널링에 대해 서비스 타입은 atsc3.0servicesignaling:1 이고, 서비스 아이디는 urn:atsc.org:serviceId:atsc3.0servicesignaling로 정의될 수 있다. 서비스 타입 및 서비스 아이디는 전송 방식에 따라 다른 값을 가질 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성을 방송 서비스의 속성을 나타내는 하나의 변수를 이용해 전송할 수 있다. 방송 서비스의 속성을 나타내는 하나의 변수는 현재 방송 서비스의 속성을 포함할 수 있다. 구체적으로 도 209의 (b)에 도시된 실시예에서와 같이 ServiceProperty라는 변수를 통해 전송할 수 있다. 구체적인 실시예에서 ServiceProperty는 필수 변수(Required)이고, 스트링 데이터 타입을 가질 수 있다. 예를 들어, ServiceProperty는 XML, JSON, HMTML 또는 TEXT 형식으로 작성될 수 있다. 즉, 상술한 Service Signaling Service 의 XML Schema로 정의된 ServiceInfo에 해당할 수 있다. 또한 구체적인 실시예에서 ServiceProperty는 관련된 액션을 가지지 않을 수 있다.
또한 Service Signaling Service는 도 209의 (c) 및 (d)에 도시된 바와 같이 action과 argument를 가질 수 있다. GetServiceProperty action은 방송 수신 장치(100)에서 현재 Service 중이고, 중간에 연동 장치(200)가 방송 수신 장치(100)와 연결되었을 경우 연동 장치(200)가 현재 service 중인 service property 정보를 획득하기 위해 사용할 수 있는 action이다. GetServiceProperty argument는 도 209의 (d)와 같은 형태를 가질 수 있다. 방송 수신 장치(100)는 연동 장치(200)로부터의 GetServiceProperty action에 대해서 현재 service 중인 service의 정보를 ServiceProperty argument에 담아서 return값으로 반환할 수 있다.
ServiceProperty에 대한 구독(subscription) 요청을 하는 경우, 방송 수신 장치(100)는 ServiceProperty를 연동 장치에게 전송할 수 있다.
도 210은 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 방송 서비스 속성을 시그널링하는 동작을 보여주는 래더다이그램이다.
방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(S2001). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 UPnP 프로토콜을 이용하여 페어링 세션을 생성할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)가 UPnP의 디스커버리 프로토콜을 이용하여 연동 장치(200)를 찾을 수 있다. 예컨대, 방송 수신 장치(100)가 웰 노운(well know) 아이피 주소를 통해 연동을 위한 연동 장치를 찾는다는 디스커버리 메시지를 멀티캐스트할 수 있다. 이때, 멀티캐스트된 메시지를 수신한 연동 장치(200)는 방송 수신 장치(100)에게 디스크립션을 요청할 수 있다. 방송 수신 장치(100)는 연동 장치(200)의 디스크립션 요청에 기초하여 연동 장치(200)에게 디스크립션을 제공할 수 있다. 연동 장치(200)는 디스크립션에 기초하여 방송 수신 장치(200)에 접속할 수 있다. 또 다른 구체적인 실시예에서 연동 장치(100)가 UPnP의 디스커버리 프로토콜을 이용하여 방송 수신 장치(100)를 찾을 수 있다. 예컨대, 연동 장치(200)는 웰 노운(well know) 아이피 주소를 통해 연동을 위한 방송 수신 장치(100)를 찾는다는 메시지를 멀티캐스트할 수 있다. 이때, 방송 수신 장치는 멀티캐스된 메시지에 기초하여 디스커버리 메시지로 응답할 수 있다. 이에 따라 디스커버리 메시지를 수신한 연동 장치(200)는 방송 수신 장치(100)에게 디스크립션을 요청할 수 있다. 방송 수신 장치(100)는 연동 장치(200)의 디스크립션 요청에 기초하여 연동 장치(200)에게 디스크립션을 제공할 수 있다. 연동 장치(200)는 디스크립션에 기초하여 방송 수신 장치(200)에 접속할 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 방송 서비스의 속성 알림을 요청한다(S2003). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 방송 서비스의 속성 알림을 요청할 수 있다. 구체적으로 연동 장치(200)는 UPnP 프로토콜을 이용하여 방송 수신 장치(100)에게 방송 서비스의 속성 알림을 요청할 수 있다. 구체적인 실시예에서 연동 장치(200)는 이벤팅 프로토콜에 기초하여 방송 수신 장치(100)에게 방송 서비스의 속성에 대한 이벤트의 구독(subscription) 요청을 할 수 있다.
방송 수신 장치(100)는 방송 서비스에 기초하여 방송 서비스 속성을 시그널링하는 정보를 수신한다(S2005). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 방송 서비스 속성을 시그널링하는 정보를 수신할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성을 시그널링하는 정보에 기초하여 방송 서비스 속성을 알린다(notify)(S2007). UPnP 기반 architecture 일 경우 이벤팅 프로토콜에 따라 방송 서비스 속성을 알릴 수 있다. 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 방송 서비스의 속성을 시그널링하는 정보에 기초하여 방송 서비스 속성을 알린다. 구체적으로 방송 수신 장치(100)는 방송 서비스의 속성이 이전과 변경되었는지 판단할 수 있다. 방송 서비스의 속성이 이전과 변경된 경우, 방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성을 알릴 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성의 상태를 나타내는 변수를 통하여 방송 서비스의 속성을 알릴 수 있다. 구체적인 실시예에서 방송 서비스의 속성의 상태를 나타내는 변수는 도 209의 ServiceProperty일 수 있다. 방송 서비스의 속성의 상태를 나타내는 변수의 데이터 형식에 대해서는 도 211를 통하여 구체적으로 설명하도록 한다.
도 211는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 데이터 형식을 보여준다.
방송 서비스 속성의 데이터는 도 211과 같이 XML 형식일 수 있다. 다만, 방송 서비스 속성의 데이터의 형식은 이에 제한되지 않는다. 즉 도 211의 (a)와 같이 방송 서비스 속성은 propertyset 내에서 각 property에 대해 정의될 수 있다. 또한 도 211의 (b)에 도시된 바와 같이 방송 서비스 속성은 ServiceProperty 내에서 ServiceID, ServiceName, Content ID, CotentName 등의 속성으로 정의될 수 있다. 또한 도 211의 (c)에 도시된 바와 같이 방송 서비스 속성은 ServiceProperty (ServiceInfo) 엘리먼트 및 그 안에 포함된 ComponentItem 엘리먼트가 각 속성을 포함하는 형식으로 작성될 수 있다.
도 211의 실시예에서 방송 서비스 속성의 데이터 형식은 도 205에서 설명한 방송 서비스의 속성을 모두 포함할 수 있다. 따라서 방송 서비스의 속성 중 일부만 변경된 경우에도 방송 수신 장치(100)는 방송 서비스의 속성 전체를 전송하여야하고, 연동 장치(200)는 방송 서비스의 속성 전체를 수신하여야한다. 이러한 경우, 방송 수신 장치(100)와 연동 장치(200)사이에서 교환되는 데이터양이 커지게된다. 또한, 연동 장치(200)는 어떠한 방송 서비스의 속성이 변경되었는지 다시 확인해야한다. 따라서 방송 수신 장치(100)가 연동 장치(200)에게 방송 서비스 속성을 효율적으로 시그널링할 수 있는 방법이 필요하다. 이에 대해서는 도 212 내지 도 214을 통하여 설명하도록 한다.
도 212은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 상태를 나타내는 변수, 방송 서비스 속성을 위한 액션 및 액션의 인수(argument)를 보여준다.
방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스의 서비스 타입(Service Type) 및 서비스 식별자(Service ID) 정보는 전술한 실시예에 동일할 수 있다. 즉, 서비스 시그널링에 대해 서비스 타입은 atsc3.0servicesignaling:1 이고, 서비스 아이디는 urn:atsc.org:serviceId:atsc3.0servicesignaling로 정의될 수 있다. 서비스 타입 및 서비스 아이디는 전송 방식에 따라 다른 값을 가질 수 있다.
본 발명의 또 다른 실시예에서 방송 서비스의 속성을 나타내는 변수는 방송 서비스의 속성을 포함하는 변수, 방송 서비스의 속성의 이름을 나타내는 변수 및 방송 서비스 속성의 변경 여부를 나타내는 변수 중 적어도는 어느 하나를 포함할 수 있다. 구체적으로 연동 장치(200)가 방송 서비스의 특정 속성을 요청하는 경우, 방송 수신 장치(100)는 연동 장치(200)의 요청에 기초하여 방송 서비스의 속성을 전송할 수 있다. 구체적으로 방송 수신 장치(100)는 연동 장치(200)가 요청한 방송 서비스의 특정 속성을 전송할 수 있다. 예컨대, 방송 수신 장치(100)가 방송 서비스 속성의 변경 여부를 나타내는 변수를 통하여 연동 장치(200)에게 방송 서비스의 속성 변경 여부를 알릴수 있다. 이때, 연동 장치(200)는 필요한 방송 서비스의 속성을 방송 서비스의 속성의 이름을 나타내는 변수를 통해 방송 서비스의 속성을 요청할 수 있다. 방송 수신 장치(100)는 연동 장치에게 방송 서비스의 속성을 나타내는 변수를 통하여 방송 서비스의 속성을 알릴 수 있다.
구체적인 실시예에서 방송 서비스의 속성을 나타내는 변수는 ServiceProperty, ServicePropertyName 및 ServicePropertyChangeFlag 중 어느 하나를 포함할 수 있다. ServiceProperty는 방송 서비스의 속성을 포함한다. 구체적인 실시예에서 ServiceProperty는 필수 변수이고, 스트링 데이터 타입을 가질 수 있다. 특히, ServiceProperty는 XML 형식으로 작성될 수 있다.
ServicePropertyName은 방송 서비스의 속성의 이름을 나타낸다. 즉, ServiceProperty 내의 각 필드인 XML 엘리먼트의 이름을 나타낼 수 있다. ServicePropertyName은 필수 변수이고, 스트링 데이터 타입을 가질 수 있다. 특히, ServicePropertyName은 CSV 형식으로 작성될 수 있다. 변수 ServicePropertyChangeFlag는 방송 서비스 속성의 변경 여부를 나타낸다. 구체적인 실시예에서 ServicePropertyChangeFlag는 필수 변수이고, 불리언 데이터 타입 또는 인티져(integer) 타입을 가질 수 있다. ServicePropertyChangeFlag는 Service Property 에 변경사항이 있는지를 알려주는 variable이다. ServicePropertyChangeFlag가 불리언 데이터 타입일 때, true 일 경우 변경사항이 있는 것이고 , false 일 경우 변경사항이 없음을 나타낼 수 있다. 혹은 ServicePropertyChangeFlag가 integer type일 때, Service Property 에 변경이 발생할때마다 1씩 증가시키고, 그때마다 eventing 되도록 할 수 있다. 또한 연동 장치(200)가 ServicePropertyChangeFlag에 대한 구독(subscription) 요청을 하는 경우, 방송 수신 장치(100)는 ServicePropertyChangeFlag를 연동 장치에게 전송할 수 있다.
연동 장치(200)는 방송 서비스의 속성의 이름을 나타내는 변수를 통해 방송 서비스의 속성을 요청하기 위해 GetServiceProperty라는 액션을 사용할 수 있다. GetServiceProperty는 필수 액션이다. 이때, GetServiceProperty는 입력을 위한 인자(argument)로 ServiceProgpertyName을 가질 수 있다. 또한 GetServiceProperty는 출력을 위한 인자(argument)로 ServiceProperty를 가질 수 있다. 구체적인 실시예에서 연동 장치(200)가 방송 수신 장치(100)에게 획득하고자 하는 방송 서비스의 속성을 SevicePropertyName으로 설정하고 GetServiceProperty 액션을 전송하는 경우, 연동 장치(200)는 ServicePropertyName에 해당하는 방송 서비스의 속성을 ServiceProperty로 수신할 수 있다. 즉, ServicePropertyName은 input argument로써 연동 장치(200)가 원하는 property name에 대한 service property 값을 얻고자 할 때 사용할 수 있다. ServiceProperty는 연동 장치(200)가 원하는 property name에 대하여 방송 수신 장치(100)가 service 정보 즉, service property를 반환할 때 사용할 수 있다.
도 213은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 방송 서비스 속성을 시그널링하는 동작을 보여주는 래더다이그램이다.
방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(S2021). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적인 방송 수신 장치(100)와 연동 장치(200)의 동작은 전술한 실시예와 같을 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 방송 서비스의 속성 변경 알림을 요청한다(S2023). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 방송 서비스의 속성 변경 알림을 요청할 수 있다. 구체적인 연동 장치(200)의 동작은 전술한 실시예와 같을 수 있다. 즉, 연동 장치(200)는 방송 수신 장치(100)에게 service signaling service 를 subscribing 할 수 있다.
방송 수신 장치(100)는 방송 서비스에 기초하여 방송 서비스 속성을 시그널링하는 정보를 수신한다(S2025). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 방송 서비스 속성을 시그널링하는 정보를 수신할 수 있다. 방송 전송 장치(300)는 Service property 에 변경사항이 발생할 경우 방송 수신 장치(100)에 이를 통지할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성을 시그널링하는 정보에 기초하여 방송 서비스 속성 변경 여부를 알린다(notify)(S2027). UPnP 기반 architecture 일 경우 방송 수신 장치(100)는 'eventing' protocol 에 따라 notify 할 수 있다. 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 방송 서비스의 속성을 시그널링하는 정보에 기초하여 방송 서비스 속성 변경 여부를 알릴 수 있다. 구체적으로 방송 수신 장치(100)는 방송 서비스의 속성이 이전과 변경되었는지 판단할 수 있다. 방송 서비스의 속성이 이전과 변경된 경우, 방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성 변경을 알릴 수 있다. 구체적으로 방송 수신 장치(100)는 방송 서비스의 속성을 시그널링하는 정보의 버전이 이전과 변경되었는지에 기초하여 방송 서비스의 속성 변경 여부를 판단할 수 있다. 또한, 구체적인 실시예에서 방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성의 변경 여부를 나타내는 변수를 통하여 방송 서비스의 속성 변경 여부를 알릴 수 있다. 구체적인 실시예에서 방송 서비스의 속성 변경 여부를 나타내는 변수는 ServicePropertyChangedFlag일 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 방송 서비스의 특정 속성을 요청한다(S2029). 연동 장치(200)는 변경된 property field가 관심있는 field 일 경우 "GetServiceProperty" 을 이용하여 변경된 service property field를 요청할 수 있다. 이 때, ServiceProPertyName argument 에 변경된 Service property field 의 명칭을 넣어 방송 수신 장치(100)에 요청할 수 있다. 예를 들어, 연동 장치(200)가 획득하고자 하는 field가 genre, language 인 경우 GetServiceProperty("genre, language")와 같이 요청할 수 있다.
방송 서비스의 특정 속성은 방송 서비스의 속성을 시그널링하는 정보에 포함된 방송 서비스의 속성 중 어느 하나 또는 복수의 속성일 수 있다. 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 방송 서비스의 특정 속성을 요청할 수 있다. 구체적으로 방송 수신 장치(100)가 방송 서비스의 속성 변경 알림을 전송한 경우, 연동 장치(200)는 방송 수신 장치(100)에게 방송 서비스의 특정 속성을 요청할 수 있다. 이때, 방송 서비스의 특정 속성은 연동 장치(200)가 방송 서비스와 관련된 부가 서비스를 제공하기 위해 필요한 방송 서비스의 속성일 수 있다. 또한, 연동 장치(100)는 변경된 방송 서비스의 속성의 종류에 기초하여 방송 서비스의 특정 속성을 요청할 수 있다. 구체적으로 연동 장치(200)는 방송 서비스의 특정 속성이 변경된 경우 방송 서비스의 특정 속성을 요청할 수 있다. 방송 서비스의 특정 속성은 연동 장치(200)가 방송 서비스와 관련한 부가 서비스를 제공하기 위해 필요한 속성일 수 있다. 예컨대, 연동 장치(200)가 방송 서비스의 타겟팅 속성에 기초하여 방송 서비스의 재생 여부를 결정하는 경우, 연동 장치(200) 방송 서비스의 타겟팅 속성이 변경된 경우에 방송 서비스의 타겟팅 속성을 요청할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 특정 속성을 알린다(S2031). 즉, 연동 장치(200)는 방송 수신 장치(100)로부터, "GetServiceProperty" action 에 대한 응답으로 변경된 field 정보를 전달받을 수 있다. ServiceProperty argument 가 "GetServiceProperty" action 에 대한 output 으로서 연동 장치(200)에 전달될 수 있다. 여기서 연동 장치(200)는 자신이 요청한 특정 속성에 대한 필드에 대한 정보를 수신할 수 있다. 즉, 연동 장치(200)는 변경된 Genre는 Sports이고, language는 KOR임을 나타내는 정보를 수신할 수 있다.
구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 방송 서비스의 특정 속성을 알릴 수 있다. 구체적으로 방송 수신 장치(100)는 연동 장치(200)의 요청에 기초하여 방송 서비스의 특정 속성을 알릴 수 있다. 예컨대 방송 수신 장치(100)는 연동 장치(200)에게 연동 장치(200)가 요청한 방송 서비스의 특정 속성을 전송할 수 있다.
다만, 이러한 실시예은 방송 수신 장치(100)와 연동 장치(200)간의 지속적인 통신을 필요로할 수 있다. 특히, 방송 수신 장치(100)가 복수의 연동 장치(200)와 연동하는 경우 지속적인 통신은 방송 수신 장치(100)의 동작의 과부하를 유발할 수 있다. 연동 장치(100)가 방송 서비스의 속성을 컨텐츠/시그널링 서버(400)로부터 수신하도록 하는 경우 이러한 문제를 해결할 수 있다.
도 214는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성 변경 여부의 데이터 형식을 보여준다.
도 214의 (a) 내지 (c)는 방송 서비스 속성 변경 여부의 데이터의 형식을 나타낼 수 있다. 방송 서비스 속성 변경 여부는 ServicePropertyChangeFlag를 이용하여 시그널링할 수 있다. 방송 서비스 속성 변경 여부의 데이터의 형식은 XML 형식일 수 있다. 다만, 방송 서비스 속성 변경 여부의 데이터 형식은 이에 제한되지 않는다. ServicePropertyChangeFlag는 도 214의 (a)와 같이 propertyset에 포함된 속정 정보 중 하나로써 ServicePropertyChangeFlag를 이용하거나 도 214의 (b)와 같이 별도의 ServicePropertyChangeFlag를 전송하거나 또는 도 214의 (c)와 true 또는 false를 나타내는 다른 형식의 데이터로써 전송될 수 있다.
구체적인 실시예에서 방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성 변경 여부만을 알릴 수 있다. 도 214의 실시예에서와 같이 방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성 변경 여부를 트루(TRUE) 값 또는 폴스(FALSE) 값을 갖는 불리안 변수로 표시할 수 있다. 예컨대, 방송 서비스의 속성이 변경된 경우, 방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성 변경 여부를 나타내는 변수가 트루 값을 갖는 데이터를 전송할 수 있다. 이를 통해 전술한 실시예에서 매번 Service Property의 전체 데이터를 전달하던 것에 비해, Service Property가 변경된 경우에만 연동 장치(200)의 요청에 따라 데이터를 전송하므로 효율적인 데이터 전송이 가능하다.
도 214의 (d)는 전술한 바와 같이 연동 장치(200)에 전달되는 ServiceProperty argument의 한 실시예를 나타낼 수 있다. 전술한 바와 같이 연동 장치(200)가 genre 및 language에 대한 필드를 요청한 경우, 연동 장치(200)는 도시된 바와 같이 XML 형식으로 genre 및 language에 대한 필드의 변경된 정보를 수신할 수 있다. 즉, 연동 장치(200)는 변경된 Genre는 Sports이고, language는 KOR임을 나타내는 ServiceProperty argument를 수신할 수 있다.
다만, 이러한 실시예에서 연동 장치(200)는 방송 서비스의 어떤 속성이 변경 되었는지를 알 수 없고, 방송 서비스의 속성 중 하나라도 변경 되었는지만을 알 수 있다. 따라서 연동 장치(200)는 자신이 필요로하지 않는 방송 서비스의 속성이 변경된 경우에도 방송 서비스의 속성을 요청하게된다. 따라서 이러한 실시예는 방송 수신 장치(100)와 연동 장치(200)의 불필요한 동작과 불필요한 데이터 교환을 유발할 수 있다. 이를 해결하기 위해서 방송 수신 장치(100)는 변경된 방송 서비스의 속성 연동 장치(200)에게 알려줄 필요가 있다.
도 215은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 상태를 나타내는 변수들을 보여준다.
방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스의 서비스 타입(Service Type) 및 서비스 식별자(Service ID) 정보는 전술한 실시예에 동일할 수 있다. 즉, 서비스 시그널링에 대해 서비스 타입은 atsc3.0servicesignaling:1 이고, 서비스 아이디는 urn:atsc.org:serviceId:atsc3.0servicesignaling로 정의될 수 있다. 서비스 타입 및 서비스 아이디는 전송 방식에 따라 다른 값을 가질 수 있다.
도 215의 (a)에 도시된 바와 같이 방송 서비스 속성의 상태를 나타내는 변수는 서비스 속성 정보, 서비스 속성 네임 정보, 서비스 속성 변경 정보 및 서비스 속성 위치 정보를 포함할 수 있다.
서비스 속성 정보 및 서비스 속성 네임 정보는 전술한 바와 동일한 내용으로 포함될 수 있다.
서비스 속성 변경 정보는 전술한 실시예와 달리 바이너리 헥사 타입을 포함할 수 있으며 어떠한 정보가 변경되었는지 여부를 나타낼 수 있다. 이는 아래에서 자세히 설명하기로 한다.
연동 장치(200)는 Broadband 망을 통해서 service property 정보를 내려받을 수 있으며, 이를 지원하기 위해 방송 서비스 속성의 상태를 나타내는 변수는 브로드밴드에서의 위치 정보를 포함할 수 있다. 즉, 방송 서비스 속성의 상태를 나타내는 변수는 optional로써 ServicePropertyURL state variable을 더 포함할 수 있다. 여기서, 브로드밴드에서의 위치 정보는 XML 형식의 string 또는 URI 형식을 가질 수 있다. ServicePropertyURL은 도 215의 (b)와 같은 데이터 포맷을 가질 수 있으며, 는 서비스 속성 정보의 content server 상의 위치를 나타낼 수 있다.
방송 서비스의 속성이 변경된 경우, 방송 수신 장치(100)는 연동 장치(200)에게 변경된 속성과 방송 서비스 속성의 변경 여부를 같이 알릴 수 있다. 이를 위해 방송 서비스의 속성 변경 여부를 나타내는 변수가 변경된 서비스의 속성을 나타내는 정보를 포함할 수 있다. 이를 위해 방송 서비스의 속성 변경 여부를 나타내는 변수는 바이너리 헥사 타입으로 표현되는 스트링 타입을 가질 수 있다. ServicePropertyChangedFlag에 대한 구독(subscription) 요청을 하는 경우, 방송 수신 장치(100)는 ServicePropertyChangedFlag를 연동 장치에게 전송할 수 있다.
도 216는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성 변경 여부의 데이터 형식을 보여준다.
방송 서비스 속성 변경 여부의 데이터는 ServicePropertyChangeFlag 를 의미할 수 있다. 방송 서비스 속성 변경 여부의 데이터는 XML 형식일 수 있다. 다만, 방송 서비스 속성 변경 여부의 데이터 형식은 이에 제한되지 않는다. 방송 수신 장치(100)는 방송 서비스의 속성 각각에 대하여 특정 비트를 할당하고, 방송 서비스의 속성이 변경된 경우 해당 비트를 1로, 변경되지 않은 경우 해당 비트를 0으로 표시할 수 있다. 즉, 바이너리 코드의 각 digit이 Service Property에 포함된 각 속성에 대응될 수 있다.일 실시예에서 ServicePropertyChangeFlag는 propertyset 내에서 정의될 수 있다. ServicePropertyChangeFlag의 값인 십육진수 90080004는 이진수 1001 0000 0000 1000 0000 0000 0100이다. 이때, 처음 4자리 비트가 각각 방송 서비스의 주 언어, 장르, 권장 등급 및 타게팅 속성을 각각 나타낸다고 할 수 있다. 이 경우, 연동 장치(200)는 방송 서비스의 주 언어 및 타겟팅 속성이 변경된 것을 알 수 있다. 이진수로 표현된 ServicePropertyChangeFlag 값은 제1 서비스 속성이 MSB에 매칭되고 제2 서비스 속성이 차순위 비트에 매칭되는 형식을 가질 수 있다. 상기 실시예에서 1001에 매칭되는 언어, 장르, 권장 등급 및 타게팅 속성 중 1로 표시된 언어 및 타게팅 속성에 변경 사항이 있음을 알 수 있다.
또한 다른 실시예에서 ServicePropertyChangeFlag은 독립된 엘리먼트로 존재할 수 있으며 ServicePropertyChangeFlag의 값은 ServiceProperty 엘리먼트 내의 language, genre, AdvisoryRating, targeting 등의 속성에 매칭될 수 있다. ServicePropertyChangeFlag의 값인 십육진수 90080004는 이진수 1001 0000 0000 1000 0000 0000 0100이다. 이진수의 최초 4비트는 각각 language, genre, AdvisoryRating, targeting 등의 속성에 매칭될 수 있으며 1의 값을 갖는 language 및 targeting의 속성이 변경되었음을 나타낼 수 있다. 도 217은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 상태를 나타내는 변수들을 보여준다.
도 217의 (a)에 도시된 바와 같이 방송 서비스 속성의 상태를 나타내는 변수는 서비스 속성 정보, 서비스 속성 네임 정보, 서비스 속성 변경 정보 및 서비스 속성 위치 정보를 포함할 수 있다.
서비스 속성 정보 및 서비스 속성 네임 정보는 전술한 바와 동일한 내용으로 포함될 수 있다.
서비스 속성 변경 정보는 전술한 실시예와 달리 String (XML), List of Strings (XML) 또는 CSV of strings 타입을 포함할 수 있으며 서비스 속성 정보(ServiceProperty) 중 어떠한 정보가 변경되었는지 여부를 나타낼 수 있다. 이는 아래에서 자세히 설명하기로 한다.
도 217의 (b)에 도시된 바와 같이, 서비스 속성 변경 정보가 String (XML) 타입인 경우 서비스 속성 변경 정보(ServicePropertyChangeFlag) 내에 변경 필드(changedfield)를 이용하여 변경된 서비스 속성 정보(ServiceProperty)를 나타낼 수 있다. 서비스 속성(ServiceProperty) 중 장르와 타게팅 정보가 변경된 경우, 서비스 속성 변경 정보(ServicePropertyChangeFlag) 내의 변경 필드(changedfield)는 장르 및 타게팅 속성을 각각 포함할 수 있다.
도 217의 (c)에 도시된 바와 같이, 서비스 속성 변경 정보가 List of Strings (XML) 타입인 경우 서비스 속성 변경 정보(ServicePropertyChangeFlag)는 변경된 서비스 속성 정보를 포함할 수 있다. 서비스 속성 중 장르와 타게팅 정보가 변경된 경우, 서비스 속성 변경 정보는 장르 및 타게팅 속성을 포함할 수 있다.
도 217의 (d)에 도시된 바와 같이, 서비스 속성 변경 정보 (ServicePropertyChangeFlag )가 CSV (comma separated value) of strings 타입인 경우 서비스 속성 정보(ServiceProperty) 중 변경된 속성은 콤마로 구분되어 텍스트 파일 형식으로 표현될 수 있다. 즉 서비스 속성(ServiceProperty) 중 장르와 타게팅 정보가 변경된 경우, ServicePropertyChangeFlag 는 "genre, targeting"으로 표현될 수 있다.
속성 위치 정보는 XML 형식의 string 또는 URI 형식을 가질 수 있다. 속성 위치 정보는 ServicePropertyURL로 표현될 수 있으며 서비스 속성 정보의 content server 상의 위치를 나타낼 수 있다. 실시예에 따라 속성 위치 정보는 옵셔널한 정보일 수 있다.
도 217의 (e)는 서비스 속성 데이터의 포맷을 나타낸 도면이다. 도시된 바와 같이, 서비스 속성(ServiceProperty) 데이터는 language, genre, AdvisoryRating, targeting를 포함할 수 있다. 서비스 속성 중 genre 값이 MBC Music으로 변경되고, targeting 값이 Pop Chart로 변경된 경우, 방송 수신 장치(100)는 도 217의 (b) 내지 (d)와 같이 genre 및 targeting을 포함하는 ServicePropertyChangeFlag를 연동장치(200)에게 전달하여 서비스 속성 중 genre 및 targeting이 변경되었음을 인디케이트 할 수 있다.
도 218은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 방송 서비스 속성을 시그널링하는 동작을 보여주는 래더다이그램이다.
방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(S2041). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적인 방송 수신 장치(100)와 연동 장치(200)의 동작은 도 213의 실시예와 같을 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 방송 서비스의 속성 변경 알림을 요청한다(S2043). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 방송 서비스의 속성 알림을 요청할 수 있다. 구체적인 연동 장치(200)의 동작은 도 213의 실시예와 같을 수 있다.
방송 수신 장치(100)는 방송 서비스에 기초하여 방송 서비스 속성을 시그널링하는 정보를 수신한다(S2045). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 방송 서비스 속성을 시그널링하는 정보를 수신할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성을 시그널링하는 정보에 기초하여 방송 서비스 속성 변경 여부 및 방송 서비스의 속성을 획득할 수 있는 URL을 알린다(notify)(S2047). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 방송 서비스의 속성을 시그널링하는 정보에 기초하여 방송 서비스 속성 변경 여부 및 방송 서비스의 속성을 획득할 수 있는 URL을 알릴 수 있다. 여기서 URL은 content server 상에 있는 service property 정보를 얻을 수 있는 위치 정보를 의미할 수 있다. 구체적으로는 전술한 속성 위치 정보인 ServicePropertyURL을 이용할 수 있다. UPnP 기반 architecture 일 경우 방송 수신 장치(100)는 'eventing' protocol 에 따라 ServicePropertyURL을 notify 할 수 있다.
구체적으로 방송 수신 장치(100)는 방송 서비스의 속성이 이전과 변경되었는지 판단할 수 있다. 구체적으로 방송 수신 장치(100)는 방송 서비스의 속성을 시그널링하는 정보의 버전이 이전과 변경되었는지에 기초하여 방송 서비스의 속성 변경 여부를 판단할 수 있다. 또한, 방송 서비스의 속성이 이전과 변경된 경우, 방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성 변경 및 방송 서비스의 속성을 획득할 수 있는 URL을 알릴 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성의 변경 여부를 나타내는 변수를 통하여 방송 서비스의 속성 변경 여부를 알릴 수 있다. 구체적인 실시예에서 방송 서비스의 속성 변경 여부를 나타내는 변수는 도 215의 ServicePropertyChangeFlag일 수 있다. 또한 방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성을 획득할 수 있는 URL을 나타내는 변수를 통하여 방송 서비스의 속성 변경 여부를 알릴 수 있다. 구체적인 실시예에서 방송 서비스의 속성을 획득할 수 있는 URL을 나타내는 변수는 전술한 ServicePropertyURL일 수 있다.
연동 장치(200)는 방송 서비스의 속성을 획득할 수 있는 URL에 기초하여 방송 서비스의 속성을 획득한다(S2049). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 서비스의 속성을 획득할 수 있는 URL에 기초하여 방송 서비스의 속성을 획득할 수 있다. 구체적으로 연동 장치(200)는 방송 서비스의 속성을 획득할 수 있는 URL에 기초하여 컨텐츠/시그널링 서버(400)로부터 방송 서비스의 속성을 획득할 수 있다. 구체적으로 연동 장치(200)는 방송 서비스의 속성을 획득할 수 있는 URL에 기초하여 방송 서비스의 속성을 컨텐츠/시그널링 서버에 요청하고, 컨텐츠/시그널링 서버(400)로부터 방송 서비스의 속성을 획득할 수 있다. 이를 통해 방송 수신 장치(100)와 연동 장치(200)의 간의 통신으로 발생할 수 있는 방송 통신 장치(100)의 부하를 줄일 수 있다. 다만, 이러한 실시예에서 방송 수신 장치(100)는 연동 장치(200)가 필요로 하지 않는 방송 서비스의 속성이 변경될 경우에도 방송 서비스 속성의 변경을 알려야한다. 따라서 방송 수신 장치(100)는 필요없는 동작을 수행해야하는 문제가 있다. 연동 장치(200)가 방송 수신 장치(100)에게 알림 변경을 요청할 때 미리 필요한 방송 서비스의 속성을 설정하는 경우 방송 수신 장치(100)의 불필요한 동작을 줄일 수 있다. 이에 대해서는 도 217 내지 도 218을 통해 설명하도록 한다.
도 219는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 상태를 나타내는 변수들을 보여준다. 본 실시예에서 방송 수신 장치(100)는 갱신된 Property name들만을 연동 장치(200)로 알려줄 수 있다.
방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스의 서비스 타입(Service Type) 및 서비스 식별자(Service ID) 정보는 전술한 실시예에 동일할 수 있다. 즉, 서비스 시그널링에 대해 서비스 타입은 atsc3.0servicesignaling:1 이고, 서비스 아이디는 urn:atsc.org:serviceId:atsc3.0servicesignaling로 정의될 수 있다. 서비스 타입 및 서비스 아이디는 전송 방식에 따라 다른 값을 가질 수 있다.
도 219의 (a)는 방송 서비스 속성의 상태를 나타내는 변수를 나타낸다. 방송 서비스 속성의 상태를 나타내는 변수는 서비스 속성 변수, 서비스 속성 이름 변수, 갱신된 서비스 속성 변수, 갱신된 속성 이름 변수를 포함할 수 있다.
서비스 속성 변수는 ServiceProperty로 표현될 수 있다. 서비스 속성 변수는 전술한 내용과 같으며, 본 실시예에서는 Eventing 방식으로 사용되지 않을 수 있다.
서비스 속성 이름 변수는 A_ARG_TYPE_ServicePropertyName로 표현될 수 있다. 서비스 속성 이름 변수는 GetServicePropertyValue action의 input argument인 ServicePropertyName과 연관된 상태 변수이다.
갱신된 서비스 속성 변수는 A_ARG_TYPE_UpdatedServicePropertyValue로 표현될 수 있다. 갱신된 서비스 속성 변수는 GetServicePropertyValue action의 output argument인 UpdatedServiceProperty관 연관된 상태 변수이다.
갱신된 속성 이름 변수는 UpdatedPropertyNames로 표현될 수 있다. 갱신된 속성 이름 변수는 service property들의 name들을 나타낼 수 있다. Eventing 방식으로 방송 수신 장치로부터 CD로 전달될 수 있으며, Data format은 도 219의 (b) 또는 (c)와 같을 수 있다.
즉, 도 219의 (b)에 도시된 바와 같이 갱신된 속성 이름 변수는 속성 리스트 내에 변경된 속성의 이름을 포함할 수 있다. 예를 들어, 갱신된 속성 이름 변수는 ContentId, ContentName 및 MajorChanNum 등의 속성 이름을 포함할 수 있다.
또한 다른 실시예에서는 도 219의 (c)에 도시된 바와 같이 갱신된 속성 이름 변수는 각 속성 이름들이 갱신된 방법에 대한 정보를 함께 포함할 수도 있다. 예를 들어 추가된 속성에 대해서는 added 구문 내에 추가된 속성의 이름을 포함시키고, 수정된 속성에 대해서는 modified 구문 내에 수정된 속성의 이름을 포함시키고, 삭제된 속성에 대해서는 deleted 구문 내에 삭제된 속성의 이름을 포함시킬 수 있다.
도 220는 본 발명의 일 실시예에 따른 방송 서비스 속성을 획득하기 위한 액션을 나타낸 도면이다.
도 220의 (a)에 도시된 GetServiceProperty는 required action으로, 연동 장치(200)가 방송 수신 장치(100)에서 서비스 중인 service property 정보를 획득하기 위해 사용될 수 있다. 방송 수신 장치(100)에서 현재 Service 중이고, 중간에 연동 장치(200)가 방송 수신 장치(100)와 연결되었을 경우 연동 장치(200)가 현재 service 중인 service property 정보를 최초로 획득하기 위해 사용할 수 있는 action이다.
GetServicePropertyValue는 required action 으로, 연동 장치(200)가 특정 Service Property name에 대한 value를 얻기 위한 액션이다.
도 220의 (b)는 GetServiceProperty action에 대한 출력 argument를 나타낸다. 연동 장치(200)로부터의 GetServiceProperty action에 대해서 방송 수신 장치(100)은 현재 service 중인 service의 정보를 ServiceProperty argument에 담아서 return값으로 반환할 수 있다.
도 220의 (c)는 GetServicePropertyValue action에 대한 입력 및 출력 argument를 나타낸다. 연동 장치(200)는 GetServicePropertyNames action을 통해서 획득한 property name들 중 특정 property에 해당하는 value를 얻어오기 위해 ServicePropertyName argument를 사용할 수 있다. 즉, 연동 장치(200)는 GetServicePropertyValue action에 ServicePropertyName을 input argument로 넣어 전송하고, 해당 property의 value는 ServiceProperty로 반환될 수 있다.
ServicePropertyName input argument의 실시예는 다음과 같을 수 있다. GetServicePropertyValue("ContentId, ContentName, MajorChanNum").
도 220의 (d)는 UpdatedServicePropertyValue의 output argument의 실시예를 나타낸다. 즉, UpdatedServicePropertyValue는 propertyList 내에 ContentId, ContentName 및 MajorChanNum의 value를 각각 포함할 수 있다.
도 221은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 방송 서비스 속성을 시그널링하는 동작을 보여주는 래더다이그램이다. 이 실시예에서는 앞서 전술한 방송 서비스 속성의 상태를 나타내는 변수 중 갱신된 속성 이름 변수 및 GetServicePropertyValue 를 이용할 수 있다.
방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(DS1261). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적인 방송 수신 장치(100)와 연동 장치(200)의 동작은 전술한 실시예와 같을 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 방송 서비스의 속성 변경 알림을 요청할 수 있다(DS1262). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 방송 서비스의 속성 알림을 요청할 수 있다. 구체적인 연동 장치(200)의 동작은 전술한 실시예와 같을 수 있다.
방송 수신 장치(100)는 방송 서비스에 기초하여 방송 서비스 속성을 시그널링하는 정보를 수신할 수 있다(DS1263). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 방송 서비스 속성을 시그널링하는 정보를 수신할 수 있다. 방송 전송 장치(300)는 Service property 에 변경사항이 발생할 경우 방송 수신 장치(100)에 이를 통지할 수 있다. 방송 수신 장치(100)는 수신된 방송 서비스 속성에 기초하여 기존의 방송 서비스 속성을 변경할 수 있다. 또한 방송 수신 장치(100)는 방송 서비스 속성의 상태를 나타내는 변수도 변경할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에 갱신된 속성 이름(UpdatedPropertyNames) 상태 변수를 통지할 수 있다(DS1264). 이는 UPnP 기반 architecture 일 경우 'eventing' protocol 에 따라 통지될 수 있다. 여기서, 방송 수신 장치(100)는 service property 에 변경사항이 발생한 경우, 연동 장치(200)에게 변경사항이 생긴 property 만을 UpdatedPropertyNames를 통해 전달할 수 있다.
연동 장치(200)는 변경된 서비스 속성에 대한 밸류를 요청할 수 있다(DS1264). 즉, 연동 장치는 GetServicePropertyValue 을 이용하여 원하는 service property의 value를 요청할 수 있다. 연동 장치(200)는 ServicePropertyName argument에 획득하고자하는 Service property field 의 명칭을 넣어 방송 수신 장치(100)에 요청할 수 있다. 연동 장치(200)는 변경된 property field 중에서도 원하는 property value만 얻을 수 있다. 또한 연동 장치(200)는 가 관심있는 field 는 복수개일 수 있다. 예를 들어, 연동 장치(200)는 @advisoryRating 및 @language 에 관심있을 수 있다. 관심있는 복수개의 field 중 하나 이상의 field 에 변경이 생긴 경우, 연동 장치(200)는 변경된 모든 field 를 request 하고 return 받을 수 있다.
예를 들어, GetServiceProperty("advisoryRating", "language")와 같이 요청할 수 있다. 방송 수신 장치(100)는 연동 장치(200)로부터 상기 GetServicePropertyValue를 수신할 수 있다.
연동 장치(200)는 방송 수신 장치(100)으로부터, "GetServicePropertyValue" action 에 대한 응답으로 변경된 field 정보를 전달 받을 수 있다. UpdatedServicePropertyValue argument 가 "GetServicePropertyValue" action 에 대한 output 으로서 연동 장치(200)에 전달될 수 있다.
도 222은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 방송 서비스 속성의 상태를 나타내는 변수, 방송 서비스 속성을 위한 액션 및 액션의 인수(argument)를 보여준다.
도 222의 (a)에 도시된 바와 같이, 방송 서비스의 속성의 상태를 나타내는 변수는 서비스 속성을 나타내는 변수(ServiceProperty) 및 서비스 속성 이름을 나타내는 변수(ServicePropertyName)를 포함할 수 있다. ServiceProperty는 필수 변수일 수 있으며 스트링 타입으로 XML, JSON 형식으로 표현될 수 있다. ServicePropertyName은 필수 변수일 수 있으며, 스트링 타입으로 XML, JSON, CSV 형식으로 표현될 수 있다.
도 222의 (b)에 도시된 바와 같이, 방송 서비스 속성을 위한 액션은 서비스 속성 요청 액션(GetServiceProperty) 및 서비스 속성 설정 액션 (SetServiceProperty)을 포함할 수 있다. GetServiceProperty 는 전술한 동명의 action 과 동일할 수 있다. SetServiceProperty 은 필수 action으로 연동 장치가 원하는 property field의 value 값을 방송 수신 장치에 대해 등록하기 위해 사용될 수 있다.
연동 장치(200)가 방송 수신 장치(100)에게 방송 서비스의 속성 변경 알림을 요청하면서 알림받기를 원하는 방송 서비스의 속성을 지정할 수 있다. 이를 위해 연동 장치(200)는 알림받기를 원하는 방송 서비스의 속성을 지정하는 액션을 포함할 수 있다. 이때 액션은 알림받기를 원하는 방송 서비스의 속성을 나타내는 변수를 입력 인자로 가질 수 있다. 이러한 액션은 도 217의 실시예의 SetServiceProperty일 수 있다. 구체적인 실시예에서 SetServiceProperty는 필수 액션일 수 있다. 또한 SetServiceProperty는 방송 서비스의 속성의 종류를 나타내는 ServicePropertyName을 입력 인자(argument)로 가질 수 있다. 원하는 property field가 방송 수신 장치로 전달되어 등록되면, 방송 수신 장치는 등록되어 있는 field에 변경사항이 발생할 경우에만 연동 장치에게 eventing을 통해 전달할 수 있다.
도 222의 (c)에 도시된 바와 같이 방송 서비스 속성을 요청하기 위한 액션의 인자(argument)는 서비스 속성 이름 및 서비스 속성을 포함할 수 있다. 예를 들어, GetServiceProperty argument는 ServiceProperyName, ServiceProperty의 argument를 포함할 수 있다.
ServicePropertyName은 연동 장치가 원하는 service property field의 값을 얻기 위해서 GetServiceProperty action에 ServicePropertyName을 parameter로 넣어서 요청할 수 있다.
ServiceProperty는 GetServiceProperty action의 parameter로 요청된 service property field들에 대한 값을 반환할 때 사용할 수 있다.
도 222의 (d)에 도시된 바와 같이 방송 서비스 속성을 설정하기 위한 액션의 인자(argument)는 서비스 속성 이름을 포함할 수 있다. 예를 들어 SetServiceProperty argument는 ServicePropertyName argument를 포함할 수 있다.
ServiceProperyName은 연동 장치가 방송 수신 장치에 대해 원하는 service property field들을 등록시키고자 할 때, SetServiceProperty action의 parameter로 전달할 수 있는 argument이다.
도 223은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 방송 서비스 속성을 시그널링하는 동작을 보여주는 래더다이그램이다.
방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(S2061). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적인 방송 수신 장치(100)와 연동 장치(200)의 동작은 도 216의 실시예와 같을 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 방송 서비스의 특정 속성 변경 알림을 요청한다(S2063). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 방송 서비스의 특정 속성 변경 알림을 요청할 수 있다. 연동 장치(200)는 방송 서비스와 연관된 부가 정보를 제공하기 위해 필요한 방송 서비스의 특정 속성의 변경 알림만을 요청할 수 있다. 구체적인 실시예에서 연동 장치(200)는 특정 속성의 변경 알림만을 요청하기 위한 액션을 통해 방송 서비스의 특정 속성 변경 알림을 요청할 수 있다. 이때, 특정 속성의 변경 알림만을 요청하기 위한 액션은 전술한 SetServiceProperty일 수 있다. 연동 장치(200)가 방송 수신 장치(100)에게 방송 서비스의 특정 속성 변경 알림을 요청하는 동작은 다음과 같은 동작들을 포함할 수 있다. 연동 장치(200)는 방송 수신 장치(100)에게 서비스의 속성에 관한 변경 알림을 구독(subscribe)을 요청할 수 있다. 방송 수신 장치(100)는 서비스의 속성에 관한 변경 알림 구독(subscribe) 요청에 대하여 수락할 경우, 연동 장치(200)에게 수락 메시지와 구독 요청을 식별하는 구독 식별자(Subscription ID, SID)를 함께 전송할 수 있다. 연동 장치(200)는 방송 수신 장치(100)에게 SID에 기초하여 방송 서비스의 특정 속성의 변경 알림만을 요청할 수 있다. 구체적으로 연동 장치(200)는 SID와 함께 변경 여부를 알림받고자 하는 방송 서비스의 특정 속성을 전송할 수 있다. 이 때 연동 장치는 전술한 SetServiceProperty 액션을 이용할 수 있다. 일 실시예로, 연동 장치(200)가 방송 수신 장치(100)로 전달하는 SetServiceProperty()는 SetServiceProperty(SID, "genre", "language")로 표현될 수 있다. 즉, SetServiceProperty action의 parameter로 SID, 즉 SessionID를 함께 넘겨줄 수 있다.
다른 실시예로, 연동 장치(200)가 방송 수신 장치(100)로 전달하는 SetServiceProperty()는 SetServiceProperty("genre", "language")로 표현될 수 있다. 방송 수신 장치(100)는 연동 장치(200)와 pairing 될 때 이미 SID를 알수 있으므로, SID를 별도의 parameter로 전송하지 않을 수 있다.
방송 수신 장치(100)는 연동 장치(200)의 SID와 ServicePropertyName을 mapping하고 있으므로, service property에 변경이 생겼을 때 하기 데이터 포맷과 같이 연동 장치(200)로 통지 할 수 있다.
<?xml Version="1.0"?>
<ServiceProperty>
<genre>Sports</genre>
<language>KOR</language>
</ServiceProperty>
또한 연동 장치(200)는 방송 수신 장치(100)에게 방송 서비스의 복수의 특정 속성들의 변경에 대하여 알림 요청할 수 있다. 이때, 연동 장치(200)는 방송 서비스의 복수의 특정 속성들을 리스트 형태로 요청할 수 있다.
방송 수신 장치(100)는 방송 서비스에 기초하여 방송 서비스 속성을 시그널링하는 정보를 수신한다(S2065). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 방송 서비스 속성을 시그널링하는 정보를 수신할 수 있다.
방송 수신 장치(100)는 방송 서비스의 특정 속성의 변경 여부를 확인한다(S2067). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 방송 서비스의 특정 속성의 변경 여부를 확인할 수 있다. 구체적으로 방송 수신 장치(100)는 방송 서비스의 특정 속성이 이전과 변경되었는지 판단할 수 있다. 구체적으로 방송 수신 장치(100)는 방송 서비스의 특정 속성의 이전 값과 현재 값을 비교하여 방송 서비스의 특정 속성 변경 여부를 판단할 수 있다.
방송 서비스의 특정 속성이 변경된 경우, 방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 속성을 시그널링하는 정보에 기초하여 방송 서비스의 특정 속성 변경 여부를 알린다(notify)(S2069). 구체적으로 방송 서비스의 특정 속성이 변경된 경우, 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 방송 서비스의 속성을 시그널링하는 정보에 기초하여 방송 서비스의 특정 속성 변경 여부를 알릴 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 방송 서비스의 특정 속성을 요청한다(S2071). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 방송 서비스의 특정 속성을 요청할 수 있다. 구체적으로 방송 수신 장치(100)가 방송 서비스의 특정 속성 변경 알림을 전송한 경우, 연동 장치(200)는 방송 수신 장치(100)에게 방송 서비스의 특정 속성을 요청할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 방송 서비스의 특정 속성을 알린다(S2073). 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 방송 서비스의 특정 속성을 알릴 수 있다. 구체적으로 방송 수신 장치(100)는 연동 장치(200)의 요청에 기초하여 방송 서비스의 특정 속성을 알릴 수 있다. 예컨대 방송 수신 장치(100)는 연동 장치(200)에게 연동 장치(200)가 요청한 방송 서비스의 특정 속성을 전송할 수 있다.
또한, 연동 장치(200)는 방송 수신 장치(100)로부터 반송 서비스의 특정 속성을 획득하는 것이 아니라 방송 서비스 속성을 획득할 수 있는 URL에 획득하고, 방송 서비스 속성을 획득할 수 있는 URL에 기초하여 방송 서비스의 특정 속성을 획득할 수 있다. 이와 같은 동작을 통해 방송 수신 장치(100)가 불필요하게 연동 장치(200)에게 방송 서비스의 속성 변경을 알리는 동작을 줄일 수 있다.
방송 수신 장치(100)는 자연 재해, 테러, 전쟁 등 재난 상황에 대한 긴급 경보를 방송망을 통해 수신할 수 있다. 또한, 방송 수신 장치(100)는 이를 사용자에게 알릴 수 있다. 이를 통해 국가 재난 상황에 대해 여러 사람들이 신속하고 효율적으로 파악할 수 있다. 다만, 사용자가 방송 수신 장치(100)를 계속 주시하는 상황이 아니라면 이러한 긴급 경보를 알아차릴 수 없는 상황이될 수 있다. 사용자가 방송 수신 장치(100)를 계속 주시하는 상황이 아니더라도 사용자는 휴대폰, 태블릿 등의 연동 장치(200)를 항상 소지하고 있을 확률이 크다. 따라서 방송 수신 장치(100)가 연동 장치(200)에게 긴급 경보를 전송하고 연동 장치(200)가 긴급 경보를 표시할 수 있다면 국가적 재난 상황을 사용자에게 신속하고 효율적으로 알릴 수 있다.
도 224는 본 발명의 일 실시예에 따라 긴급 경보가 생성되어 방송망을 통해서 전송되는 과정을 보여준다.
방송 서비스를 통한 긴급 경보를 관리하는 경보 시스템은 긴급 경보를 발령할 권한이 있는 정부 당국(authorities)이 IPWS(Integrated Public Alert & Warning System)를 통해 긴급 상황을 입력하거나 다른 출처들을 통해 공통 경보 프로토콜(Common Alerting Protocol, CAP)에 따른 메시지를 수신한다. 경보 시스템은 CAP 메시지가 현재 지역에 해당하는지 판단한다. CAP 메시지가 현재 지역에 해당하는 경우, 방송 신호에 CAP 메시지를 삽입한다. 따라서 CAP 메시지는 방송 신호를 통해 전송되게된다. 방송 수신 장치(100)가 방송 신호를 수신하여 긴급 경보를 사용자에게 전송하는 동작에 대해서 설명하도록 한다.
도 225는 본 발명의 일 실시예에 따라 방송 수신 장치가 방송망을 통해 시그널링되는 긴급 경보를 추출하여 표시하는 것을 보여준다.
방송 전송 장치(200)는 방송 신호에 기초하여 긴급 경보 테이블(Emergency Alter Table, EAT)을 추출하고, EAT로부터의 CAP 메시지를 추출할 수 있다. 또한 방송 전송 장치(200)는 긴급 경보와 관련된 추가 정보를 EAT가 포함하는 비실시간 서비스 식별자에 기초하여 획득할 수 있다. 구체적으로 방송 수신 장치(200)는 EAT가 포함하는 EAS_NRT_service_id 필드에 기초하여 긴급 경보와 관련한 추가 정보를 획득할 수 있다. 구체적으로 방송 수신 장치(200)는 EAT에 포함된 비실시간 서비스 식별자에 기초하여 비실시간 서비스를 시그널링하는 테이블로부터 긴급 경보와 관련된 추가 정보를 전송하는 FLUTE 세션을 정보를 획득할 수 있다. 이때, 비실시간 서비스를 시그널링하는 테이블은 서비스 맵 테이블(Service Map Table, SMT)일 수 있다. 방송 수신 장치(200)는 FLUTE 세션에 관한 정보에 기초하여 해당 FLUTE 세션으로부터 긴급 경보와 관련된 추가 정보를 수신할 수 있다. 방송 수신 장치(200)는 긴급 경보를 수신하여 방송 서비스 및 방송 서비스의 프로그램에 대한 정보를 표시하는 서비스 가이드에 긴급 경보를 표시할 수 있다. 구체적으로 방송 수신 장치(200)는 가이드 접근 테이블(Guide Acess Table, GAT)로부터 서비스 식별자를 추출하고, 서비스 식별자에 해당하는 정보를 비실시간 서비스를 시그널링하는 테이블로부터 추출하여 긴급 경보를 수신할 수 있다. 구체적인 실시예에서 방송 수신 장치(200)는 GAT에서 추출한 서비스 식별자에 해당하는 서비스의 FLUTE 세션에 관한 정보를 획득할 수 있다. 이후 방송 수신 장치(200)는 FLUTE 세션에 관한 정보에 기초하여 긴급 경고 메시지를 수신하고, 긴급 경고 메시지를 서비스 가이드에 표시할 수 있다. 구체적인 CAP 메시지의 형식은 도 226과 같을 수 있다.
도 227는 본 발명의 일 실시예에 따라 방송 수신 장치가 시그널링하는 긴급 경보 서비스의 서비스 타입, 서비스 식별자, 긴급 경보의 상태를 나타내는 변수, 긴급 경보를 위한 액션 및 액션의 인수(argument)를 보여준다.
방송 수신 장치(100)는 Emergency alert message를 연동 장치(200)로 전달할 수 있으며, 방송 수신 장치(100)가 수신한 message 그대로를 연동 장치(200)로 전달하는 방법 및 방송 수신 장치(100)가 수신한 Message 중 일부 Message만 연동 장치(200)로 전달하는 방법이 있을 수 있다.
본 발명에서 제시되는 실시 예의 UPnP device type은 "urn:atsc.org"device:atsc3.0rcvr"로 보고, EAS 데이터를 받을 수 있는 EAS UPnP 서비스의 Service Type은 "urn:atsc.org:service:atsc3.0:eas:1"로 볼 수 있다.
도 227의 (a)에 도시된 바와 같이, 본 발명의 일 실시예에서 방송 수신 장치가 연동 장치에게 시그널링하는 긴급 경보 서비스의 서비스 타입(Service Type)은 atsc3.0:atsc3.0eas:1의 값을 가질 수 있다. 또한 서비스 식별자(Service ID) 정보는 urn:atsc.org:service:atsc3.0eas의 값을 가질 수 있다.
첫번째 실시예로 방송 수신 장치가 수신한 Emergency Alert Message를 그대로 연동 장치로 전달하는 방법이 있다. 방송 수신 장치는 수신된 Message 전부를 연동 장치로 전달할 수 있다. 이 경우 연동 장치는 Emergency Alert Message Type에 따라 Message를 파싱할 필요가 있다.
도 227의 (b), (d), (e)는 첫번째 실시예의 EAS UPnP 서비스에 속하는 state variable, action 및 argument에 관한 도면이다.
도 227의 (b)에 도시된 바와 같이, 첫번째 실시예에서 상태 변수는 긴급 경보를 나타내는 변수(EmergencyAlert)와 긴급 경보 속성을 나타내는 변수(EmergencyAlertProperty)를 포함할 수 있다. EmergencyAlert은 필수 string type state variable으로 도 227의 (c)와 같은 element를 같는 xml 형태, 또는 JSON 형태로 작성될 수 있다. 도 227의 (c)에서 EmergencyAlert은 수신된 시간 정보, Message의 형태 정보, 버전 정보를 포함할 수 있다.
수신된 시간 정보는 <dateTime>로 표현될 수 있으며, 방송 수신 장치가 긴급 메시지를 수신한 시간 정보를 저장할 수 있다. 메시지의 형태 정보는 <messageType>으로 표현될 수 있으며 메시지가 CAP 형태인지 CMAS 형태인지 등을 표시할 수 있다. 버전 정보는 <version>으로 표현될 수 있으며, 메시지 타입 별 version 정보를 표시할 수 있다.
방송 수신 장치는 emergency alert message를 수신한 후 parsing 하여 EmergencyAlert 상태 변수를 위와 같은 데이터 형태로 연동 장치에게 eventing 방식으로 통지할 수 있다. 위와 같은 Element 정보를 이용하여 연동 장치는 긴급 메시지의 타입별로 Parsing을 할 수 있다.
EmergencyAlertProperty 상태 변수는 필수 string type state variable으로 XML 또는 JSON 형태로 표현될 수 있다. EmergencyAlertProperty는 해당 Emergency Alert Service의 Emergency Alert Property에 대한 정보를 가질 수 있다. 즉, 앞서 설명한 Emergency Alert Message 포맷의 실시예에서 다루고 있는 message의 type 정보 이외의, EmergencyAlertProperty는 실제 emergency alert message 내용 정보를 가질 수 있다. EmergencyAlertProperty이 연동 장치에게 전달될 때, eventing 방식을 사용하거나 또는 사용하지 않을 수도 있다.
도 227의 (d)에 도시된 바와 같이, 첫번째 실시예의 Action에는 모든 긴급 경보 속성을 요청하는 액션을 포함할 수 있다. 이 액션은 GetAllEmergencyAlertProperty로 표현될 수 있다. 이 액션은 필수 액션으로, 긴급 경보의 모든 Message를 얻기 위한 액션이다. 이 액션은 변경된 Emergency Alert Property를 얻기 위해 이용될 수 있다. 모든 긴급 경보 속성을 요청하는 액션은 Emergency alert message의 내용 정보를 얻기위할 수 있으므로, 이 경우 액션의 이름은 GetAllEmergencyAlertMessage와 같이 표현될 수도 있다.
도 227의 (e)에 도시된 바와 같이, 첫번째 실시예의 액션에 대한 인자(Argument)는 긴급 경보 속성 인자를 포함할 수 있다. 이는 EmergencyAlertProperty argument로 표현될 수 있다. 상술한 GetAllEmergencyAlertMessage에는 EmergencyAlertProperty argument가 있을 수 있다. 방송 수신 장치가 수신한 emergency alert message 내용 정보를 연동 장치가 얻어오기 위하여 GetAllEmergencyAlertMessage action을 사용할 때, 방송 수신 장치는 EmergencyAlertProperty argument를 통하여 emergency alert message 내용 정보를 반환할 수 있다.
도 228는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다.
방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(S2101). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적인 방송 수신 장치(100)와 연동 장치(200)의 동작은 도 208의 실시예와 같을 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 긴급 경보 수신 알림을 요청한다(S2103). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 긴급 경보 수신 알림을 요청할 수 있다. 구체적으로 연동 장치(200)는 UPnP 프로토콜을 이용하여 방송 수신 장치(100)에게 긴급 경보 수신 알림을 요청할 수 있다. 구체적인 실시예에서 연동 장치(200)는 이벤팅 프로토콜에 기초하여 방송 수신 장치(100)에게 긴급 경보 수신 알림에 대한 이벤트의 구독(subscription) 요청을 할 수 있다. 이는 긴급 경보 서비스의 긴급 경보 상태 변수에 변경이 변경이 발생할 경우에 통지 받기 위함이다.
방송 수신 장치(100)는 방송 전송 장치(300)로부터 긴급 경보를 포함하는 메시지를 수신한다(S2105). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 긴급 경보 메시지를 수신할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 긴급 경보 메시지에 기초하여 긴급 경보 메시지에 대한 정보를 알린다(notify)(S2107). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 긴급 정보 메시지에 기초하여 방송 긴급 경보 메시지에 대한 정보를 알릴 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 연동 장치(200)에게 긴급 경보 메시지에 대한 정보를 나타내는 변수를 통하여 긴급 경보 메시지에 대한 정보를 알릴 수 있다. 구체적인 실시예에서 긴급 경보 메시지에 대한 정보를 나타내는 변수는 EmergencyAlert일 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 긴급 경보에 대한 정보를 요청한다(S2109). 구체적으로 연동 장치(200)는 제어부를 통해 방송 수신 장치(100)에게 긴급 경보를 요청할 수 있다. 구체적인 실시예에서 연동 장치(200)는 긴급 경보를 요청하는 액션을 통해서 긴급 경보를 요청할 수 있다. 구체적인 실시예에서 긴급 경보를 요청하는 액션은 GetAllEmergencyAlertMessage일 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 긴급 경보 메시지를 모두 포함하는 긴급 경보에 대한 정보를 알린다(S2111). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통해 연동 장치(200)에게 긴급 경보 메시지를 모두 포함하는 긴급 경보에 대한 정보를 알릴 수 있다. 다만, 이러한 경우 긴급 경보 메시지를 모두 전송 받아야하므로 방송 수신 장치(100)와 연동 장치(200)의 동작에 부하로 작용할 수 있다. 따라서 연동 장치(200)에게 긴급 경보 메시지를 효율적으로 전송하는 방법이 필요하다.
방송 수신 장치(100)는 긴급 경보 메시지로부터 연동 장치(200)에게 필요한 정보를 추출하여 전송할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 긴급 경보 메시지로부터 긴급 경보를 식별하는 식별자, 긴급 경보의 카테고리를 나타내는 정보, 긴급 경보에 대한 설명을 나타내는 정보, 긴급 경보에 해당하는 지역을 나타내는 정보, 긴급 경보의 긴급도를 나타내는 정보, 긴급 경보를 유발한 재난의 심각성을 나타내는 정보 및 긴급 경보를 유발한 재난의 발생 확률을 나타내는 정보 중 적어도 어느 하나를 추출할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 긴급 경보 메시지로부터 긴급 경보를 식별하는 엘리먼트인 identifier, 긴급 경보의 카테고리를 나타내는 엘리먼트인 category, 긴급 경보에 대한 설명을 나타내는 엘리먼트인 description, 긴급 경보에 해당하는 지역을 나타내는 엘리먼트인 areaDesc, 긴급 경보의 긴급도를 나타내는 엘리먼트인 urgency, 긴급 경보를 유발한 재난의 심각성을 나타내는 엘리먼트인 severity 및 긴급 경보를 유발한 재난의 발생 확률을 나타내는 엘리먼트인 certainity 중 적어도 어느 하나를 추출할 수 있다.
도 229는 본 발명의 일 실시예에 따른 방송 수신 장치의 긴급 경보 알림 메시지의 내용을 나타낸다. 상술한 첫번째 실시예의 래더 다이어그램에서 연동 장치는 방송 수신 장치에 긴급 경보 요청을 할 수 있으며, 예를 들어GetAllEmergencyAlertMessage()를 전달할 수 있다. 방송 수신 장치는 GetAllEmergencyAlertMessage()에 대한 응답으로 도시된 바와 같이 emergency alert message 내용 전체를 연동 장치로 반환할 수 있다.
도 230은 본 발명의 일 실시예에 따른 긴급 경보 알림 메시지의 내용을 나타낸다.
본 발명의 일 실시예에 따른 긴급 경보 알림 메시지의 내용은 전술한 긴급 경보 알림 메시지의 내용을 포두 포함할 수 있다.
또한, 본 발명의 일 실시예에 따른 긴급 경보 알림 메시지의 포맷은 JSON 데이터 포맷을 포함할 수 있다. 이와 같은 긴급 경보 알림 메시지의 포맷은 방송 수신 장치(PD)와 연동 장치(CD) 사이에서 웹소켓 프로토콜(WebSocket protocol)을 사용하는 경우에 사용될 수 있다.
도 231 내지 233은 본 발명의 일 실시예에 따라 방송 수신 장치가 긴급 경보의 우선 순위를 판단하는 기준을 보여준다.
연동 장치(200)는 긴급 경보의 우선도를 긴급 경보의 긴급도를 나타낸는 정보, 긴급 경보를 유발한 재난의 심각성을 나타내는 정보 및 긴급 경보를 유발한 재난의 발생 확률을 나타내는 정보 각각의 값에 기초하여 우선도를 구분할 수 있다. 이때, 연동 장치(200)는 긴급 경보의 우선도를 긴급 경보의 긴급도를 나타내는 정보, 긴급 경보를 유발한 재난의 심각성을 나타내는 정보 및 긴급 경보를 유발한 재난의 발생 확률을 나타내는 정보 중 가장 높은 우선도를 가지는 값에따라 긴급 경보의 우선도를 판단할 수 있다. 구체적인 실시예에서 연동 장치(200)는 긴급 경보의 우선도를 긴급 경보의 긴급도를 나타낸는 정보, 긴급 경보를 유발한 재난의 심각성을 나타내는 정보 및 긴급 경보를 유발한 재난의 발생 확률을 나타내는 정보가 가지는 값에 따라 3개의 긴급도로 구분할 수 있다. 예컨대, 연동 장치(200)는 도 231의 실시예와 같이 Urgency 엘리먼트가 Immediate 또는 Expected에 해당 하는 경우 가장 높은 우선도, Future에 해당하는 경우 가장 높은 우선도보다 우선도가 낮고 가장 낮은 우선도 보다 우선도가 높은 중간 우선도, Past에 해당하는 경우 가장 낮은 우선도, Unknown에 해당하는 경우 초기 값에 해당하는 우선도를 가지는 것으로 판단할 수 있다. 이때 초기 값은 가장 높은 우선보다 우선도가 낮고 가장 낮은 우선도 보다 우선도가 높은 중간 우선도일 수 있다. 또한, 연동 장치(200)는 도 231의 실시예와 같이 Severity 엘리먼트가 Extreme 또는 Severe에 해당 하는 경우 가장 높은 우선도, Moderate에 해당하는 경우 가장 높은 우선도보다 우선도가 낮고 가장 낮은 우선도 보다 우선도가 높은 중간 우선도, Minor에 해당하는 경우 가장 낮은 우선도, Unknown에 해당하는 경우 초기 값에 해당하는 우선도를 가지는 것으로 판단할 수 있다. 이때, 초기 값은 가장 높은 우선보다 우선도가 낮고 가장 낮은 우선도 보다 우선도가 높은 중간 우선도일 수 있다. 또한, 연동 장치(200)는 도 231의 실시예와 같이 Certainty 엘리먼트가 Very likely 또는 likely에 해당 하는 경우 가장 높은 우선도, Possible에 해당하는 경우 가장 높은 우선도보다 우선도가 낮고 가장 낮은 우선도 보다 우선도가 높은 중간 우선도, Unlikely에 해당하는 경우 가장 낮은 우선도, Unknown에 해당하는 경우 초기 값에 해당하는 우선도를 가지는 것으로 판단할 수 있다. 이때 초기 값은 가장 높은 우선보다 우선도가 낮고 가장 낮은 우선도 보다 우선도가 높은 중간 우선도일 수 있다.
또 다른 실시예에서 연동 장치(200)는 긴급 경보의 우선도를 긴급 경보의 긴급도를 나타내는 정보, 긴급 경보를 유발한 재난의 심각성을 나타내는 정보 및 긴급 경보를 유발한 재난의 발생 확률을 나타내는 정보 각각의 값에 기초하여 포인트를 부여하고 포인트 합에 따라 긴급 경보의 우선도를 판단할 수 있다. 구체적인 실시예에서 연동 장치(200)는 긴급 경보의 긴급도를 나타내는 정보, 긴급 경보를 유발한 재난의 심각성을 나타내는 정보 및 긴급 경보를 유발한 재난의 발생 확률을 나타내는 정보에 동일한 비중으로 포인트를 부여할 수 있다. 예컨대, 연동 장치(200)는 도 232의 실시예와 같이 Urgency 엘리먼트가 Immediate에 해당하는 경우 5, Expected에 해당 하는 경우 4, Future에 해당하는 경우 3, Past에 해당하는 경우 2, Unknown에 해당하는 경우 1의 포인트를 부여할 수 있다. 또한, 연동 장치(200)는 도 136의 실시예와 같이 Severity 엘리먼트가 Extreme에 해당하는 경우 5, Severe에 해당 하는 경우 4, Moderate에 해당하는 경우 3, Minor에 해당하는 경우 2, Unknown에 해당하는 경우 1의 포인트를 부여할 수 있다. 또한, 연동 장치(200)는 도 136의 실시예와 같이 Certainty 엘리먼트가 Very likely에 해당하는 경우 5, likely에 해당 하는 경우 4, Possible에 해당하는 경우 3, Unlikely에 해당하는 경우 2, Unknown에 해당하는 경우 1 포인트를 부여할 수 있다. 이때, 연동 장치(200)는 포인트의 합이 10보다 크거나 15보다 작거나 같은 경우 긴급 경보가 가장 높은 우선도를 갖는 것으로 결정할 수 있다. 또한, 연동 장치(200)는 포인트의 합이 5보다 크거나 10보다 작거나 같은 경우 긴급 경보가 가장 높은 우선도 보다 낮고 가장 낮은 우선도 보다 높은 중간 우선도를 갖는 것으로 결정할 수 있다. 또한, 연동 장치(200)는 포인트의 합이 0보다 크거나 5보다 작거나 같은 경우 긴급 경보가 가장 낮은 우선도를 갖는 것으로 결정할 수 있다.
또 다른 구체적인 실시예에서 연동 장치(200)는 긴급 경보의 긴급도를 나타내는 정보, 긴급 경보를 유발한 재난의 심각성을 나타내는 정보 및 긴급 경보를 유발한 재난의 발생 확률을 나타내는 정보에 서로 다른 비중으로 포인트를 부여할 수 있다. 예컨대, 연동 장치(200)는 예컨대, 연동 장치(200)는 도 233의 실시예와 같이 Urgency 엘리먼트가 Immediate에 해당하는 경우 9, Expected에 해당 하는 경우 8, Future에 해당하는 경우 7, Past에 해당하는 경우 5, Unknown에 해당하는 경우 0의 포인트를 부여할 수 있다. 또한, 연동 장치(200)는 도 137의 실시예와 같이 Severity 엘리먼트가 Extreme에 해당하는 경우 5, Severe에 해당 하는 경우 4, Moderate에 해당하는 경우 3, Minor에 해당하는 경우 2, Unknown에 해당하는 경우 0의 포인트를 부여할 수 있다. 또한, 연동 장치(200)는 도 137의 실시예와 같이 Certainty 엘리먼트가 Very likely에 해당하는 경우 6, likely에 해당 하는 경우 5, Possible에 해당하는 경우 4, Unlikely에 해당하는 경우 3, Unknown에 해당하는 경우 0 포인트를 부여할 수 있다. 이때, 연동 장치(200)는 포인트의 합이 10보다 크거나 15보다 작거나 같은 경우 긴급 경보가 가장 높은 우선도를 갖는 것으로 결정할 수 있다. 또한, 연동 장치(200)는 포인트의 합이 5보다 크거나 10보다 작거나 같은 경우 긴급 경보가 가장 높은 우선도 보다 낮고 가장 낮은 우선도 보다 높은 중간 우선도를 갖는 것으로 결정할 수 있다. 또한, 연동 장치(200)는 포인트의 합이 0보다 크거나 5보다 작거나 같은 경우 긴급 경보가 가장 낮은 우선도를 갖는 것으로 결정할 수 있다.
연동 장치(200)는 긴급 경보의 우선도에 기초하여 긴급 경보를 표시할 수 있다. 구체적인 실시예에서 연동 장치(200) 긴급 경보의 우선도에 기초하여 긴급 경보에 따른 알람의 소리, 알람의 지속 시간, 알람의 횟수 및 긴급 경보 표시 시간 중 적어도 어느 하나를 달리할 수 있다. 예컨대, 연동 장치(200)는 긴급 경보의 우선도가 높을수록 알람의 소리를 크게할 수 있다. 또한, 연동 장치(200)는 긴급 경보의 우선도가 높을수록 알람을 오랜 시간 유지할 수 있다.
전술한 본 발명의 첫번째 실시예를 에 따를 경우, 방송 수신 장치(100)는 연동 장치(200)에게 긴급 경보 메시지를 모두 전송해야한다. 그러나 연동 장치(200)는 긴급 경보 메시지 중 일부 정보만을 필요로할 수 있다. 따라서 방송 수신 장치(200)는 긴급 경보 메시지 중 연동 장치(200)가 필요로하는 일부 정보만을 전송하는 방송 수신 장치(200)의 동작 방법이 필요하다. 이에 대해서는 아래에서 두번째 실시예를 통해 구체적으로 설명하도록 한다.
도 234은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 시그널링하는 긴급 경보의 상태를 나타내는 변수, 긴급 경보를 위한 액션 및 액션의 인수(argument)를 보여준다. 아래에서 설명하는 내용은 두번째 실시예에 해당할 수 있다. 본 발명에서 제시되는 실시 예의 UPnP device type은 "urn:atsc.org"device:atsc3.0rcvr"로 보고, EAS 데이터를 받을 수 있는 EAS UPnP 서비스의 Service Type은 "urn:atsc.org:service:atsc3.0:eas:1"로 볼 수 있다. Service Type 및 Service ID는 앞에서 설명한 첫번째 실시예에서의 내용과 같다.
연동 장치(200)는 방송 수신 장치(100)에게 긴급 경보에 대한 정보를 요청하면서 획득하기를 원하는 긴급 경보의 특정 정보를 지정할 수 있다. 긴급 경보의 특정 정보는 긴급 경고 메시지에 포함된 복수의 정보 중 하나 또는 복수의 정보일 수 있다. 이때, 방송 수신 장치(100)는 연동 장치(200)에게 긴급 경보에 대한 특정 정보를 전송할 수 있다. 이를 위해 연동 장치(200)는 긴급 경보에 대한 특정 정보를 요청하는 액션을 이용할 수 있다. 이때, 액션은 긴급 경보에 대한 특정 정보를 식별하는 변수를 입력 인자로 가질 수 있다.
도 234의 (a)는 두번째 실시예의 EAS UPnP 서비스에 속하는 상태 변수를 나타낸다. 도시된 바와 같이 EAS UPnP 서비스에 속하는 상태 변수는 EmergencyAlert, EmergencyAlertProperty 및/또는 EmergencyAlertField state variable이 있을 수 있다.
EmergencyAlert은 필수 string type state variable으로 앞서 기술한 첫번째 실시예에서의 내용과 동일하다. EmergencyAlert은 XML, JSON 형태의 스트링 타입을 가질 수 있다.
EmergencyAlertProperty는 필수 string type state variable으로, EmergencyAlertField에 원하는 필드를 입력함으로써 message 중 원하는 필드를 EmergencyAlertProperty로 받아 올 수 있다. EmergencyAlertProperty는 XML, JSON 형태의 스트링 타입을 가질 수 있다.
EmergencyAlertField에는 하나 또는 하나 이상의 필드를 입력할 수 있고, EmergencyAlertProperty는 입력된 필드의 값을 EmergencyAlertProperty로 받아 올 수 있고, EmergencyAlertField 값을 주지 않는 경우 모든 message를 EmergencyAlertProperty로 받아 올 수 있다. 모든 message를 반환하는 경우에는, 앞에서 설명한 첫번째 실시예에서의 EmergencyAlertProperty의 내용과 같다. EmergencyAlertField은 CSV, XML, JSON 형태의 스트링 타입을 가질 수 있다.
도 234의 (b)에 도시된 바와 같이 두 번째 실시예에서 긴급 경보에 대한 특정 정보를 요청하는 액션은 GetEmergencyAlertProperty일 수 있다. GetEmergencyAlertProperty는 필수 액션으로, Emergency Alert의 모든 Message를 얻기 위한 action이다. 변경된 Emergency Alert Property를 얻기 위해 이용될 수 있다.Emergency alert message의 내용 정보를 얻기위할 수 있으므로, 이 경우 action name은 또한 GetEmergencyAlertMessage와 같이 표현할 수도 있다.
도 234의 (c)에 도시된 바와 같이 두 번째 실시예에서 GetEmergencyAlertMessage에는 EmergencyAlertProperty와 EmergencyAlertField argument가 있을 수 있다. 방송 수신 장치가 수신한 emergency alert message 내용 정보의 전체 혹은 일부를 연동 장치가 얻어오기 위하여 GetEmergencyAlertMessage action을 사용할 때 EmergencyAlertField parameter를 사용하여 원하는 alert message 정보만 요청할 수 있다. 방송 수신 장치는 EmergencyAlertProperty argument를 통하여 emergency alert message 내용 정보 전부 혹은 일부를 반환할 수 있다.
도 235는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다. 즉 전술한 두번째 실시예에 해당하는 긴급 경보 상태 변수를 수신하기 위한 방송 수신 장치 및 연동 장치의 동작 방법을 나타낸 도면이다.
방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(S2121). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적인 방송 수신 장치(100)와 연동 장치(200)의 동작은 전술한 첫번째 실시예와 같을 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 긴급 경보 수신 알림을 요청한다(S2123). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 긴급 경고 수신 알림을 요청할 수 있다. 이는 긴급 경보 상태 변수의 변경이 발생할 경우에 통지 받기 위함이다. 구체적인 연동 장치(200)의 동작은 전술한 첫번째 실시예와 같을 수 있다.
방송 수신 장치(100)는 방송 서비스에 기초하여 긴급 경보를 포함하는 긴급 경보 메시지를 수신한다(S2125). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 긴급 경보를 포함하는 긴급 경보 메시지를 수신할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 긴급 경보 메시지에 기초하여 긴급 경보 메시지에 대한 정보를 알린다(notify)(S2127). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 긴급 경보 메시지에 기초하여 긴급 경보 메시지에 대한 정보를 알릴 수 있다. 또한, 구체적인 실시예에서 방송 수신 장치(100)는 연동 장치(200)에게 긴급 경고 메시지에 대한 정보를 나타내는 변수를 통하여 긴급 경고 메시지 정보를 알릴 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 연동 장치(200)에게 긴급 경보 메시지에 대한 정보를 나타내는 변수를 통하여 긴급 경고 메시지에 대한 정보를 알릴 수 있다. 구체적인 실시예에서 긴급 경고 메시지를 나타내는 변수는 EmergencyAlert일 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 긴급 경보에 대한 특정 정보를 요청한다(S2129). 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 긴급 경보에 대한 특정 정보를 요청할 수 있다. 이때, 긴급 경보에 대한 특정 정보는 연동 장치(200)가 긴급 경보에 관한 부가 기능을 제공하기 위해 필요한 긴급 경보에 대한 정보일 수 있다. 구체적인 실시예에서 연동 장치(200)는 방송 수신 장치(100)에게 긴급 경보 메시지로부터 긴급 경보를 식별하는 식별자, 긴급 경보의 카테고리를 나타내는 정보, 긴급 경보에 대한 설명을 나타내는 정보, 긴급 경보에 해당하는 지역을 나타내는 정보, 긴급 경보의 긴급도를 나타내는 정보, 긴급 경보를 유발한 재난의 심각성을 나타내는 정보 및 긴급 경보를 유발한 재난의 발생 확률을 나타내는 정보 중 적어도 어느 하나를 요청할 수 있다. 예컨대, 연동 장치(200)는 방송 수신 장치(100)에게 긴급 경보 메시지로부터 긴급 경보를 식별하는 엘리먼트인 identifier, 긴급 경보의 카테고리를 나타내는 엘리먼트인 category, 긴급 경보에 대한 설명을 나타내는 엘리먼트인 description, 긴급 경보에 해당하는 지역을 나타내는 엘리먼트인 areaDesc, 긴급 경보의 긴급도를 나타내는 엘리먼트인 urgency, 긴급 경보를 유발한 재난의 심각성을 나타내는 엘리먼트인 severity 및 긴급 경보를 유발한 재난의 발생 확률을 나타내는 엘리먼트인 certainity 중 적어도 어느 하나를 요청할 수 있다. 구체적인 실시예에서 연동 장치(200)는 방송 수신 장치(100)에게 전술한 GetEmergencyAlertMessage 액션과 EmergencyAlertField를 이용하여 긴급 경보에 대한 특정 정보를 요청할 수 있다. 예를 들어 연동 장치가 방송 수신 장치로부터 긴급 경보 메시지의 일부를 요청하기 위해서는 GetEmergencyAlertMessage("identifier, category, urgency, severity, certainty, description");와 같이 input parameter에 원하는 field name을 넣어서 GetEmergencyAlertMessage action을 수행할 수 있다.
또한 연동 장치가 방송 수신 장치로부터 긴급 경보 메시지의 전부를 요청하기 위해서는 GetEmergencyAlertMessage("");와 같이 input parameter를 넣지 않고 GetEmergencyAlertMessage action을 수행할 수 있다. 즉 empty string을 사용할 수 있다. 방송 수신 장치(100)는 긴급 경보 메시지에 기초하여 긴급 경보에 대한 특정정보를 추출한다(S2131). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 긴급 경보 메시지에 기초하여 긴급 경보에 대한 특정 정보를 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 긴급 경보 메시지로부터 긴급 경보에 대한 특정 정보를 추출할 수 있다. 연동 장치가 긴급 경보 메시지의 전부를 요청한 경우, 방송 수신 장치는 별도의 특정 정보 추출 단계를 수행하지 않을 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 긴급 경고에 대한 특정 속성을 알린다(S2133). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 긴급 경고에 대한 특정 속성을 알릴 수 있다. 구체적으로 방송 수신 장치(100)는 연동 장치(200)의 요청에 기초하여 긴급 경고에 대한 특정 속성을 알릴 수 있다. 즉, 연동 장치(200)의 긴급 경보에 대한 정보 요청인 GetEmergencyAlertMessage()에 대해 방송 수신 장치는 그 응답으로 emergency alert message 내용 전체 혹은 일부를 연동장치로 전달할 수 있다. 방송 수신 장치가 긴급 경보 메시지 전체를 반환할 경우는 전술한 첫번째 실시예에서의 내용과 같다. 또한 방송 수신 장치가 긴급 경보 메시지의 일부를 반환할 경우는 도 236과 같을 수 있다.
도 236은 본 발명의 일 실시예에 따라 방송 수신 장치로부터 반환되는 XML 형태의 긴급 경보 메시지를 나타낸 도면이다. 방송 수신 장치는 연동 장치로부터 요청된 identifier, category, urgency, severity, certainty, description에 대한 정보를 회신할 수 있다.
도 237는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 시그널링하는 긴급 경보의 상태를 나타내는 변수, 긴급 경보를 위한 액션 및 액션의 인수(argument)를 나타낸다. 아래에서 설명하는 내용은 본 발명의 세번째 실시예에 해당할 수 있다.
전술한 첫번째 실시예 및 두번째 실시예에서 기술된 Emergency Alert Message에 대한 전달 외에, 방송 수신 장치는 Emergency Alert 관련 부가정보를 연동 장치로 전달할 수 있다. 방송 수신 장치는 Message 외의 부가정보를 차세대 하이브리드 방송시스템에서 제공하는 Service를 통해서 받을 수 있다. 방송 수신 장치는 Service ID, Emergency Message ID를 연동 장치로 전달할 수 있다. 또한 방송 수신 장치는 URL을 연동 장치로 전달할 수 있으며, 연동 장치는 전달된 URL을 이용하여 Content Provider 혹은 Broadcast Server를 통해서 Emergency Alert 관련 부가정보를 전달 받을 수 있다. Service Type 및 Service ID는 앞에서 설명한 첫번째 실시예의 내용과 같다.
도 237의 (a)에 도시된 바와 같이 상태 변수는 EmergencyAlert을 포함할 수 있다. EmergencyAlert은 필수 변수로써, XML 또는 JSON 형태의 스트링 타입일 수 있다. 예를 들어 EmergencyAlert은 도 237의 (b)와 같은 element를 갖는 xml 형태일 수 있다. <ServiceId>는 PD에서 service 중인 service에 대한 Id를 나타낼 수 있다. <MessageId>는 PD가 수신한 emergency alert message의 Id를 나타낼 수 있다. <MessageURI>은 emergency alert 관련 부가정보가 위치해 있는 content server 상의 URL 주소를 나타낼 수 있다. 또한 <MessageURI>는 방송 수신 장치가 emergency alert 관련 부가정보를 FLUTE 세션 등과 같은 프로토콜로 수신했을 경우, 방송 수신 장치 내의 location을 나타낼 수 있다. 이 경우 URI의 실시 예는 "file://EAS/messageFiles/"과 같을 수 있다. URI의 시작이 "http://" 혹은 "https://" 일 경우에는 content server상의 URL을 나타내고, 그 외에는 PD 내의 location임을 나타낼 수 있다.
도 237의 (c)에 도시된 바와 같이 긴급 경보를 위한 액션은 긴급 경보 정보에 대한 요청 액션을 포함할 수 있다. 이는 GetEmergencyAlertInfo로 표현될 수 있다. GetEmergencyAlertInfo action은 방송 수신 장치와 연동 장치가 페어링된 후, 연동 장치가 방송 수신 장치에 수신된 emergency alert message 관련 부가정보를 위한 ServiceId, MessagId, MessageURI을 요청하기 위하여 사용될 수 있다.
도 237의 (d)에 도시된 바와 같이 액션의 인자(argument)는 긴급 경보 argument를 포함할 수 있다. 연동 장치가 GetEmergencyAlertInfo action을 요청했을 때, 방송 수신 장치는 EmergencyAlert argument를 통해 emergency alert message 관련 부가 정보를 위한 ServiceId, MessageId, MessageURI을 반환할 수 있다.
도 238는 본 발명의 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다. 즉 전술한 세번째 실시예에 해당하는 긴급 경보 상태 변수를 수신하기 위한 방송 수신 장치 및 연동 장치의 동작 방법을 나타낸 도면이다.
방송 수신 장치(100)는 모바일 폰 등의 연동 장치(200)와 discovery 및 페어링을 통해 페어링 세션을 생성할 수 있다(DS1421). Discovery 및 페어링은 전술한 실시예와 동일할 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 긴급 경보 서비스에 대한 구독 (subscribing) 요청을 할 수 있다 (DS1422). 연동 장치는 방송 수신 장치에게 긴급 경보 서비스의 긴급 경보 상태 변수에 대한 변경이 발생할 경우, 연동 장치에게 알려줄 것을 요청할 수 있다.
방송 전송 장치(300)는 긴급 경보 메시지를 방송 수신 장치(100)에 통지할 수 있다(DS1423).
통지받은 방송 수신 장치(100)는 연동 장치(200)로 긴급 경보 상태 변수(EmergencyAlert state variable)를 통지할 수 있다(DS1424). UPnP 기반 architecture일 경우 방송 수신 장치(100)는 긴급 경보 상태 변수를'eventing' protocol에 따라 통지할 수 있다. 여기서, 긴급 경보 상태 변수는 전술한 바와 같이 메시지 식별자(messageId), 서비스 식별자(ServiceId) 및 메시지 위치 정보( messageURL)를 포함할 수 있다.
연동 장치(200)는 전달 받은 messageId 및/또는 ServiceId을 이용하여 방송 수신 장치(100) 내에 저장된 부가정보를 요청할 수 있다(DS1425). 또한 연동 장치(200)는 전달 받은 messageURL을 이용하여 컨텐츠 서버(400)의 URL을 통해서 부가정보를 요청할 수 있다(DS1426).
연동 장치(200)가 컨텐츠 서버(400) 상의 URL 혹은 방송 수신 장치(100) 내의 URI를 통해서 긴급 경보 메시지 관련 부가정보를 전달하는 방식은 전술한 실시예와 동일할 수 있다.
도 239은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 시그널링하는 긴급 경보의 상태를 나타내는 변수를 나타낸다. 아래에서 설명하는 내용은 본 발명의 네번째 실시예에 해당할 수 있다.
방송 수신 장치는 긴급 경보 메시지를 수신 후 사용자에게 보여줄 UI을 구성할 수 있다. 또한 방송 수신 장치에서 구성한 긴급 경보 UI를 연동 장치에서도 보여줄 수 있다. 이 경우 방송 수신 장치는 연동 장치를 위한 별도의 UI를 구성할 수 있다. 아래에서는 UPnP를 이용한 실시 예를 설명한다.
전술한 세번째 실시예와 네번째 실시예의 차이점은 방송 수신 장치가 수신한 emergency alert message 정보를 연동 장치가 가져갈 필요 없이 방송 수신 장치가 구성한 UI를 연동 장치에서 디스플레이할 수 있다는 점이다.
방송 수신 장치가 UI를 구성한 후, 예를 들면, 방송 수신 장치에서 emergency alert message와 관련하여 구성한 UI page, 즉 html 페이지의 URI를 연동 장치로 전달한 후, 연동 장치는 이 html 페이지에 접속하여 emergency alert message 관련 UI를 볼 수 있다.
Service Type 및 Service ID는 앞에서 설명한 첫번째 실시예에서의 내용과 같다.
도 239의 (a)는 네번째 실시예의 EAS UPnP 서비스에 속하는 상태 변수를 나타낸다. 상태 변수는 긴급 경보를 나타내는 상태 변수를 포함할 수 있다. 이는 EmergencyAlert로 표현될 수 있다. EmergencyAlert은 필수 상태 변수로써, XML 형태의 스트링 타입을 가질 수 있다. EmergencyAlert은 방송 수신 장치가 긴급 경보 메시지를 수신했을 경우 이를 연동 장치에 통보 하기 위해 사용될 수 있다. EmergencyAlert은 도 239의 (b)와 같은 요소를 갖는 XML 형태일 수 있다. 긴급 경보를 나타내는 상태 변수는 서비스 식별자, 메시지 식별자 및 위치 리스트에 대한 정보를 포함할 수 있다.
서비스 식별자는 <ServiceId>로 표현될 수 있으며 방송 수신 장치에서 서비스 중인 서비스에 대한 식별자를 나타낼 수 있다. 메시지 식별자는 <MessageId>로 표현될 수 있으며, 방송 수신 장치가 수신한 긴급 경보 메시지의 식별자를 나타낼 수 있다. 위치 리스트는 <URIList>로 표현될 수 있으며 방송 수신 장치가 수신한 긴급 경보 메시지를 이용하여 UI를 구성한 html page의 위치를 나타내는 URI의 리스트를 나타낼 수 있다. 위치 리스트에 포함된 위치 정보는 <URI>로 표현될 수 있으며, 방송 수신 장치가 수신한 긴급 경보 메시지를 이용하여 UI를 구성한 html page에 대한 위치를 나타낼 수 있다. 위치 정보느 <URIList>에 포함될 수 있으며, 하나 이상이 될 수 있다. 방송 수신 장치가 긴급 경보 메시지를 수신한 후, 이를 연동 장치에 알려주기 위해 긴급 경보를 나타내는 상태 변수가 사용될 수 있다.
또한 상태 변수는 긴급 경보 위치를 나타내는 상태 변수를 포함할 수 있다. 긴급 경보 위치를 나타내는 상태 변수는 A_ARG_TYPE_EmergencyAlertURI로 표현될 수 있다. A_ARG_TYPE_EmergencyAlertURI는 긴급 경보의 위치를 요청하는 액션의 출력 인자(argument)와 연관이 있으며, data format의 실시 예는 도 239의 (c)와 같을 수 있다.
도 240은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 시그널링하는 긴급 경보를 위한 액션 및 액션의 인자(argument)를 나타낸다. 아래에서 설명하는 내용은 본 발명의 네번째 실시예에서 사용되는 긴급 경보를 위한 액션 및 액션의 인자(argument)에 해당할 수 있다.
도 240의 (a)에 도시된 바와 같이, 네번째 실시예에서 사용되는 긴급 경보를 위한 액션은 긴급 경보를 요청하는 액션 및 긴급 경보의 위치를 요청하는 액션을 포함할 수 있다.
긴급 경보를 요청하는 액션은 GetEmergencyAlert action로 표현될 수 있다. 연동 장치는 GetEmergencyAlert action을 이용하여, 연동 장치가 페어링 된 후 방송 수신 장치에 emergency alert message가 수신되었는지를 확인할 수 있다. 연동 장치는 방송 수신 장치가 emergency alert message를 이미 수신한 상태에서 GetEmergencyAlert action을 이용할 수도 있다.
긴급 경보의 위치를 요청하는 액션은 GetEmergencyAlertURI action으로 표현될 수 있다. 연동 장치는 GetEmergencyAlertURI action을 이용하여 방송 수신 장치가 구성한 UI 페이지의 URI를 얻어올 수 있다.
도 240의 (b) 및 (c)에 도시된 바와 같이, 네번째 실시예에서 사용되는 긴급 경보를 위한 액션의 인자는 긴급 경보 인자 및 긴급 경보 위치 인자를 포함할 수 있다.
긴급 경보 인자는 EmergencyAlert argument로 표현될 수 있다. 연동 장치가 GetEmergencyAlert action을 실행하면 방송 수신 장치는 emergecny alert message 관련 정보를 EmergencyAlert argument를 통해 전달할 수 있다.
긴급 경보 위치 인자는 EmergencyAlertURI argument로 표현될 수 있다. 연동 장치가 GetEmergencyAlertURI action을 실행하면 방송 수신 장치는 EmergencyAlertURI argument를 통해 방송 수신 장치가 구성한 UI에 대한 URI 정보를 연동 장치로 전달할 수 있다. 이 URI정보는 GetEmergencyAlert() action 혹은 EmergencyAlert state variable의 eventing을 통해서도 얻을 수 있으나, GetEmergencyAlertURI() action은 URI 이외의 정보는 전달하지 않으므로 상황에 따라 전송 효율 측면에서 더 효과적일 수 있다. 혹은, A_ARG_TYPE_EmergencyAlertURI 상태 변수를 eventing variable로 정의하여 별도의 액션 없이도 연동 장치가 통지 받을 수 있도록 할 수 있다.
*1911도 241은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다. 전술한 네번째 실시예에 따른 래더 다이어그램이다.
방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(S2161). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 긴급 경보 수신 알림을 요청한다(S2163). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 긴급 경고 수신 알림을 요청할 수 있다. 이는 긴급 경보 서비스의 긴급 경보를 나타내는 상태 변수에 변경이 발생할 경우에 연동 장치가 이를 통지 받기 위함이다.
방송 수신 장치(100)는 방송 서비스에 기초하여 긴급 경보를 포함하는 긴급 경보 메시지를 수신한다(S2165). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 긴급 경보를 포함하는 긴급 경보 메시지를 수신할 수 있다.
*1915방송 수신 장치(100)는 연동 장치(200)에게 긴급 경보 메시지에 기초하여 긴급 경보 메시지에 대한 정보 및 긴급 경보에 대한 UI 정보를 알린다(notify)(S2167). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 긴급 경보 메시지에 기초하여 긴급 경보 메시지에 대한 정보 및 긴급 경보에 대한 UI 정보를 알릴 수 있다. 이때, 긴급 경보에 대한 UI 정보는 긴급 경보에 대한 UI의 목록을 포함할 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 긴급 경보에 대한 UI 정보에 기초하여 긴급 경보에 대한 UI를 요청한다(S2169). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 긴급 경보에 대한 UI 정보에 기초하여 긴급 경보에 대한 UI를 요청할 수 있다.
방송 수신 장치(100)는 연동 장치(200)의 요청에 기초하여 연동 장치(200)에게 긴급 경보에 대한 UI를 획득할 수 있는 URI를 전송한다(S2171). 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)의 요청에 기초하여 연동 장치(200)에게 긴급 경보에 대한 UI를 획득할 수 있는 URI를 전송할 수 있다.
연동 장치(200)는 긴급 경보에 대한 UI를 획득할 수 있는 URI에 기초하여 긴급 경보에 대한 UI를 표시한다(S2173). 연동 장치(200)는 제어부를 통하여 긴급 경보에 대한 UI를 획득할 수 있는 URI에 기초하여 긴급 경보에 대한 UI를 표시할 수 있다. 구체적으로 연동 장치(200)는 긴급 경보에 대한 UI를 획득할 수 있는 URI에 기초하여 UI를 획득할 수 있다. 이때, 연동 장치(200)는 외부의 서버로부터 긴급 경보에 대한 UI를 획득할 수 있다. 예컨대, 연동 장치(200)는 긴급 경보에 대한 UI를 위한 이미지 파일 및 HTML 파일 및 XML 파일 중 적어도 어느 하나를 외부의 서버로부터 수신할 수 있다. 이때, 외부의 서버는 컨텐츠/시그널링 서버(400)일 수 있다. 또 다른 구체적인 실시예에서 연동 장치(200)는 긴급 경보에 대한 UI를 미리 저장 하고 있고, 저장한 UI 중 URI에 해당하는 UI를 불러올 수 있다. 또한, 연동 장치(200)는 이러한 동작을 통해 획득한 긴급 경보에 대한 UI를 표시할 수 있다. 이러한 동작을 통해 연동 장치(200)가 긴급 경보를 처리하므로 발생하는 연동 장치(200)의 부하를 줄일 수 있다. 전술한 첫번째 실시예에서는 연동 장치에 긴급 메시지를 파싱하는 파서가 필요하지만, 네번째 실시예에서 사용되는 연동 장치는 별도의 긴급 메시지를 파싱하는 파서가 필요없다. 이는 연동 장치가 파싱된 긴급 메시지를 재구성한 UI를 외부로부터 수신하기 때문이다.
도 242는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다. 전술한 네번째 실시예에서 GetEmergencyAlertURI 액션을 사용하는 경우에 따른 래더 다이어그램이다.
방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(DS1461). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 긴급 경보 수신 알림을 요청한다(DS1462). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 긴급 경고 수신 알림을 요청할 수 있다. 이는 긴급 경보 서비스의 긴급 경보를 나타내는 상태 변수에 변경이 발생할 경우에 연동 장치가 이를 통지 받기 위함이다.
방송 수신 장치(100)는 방송 서비스에 기초하여 긴급 경보를 포함하는 긴급 경보 메시지를 수신한다(DS1463). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 긴급 경보를 포함하는 긴급 경보 메시지를 수신할 수 있다.
방송 수신 장치는 긴급 경보를 포함하는 긴급 경보 메시지를 수신한 후 긴급 경보 상태를 변경할 수 있다(DS1464). 방송 수신 장치는 긴급 경보를 포함하는 메시지를 수신한 후 Remote UI Service를 이용하여 긴급 경보 메시지 및 관련 부가 정보 등을 표현하는 UI를 구성할 수 있다. 본 방안에 대한 또 다른 실시 예로는, UPnP의 Remote UI service를 이용하는 방안이 있을 수 있다. 방송 수신 장치는 긴급 경보 상태에 대한 변경 통해 긴급 경보가 발생했다는 것을 연동 장치에게 알려줄 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 긴급 경보 메시지에 기초하여 긴급 경보 메시지에 대한 정보 및 긴급 경보에 대한 URI 정보를 통지할 수 있다(notify)(DS1465). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 긴급 경보 메시지에 기초하여 긴급 경보 메시지에 대한 정보 및 긴급 경보에 대한 URI 정보를 알릴 수 있다.
연동 장치(200)는 긴급 경보에 대한 UI를 획득할 수 있는 URI에 기초하여 긴급 경보에 대한 UI를 표시한다(DS1466). 연동 장치(200)는 제어부를 통하여 긴급 경보에 대한 UI를 획득할 수 있는 URI에 기초하여 긴급 경보에 대한 UI를 표시할 수 있다. 구체적으로 연동 장치(200)는 긴급 경보에 대한 UI를 획득할 수 있는 URI에 기초하여 UI를 획득할 수 있다. 이때, 연동 장치(200)는 외부의 서버로부터 긴급 경보에 대한 UI를 획득할 수 있다. 예컨대, 연동 장치(200)는 긴급 경보에 대한 UI를 위한 이미지 파일 및 HTML 파일 및 XML 파일 중 적어도 어느 하나를 외부의 서버로부터 수신할 수 있다. 이때, 외부의 서버는 컨텐츠/시그널링 서버(400)일 수 있다. 또 다른 구체적인 실시예에서 연동 장치(200)는 긴급 경보에 대한 UI를 미리 저장 하고 있고, 저장한 UI 중 URI에 해당하는 UI를 불러올 수 있다. 또한, 연동 장치(200)는 이러한 동작을 통해 획득한 긴급 경보에 대한 UI를 표시할 수 있다. 이러한 동작을 통해 연동 장치(200)가 긴급 경보를 처리하므로 발생하는 연동 장치(200)의 부하를 줄일 수 있다. 전술한 첫번째 실시예에서는 연동 장치에 긴급 메시지를 파싱하는 파서가 필요하지만, 네번째 실시예에서 사용되는 연동 장치는 별도의 긴급 메시지를 파싱하는 파서가 필요없다. 이는 연동 장치가 파싱된 긴급 메시지를 재구성한 UI를 외부로부터 수신하기 때문이다.
방송 수신 장치(100)는 방송 서비스와 연관된 부가 서비스를 제공할 수 있다. 이를 위해 방송 수신 장치(100)는 연동 장치(200)에게 NRT 데이터를 전송할 수 있다. 특히, 방송 수신 장치(100)는 연동 장치(200)에게 NRT 서비스를 위한 컨텐츠 아이템을 시그널링하는 정보를 전송할 수 있다. 컨텐츠 아이템은 NRT 서비스 재생(presentation)을 위해 필요한 하나 또는 복수의 파일들의 집합(set)이다. 구체적으로 컨텐츠 아이템은 NRT 서비스 제공자가 NRT 서비스의 재생을 위해 하나의 단위(single unit)로 처리(treat)되기를 의도한 하나 또는 복수의 파일 집합일 수 있다.
도 243은 본 발명의 일 실시예에 따른 연동 장치를 위한 NRT 데이터 시그널링 정보를 보여준다.
본 발명에서는 방송 수신 장치가 방송을 통해서 전달 받은 NRT 서비스의 컨텐츠 아이템들에 대해서 연동 장치로 시그널링하는 방안에 대하여 UPnP를 이용한 실시 예를 보여준다. 방송 수신 장치로부터 연동 장치로 전달되는 NRT 컨텐츠 아이템들에 대해서 시그널링을 담당하는 모듈을 NRT 데이터 시그널링 서비스로 칭할 수 있다. UPnP를 이용한 실시 예의 경우, NRTDataSignaling Service를 도 243의 (a)와 같이 정의할 수 있다. NRT 데이터 시그널링 서비스의 서비스 타입은 atsc3.0:nrtdatasignaling:1로 정의될 수 있으며, 서비스 식별자는 urn:atsc.org:serviceId:atsc3.0:nrtdatasignaling로 정의될 수 있다.
도 243의 (b)는 NRT 데이터 시그널링의 실시예에 사용되는 NRT 데이터 속성에 대한 XML schema 구조를 나타낸다. 연동 장치(200)를 위한 NRT 데이터 시그널링 정보는 NRT 데이터를 식별하는 식별자, NRT 데이터의 소비 모델(consumption model)을 나타내는 소비 모델 정보, 방송 수신 장치(100)가 NRT 데이터를 다운로딩하는 상태를 나타내는 다운로딩 상태 정보 및 NRT 데이터를 구성하는 컨텐츠 아이템에 관한 정보 중 적어도 어느 하나를 포함할 수 있다. 컨텐츠 아이템에 관한 정보는 컨텐츠 아이템을 식별하는 식별자, 컨텐츠 아이템의 이름을 나타내는 컨텐츠 아이템 이름, 컨텐츠 아이템의 크기를 나타내는 크기 정보, 컨텐츠 아이템의 재생 시간을 나타내는 재생 길이 정보 및 컨텐츠 서버에서 컨텐츠 아이템을 다운로딩할 수 있는 URL을 나타내는 URL 정보 중 적어도 어느 하나를 포함할 수 있다. 연동 장치(200)를 위한 NRT 데이터 시그널링 정보는 XML 형식일 수 있다.
연동 장치(200)를 위한 NRT 데이터 시그널링 정보는 도 243의 실시예에서 같이 XML 형식일 수 있다. 또한, 도 243의 실시예와 같이 연동 장치(200)를 위한 NRT 데이터 시그널링 정보는 정보는 DataId, ConsumptionModel, DownloadingStatut ContentItem 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다.
DataId는 NRT 데이터의 고유한 식별자를 나타낸다. 구체적인 실시예에서 DataId는 하나만 존재할 수 있다. 구체적인 실시예에서 DataId 1개 존재할 수 있다. DataId 는 언사인드 숏(unsigned short) 데이터 타입을 가질 수 있다.
ConsumptionModel은 NRT 데이터의 소비 모델을 나타낸다. ConsumptionModel은 브라우즈& 다운로드(Browse & Download), 포탈(portal), 푸쉬(push), 트리거드(Triggered), 푸쉬 스크립티드(Push Scripted), 포탈(Portal Scripted), 전자 프로그램 가이드(Electoric Program Guide, EPG) 중 어느 하나를 나타낼 수 있다. 구체적으로 Browse & Download는 NRT 서비스가 다운로드는 될 수 있는 컨텐츠를 제공하는 것을 나타낸다. 또한 포털은 NRT 서비스가 웹 브라우저와 유사한 경험을 제공하는 것을 나타낸다. 또한, 푸쉬는 NRT 서비스가 사용자 요청에 기초한 컨텐츠를 제공하는 것을 나타낸다. 트리거드는 NRT 서비스가 A/V 프로그램 동기화되는 어플리케이션을 제공하는 것을 나타낸다. 푸쉬 스크립티드는 사용자 요청에 기초한 컨텐츠를 제공하면서 NRT 서비스의 어플리케이션을 나타내는 선언적 오브젝트(declarative object, DO)가 특정 UI를 제공하는 것을 나타낸다. 포탈 스크립트는 NRT 서비스가 웹 브라우저와 유사한 경험을 제공하면서 DO가 특정 UI를 제공하는 것을 나타낸다. EPG는 NRT 서비스가 방송 수신 장치(100)의 EPG 어플리케이션에 의하여 소비되는 컨텐츠를 제공하는 것을 나타낸다. 구체적인 실시예에서 ConsumptionModel은 1개 존재할 수 있다. 구체적인 실시예에서 ConsumptionModel은 스트링 데이터 타입을 가질 수 있다.
DownloadingStatus는 방송 수신 장치(100)의 NRT 데이터의 다운로딩 상태를 나타낸다. NRT 데이터의 다운로딩 상태는 다운로드가 진행중임을 나타내는 다운로딩중, 다운로딩 완료를 나타내는 완료 및 다운로드 실패를 나타나내는 에러 중 적어도 하나를 나타낼 수 있다. 구체적인 실시예에서 DownloadingStatus는 1개 존재할 수 있다. 구체적인 실시예에서 DownloadingStatus는 스트링 데이터 타입을 가질 수 있다.
ContentItem은 NRT 데이터가 포함하는 컨텐츠 아이템을 나타낸다. 구체적인 실시예에서 NRT 데이터는 하나 또는 복수의 컨텐츠 아이템을 포함할 수 있다. 따라서 ContentItem은 하나 또는 복수가 존재할 수 있다.
ContentItem은 ContentItemId, ContentItemName, ContentItemSize, PlaybackLength 및 URL 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다.
ContentItemId는 컨테츠 아이템을 식별하는 식별자이다. 구체적인 실시예에서 ContentItemId는 하나 존재할 수 있다. 구체적인 실시예에서 contentItemId)는 언사인드 숏의 데이터 타입을 가질 수 있다.
ContentItemName은 컨텐츠 아이템의 이름을 나타낸다. 구체적인 실시예에서 ContentItemName은 하나 또는 복수개 존재할 수 있다. 구체적인 실시예에서 ContentItemName은 스트링 데이터 타입을 가질 수 있다.
ContentItemSize는 컨텐츠 아이템의 크기를 나타낸다. 구체적인 실시예에서 ContentItemSize는 바이트(byte) 단위로 표시될 수 있다. 구체적인 실시예에서 ContentItemSize는 하나 존재할 수 있다. 또한 구체적인 실시예에서 ContentItemSize는 언사인드 숏의 데이터 타입을 가질 수 있다.
PlaybackLength는 컨텐츠 아이템의 재생 길이를 나타낸다. PlaybackLength는 컨텐츠 아이템이 비디오 또는 오디오 일때만 존재할 수 있다. 구체적인 실시예에서 PlaybackLength는 하나 또는 복수개 존재할 수 있다. 구체적인 실시예에서 PlaybackLength는 언사인드 숏의 데이터 타입을 가질 수 있다.
URL은 컨텐츠 서버로부터 컨텐츠 아이템을 받을 수 있는 URL을 나타낸다.
도 244은 본 발명의 일 실시예에 따라 방송 수신 장치가 방송 수신 장치를 위한 NRT 데이터 시그널링 정보에 기초하여 연동 장치를 위한 NRT 데이터 시그널링 정보를 생성하는 것을 보여준다.
방송 수신 장치(100)는 방송 신호에 기초하여 방송 수신 장치(100)를 위한 NRT 데이터 시그널링 정보를 수신할 수 있다. 방송 수신 장치(100)는 방송 수신 장치(100)를 위한 NRT 데이터 시그널링 정보에 기초하여 연동 장치(200)를 위한 NRT 데이터 시그널링 정보를 전송할 수 있다. 구체적으로 방송 수신 장치(100)는 방송 수신 장치(100)를 위한 NRT 데이터 시그널링 정보에 기초하여 연동 장치(200)를 위한 NRT 시그널링 정보를 생성할 수 있다. 방송 수신 장치(100)는 생성한 NRT 데이터 시그널링 정보를 연동 장치(200)에게 전송할 수 있다. 이때, 방송 수신 장치(100)는 방송 수신 장치(100)를 위한 NRT 데이터 시그널링 정보로부터 NRT 데이터를 식별하는 식별자, NRT 데이터의 소비 형태를 나타내는 소비 모델 정보 및 NRT 데이터가 포함하는 컨텐츠 아이템에 관한 정보 중 적어도 어느 하나를 추출할 수 있다. 컨텐츠 아이템에 관한 정보는 컨텐츠 아이템의 이름을 나타내는 컨텐츠 아이템 이름, 컨텐츠 아이템을 식별하는 컨텐츠 아이템 식별자, 컨텐츠 아이템의 재생 길이를 나타내는 재생 길이 및 컨텐츠 아이템의 크기를 나타내는 컨텐츠 아이템 크기 중 적어도 어느 하나를 포함할 수 있다.
구체적인 실시예에서 방송 수신 장치(100)를 위한 시그널링 정보는 NRT 데이터를 시그널링하는 정보와 NRT 데이터가 포함하는 컨텐츠 아이템을 시그널링하는 정보로 구분할 수 있다. 구체적으로 NRT 데이터를 시그널링하는 정보는 ATSC 표준의 SMT(Service Map Table)일 수 있다. 또한, 컨텐츠 아이템을 시그널링하는 정보는 ATSC 표준의 NRT-IT(Non-Real-Time Information Table)일 수 있다. 예컨대, 방송 수신 장치(100)는 SMT로부터 NRT 데이터에 해당하는 서비스 식별자를 추출하여 NRT 데이터의 식별자에 매핑할 수 있다. 또한, 방송 수신 장치(100)는 SMT로부터 NRT 데이터에 해당하는 소비 모델을 추출하여 소비 모델 정보에 매핑할 수 있다. 또한, 방송 수신 장치(100)는 NRT IT로부터 컨텐츠 이름을 추출하여 컨텐츠 아이템 이름에 매핑할 수 있다. 또한, 방송 수신 장치(100)는 NRT IT로부터 컨텐츠 링키지(linkage)를 추출하여 컨텐츠 식별자에 매핑할 수 있다. 또한, 방송 수신 장치(100)는 NRT IT로부터 재생 길이를 추출하여 재생 길이에 매핑할 수 있다. 또한, 방송 수신 장치(100)는 NRT IT로부터 컨텐츠 길이를 추출하여 컨텐츠 아이템 크기에 매핑할 수 있다. 또한, 방송 수신 장치(100)는 NRT IT로부터 인터넷 위치를 추출하여 URL에 매핑할 수 있다.
또한, 구체적인 실시예에서 방송 수신 장치(100)는 연동 장치(200)의 요청에기초하여 연동 장치(200)를 위한 NRT 데이터 시그널링 정보를 생성할 수 있다. 구체적으로 방송 수신 장치(100)는 연동 장치(200)가 요청한 NRT 데이터의 속성을 포함하는 연동 장치(200)를 위한 NRT 데이터 시그널링 정보를 생성할 수 있다.
방송 수신 장치(100)는 방송 수신 장치(100)를 위한 NRT 시그널링 정보 중 연동 장치(200)에게 필요한 정보만을 추출하여 연동 장치(200)를 위한 NRT 시그널링 정보를 생성함으로써 연동 장치(200)와의 통신 트래픽을 줄일 수 있다. 또한, 이를 통해 방송 수신 장치(100)는 NRT 데이터 시그널링 정보 처리를 위한 연동 장치(200)의 부하를 줄일 수 있다.
도 245는 본 발명의 일 실시예에 따른 NRT 데이터에 관한 변수, NRT 데이터 획득을 위한 액션 및 액션의 인자를 보여준다.
방송 수신 장치(100)는 연동 장치(200)에게 NRT 데이터의 속성을 나타내는 변수와 NRT 데이터를 식별하는 변수를 이용하여 NRT 데이터를 시그널링할 수 있다. 방송 수신 장치(100)는 NRT 데이터에 변동이 있는 경우 NRT 데이터의 속성을 나타내는 변수를 연동 장치(200)에게 전달할 수 있다. 또한, 연동 장치(200)는 획득하고자 하는 NRT 데이터의 속성을 NRT 데이터를 식별하는 변수를 이용하여 방송 수신 장치(100)에게 요청할 수 있다.
구체적인 실시예에서 NRT 데이터의 속성을 나타내는 변수는 도 245의 (a)와 같이 NRTDataProperty라 할 수 있다. NRTDataProerty는 필수 변수로 XML 형태의 스트링 데이터 타입을 가질 수 있다. 연동 장치(200)가 방송 수신 장치(100)에게 NRT 데이터 시그널링 알림 요청을 하는 경우, 방송 수신 장치(100)는 연동 장치(200)에게 NRTDataProerty를 전송할 수 있다. NRTDataProperty에 대한 XML schema 구조를 표현하기 위한 데이터 포맷은 도 245의 (b)와 같을 수 있다. NRT 데이터를 식별하는 변수는 도 245의 (a)와 같이 NRTDataID라 할 수 있다. NRTDataID는 필수 변수이고 스트링 데이터 타입을 가질 수 있다.
연동 장치(100)는 방송 수신 장치(100)에게 NRT 데이터의 시그널링 정보를 요청하기 위해 NRT 데이터 시그널링 정보를 요청하는 액션을 사용할 수 있다. NRT 데이터 시그널링 정보를 요청하는 액션은 도 245의 (c)와 같이 정의될 수 있다. NRT 데이터 시그널링 정보를 요청하는 액션은 도 245의 (d)에 도시된 바와 같이 NRT 데이터를 식별하는 변수를 입력 인자로 할 수 있고, NRT 데이터의 속성을 나타내는 변수를 출력 인자로 할 수 있다. 이때, NRT 데이터 시그널링 정보를 요청하는 액션은 도 245의 (c)와 같이 GetNRTDataProperty라할 수 있다. GetNRTDatProperty의 입력 인자는 NRTDataID일 수 있다. GetNRTDatProperty의 출력 인자는 NRTDataProperty일 수 있다. 즉, 연동 장치가 GetNRTDataProperty action을 사용할 때 NRTDataID를 input parameter로 넣을 수 있다. 또한 연동 장치는 원하는 NRTDataID의 NRTDataProperty에 대해서 방송 수신 장치로부터 NRTDataProperty argument를 통해 반환받을 수 있다.
도 246은 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 NRT 데이터를 시그널링하는 것을 보여준다.
방송 수신 장치(100)와 연동 장치(200)는 페어링 세션을 생성한다(S2181). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 또한, 방송 수신 장치(100)는 페어링 세션을 생성하는 과정에서 연동 장치(200)의 어플리케이션과 호환 여부에 기초하여 페어링 세션을 생성할 수 있다. 구체적으로 방송 수신 장치(100)는 연동 장치(200)의 어플리케이션과 호환이 가능한 경우 페어링 세션을 생성할 수 있다. 구체적으로 호환 여부를 확인하기 위해 방송 수신 장치(100)는 연동 장치(200)의 어플리케이션의 버전 및 어플리케이션 식별자 중 적어도 어느 하나를 확인할 수 있다. 또 다른 구체적인 실시예에서 연동 장치(200)는 페어링 세션을 생성하는 과정에서 방송 수신 장치(100)의 어플리케이션과 호환 여부를 확인할 수 있다. 구체적으로 연동 장치(200)는 방송 수신 장치(100)의 어플리케이션과 호환이 가능한 경우 페어링 세션을 생성할 수 있다. 구체적으로 호환 여부를 확인하기 위해 연동 장치(200)는 방송 수신 장치(100) 어플리케이션의 버전 및 어플리케이션 식별자 중 적어도 어느 하나를 확인할 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 NRT 데이터 시그널링 정보 알림을 요청한다(S2183). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 NRT 데이터 시그널링 정보 알림을 요청할 수 있다. 구체적으로 연동 장치(200)는 UPnP 프로토콜을 이용하여 방송 수신 장치(100)에게 NRT 데이터 시그널링 정보 알림을 요청할 수 있다. 구체적인 실시예에서 연동 장치(200)는 이벤팅 프로토콜에 기초하여 방송 수신 장치(100)에게 NRT 데이터의 속성에 대한 이벤트의 구독(subscription) 요청을 할 수 있다.
방송 수신 장치(100)는 방송 서비스에 기초하여 방송 수신 장치(100)를 위한 NRT 데이터 시그널링 정보를 수신한다(S2185). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 NRT 데이터 시그널링 정보를 수신할 수 있다.
방송 수신 장치(100)는 NRT 데이터 시그널링 정보에 기초하여 NRT 데이터를 수신한다(S2187, S2189). 구체적으로 방송 수신 장치(100)는 NRT 데이터 시그널링 정보에 기초하여 방송 수신부(110)를 통해 방송망으로부터 NRT 데이터를 수신할 수 있다. 또한, 방송 수신 장치(100)는 NRT 데이터 시그널링 정보에 기초하여 IP 통신부(130)를 통해 인터넷망으로부터 NRT 데이터를 수신할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 방송 수신 장치(100)를 위한 NRT 데이터 시그널링 정보에 기초하여 연동 장치(200)에 대한 NRT 데이터 시그널링 정보를 알린다(notify)(S2191). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 방송 수신 장치(100)를 위한 NRT 데이터 시그널링 정보에 기초하여 연동 장치(200)에 대한 NRT 데이터 시그널링 정보를 알릴 수 있다. 방송 수신 장치(100)는 전술한 바와 같이 NRT 데이터 시그널링 정보에 기초하여 연동 장치(200)에 대한 NRT 데이터 시그널링 정보를 생성할 수 있다. 방송 수신 장치(100)는 생성한 연동 장치(200)에 대한 NRT 데이터 시그널링 정보를 연동 장치(200)에게 전송할 수 있다. 또한, 앞서 설명한 바와 같이 방송 수신 장치(100)는 연동 장치(200)가 요청한 NRT 데이터 속성을 포함하는 연동 장치(200)를 위한 NRT 데이터 시그널링 정보를 생성할 수 있다.
앞서 설명한 바와 같이 연동 장치(200)는 방송 수신 장치(100)에게 연동 장치(200)를 위한 NRT 데이터 시그널링 정보를 요청하여 연동 장치(200)를 위한 NRT 데이터 시그널링 정보를 획득할 수 있다(S2193, S2195). 구체적으로 연동 장치(200)는 NRT 데이터를 식별하는 식별자를 전송하여 식별자에 해당하는 NRT 데이터 시그널링 정보를 수신할 수 있다. 이때, 방송 전송 장치(100)와 연동 장치(200)는 전술한 액션과 변수를 사용할 수 있다.
연동 장치(200)는 NRT 데이터 시그널링 정보에 기초하여 NRT 데이터를 수신할 수 있다. 구체적으로 연동 장치(200)는 NRT 데이터 시그널링 정보에 기초하여 인터넷망을 통하여 NRT 데이터를 수신할 수 있다. 또 다른 구체적인 실시예에서 연동 장치(200)는 NRT 데이터 시그널링 정보에 기초하여 방송 수신 장치(100)로부터 NRT 데이터를 수신할 수 있다. 이를 통해 연동 장치(200)가 방송 서비스를 직접 수신할 수 없고, 인터넷망을 통하여 NRT 데이터를 제공하는 서버에 접속할 수 없는 경우에도 연동 장치(200)는 NRT 데이터를 수신할 수 있다.
도 247는 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 NRT 데이터를 시그널링하는 것을 보여준다.
방송 수신 장치(100)와 연동 장치(200)는 페어링 세션을 생성한다(S2201). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적인 방송 수신 장치(100)와 연동 장치(200)의 동작은 전술한 실시예와 같을 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 NRT 데이터 시그널링 정보 알림을 요청한다(S2203). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 NRT 데이터 시그널링 정보 알림을 요청할 수 있다. 구체적으로 연동 장치(200)는 UPnP 프로토콜을 이용하여 방송 수신 장치(100)에게 NRT 데이터 시그널링 정보 알림을 요청할 수 있다. 구체적인 실시예에서 연동 장치(200)는 이벤팅 프로토콜에 기초하여 방송 수신 장치(100)에게 NRT 데이터의 속성에 대한 이벤트의 구독(subscription) 요청을 할 수 있다.
방송 수신 장치(100)는 방송 서비스에 기초하여 방송 수신 장치(100)를 위한 NRT 데이터 시그널링 정보를 수신한다(S2205). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 NRT 데이터 시그널링 정보를 수신할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 방송 수신 장치(100)를 위한 NRT 데이터 시그널링 정보에 기초하여 연동 장치(200)에 대한 NRT 데이터 시그널링 정보를 알린다(S2207, S2209). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 방송 수신 장치(100)를 위한 NRT 데이터 시그널링 정보에 기초하여 연동 장치(200)에 대한 NRT 데이터 시그널링 정보를 알릴 수 있다. 방송 수신 장치(100)는 전술한 바와 같이 NRT 데이터 시그널링 정보에 기초하여 연동 장치(200)에 대한 NRT 데이터 시그널링 정보를 생성할 수 있다. 방송 수신 장치(100)는 생성한 연동 장치(200)에 대한 NRT 데이터 시그널링 정보를 연동 장치(200)에게 전송할 수 있다. 또한, 앞서 설명한 바와 같이 방송 수신 장치(100)는 연동 장치(200)가 요청한 NRT 데이터 속성을 포함하는 연동 장치(200)를 위한 NRT 데이터 시그널링 정보를 생성할 수 있다.
방송 수신 장치(100)는 NRT 데이터 시그널링 정보에 기초하여 NRT 데이터를 수신을 시작한다(S2211). 구체적으로 방송 수신 장치(100)는 NRT 데이터 시그널링 정보에 기초하여 방송 수신부(110)를 통해 방송망으로부터 NRT 데이터를 수신을 시작할 수 있다. 또한, 방송 수신 장치(100)는 NRT 데이터 시그널링 정보에 기초하여 IP 통신부(130)를 통해 인터넷망으로부터 NRT 데이터를 수신을 시작할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 NRT 데이터의 다운로드 상태를 알린다(S2213). 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 NRT 데이터의 다운로드 상태를 알릴 수 있다. 방송 수신 장치(100)는 NRT 데이터의 다운로드 상태를 다운로드가 진행중임을 나타내는 다운로딩중, 다운로딩 완료를 나타내는 완료 및 다운로드 실패를 나타내는 에러로 표시할 수 있다. 이때, 방송 수신 장치(100)는 NRT 데이터의 다운로드가 진행중인 경우 다운로드 완료된 비율을 함께 표시할 수 있다. 예컨대, 방송 수신 장치(100)는 "다운로딩 중, 30% 완료"로 다운로드 상태를 표시할 수 있다. 또한, 방송 수신 장치(100)는 일정한 시간 간격으로 연동 장치(200)에게 NRT 데이터의 다운로드 상태를 알릴 수 있다. 예컨대, 방송 수신 장치(100)는 10초마다 연동 장치(200)에게 NRT 데이터의 다운로드 상태를 알릴 수 있다. 이때, 알림 주기는 연동 장치(200)의 요청에 기초하여 결정될 수 있다. 예컨대, 연동 장치(200)는 방송 수신 장치(100)에게 NRT 데이터 시그널링 정보 알림 요청을 하면서 알림 주기를 전송할 수 있다. 또한, 방송 수신 장치(100)는 연동 장치(200)가 요청한 알림 주기에 따라 NRT 데이터의 다운로드 상태를 알릴 수 있다. 또한, 방송 수신 장치(100)는 다운로드 완료된 비율을 기준으로 연동 장치(200)에게 NRT 데이터의 다운로드 상태를 알릴 수 있다. 예컨대, NRT 데이터의 다운로드가 30%, 60% 및 100% 완료된 때, 방송 수신 장치(100)는 연동 장치(200)에게 NRT 데이터의 다운로드 상태를 알릴 수 있다.
연동 장치(200)는 NRT 데이터 시그널링 정보에 기초하여 NRT 데이터를 수신할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)로부터 NRT 데이터 다운로드가 완료됨을 수신한 때, 연동 장치(200)는 NRT 데이터 시그널링 정보에 기초하여 방송 수신 장치(100)로부터 NRT 데이터를 수신할 수 있다. 이를 통해 연동 장치(200)가 방송 서비스를 직접 수신할 수 없고, 인터넷망을 통하여 NRT 데이터를 제공하는 서버에 접속할 수 없는 경우에도 연동 장치(200)는 NRT 데이터를 수신할 수 있다. 또한, 이를 통해 방송 수신 장치(100)의 NRT 데이터 다운로딩이 완료되자마자 연동 장치(200)는 방송 수신 장치(100)에게 NRT 데이터를 요청할 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 미디어 컴포넌트를 시그널링하거나 미디어 컴포넌트를 전송할 수 있다. 다만, 방송 수신 장치(100)와 연동할 수 있는 연동 장치(200)의 종류가 다양하다. 다양한 연동 장치(200)의 성능은 제 각각이다. 따라서, 모든 연동 장치(200)가 재생할 수 있는 미디어 컴포넌트를 제공하는 것은 매우 어렵다. 또한, 연동 장치(200)가 수신한 미디어 컴포넌트를 재생하지 못할 경우 사용자는 불편을 느끼게된다. 이를 해결하기 위해 미디어 컴포넌트를 재생하기 위해 필요한 장치의 성능을 시그널링하는 장치 성능 정보를 방송 수신 장치(100)가 연동 장치(200)에게 시그널링할 필요가 있다.
도 248는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 장치 성능 정보를 보여준다. UPnP를 이용한 실시 예의 경우, 방송 수신 장치(100)로부터 연동 장치(200)로 장치 성능을 시그널링하는 장치 서능 시그널링 서비스(DeviceCapabilitySignlaing Service)는 도 248의 (a)와 같이 정의될 수 있다. 즉 DeviceCapabilitySignlaing Service의 서비스 타입은 atsc3.0:devservicesignaling:1로 정의될 수 있으며, 서비스 식별자는 urn:atsc.org:serviceId:atsc3.0:devservicesignaling로 정의될 수 있다.
미디어 컴포넌트를 재생하기 위해 필요한 장치의 성능을 나타내는 장치 성능정보를 방송 수신 장치(100)가 연동 장치(200)에게 시그널링할 수 있다. 장치 성능 정보는 복수의 미디어 컴포넌트에 대한 정보를 포함할 수 있다. 장치 성능 정보는 미디어 컴포넌트를 식별하는 미디어 컴포넌트 식별자, 미디어 컴포넌트의 종류를 나타내는 미디어 컴포넌트 타입, 미디어 컴포넌트가 비디오를 포함하는 경우 비디오에 관한 정보, 미디어 컴포넌트가 오디오를 포함하는 경우 오디오의 코덱을 나타내는 오디오 코덱 정보, 미디어 컴포넌트가 자막을 포함하는 경우 자막의 인코딩 형식을 나타내는 자막 코덱, 미디어 컴포넌트가 어플리케이션을 포함하는 경우 어플리케이션의 버전을 나타내는 어플리케이션 버전 정보, 미디어 컴포넌트가 NRT 컨텐츠 아이템이나 NRT 파일 또는 사용자 요청 컴포넌트인 경우 성는 코드(capability code), 미디어 컴포넌트를 획득할 수 있는 URL을 나타내는 미디어 컴포넌트 URL 중 적어도 어느 하나를 포함할 수 있다. 미디어 컴포넌트가 포함하는 비디오에 관한 정보는 비디오의 코덱을 나타내는 비디오 코덱 정보, 비디오의 해상도를 나타내는 비디오 해상도 정보 및 비디오의 화면 비율(aspect ratio)을 나타내는 화면 비율 정보 중 적어도 어느 하나를 포함할 수 있다.
장치 성능 정보는 도 248의 (b) 또는 (c)의 실시예에서와 같이 XML 형식일 수 있다. 장치 성능 정보는 하나의 미디어 컴포넌트를 나타내는 ComponentItem을 어트리뷰트로 하나 또는 복수개 포함할 수 있다. ComponentItem은 도 248의 (b)와 같이 ComponentID, ComponentType, Video, AudioCodec, CCCodec, AppVersion, CapabilityCode 및 AvailComponentURL 중 적어도 어느 하나를 포함할 수 있다. 여기서 Video는 하위 어트리뷰트로써 VideoCodec, Resolution 및 AspectRatio 중 적어도 하나를 포함할 수 있다.
또한 ComponentItem은 도 248의 (c)와 같이 ComponentID, ComponentType, Video, Audio, CC, App, CapabilityCode 및 AvailComponentURL 중 적어도 어느 하나를 포함할 수 있다. 여기서 Video는 하위 어트리뷰트로써 VideoCodec, Resolution 및 AspectRatio 중 적어도 하나를 포함할 수 있다. 또한 Audio는 하위 어트리뷰트로써 AudioCodec을, CC는 하위 어트리뷰트로써 CCCodec을, App는 하위 어트리뷰트로써 AppVersion을 각각 포함할 수 있다.
ComponentID는 미디어 컴포넌트를 식별하는 식별자를 나타낸다. 구체적인 실시예에서 ComponentID는 ComponentItem마다 한 개 존재할 수 있다. 구체적인 실시예에서 ComponentID는 unsignedShort 데이터 타입을 가질 수 있다.
ComponentType은 미디어 컴포넌트의 종류를 나타낸다. 구체적인 실시예에서 ComponentType은 ComponentItem마다 한 개 존재할 수 있다. 구체적인 실시예에서 ComponentType은 string 데이터 타입을 가질 수 있다.
Video는 미디어 컴포넌트가 포함하는 비디오에 관한 정보를 나타낸다. Video는 VideoCodec, Resolution 및 AspectRatio 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다.
VideoCodec은 미디어 컴포넌트가 포함하는 비디오의 코덱을 나타낸다. 구체적인 실시예에서 VideoCodec은 Video마다 한 개 존재할 수 있다. 구체적인 실시예에서 VideoCodec은 스트링 데이터 타입을 가질 수 있다.
Resolution은 미디어 컴포넌트가 포함하는 비디오의 해상도를 나타낸다. 구체적인 실시예에서 Resolution은 Video마다 한 개 존재할 수 있다. 구체적인 실시예에서 Resolution은 스트링 데이터 타입을 가질 수 있다.
AspectRatio는 미디어 컴포넌트가 포함하는 비디오의 화면 비율을 나타낸다. 구체적인 실시예에서 AspectRatio는 Video마다 한 개 존재할 수 있다. 구체적인 실시예에서 AspectRatio는 스트링 데이터 타입을 가질 수 있다.
*1984Audio는 미디어 컴포넌트가 포함하는 오디오에 관한 정보를 나타낸다.
AudioCodec은 미디어 컴포넌트가 포함하는 오디오의 코덱을 나타낸다. 구체적인 실시예에서 AudioCodec은 스트링 데이터 타입을 가질 수 있다.
CC는 미디어 컴포넌트가 포함하는 자막에 관한 정보를 나타낸다.
CCCodec은 미디어 컴포넌트가 포함하는 자막의 형식을 나타낸다. 구체적인 실시예에서 CCCodec은 스트링 데이터 타입을 가질 수 있다.
App은 미디어 컴포넌트가 포함하는 어플리케이션에 관한 정보를 나타낸다.
AppVersion은 미디어 컴포넌트가 포함하는 어플리케이션의 버전을 나타낸다. 구??거인 실시예에서 AppVersion은 인티저 타입을 가질 수 있다.
CapabilityCode는 미디어 컴포넌트가 사용자 요청 컴포넌트, NRT 컨텐츠 아이템 또는 NRT 파일을 포함할 경우 사용자 요청 컴포넌트, NRT 컨텐츠 아이템 또는 NRT 파일에 해당하는 성능 코드를 나타낸다. 이때, 성능 코드의 값은 ATSC NRT 표준에 정의된 값을 나타낼 수 있다. 구체적인 실시예에서 CapabilityCode는 스트링 데이터 타입을 가질 수 있다.
AvailComponentURL는 미디어 컴포넌트를 획득할 수 있는 URL을 나타낸다. 구체적인 실시예에서 AvailComponentURL은 미디어 컴포넌트와 동일한 내용을 포함하고, 재생을 위해 필요한 장치 성능이 다른 대체 미디어 컴포넌트를 수신할 수 있는 URL을 나타낼 수 있다. 구체적인 실시예에서 AvailCompoentURL는 불리언 데이터 타입을 가질 수 있다.
도 249은 본 발명의 일 실시예에 따른 장치 성능 정보에 관한 상태 변수를 나타낸다. 본 실시예는 UPnP를 이용할 때의 상태 변수에 대해 설명한다.
방송 수신 장치(100)는 연동 장치(200)에게 장치 성능 정보를 전송할 수 있다. 구체적으로 연동 장치(200)는 방송 수신 장치(100)에게 장치 성능 정보에 대한 알림을 신청할 수 있다. 방송 수신 장치(100)는 성능 정보를 수신한 경우, 장치 성능 정보를 연동 장치(200)에게 시그널링할 수 있다. 또한, 연동 장치(200)는 방송 수신 장치(100)에게 성능 정보를 요청하여 성능 정보를 획득할 수 있다. 이때, 방송 수신 장치(100)와 연동 장치(200)는 도 249의 실시예의 상태 변수를 사용할 수 있다.
본 실시예에서 장치 성능 정보를 시그널링하기 위해 디바이스 성능 속성 상태 변수 및 컴포넌트 URL 상태 변수가 사용될 수 있다. 디바이스 성능 속성 상태 변수는 DeviceCapabilityProperty로 표현될 수 있으며, 컴포넌트 URL 상태 변수는 ComponentURL로 표현될 수 있다.
도 249의 (a)에 도시된 바와 같이, DeviceCapabilityProperty 는 XML 또는 JSON 형태의 스트링 타입을 가질 수 있다. DeviceCapabilityProperty 는 필수 상태 변수일 수 있다. DeviceCapabilityProperty는 연동 장치에 대한 정보를 가질 수 있다. 또한, DeviceCapabilityProperty 는 연동 장치가 구독(subscribe)할 수 있으며, 방송 수신 장치는 장치 성능 정보에 변동사항이 생길 경우 Event 형식으로 연동 장치에 통지(notify)해 줄 수 있다.
DeviceCapabilityProperty 상태 변수는 전술한 디바이스 성능을 시그널링하는 서비스를 위한 속성을 나타낼 수 있으며, 데이터 포맷은 도 249의 (b)와 같을 수 있다.
ComponentURL 상태 변수는 방송 송신 장치(서버) 내에 연동 장치의 장치 성능에 적합한 컴포넌트가 있을 경우에, 방송 수신 장치가 연동 장치에게 URL 정보를 전달하는 데에 사용될 수 있다. ComponentURL 상태 변수의 데이터 포맷은 도 249의 (c)와 같을 수 있다. 실시예에 따라 ComponentURL 상태 변수의 데이터 포맷은 URI 타입일 수도 있다.
장치 성능에 대한 정보를 시그널링하기 위해 위에서 언급한 상태 변수 외에 추가로 도 249의 (d)와 같은 상태 변수를 더 정의할 수도 있다. 컴포넌트 식별자에 대한 상태 변수는 A_ARG_TYPE_ComponentId로 표현될 수 있다. A_ARG_TYPE_ComponentId는 컴포넌트 아이템을 요청하는 GetComponentItem action의 입력 인자인 ComponentId의 전달을 위해 사용될 수 있다. A_ARG_TYPE_ComponentId 상태 변수는 필수 변수가 될 수 있으며, XML 또는 JSON 형태의 스트링 타입일 수 있다. 컴포넌트 아이템에 대한 상태 변수는 A_ARG_TYPE_ComponentItem로 표현될 수 있다. A_ARG_TYPE_ComponentItem는 컴포넌트 아이템을 요청하는 GetComponentItem action의 출력 인자인 ComponentItem의 전달을 위해 사용될 수 있다. A_ARG_TYPE_ComponentItem 상태 변수는 필수 변수가 될 수 있으며, XML 또는 JSON 형태의 스트링 타입일 수 있다.
도 250은 본 발명의 일 실시예에 따른 장치 성능 정보 획득을 위한 액션 및 액션의 인자를 나타낸다. 본 실시예는 UPnP를 이용할 때의 액션 및 인자에 대해 설명한다.
도 250의 (a)에 도시된 바와 같이 장치 성능 정보 획득을 위한 액션은 컴포넌트 아이템을 요청하는 액션, 컴포넌트의 위치를 요청하는 액션 및 디바이스의 성능을 요청하는 액션 중 적어도 하나를 포함할 수 있다.
컴포넌트 아이템을 요청하는 액션은 GetComponentItem로 표현될 수 있다. GetComponentItem은 연동 장치가 자신의 장치 성능(device capability)에 적합한 컴포넌트를 방송 수신 장치에게 요청할 때 사용될 수 있다. 장치 성능에 적합하다는 의미는 연동 장치가 해당 컴포넌트를 렌더링 할 수 있거나 meaningful presentation이 가능하다는 의미로 사용될 수 있다. GetComponentItem는 필수 액션일 수 있다.
컴포넌트의 위치를 요청하는 액션은 GetComponentURL로 표현될 수 있다. GetComponentURL은 연동 장치가 프로그램 혹은 컴포넌트에 대한 정보를 컨텐츠 서버를 통해서 받아올 수 있는 위치, 예를 들어 URL을 요청할 때 사용될 수 있다. GetComponentURL는 선택 옵션일 수 있다.
디바이스의 성능을 요청하는 액션은 GetDeviceCapability로 표현될 수 있다. GetDeviceCapability은 연동 장치가 프로그램 또는 컴포넌트를 렌더링 또는 meaningful presentation하기 위한 장치 성능 정보를 얻어오기 위해 사용될 수 있다. GetDeviceCapability 는 필수 액션일 수 있다.
도 250의 (b)는 장치 성능 정보 획득을 위한 각 액션의 인자를 나타낸다.
GetDeviceCapability Action은 연동 장치가 방송 수신 장치에 페어링된 후 GetDeviceCapability action을 통해서 특정 프로그램 혹은 ComponentID에 해당하는 컴포넌트를 렌더링 또는 meaningful presentation하기 위해 필요한 연동 장치의 장치 성능 정보를 DeviceCapabilityProperty argument로 전달 받을 수 있다. 입력 인자인 ComponentID가 empty로 이 action이 요청되면, 방송 수신 장치에서 현재 서비스 중인 프로그램 혹은 컴포넌트의 장치 성능 정보를 DeviceCapabilityProperty argument로 전달 받을 수 있다.
GetComponentURL Action은 연동 장치가 GetComponentURL action을 통해서 특정 프로그램 혹은 ComponentID에 해당하는 컴포넌트에 대한 정보를 얻을 수 있는 컨텐츠 서버상의 위치를 ComponentURL argument로써 전달 받을 수 있다. 여기서 컴포넌트에 대한 정보는 재생을 가능하게 하는 컨텐츠의 접속 URL 및 부가정보를 포함할 수 있다.
입력 인자인 ComponentID가 empty로 GetComponentURL action이 요청되면, 방송 수신 장치에서 현재 서비스 중인 프로그램 혹은 컴포넌트의 정보를 얻을 수 있는 컨텐츠 서버상의 위치를 ComponentURL argument로 전달 받을 수 있다. 컨텐츠 서버는 방송 수신 장치에 존재할 수도 있고, 외부 인터넷 서버 또는 방송 송신 장치가 될 수도 있다. 연동 장치는 GetComponentURL action이 요청하는 프로그램 혹은 컴포넌트의 TargetScreen이 연동 장치로 지정되어 있을 경우, 즉 연동 장치에서 재생이 가능한 혹은 허가되었을 경우만 GetComponentURL action을 요청할 수 있다. 또는 방송 수신 장치가 GetComponentURL action 요청을 수신한 후 요청받은 프로그램 혹은 컴포넌트가 해당 연동 장치에서의 재생이 가능하거나 허가되어있을때만 ComponentURL 출력 인자를 회신해 줄 수도 있다.
연동 장치가 GetComponentURL action을 이용하여 Component Content를 요청하고 방송 수신 장치가 연동 장치로 전달하는 방식은 second screen 분야에서 일반적인 communication 방식을 사용할 수 있다.
연동 장치는 GetComponentItem action에 ComponentId를 입력 인자로 넣어 해당 컴포넌트를 다운로드 받거나 스트리밍할 수 있다. 방송 수신 장치는 GetComponentItem action에 대해 ComponentItem을 출력 인자로 회신할 수 있다.
도 251은 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다.
방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(S2301). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적인 방송 수신 장치(100)와 연동 장치(200)의 동작은 전술한 실시예와 같을 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 장치 성능 정보 알림을 요청한다(S2303). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 장치 성능 정보 알림을 요청할 수 있다. 앞서 설명한 바와 같이 연동 장치(200)는 방송 수신 장치(100)에게 UPnP 이벤팅 프로토콜을 이용하여 방송 수신 장치(100)에게 장치 성능 정보 알림을 요청할 수 있다.
방송 수신 장치(100)는 방송 서비스에 기초하여 방송 서비스 시그널링 정보를 수신한다(S2305). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 방송 서비스 시그널링 정보를 수신할 수 있다.
방송 수신 장치(100)는 서비스 시그널링 정보로부터 미디어 컴포넌트를 재생하기 위해 필요한 장치의 성능을 시그널링하는 장치 성능 정보를 추출한다(S2307). 방송 수신 장치(100)는 제어부(150)를 통하여 서비스 시그널링 정보로부터 미디어 컴포넌트를 재생하기 위해 필요한 장치의 성능을 시그널링하는 장치 성능 정보를 추출할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)가 추출한 장치 성능 정보는 전술한 장치 성능 정보와 같은 형태일 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 장치 성능 정보를 알린다(notify)(S2309). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 장치 성능 정보를 알릴 수 있다. 또한 방송 수신 장치(100)는 추출한 성능 정보를 편집하여 연동 장치(200)를 위한 장치 성능 정보를 생성할 수 있다. 이때, 방송 수신 장치(100)는 연동 장치(200)를 위한 장치 성능 정보를 연동 장치(200)에게 알릴 수 있다. 구체적인 실시예에서 연동 장치(200)를 위한 장치 성능 정보는 연동 장치(100)가 요청한 속성만을 포함할 수 있다. 구체적인 실시예에서 장치 성능 정보를 나타내는 변수는 전술한 DeviceCapabilityProperty일 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 장치 성능 정보에 기초하여 미디어 컴포넌트를 요청한다(S2311). 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 장치 성능 정보에 기초하여 미디어 컴포넌트를 요청할 수 있다. 구체적으로 연동 장치(200)는 연동 장치(200)의 사양(specification)이 장치 성능 정보에 포함된 장치 성능을 만족하는지 판단할 수 있다. 예컨대, 미디어 컴포넌트가 비디오를 포함하는 경우, 연동 장치(200)는 비디오를 재생할 수 있는 코덱을 가지고 있는지 판단할 수 있다. 또는 미디어 컴포넌트가 오디오를 포함하는 경우, 연동 장치(200)는 오디오를 재생할 수 있는 코덱을 가지고 있는지 판단할 수 있다. 또는, 미디어 컴포넌트가 어플리케이션을 포함하는 경우, 연동 장치(200)의 어플리케이션의 해당 버전을 지원하는지 판단할 수 있다. 또는, 미디어 컴포넌트가 자막을 포함하는 경우, 연동 장치(200)가 해당 자막의 타입을 지원하는지 판단할 수 있다. 이때 장치 성능을 만족하는 경우, 연동 장치(200)는 방송 수신 장치(100)에게 미디어 컴포넌트를 요청할 수 있다.
연동 장치가 컴포넌트를 요청하는 액션은 두 가지로 나누어 설명할 수 있다.
첫번째 실시예로 연동 장치는 방송 수신 장치에 대해 컴포넌트 URL을 요청할 수 있다. 이는 디바이스 성능 속성(DeviceCapabilityProperty)에 포함된 컴포넌트 URL 가능 여부를 나타내는 정보가 TRUE 일 때 가능하다. 연동 장치는 방송 수신 장치로부터 URL 정보를 수신하고, 이를 이용하여 방송 수신 장치 또는 외부 컨텐츠 공급자에로부터 컴포넌트를 다운로드하거나 스트리밍할 수 있다(S2313).
두번째 실시예로 연동 장치는 방송 수신 장치에 대해 컴포넌트를 요청할 수 있다(GetComponent action). 이는 디바이스 성능 속성(DeviceCapabilityProperty)에 포함된 컴포넌트 URL 가능 여부를 나타내는 정보가 FALSE 일 때 가능하다. 연동 장치는 방송 수신 장치로부터 컴포넌트를 다운로드하거나 스트리밍할 수 있다(S2313). 여기서 연동장치가 컴포넌트를 요청하는 액션(GetComponent action)은 전술한 GetComponentItem action과 동일할 수 있다.
연동 장치(200)는 미디어 컴포넌트를 재생한다(S2315). 연동 장치(200)는 제어부를 통하여 미디어 컴포넌트를 재생할 수 있다.
도 252는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다. 연동 장치는 미디어 컴포넌트를 재생하기 위해 필요한 장치 성능을 구비하지 못할 수 있다. 이러한 경우에 대해 아래에서 설명한다.
방송 전송 장치(100)와 연동 장치(200)가 페어링 세션을 형성하고, 방송 전송 장치(100)가 연동 장치(200)에게 장치 성능 정보를 알리는 동작은 이전 도면을 통해 설명한 것과 동일하다. 따라서 이에 대한 설명은 생략하기로 한다.
연동 장치(200)는 장치 성능 정보에 기초하여 사용자에게 미디어 컴포넌트 재생이 불가함을 표시한다(S2331). 연동 장치(200)는 제어부를 통하여 장치 성능 정보에 기초하여 사용자에게 미디어 컴포넌트 재생이 불가함을 표시할 수 있다. 구체적으로 연동 장치(200)는 연동 장치(200)의 사양(specification)이 장치 성능 정보에 포함된 장치 성능을 만족하는지 못하는 경우 미디어 컴포넌트의 재생이 불감함을 표시할 수 있다. 예컨대, 미디어 컴포넌트가 비디오를 포함하고 연동 장치(200)가 비디오를 재생하기 위해 필요한 코덱을 갖지 않는 경우, 연동 장치(200)는 비디오를 재생할 수 없음을 사용자에게 표시할 수 있다. 또는 미디어 컴포넌트가 오디오를 포함하고 연동 장치(200)가 오디오를 재생하기 위해 필요한 코덱을 갖지 않는 경우 는 경우, 연동 장치(200)는 오디오를 재생할 수 없음을 표시할 수 있다. 또는, 미디어 컴포넌트가 어플리케이션을 포함하고 연동 장치(200)의 어플리케이션의 해당 버전을 지원하지 않는 경우, 연동 장치(200)의 어플리케이션을 실행할 수 없음을 표시할 수 있다. 또는, 미디어 컴포넌트가 자막을 포함하고 연동 장치(200)가 해당 자막 형식을 지원하지 않는 경우, 연동 장치(200)가 자막을 재생할 수 없음을 사용자에게 표시할 수 있다.
도 253은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다. 아래에서는 연동 장치(200)가 미디어 컴포넌트의 재생을 위해 비 필수적으로 필요한 성능을 만족하지 못하는 경우, 연동 장치(200)가 사용자에게 미디어 컴포넌트의 재생을 선택할 수 있는 기회를 제공하는 실시예에 대해 설명한다.
방송 전송 장치(100)와 연동 장치(200)가 페어링 세션을 형성하고, 방송 전송 장치(100)가 연동 장치(200)에게 장치 성능 정보를 알리는 동작은 앞에서 설명한 것과 동일하다. 따라서 이에 대한 설명은 생략하기로 한다.
연동 장치(200)의 성능이 장치 성능 정보가 포함하는 장치 성능을 만족하지 않는 경우, 연동 장치(200)는 미디어 컴포넌트의 재생 여부에 대하여 사용자 입력을 수신한다(S2351). 연동 장치(200)는 제어부를 통하여 미디어 컴포넌트의 재생 여부에 대하여 사용자 입력을 수신할 수 있다. 구체적으로 연동 장치(200)는 미디어 컴포넌트의 재생을 위해 요구되는 장치 성능을 만족하지 못함을 표시하고 사용자로부터 미디어 컴포넌트 재생 여부에 대한 사용자 입력을 수신할 수 있다. 예컨대, 미디어 컴포넌트 가변적(scalable) 비디오 인코딩을 포함하고 연동 장치(200)가 인핸스먼트 계층을 지원하지 않는 경우, 연동 장치(200)는 베이스 계층만을 재생할 수 있음을 표시하고 사용자 입력을 수신할 수 있다. 또는 미디어 컴포넌트가 다채널 오디오를 포함하고 연동 장치(200)가 다 채널 오디오의 재생을 지원하지 않는 경우, 연동 장치(200)는 일부 채널의 오디오만을 재생할 수 있음을 표시하고 사용자 입력을 수신할 수 있다. 연동 장치(200)는 비 필수적 장치 성능을 만족하지 못하는 경우뿐만 아니라 필수적 장치 성능을 만족하지 못하는 경우에도 미디어 컴포넌트 재생 여부에 대한 사용자 입력을 수신할 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 사용자 입력에 기초하여 미디어 컴포넌트를 요청한다(S2353). 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 장치 사용자 입력에 기초하여 미디어 컴포넌트를 요청할 수 있다.
연동 장치가 컴포넌트를 요청하는 액션은 두 가지로 나누어 설명할 수 있다.
첫번째 실시예로 연동 장치는 방송 수신 장치에 대해 컴포넌트 URL을 요청할 수 있다. 이는 디바이스 성능 속성(DeviceCapabilityProperty)에 포함된 컴포넌트 URL 가능 여부를 나타내는 정보가 TRUE 일 때 가능하다. 연동 장치는 방송 수신 장치로부터 URL 정보를 수신하고, 이를 이용하여 방송 수신 장치 또는 외부 컨텐츠 공급자에로부터 컴포넌트를 다운로드하거나 스트리밍할 수 있다(S2353).
두번째 실시예로 연동 장치는 방송 수신 장치에 대해 컴포넌트를 요청할 수 있다(GetComponent action). 이는 디바이스 성능 속성(DeviceCapabilityProperty)에 포함된 컴포넌트 URL 가능 여부를 나타내는 정보가 FALSE 일 때 가능하다. 연동 장치는 방송 수신 장치로부터 컴포넌트를 다운로드하거나 스트리밍할 수 있다(S2353). 여기서 연동장치가 컴포넌트를 요청하는 액션(GetComponent action)은 전술한 GetComponentItem action과 동일할 수 있다.
연동 장치(200)는 방송 수신 장치(100)로부터 미디어 컴포넌트를 수신한다(S2355). 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)로부터 미디어 컴포넌트를 수신할 수 있다.
연동 장치(200)는 미디어 컴포넌트를 재생한다(S2357). 연동 장치(200)는 제어부를 통하여 미디어 컴포넌트를 재생할 수 있다.
이를 통해 연동 장치(200)는 연동 장치(200)가 미디어 컴포넌트 재생을 위해 필요한 장치 서능을 만족하지 못하는 경우에도 사용자에게 미디어 컴포넌트 재생에 관한 선택권을 제공할 수 있다.
도 254은 본 발명의 또 다른 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다. 연동 장치(200)가 장치 성능을 만족하지 못하는 경우, 미디어 컴포넌트의 재생이 원활하지 않을 수 있다. 미디어 컴포넌트의 원할한 재생을 위해서는 연동 장치(200)가 원활히 재생할 수 있는 미디어 컴포넌트를 수신하여야 한다. 이를 위해 연동 장치(200)는 컨텐츠/시그널링 서버(400)로부터 미디어 컴포넌트와 동일한 내용을 포함하고, 재생을 위해 필요한 장치 성능이 다른 대체 미디어 컴포넌트를 수신할 수 있다. 이에 대해 아래에서 설명한다.
방송 전송 장치(100)와 연동 장치(200)가 페어링 세션을 형성하고, 방송 전송 장치(100)가 연동 장치(200)에게 장치 성능 정보를 알리는 동작은 앞에서 설명한 것과 동일하다. 따라서 이에 대한 설명은 생략하기로 한다.
장치 성능 정보에 기초하여 연동 장치(200)는 방송 수신 장치(100)에게 미디어 컴포넌트를 수신할 수 있는 URL을 나타내는 미디어 컴포넌트 URL을 요청한다(S2381). 장치 성능 정보에 기초하여 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 미디어 컴포넌트 URL을 요청할 수 있다. 구제척으로 장치 성능 정보가 포함하는 장치 성능을 연동 장치(200)가 만족하지 못하는 경우, 연동 장치(200)는 미디어 컴포넌트 URL을 요청할 수 있다. 또한, 미디어 컴포넌트 URL은 미디어 컴포넌트와 내용은 동일하나 재생을 위해 필요한 장치 성능이 다른 대체 미디어 컴포넌트를 수신할 수 있는 URL을 나타낼 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 미디어 컴포넌트 URL을 전송한다(S2383). 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 미디어 컴포넌트 URL을 전송할 수 있다.
연동 장치(200)는 컨텐츠/시그널링 서버(400)로부터 대체 미디어 컴포넌트 URL에 기초하여 대체 미디어 컴포넌트를 수신한다. 구체적으로 연동 장치(200)는 다음과 같은 동작을 수행한다.
연동 장치(200)는 컨텐츠/시그널링 서버(400)에게 대체 미디어 컴포넌트를 미디어 컴포넌트 URL에 기초하여 요청한다(S2385). 연동 장치(200)는 제어부를 통하여 컨텐츠/시그널링 서버(400)에게 미디어 컴포넌트를 미디어 컴포넌트 URL에 기초하여 요청할 수 있다. 구체적으로 연동 장치(200)는 연동 장치(200)의 성능 및 미디어 컴포넌트를 식별하는 컴포넌트 식별자 중 적어도 어느 하나를 전송하여 대체 미디어 컴포넌트를 요청할 수 있다. 구체적인 실시예에서 컨텐츠/시그널링 서버(400)는 컴포넌트 식별자를 통하여 연동 장치(200)가 요청하는 대체 미디어 컴포넌트가 대체하고자 하는 미디어 컴포넌트가 어떤 것인지 알 수 있다. 또한, 컨텐츠/시그널링 서버(400)는 연동 장치(200)가 전송한 연동 장치(200)의 성능을 통해 복수의 대체 미디어 컴포넌트 중에서 연동 장치(200)가 재생할 수 있는 대체 미디어 컴포넌트를 찾을 수 있다.
연동 장치(200)는 컨텐츠/시그널링 서버(400)로부터 대체 미디어 컴포넌트를 수신한다(S2387). 연동 장치(200)는 제어부를 통하여 컨텐츠/시그널링 서버(400)로부터 대체 미디어 컴포넌트를 수신할 수 있다. 다만, 컨텐츠/시그널링 서버(400)에 연동 장치(200)의 성능을 만족하는 대체 미디어 컴포넌트가 없는 경우 대체 미디어 컴포너트가 없다는 메시지를 수신할 수 있다. 이때, 대체 미디어 컴포너트가 없다는 메시지는 TRUE 또는 FALSE의 값을 갖는 불리언 변수를 통해 전달될 수 있다. 또한, 연동 장치(200)는 대체 미디어 컴포너트가 없다는 메시지를 사용자에게 표시할 수 있다.
연동 장치(200)는 미디어 컴포넌트를 재생한다(S2389). 연동 장치(200)는 제어부를 통하여 미디어 컴포넌트를 재생할 수 있다. 이를 통해 연동 장치(200)는 미디어 컴포넌트와 동일한 내용을 포함하고 재생이 가능한 대체 미디어 컴포넌트를 수신할 수 있다. 따라서 방송 수신 장치(100)와 더 많은 연동 장치(200)가 연동할 수 있다.
도 255는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 시그널링하는 장치 성능 정보를 보여준다.
미디어 컴포넌트를 재생하기 위해 필요한 장치의 성능을 나타내는 장치 성능정보를 방송 수신 장치(100)가 연동 장치(200)에게 시그널링할 수 있다. 장치 성능 정보는 복수의 미디어 컴포넌트에 대한 정보를 포함할 수 있다. 장치 성능 정보는 미디어 컴포넌트를 식별하는 미디어 컴포넌트 식별자, 미디어 컴포넌트의 종류를 나타내는 미디어 컴포넌트 타입, 미디어 컴포넌트가 비디오를 포함하는 경우 비디오에 관한 정보, 미디어 컴포넌트가 오디오를 포함하는 경우 오디오의 코덱을 나타내는 오디오 코덱 정보, 미디어 컴포넌트가 자막을 포함하는 경우 자막의 인코딩 형식을 나타내는 자막 코덱, 미디어 컴포넌트가 어플리케이션을 포함하는 경우 어플리케이션의 버전을 나타내는 어플리케이션 버전 정보, 미디어 컴포넌트가 NRT 컨텐츠 아이템이나 NRT 파일 또는 사용자 요청 컴포넌트인 경우 성는 코드(capability code), 미디어 컴포넌트를 획득할 수 있는 URL을 나타내는 미디어 컴포넌트 URL 중 적어도 어느 하나를 포함할 수 있다. 미디어 컴포넌트가 포함하는 비디오에 관한 정보는 비디오의 코덱을 나타내는 비디오 코덱 정보, 비디오의 해상도를 나타내는 비디오 해상도 정보 및 비디오의 화면 비율(aspect ratio)을 나타내는 화면 비율 정보 중 적어도 어느 하나를 포함할 수 있다.
장치 성능 정보는 도 255의 (a)와 같이 XML 형식일 수 있다. 장치 성능 정보는 하나의 미디어 컴포넌트를 나타내는 ComponentItem을 어트리뷰트로 하나 또는 복수개 포함할 수 있다. ComponentItem은 ComponentID, ComponentType, Video, Audio, CC, App, CapabilityCode 및 AvailComponentURL 중 적어도 어느 하나를 포함할 수 있다. 여기서 Video는 하위 어트리뷰트로써 VideoCodec, Resolution 및 AspectRatio 중 적어도 하나를 포함할 수 있다. 또한 Audio는 하위 어트리뷰트로써 AudioCodec을, CC는 하위 어트리뷰트로써 CCCodec을, App는 하위 어트리뷰트로써 AppVersion을 각각 포함할 수 있다.
ComponentID는 미디어 컴포넌트를 식별하는 식별자를 나타낸다. 구체적인 실시예에서 ComponentID는 ComponentItem마다 한 개 존재할 수 있다. 구체적인 실시예에서 ComponentID는 unsignedShort 데이터 타입을 가질 수 있다.
ComponentType은 미디어 컴포넌트의 종류를 나타낸다. 구체적인 실시예에서 ComponentType은 ComponentItem마다 한 개 존재할 수 있다. 구체적인 실시예에서 ComponentType은 string 데이터 타입을 가질 수 있다.
Video는 미디어 컴포넌트가 포함하는 비디오에 관한 정보를 나타낸다. Video는 VideoCodec, Resolution 및 AspectRatio 중 적어도 어느 하나를 어트리뷰트로 포함할 수 있다.
VideoCodec은 미디어 컴포넌트가 포함하는 비디오의 코덱을 나타낸다. 구체적인 실시예에서 VideoCodec은 Video마다 한 개 존재할 수 있다. 구체적인 실시예에서 VideoCodec은 스트링 데이터 타입을 가질 수 있다.
Resolution은 미디어 컴포넌트가 포함하는 비디오의 해상도를 나타낸다. 구체적인 실시예에서 Resolution은 Video마다 한 개 존재할 수 있다. 구체적인 실시예에서 Resolution은 스트링 데이터 타입을 가질 수 있다.
AspectRatio는 미디어 컴포넌트가 포함하는 비디오의 화면 비율을 나타낸다. 구체적인 실시예에서 AspectRatio는 Video마다 한 개 존재할 수 있다. 구체적인 실시예에서 AspectRatio는 스트링 데이터 타입을 가질 수 있다.
Audio는 미디어 컴포넌트가 포함하는 오디오에 관한 정보를 나타낸다.
AudioCodec은 미디어 컴포넌트가 포함하는 오디오의 코덱을 나타낸다. 구체적인 실시예에서 AudioCodec은 스트링 데이터 타입을 가질 수 있다.
CC는 미디어 컴포넌트가 포함하는 자막에 관한 정보를 나타낸다.
CCCodec은 미디어 컴포넌트가 포함하는 자막의 형식을 나타낸다. 구체적인 실시예에서 CCCodec은 스트링 데이터 타입을 가질 수 있다.
App은 미디어 컴포넌트가 포함하는 어플리케이션에 관한 정보를 나타낸다.
AppVersion은 미디어 컴포넌트가 포함하는 어플리케이션의 버전을 나타낸다. 구??거인 실시예에서 AppVersion은 인티저 타입을 가질 수 있다.
CapabilityCode는 미디어 컴포넌트가 사용자 요청 컴포넌트, NRT 컨텐츠 아이템 또는 NRT 파일을 포함할 경우 사용자 요청 컴포넌트, NRT 컨텐츠 아이템 또는 NRT 파일에 해당하는 성능 코드를 나타낸다. 이때, 성능 코드의 값은 ATSC NRT 표준에 정의된 값을 나타낼 수 있다. 구체적인 실시예에서 CapabilityCode는 스트링 데이터 타입을 가질 수 있다.
AvailComponentURL는 미디어 컴포넌트를 획득할 수 있는 URL을 나타낸다. 구체적인 실시예에서 AvailComponentURL은 미디어 컴포넌트와 동일한 내용을 포함하고, 재생을 위해 필요한 장치 성능이 다른 대체 미디어 컴포넌트를 수신할 수 있는 URL을 나타낼 수 있다. 구체적인 실시예에서 AvailComponentURL는 스트링 데이터 타입을 가질 수 있다. 즉 도 255의 (b)에 도시된 바와 같이 장치 성능 정보는 AvailComponentURL 속성에 대해 불리언 데이터 타입이 아닌 스트링 데이터 타입을 정의하고 대체 미디어 컴포넌트를 수신할 수 있는 URL 정보를 직접 포함할 수 있다. 이렇게 장치 성능 정보를 정의할 경우, 연동 장치는 GetComponentURL을 사용할 필요없이 accessible URL을 알 수 있다.
도 256은 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다. 본 실시예는 전술한 스트링 타입 AvailComponentURL 속성이 위치 정보를 포함하는 경우에 대한 것이다. 도 256의 (a)는 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 방법에 대한 래더 다이어그램이다.
*2068방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(DS1601). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적인 방송 수신 장치(100)와 연동 장치(200)의 동작은 전술한 실시예와 같을 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 장치 성능 정보 알림을 요청한다(DS1602). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 장치 성능 정보 알림을 요청할 수 있다. 앞서 설명한 바와 같이 연동 장치(200)는 방송 수신 장치(100)에게 UPnP 이벤팅 프로토콜을 이용하여 방송 수신 장치(100)에게 장치 성능 정보 알림을 요청할 수 있다.
방송 수신 장치(100)는 방송 서비스에 기초하여 방송 서비스 시그널링 정보를 수신한다(DS1603). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 방송 서비스 시그널링 정보를 수신할 수 있다.
방송 수신 장치(100)는 서비스 시그널링 정보로부터 미디어 컴포넌트를 재생하기 위해 필요한 장치의 성능을 시그널링하는 장치 성능 정보를 추출(parsing)할 수 있다. 방송 수신 장치(100)는 제어부(150)를 통하여 서비스 시그널링 정보로부터 미디어 컴포넌트를 재생하기 위해 필요한 장치의 성능을 시그널링하는 장치 성능 정보를 추출할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)가 추출한 장치 성능 정보는 전술한 장치 성능 정보와 같은 형태일 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 장치 성능 정보를 알린다(notify)(DS1604). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 장치 성능 정보를 알릴 수 있다. 또한 방송 수신 장치(100)는 추출한 성능 정보를 편집하여 연동 장치(200)를 위한 장치 성능 정보를 생성할 수 있다. 이때, 방송 수신 장치(100)는 연동 장치(200)를 위한 장치 성능 정보를 연동 장치(200)에게 알릴 수 있다.
또는 방송 수신 장치(100)가 연동 장치(200)에게 장치 성능 정보를 통지하는 대신 방송 수신 장치(100)는 연동 장치로부터 장치 성능 정보 요청 액션을 수신할 수 있다(DS1605). 이 경우 방송 수신 장치(100)는 장치 성능 정보 요청에 대한 응답으로 장치 성능 정보를 리턴할 수 있다(DS1606). 장치 성능 정보 요청 액션 및 액션 인자는 전술한 실시예와 동일할 수 있다.
연동 장치는 방송 수신 장치(100)로부터 수신된 장치 성능 정보를 검토할 수 있다. 구체적인 실시예에서 장치 성능 정보를 나타내는 변수는 전술한 DeviceCapabilityProperty일 수 있다. 수신된 장치 성능 정보는 도 256의 (b)와 같은 XML 형태일 수 있다. 수신된 장치 성능 정보는 대체 가능한 미디어 컴포넌트의 위치 정보를 나타내는 AvailCompoentURL 속성을 포함할 수 있다. 본 실시예에서는 AvailCompoentURL가 특정 위치 정보, 예를 들어 URL 정보를 포함할 수 있다.
연동 장치(200)는 대체 가능한 미디어 컴포넌트의 위치 정보에 기초하여 미디어 컴포넌트를 요청할 수 있다(DS1607). 대체 가능한 미디어 컴포넌트의 위치 정보는 방송 수신 장치(100) 내에서의 위치 또는 컨텐츠/시그널링 서버(400) 내에서의 위치를 나타낼 수 있다. 따라서 연동 장치는 방송 수신 장치(100) 또는 컨텐츠/시그널링 서버(400)에게 대체 가능한 미디어 컴포넌트를 요청할 수 있다.
연동 장치(200)는 방송 수신 장치(100) 또는 컨텐츠/시그널링 서버(400)로부터 대체 가능한 미디어 컴포넌트를 수신할 수 있으며 스트리밍 또는 다운로드를 통해 해당 미디어 컴포넌트를 재생할 수 있다.(DS1608)
도 257는 본 발명의 일 실시예에 따라 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 것을 보여준다. 본 실시예는 전술한 스트링 타입 AvailComponentURL 속성이 위치 정보를 포함하지 않는 경우 또는 AvailComponentURL 속성이 디바이스 성능 속성 정보 내에 존재하지 않는 경우에 대한 것이다. 도 257의 (a)는 방송 수신 장치가 연동 장치에게 장치 정보를 시그널링하는 방법에 대한 래더 다이어그램이다.
방송 수신 장치(100)와 연동 장치(200)는 페어링(pairing) 세션을 생성한다(DS1611). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적인 방송 수신 장치(100)와 연동 장치(200)의 동작은 전술한 실시예와 같을 수 있다.
연동 장치(200)는 방송 수신 장치(100)에게 장치 성능 정보 알림을 요청한다(DS1612). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 장치 성능 정보 알림을 요청할 수 있다. 앞서 설명한 바와 같이 연동 장치(200)는 방송 수신 장치(100)에게 UPnP 이벤팅 프로토콜을 이용하여 방송 수신 장치(100)에게 장치 성능 정보 알림을 요청할 수 있다.
방송 수신 장치(100)는 방송 서비스에 기초하여 방송 서비스 시그널링 정보를 수신한다(DS1613). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 전송 장치(300)로부터 방송 서비스 시그널링 정보를 수신할 수 있다.
방송 수신 장치(100)는 서비스 시그널링 정보로부터 미디어 컴포넌트를 재생하기 위해 필요한 장치의 성능을 시그널링하는 장치 성능 정보를 추출(parsing)할 수 있다. 방송 수신 장치(100)는 제어부(150)를 통하여 서비스 시그널링 정보로부터 미디어 컴포넌트를 재생하기 위해 필요한 장치의 성능을 시그널링하는 장치 성능 정보를 추출할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)가 추출한 장치 성능 정보는 전술한 장치 성능 정보와 같은 형태일 수 있다.
방송 수신 장치(100)는 연동 장치(200)에게 장치 성능 정보를 알린다(notify)(DS1614). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 연동 장치(200)에게 장치 성능 정보를 알릴 수 있다. 또한 방송 수신 장치(100)는 추출한 성능 정보를 편집하여 연동 장치(200)를 위한 장치 성능 정보를 생성할 수 있다. 이때, 방송 수신 장치(100)는 연동 장치(200)를 위한 장치 성능 정보를 연동 장치(200)에게 알릴 수 있다.
또는 방송 수신 장치(100)가 연동 장치(200)에게 장치 성능 정보를 통지하는 대신 방송 수신 장치(100)는 연동 장치로부터 장치 성능 정보 요청 액션을 수신할 수 있다(DS1615). 이 경우 방송 수신 장치(100)는 장치 성능 정보 요청에 대한 응답으로 장치 성능 정보를 리턴할 수 있다(DS1616). 장치 성능 정보 요청 액션 및 액션 인자는 전술한 실시예와 동일할 수 있다.
연동 장치는 방송 수신 장치(100)로부터 수신된 장치 성능 정보를 검토할 수 있다. 구체적인 실시예에서 장치 성능 정보를 나타내는 변수는 전술한 DeviceCapabilityProperty일 수 있다. 수신된 장치 성능 정보는 도 257의 (b)와 같은 XML 형태일 수 있다. 수신된 장치 성능 정보는 컴포넌트 식별자를 포함할 수 있다. 수신된 장치 성능 정보는 대체 가능한 미디어 컴포넌트의 위치 정보를 나타내는 AvailComponentURL 속성을 포함하지만 AvailComponentURL의 내용이 비어 있는 경우에 대한 것이다. 또는 장치 성능 정보에 AvailComponentURL 속성이 포함되지 않은 경우에 대한 것이다.
연동 장치(200)는 대체 가능한 미디어 컴포넌트의 위치 정보를 알 수 없으므로 컴포넌트 식별자에 기초하여 미디어 컴포넌트를 요청할 수 있다(DS1617). 연동 장치는 방송 수신 장치(100)에게 컴포넌트 식별자를 이용하여 미디어 컴포넌트를 요청할 수 있다.
연동 장치(200)는 방송 수신 장치(100)로부터 미디어 컴포넌트를 수신할 수 있으며 스트리밍 또는 다운로드를 통해 해당 미디어 컴포넌트를 재생할 수 있다(DS1618).
도 258는 본 발명의 일 실시예에 따른 연동 장치가 동작하는 흐름도를 나타낸 도면이다. 본 발명의 일 실시예에 따른 연동 장치는 방송 서비스를 수신하는 방송 수신 장치와 연동할 수 있다.
연동 장치는 방송 수신 장치와 페어링 세션을 형성할 수 있다(DS1621). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 UPnP 프로토콜을 이용하여 페어링 세션을 생성할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)가 UPnP의 디스커버리 프로토콜을 이용하여 연동 장치(200)를 찾을 수 있다. 예컨대, 방송 수신 장치(100)가 웰 노운(well known) 아이피 주소를 통해 연동을 위한 연동 장치를 찾는다는 디스커버리 메시지를 멀티캐스트할 수 있다. 이때, 멀티캐스트된 메시지를 수신한 연동 장치(200)는 방송 수신 장치(100)에게 디스크립션을 요청할 수 있다. 방송 수신 장치(100)는 연동 장치(200)의 디스크립션 요청에 기초하여 연동 장치(200)에게 디스크립션을 제공할 수 있다. 연동 장치(200)는 디스크립션에 기초하여 방송 수신 장치(200)에 접속할 수 있다. 또 다른 구체적인 실시예에서 연동 장치(100)가 UPnP의 디스커버리 프로토콜을 이용하여 방송 수신 장치(100)를 찾을 수 있다. 예컨대, 연동 장치(200)는 웰 노운(well known) 아이피 주소를 통해 연동을 위한 방송 수신 장치(100)를 찾는다는 메시지를 멀티캐스트할 수 있다. 이때, 방송 수신 장치는 멀티캐스된 메시지에 기초하여 디스커버리 메시지로 응답할 수 있다. 이에 따라 디스커버리 메시지를 수신한 연동 장치(200)는 방송 수신 장치(100)에게 디스크립션을 요청할 수 있다. 방송 수신 장치(100)는 연동 장치(200)의 디스크립션 요청에 기초하여 연동 장치(200)에게 디스크립션을 제공할 수 있다. 연동 장치(200)는 디스크립션에 기초하여 방송 수신 장치(200)에 접속할 수 있다.
연동 장치는 상기 방송 수신 장치에게 시그널링 정보에 대한 통지 요청을 전송 할 수 있다(DS1623). 구체적으로 연동 장치(200)는 제어부를 통하여 방송 수신 장치(100)에게 시그널링 정보에 대한 알림을 요청할 수 있다. 구체적으로 연동 장치(200)는 UPnP 프로토콜을 이용하여 방송 수신 장치(100)에게 시그널링 정보에 대한 알림을 요청할 수 있다. 구체적인 실시예에서 연동 장치(200)는 이벤팅 프로토콜에 기초하여 방송 수신 장치(100)에게 시그널링 정보에 대한 이벤트의 구독(subscription) 요청을 할 수 있다. 여기서 시그널링 정보란, 방송 서비스 속성 정보, 긴급 경보 서비스 정보, NRT 데이터 정보 또는 장치 성능 정보를 포함할 수 있다. 각 정보에 대한 통지 요청은 전술한 각 정보에 대응하는 상태 변수를 이용할 수 있다.
연동 장치는 상기 시그널링 정보를 수신할 수 있다(DS1625). 여기서 시그널링 정보란, 방송 서비스 속성 정보, 긴급 경보 서비스 정보, NRT 데이터 정보 또는 장치 성능 정보를 포함할 수 있다. 각 정보에 대한 수신은 전술한 각 정보에 대응하는 액션 및 액션 인자를 이용하여 수행될 수 있다.
연동 장치는 상기 수신된 시그널링 정보에 관련된 기능을 수행 할 수 있다(DS1627). 연동 장치는 방송 서비스 속성 정보를 수신한 경우, 방송 서비스 속성 정보를 갱신할 수 있다. 연동 장치는 긴급 경보 서비스 정보를 수신한 경우, 긴급 경보 메시지를 디스플레이할 수 있다. 연동 장치는 NRT 데이터 정보를 수신한 경우 해당 NRT 데이터의 속성 정보를 갱신할 수 있다. 연동 장치는 장치 성능 정보를 수신한 경우, 미디어 컴포넌트를 요청하여 수신하거나 재생 불가 메시지를 디스플레이하거나 대체 가능한 미디어 컴포넌트를 요청하여 수신하거나 사용자 동의 여부 메시지를 디스플레이할 수 있다.
연동 장치의 동작은 전술한 도면들에서 설명한 각 실시예에 따라 수행될 수 있다.
도 259은 본 발명의 일 실시예에 따른 방송 수신 장치가 동작하는 흐름도를 나타낸 도면이다.
방송 수신 장치는 연동 장치와 페어링 세션을 형성할 수 있다(DS1631). 구체적으로 방송 수신 장치(100)는 IP 통신부(130)를 통하여 연동 장치(200)와의 페어링 세션을 생성할 수 있다. 구체적으로 연동 장치(200)는 통신부를 통하여 방송 수신 장치(100)와의 페어링 세션을 생성할 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 양방향 통신을 위한 페어링 세션을 생성할 수 있다. 구체적으로 방송 수신 장치(100)와 연동 장치(200)는 UPnP 프로토콜을 이용하여 페어링 세션을 생성할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)가 UPnP의 디스커버리 프로토콜을 이용하여 연동 장치(200)를 찾을 수 있다. 예컨대, 방송 수신 장치(100)가 웰 노운(well known) 아이피 주소를 통해 연동을 위한 연동 장치를 찾는다는 디스커버리 메시지를 멀티캐스트할 수 있다. 이때, 멀티캐스트된 메시지를 수신한 연동 장치(200)는 방송 수신 장치(100)에게 디스크립션을 요청할 수 있다. 방송 수신 장치(100)는 연동 장치(200)의 디스크립션 요청에 기초하여 연동 장치(200)에게 디스크립션을 제공할 수 있다. 연동 장치(200)는 디스크립션에 기초하여 방송 수신 장치(200)에 접속할 수 있다. 또 다른 구체적인 실시예에서 연동 장치(100)가 UPnP의 디스커버리 프로토콜을 이용하여 방송 수신 장치(100)를 찾을 수 있다. 예컨대, 연동 장치(200)는 웰 노운(well known) 아이피 주소를 통해 연동을 위한 방송 수신 장치(100)를 찾는다는 메시지를 멀티캐스트할 수 있다. 이때, 방송 수신 장치는 멀티캐스된 메시지에 기초하여 디스커버리 메시지로 응답할 수 있다. 이에 따라 디스커버리 메시지를 수신한 연동 장치(200)는 방송 수신 장치(100)에게 디스크립션을 요청할 수 있다. 방송 수신 장치(100)는 연동 장치(200)의 디스크립션 요청에 기초하여 연동 장치(200)에게 디스크립션을 제공할 수 있다. 연동 장치(200)는 디스크립션에 기초하여 방송 수신 장치(200)에 접속할 수 있다.
방송 수신 장치는 방송 서비스에 기초하여 방송 서비스를 시그널링하는 시그널링 정보를 수신 할 수 있다(DS1633). 여기서 시그널링 정보란, 방송 서비스 속성 정보, 긴급 경보 서비스 정보, NRT 데이터 정보 또는 장치 성능 정보를 포함할 수 있다. 각 정보에 대한 수신은 전술한 각 정보에 대응하는 액션 및 액션 인자를 이용하여 수행될 수 있다. 방송 수신 장치는 반송 송신 장치 또는 컨텐츠/시그널링 서버로부터 시그널링 정보를 수신할 수 있다.
방송 수신 장치는 시그널링 정보를 통지 할 수 있다(DS1635). 방송 수신 장치는 자신에게 시그널링 정보에 대한 통지 요청(subscribing)을 전달한 연동 장치에 대해 시그널링 정보를 통지할 수 있다. 방송 수신 장치는 시그널링 정보에 변경이 있는 경우에 한하여 선택적으로 통지할 수 있다. 실시예에 따라 변경된 정보만을 통지하거나 전체 시그널링 정보를 통지할 수도 있다.
방송 수신 장치의 동작은 전술한 도면들에서 설명한 각 실시예에 따라 수행될 수 있다.
이와 같이 방송 수신 장치는 연동 장치와 상호 연동된 상태에서 방송 수신 장치가 수신한 시그널링 정보를 연동 장치에게 통지할 수 있다. 또한 연동 장치는 방송 수신 장치로부터 수신한 시그널링 정보를 이용하여 대응하는 동작을 수행할 수 있다. 이를 통해 연동 장치의 특성을 고려한 시그널링 및 컨텐츠 재생이 가능하다.
이하에서, 도 260 내지 도 270에서 설명되는 내용은 도 96 내지 도 102의 내용에 추가되거나 대체될 수 있다.
도 260은 본 발명의 일 실시예에 따른 방송 시스템의 구성을 나타낸다.
본 발명의 일 실시예에 따른 방송 시스템은 방송 수신 장치, 컴패니언 디바이스(C200), 및/또는 외부의 관리 장치(C300)를 포함할 수 있다. 방송 수신 장치는 방송 신호를 수신 및 처리할 수 있다. 컴패니언 스크린 디바이스(C200)는 방송 수신장치와 오디오, 비디오, 및/또는 시그널링 정보를 포함하는 데이터를 공유하는 외부 장치일 수 있다. 컴패니언 스크린 디바이스(C200)는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 컴패니언 스크린 디바이스(C200)는 제2 방송 수신 장치, 제2 수신기, 제2 스크린 디바이스(second screen device), 슬레이브 디바이스(Slave Device, SD), 및/또는 컴패니언 디바이스(Companion Device, CD)로 표현할 수 있다. 방송 수신 장치, 및/또는 컴패니언 스크린 디바이스(C200)에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다. 외부의 관리 장치(C300)는 콘텐트 서버일 수 있다. 외부의 관리 장치(C300)는 차세대 방송 서비스/컨텐츠 서버 등 방송 서비스/콘텐츠 제공을 위한 방송 수신 장치 외부의 모듈들을 지칭할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치(DTV Receiver)는 브로드캐스트 인터페이스(C110), 브로드밴드 인터페이스(C130), 컴패니언 스크린 인터페이스(C140), 및/또는 제어부(C150) 중에서 적어도 하나를 포함한다.
브로드캐스트 인터페이스(C110)는 브로드캐스트 인터페이스(C110)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서일 수 있다. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 브로드캐스트 인터페이스(C110)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 브로드캐스트 인터페이스(C110)는 피지컬 레이어 모듈(C113), 피지컬 레이어 IP 프레임 모듈(C111)을 포함할 수 있다. 피지컬 레이어 모듈(C113)는 방송망의 방송 채널을 통하여 방송 관련 신호를 수신하고 처리한다. 피지컬 레이어 IP 프레임 모듈(C111)은 피지컬 레이어 모듈(C113)로부터 획득한 IP 데이터그램 등의 데이터 패킷을 특정 프레임으로 변환한다. 예컨대, 피지컬 레이어 모듈(C113)은 IP 데이터그램 등을 RS Fraem 또는 GSE 등으로 변환할 수 있다.
브로드밴드 인터페이스(C130)는 브로드밴드 인터페이스(C130)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서일 수 있다. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 브로드밴드 인터페이스(C130)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 브로드밴드 인터페이스(C130)는 인터넷 접근 제어 모듈(C131)을 포함할 수 있다. 인터넷 접근 제어 모듈(C131)은 통신망(broadband)을 통하여 서비스, 컨텐츠 및 시그널링 데이터 중 적어도 어느 하나를 획득하기 위한 방송 수신 장치의 동작을 제어한다.
컴패니언 스크린 인터페이스(C140)는 컴패니언 스크린 디바이스(C200)를 발견할 수 있다. 컴패니언 스크린 인터페이스(C140)는 컴패니언 스크린 디바이스(C200)로 데이터 및/또는 시그널링 정보를 전달하거나 컴패니언 스크린 디바이스(C200)로부터 데이터 및/또는 시그널링 정보를 수신할 수 있다. 컴패니언 스크린 인터페이스(C140)는 데이터 쉐어링부(C141; Data Sharing & Comm) 및/또는 장치 관리자(C143) 중에서 적어도 하나를 포함할 수 있다. 예를 들어, 컴패니언 스크린 인터페이스(C140)는 제어부(C150)에 포함될 수 있다.
데이터 쉐어링부(C141; Data Sharing & Comm)는 방송 수신 장치와 외부 장치 간의 데이터 전송 동작을 수행하고, 교환 관련 정보를 처리한다. 구체적으로 데이터 쉐어링부(C141)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 전송할 수 있다. 또한 데이터 쉐어링부(C141)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 수신할 수 있다.
장치 관리자(C143)는 연동 가능한 외부 장치를 관리한다. 구체적으로 장치 관리자(C143)는 외부 장치의 추가, 삭제 및 갱신 중 적어도 어느 하나를 수행할 수 있다. 또한 외부 장치는 방송 수신 장치와 연결 및 데이터 교환이 가능할 수 있다.
제어부(C150)는 제어부(C150)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서일 수 있다. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 제어부(C150)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 제어부(C150)는 시그널링 디코더(C1510), 데이터 베이스(C1520), 서비스 시그널링 매니저(C1531), 얼러트 시그널링 매니저(C1532), 서비스 가이드 매니저(C1533), 어플리케이션 시그널링 매니저(C1534), 타겟팅 시그널링 매니저(C1535), 스트리밍 미디어 엔진(C1541), 비실시간 파일 프로세서(C1542), 컴포넌트 동기화부(C1543), 타겟팅 프로세서(C1550), 어플리케이션 프로세서(C1561), 얼러팅 프로세서(C1562), A/V 프로세서(C1565), 재분배 모듈(C1570), 및/또는 서비스/컨텐츠 획득 제어부(C1580) 중에서 적어도 하나를 포함할 수 있다.
시그널링 디코더(C1510)는 시그널링 정보를 디코딩한다.
데이터 베이스(C1520)는 데이터를 저장할 수 있다. 데이터 베이스(C1520)는 서비스 맵 데이터 베이스(C1521), 서비스 가이드 데이터 베이스(C1523), 및/또는 PDI 데이터 베이스(C1525)중에서 적어도 하나를 포함할 수 있다. 서비스 맵 데이터 베이스(C1521)는 서비스 맵과 관련된 정보를 저장할 수 있다. 서비스 가이드 데이터 베이스(C1523)는 서비스 가이드 데이터와 관련된 정보를 저장할 수 있다. PDI 데이터 베이스(C1525)는 PDI와 관련된 데이터를 저장할 수 있다.
서비스 시그널링 매니저(C1531)는 서비스 시그널링 정보를 파싱한다. 서비스 시그널링 매니저(C1531)는 IP 데이터그램 등으로부터 서비스 스캔 및 서비스/콘텐츠 등과 관련된 시그널링 정보 추출, 파싱 및 관리를 수행할 수 있다. 예를 들어, 서비스 시그널링 매니저(C1531)는 서비스와 관련된 시그널링 정보를 추출하고 파싱한다. 이때, 서비스와 관련된 시그널링 정보는 서비스 스캔과 관련된 시그널링 정보일 수 있다. 또한 서비스와 관련된 시그널링 정보는 서비스를 통해 제공되는 컨텐츠와 관련된 시그널링 정보일 수 있다.
얼러트 시그널링 매니저(C1532)는 IP 데이터그램 등으로부터 얼러팅 관련된 시그널링 정보를 추출하고 파싱한다.
서비스 가이드 매니저(C1533)는 IP 데이터 그램 등으로 부터 announcement 정보를 추출하고, SG(Service Guide) 데이터 베이스를 관리하며, 서비스 가이드 정보를 제공한다.
어플리케이션 시그널링 매니저(C1534)는 IP 데이터그램 등으로부터 어플리케이션 획득과 관련된 시그널링 정보를 추출, 파싱 및/또는 관리할 수 있다. 어플리케이션 획득과 관련된 시그널링 정보는 어플리케이션과 관련된 시그널링 정보 및/또는 어플리케이션 시그널링 정보를 포함할 수 있다.
타겟팅 시그널링 매니저(C1535)는 서비스 또는 컨텐츠를 개인화(personalization)하기 위한 정보 또는 타겟팅 정보를 시그널링하는 정보를 추출하고 파싱한다.
스트리밍 미디어 엔진(C1541)은 IP 데이터그램 등으로부터 A/V 스트리밍을 위한 오디오/비디오 데이터를 추출 및 디코딩할 수 있다. 스트리밍 미디어 엔진(C1541)은 미리 방송사 등의 컨텐츠 제공업자가 정한 일정 대로 스트리밍 되는 컨텐츠인 스케쥴드 스트리밍을 디코딩하는 스케쥴드 스트리밍 디코더(미도시)를 포함할 수 있다. 또한, 스트리밍 미디어 엔진(C1541)은 사용자 요청에 의하여 스트리밍 되는 컨텐츠(On Demand Content)인 온-디맨드 스트리밍을 디코딩하는 사용자 요청 스트리밍 디코더(미도시)를 포함할 수 있다.
비실시간 파일 프로세서(C1542)는 IP 데이터그램 등으로부터 NRT 데이터 및 어플리케이션과 같은 파일 형태의 데이터를 추출, 디코딩, 및/또는 관리할 수 있다. 비실시간 파일 프로세서(C1542)는 다운로드된 파일을 디코드하는 파일 디코더(미도시)를 포함할 수 있다. 파일 디코더는 방송망 및/또는 통신망을 통하여 다운로드된 파일을 디코드한다. 또한, 비실시간 파일 프로세서(C1542)는 파일을 저장하는 파일 데이터베이스(미도시)를 포함할 수 있다. 구체적으로 파일 데이터베이스는 방송망 및/또는 통신망을 통하여 다운로드한 파일을 저장할 수 있다.
컴포넌트 동기화부(C1543)는 컨텐츠 또는 서비스를 동기화한다. 컴포넌트 동기화부(C1543)는 스트리밍 오디오/비디오 데이터 및 NRT 데이터 등과 같은 콘텐츠 및 서비스를 동기화할 수 있다. 구체적으로 컴포넌트 동기화부(C1543)는 비실시간 파일 프로세서(C1542) 및/또는 스트리밍 미디어 엔진(C1541) 중에서 적어도 어느 하나가 디코딩한 컨텐츠를 동기화한다.
타겟팅 프로세서(C1550)는 서비스 또는 컨텐츠를 개인화하기 위한 정보를 처리한다.
어플리케이션 프로세서(C1561)는 어플리케이션 관련 정보 및 어플리케이션의 실행을 제어한다. 구체적으로 어플리케이션 프로세서(C1561)는 다운로드된 어플리케이션의 상태 및 디스플레이 파라미터를 처리한다.
얼러팅 프로세서(C1562)는 얼리팅 관련된 시그널링 정보를 처리한다.
A/V 프로세서(C1565)는 디코딩된 오디오 또는 비디오, 어플리케이션 데이터 등에 기초하여 오디오/비디오의 렌더링 관련 동작을 처리한다.
재분배 모듈(C1570)은 방송망을 통하여 서비스 또는 컨텐츠를 수신하지 못하는 경우, 서비스, 컨텐츠, 서비스와 관련 정보 및 컨텐츠 관련 정보 중 적어도 어느 하나의 획득을 지원하기 위한 동작을 수행한다. 구체적으로 외부의 관리 장치(300)에게 서비스, 컨텐츠, 서비스와 관련 정보 및 컨텐츠 관련 정보 중 적어도 어느 하나를 요청할 수 있다.
서비스/컨텐츠 획득 제어부(C1580)는 서비스, 컨텐츠, 서비스 또는 컨텐츠와 관련된 시그널링 정보 중 적어도 어느 하나를 획득하기 위한 수신기의 동작을 제어한다. 서비스/컨텐츠 획득 제어부(C1580)는 방송망 또는 통신망을 통해 획득한 서비스, 컨텐츠, 서비스 또는 컨텐츠와 관련된 시그널링 데이터 획득을 위한 수신기의 동작을 제어한다.
도 261은 본 발명의 일 실시예에 따른 방송 수신 장치의 구성을 보여준다.
방송 수신 장치(100)는 브로드캐스트 인터페이스(110), 브로드밴드 인터페이스(130), 컴패니언 스크린 인터페이스(미도시), 및/또는 제어부(150) 중에서 적어도 하나를 포함할 수 있다. 컴패니언 스크린 인터페이스(미도시)는 제어부(150)에 포함될 수 있다.
브로드캐스트 인터페이스(110)는 튜너(111) 및 피지컬 프레임 파서(113) 중 적어도 어느 하나를 포함할 수 있다.
튜너(111)는 방송망을 통해 전송되는 방송 신호를 수신한다. 또한 튜너(11)는 수신한 방송 신호를 피지컬 프레임 형태로 변환할 수 있다.
피지컬 프레임 파서(113)는 수신된 방송 신호의 피지컬 프레임으로부터 링크레이어 프레임을 추출한다.
브로드밴드 인터페이스(130)는 IP 데이터를 수신하고 전송한다.
제어부(150)는 피지컬 레이어 제어부(251), 링크 레이어 프레임 파서(252), IP/UDP 데이터그램 필터(253), 어플리케이션 레이어 전송 클라이언트(255), 타이밍 컨트롤(257), 시스템 클락(259), DTV 컨트롤 엔진(261), 사용자 입력 수신부(263), 시그널링 파서(265), 채널 맵 데이터베이스(267), HTTP 액세스 클라이언트(269), HTTP 액세스 캐쉬(271), DASH 클라이언트(273), ISO BMFF 파서(275), 미디어 디코더(277) 및 파일 데이터베이스(279) 중 적어도 어느 하나를 포함할 수 있다.
피지컬 레이어 제어부(251)는 방송 수신부(110)의 동작을 제어한다. 구체적으로 피지컬 레이어 제어부(251)는 방송 수신부(110)가 수신하는 방송 신호의 전송 파라미터들을 제어하여 방송 신호를 선택적으로 수신할 수 있다. 예컨대, 피지컬 레이어 제어부(251)는 튜너(111)가 수신하는 방송 신호의 주파수를 제어할 수 있다. 또한, 피지컬 레이어 제어부(251)는 피지컬 프레임 파서(113)를 제어하여 방송 신호로부터 링크 레이어 프레임을 추출할 수 있다.
링크 레이어 프레임 파서(252)는 방송 신호의 링크 레이어 프레임으로부터 링크 레이어 프레임의 페이로드에 해당하는 데이터를 추출한다. 구체적으로 링크 레이어 프레임 파서(252)는 링크 레이어 프레임으로부터 링크 레이어 시그널링을 추출할 수 있다. 링크 레이어 시그널링은 링크 레이어를 통해서 방송 서비스를 시그널링한다. 이를 통해 방송 수신 장치(100)는 어플리케이션 레이어를 추출하지 않고도 방송 서비스에 관한 정보를 획득할 수 있다. 따라서 방송 수신 장치(100)는 빠르게 방송 서비스를 스캔하고, 방송 서비스를 전환할 수 있다. 또한 링크 레이어 프레임 파서(252)는 링크 레이어 프레임으로부터 IP/UDP 데이터그램을 추출할 수 있다.
IP/UDP 데이터그램 필터(253)는 IP/UDP 데이터그램으로부터 특정 IP/UDP 데이터그램을 추출한다. 방송망을 통한 데이터 전송 또는 통신망을 통한 멀티캐스트는 단방향(unidirection) 통신이므로 방송 수신 장치(100)는 자신이 필요한 데이터 이외의 데이터들을 수신한다. 따라서 방송 수신 장치(100)는 데이터 스트림으로부터 자신이 필요한 데이터를 추출하여 한다. IP/UDP 데이터그램 필터(253)는 IP/UDP 데이터그램 스트림으로부터 방송 수신 장치(100)가 필요로하는 IP/UDP 데이터그램을 추출한다. 구체적으로 IP/UDP 데이터그램 필터(253)는 지정된 IP 주소 및 UDP 포트 번호에 해당하는 IP/UDP 데이터그램을 추출한다. 이때. IP 주소는 소스 주소 및 데스티네이션 주소 중 어느 하나를 포함할 수 있다.
어플리케이션 레이어 전송 클라이언트(255)는 어플리케이션 계층 전송 패킷을 처리한다. 구체적으로 어플리케이션 레이어 전송 클라이언트(255)는 실시간 오브젝트 딜리버리(Real-time Objectuve delivery over Unidirectional Transport, ROUTE)에 기반한 ALC/LCT 패킷을 처리한다. ROUTE 프로토콜은 어플리케이션 계층(layer) 프로토콜로서 ALC/LCT 패킷을 이용하여 실시간 데이터를 전송하기 위한 프로토콜이다. 방송 수신 장치(100)는 ALC/LCT 패킷 으로부터 방송 서비스 시그널링 정보, NRT 데이터, 미디어 컨텐츠 중 적어도 어느 하나를 추출할 수 있다. 이때, 미디어 컨텐츠는 MPEG-DASH 형식일 수 있다. 구체적으로 미디어 컨텐츠는 ISO 베이스 미디어 파일 포맷(ISO Base Media File Format, ISO BMFF)으로 인캡슐레이션되어 MPEG-DASH 프로토콜을 통해 전송될 수 있다. 방송 수신 장치(100)는 ROUTE 패킷으로부터 MPEG-DASH 세그먼트를 추출할 수 있다. 또한, 방송 수신 장치(100)는 MPEG-DASH 세그먼트로부터 ISO BMFF 파일을 추출할 수 있다.
어플리케이션 레이어 전송 클라이언트(255)는 ROUTE에 기반한 ALC/LCT 패킷 및/또는 MPEG Media tranport(이하 MMT)와 같은 전송 패킷을 처리하고, 여러 패킷을 수집 및 처리하여 하나 이상의 ISO Base Media File Format 오브젝트를 생성할 수 있다.
타이밍 컨트롤(257)는 미디어 컨텐츠 재생의 기준이 되는 시스템 타임 정보를 포함하는 패킷을 처리한다. 또한 타이밍 컨트롤(257)은 시스템 타임 정보에 기초하여 시스템 클럭을 제어할 수 있다.
시스템 클락(259)은 방송 수신 장치(100)의 동작의 기준이 되는 기준 클락(reference clock)을 제공한다.
DTV 컨트롤 엔진(261)는 각 구성 간의 인터페이스를 담당한다. 구체적으로 DTV 컨트롤 엔진(261)은 각 구성의 동작 제어를 위한 파라미터를 전달할 수 있다.
사용자 입력 수신부(263)는 사용자 입력을 수신한다. 구체적으로 상용자 입력 수신부(263)는 사용자의 리모트 컨트롤 입력, 키 입력 중 적어도 어느 하나를 수신할 수 있다.
시그널링 파서(265)는 방송 서비스에 대한 정보를 전달하여 방송 서비스를 시그널링하는 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출한다. 구체적으로 시그널링 파서(265)는 어플리케이션 레이어로부터 추출된 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출할 수 있다. 또 다른 구체적인 실시예에서 시그널링 파서(265)는 링크 레이어로부터 추출된 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출할 수 있다.
채널 맵 데이터베이스(267)는 방송 서비스의 채널 맵에 관한 정보를 저장한다. 구체적으로 시그널링 파서(265)는 방송 서비스에 관한 정보를 추출하여 채널 맵에 관한 정보를 채널 맵 데이터베이스(267)에 저장할 수 있다. 또한, DTV 컨트롤 엔진(261)은 채널 맵 데이터 베이스로부터 방송 서비스의 채널 맵에 관한 정보를 획득할 수 있다. 이때, 채널 맵에 관한 정보는 방송 서비스를 나타내는 채널 번호, 방송 서비스를 나타내는 방송 서비스의 이름 중 적어도 어느 하나를 포함할 수 있다.
HTTP 액세스 클라이언트(269)는 HTTP 데이터를 처리한다. 구체적으로 HTTP 액세스 클라이언트(269)는 HTTP를 사용하는 컨텐츠 서버(50)에게 요청을 전송하고, 컨텐츠 서버(50)로부터 요청에 대한 응답을 수신할 수 있다.
HTTP 액세스 캐쉬(271)는 HTTP 데이터를 캐시(cache)하여 HTTP 데이터의 처리 속도를 향상 시킨다.
DASH 클라이언트(273)는 MPEG-DASH 세그먼트를 처리한다. 구체적으로 DASH 클라이언트(273)는 통신망을 통해 수신되는 MPEG-DASH 세그먼트를 처리할 수 있다. 또한, 구체적으로 DASH 클라이언트(273)는 방송망을 통해 수신되는 방송 신호의 어플리케이션 레이어로부터 추출된 MPEG-DASH 세그먼트를 처리할 수 있다
ISO BMFF 파서(275)는 ISO BMFF 패킷을 처리한다. 구체적으로 ISO BMFF 파서(275)는 ISO BMFF 패킷으로부터 미디어 컨텐츠를 추출할 수 있다.
미디어 디코더(277)는 미디어 컨텐츠를 디코딩한다. 구체적으로 미디어 디코더(277)는 미디어 컨텐츠를 디코딩하여 미디어 컨텐츠를 재생할 수 있다.
파일 데이터베이스(279)는 방송 서비스를 위해 필요한 파일을 저장한다. 구체적으로 파일 데이터베이스(279)는 방송 신호의 어플리케이션 레이어로부터 추출된 파일을 저장할 수 있다.
도 262는 본 발명의 일 실시예에 따른 어플리케이션 레이어 전송 프로토콜 스택을 도시한 도면이다.
도면을 참고하면, IP 기반 차세대 하이브리드 방송을 지원하는 시스템의 프로토콜 스택이 나타나 있다.
본 발명의 일 실시예에 따른 방송 송신 장치는 어플리케이션 레이어 전송 프로토콜 스택을 기초로 방송 서비스를 송신할 수 있다.
본 발명의 일 실시예에 따른 방송 서비스는 미디어 데이터(예를 들어, Video data, Auido data, Closed Caption data)뿐만 아니라 HTML5 어플리케이션, 양방향 서비스, ACR 서비스, 세컨드 스크린(second screen) 서비스, 개인화(personalization) 서비스 등의 부가 서비스를 포함할 수 있다.
예를 들어, IP 기반의 하이브리드 방송을 지원하는 차세대 방송 시스템의 방송 서비스는 실시간 콘텐트 데이터, 시그널링 데이터, ESG(Electronic Service Guide) 데이터, 및/또는 NRT(Non Real Time) 콘텐트 데이터를 포함할 수 있다.
이러한 방송 서비스는 지상파, 케이블, 및/또는 위성 등의 방송 망(broadcast)를 통하여 전송될 수 있다. 또한 본 발명의 일 실시예에 따른 방송 서비스는 인터넷 망(broadband)을 통하여 전송될 수 있다.
먼저, 방송 서비스가 방송 망을 통하여 전송되는 방법에 대해서 설명한다.
미디어 데이터는 비디오 데이터, 오디오 데이터, 및/또는 자막 데이터를 포함할 수 있다. 미디어 데이터는 MPEG(Moving Picture Expert Group)-DASH(Dynamic Adaptive Streaming over HTTP)의 Segment 및/또는 MMT(MPEG Media Transport)의 MPU (Media processing unit)로 encapsulation 될 수 있다. 예를 들어, MPEG-DASH의 Segment 및/또는 MMT의 MPU의 파일 형식은 ISO Base Media File(이하 ISO BMFF) 일 수 있다.
Signaling data, ESG data, NRT(Non Real Time) Content data, and/or 실시간 콘텐트 데이터들은 실시간 전송을 지원하는 Application Layer Transport Protocol 패킷으로 encapsulation 될 수 있다. 예를 들어, 실시간 콘텐트 데이터는 비디오 데이터, 오디오 데이터, 및/또는 자막 데이터와 같은 미디어 데이터를 포함할 수 있다. 또한, NRT Content data는 미디어 데이터 및/또는 어플리케이션을 포함할 수 있다. 또한, Application Layer Transport Protocol은 ROUTE(Real-Time Object Delivery over Unidirectional Transport) 및/또는 MMT를 포함할 수 있다. Application Layer Transport Protocol 패킷은 ROUTE packet 및/또는 MMT packet을 포함할 수 있다. 이하에서는, Application Layer Transport Protocol 패킷을 단순히 패킷으로 표현할 수도 있다.
그리고 나서, Application Layer Transport Protocol 패킷으로 encapsulation 된 데이터들은 UDP 데이터그램으로 encapsulation될 수 있다.
그리고 나서, UDP 데이터그램은 IP 데이터그램으로 encapsulation될 수 있다. 예를 들어, IP 데이터그램은 IP Multicast 또는 IP Unicast 방식에 기초한 데이터그램일 수 있다.
그리고 나서, IP 데이터그램은 방송 신호에 실려서 전송될 수 있다. 예를 들어, IP 데이터그램은 physical layer(Broadcast PHY)를 통해서 전송될 수 있다.
본 발명의 일 실시예에 따른 Signaling data는 시그널링의 속성에 따라서 차세대 방송 전송 시스템 및 방송망의 physical layer에 전달되는 transport frame(또는 프레임)의 특정 Physical Layer Pipe(PLP)를 통하여 전송될 수 있다. 예를 들어, 시그널링 형태는 비트 스트림 또는 IP 데이터그램으로 encapsulation 된 형태일 수 있다.
다음으로, 방송 서비스가 인터넷 망을 통하여 전송되는 방법에 대해서 설명한다.
Signaling data, ESG data, NRT Content data, and/or 실시간 콘텐트 데이터들은 HyperText Transfer Protocol(HTTP) 패킷으로 encapsulation 될 수 있다.
그리고 나서, HTTP 패킷으로 encapsulation된 데이터들은 Transmission Control Protocol(TCP) 패킷으로 encapsulation될 수 있다. 본 발명의 일 실시예에 따른 방송 서비스는 직접적으로 TCP 패킷으로 encapsulation될 수 있다.
그리고 나서, TCP 패킷은 IP 데이터그램으로 encapsulation될 수 있다. 예를 들어, IP 데이터그램은 IP Multicast 또는 IP Unicast 방식에 기초한 데이터그램일 수 있다.
그리고 나서, IP 데이터그램은 방송 신호에 실려서 전송될 수 있다. 예를 들어, IP 데이터그램은 physical layer(Broadband PHY)를 통해서 전송될 수 있다.
인터넷 망의 경우, Signaling data, ESG data, NRT Content data, and/or 실시간 콘텐트 데이터들은 수신기의 요청에 대한 응답으로서 전달될 수 있다.
방송 수신 장치는 전술한 ROUTE 프로토콜 스택을 기초로 방송 서비스를 수신할 수 있다.
이하에서는, 상술한 Signaling data, ESG data, NRT Content data, and/or 실시간 콘텐트 데이터들이 ROUTE의 transport packet으로 encapsulation 된 경우를 중심으로 설명한다.
Real-Time Object Delivery over Unidirectional Transport (ROUTE)는 IP 멀티캐스트 네트워크들을 통하여 파일들의 전송을 위한 프로토콜이다. ROUTE 프로토콜은 메시블리 스케일러블 멀티케스트 디스트리뷰션(massively scalable multicast distribution)을 위해서 디자인된 베이스 프로토콜인 Asynchronous Layered Coding (ALC), Layered Coding Transport (LCT), 및 다른 잘 알려진 인터넷 표준들을 활용한다. ROUTE는 FLUTE에 대하여 추가적인 특징들을 가진 향상된 버전 또는 기능적 대체물이다.
ROUTE는 시그널링 메시지들, Electronic Service Guide (ESG) 메시지들, 및 NRT 콘텐트를 전송할 수 있다. ROUTE는 특히 MPEG-DASH Media Segment 파일들과 같은 스트리밍 미디어를 전송하는데 매우 적합하다. FLUTE와 비교하여, ROUTE는 딜리버리 체인(delivery chain)을 통하여 낮은 앤드-투-앤드 레이턴시(lower end-to-end latency)를 제공한다.
ROUTE 프로토콜은 임의의 종류의 오브젝트의 전송을 제공하는 제네릭 트랜스포트 애플리케이션(generic transport application )이다. ROUTE 프로토콜은 장면 디스크립션들(scene descriptions), 미디어 오브젝트들, 및 DRM 관련 정보를 포함하는 풍부한 프리젠테이션(rich presentation )을 지원한다. ROUTE는 특히 실시간 미디어 콘텐트의 전송에 매우 적합하고, 많은 특징들을 제공한다.
예를들어, ROUTE는 상이한 미디어 컴포넌트들(e.g. language tracks, subtitles, alternative video views)에 대한 개별적인 전달(delivery) 및 접근을 제공한다. 그리고, ROUTE는 상이한 전송 세션들(transport sessions) 또는 상이한 ROUTE 세션들(ROUTE sessions)에서 전달을 가능하게 함으로서 계층화된 코딩(layered coding) 의 지원을 제공한다. 또한, ROUTE는 멀티 스테이지(multistage )를 포함하는 유연한 FEC 보호에 대한 지원을 제공한다. 또한, ROUTE는 쉬운 MPEG-DASH 조합을 제공한다. MPEG-DASH 조합은 DASH의 브로드캐스트 및 브로드밴드 전달(delibery) 모드들 사이에서 시너지(synergy)를 가능하게 한다. 또한, ROUTE는 ROUTE 세션 및/또는 전송 세션(transport session)에 참가(join)할 때, 미디어에 빠른 접근을 제공한다. 또한, ROUTE는 전달 컨셉에 집중함으로서 높은 확장성을 제공한다. 그리고, ROUTE는 기존의 IETF 프로토콜들과의 호환성을 제공하고, IETF 기반의 확장 메커니즘들(IETF-endorsed extension mechanisms)의 사용과도 호환성을 제공한다.
도 263은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
이하에서는 DP(data pipe)는 PLP(physical layer pipe)로 표현할 수 있다.
일 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 공통 PLP(Common PLP) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
*2185일 실시예에서 방송 전송 장치는 방송 전송 프레임(transport frame)의 P1 파트를 통하여 전송 시그널 탐지(transport signal detection)를 위한 정보를 전송한다. 또한 방송 전송 장치는 P1 파트를 통하여 방송 신호 튜닝을 위한 튜닝 정보를 전송할 수 있다.
일 실시예에서 방송 전송 장치는 L1 파트를 통하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 전송한다. 이때 방송 수신 장치는 P1에 기초하여 L1 파트를 디코딩하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 획득할 수 있다.
일 실시예에서 방송 전송 장치는 Common PLP 파트를 통하여 PLP간에 공통으로 적용되는 정보를 전송할 수 있다. 구체적인 실시예에 따라서 방송 전송 프레임은 Common PLP 파트를 포함하지 않을 수 있다.
일 실시예에서 방송 전송 장치는 방송 서비스에 포함된 복수의 컴포넌트를 인터리브드(interleaved) PLP 파트를 통하여 전송한다. 이때, 인터리브드 PLP 파트는 복수의 PLP를 포함한다.
일 실시예에서 방송 전송 장치는 각각의 방송 서비스를 구성하는 컴포넌트가 각각 어느 PLP로 전송되는지를 L1 파트 또는 Common PLP 파트를 통하여 시그널링할 수 있다. 다만, 방송 수신 장치가 방송 서비스 스캔 등을 위하여 구체적인 방송 서비스 정보를 획득하기 위해서는 인터리브드 PLP 파트의 복수의 PLP 들을 모두 디코딩하여야 한다.
달리 방송 전송 장치는 방송 전송 프레임을 통하여 전송되는 방송 서비스와 방송 서비스에 포함된 컴포넌트에 대한 정보를 포함하는 별도의 파트를 포함하는 방송 전송 프레임을 전송할 수 있다. 이때, 방송 수신 장치는 별도의 파트를 통하여 신속히 방송 서비스와 방송 서비스에 포함된 컴포넌트들에 대한 정보를 획득할 수 있다.
도 264은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
일 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 고속 정보 채널(Fast Information Channe, FIC) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
*2194FIC 파트를 제외한 다른 파트는 전술한 실시예와 동일하다.
방송 전송 장치는 FIC 파트를 통하여 고속 정보(fast information)를 전송한다. 고속 정보는 전송 프레임을 통해 전송되는 방송 스트림의 구성 정보 (configuration information), 간략한 방송 서비스 정보 및 컴포넌트 정보를 포함할 수 있다. 방송 수신 장치는 FIC 파트에 기초하여 방송 서비스를 스캔할 수 있다. 구체적으로 방송 수신 장치는 FIC 파트로부터 방송 서비스에 대한 정보를 추출할 수 있다. 고속 정보를 링크 레이어 시그널링이라 일컬을 수 있다. 방송 수신 장치 어플리케이션 레이어를 파싱하지 않고, 링크 레이어 만을 파싱하여 방송 서비스 정보 및 컴포넌트 정보를 획득할 수 있기 때문이다.
더 나아가, 특정 PLP는 해당 전송 프레임 내에서 전송되는 방송 서비스 및 콘텐츠에 대한 시그널링을 신속하고 강건하게 전송할 수 있는 Base PLP 로 동작할 수 있다.
도 265는 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
Physical layer의 전송 프레임의 각 PLP를 통하여 전송되는 데이터들은 다음 그림과 같을 수 있다. 즉, Link layer signaling 및/또는 IP 데이터그램은 특정 형태의 Generic packet 으로 encapsulation 된 후, PLP를 통하여 전송될 수 있다.
도 266은 본 발명의 일 실시예에 따른 LCT 패킷이 나타나 있다.
애플리케이션 계층 전송 세션은 IP 주소 및 포트 번호의 조합으로 구성될 수 있다.
Real-Time Object Delivery over Unidirectional Transport (이하 ROUTE) 인 경우 ROUTE 세션이 하나 이상의 LCT(Layered Coding Transport) 세션들로 구성될 수 있다. 예를 들어 하나의 LCT 전송 세션을 통해 하나의 미디어 컴포넌트 (예를 들어, DASH Representation 등)를 전달하는 경우, 하나의 애플리케이션 전송 세션을 통하여 하나 이상의 미디어 컴포넌트를 multiplexing 하여 전송할 수 있다. 더 나아가, 하나의 LCT 전송 세션을 통하여 하나 이상의 전송 오브젝트 (Transport object)를 전달할 수 있으며 각 전송 오브젝트는 전송 세션을 통하여 전달되는 DASH representation과 연관된 DASH segment 가 될 수 있다. 또는 전송 오브젝트는 전술한 딜리버리 오브젝트를 포함할 수 있다.
예를 들어 애플리케이션 계층 전송 프로토콜이 LCT 기반인 경우, 다음과 같이 전송 패킷이 구성될 수 있다. 전송 패킷은 LCT header, ROUTE(ALC) Header, 및/또는 payload data 를 포함할 수 있다.
LCT header는 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), 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), Congestion Control Information field(CCI), Transport Session Identifier field(TSI), Transport Object Identifier field(TOI), 및/또는 Header Extensions field(미도시) 중에서 적어도 하나를 포함할 수 있다.
ROUTE(ALC) Header는 FEC Payload ID field(미도시)를 포함할 수 있다.
payload data는 Encoding Symbol(s) field를 포함할 수 있다.
LCT version number field(V)는 프로토콜 버전 번호를 지시할 수 있다. 예를 들어, LCT version number field(V)는 LCT 버전 번호를 지시할 수 있다. LCT 헤더의 LCT version number field(V)는 ROUTE 버전 번호 필드로 해석될 수 있다. ROUTE의 버전은 함축적으로(implicitly) LCT building block의 버전 '1'을 사용할 수 있다. 예를 들어, 버전 번호는 '0001b'일 수 있다.
Congestion control flag field(C)는 Congestion Control Information field의 길이를 지시할 수 있다. C=0은 Congestion Control Information (CCI) field 의 길이가 32-bits를 지시할 수 있다. C=1은 Congestion Control Information (CCI) field 의 길이가 64-bits를 지시할 수 있다. C=2은 Congestion Control Information (CCI) field 의 길이가 96-bits를 지시할 수 있다. C=3은 Congestion Control Information (CCI) field 의 길이가 128-bits를 지시할 수 있다.
Reserved field(R) reserved for future use. 예를 들어, Reserved field(R)는 Protocol-Specific Indication field(PSI)일 수 있다. Protocol-Specific Indication field(PSI)는 LCT 상위 프로토콜에서 특정 목적의 지시자로 사용될 수 있다. PSI 필드는 현재 패킷이 소프 패킷인지 FEC 리페어 패킷인지 여부를 지시할 수 있다. ROUTE 소스 프로토콜은 오직 소스 패킷들을 전송하기 때문에, PSI 필드는 '10b'으로 세팅될 수 있다.
Transport Session Identifier flag field(S)는 Transport Session Identifier field의 길이를 지시할 수 있다.
Transport Object Identifier flag field(O)는 Transport Object Identifier field의 길이를 지시할 수 있다. 예를 들어, 오브젝트는 하나의 파일을 의미할 수 있고, 상기 TOI는 각 오브젝트의 식별정보로써, 상기 TOI가 0인 파일은 FDT라 한다.
Half-word flag field(H)는 TSI 및 TOI 필드의 길이에 half-word(16 bits)를 추가할지 여부를 지시한다.
Sender Current Time present flag field(T)는 Sender Current Time (SCT)가 존재하는지 여부를 지시할 수 있다. T=0은 Sender Current Time (SCT) field가 존재하지 않는다고 지시할 수 있다. T=1은 Sender Current Time (SCT) field가 존재한다고 지시할 수 있다. SCT는 송신자가 수신자에게 session이 얼마나 오랫 동안 처리되는지를 지시하기 위해서 포함될 수 있다.
Expected Residual Time present flag field(R)는 Expected Residual Time (ERT) field가 존재하는지 여부를 지시할 수 있다. R=0은 Expected Residual Time (ERT) field가 존재하지 않는다고 지시할 수 있다. R=1은 Expected Residual Time (ERT) field가 존재한다고 지시할 수 있다. ERT는 송신자가 수신자에게 session/오브젝트 전송이 얼마나 더 오랫 동안 계속될 것인지를 지시하기 위해서 포함될 수 있다.
Close Session flag field(A)는 세션이 종료 또는 종료가 임박했음을 지시한다.
Close Object flag field(B)는 전송 중인 오브젝트가 종료 또는 종료가 임박했음을 지시한다.
LCT header length field(HDR_LEN)는 32-비트 워드 단위로 LCT 헤더의 총 길이를 지시할 수 있다.
Codepoint field(CP)는 현재 패킷에 의해서 전송되는 페이로드의 타입을 지시할 수 있다. 페이로드의 타입에 의해서, 추가적인 페이로드 헤더는 페이로드 데이터의 앞에 추가될 수 있다.
Congestion Control Information field(CCI)는 layer numbers, logical channel numbers, sequence numbers 등의 Congestion Control 정보 전송에 사용된다. LCT 헤더에 있는 CCI 필드는 필요한 Congestion Control Information을 포함할 수 있다.
Transport Session Identifier field(TSI)는 세션의 고유 식별자이다. TSI는 특정 송신자로부터 전송되는 모든 세션들 중에서 세션을 고유하게 식별할 수 있다. TSI 필드는 ROUTE에서 Transport Session을 식별할 수 있다. Transport Session의 내용은 LSID(LCT Session Instance description)에 의해서 제공될 수 있다.
LSID는ROUTE session의 각각의 LCT transport session에서 무엇이 전송되는지를 정의할 수 있다. 각각의 transport sessinon은 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는 session 내에있는 어떤 오브젝트에 현재 패킷이 관련있는지를 지시할 수 있다. TOI 필드는 현재 session 내에서 어떤 오브젝트에 현재 패킷의 페이로드가 속하는지를 지시할 수 있다. 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 field는 추가 정보 전송을 위한 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 field는 Transmission Block 또는 encoding symbol의 식별 정보를 포함한다. FEC Payload ID는 상기 파일이 FEC 인코딩된 경우의 식별자를 나타낸다. 예를 들어, FEC Payload ID는 상기 FLUTE 프로토콜 파일이 FEC 인코딩된 경우, 방송국 또는 방송서버가 이를 구분하기 위해 할당할 수 있다.
Encoding Symbol(s) field는 Transmission Block 또는 encoding symbol의 데이터를 포함할 수 있다.
도 267는 본 발명의 일 실시예에 따른 시그널링 정보가 FIC 및/또는 PLP를 통하여 전달되는 것을 나타낸 도면이다.
차세대 방송 시스템의 시그널링 데이터는 다음과 같이 전송될 수 있다. 방송 전송 장치는, 방송 수신 장치로 하여금 신속한 서비스/콘텐츠 스캔을 지원하기 위하여, Fast Information Channel(이하 FIC)를 이용하여 해당 physical layer frame을 통해서 방송 서비스에 대한 시그널링 데이터를 전달할 수 있다. FIC 가 존재하지 않는 경우, 방송 서비스에 대한 시그널링 데이터는 link layer signaling 이 전달되는 경로를 통하여 전달될 수 있다.
서비스 및/또는 서비스 내의 컴포넌트(오디오, 비디오 등) 들에 대한 정보를 포함하는 시그널링 정보는 physical layer frame 내의 하나 이상의 PLP 들을 통해 IP/UDP 데이터그램 및/또는 어플리케이션 계층 전송 패킷(예를 들어, ROUTE 패킷 또는 MMP 패킷 등)으로 encapsulation 되어 전송될 수 있다.
도면은 이러한 시그널링 데이터가 FIC 및/또는 하나 이상의 DP 를 통하여 전달되는 경우의 실시 예를 보여준다. 신속한 서비스 스캔/획득을 지원하기 위한 시그널링 데이터는 FIC 을 통해 전달될 수 있다. 또한, 서비스 등에 대한 자세한 정보를 포함하는 시그널링 데이터는 IP 데이터그램으로 encapsulation 되어 특정 PLP를 통하여 전달될 수 있다.
도 268는 본 발명의 일 실시예에 따른 시그널링 정보가 전송 세션을 통하여 전달되는 것을 나타낸 도면이다.
도면을 참고하면, 신속한 서비스 스캔/획득을 지원하기 위한 시그널링 정보가 FIC를 통해서 전달될 수 있다. 또한, 서비스 내의 특정 컴포넌트에 대한 정보 등을 포함하는 시그널링 정보의 일부는 ROUTE 세션 내의 하나 이상의 전송 세션을 통하여 전달될 수 있다.
도 269은 본 발명의 일 실시예에 따른 시그널링 정보가 전송 세션을 통하여 전달되는 것을 나타낸 도면이다.
도면을 참고하면, 신속한 서비스 스캔/획득을 지원하기 위한 시그널링 정보는 FIC를 통해 전달될 수 있다. 또한, 서비스 및 서비스 내의 컴포넌트에 대한 자세한 정보를 포함하는 시그널링 정보는 ROUTE 세션 내의 하나 이상의 전송 세션을 통하여 전달될 수 있다.
도 270은 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지 구성을 나타낸다.
구체적으로 도면은 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지 헤더의 신택스를 나타낼 수 있다. 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지는 시그널링 메시지 헤더와 시그널링 메시지를 포함할 수 있다. 이때 시그널링 메시지는 바이너리 또는 XML 포맷으로 표현될 수 있다. 또한, 서비스 시그널링 메시지는 전송 프로토콜 패킷의 페이로드에 포함될 수 있다.
일 실시예에 따른 시그널링 메시지 헤더는 시그널링 메시지를 식별하는 식별자 정보를 포함할 수 있다. 예를 들어, 시그널링 메시지가 섹션 형태일 수 있다. 이 경우, 시그널링 메시지의 식별자 정보는 시그널링 테이블 섹션의 식별자(ID)를 나타낼 수 있다. 시그널링 메시지의 식별자 정보를 나타내는 필드는 singnaling_id일 수 있다. 구체적인 실시 예에서 signaling_id 필드는 8비트일 수 있다. 예를 들어, 시그널링 메시지가 section 형태로 나타내어 지는 경우, 시그널링 메시지의 식별자 정보는 signaling table section 의 id 를 나타낼 수 있다.
또한, 일 실시예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 길이를 나타내는 길이 정보를 포함할 수 있다. 시그널링 메시지의 길이 정보를 나타내는 필드는 signaling_length일 수 있다. 구체적인 실시 예에서 signaling_length 필드는 16비트일 수 있다.
또한, 일 실시예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 식별자를 확장하는 식별자 확장 정보를 포함할 수 있다. 이때, 식별자 확장 정보는 시그널링 식별자 정보와 함께 시그널링을 식별하는 정보일 수 있다. 시그널링 메시지의 식별자 확장 정보를 나타내는 필드는 signaling_id_extension일 수 있다. 구체적인 실시 예에서 signaling_id_extension 필드는 16비트일 수 있다.
이때, 식별자 확장 정보는 시그널링 메시지의 프로토콜 버전 정보를 포함할 수 있다. 시그널링 메시지의 프로토콜 버전 정보를 나타내는 필드는 protocol_version일 수 있다. 구체적인 실시 예에서 protocol_version 필드는 8비트일 수 있다.
또한, 일 실시예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 버전 정보를 포함할 수 있다. 시그널링 메시지의 버전 정보는 시그널링 메시지가 포함하는 내용이 변경되면 변경될 수 있다. 시그널링 메시지의 버전 정보를 나타내는 필드는 version_number일 수 있다. 구체적인 실시 예에서 version_number 필드는 4비트일 수 있다.
또한, 일 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지가 현재 가용한지 여부를 나타내는 정보를 포함할 수 있다. 시그널링 메시지의 가용여부를 나타내는 필드는 current_next_indicator일 수 있다. 구체적인 예를 들면, current_next_indicator 필드가 1인 경우, current_next_indicator 필드는 시그널링 메시지가 이용 가능함을 나타낼 수 있다. 또 다른 예를 들면, current_next_indicator 필드가 0인 경우, current_next_indicator 필드는 시그널링 메시지가 이용 불가하며, 이후 동일한 시그널링 식별자 정보, 시그널링 식별자 확장 정보 또는 프래그멘트 넘버 정보를 포함하는 또 다른 시그널링 메시지가 이용 가능함을 나타낼 수 있다.
또한, 일 실시 예에 따른 시그널링 메시지 헤더는 indicator_flags를 포함할 수 있다. indicator_flags는 fragmentation_indicator, payload_format_indicator, 및/또는 expiration _indicator 중에서 적어도 하나를 포함할 수 있다.
fragmentation_indicator는 해당 signaling 메시지가 fragmentation 되었는지 여부를 나타낼 수 있다. fragmentation_indicator의 값이 '1'인 경우, 해당 메시지가 fragmentation 되었음을 나타낼 수 있다. 이러한 경우, fragmentation_indicator는 signaling_message_data()에 시그널링 데이터의 일부만 포함되었음을 나타낼 수 있다. fragmentation_indicator의 값이 '0' 인 경우, fragmentation_indicator는 signaling_message_data() 에 전체 시그널링 데이터가 포함되어 있음을 나타낼 수 있다.
payload_format_indicator는 현재 signaling 메시지 헤더 부분에 payload_format 값을 포함하고 있는지 여부를 나타낼 수 있다. payload_format_indicator의 값이 '1'인 경우, payload_format_indicator는 signaling 메시지 헤더 부분에 payload_format 값이 포함되어 있음을 나타낼 수 있다.
expiration_indicator는 현재 signaling 메시지 헤더 부분에 expiration 값을 포함하고 있는지 여부를 나타낼 수 있다. expiration_indicator의 값이 '1'인 경우, expiration_indicator는 signaling 메시지 헤더 부분에 expiration 값이 포함되어 있음을 나타낼 수 있다.
또한, 일 실시예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 프래그멘트(Fragment) 넘버 정보를 포함할 수 있다. 하나의 시그널링 메시지가 복수개의 프래그멘트로 나뉘어져 전송될 수 있다. 따라서, 수신기가 나뉘어진 복수의 프래그멘트를 식별하기 위한 정보가 프래그멘트 넘버 정보일 수 있다. 프래그멘트 넘버 정보를 나타내는 필드는 fragment_number 필드일 수 있다. 구체적인 실시 예에서 fragment_number 필드는 4비트일 수 있다. 예를 들어, 하나의 signaling 메시지가 여러 개의 fragment 로 나뉘어져서 전송될 경우, fragment_number 필드는 현재 signaling message의 fragment 넘버를 나타낼 수 있다.
또한, 일 실시예에 따른 시그널링 메시지 헤더는 하나의 시그널링 메시지가 복수개의 프래그멘트로 나뉘어져 전송되는 경우, 마지막 프래그멘트의 넘버 정보를 포함할 수 있다. 예를 들면, 마지막 프래그멘트 넘버에 대한 정보가 3을 나타내는 경우, 시그널링 메시지가 3개로 나뉘어져 전송됨을 나타낼 수 있다. 또한, 3을 나타내는 프래그멘트 넘버를 포함하는 프래그멘트가 시그널링 메시지의 마지막 데이터를 포함함을 나타낼 수 있다. 마지막 프래그멘트의 넘버 정보를 나타내는 필드는 last_fragment_number일 수 있다. 구체적인 실시 예에서 last_fragment_number 필드는 4비트일 수 있다.
또한, 일 실시예에 따른 시그널링 메시지 헤더는 페이로드에 포함되는 시그널링 메시지 데이터의 포멧을 나타내는 페이로드 포멧 정보를 포함할 수 있다. 페이로드 포멧 정보를 나타내는 필드는 payload_format일 수 있다. 예를 들어, payload_format는 binary, 및/또는 XML 중에서 하나를 나타낼 수 있다.
또한, 일 실시예에 따른 시그널링 메시지 헤더는 페이로드에 포함된 시그널링 메시지의 유효 시간을 나타내는 유효 시간 정보를 포함할 수 있다. 유효시간 정보를 나타내는 필드는 expiration일 수 있다.
도 271은 본 발명의 일 실시예에 따른 방송 수신 장치가 연동장치에게 긴급 경보를 시그널링하는 동작을 보여주는 래더다이어그램이다.
본 발명의 일 실시예에 따른 방송 수신 장치(100 또는 C100)는 긴급 경보 메시지(emergency alert message)를 방송망(브로드캐스트 방식)으로 방송 전송 장치(300)로부터 수신하고, 수신한 긴급 경보 메시지(emergency alert message)의 모든 속성 및/또는 일부 속성을 멀티캐스트 방식으로 적어도 하나의 연동 장치(200, C200, 또는 컨패니언 스크린 디바이스(C200))로 전달할 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 방송 수신 장치(100)는 긴급 경보 메시지(emergency alert message)를 구독(subscription) 요청을 하지 않고 멀티캐스트(multicast) 방식으로 적어도 하나의 연동 장치(200)로 전달할 수 있다. 예를 들어, 본 발명의 일 실시예에 따른 방송 수신 장치(100)는 긴급 경보 메시지(emergency alert message)의 모든 속성 및/또는 일부 속성을 멀티캐스트(multicast) 방식으로 적어도 하나의 연동 장치(200)로 전달할 수 있다.
멀티캐스트 방식은 하나의 방송 수신 장치(100)가 데이터(또는 데이터그램)를 네트워크에 연결된 복수의 연동 장치(200)에게 인터넷 망을 통하여 동시에 전달하는 방식이다. 예를 들어, 하나의 방송 수신 장치(100)는 데이터를 선택된 특정 그룹의 적어도 하나의 연동 장치(200)에게 전송할 수 있다. 멀티캐스트 방식은 데이터를 일대다(one-to-many)의 특정 장치로 단방향으로 전달할 수 있다. 이에 반하여, 브로드캐스트 방식은 데이터를 불특정 다수의 모든 장치로 단방향으로 전달하는 점에서 멀티캐스트 방식과 차이가 있다. 따라서, 멀티캐스트 방식은 데이터를 네트워크에 연결된 적어도 하나의 장치에게 동시에 전달할 수 있다.
방송 수신 장치(100)가 긴급 경보 메시지(emergency alert message)를 적어도 하나의 연동 장치(200)로 멀티캐스트(multicast) 방식으로 전달하는 것은 적어도 하나의 연동 장치(200)가 방송 수신 장치(100)와 페어링(pairing)이 되어 있지 않아도 가능하고, 페어링(pairing)이 되어 있지만 방송 수신 장치(100)의 긴급 경보 메시지(emergency alert service)에 대하여 구독(subscription) 요청을 하지 않은 상태에서도 가능하다.
본 발명의 일 실시예에 따른 방송 수신 장치(100) 및 적어도 하나의 연동 장치(200)는 멀티캐스트를 위한 네트워크에 연결되어 있다.
네트워크에 연결된 적어도 하나의 연동 장치(200)는 미리 정의된(pre-defined) 긴급 경보 메시지(emergency alert message)를 위한 멀티캐스트 주소(multicast address (IP & port))를 항상 listening을 하고 있는다(CS1105). 예를 들어, 적어도 하나의 연동 장치(200)는 긴급 경보 메시지를 포함하는 긴급 경보 멀티캐스트 메시지를 미리 정의된 멀티캐스트 주소(예를 들어, 239.255.255.251:1900)를 통하여 수신할 준비를 한다.
방송 수신 장치(100)는 방송 전송 장치(300)로부터 긴급 경보 메시지를 포함하는 방송 신호를 수신한다(CS1110). 구체적으로 방송 수신 장치(100)는 방송 수신부(110 또는 브로드캐스트 인터페이스(C110))를 이용하여 방송 전송 장치(300)로부터 긴급 경보 메시지 및/또는 시그널링 정보중에서 적어도 하나를 포함하는 방송 신호를 수신할 수 있다.
방송 신호는 긴급 경보 테이블(Emergency Alter Table, EAT)을 포함하고, 긴급 경보 테이블은 긴급 경보 메시지를 포함할 수 있다. 긴급 경보 메시지는 긴급 경보를 포함할 수 있다.
또한, 방송 신호는 시그널링 정보를 포함하고, 시그널링 정보는 서비스 맵 테이블(Service Map Table, SMT)을 포함하고, 서비스 맵 테이블은 긴급 경보 메시지에 대한 부가정보를 포함할 수 있다. 긴급 경보 메시지에 대한 부가정보는 방송 수신 장치(100)에서 서비스 중인 서비스에 대한 식별자를 나타내는 ServiceId, 방송 수신 장치(100)가 수신한 긴급 경보 메시지의 식별자를 나타내는 MessageId, 및/또는 긴급 경보와 관련된 부가정보가 위치해 있는 콘텐트 서버 및/또는 방송 수신 장치(100) 내의 주소를 나타내는 MessageURI 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치(100)는 긴급 경보 메시지를 기초로 긴급 경보 메시지와 관련된 정보를 포함하는 긴급 경보 멀티캐스트 메시지를 생성할 수 있다.
*2269일 실시예에서, 방송 수신 장치(100)는 제어부(150)를 이용하여 긴급 경보 메시지에 기초하여 긴급 경보 메시지의 모든 속성 및/또는 일부 속성을 포함하는 긴급 경보 멀티캐스트 메시지를 생성할 수 있다.
일 실시예에서, 방송 수신 장치(100)는 제어부(150)를 이용하여 긴급 경보 메시지에 대한 부가정보에 기초하여 긴급 경보 메시지에 대한 부가정보를 포함하는 긴급 경보 멀티캐스트 메시지를 생성할 수 있다.
일 실시예에서, 방송 수신 장치(100)는 긴급 경보 메시지를 수신 후 사용자에게 보여줄 사용자 인터페이스(UI)를 생성할 수 있다. 방송 수신 장치(100)는 제어부(150)를 이용하여 긴급 경보에 대한 사용자 인터페이스 정보를 생성할 수 있다. 사용자 인터페이스 정보는 사용자 인터페이스에 대한 속성을 나타낼 수 있다. 긴급 경보에 대한 사용자 인터페이스 정보는 긴급 경보에 대한 서비스 식별자, 메시지 식별자, 및 위치 리스트에 대한 정보를 포함할 수 있다. 서비스 식별자는 <ServiceId>로 표현될 수 있으며 방송 수신 장치에서 서비스 중인 서비스에 대한 식별자를 나타낼 수 있다. 메시지 식별자는 <MessageId>로 표현될 수 있으며, 방송 수신 장치가 수신한 긴급 경보 메시지의 식별자를 나타낼 수 있다. 위치 리스트는 <URIList>로 표현될 수 있으며 방송 수신 장치가 수신한 긴급 경보 메시지를 이용하여 UI를 구성한 html page의 위치를 나타내는 URI의 리스트를 나타낼 수 있다. 위치 리스트에 포함된 위치 정보는 <URI>로 표현될 수 있으며, 방송 수신 장치가 수신한 긴급 경보 메시지를 이용하여 UI를 구성한 html page에 대한 위치를 나타낼 수 있다. 위치 정보는 <URIList>에 포함될 수 있으며, 하나 이상이 될 수 있다. 그리고 나서, 방송 수신 장치(100)는 제어부(150)를 이용하여 긴급 경보에 대한 UI 정보를 포함하는 긴급 경보 멀티캐스트 메시지를 생성할 수 있다
방송 수신 장치(100)는 긴급 경보 멀티캐스트 메시지를 미리 정의된 멀티캐스트 주소에 멀티캐스트 방식으로 통지(또는 멀티캐스트)한다(CS1120). 예를 들어, 방송 수신 장치(100)는 긴급 경보 메시지의 모든 속성 및/또는 일부 속성, 긴급 경보 메시지에 대한 부가정보, 및/또는 긴급 경보에 대한 UI 정보 중에서 적어도 하나를 포함하는 긴급 경보 멀티캐스트 메시지를 미리 정의된 멀티캐스트 주소에 멀티캐스트 방식으로 통지(또는 멀티캐스트)할 수 있다. 미리 정의된 멀티캐스트 주소는 멀티캐스트를 위한 네트워크 내에서 긴급 경보 멀티캐스트 메시지의 전송을 위한 멀티캐스트 주소일 수 있다. 이 경우, 방송 수신 장치(100)는 제어부(150)를 이용하여 긴급 경보 멀티캐스트 메시지를 네트워크에 연결된 적어도 하나의 연동 장치(200)에게 알릴 수 있다.
연동 장치(200)는 긴급 경보 멀티캐스트 메시지를 멀티캐스팅 방식으로 수신할 수 있다(CS1130). 예를 들어, 연동 장치(200)는 긴급 경보 메시지의 모든 속성 및/또는 일부 속성, 긴급 경보 메시지에 대한 부가정보, 및/또는 긴급 경보에 대한 UI 정보 중에서 적어도 하나를 포함하는 긴급 경보 멀티캐스트 메시지를 멀티캐스트를 위한 네트워크 내에서 미리 정의된 멀티캐스트 주소를 통하여 수신할 수 있다.
연동 장치(200)는 긴급 경보 멀티캐스트 메시지를 처리할 수 있다. 예를 들어, 연동 장치(200)는 제어부를 이용하여 긴급 경보 메시지의 모든 속성 및/또는 일부 속성을 표시할 수 있다. 또한, 연동 장치(200)는 제어부를 이용하여 전달 받은 messageId 및/또는 ServiceId을 기초로 방송 수신 장치(100) 내에 저장된 부가정보를 요청할 수 있다. 또한, 연동 장치(200)는 제어부를 이용하여 전달 받은 messageURL을 기초로 컨텐츠 서버(400)의 URL을 통해서 부가정보를 요청할 수 있다. 또한, 연동 장치(200)는 제어부를 이용하여 긴급 경보에 대한 사용자 인터페이스 정보에 기초하여 방송 수신 장치(100)에게 긴급 경보에 대한 사용자 인터페이스를 요청할 수 있다. 또한, 연동 장치(200)는 제어부를 이용하여 긴급 경보에 대한 사용자 인터페이스를 획득할 수 있는 URI에 기초하여 긴급 경보에 대한 사용자 인터페이스를 표시한다. 연동 장치(200)는 제어부를 통하여 긴급 경보에 대한 인터페이스를 획득할 수 있는 URI에 기초하여 긴급 경보에 대한 인터페이스를 표시할 수 있다. 이때, 연동 장치(200)는 외부의 서버로부터 긴급 경보에 대한 인터페이스를 획득할 수 있다. 예를 들어, 연동 장치(200)는 긴급 경보에 대한 인터페이스를 위한 이미지 파일 및 HTML 파일 및 XML 파일 중 적어도 어느 하나를 외부의 서버로부터 수신할 수 있다. 이때, 외부의 서버는 컨텐츠/시그널링 서버(400)일 수 있다. 또 다른 구체적인 실시예에서 연동 장치(200)는 긴급 경보에 대한 인터페이스를 미리 저장 하고 있고, 저장한 인터페이스 중 URI에 해당하는 인터페이스를 불러올 수 있다. 또한, 연동 장치(200)는 이러한 동작을 통해 획득한 긴급 경보에 대한 인터페이스를 표시할 수 있다.
도 272는 본 발명의 일 실시예에 따른 긴급 경보 멀티캐스트 메시지의 전달을 위한 헤더 메시지 포맷을 나타낸 도면이다.
방송 수신 장치가 방송사로부터 긴급 경보 메시지를 수신했을 때, NOTIFY 방법으로 긴급 경보 멀티캐스트 메시지를 생성하고, 긴급 경보 멀티캐스트 메시지를 연동 장치로 전달할 수 있다. 이 때 TYPE의 값은 "atsc:emergency"로 설정할 수 있고, 이는 바디(body)에 긴급 경보 메시지(emergency alert message)를 담고 있음을 나타낼 수 있다.
도면을 참조하면, 긴급 경보 멀티캐스트 메시지의 Request line은 "NOTIFY * HTTP/1.1"과 같을 수 있다.
"NOTIFY"는 통지(notification)들을 전송하는 방법을 나타낼 수 있다.
"HTTP/1.1"은 HTTP의 버전을 나타낼 수 있다.
또한, 긴급 경보 멀티캐스트 메시지의 헤더 필드는 HOST 필드, CACHE-CONTROL 필드, LOCATION 필드, NOTIFICATION-TYPE 필드, 및/또는 MESSAGE-TYPE 필드 중에서 적어도 하나를 포함할 수 있다.
HOST 필드는 긴급 경보 메시지(Emergency alert message)를 멀티캐스트 할 수 있는 주소 및/또는 포트를 포함할 수 있다. 예를 들어, HOST 필드는 "239.255.255.251:1900"를 포함할 수 있다.
CACHE-CONTROL 필드는 멀티캐스트 메시지가 만료될 때까지의 시간을 나타낼 수 있다. 예를 들어, CACHE-CONTROL 필드는 멀티개스트 메시지가 이용가능한 초 단위의 숫자를 명시하는 정수를 포함할 수 있다(Field value can have the max-age directive followed by an integer that specifies the number of seconds the multicast message is available.).
LOCATION 필드는 콘텐트 서버 또는 브로드캐스트 서버에서 긴급 경보 메시지의 위치를 지시할 수 있다. 예를 들어, 위치는 URL(Uniform Resource Locator) 형식일 수 있다. 연동 장치는 이 URL로 접속하여 긴급 경보 관련 정보 페이지에 접속할 수 있다.
NOTIFICATION-TYPE 필드는 메시지의 타입을 지시할 수 있다. 예를 들어, NOTIFICATION-TYPE 필드는 "atsc:emergency"를 지시할 수 있다.
MESSAGE-TYPE 필드는 긴급 메시지 타입을 지시할 수 있다. 예를 들어, MESSAGE-TYPE 필드는 공통 경보 프로토콜(Common Alerting Protocol, CAP)을 지시할 수 있다.
기본적인 헤더 메시지 포맷에 사용될 수 있는 필드들은 위와 같을 수 있으며, 차세대 하이브리드 방송 시스템에서 사용될 수 있는 긴급 경보 서비스 시스템에 맞추어 추후 추가/삭제/변경될 수 있다.
도 273은 본 발명의 일 실시예에 따른 긴급 경보 멀티캐스트 메시지의 전달을 위한 바디 메시지 포맷(body message format)을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 긴급 경보 메시지의 모든 속성을 포함하는 긴급 경보 멀티캐스트 메시지를 전달하기 위한 바디 메시지 포맷(body message format)이 나타나 있다.
본 발명의 일 실시예에 따른 방송 수신 장치(100)는 수신한 긴급 경보 메시지의 모든 속성을 포함하는 긴급 경보 멀티캐스트 메시지를 미리 정의된 멀티캐스트 주소에 멀티캐스트 방식으로 통지(또는 멀티캐스트)할 수 있다. 이 경우, 연동 장치는 CAP parser등과 같은 emergency message parser가 필요할 수 있다.
도 274은 본 발명의 일 실시예에 따른 긴급 경보 멀티캐스트 메시지의 전달을 위한 바디 메시지 포맷(body message format)을 나타낸 도면이다.
도면(a)를 참고하면, 본 발명의 일 실시예에 따른 긴급 경보 메시지의 일부속성을 포함하는 긴급 경보 멀티캐스트 메시지를 전달하기 위한 바디 메시지 포맷(body message format)이 나타나 있다.
방송 수신 장치는 긴급 경보 메시지를 수신한 후, 긴급 경보 메시지의 특정 엘리먼트 및/또는 속성들만을 추출하여 긴급 경보 멀티캐스트 메시지를 생성하고, 긴급 경보 멀티캐스트 메시지를 멀티캐스트 할 수 있다.
예를 들어, 방송 수신 장치(100)는 긴급 경보 메시지로부터 긴급 경보를 식별하는 identifier element, 긴급 경보의 카테고리를 나타내는 category element, 긴급 경보에 대한 설명을 나타내는 description element, 긴급 경보에 해당하는 지역을 나타내는 areaDesc element, 긴급 경보의 긴급도를 나타내는 urgency element, 긴급 경보를 유발한 재난의 심각성을 나타내는 severity element, 및/또는 긴급 경보를 유발한 재난의 발생 확률을 나타내는 certainity element 중 적어도 어느 하나를 추출할 수 있다. 그리고 나서, 방송 수신 장치(100)는 제어부(150)를 이용하여 긴급 경보 메시지에 기초하여 identifier element, category element, description element, areaDesc element, urgency element, severity element, 및/또는 certainity element 중에서 적어도 하나를 포함하는 긴급 경보 멀티캐스트 메시지를 생성할 수 있다.
연동 장치가 긴급 경보 메시지의 일부 속성을 포함하는 긴급 경보 멀티캐스트 메시지를 전달 받은 후, 사용자에 의해 더 많은 긴급 경보 관련 정보를 얻기를 원할 경우에는 헤더에 있는 LOCATION 필드의 URL로 접속하여 긴급 경보 관련 정보 페이지에 접속할 수 있다. 즉, 연동 장치는 LOCATION 필드의 URL을 기초로 콘텐트 서버 및/또는 브로드캐스트 서버로부터 긴급 경보 관련 정보를 수신할 수 있다.
도면(b)를 참고하면, 본 발명의 일 실시예에 따른 텍스트 형태로 긴급 경보 메시지를 전달하기 위한 바디 메시지 포맷(body message format)이 나타나 있다.
마찬가지로, 사용자에 의해 더 많은 긴급 경보 관련 정보를 얻기를 원할 경우, 연동 장치는 헤더의 LOCATION 필드의 URL로 접속하여 긴급 경보 관련 정보 페이지에 접속할 수 있다.
도 275는 본 발명의 일 실시예에 따른 방송 수신 장치의 흐름도를 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 수신 장치는 전술한 모든 내용과 관련된 동작을 수행할 수 있다.
방송 수신 장치는 방송 수신부 또는 브로드캐스트 인터페이스를 이용하여 방송 신호를 수신할 수 있다(CS1210). 예를 들어, 방송 수신 장치는 긴급 경보 메시지 및/또는 상기 긴급 경보 메시지에 대한 메타데이터를 나타내는 시그널링 정보를 포함하는 방송 신호를 수신할 수 있다.
방송 신호는 긴급 경보 테이블(Emergency Alter Table, EAT)을 포함하고, 긴급 경보 테이블은 긴급 경보 메시지를 포함할 수 있다. 긴급 경보 메시지는 긴급 경보를 포함할 수 있다. 또한, 방송 신호는 시그널링 정보를 포함하고, 시그널링 정보는 서비스 맵 테이블(Service Map Table, SMT)을 포함하고, 서비스 맵 테이블은 긴급 경보 메시지에 대한 부가정보를 포함할 수 있다. 긴급 경보 메시지에 대한 부가정보는 방송 수신 장치(100)에서 서비스 중인 서비스에 대한 식별자를 나타내는 ServiceId, 방송 수신 장치(100)가 수신한 긴급 경보 메시지의 식별자를 나타내는 MessageId, 및/또는 긴급 경보와 관련된 부가정보가 위치해 있는 콘텐트 서버 및/또는 방송 수신 장치(100) 내의 주소를 나타내는 MessageURI 중에서 적어도 하나를 포함할 수 있다
또한, 시그널링 정보는 서비스 및 서비스에 포함되는 적어도 하나의 콘텐트 컴포넌트의 발견 및 획득을 제공하는 서비스 레이어 시그널링(또는 제1 정보)를 포함할 수 있다. 또한 시그널링 정보는 빠른 채널 참가 및 스위칭과 관련된 데이터를 포함하는 서비스 리스트 테이블(또는 FIC, 제2 정보)를 포함할 수 있다. 서비스 리스트 테이블은 서비스의 리스트를 빌딩하고 서비스 레이어 시그널링의 부트스트랩 디스커버리를 제공할 수 있다. FIC는 방송 수신 장치가 기본적인 서비스 리스트를 만들고(build), 각각의 서비스를 위한 서비스 레이어 시그널링의 발견(discovery)을 부트스트랩(bootstrap)할 수 있도록 한다. 실시예에 따라, FIC는 서비스 리스트 테이블(Service List Table, SLT)로 표현할 수도 있다. FIC(또는, SLT)는 링크 레이어 시그널링을 통해서 전송될 수 있다. 또한, FIC(또는, SLT)는 신속한 획득을 위해서 각각의 물리적 레이어 프레임 내에서 전송될 수 있다. 실시예에 따라, FIC(또는, SLT)는 Physical Layer Frame, signaling을 전송하는 PLP, 및/또는 방송국마다 할당된 PLP 중에서 적어도 하나를 통해서 전송될 수 있다.
또한, 시그널링 정보는 시그널링 정보가 분할되었는지 여부를 지시하는 fragmentation_indicator, 시그널링 정보의 헤더 부분에 페이로드 포멧에 대한 정보를 포함하는지 여부를 지시하는 payload_format_indicator, 및 시그널링 정보의 헤더 부분에 시그널링 정보의 유효 시간을 포함하는지 여부를 지시하는 expiration _indicator, 분할된 시그널링 정보의 번호를 지시하는 fragment_number attribute, 분할된 시그널링 정보의 번호들 중에서 마지막 번호를 지시하는 last_fragment_number attribute, 시그널링 정보의 페이로드 포멧을 지시하는 payload_format attribute, 시그널링 정보의 유효 시간을 지시하는 expiration attribute 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치는 제어부를 이용하여 방송 신호를 기초로 긴급 경보 멀티캐스트 메시지를 생성할 수 있다(CS1220).
긴급 경보 멀티캐스트 메시지는 헤더 메시지를 포함하고, 헤더 메시지는 긴급 경보 멀티캐스트 메시지를 멀티캐스트 할 수 있는 주소 및 포트를 나타내는 HOST 필드, 긴급 경보 멀티캐스트 메시지의 이용가능한 유효시간을 나타내는 CACHE-CONTROL 필드. 긴급 경보 메시지의 위치를 나타내는 LOCATION 필드, 긴급 경보 멀티캐스트 메시지의 타입을 나타내는 NOTIFICATION-TYPE 필드, 및 긴급 경보 메시지의 타입을 나타내는 MESSAGE-TYPE 필드 중에서 적어도 하나를 포함할 수 있다.
또한, 긴급 경보 멀티캐스트 메시지는 바디 메시지를 포함하고, 바디 메시지는 상기 긴급 경보 메시지의 모든 속성을 포함할 수 있다.
또한, 긴급 경보 멀티캐스트 메시지는 바디 메시지를 포함하고, 바디 메시지는 긴급 경보를 식별하는 identifier element, 상기 긴급 경보의 카테고리를 나타내는 category element, 상기 긴급 경보에 대한 설명을 나타내는 description element, 상기 긴급 경보에 해당하는 지역을 나타내는 areaDesc element, 상기 긴급 경보의 긴급도를 나타내는 urgency element, 상기 긴급 경보를 유발한 재난의 심각성을 나타내는 severity element, 및 상기 긴급 경보를 유발한 재난의 발생 확률을 나타내는 certainity element 중 적어도 하나를 포함할 수 있다.
또한, 방송 수신 장치는 제어부를 이용하여 긴급 경보 메시지에 대한 부가정보를 포함하는 긴급 경보 멀티캐스트 메시지를 생성할 수 있다.
또한, 방송 수신 장치는 제어부를 이용하여 긴급 경보 메시지를 기초로 긴급 경보에 대한 사용자 인터페이스를 생성하고, 상기 사용자 인터페이스에 대한 속성을 나타내는 사용자 인터페이스 정보를 포함하는 긴급 경보 멀티캐스트 메시지를 생성할 수 있다. 사용자 인터페이스 정보는 서비스에 대한 식별자를 나타내는 ServiceId, 긴급 경보 메시지의 식별자를 나타내는 MessageId, 및/또는 사용자 인터페이스를 구성하는 페이지의 위치를 나타내는 URIList 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치(100)는 컴패니언 스크린 인터페이스를 이용하여 긴급 경보 멀티캐스트 메시지를 컴패니언 스크린 디바이스로 전달할 수 있다(CS1230). 예를 들어, 방송 수신 장치(100)는 긴급 경보 멀티캐스트 메시지를 미리 정의된 멀티캐스트 주소에 멀티캐스트 방식으로 통지(또는 멀티캐스트)할 수 있다. 컴패니언 스크린 디바이스는 전술한 연동 장치를 포함할 수 있다. 또한, 컴패니언 스크린 인터페이스는 제어부에 포함될 수 있다. 미리 정의된 멀티캐스트 주소는 멀티캐스트를 위한 네트워크 내에서 긴급 경보 메시지의 전송을 위한 멀티캐스트 주소일 수 있다. 예를 들어, 방송 수신 장치(100)는 긴급 경보 메시지의 모든 속성 및/또는 일부 속성, 긴급 경보 메시지에 대한 부가정보, 및/또는 긴급 경보에 대한 사용자 인터페이스 정보 중에서 적어도 하나를 포함하는 긴급 경보 멀티캐스트 메시지를 미리 정의된 멀티캐스트 주소에 멀티캐스트 방식으로 통지(또는 멀티캐스트)할 수 있다.
도 276은 본 발명의 일 실시예에 따른 방송 시스템을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치(C2760010), 브로드밴드 서버(C2760020), 방송 수신 장치(C2760100), 및/또는 컴패니언 스크린 디바이스(C2760200)를 포함할 수 있다.
방송 전송 장치(C2760010)는 방송 서비스를 제공할 수 있다. 방송 전송 장치(C2760010)는 제어부(미도시) 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다. 또한, 방송 전송 장치(C2760010)는 송신기로 표현할 수 있다.
예를 들어, 방송 서비스는 콘텐트(또는, 리니어 서비스), 어플리케이션(또는, Non-리니어 서비스), 및/또는 시그널링 정보 중에서 적어도 하나를 포함할 수 있다. 또한, 방송 서비스는 전자 서비스 가이드(Electronic Service Gudie, ESG), 긴급 경보 메시지(Emergency Alert Message), 및/또는 미디어 플레이백 상태 정보를 포함할 수 있다. 방송 서비스에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
방송 전송 장치(C2760010)는 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 방송 서비스를 포함하는 방송 스트림을 전송할 수 있다.
브로드밴드 서버(C2760020)는 방송 수신 장치(C2760100) 및/또는 컴패니언 스크린 디바이스(C2760200)로부터 인터넷 망을 통하여 요청을 받고, 응답으로 인터넷 망을 통하여 방송 서비스를 제공할 수 있다. 브로드밴드 서버(C2760020)는 콘텐트를 포함한 다양한 데이터를 포함할 수 있다. 또한, 브로드밴드 서버(C2760020)는 전술한 콘텐트 서버를 포함할 수 있다.
방송 수신 장치(C2760100)는 방송망 및/또는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 그리고 나서, 방송 수신 장치(C2760100)는 컴패니언 스크린 디바이스(C2760200)와 연결할 수 있다. 그리고 나서, 방송 수신 장치(C2760100)는 방송 서비스를 컴패니언 스크린 디바이스(C2760200)로 전송할 수 있다. 예를 들어, 방송 서비스는 콘텐트(또는, 리니어 서비스), 어플리케이션(또는, Non-리니어 서비스), 및/또는 시그널링 정보 중에서 적어도 하나를 포함할 수 있다. 또한, 방송 서비스는 전자 서비스 가이드(Electronic Service Gudie, ESG), 긴급 경보 메시지(Emergency Alert Message), 및/또는 미디어 플레이백 상태 정보를 포함할 수 있다.
방송 수신 장치(C2760100)는 수신기, 제1 수신기, 제1 스크린 디바이스(first screen device), 마스터 디바이스(Master Device, MD), 및/또는 프라이머리 디바이스(Primary Device, PD)로 표현할 수 있다.
방송 수신 장치(C2760100)는 브로드캐스트 인터페이스(C2760110; 또는 방송 수신부), 브로드밴드 인터페이스(C2760130; 또는 IP 송수신부), 컴패니언 스크린 인터페이스(C2760140; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C410150) 중에서 적어도 하나를 포함할 수 있다.
브로드캐스트 인터페이스(C2760110)는 방송 서비스를 포함하는 방송 스트림을 수신할 수 있다. 이때 방송 스트림은 위성, 지상파, 케이블 방송망 중 적어도 어느 하나를 이용하여 전송될 수 있다. 따라서 브로드캐스트 인터페이스(C2760110)는 방송 스트림을 수신하기 위하여 위성 튜너, 지상파 튜너, 케이블 튜너 중 적어도 어느 하나를 포함할 수 있다.
브로드밴드 인터페이스(C2760130)는 브로드밴드 서버(C2760020)에 방송 서비스를 요청할 수 있다. 또한, 브로드밴드 인터페이스(C2760130)는 브로드밴드 서버(C2760020)로부터 방송 서비스를 수신할 수 있다.
컴패니언 스크린 인터페이스(C2760140)는 컴패니언 스크린 디바이스(C2760200)의 프라이머리 디바이스 인터페이스(C2760240)로 방송 서비스 및/또는 시그널링 데이터를 송신 및/또는 수신할 수 있다.
디코더(미도시)는 방송 서비스를 디코딩할 수 있다.
디스플레이(미도시)는 방송 서비스를 디스플레이할 수 있다.
제어부(C2760150)는 브로드캐스트 인터페이스(C2760100), 브로드밴드 인터페이스(C2760130), 컴패니언 스크린 인터페이스(C2760140), 디코더, 및/또는 디스플레이의 동작을 제어할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치(C2760100)는, 제어부(C2760150)를 이용하여, 컴패니언 스크린 디바이스(C2760200)와 연결할 수 있다. 이를 위하여, 제어부(C2760150)는 프라이머리 디바이스 네트워크 프로세서(C2760153)와 프라이머리 디바이스 어플리케이션 프로세서(C2760155)를 포함할 수 있다. 프라이머리 디바이스 네트워크 프로세서(C2760153)에 관한 내용은 전술한 방송 수신 장치에 포함되는 네트워크 프로세서에 관한 내용을 모두 포함할 수 있다. 또한, 프라이머리 디바이스 어플리케이션 프로세서(C2760155)에 관한 내용은 전술한 방송 수신 장치에 포함되는 어플리케이션 프로세서에 관한 내용을 모두 포함할 수 있다.
프라이머리 디바이스 어플리케이션 프로세서(C2760155)는 내부적으로 방송 수신 장치(C2760100)의 컴패니언 스크린 인터페이스(C2760140)와 직접 및/또는 간접적으로 통신할 수 있다. 또한, 프라이머리 디바이스 어플리케이션 프로세서(C2760155)는 외부적으로 컴패니언 스크린 디바이스(C2760200)의 프라이머리 디바이스 인터페이스(C2760240)와 직접 및/또는 간접적으로 통신할 수 있다. 또한, 프라이머리 디바이스 어플리케이션 프로세서(C2760155)는 외부적으로 컴패니언 스크린 디바이스(C2760200)의 컴패니언 스크린 어플리케이션 프로세서(C2760255)와 직접 및/또는 간접적으로 통신할 수 있다.
예를 들어, 프라이머리 디바이스 어플리케이션 프로세서(C2760155)는 프라이머리 디바이스 네트워크 프로세서(C2760153)로 컴패니언 스크린 디바이스(C2760200)와의 연결을 요청할 수 있다. 프라이머리 디바이스 네트워크 프로세서(C2760153)는 컴패니언 스크린 디바이스(C2760200)로부터 연결 요청을 받으면, 연결 요청한 프라이머리 디바이스 어플리케이션 프로세서(C2760155)와 컴패니언 스크린 디바이스(C2760200)를 연결할 수 있다.
상술한 바와 같이, 프라이머리 디바이스 어플리케이션 프로세서(C2760155)는 어플리케이션 모듈, 어플리케이션 브라우저일 수 있다. 또는, HbbTV 어플리케이션일 수 있다. 프라이머리 디바이스 네트워크 프로세서(C2760153)는 네트워크 모듈로 구현될 수 있다. 또는, 프라이머리 디바이스 네트워크 프로세서(C2760153)는 웹소켓 서버(WebSocket Server)일 수 있다. 프라이머리 디바이스 네트워크 프로세서(C2760153)가 웹소켓 서버로 구현되는 경우, 프라이머리 디바이스 어플리케이션 프로세서(C2760155)와 컴패니언 스크린 디바이스(C2760200)는 각각 하나의 클라이언트라고 볼 수 있다. 또는, 제1 클라이언트와 제2 클라이언트를 각각 피어(peer)라고 부를 수도 있다.
프라이머리 디바이스 어플리케이션 프로세서(C2760155)는 프라이머리 디바이스 네트워크 프로세서(C2760153) 에서 동작하는 방송 수신 장치 정보 또는 컴패니언 스크린 디바이스 정보를 나타내는 호스트 요청 헤더 정보를 프라이머리 디바이스 네트워크 프로세서(C2760153)로 전송할 수 있다.
그리고, 프라이머리 디바이스 네트워크 프로세서(C2760153)는 프라이머리 디바이스 어플리케이션 프로세서(C2760155)의 연결 요청이 있을 때, 프라이머리 디바이스 어플리케이션 프로세서(C2760155)의 스트림 헤드를 생성하여 스트림 헤드 그룹에 포함시킬 수 있다. 프라이머리 디바이스 네트워크 프로세서(C2760153)는 컴패니언 스크린 디바이스(C2760200)로부터 연결 요청을 받으면, 컴패니언 스크린 디바이스(C2760200)의 스트림 헤드를 생성하여 스트림 헤드 그룹으로부터 매칭되는 프라이머리 디바이스 어플리케이션 프로세서(C2760155)의 스트림 헤드와 연결할 수 있다. 이때, 프라이머리 디바이스 네트워크 프로세서(C2760153)는 매칭된 프라이머리 디바이스 어플리케이션 프로세서(C2760155)의 스트림 헤드 또는 컴패니언 스크린 디바이스(C2760200)의 스트림 헤드를 스트림 헤드 그룹으로부터 제거할 수 있다.
한편, 프라이머리 디바이스 어플리케이션 프로세서(C2760155)는 연결하려는 컴패니언 스크린 디바이스(C2760200)의 IP 어드레스를 전송할 수 있으며, 각각의 프라이머리 디바이스 어플리케이션 프로세서(C2760155) 및/또는 어플리케이션들은 동일한 포트를 이용할 수 있다.
컴패니언 스크린 디바이스(C2760200)는 브로드밴드 서버(C2760020)로부터 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 컴패니언 스크린 디바이스(C2760200)는 제2 방송 수신 장치, 제2 수신기, 제2 스크린 디바이스(second screen device), 슬레이브 디바이스(Slave Device, SD), 및/또는 컴패니언 디바이스(Companion Device, CD)로 표현할 수 있다. 컴패니언 스크린 디바이스(C2760200)는 브로드밴드 인터페이스(C2760230; 또는 IP 송수신부), 프라이머리 디바이스 인터페이스(C2760240; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C2760250) 중에서 적어도 하나를 포함할 수 있다. 컴패니언 스크린 디바이스(C2760200)의 개수는 복수일 수 있다.
브로드밴드 인터페이스(C2760230)는 브로드밴드 서버(C2760020)에 방송 서비스를 요청하고, 브로드밴드 서버(C2760020)로부터 방송 서비스를 수신할 수 있다. 또한, 브로드밴드 인터페이스(C2760230)는 방송 수신 장치(C2760100)로부터 방송 서비스를 수신할 수 있다.
프라이머리 디바이스 인터페이스(C2760240)는 방송 수신 장치(C2760100)의 컴패니언 스크린 인터페이스(C2760140)로 방송 서비스 및/또는 서비스 데이터를 송신 및/또는 수신할 수 있다.
디코더(미도시)는 방송 서비스를 디코딩할 수 있다.
디스플레이(미도시)는 방송 서비스를 디스플레이할 수 있다.
제어부(C2760250)는 브로드밴드 인터페이스(C2760230), 프라이머리 디바이스 인터페이스(C2760240), 디코더, 및/또는 디스플레이의 동작을 제어할 수 있다.
제어부(C2760250)는 컴패니언 스크린 어플리케이션 프로세서(C2760255)를 더 포함할 수 있다. 컴패니언 스크린 어플리케이션 프로세서(C2760255)에 관한 내용은 전술한 어플리케이션 프로세서에 관한 내용을 모두 포함할 수 있다.
컴패니언 스크린 어플리케이션 프로세서(C2760255)는 내부적으로 컴패니언 스크린 디바이스 (C2760200)의 프라이머리 다바이스 인터페이스(C2760240)와 직접 및/또는 간접적으로 통신할 수 있다. 또한, 컴패니언 스크린 어플리케이션 프로세서(C2760255)는 외부적으로 방송 수신 장치의 (C2760100)의 컴패니언 스크린 인터페이스(C2760140)와 직접 및/또는 간접적으로 통신할 수 있다. 또한, 컴패니언 스크린 어플리케이션 프로세서(C2760255)는 외부적으로 방송 수신 장치(C2760100)의 프라이머리 디바이스 어플리케이션 프로세서(C2760155)와 직접 및/또는 간접적으로 통신할 수 있다.
도 277은 본 발명의 일 실시예에 따른 방송 전송 방법을 나타낸 도면이다.
방송 전송 장치는, 제어부(미도시)를 이용하여, 서비스를 위한 서비스 데이터(또는 시그널링 정보)를 생성할 수 있다(CS2770100).
예를 들어, 서비스 데이터는 미디어 플레이백 상태 정보, 긴급 경보 메시지, 및/또는 전자 서비스 가이드(Electronic Service Gudie, ESG) 중에서 적어도 하나를 포함할 수 있다. 미디어 플레이백 상태 정보, 긴급 경보 메시지, 및/또는 전자 서비스 가이드에 대한 구체적인 내용은 전술한 미디어 플레이백 상태 정보, 긴급 경보 메시지, 및/또는 전자 서비스 가이드에 대한 내용을 모두 포함할 수 있다.
또한, 방송 전송 장치는, 제어부를 이용하여, 로우 레벨 시그널링 데이터 및/또는 서비스 레이어 시그널링 데이터를 생성할 수 있다(CS2770200).
또한, 방송 전송 장치는, 전송부를 이용하여, 상기 서비스 데이터, 로우 레벨 시그널링 데이터, 및/또는 서비스 레이어 시그널링 데이터를 포함하는 방송 신호를 전송할 수 있다(CS2770300).
로우 레벨 시그널링 데이터는 서비스 획득의 부트스트래핑을 지원할 수 있다. 예를 들어, 로우 레벨 시그널링 데이터는 전술한 FIC를 포함할 수 있다.
서비스 레이어 시그널링 데이터는 제1 시그널링 데이터, 제2 시그널링 데이터, 및 제3 시그널링 데이터를 포함할 수 있다.
제1 시그널링 데이터는 상기 제2 시그널링 데이터 및 상기 제3 시그널링 데이터를 참조하는 참조 정보를 포함할 수 있다. 예를 들어, 제1 시그널링 데이터는 전술한 USD 및/또는 SMT를 포함할 수 있다.
제2 시그널링 데이터는 상기 서비스의 컴포넌트를 위한 디스크립션을 포함할 수 있다. 예를 들어, 제2 시그널링 데이터는 전술한 MPD를 포함할 수 있다.
제3 시그널링 데이터는 상기 서비스와 관련된 상기 컴포넌트의 획득 정보를 포함할 수 있다. 예를 들어, 제3 시그널링 데이터는 SDP, SMT, CMT, ROUTE 세션 엘리먼트, LCT 세션 엘리먼트, 및/또는 LSID 중에서 적어도 하나를 포함할 수 있다.
참조 정보는 상기 제2 시그널링 데이터를 참조하는 제1 참조 정보 및 상기 제3 시그널링 데이터를 참조하는 제2 참조 정보를 포함할 수 있다. 예를 들어, 제1 참조 정보는 전술한 fullMpdURI attribute(또는 Full_MPD_URL attribute)이고, 제2 참조 정보는 atscSdpURI element(또는 ATSC_SDP_URL attribute)일 수 있다.
상기 제3 시그널링 데이터는 복수의 제1 전송 세션 엘리먼트를 포함할 수 있다. 상기 제1 전송 세션 엘리먼트는 상기 서비스를 전송하는 제1 전송 세션에 대한 정보를 포함할 수 있다. 예를 들어, 제1 전송 세션은 ROUTE 세션일 수 있다.
제1 전송 세션 엘리먼트는 상기 제1 전송 세션의 소스 IP 어드레스를 지시하는 sIpAddr attribute, 상기 제1 전송 세션의 데스티네이션 IP 어드레스를 지시하는 dIpAddr attribute, 상기 제1 전송 세션의 데스티네이션 포트 넘버를 지시하는 dport attribute, 및 상기 제1 전송 세션을 위한 피지컬 레이어 파라미터를 지시하는 PLPID attribute 중에서 적어도 하나를 포함할 수 있다. 예를 들어, 제1 전송 세션 엘리먼트는 컴포넌트 정보(s), 오리지네이터 및 식별자(o, originator and session identifier), 소스 필터(a, source-filter), 커넥션 정보(c, connection information), 미디어 디스크립션(m, media description), ATSC 모드(a, atsc-mode), 및/또는 TSI 정보(a, route-tsi 또는 flute-tsi) 중에서 적어도 하나를 이용하여, 제1 전송 세션에 대한 정보를 포함할 수 있다.
상기 제3 시그널링 데이터는 제2 전송 세션 엘리먼트를 포함하고, 상기 제2 전송 세션 엘리먼트는 상기 서비스의 상기 컴포넌트를 전송하는 제2 전송 세션에 대한 정보를 포함하고, 상기 제3 시그널링 데이터는 상기 컴포넌트가 전송되는 피지컬 레이어 파이프를 식별하는 PLPID attribute 및 상기 제2 전송 세션을 식별하는 tsi attribute 중에서 적어도 하나를 포함할 수 있다. 예를 들어, 제2 전송 세션은 LCT 세션일 수 있다. 또한, 제3 시그널링 데이터는 상기 컴포넌트가 전송되는 피지컬 레이어 파이프를 식별하는 PLPID attribute 및 상기 제2 전송 세션을 식별하는 tsi attribute 중에서 적어도 하나를 포함할 수 있다.
도 278은 본 발명의 일 실시예에 따른 방송 수신 방법을 나타낸 도면이다.
방송 수신 장치는, 브로드캐스트 인터페이스를 이용하여, 서비스를 포함하는 방송 신호를 수신할 수 있다(CS2780100).
예를 들어, 서비스는 서비스를 위한 서비스 데이터 및/또는 시그널링 데이터를 포함할 수 있다. 또한, 서비스는 미디어 플레이백 상태 정보, 긴급 경보 메시지(Emergency Alert Message), 및/또는 전자 서비스 가이드(Electronic Service Gudie, ESG)를 포함할 수 있다. 미디어 플레이백 상태 정보, 긴급 경보 메시지, 및/또는 전자 서비스 가이드에 대한 구체적인 내용은 전술한 미디어 플레이백 상태 정보, 긴급 경보 메시지, 및/또는 전자 서비스 가이드에 대한 내용을 모두 포함할 수 있다.
방송 신호는 서비스를 위한 시그널링 데이터(또는 시그널링 정보)를 더 포함할 수 있다. 시그널링 데이터는 로우 레벨 시그널링 데이터 및/또는 서비스 레이어 시그널링 데이터를 포함할 수 있다. 시그널링 데이터와 관련된 구체적인 내용은 전술한 시그널링 데이터에 관련된 내용을 모두 포함할 수 있다.
또한, 방송 수신 장치는, 컴패니언 스크린 인터페이스를 이용하여, 컴패니언 스크린 디바이스로부터 서비스의 구독 요청을 수신할 수 있다.
구독 요청은 구독이 유효한 기간을 지시하는 구독 기간 정보를 포함할 수 있다. 예를 들어, 구독 요청은 미디어 플레이백 상태 정보 구독이 만료되기까지 요청된 기간을 지시하는 SubscriptionDuration 엘리먼트 및/또는 긴급 경보 메시지 구독이 만료되기까지 요청된 기간을 지시하는 SubscriptionDuration 엘리먼트를 포함할 수 있다.
또한, 방송 수신 장치는, 제어부를 이용하여, 컴패니언 스크린 디바이스와 연결할 수 있다. 연결 및/또는 페어링을 위해서는 UPnP 등의 기술이 사용될 수 있으나, 페어링을 위한 기술은 이에 한정되지 아니한다. 이를 위하여, 제어부는 네트워크 프로세서와 어플리케이션 프로세서를 포함할 수 있다.
어플리케이션 프로세서는 네트워크 프로세서로 컴패니언 스크린 디바이스와의 연결을 요청할 수 있다. 어플리케이션 프로세서는 네트워크 프로세서에서 동작하는 방송 수신 장치 정보 또는 컴패니언 스크린 디바이스 정보를 나타내는 호스트 요청 헤더 정보를 네트워크 프로세서로 전송할 수 있다. 어플리케이션 프로세서는 연결하려는 컴패니언 장치의 IP 어드레스를 전송할 수 있으며, 각각의 어플리케이션들은 동일한 포트를 이용할 수 있다.
네트워크 프로세서는 컴패니언 스크린 디바이스로부터 연결 요청을 받으면, 연결 요청한 어플리케이션 프로세서와 컴패니언 장치를 연결할 수 있다. 네트워크 프로세서는 웹소켓 서버(WebSocket Server)일 수 있다.
그리고, 네트워크 프로세서는 어플리케이션 프로세서의 연결 요청이 있을 때, 어플리케이션 프로세서의 스트림 헤드를 생성하여 스트림 헤드 그룹에 포함시킬 수 있다. 네트워크 프로세서는 컴패니언 장치로부터 연결 요청을 받으면, 컴패니언 장치의 스트림 헤드를 생성하여 스트림 헤드 그룹으로부터 매칭되는 어플리케이션 프로세서의 스트림 헤드와 연결할 수 있다. 이때, 네트워크 프로세서는 매칭된 어플리케이션 프로세서의 스트림 헤드 또는 컴패니언 장치의 스트림 헤드를 스트림 헤드 그룹으로부터 제거할 수 있다.
네트워크 프로세서 및 어플리케이션 프로세서에 관한 내용은 전술한 내용을 모두 포함할 수 있다.
또한, 방송 수신 장치는, 제어부를 이용하여, 서비스를 위한 통지 메시지를 생성할 수 있다(CS2480200).
예를 들어, 통지 메시지는 미디어 플레이백 상태 정보를 포함할 수 있다. 미디어 플레이백 상태 정보에 대한 구체적인 내용은 전술한 미디어 플레이백 상태 정보와 관련된 내용을 모두 포함할 수 있다.
또한, 미디어 플레이백 상태 정보는 미디어 플레이백 상태를 지시하는 MPState 엘리먼트를 포함할 수 있다. 또한, 미디어 플레이백 상태 정보는 미디어 플레이백 상태의 속도를 지시하는 MPSpeed 엘리먼트를 더 포함할 수 있다. 또한, 미디어 플레이백 상태 정보는 미디어 플레이백 상태 정보 구독이 요청된 미디어를 식별하는 MediaID 엘리먼트를 더 포함할 수 있다.
예를 들어, 상기 통지 메시지는 긴급 경보 메시지를 포함할 수 있다.
또한, 긴급 경보 메시지는 긴급 경보 메시지가 생성된 날짜 및 시간을 지시하는 SentTimestamp 어트리뷰트 및 상기 긴급 경보 메시지가 유효하게 되는 마지막 날짜 및 시간을 지시하는 ExpiredTimestamp 어트리뷰트 중에서 적어도 하나를 포함할 수 있다.
또한, 긴급 경보 메시지는 상기 긴급 경보 메시지의 내용을 포함하는 EAMContent 엘리먼트, 상기 긴급 경보 메시지의 콘텐트 포맷을 지시하는 ContentFormat 어트리뷰트, 접근성을 위한 초기 긴급 경보 메시지 콘텐트를 제공하는 URL을 지시하는 EAMContentAccessibilityURL 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
또한, 긴급 경보 메시지는 상기 긴급 경보 메시지의 카테고리를 지시하는 Category 어트리뷰트, 상기 긴급 경보 메시지의 긴급성(urgency)를 지시하는 Urgency 어트리뷰트, 상기 긴급 경보 메시지의 심각성(Severity)을 지시하는 Severity 어트리뷰트, 상기 긴급 경보 메시지가 이용가능한 지리적 위치(Geographical location)를 지시하는 Geo-loc 어트리뷰트, 상기 긴급 경보 메시지가 새로운 메시지인지 여부를 지시하는 NewMsg 어트리뷰트, 상기 긴급 경보 메시지가 오직 한번만 전송되는지 여부를 지시하는 OneTimeMsg 어트리뷰트 중에서 적어도 하나를 포함할 수 있다.
예를 들어, 상기 통지 메시지는 전자 서비스 가이드(Electronic Service Gudie, ESG)를 포함할 수 있다.
본 발명의 일 실시예에서, ESG 는 적어도 하나 이상의 방송 서비스에 관한 ESG 데이터를 포함할 수 있다. 여기서, ESG 데이터는 ESG 에 포함되는 데이터 또는 ESG 내의 엘레멘트/성질을 의미할 수 있다. 방송 서비스는 전술한 서비스 내지 채널에 해당할 수 있다.
예를 들어, 본 발명의 일 실시예에 따른 ESG 데이터는 전술한 적어도 하나 이상의 방송 서비스의 서비스 타입 정보, 스케쥴 정보, 관련 컨텐츠 정보 또는 관련 컴포넌트 정보일 수 있다. ESG 데이터는 각각 전술한 Service 엘레멘트의 type 성질이거나, Schedule 엘레멘트, Content 엘레멘트 또는 Component 엘레멘트일 수 있다. 여기서 관련 컨텐츠, 관련 컴포넌트는 ESG 에 의해 기술되고 있는 서비스에 관련된 컨텐츠, 그에 관련된 컴포넌트를 의미할 수 있다.
본 발명의 일 실시예에 따른 통지 메시지는 수신한 ESG 의 변경사항 정보를 더 포함할 수 있다. ESG 의 변경사항 정보는 방송망 및/또는 인터넷망을 통하여 수신될 수 있다. 여기서 ESG 의 변경사항 정보는 기 저장된 ESG 데이터 대비 수신된 ESG 의 추가, 변경 또는 삭제된 ESG 데이터를 포함할 수 있다. 여기서 변경사항정보는 전술한 LastChangedESGData 상태변수일 수 있다. 추가, 변경 또는 삭제된 ESG 데이터는 각각 Addition, Modification, Deletion 엘레멘트에 해당할 수 있다.
방송 수신 장치는, 컴패니언 스크린 인터페이스를 이용하여, 통지 메시지를 컴패니언 스크린 디바이스로 전달할 수 있다(CS2470300).
통지 메시지는 통지 프로토콜을 기초로 상기 컴패니언 스크린 디바이스로 전달될 수 있다. 통지 프로토콜은 웹소켓 프로토콜(WebSocket Protocol)을 지시할 수 있다. 웹소켓 프로토콜(WebSocket Protocol)과 관련된 내용은 전술한 웹소켓과 관련된 내용을 모두 포함할 수 있다. 예를 들어, 통지 프로토콜은 방송 수신 장치가 이벤트를 발생시켜서 통지 메시지를 컴패니언 스크린 디바이스로 전달하는 방식을 지시할 수 있다.
전술한 각 단계들은 생략되거나 동일 또는 유사한 동작을 하는 다른 단계에 의해 대체될 수 있다.
도 279은 본 발명의 일 실시예에 따른 앱 관련 방송 서비스에 대해 도시한 도면이다.
본 발명은, 전술한 방송 서비스 중, 어플리케이션(앱)과 관련있는 방송 서비스에 있어서, 그 시그널링 방안과 동기화(synchronization) 방안을 제안한다. 여기서 앱과 관련있는 방송 서비스란, 기본적인 방송 서비스의 제공이 어플리케이션과 관련 있는 경우의 방송 서비스를 의미할 수 있다. 구체적으로 앱 기반(app based) 인핸스먼트(enhancements)를 포함하는 리니어 서비스(linear service) 및/또는 스탠드 얼론(Stand alone) 앱 기반 서비스가 있을 수 있다. 실시예에 따라, 본 발명의 시그널링 방안 등은 앱을 활용하는 다른 형태의 서비스에 대해서도 적용될 수 있다.
먼저, 앱 기반 인핸스먼트를 포함하는 리니어 서비스에 대해서 설명한다. 여기서 리니어 서비스란 일반적인 방송 서비스를 의미할 수 있다. 인핸스먼트란 일반적인 방송 서비스에 대하여 부가적인 정보를 전달하는 인핸스먼트 서비스 내지 인터랙티브 서비스를 의미할 수 있다. 또한 앱 기반 인핸스먼트란 전술한 부가적인 정보의 제공/제어 등이 어플리케이션에 기반하여 수행되는 경우를 말할 수 있다.
예를 들어 풋볼 경기(일반적인 방송 서비스)가 방영되는 중에 있어, 선수 정보 앱이 풋볼 선수들에 대한 선수 정보를 제공(앱 기반 인핸스먼트)하는 경우가 앱기반 인핸스먼트를 포함하는 리니어 서비스에 해당할 수 있다.
스탠드 얼론 앱 기반 서비스에 대해 설명한다. 스탠드 얼론 앱 기반 서비스는 앱 기반 인핸스먼트만을 포함하는 방송 서비스를 의미할 수 있다. 즉 기본적인 방송 서비스에 앱 기반 인핸스먼트가 부가적인 정보를 제공하는 것이 아니라, 앱 자체가 서비스를 제공하는 경우가 이에 해당할 수 있다. 브로드캐스트-인디팬던트 앱등이 스탠드 얼른 앱 기반 서비스를 제공하는 앱의 일 실시예일 수 있다.
앱 기반 인핸스먼트는 여러 컴포넌트들을 포함할 수 있다. 앱 기반 인핸스먼트의 컴포넌트에는, 1 개 또는 그 이상의 앱, 0 개 또는 그 이상의 액티베이션 알림(notification), 0 개 또는 그 이상의 부가적인 NRT 컨텐트 아이템 및/또는 0 개 또는 그 이상의 온 디맨드 아이템이 있을 수 있다.
여기서, 각각의 앱들은 NRT(Non Real Time) 컨텐트 아이템으로서, 앱 실행 환경(application run time environment)에서 실행될 수 있듣 NRT 컨텐트 아이템일 수 있다. 여기서, 앱들이 수행할 액션(action)들이 방송방/브로드밴드를 통해 전달되는 알림(notification)들에 의해 시작(initiated)될 수 있는데, 이 알림들이 전술한 액티베이션 알림에 해당할 수 있다. 이 알림들은 "이벤트"라고 불릴 수도 있다. 여기서, 부가적인 NRT 컨텐트 아이템 및/또는 온 디멘드 아이템은 앱에 의해 사용될 데이터를 의미할 수 있다.
실시예에 따라, 앱 기반 인핸스먼트에 포함되는 앱 중에서 하나의 앱을 프라이머리 앱으로 둘 수도 있다. 프라이머리 앱이 존재하는 경우, 해당 앱 기반 인핸스먼트를 포함하는 방송 서비스가 선택되자마자, 이 프라이머리 앱이 실행될 수 있다. 프라이머리 앱이 아닌 다른 앱들은 방송망/브로드밴드를 통한 시그널링에 의해 실행될 수 있다. 또는 프라이머리 앱이 아닌 앱들은 이미 실행중인 다른 앱들에 의해 실행될 수 있다. 이 경우 프라이머리 앱이 아닌 앱은 자바 스크립트의 createApplication() 에 의해 실행될 수 있다.
본 발명은 전술한 바와 같이 다양한 타입의 앱 기반 인핸스먼트들에 대하여, 시그널링을 하는 방안을 제안한다. 또한 본 발명은 액티베이션 알림을 타임 베이스와 동기화시켜 전달하는 방안을 제안한다. 동기화된 액티베이션 알림에 의해 앱의 액션들 역시 동기화될 수 있다.
여기서, 어플리케이션(앱)은, 인핸스먼트/인터랙티브 서비스를 이루는 도큐먼트(HTML, CSS, JavaScript, 등)들의 집합을 의미할 수 있다.
여기서, 컨텐트 아이템은, 서비스 프로바이더가 프리젠테이션 목적상 하나의 유닛으로 다뤄지기를 의도한 하나 또는 그 이상의 파일들의 세트를 의미할 수 있다.
여기서, 이벤트(Event)는, DASH 클라이언트나 앱에, 어떠한 액션이 수행될 것임을 지시하는 시간적 알림(timed notification)을 의미할 수 있다.
여기서, 이벤트 스트림(Event Stream)은, 전술한 이벤트들의 스트림을 의미할 수 있다.
여기서, NRT 컨텐트 아이템은, 추후의 프리젠테이션 또는 앱에서의 다른 활용을 위하여 미리(ahead of time) 전달된 컨텐트 아이템을 의미할 수 있다.
여기서, 온 디맨드 컨텐트 아이템은, 사용자의 요청된 시각에 다운로드 되고 프리젠테이션되는 컨텐트 아이템을 의미할 수 있다.
도 280 은 본 발명의 일 실시예에 따른 ApplicationList 엘레멘트의 일부를 도시한 도면이다.
도 281 는 본 발명의 일 실시예에 따른 ApplicationList 엘레멘트의 다른 일부를 도시한 도면이다.
두 도면은 원래 하나인 도면을 도시하고 있으나, 공간의 제약에 의해 두 개의 도면으로 나뉘어 도시되었다.
전술한 바와 같이, 방송 서비스는 0개 또는 그 이상의 앱 기반 인핸스먼트를 포함할 수 있다. 예를 들어 리니어 서비스는 백그라운드에서 실행되어 타겟된 광고의 삽입을 매니징하는 하나의 앱을 가지는 앱 기반 인핸스먼트를 포함할 수 있다. 또한 이 리니어 서비스는 오디오/비디오 프로그램에 관련된 인터랙티브 뷰잉 익스피리언스(viewing experience) 를 제공하는 앱들의 집합을 포함하는 앱 기반 인핸스먼트를 더 포함할 수 있다.
여기서 각각의 앱 기반 인핸스먼트는 별개로(separately) 시그널링될 수 있다. 따라서 다양한 앱을 제작하는 제작자들은 서로 그들의 시그널링에 대해 협력할 필요가 없어질 수 있다.
하나의 앱 기반 인핸스먼트에 포함되는 앱들의 집합은 AST (Application Signaling Table) 에 의해 시그널링될 수 있다. AST 는 XML 도큐먼트의 하나로서, ApplicationList 엘레멘트를 루트 엘레멘트로 가질 수 있다. 하나의 AST 는 하나의 앱 기반 인핸스먼트에 포함되는 앱들에 대한 시그널링 정보를 포함할 수 있다. 실시예에 따라 하나의 AST 가 복수개의 앱 기반 인핸스먼트를 시그널링하도록 확장될 수도 있다.
하나의 서비스에 대한 서비스 시그널링 정보는, 해당 서비스에 포함되는 각각의 앱 기반 인핸스먼트에 대하여 AST를 포함할 수 있다. 즉, 하나의 서비스가 복수개의 앱 기반 인핸스먼트를 포함하는 경우, 그 서비스의 서비스 시그널링 정보는 복수개의 AST 를 포함할 수 있다.
도시된 AST 의 일 실시예에 대해 설명한다. 실시예에 따라 AST 의 각 엘레멘트/속성(attribute) 는 추가/생략/변경될 수 있다.
AST 는 ApplicationList 엘레멘트를 루트 엘레멘트로 포함할 수 있다. ApplicationList 엘레멘트는 Application 엘레멘트의 리스트를 포함할 수 있다. 즉, ApplicationList 엘레멘트는 적어도 하나 이상의 Application 엘레멘트를 포함할 수 있다.
각각의 Application 엘레멘트는 appName 엘레멘트, applicationDescriptior 엘레멘트, applicationSpecificDescriptor 엘레멘트, applicationUsageDescriptor 엘레멘트, applicationBoundary 엘레멘트, applicationTransport 엘레멘트, applicationLocation 엘레멘트, atsc:Capabilities 엘레멘트, atsc:liveEventSource 엘레멘트, atsc:ContentItems 엘레멘트, @applicationIdentifier 속성, @atsc:serviceId 속성 및/또는 @atsc:protocolVersion 속성을 포함할 수 있다.
appName 엘레멘트는 Application 엘레멘트가 나타내는 앱의 이름을 나타낼 수 있다. 본 엘레멘트는 생략될 수 있다.앱 이름은 다양한 언어로 표현될 수 있다. appName 엘레멘트는 @lang 속성을 더 포함할 수도 있다. @lang 속성은 앱 이름을 표시하고 있는 언어를 나타낼 수 있다.
applicationDescriptior 엘레멘트는 해당 앱에 대한 정보를 포함할 수 있다. applicationDescriptior 엘레멘트는 모든 앱에 공통적으로 포함될 수 있는 정보들을 포함할 수 있다. applicationDescriptior 엘레멘트는 icon 엘레멘트, @type 속성, @controlCode 속성, @visibility 속성, @serviceBound 속성, @priority 속성, @version 속성, @mhpVersion 속성, @storageCapabilities 속성 및/또는 @trickModeTolerance 속성을 포함할 수 있다.
icon 엘레멘트는 해당 앱을 대표하는데 사용될 수 있는 아이콘을 나타낼 수 있다. 본 엘레멘트는 생략될 수 있다. icon 엘레멘트는 앱 이미지(아이콘)의 MIME 타입을 나타내는 @mimType 속성 및/또는 앱 이미지의 넓이/높이/깊이를 픽셀로 나타내는 @width/@height/@depth 속성을 더 포함할 수 있다. icon 엘레멘트는 앱 이미지의 다운로드를 위한 HTTP URL 정보를 가지는 @url 속성을 더 포함할 수도 있다.
@type 속성은 해당 앱의 타입을 지시할 수 있다. 예를 들어 본 속성은 해당 앱이 ATSC 또는 DVB 에 따른 앱임을 지시할 수 있다.
@controlCode 속성은 해당 앱의 상태(state)의 컨트롤을 위한 정보를 포함할 수 있다. 예를 들어 본 속성은 autolaunch, kill 등의 정보를 가질 수 있다. 이 정보들이 활용되어, 해당 앱의 상태가 컨트롤될 수 있다.
@visibility 속성은 해당 앱이 유저 및/또는 다른 앱에게 보여질 수 있는 앱인지를 지시할 수 있다(visible). 여기서 유저 및/또는 다른 앱에게 보여질 수 있는지 여부란, 넓은 의미로서 해당 앱이 유저 인터페이스에 나타나는지 여부를 의미할 수 있다. 본 속성은 보여지는지 여부 외에, 들릴 수 있는지(audible), 감각적으로 인지 가능한지(sensory) 여부를 모두 지시할 수 있다. 실시예에 따라, 해당 앱이 유저 등에게 스피커를 통해 들려질 수 있는지 여부는 @audibility 속성을 따로 두어 지시하게 할 수도 있다. 본 속성은 생략될 수 있다.
@serviceBound 속성은 해당 앱이 서비스 바운드되어 있는지 여부를 지시할 수 있다. 본 속성이 true 값을 가지는 경우 해당 앱은 서비스 바운드되어 있고, false 값을 가지는 경우 그렇지 않을 수 있다. 본 속성은 디폴트 값으로 true 값을 가질 수 있다. 본 속성은 생략될 수 있다. 본 속성이 생략되는 경우, 이는 해당 앱이 서비스 바운드되어 있다는 의미일 수 있다.
@priority 속성은 해당 앱이, 다른 앱들에 비하여 상대적으로 가지는 중요도(priority)를 지시할 수 있다. @version 속성은 해당 앱의 버전을 나타낼 수 있다. @mhpVersion 속성은 해당 앱을 위해 필요한 플랫폼 내지 버전을 지시할 수 있다. 본 속성은 생략될 수 있다.
@storageCapabilities 속성은 해당 앱을 캐쉬하는데 필요한 스토리지의 양을 나타낼 수 있다. 본 속성은 생략될 수 있다. 본 속성은, 실시예에 따라, 해당 앱이 캐쉬될 수 있는지 여부를 지시하는데 사용될 수도 있다.
@trickModeTolerance 속성은 해당 앱이 특정한 트릭 모드와 호환될 수 있는지 여부를 지시할 수 있다. 호환여부란, 특정 트릭 모드가 실행되었을 때, 해당 앱이 그 트릭 모드에 따라 정상적인 동작을 할 수 있는지 여부를 의미할 수 있다(whether an app can tolerate certain trick modes). 트릭 모드에는 일시정지, 빨리감기, 느린재생, 되감기(pause, FF, Slow mode, rewind)등이 있을 수 있다. 본 속성은 생략될 수 있다. 앱 인핸스먼트를 가지는 방송 서비스에 있어서, 유저가 그 방송 서비스에 대해 트릭 플레이를 하는 경우, 트릭 플레이된 기본 프로그램에 대해 인핸스먼트가 정상적으로 이루어질 수 있도록 시그널링이 수행될 수 있다.
applicationSpecificDescriptor 엘레멘트는 전술한 applicationDescriptior 엘레멘트와 달리, 특정 타입의 앱에 대해서만 필요한 정보를 가질 수 있다. 즉 본 엘레멘트의 정보는 앱 타입에 종속될 수 있다. 앱 타입에 따라 본 엘레멘트가 불필요할 수 있으므로, 본 엘레멘트는 생략될 수 있다.
applicationUsageDescriptor 엘레멘트는 해당 앱의 기능(function)을 나타낼 수 있다. 예를 들어 본 엘레멘트는 해당 앱이 teletext 에 활용될 수 있음을 지시할 수 있다. 앱 타입에 따라 불필요할 수도 있다. 본 엘레멘트는 생략될 수 있다.
applicationBoundary 엘레멘트는 해당 앱의 앱 바운더리(boundary)의 확장을 정의하는 URL 정보를 나타낼 수 있다. 본 엘레멘트는 생략될 수 있다.
applicationTransport 엘레멘트는 해당 앱을 전달하는데 사용된 프로토콜을 지시할 수 있다. 예를 들어 본 엘레멘트는 해당 앱이 ROUTE, MMT 또는 HTTP 를 통해 전달되었음을 지시할 수 있다. 실시예에 따라 본 엘레멘트는 해당 AST 가 전달되는데 사용된 프로토콜을 지시할 수도 있다. 전술한 본 발명의 서비스 데이터 전달방법에 따를 때, 본 엘레멘트의 허용된 값은 ROUTE, MMT, HTTP 등일 수 있다.
applicationLocation 엘레멘트는 해당 앱을 획득할 수 있는 로케이션을 제공하는 URL 을 나타낼 수 있다. 실시예에 따라 본 엘레멘트는 해당 앱을 획득할 수 있는 URL 을 나타낼 수도 잇다.
atsc:Capabilities 엘레멘트는 해당 앱/앱 기반 인핸스먼트를 유의미하게 처리하기 위한 캐퍼빌리티(capability) 정보를 나타낼 수 있다. 여기서 유의미하게 처리하기 위함이란, 유의미하게 렌더링/디코딩/재생등을 할 수 있는 수신측의 캐퍼빌리티를 의미할 수 있다. 실시예에 따라 이 캐퍼빌리티 정보는 기 설정된 캐퍼빌리티 코드에 의해 지시될 수도 있다.
atsc:liveEventSource 엘레멘트는 라이브 상황에 있어서 전술한 이벤트를 전달받기 위한 정보를 제공할 수 있다. 예를 들어 라이브로 제공되는 방송 프로그램에 있어서, 실시간으로 변경되는 방송 프로그램의 내용에 맞춰 인핸스먼트를 제공하기 위해서는 이벤트 역시 실시간으로 변경되어 전달될 수 있어야 한다. 기 제작된(pre produced) 컨텐츠와 달리 라이브 상황에서는 전술한 동작이 필요할 수 있다. 본 엘레멘트는 이러한 상황에서 이벤트를 실시간으로 전달받기 위한 URL 등의 정보를 제공할 수 있다. 본 엘레멘트는 @url 속성, @shortPollingPeriod 속성 및/또는 @targetDevice 속성을 포함할 수 있다.
@url 속성은 라이브 상황에서 이벤트를 전달받기 위한 URL 을 나타낼 수 있다. @shortPollingPeriod 속성은 이벤트가 브로드밴드의 쇼트 폴링으로 획득되는 경우에 있어서, 그 폴링 주기를 나타낼 수 있다. @targetDevice 속성은 해당 라이브 이벤트가 타겟하고 있는 기기를 나타낼 수 있다. 예를 들어 PD(Primary Device) 또는 CD (Companion Device) 가 타겟 대상일 수 있다. @shortPollingPeriod 속성 및/또는 @targetDevice 속성은 생략될 수 있다.
atsc:ContentItems 엘레멘트는 해당 앱에 의해 사용될 각 컨텐트 아이템에 대한 정보를 포함할 수 있다. atsc:ContentItems 엘레멘트는 각각의 컨텐트 아이템 개수만큼 존재할 수 있다. atsc:ContentItems 엘레멘트는 location 엘레멘트, @ContentLinkage 속성, @updatesAvailable 속성, @TFAvailable 속성, @contentSecurityCondition 속성, @availableInBroadcast 속성, @availableOnInet 속성, @playBackLengthInSecondes 속성, @playBackDelay 속성, @expiration 속성, @size 속성, @name 속성 및/또는 timeSlotInfo 엘레멘트를 더 포함할 수 있다.
location 엘레멘트는 해당 컨텐트 아이템을 획득할 수 있는 로케이션 정보를 나타낼 수 있다. 이 정보는 실시예에 따라, URL 의 형태일 수 있다. location 엘레멘트는 생략되거나 복수개 존재할 수 있다.
@ContentLinkage 속성은 해당 컨텐트 아이템을 활용할 앱을 지시할 수 있다. 이 속성값과 후술할 이벤트에 대한 정보들(EventStream 엘레멘트, emsg 박스 등)에 의하여 특정 앱에 대한 시그널링이 수행될 수 있다. 본 속성은, 예를 들어, 특정 앱에 대한 앱 식별자를 제공하거나, 그 앱 데이터가 전달되는 특정 LCT 세션을 지시할 수 있다.
@updatesAvailable 속성은 해당 컨텐트 아이템의 업데이트가 가능한지(available) 여부를 지시할 수 있다. true 또는 false 의 값을 가질 수 있다. @TFAvailable 속성은 해당 컨텐트 아이템을 위한 시그널링 채널에 텍스트 프래그먼트가 존재하는지 여부를 지시할 수 있다.
@contentSecurityCondition 속성은 해당 컨텐트 아이템의 시큐리티 상태를 나타낼 수 있다. @availableInBroadcast 속성은 해당 컨텐트 아이템이 방송망을 통해 획득될 수 있는지를 나타낼 수 있다. @availableOnInet 속성은 해당 컨텐트 아이템이 인터넷망을 통해 획득될 수 있는지를 나타낼 수 있다.
@playBackLengthInSecondes 속성은 해당 컨텐트 아이템의 재생시 길이를 초 단위로 나타낼 수 있다. 본 속성은 생략될 수 있다. @playBackDelay 속성은 해당 컨텐트 아이템의 재생 딜레이를 나타낼 수 있다. 본 속성은 생략될 수 있다. @expiration 속성은 해당 컨텐트 아이템의 만료기간을 나타낼 수 있다. 본 속성은 생략될 수 있다. @size 속성은 해당 컨텐트 아이템의 크기를 나타낼 수 있다. 본 속성은 생략될 수 있다. @name 속성은 해당 컨텐트 아이템의 이름을 나타낼 수 있다. 본 속성은 생략될 수 있다.
timeSlotInfo 엘레멘트는 해당 컨텐트 아이템의 타임 슬롯 관련 정보를 포함할 수 있다. timeSlotInfo 엘레멘트는 @time_slot_start 속성, @time_slot_length 속성, @acquisition_time 속성, @repeat_period 속성 및/또는 @slot_count 속성을 더 포함할 수 있다.
@time_slot_start 속성은 타임 슬롯의 시작 시각을 나타낼 수 있다. 이 시간은 1980 년 1 월 6일 00:00:00 UTC 부터의 GPS 초로 표현될 수 있다. 본 필드가 0 의 값을 가지는 경우, 타임 슬롯은 불명확한 과거로부터 시작되었음이 지시된 것일 수 있다.
@time_slot_length 속성은 타임 슬롯의 길이를 분 단위로 나타낼 수 있다.
@acquisition_time 속성은 적어도 하나의 컨텐트 아이템이 전송되는 것이 보장되는 최소한의 시간 간격 길이를 나타낼 수 있다. 이 시간 간격은 분 단위로 표현될 수 있다. 여기서, 이 시간 간격은 타임 슬롯 내의 임의의(arbitrary) 시간에서부터 시작되었다고 가정하며, 타임 슬롯의 끝을 포함할 수 있다. 하나의 큰 컨텐트 아이템이 타임 슬롯 동안에 반복해서 전송되는 경우, 본 속성은 컨텐트 아이템의 하나의 인스턴스가 전송되는데 걸리는 시간일 수 있다. 복수개의 작은 컨텐트 아이템들이 캐로셀(carousel)로 전송되는 경우, 본 속성은 캐로셀의 사이클 시간에 해당할 수 있다(If a single large content item is being transmitted repeatedly during the time slot, this will be the time it takes to transmit a single instance of the content item. If a number of small content items are being transmitted in a carousel, this will be the carousel cycle time.)
@repeat_period 속성은 타임 슬롯의 반복 주기를, 분 단위로 나타낼 수 있다.
@slot_count 속성은 타임 슬롯이 발생할 횟수를 나타낼 수 있다. @time_slot_start 속성이 나타내는 시간부터 시작되는 타임슬롯부터 시작하여 횟수가 나타내어질 수 있다. 본 속성이 0 의 값을 가지는 경우, 반복(repetition)은 무기한으로 계속됨이 가정될 수 있다. (A value of zero for slot_count shall indicate the repetition shall be assumed to continue indefinitely.
Application 엘레멘트는 @ContentLinkage 속성 및/또는 timeSlotInfo 엘레멘트를 직접 포함할 수도 있다. 즉, @ContentLinkage 속성 및/또는 timeSlotInfo 엘레멘트는 Application 엘레멘트 및 atsc:ContentItems 엘레멘트에 모두 포함될 수 있다.
Application 엘레멘트의 속성 중, @applicationIdentifier 속성은 해당 앱의 식별자를 나타낼 수 있다. 이 값은 글로벌하게 유니크(globally unique)한 값일 수 있다.
@atsc:serviceId 속성은 해당 앱이 관련된 서비스의 서비스 식별자를 나타낼 수 있다.
@atsc:protocolVersion 속성은 해당 앱의 프로토콜 버전을 나타낼 수 있다. 실시예에 따라 해당 필드는 메이저 프로토콜 버전과 마이너 프로토콜 버전을 나타내는 두 필드로 나뉠 수 있다. 또는 본 필드가 동시에 메이저/마이너 프로토콜 버전을 제공할 수도 있다.
ApplicationList 엘레멘트는, 복수개의 Application 엘레멘트 외에도, @ASTVersionNumber 속성, @timeSpanStart 속성 및/또는 @timeSpanLength 속성을 포함할 수 있다.
@ASTVersionNumber 속성은 해당 AST 전체의 버전 넘버를 나타낼 수 있다. 실시예에 따라 해당 필드는 메이저 프로토콜 버전과 마이너 프로토콜 버전을 나타내는 두 필드로 나뉠 수 있다. 또는 본 필드가 동시에 메이저/마이너 프로토콜 버전을 제공할 수도 있다.
@timeSpanStart 속성은 해당 AST 인스턴스에 의해 커버되는 시간 간격의 시작을 지시할 수 있다. AST 는 복수개의 인스턴스로 나뉘어 전송될 수 있으며, 각각의 AST 인스턴스는 각각의 시간 간격에 대한 시그널링 정보를 포함할 수 있다.
@timeSpanLength 속성은 해당 AST 인스턴스에 의해 커버되는 시간 간격의 길이를 지시할 수 있다. @timeSpanStart 속성의 값과 함께 해당 AST 인스턴스가 커버하는 시간 간격이 계산될 수 있다.
전술한 실시예에 따른 AST 의 각 필드들은 생략되거나 변경될 수 있다. 또한 실시예에 따라 AST 에 추가적인 필드들이 추가될 수 있다. AST 의 각 필드들은 동일/유사한 의미를 가지는 필드들에 의해 대체될 수 있다.
전술한 AST 는 방송망 또는 브로드밴드를 통해 전송될 수 있다.
AST 가 방송망을 통해 전송되는 경우, 앱 인핸스먼트를 위한 AST 는 해당 앱 인핸스먼트가 관련되는 방송 서비스의 서비스 시그널링 채널을 통해 전달될 수 있다. 여기서 서비스의 서비스 시그널링 채널이란, 전술한 SLS 가 전달되는 통로를 의미할 수 있다. 예를 들어 ROUTE 의 경우 tsi = 0 으로 특정되는 LCT 전송 세션이 데디케이티드 시그널링 채널로서 AST 를 전달할 수 있다. MMT 의 경우 packet_id = 00 으로 특정되는 MMTP 패킷 플로우가 데디케이티드 시그널링 채널로서 AST 를 전달할 수 있다.
AST 가 브로드밴드를 통해 전달되는 경우, AST 는 요청(query)를 통해 획득될 수 있다. 이 요청은 전술한 SLT 내의 베이스 URL 정보를 이용하여 생성될 수 있다. 이 베이스 URL 은 AST 를 획득하기 위한 URL 정보일 수 있다. 여기서 SLT 는 해당 AST 와 관련된 방송 서비스에 대한 부트스트랩 정보를 포함하는 SLT 일 수 있다. 워터마크가 사용되는 시나리오에 있어서, 이 베이스 URL 은 워터마크를 통해 획득되거나, 워터마크를 이용한 ACR (Auto Content Recognition) 과정을 통해 획득될 수 있다.
도 282 은 본 발명의 일 실시예에 따른 EMT (Event Message Table) 을 도시한 도면이다.
전술한 바와 같이, 앱들이 수행할 액션(action)들이 방송방/브로드밴드를 통해 전달되는 알림(notification)들에 의해 시작(initiated)될 수 있다. 이러한 알림들을 "이벤트" 라고 부를 수 있다. 문맥에 따라, 이러한 알림들에 의해 시작되는 앱들의 동작, 액션 또는 동작된 상태를 이벤트라고 부를 수도 있다. 또한 앱들의 실행가능한 액션들을 이벤트라고 부를 수도 있다.
이러한 이벤트들은 방송망 또는 브로드밴드를 통해 전달될 수 있다. 이 경우, 각 이벤트 내지 이벤트에 의한 액션들은 기본적인 방송 서비스/방송 프로그램과 동기화되어야 할 수 있다. 본 발명은 이벤트의 전달방안과 동기화 방안에 대해 제안한다.
이벤트가 방송망을 통해 전달되는 경우에 대해 설명한다.
이벤트가 방송망을 통해 전달되는 경우, 이벤트는 DASH 이벤트로서 전달될 수 있다. 이 때, 이벤트는 EventStream 엘레멘트 또는 emsg 박스 형태로 전달될 수 있다. EventStream 엘레멘트로 이벤트가 전달되는 경우는, 이벤트가 MPD 의 Period 엘레멘트에 나타나는 EventStream 엘레멘트의 형태로 전달되는 경우일 수 있다. emsg 박스의 형태로 이벤트가 전달되는 경우는, 이벤트가 Representation 세그먼트들 내에 나타나는 emsg 박스로 전달되는 경우일 수 있다.
두 이벤트 전달 메커니즘은 혼용될 수 있다. 예를 들어 하나의 이벤트 스트림은 EventStream 엘레멘트로 전달되는 몇몇의 이벤트들 및/또는 emsg 박스를 통해 전달되는 다른 이벤트들을 포함할 수 있다.
EvenstStream 엘레멘트를 통해 전달되는 이벤트들은, 어느 Period 에 해당하는 시간 간격 동안 수신측에 전달되어야 하는 이벤트들에 해당할 수 있다. 즉, MPD 는 어느 서비스에 대한 서비스 시그널링 정보로서, Period 라 불리우는 서비스의 시간 간격 단위로 시그널링 정보를 제공할 수 있다. 이 Period 에 대한 시그널링 정보는 MPD Period 엘레멘트에 포함되는데, 이 Period 엘레멘트는 EventStream 엘레멘트를 포함할 수 있다. EventStream 엘레멘트는, 해당 서비스의 해당 Period 동안의 앱들의 동작에 관하여 필요한 시그널링(이벤트)를 제공할 수 있다.
EventStream 엘레멘트는 Event 엘레멘트의 리스트일 수 있다. 각각의 EventStream 엘레멘트는 schemeIdUri 속성 및/또는 value 속성을 가질 수 있다. 이 두 속성은 EventStream 내의 이벤트들의 타입을 지시할 수 있다. 실시예에 따라, 이 두 속성은 이벤트들을 식별할 수 있다. 여기서, schemeIdUri 속성 및/또는 value 속성의 값은 기 정의된 값을 활용할 수 있다. 또는 서비스 프로바이더가 schemeIdUri 속성 및/또는 value 속성의 값을 추가적으로 정의하여 사용할 수도 있다. schemeIdUri 속성의 "소유자" 는 schemeIdUri 속성이 유니크하게 정의하여야 하고, 해당되는 value 속성과 이벤트의 의미(semantics)들도 정의하여야 한다. value 정보는 앱에 종속적일 수 있고, 한 서비스 내에서 특정 이벤트 스트림을 식별하는데 사용될 수 있다.
EventStream 엘레멘트는 timescale 속성을 더 포함할 수 있다. 이 속성은 이벤트 프리젠테이션 타임과 듀레이션에 대한 레퍼런스 타임 스케일을 지시할 수 있다.
EventStream 엘레멘트의 Event 서브 엘레멘트들은, 각각 presentationTime 속성, duration 속성 및/또는 id 속성을 포함할 수 있다. presentationTime 속성은 각각의 이벤트의 시작 시각을 지시하고, duration 속성은 각각의 이벤트의 지속 시간을 지시하고, id 속성은 각 이벤트의 식별자를 나타낼 수 있다. 이 문맥에서 이벤트란, 이벤트(notification) 에 의해 시작된 앱의 액션 내지 액션에 의해 발생된 현상(pop up 윈도우 등)을 의미할 수 있다.
Event 서브 엘레멘트는 해당 이벤트를 위한 데이터를 가지지 않을 수 있다. 그러나 실시예에 따라, Event 엘레멘트는 추가적인 데이터 엘레멘트 내지 속성을 가질 수 있다. 이 데이터 엘레멘트/속성은 이벤트에 의해 시작되는 액션을 실행하기 위해 필요한 데이터를 제공할 수 있다.
실시예에 따라, 하나의 Period 에 서로 다른 타입을 가지는 복수개의 EventStream 엘레멘트가 존재할 수 있다.
emsg 박스의 형태로 이벤트가 전달되는 경우, 전술한 바와 같이, 이벤트가 Representation 세그먼트들 내에 나타나는 emsg 박스로 전달될 수 있다. 이 때, MPD 의 Representation 의 InbandEventStream 엘레멘트는, 세그먼트들 내에 emsg 박스에 이벤트가 존재하는지 여부를 시그널링해줄 수 있다.
InbandEvent 엘레멘트는 schemeIdUri 및/또는 value 을 포함할 수 있다. 이 두 필드는 emsg 박스 내의 이벤트의 타입을 지시할 수 있다. 실시예에 따라, 이 두 필드는 이벤트를 식별하는데 사용될 수 있다.
InbandEvent 엘레멘트는 timescale 필드를 더 포함할 수 있다. 이 필드는 이벤트와 관련된 레퍼런스 타임 스케일을 지시할 수 있다.
InbandEvent 엘레멘트는 그 외에, presentation_time_delta 정보, event_duration 정보 및/또는 id 정보를 더 포함할 수 있다. presentation_time_delta 정보는 해당 이벤트의 시작 시각을 지시할 수 있다. 여기서 시작 시간은 해당 Representation 의 시작 시각에 상대적인 값으로 표현될 수 있다. event_duration 정보는 해당 이벤트의 지속 시간을 지시할 수 있다. id 정보는 해당 이벤트 인스턴스를 식별할 수 있다.
InbandEvent 엘레멘트는 옵셔널하게 message_data 정보를 더 포함할 수 있다. message_data 정보는 해당 이벤트에 의해 시작되는 액션을 실행하는데 필요한 데이터를 제공할 수 있다.
이벤트가 브로드밴드를 통해 전달되는 경우에 대해 설명한다.
방송망을 통한 이벤트의 전달에 있어서, MPD 를 통한 묶음으로서의 배치 딜리버리(batch delivery) 및 emsg 박스를 이용한 인크리멘탈 딜리버리(incremental delivery)가 전술되었다. 이와 마찬가지로 브로드밴드를 통한 이벤트 전달에 있어서도, 배치 딜리버리와 인크리멘탈 딜리버리가 제안될 수 있다.
이벤트가 브로드밴드를 통해 배치 딜리버리로 전달되는 경우, 이벤트들은 EST (Event Stream Table) 을 통해 전달될 수 있다. 이 EST 는 실시예에 따라 EMT (Event Message Table) 로 불릴 수도 있다. EST 는 XML 도큐먼트로서, EventStreamTable 엘레멘트를 루트 엘레멘트로 포함할 수 있다.
EventStreamTable 엘레멘트는 EventStream 엘레멘트의 리스트일 수 있다. 각각의 EventStream 엘레멘트들은 전술한 방송망을 통한 이벤트 전달에서의 EventStream 엘레멘트와 동일할 수 있다. EventStream 엘레멘트의 리스트는 하나의 서비스를 위한 모든 이벤트 스트림들을 포함할 수 있다.
도시된 EMT 는 본 발명의 다른 실시예에 따른 EMT (EST) 이다. EMT 는 @mpdId 속성, @periodId 속성, EventStream 엘레멘트를 포함할 수 있다.
@mpdId 속성은 해당 EMT 가 기술하는 이벤트들과 관련된 MPD 의 식별자일 수 있다. 이 MPD 가 해당 이벤트들의 타임 레퍼런스로 활용될 수 있다.
@periodId 속성은 해당 EMT 의 이벤트들과 관련된 MPD 의 Period 의 식별자일 수 있다. 이 Period 가 해당 이벤트들의 타임 레퍼런스로 활용될 수 있다.
EventStream 엘레멘트 내의 각 필드들은 전술한 바와 같다. 여기서 Event 엘레멘트의 데이터들은 @schemeIdURi 및/또는 @value 의 값에 따라, 각각 그 타입에 맞도록 값을 가질 수 있다. @presentationTime 속성은 period 의 시작 시각에 상대적인 값으로 이벤트의 시작 시각을 표시하는데, 이 period 는 @mpdId, @periodId 속성에 의해 식별되는 period 일 수 있다.
EST 는 전술한 바와 같이 요청(query)에 의해 획득될 수 있다. 요청은 SLT 내의 베이스 URL 정보에 의해 생성될 수 있다. 이에 대해서는 전술한 바와 같다.
이벤트가 브로드밴드를 통해 인크리멘탈 딜리버리로 전달되는 경우, 이 이벤트들은 라이브 이벤트 서버를 통해 개별적으로 전달될 수 있다. 라이브 이벤트 서버로 주기적으로 폴링이 수행될 수 있으며, 그 주기 내에 전달되어야 할 이벤트가 있는 경우, 이벤트 서버는 수신기로 이벤트를 전달할 수 있다. 라이브 이벤트 서버의 URL, 폴링 주기 등의 정보는 전술한 AST 내지 EST, 또는 다른 시그널링 객체에 의해 수신기로 전달되었을 수 있다.
이 경우에 전달되는 이벤트는 전술한 emsg 박스를 이용한 이벤트 전달에서의 emsg 박스의 포맷과 동일한 포맷을 가질 수 있다. 실시예에 따라, 전술한 InbandEvent 엘레멘트에 해당하는 시그널링 정보는 라이브 이벤트가 전달될 때 함께 전달될 수 있다.
schemeIdUri 정보 및 value 정보는 이벤트 스트림을 위한 Stream Event 리스너의 추가 및 삭제를 위한 API 에 있어서의 targetURI, eventName 아규먼트에 해당할 수 있다. 전술한 각각의 실시예들에 따른 이벤트들은 옵셔널한 data 속성을 더 포함할 수 있다. data 속성은 해당 이벤트에 의해 시작되는 액션의 실행에 사용되는 데이터를 제공할 수 있다. 이 데이터 속성은 이벤트 발생시에 등록된 리스너에게 리턴되는 StreamEvent 인터페이스의 데이터 속성에 대응될 수 있다.
NRT 컨텐트 아이템의 전달의 경우, ATSC 의 NRT 전달 방법이 활용될 수 있다. 단 이 경우, AST 가 NRT-IT 대신 사용되며, AST 에 의해 전달될 컨텐트 아이템이 식별될 수 있다. 또한 앱은 AST 에 리스팅되지 않은 경우에도 NRT 컨텐트 아이템의 브로드밴드 딜리버리를 개시할 수 있다.
온 디멘드 컨텐트 아이템의 경우, 브로드밴드를 통하여 전달될 수 있다. 온 디멘드 컨텐트 아이템의 브로드밴드 딜리버리는 앱에 의해 개시될 수 있다.
앱의 동기화에 대해 설명한다.
앱의 동기화는 여러 측면에서 필요할 수 있다. 예를 들어, 앱의 액션들은 스케쥴된 오디오/비디오 서비스와 동기화되어야 할 수 있다. 또한, 스케쥴된 오디오/비디오 서비스에 맞추어 앱이 시작되고 중지될 수 있어야 한다. 기본적인 방송 서비스외에도 녹화/녹음된 컨텐츠, NRT 컨텐츠 등의 재생에 있어서도 앱 및 앱의 액션들은 동기화되어야 할 수 있다. 또한, 녹화/녹음된 컨텐츠, NRT 컨텐츠 등에 맞추어서 앱 역시 시작, 중지되어야 할 수 있다. 효과적인 유저 익스피리언스의 인핸스먼트를 위함이다.
또한 CD (Companion Device) 에서의 앱 역시 PD 에서 재생 중인 오디오/비디오 컨텐츠와 동기화될 필요성이 있다. 이는 CD 에서 제공되는 앱 인핸스먼트가 효과적으로 동기화되어 제공될 수 있게 하기 위함이다.
유저 익스피리언스(User experience)에 대해 설명한다.
실시예에 따라, 사용자는 효율적인 앱 인핸스먼트를 위하여 앱의 동작들을 컨트롤할 수 있다. 컨트롤이 불가능한 경우, 인핸스먼트가 오히려 시청에 방해를 가져올 수 있기 때문이다. 일 실시예로 유저의 승낙이 활용될 수 있다. 유저는 모든 서비스 내지는 어떤 특정 서비스들에 대하여 일괄적으로 승낙을 해둘 수 있다. 또는 유저는 케이스-바이-케이스로 각각의 서비스들의 어플리케이션이나 서비스들에 대하여 승낙을 할 수도 있다.
케이스별로 유저가 승낙을 하는 경우, 앱이 활성화되기 전에 앱 알림(notification)이 먼저 디스플레이되어야할 수 있다. 이 알림을 통하여 앱은 활성화되기 위한 유저의 승낙을 얻을 수 있다. 앱은 승낙을 받기 전까지 블락된 상태로 있을 수 있다.
이 승낙을 위한 알림의 포맷과 로케이션은 디바이스 제조자에 의해 결정될 수 있다. 승낙을 위한 실제 사용자 인터페이스 역시 디바이스 제조자에 의해 결정될 수 있다. 이러한 사안들은 산업적 측면에서 특정 엔티티에 의해 특정 포맷등이 제안될 수도 있다.
승낙을 위한 알림은 타임 아웃되거나 유저에 의해 디스미스(dismiss)될 수 있다. 이를 통해 유저가 즉시 앱의 활성화에 대한 승낙 여부를 결정하지 않는 경우에도, 이 알림에 의해 계속해서 유저가 시청에 방해 받는 것이 방지될 수 있다. 그러나, 알림이 타임 아웃되거나 디스미스되어 보이지 않는 경우에도, 유저는 설정등을 통해 앱을 활성화시키거나 블락시킬 수 있다. 유저는 활성화된 앱을 터미네이트시킬 수도 있다. 이 경우 이 앱을 활성화하기 위한 시그널링이 수신되는 경우에도 이 앱은 계속 블락된 채로 있을 수도 있다.
액션의 동기화 및 액션 파라미터에 대해 설명한다.
앱의 다운로드나, 앱의 활성화, 앱의 터미네이션(termination) 및/또는 앱의 특정 액션 등은, 기본 방송 프로그램 등과 동기화될 필요가 있다.
앱의 액션들에 대하여, 그 액션을 수행하기 위하여 액션 파라미터들이 필요할 수 있다. 이 파라미터들의 정보들이 활용되어 액션들이 수행될 수 있다. 액션 파라미터에는 액션과 관련된 앱을 식별하기 위한 앱 식별자 파라미터, 액션이 수행될 시각을 지시하는 시간 파라미터 및/또는 액션의 동기화 레벨에 관한 동기화 레벨 파라미터 등이 있을 수 있다. 여기서 시간 파라미터는 타임 베이스 내지 미디어 타임 라인에 상대적인 값으로 액션의 시작 시각을 지시할 수 있다. 여기서 동기화 레벨 파라미터는 프로그램 레벨 싱크, 2초 미만 싱크, 립 싱크, 프레임 싱크 등의 동기화 레벨을 지시할 수 있다.
앱의 다운로드에 관련된 액션에 있어서, 이 액션은 타겟 디바이스에 관한 액션 파라미터 및/또는 지터 인터벌에 관한 액션 파라미터를 더 포함할 수 있다. 타겟 디바이스에 관한 액션 파라미터는 다운로드되는 앱이 PD 를 위한 것인지 CD 를 위한 것인지에 관한 정보를 포함할 수 있다. 지터 인터벌에 관한 액션 파라미터는 앱의 페칭(fetching)을 위한 지터 인터벌 관련 정보를 포함할 수 있다.
앱의 시작에 관련된 액션에 있어서, 이 액션은 타겟 디바이스에 관한 액션 파라미터 및/또는 지터 인터벌에 관한 액션 파라미터를 더 포함할 수 있다. 타겟 디바이스에 관한 액션 파라미터는 시작되는 앱이 PD 를 위한 것인지 CD 를 위한 것인지에 관한 정보를 포함할 수 있다.
전술한 바와 같이 액션 파라미터에는 그 앱을 실행하는데 필요한 데이터를 제공하는 액션 파리미터도 있을 수 있다. 이 액션 파라미터는 해당 액션을 실행하는데 필요한 데이터를 포함할 수 있다.
도 283는 본 발명의 일 실시예에 따른 브로드캐스트를 통해서 전송되는 AST를 나타낸 도면이다.
AST 가 방송망을 통해 전송되는 경우, 앱 인핸스먼트를 위한 AST 는 해당 앱 인핸스먼트가 관련되는 방송 서비스의 서비스 시그널링 채널을 통해 전달될 수 있다. 여기서 서비스의 서비스 시그널링 채널이란, 전술한 SLS 가 전달되는 통로를 의미할 수 있다.
특정의 주파수를 가진 방송 신호(Broadcast Stream)는 서비스를 위한 서비스 데이터 및/또는 시그널링 데이터를 포함할 수 있다. 예를 들어, 방송 신호는 특정의 주파수로 식별될 수 있다.
방송 신호는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)을 포함할 수 있다. 서비스를 위한 서비스 데이터는 제1 ROUTE 세션을 통하여 전송될 수 있다.
서비스 데이터는 서비스를 위한 비디오 컴포넌트 및/또는 오디오 컴포넌트를 포함할 수 있다. 비디오 컴포넌트는 비디오 데이터를 포함하는 적어도 하나의 비디오 세그먼트를 포함할 수 있다. 오디오 컴포넌트는 오디오 데이터를 포함하는 적어도 하나의 오디오 세그먼트를 포함할 수 있다. 비디오 컴포넌트는 제1 ROUTE 세션의 특정 전송 세션을 통하여 전송될 수 있다. 오디오 컴포넌트는 제1 ROUTE 세션의 다른 전송 세션을 통해서 전송될 수 있다.
시그널링 데이터는 로우 레벨 시그널링(Low Level Signaling) 데이터 및/또는 서비스 레이어 시그널링(Service Layer Signaling) 데이터를 포함할 수 있다. 예를 들어, 로우 레벨 시그널링 데이터는 FIT 및/또는 SLT를 포함할 수 있다. 로우 레벨 시그널링 데이터는 IP/UDP 패킷에 포함되어 전송될 수 있다. 서비스 레이어 시그널링 데이터는 SLS로 지칭될 수 있다. 서비스 레이어 시그널링 데이터는 USBD, MPD, S-TSID, 및/또는 AST를 포함할 수 있다. USBD, MPD, S-TSID, 및/또는 AST는 특정 전송 세션을 통해서 전송될 수 있다. 예를 들어, SLS는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)에 포함되는 특정 LCT 전송 세션을 통해서 전송될 수 있다. 구체적으로, SLS는 tsi = 0 으로 특정되는 제1 전송 세션(tsi-sls)을 통해서 전송될 수 있다.
제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)은 source IP Address(sIP#A), destination IP Address(dIP#A), 및 destination port number(dPort#A)의 조합으로 식별될 수 있다. 또한, 제1 ROUTE 세션은 적어도 하나의 PLP를 통하여 전송될 수 있다. 예를 들어, 제1 ROUTE 세션은 제1 PLP(PLP #A)를 통하여 전송될 수 있다. 또한, 제1 ROUTE 세션은 제1 전송 세션(tsi-sls), 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션(미도시) 을 포함할 수 있다.
제1 전송 세션(tsi-sls)은 적어도 하나의 서비스 레이어 시그널링 정보를 포함할 수 있다. 예를 들어, 서비스 레이어 시그널링 정보는 전술한 USBD, MPD, S-TSID, 및/또는 AST 중에서 적어도 하나를 포함할 수 있다.
제2 전송 세션(tsi-app)은 적어도 하나의 어플리케이션을 포함할 수 있다. 예를 들어, 어플리케이션(앱)은, 인핸스먼트/인터랙티브 서비스를 이루는 도큐먼트(HTML, CSS, JavaScript, 등)들의 집합을 의미할 수 있다.
제3 전송 세션은 비디오 컴포넌트를 포함할 수 있다. 예를 들어, 비디오 컴포넌트는 적어도 하나의 비디오 세그먼트를 포함할 수 있다. 비디오 세그먼트를 위한 전송 오브젝트 식별자는 특정의 값을 가질 수 있다.
이하에서는 SLT(또는 FIT) 에 대하여 설명한다.
SLT는 수신기가 기본 서비스 리스트를 작성하고 각 서비스에 대한 SLS의 발견을 부트스트랩 할 수 있게 해준다. SLT 는 UDP/IP 를 통해 전송될 수 있다. SLT는 서비스에 관련된 기본적인 정보 및 서비스 레이어 시그널링 정보를 획득하기 위한 부트스트래핑 정보를 포함할 수 있다.
예를 들어, SLT는 Broadcast_Stream_id 속성 및 제1 서비스 엘리먼트(Service #A)를 포함할 수 있다.
Broadcast_Stream_id 속성은 전체 브로드캐스트 스트림의 식별자이다. Broadcast_Stream_id field 의 값은 지역적 레벨에서 유일할 수 있다.
제1 서비스 엘리먼트(Service #A)는 serviceId 속성 및/또는 signaling_broadcast 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
serviceId 속성은 해당 브로드캐스트 영역의 범위 내에서 해당 서비스를 유일하게 식별하는 정수 넘버일 수 있다.
signaling_broadcast 엘리먼트는 브로드캐스트를 통하여 전송되는 서비스를 위한 시그널링 정보를 위한 정보를 포함할 수 있다. signaling_broadcast 엘리먼트는 수신기가 각 서비스에 대한 SLS의 발견을 부트스트랩 할 수 있게 해준다.
signaling_broadcast 엘리먼트는 각 서비스에 대한 SLS와 관련되는 source IP Address, destination IP Address, destination port number, PLPID, 전송 세션 식별자(TSI) 중에서 적어도 하나를 포함할 수 있다.
예를 들어, source IP Address, destination IP Address, 및/또는 destination port number는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)을 지시할 수 있다. 또한, PLPID는 제1 PLP(PLP #A)를 지시할 수 있다. 또한, 전송 세션 식별자(TSI)는 제1 전송 세션(tsi-sls)을 지시할 수 있다.
이하에서는 SLS에 대하여 설명한다.
SLS는 방송망을 통하여 전송될 수 있다. SLS는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)에 포함되는 특정 LCT 전송 세션을 통해서 전송될 수 있다. 구체적으로, SLS는 tsi = 0 으로 특정되는 제1 전송 세션(tsi-sls)을 통해서 전송될 수 있다. SLS는 USBD, MPD, S-TSID, 및/또는 AST 중에서 적어도 하나를 포함할 수 있다.
USBD는 서비스 레이어 속성들을 서술할 수 있다. 또한, USBD는 MPD 및/또는 S-TSID를 참조하는 참조 정보(또는 Uniform Resource Identifier, URI)를 포함할 수 있다. USBD(C620210)의 구체적인 내용은 전술한 USBD에 대한 내용을 모두 포함할 수 있다.
MPD는 리니어/스트리밍 서비스의 개별적인 미디어 컴포넌트들을 위한 리소스 식별자들을 포함할 수 있다. 예를 들어, MPD는 모바일 방송망, 일반 방송망, 및/또는 인터넷망을 통하여 전송되는 모든 컴포넌트들에 대한 DASH MPD를 포함할 수 있다. DASH MPD는 DASH Media Presentation의 공식화된 디스크립션(formalized description)을 포함할 수 있다. DASH MPD는 리니어/스트리밍 서비스의 개별적인 미디어 컴포넌트들을 위한 리소스 식별자들을 포함할 수 있다. 또한, DASH MPD는 미디어 프리젠테이션 내에서 식별된 리소스들의 컨텍스트(context)를 포함할 수 있다. 예를 들어, 리소스 식별자는 서비스를 위한 컴포넌트와 관련되는 레프리젠테이션을 식별하는 정보일 수 있다. 예를 들어, 리소스 식별자는 세그먼트 URL(Segment URL)의 형태일 수 있다.
S-TSID는 서비스의 적어도 하나의 콘텐트 컴포넌트를 전송하는 적어도 하나의 전송 세션을 위한 모든 세션 디스크립션 정보를 제공하는 SLS(Service Layer Signaling) XML 프래그먼트의 일종이다.
S-TSID는 서비스 및/또는 서비스에 포함되는 컴포넌트를 위한 ROUTE 세션에 관한 정보를 제공하는 제1 ROUTE 세션 엘리먼트(RS)를 포함할 수 있다. 제1 ROUTE 세션 엘리먼트(RS)는 제1 ROUTE 세션을 위한 전송 경로 정보를 포함할 수 있다. 또한, 제1 ROUTE 세션 엘리먼트(RS)는 ROUTE 세션 내에 있는 전송 세션(또는 Layered Coding Transport 세션)에 대한 정보를 포함할 수 있다. 예를 들어, 제1 ROUTE 세션 엘리먼트(RS)는 제2 전송 세션에 대한 정보를 포함하는 제2 전송 세션 엘리먼트(LS)를 포함할 수 있다. 제2 전송 세션 엘리먼트(LS)는 제2 전송 세션을 위한 전송 경로 정보를 포함할 수 있다.
구체적으로, 제2 전송 세션 엘리먼트(LS)는 서비스를 위한 컨텐트 컴포넌트가 전송되는 전송 세션을 식별하는 tsi 속성 및 ROUTE 세션에 포함되는 소스 플로우에 대해서 기술하는 SrcFlow 엘리먼트를 포함할 수 있다. SrcFlow 엘리먼트는 해당 SrcFlow 엘리먼트가 비실시간 서비스 데이터를 전송하는지 여부를 지시하는 nrt 속성을 포함할 수 있다. 또는, SrcFlow 엘리먼트는 해당 SrcFlow 엘리먼트가 스트리밍 미디어 데이터를 전송하는지 여부를 지시하는 rt 속성을 포함할 수 있다. 즉, nrt 속성은 rt 속성과 동일한 기능을 수행할 수 있으며, 서로 대체될 수 있다. 예를 들어, tsi 속성이 "tsi-app"이면, 해당 전송 세션 엘리먼트가 제2 전송 세션을 위한 정보를 포함할 수 있다. 또한, nrt 속성이 "true"이면, 해당 SrcFlow 엘리먼트가 비실시간 서비스 데이터를 전송할 수 있다.
AST는 어플리케이션을 위한 시그널링 정보를 포함할 수 있다. AST에 관련된 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
AST는 ContentLinkage 속성을 포함할 수 있다. ContentLinkage 속성은 해당 컨텐트 아이템을 활용할 앱을 지시할 수 있다. 이 속성값과 후술할 이벤트에 대한 정보들(EventStream 엘레멘트, emsg 박스 등)에 의하여 특정 앱에 대한 시그널링이 수행될 수 있다.
예를 들어, ContentLinkage 속성은 제2 전송 세션을 통해서 전송되는 어플리케이션(App)을 식별하는 앱 식별자를 제공할 수 있다. 또는, ContentLinkage 속성은 제2 전송 세션(또는 LCT 세션)을 식별하는 전송 세션 식별자를 제공할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 시그널링 데이터를 기초로 서비스를 획득할 수 있다. 구체적으로, 방송 수신 장치는 로우 레벨 시그널링 데이터를 획득하고, 로우 레벨 시그널링 데이터를 기초로 서비스 레이어 시그널링 데이터를 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD)를 이용하여, 서비스의 속성을 획득할 수 있다. 또한, 방송 수신 장치는, USBD를 이용하여, MPD 및/또는 S-TSID 를 참조 및/또는 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD 및/또는 MPD)를 이용하여, 서비스를 위한 적어도 하나의 컴포넌트(또는 레프리젠테이션)에 대한 정보를 획득할 수 있다. 예를 들어, 방송 수신 장치는 비디오 컴포넌트에 대한 정보를 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트의 전송 경로 정보를 획득할 수 있다. 또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트의 전송 경로 정보를 획득할 수 있다. 예를 들어, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트는 어플리케이션을 포함할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(전송 경로 정보)를 기초로, 서비스를 위한 서비스 데이터를 획득할 수 있다. 예를 들어, 방송 수신 장치는 어플리케이션(App)을 제2 전송 세션(tsi-app)를 통하여 비실시간으로 수신할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(AST)를 기초로, 어플리케이션(App)을 식별하는 정보를 획득할 수 있다.
방송 수신 장치는, 비디오 컴포넌트를 재생하면서, 미리 정해진 타이밍에 어플리케이션(App)를 동작시킬 수 있다.
도 284는 본 발명의 일 실시예에 따른 브로드밴드를 통해서 전송되는 AST를 나타낸 도면이다.
AST 가 브로드밴드를 통해 전달되는 경우, AST 는 요청(query)를 통해 획득될 수 있다. 이 요청은 전술한 SLT 내의 베이스 URL 정보를 이용하여 생성될 수 있다. 이 베이스 URL 은 AST 를 획득하기 위한 URL 정보일 수 있다. 여기서 SLT 는 해당 AST 와 관련된 방송 서비스에 대한 부트스트랩 정보를 포함하는 SLT 일 수 있다.
특정의 주파수를 가진 방송 신호(Broadcast Stream)는 서비스를 위한 서비스 데이터 및/또는 시그널링 데이터를 포함할 수 있다. 방송 신호는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)을 포함할 수 있다. 제1 ROUTE 세션은 제1 PLP(PLP #A)를 통하여 전송될 수 있다. 또한, 제1 ROUTE 세션은 제1 전송 세션(미도시), 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션(미도시) 을 포함할 수 있다. 제1 전송 세션은 적어도 하나의 서비스 레이어 시그널링 정보를 포함할 수 있다. 제2 전송 세션(tsi-app)은 적어도 하나의 어플리케이션을 포함할 수 있다. 제3 전송 세션은 비디오 컴포넌트를 포함할 수 있다. 본 발명의 일 실시예에 따른 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A), 제1 PLP(PLP #A), 제1 전송 세션, 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션에 대한 내용은 전술한 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A), 제1 PLP(PLP #A), 제1 전송 세션, 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션에 대한 내용을 모두 포함할 수 있다.
이하에서는 SLT(또는 FIT) 에 대하여 설명한다.
본 발명의 일 실시예에 따른 SLT에 대한 내용은 전술한 SLT의 내용을 모두 포함할 수 있다. 이하에서는 차이점을 중심으로 설명한다.
예를 들어, SLT는 Broadcast_Stream_id 속성 및 제1 서비스 엘리먼트(Service #A)를 포함할 수 있다.
제1 서비스 엘리먼트(Service #A)는 serviceId 속성 및/또는 signaling_broadband 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
serviceId 속성은 해당 브로드캐스트 영역의 범위 내에서 해당 서비스를 유일하게 식별하는 정수 넘버일 수 있다.
signaling_broadband 엘리먼트는 서비스를 위한 인터넷 시그널링 정보(예를 들어, SLS)에 접근할 수 있는 경로 정보(또는 URL)을 포함할 수 있다. signaling_broadband 엘리먼트는 수신기가 각 서비스에 대한 SLS의 발견을 부트스트랩 할 수 있게 해준다. 이 경우, SLS는 브로드밴드를 통해서 전송될 수 있다.
signaling_broadband 엘리먼트는 서비스를 위한 AST에 접근할 수 있는 경로 정보(또는 URL)를 포함하는 broadbandServerURL_AST를 포함할 수 있다. 이 경우, AST는 브로드밴드를 통해서 전송될 수 있다.
이하에서는 SLS에 대하여 설명한다.
SLS는 USBD, MPD, S-TSID, 및/또는 AST 중에서 적어도 하나를 포함할 수 있다. SLS에 관련된 내용은 전술한 SLS에 대한 내용을 모두 포함할 수 있다. 다만, 한가지 차이점은 SLS는 브로드밴드를 통하여 전송될 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 서비스를 위한 서비스 데이터 및 시그널링 데이터(예를 들어, 로우 레벨 시그널링 데이터 또는 SLT) 중에서 적어도 하나를 포함하는 방송 신호를 방송망을 통해서 수신할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 시그널링 데이터를 기초로 서비스를 획득할 수 있다. 구체적으로, 방송 수신 장치는 로우 레벨 시그널링 데이터를 획득하고, 로우 레벨 시그널링 데이터를 기초로 서비스 레이어 시그널링 데이터를 획득할 수 있다. 서비스 레벨 시그널링 데이터는 브로드밴드를 통해서 전송될 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD)를 이용하여, 서비스의 속성을 획득할 수 있다. 또한, 방송 수신 장치는, USBD를 이용하여, MPD 및/또는 S-TSID 를 참조 및/또는 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD 및/또는 MPD)를 이용하여, 서비스를 위한 적어도 하나의 컴포넌트(또는 레프리젠테이션)에 대한 정보를 획득할 수 있다. 예를 들어, 방송 수신 장치는 비디오 컴포넌트에 대한 정보를 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트의 전송 경로 정보를 획득할 수 있다. 또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트의 전송 경로 정보를 획득할 수 있다. 예를 들어, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트는 어플리케이션을 포함할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(전송 경로 정보)를 기초로, 서비스를 위한 서비스 데이터를 획득할 수 있다. 예를 들어, 방송 수신 장치는 어플리케이션(App)을 제2 전송 세션(tsi-app)를 통하여 비실시간으로 수신할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(AST)를 기초로, 어플리케이션(App)을 식별하는 정보를 획득할 수 있다.
방송 수신 장치는, 비디오 컴포넌트를 재생하면서, 미리 정해진 타이밍에 어플리케이션(App)를 동작시킬 수 있다.
도 285는 본 발명의 일 실시예에 따른 브로드캐스트를 통해서 EventStream 엘레멘트의 형태로 전송되는 이벤트를 나타낸 도면이다.
이벤트는 MPD 의 Period 엘레멘트에 나타나는 EventStream 엘레멘트의 형태로 전송될 수 있다. 방송망을 통해서 전송되는 EventStream 엘레멘트에 대한 내용은 전술한 EventStream 엘레멘트에 대한 내용을 모두 포함할 수 있다.
특정의 주파수를 가진 방송 신호(Broadcast Stream)는 서비스를 위한 서비스 데이터 및/또는 시그널링 데이터를 포함할 수 있다. 방송 신호는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)을 포함할 수 있다. 제1 ROUTE 세션은 제1 PLP(PLP #A)를 통하여 전송될 수 있다. 또한, 제1 ROUTE 세션은 제1 전송 세션(tsi-sls), 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션(미도시) 을 포함할 수 있다. 제1 전송 세션(tsi-sls)은 적어도 하나의 서비스 레이어 시그널링 정보를 포함할 수 있다. 예를 들어, 서비스 레이어 시그널링 정보는 전술한 USBD, MPD, S-TSID, 및/또는 AST 중에서 적어도 하나를 포함할 수 있다. 제2 전송 세션(tsi-app)은 적어도 하나의 어플리케이션을 포함할 수 있다. 제3 전송 세션은 비디오 컴포넌트를 포함할 수 있다. 본 발명의 일 실시예에 따른 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A), 제1 PLP(PLP #A), 제1 전송 세션, 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션에 대한 내용은 전술한 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A), 제1 PLP(PLP #A), 제1 전송 세션, 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션에 대한 내용을 모두 포함할 수 있다.
이하에서는 SLT에 대하여 설명한다.
SLT는 수신기가 기본 서비스 리스트를 작성하고 각 서비스에 대한 SLS의 발견을 부트스트랩 할 수 있게 해준다. 예를 들어, SLT는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)을 위한 경로 정보를 포함할 수 있다. 또한, SLT는 제1 전송 세션(tsi-sls)을 위한 경로 정보를 포함할 수 있다. 본 발명의 일 실시예에 따른 SLT에 대한 내용은 전술한 SLT의 내용을 모두 포함할 수 있다.
이하에서는 SLS에 대하여 설명한다.
SLS는 USBD, MPD, S-TSID, 및/또는 AST 중에서 적어도 하나를 포함할 수 있다. SLS에 관련된 내용은 전술한 SLS에 대한 내용을 모두 포함할 수 있다. 이하에서는, MPD에 대하여 더욱 구체적으로 설명한다.
MPD 는 어느 서비스에 대한 서비스 시그널링 정보로서, Period 라 불리우는 서비스의 시간 간격 단위로 시그널링 정보를 제공할 수 있다. 이 Period 에 대한 시그널링 정보는 MPD Period 엘레멘트에 포함되는데, 이 Period 엘레멘트는 EventStream 엘레멘트를 포함할 수 있다. EventStream 엘레멘트는, 해당 서비스의 해당 Period 동안의 앱들의 동작에 관하여 필요한 시그널링(이벤트)를 제공할 수 있다.
EventStream 엘레멘트는 schemeIdUri 속성, value 속성, timescale 속성, 및/또는 적어도 하나의 Event 서브 엘레멘트를 포함할 수 있다. 각각의 Event 서브 엘레멘트는 presentationTime 속성, duration 속성 및/또는 id 속성을 포함할 수 있다. EventStream 엘레멘트에 대한 구체적인 내용은 전술한 EventStream 엘레멘트에 대한 내용을 모두 포함할 수 있다.
예를 들어, schemeIdUri 속성의 값은 "urn:uuid:XYZY"일 수 있다. 또한, value 속성의 값은 "call"일 수 있다. 또한, timescale 속성의 값은 "1000"일 수 있다.
또한, 제1 이벤트와 관련하여, presentationTime 속성의 값은 "0"이고, duration 속성의 값은 "10000"이고, 및/또는 id 속성의 값은 "0"이고, 데이터 엘레멘트/속성은 "+1 800 10101010"일 수 있다. 또한, 제2 이벤트와 관련하여, presentationTime 속성의 값은 "20000"이고, duration 속성의 값은 "10000"이고, 및/또는 id 속성의 값은 "1"이고, 데이터 엘레멘트/속성은 "+1 800 10101011"일 수 있다. 또한, 제3 이벤트와 관련하여, presentationTime 속성의 값은 "40000"이고, duration 속성의 값은 "10000"이고, 및/또는 id 속성의 값은 "2"이고, 데이터 엘레멘트/속성은 "+1 800 10101012"일 수 있다. 또한, 제4 이벤트와 관련하여, presentationTime 속성의 값은 "60000"이고, duration 속성의 값은 "10000"이고, 및/또는 id 속성의 값은 "3"이고, 데이터 엘레멘트/속성은 "+1 800 10101013"일 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 서비스를 위한 서비스 데이터 및 시그널링 데이터(예를 들어, 로우 레벨 시그널링 데이터 또는 서비스 레이어 시그널링 데이터) 중에서 적어도 하나를 포함하는 방송 신호를 방송망을 통해서 수신할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 시그널링 데이터를 기초로 서비스를 획득할 수 있다. 구체적으로, 방송 수신 장치는 로우 레벨 시그널링 데이터를 획득하고, 로우 레벨 시그널링 데이터를 기초로 서비스 레이어 시그널링 데이터를 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD)를 이용하여, 서비스의 속성을 획득할 수 있다. 또한, 방송 수신 장치는, USBD를 이용하여, MPD 및/또는 S-TSID 를 참조 및/또는 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD 및/또는 MPD)를 이용하여, 서비스를 위한 적어도 하나의 컴포넌트(또는 레프리젠테이션)에 대한 정보를 획득할 수 있다. 예를 들어, 방송 수신 장치는 비디오 컴포넌트에 대한 정보를 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트의 전송 경로 정보를 획득할 수 있다. 또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트의 전송 경로 정보를 획득할 수 있다. 예를 들어, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트는 어플리케이션을 포함할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(전송 경로 정보)를 기초로, 서비스를 위한 서비스 데이터를 획득할 수 있다. 예를 들어, 방송 수신 장치는 어플리케이션(App)을 제2 전송 세션(tsi-app)를 통하여 비실시간으로 수신할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(AST)를 기초로, 어플리케이션(App)을 식별하는 정보를 획득할 수 있다.
또한, 방송 수신 장치는, 이벤트를 기초로, 어플리케이션(App)을 동작시킬 수 있다. 예를 들어, 이벤트는 MPD 의 Period 엘레멘트에 나타나는 EventStream 엘레멘트의 형태로 전송될 수 있다. 방송 수신 장치는, 비디오 컴포넌트를 재생하면서, 미리 정해진 타이밍에 어플리케이션(App)를 동작시킬 수 있다.
도 286은 본 발명의 일 실시예에 따른 브로드캐스트를 통해서 emsg 박스의 형태로 전송되는 이벤트를 나타낸 도면이다.
이벤트는 Representation의 세그먼트들(또는 Representation 세그먼트들) 내에 나타나는 emsg 박스의 형태로 전송될 수 있다. 방송망을 통해서 전송되는 emsg 박스에 대한 내용은 전술한 emsg 박스에 대한 내용을 모두 포함할 수 있다.
특정의 주파수를 가진 방송 신호(Broadcast Stream)는 서비스를 위한 서비스 데이터 및/또는 시그널링 데이터를 포함할 수 있다. 방송 신호는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)을 포함할 수 있다. 제1 ROUTE 세션은 제1 PLP(PLP #A)를 통하여 전송될 수 있다. 또한, 제1 ROUTE 세션은 제1 전송 세션(tsi-sls), 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션(tsi-v) 을 포함할 수 있다. 제1 전송 세션(tsi-sls)은 적어도 하나의 서비스 레이어 시그널링 정보를 포함할 수 있다. 예를 들어, 서비스 레이어 시그널링 정보는 전술한 USBD, MPD, S-TSID, 및/또는 AST 중에서 적어도 하나를 포함할 수 있다. 제2 전송 세션(tsi-app)은 적어도 하나의 어플리케이션을 포함할 수 있다. 제3 전송 세션은 비디오 컴포넌트를 포함할 수 있다. 비디오 컴포넌트는 비디오 데이터를 포함하는 적어도 하나의 비디오 세그먼트를 포함할 수 있다. 적어도 하나의 비디오 세그먼트는 emsg 박스를 포함할 수 있다.
본 발명의 일 실시예에 따른 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A), 제1 PLP(PLP #A), 제1 전송 세션, 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션(tsi-v)에 대한 내용은 전술한 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A), 제1 PLP(PLP #A), 제1 전송 세션, 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션(tsi-v)에 대한 내용을 모두 포함할 수 있다.
이하에서는 세그먼트 내에 포함되는 emsg 박스를 설명한다.
emsg 박스는 미디어 프리젠테이션 타임에 관련되는 제네릭 이벤트들을 위한 시그널링 정보를 제공할 수 있다. emsg 박스는 schemeIdUri 필드, value 필드, timescale 필드, presentationTimeDelta 필드, eventDuration 필드, id 필드, 및/또는 messageData 필드 중에서 적어도 하나를 포함할 수 있다. emsg 박스에 대한 내용은 전술한 emsg 박스의 내용을 모두 포함할 수 있다.
이하에서는 SLT에 대하여 설명한다.
SLT는 수신기가 기본 서비스 리스트를 작성하고 각 서비스에 대한 SLS의 발견을 부트스트랩 할 수 있게 해준다. 예를 들어, SLT는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)을 위한 경로 정보를 포함할 수 있다. 또한, SLT는 제1 전송 세션(tsi-sls)을 위한 경로 정보를 포함할 수 있다. 본 발명의 일 실시예에 따른 SLT에 대한 내용은 전술한 SLT의 내용을 모두 포함할 수 있다.
이하에서는 SLS에 대하여 설명한다.
SLS는 USBD, MPD, S-TSID, 및/또는 AST 중에서 적어도 하나를 포함할 수 있다. SLS에 관련된 내용은 전술한 SLS에 대한 내용을 모두 포함할 수 있다. 이하에서는, S-TSID 및/또는 MPD에 대하여 더욱 구체적으로 설명한다.
S-TSID는 서비스 및/또는 서비스에 포함되는 컴포넌트를 위한 ROUTE 세션에 관한 정보를 제공하는 제1 ROUTE 세션 엘리먼트(RS)를 포함할 수 있다. 제1 ROUTE 세션 엘리먼트(RS)는 제1 ROUTE 세션을 위한 전송 경로 정보를 포함할 수 있다. 또한, 제1 ROUTE 세션 엘리먼트(RS)는 ROUTE 세션 내에 있는 전송 세션(또는 Layered Coding Transport 세션)에 대한 정보를 포함할 수 있다. 예를 들어, 제1 ROUTE 세션 엘리먼트(RS)는 제2 전송 세션에 대한 정보를 포함하는 제2 전송 세션 엘리먼트(LS)를 포함할 수 있다. 제2 전송 세션 엘리먼트(LS)는 제2 전송 세션을 위한 전송 경로 정보를 포함할 수 있다. 또한, 제1 ROUTE 세션 엘리먼트(RS)는 제3 전송 세션에 대한 정보를 포함하는 제3 전송 세션 엘리먼트(LS)를 포함할 수 있다. 제3 전송 세션 엘리먼트(LS)는 제3 전송 세션을 위한 전송 경로 정보를 포함할 수 있다.
구체적으로, 제2 전송 세션 엘리먼트(LS) 및/또는 제3 전송 세션 엘리먼트(LS)는 서비스를 위한 컨텐트 컴포넌트가 전송되는 전송 세션을 식별하는 tsi 속성 및 ROUTE 세션에 포함되는 소스 플로우에 대해서 기술하는 SrcFlow 엘리먼트를 각각 포함할 수 있다.
SrcFlow 엘리먼트는 해당 SrcFlow 엘리먼트가 비실시간 서비스 데이터를 전송하는지 여부를 지시하는 nrt 속성을 포함할 수 있다. 또는, SrcFlow 엘리먼트는 해당 SrcFlow 엘리먼트가 스트리밍 미디어 데이터를 전송하는지 여부를 지시하는 rt 속성을 포함할 수 있다. 즉, nrt 속성은 rt 속성과 동일한 기능을 수행할 수 있으며, 서로 대체될 수 있다.
SrcFlow 엘리먼트는 전송 세션을 통해서 전송되는 서비스(또는 어플리케이션 서비스)에 매핑되는 부가적인 정보를 포함하는 appID 속성을 더 포함할 수 있다. appID 속성은 ContentInfo 엘리먼트로 지칭될 수 있다. ContentInfo 엘리먼트는 전송 세션을 통해서 전송되는 서비스(또는 어플리케이션 서비스)에 매핑되는 부가적인 정보를 포함할 수 있다. 예를 들어, ContentInfo 엘리먼트는, 랜더링을 위하여 LCT 전송 세션을 선택하기 위해서, DASH 콘텐트의 레프리젠테이션 식별자(Representation ID) 및/또는 DASH 미디어 레프리젠테이션의 어댑테이션 셋 파라미터들(Adaptation Set parameters)을 포함할 수 있다. 레프리젠테이션 식별자는 서비스를 위한 컴포넌트와 관련되는 식별자이고, id 속성으로 지칭될 수 있다. 따라서, SrcFlow 엘리먼트 내에 있는 appID 속성은 MPD의 Representation 엘리먼트 내에 있는 id 속성과 매칭될 수 있다.
제2 전송 세션 엘리먼트(LS)와 관련하여, tsi 속성이 "tsi-app"이면, 해당 전송 세션 엘리먼트가 제2 전송 세션을 위한 정보를 포함할 수 있다. 또한, nrt 속성이 "true"이면, 해당 SrcFlow 엘리먼트가 비실시간 서비스 데이터를 전송할 수 있다. 즉, 어플리케이션(App)은 제2 전송 세션(tsi-app)를 통하여 비실시간으로 전송될 수 있다.
제3 전송 세션 엘리먼트(LS)와 관련하여, tsi 속성이 "tsi-v"이면, 해당 전송 세션 엘리먼트가 제3 전송 세션을 위한 정보를 포함할 수 있다. 또한, nrt 속성이 "false"이면, 해당 SrcFlow 엘리먼트가 실시간 서비스 데이터를 전송할 수 있다. 또한, appID 속성이 "rep_v1"이면, 비디오 컴포넌트의 레프리젠테이션 식별자는 "rep_v1"일 수 있다. 즉, "rep_v1"로 식별되는 비디오 컴포넌트의 적어도 하나의 비디오 세그먼트는 제3 전송 세션(tsi-v)를 통하여 실시간으로 전송될 수 있다.
MPD는 리니어/스트리밍 서비스의 개별적인 미디어 컴포넌트들을 위한 리소스 식별자들을 포함할 수 있다. MPD는 Period 엘리먼트를 포함할 수 있다. Period 엘리먼트는 비디오 컴포넌트에 관한 정보를 포함하는 AdaptationSet 엘리먼트를 포함할 수 있다. AdaptationSet 엘리먼트는 적어도 하나의 Representation 엘리먼트를 포함할 수 있다. Representation 엘리먼트는 컴포넌트와 관련되는 레프리젠테이션에 대한 정보를 포함할 수 있다.
Representation 엘리먼트는 레프리젠테이션을 식별하는 id 속성을 포함할 수 있다. 예를 들어, id 속성의 값은 "rep_v1"일 수 있다. 즉, id 속성은 제3 전송 세션(tsi-v)를 통해서 전송되는 비디오 컴포넌트를 지시할 수 있다.
또한, Representation 속성은 관련되는 레프리젠테이션에 인밴드 이벤트 스트림의 존재를 명시하는 InbandEventStream 엘리먼트를 더 포함할 수 있다. MPD 의 Representation 엘리먼트의 InbandEventStream 엘리먼트는, 세그먼트들 내에 emsg 박스에 이벤트가 존재하는지 여부를 시그널링해줄 수 있다.
InbandEventStream 엘리먼트는 schemeIdURI 속성 및/또는 value 속성을 포함할 수 있다. 이 두 속성은 emsg 박스 내의 이벤트의 타입을 지시할 수 있다. 실시예에 따라, 이 두 속성은 이벤트를 식별하는데 사용될 수 있다. InbandEventStream 엘리먼트에 포함되는 schemeIdURI 속성 및/또는 value 속성은 emsg 박스 내의 schemeIdURI 속성 및/또는 value 속성과 매칭될 수 있다. 예를 들어, schemeIdURI 속성의 값은 "event_URI #1"이고, value 속성의 값은 "abc"일 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 서비스를 위한 서비스 데이터 및 시그널링 데이터(예를 들어, 로우 레벨 시그널링 데이터 또는 서비스 레이어 시그널링 데이터) 중에서 적어도 하나를 포함하는 방송 신호를 방송망을 통해서 수신할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 시그널링 데이터를 기초로 서비스를 획득할 수 있다. 구체적으로, 방송 수신 장치는 로우 레벨 시그널링 데이터를 획득하고, 로우 레벨 시그널링 데이터를 기초로 서비스 레이어 시그널링 데이터를 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD)를 이용하여, 서비스의 속성을 획득할 수 있다. 또한, 방송 수신 장치는, USBD를 이용하여, MPD 및/또는 S-TSID 를 참조 및/또는 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD 및/또는 MPD)를 이용하여, 서비스를 위한 적어도 하나의 컴포넌트(또는 레프리젠테이션)에 대한 정보를 획득할 수 있다. 예를 들어, 방송 수신 장치는 비디오 컴포넌트에 대한 정보를 획득할 수 있다. 이 때, MPD의 Representation 엘리먼트는 비디오 컴포넌트에 emsg 박스(또는 인밴드 이벤트 스트림)의 존재를 명시하는 InbandEventStream 엘리먼트를 포함할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트의 전송 경로 정보를 획득할 수 있다. 또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트의 전송 경로 정보를 획득할 수 있다. 예를 들어, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트는 어플리케이션을 포함할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(전송 경로 정보)를 기초로, 서비스를 위한 서비스 데이터를 획득할 수 있다. 예를 들어, 방송 수신 장치는 어플리케이션(App)을 제2 전송 세션(tsi-app)를 통하여 비실시간으로 수신할 수 있다. 또한, 방송 수신 장치는 "rep_v1"로 식별되는 비디오 컴포넌트의 적어도 하나의 비디오 세그먼트를 제3 전송 세션(tsi-v)를 통하여 실시간으로 수신할 수 있다. 적어도 하나의 비디오 세그먼트는 emsg 박스를 포함할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(AST)를 기초로, 어플리케이션(App)을 식별하는 정보를 획득할 수 있다.
또한, 방송 수신 장치는, 이벤트를 기초로, 어플리케이션(App)을 동작시킬 수 있다. 예를 들어, 이벤트는 emsg 박스의 형태로 세그먼트에 포함될 수 있다. 방송 수신 장치는, 비디오 컴포넌트를 재생하면서, 미리 정해진 타이밍에 어플리케이션(App)를 동작시킬 수 있다.
도 287는 본 발명의 일 실시예에 따른 브로드밴드를 통해서 EventStream 엘레멘트의 형태로 전송되는 이벤트를 나타낸 도면이다.
이벤트는 브로드밴드로 전송되는 EST (Event Stream Table)에 포함되는 EventStream 엘레멘트의 형태로 전송될 수 있다. EST가 브로드밴드를 통해 전달되는 경우, EST 는 요청(query)를 통해 획득될 수 있다. 이 요청은 ALT 내의 URL 정보를 이용하여 생성될 수 있다. 이 URL 정보는 EST 를 획득하기 위한 URL 정보일 수 있다. 브로드밴드를 통해서 전송되는 EventStream 엘레멘트에 대한 내용은 전술한 EventStream 엘레멘트에 대한 내용을 모두 포함할 수 있다.
특정의 주파수를 가진 방송 신호(Broadcast Stream)는 서비스를 위한 서비스 데이터 및/또는 시그널링 데이터를 포함할 수 있다. 방송 신호는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)을 포함할 수 있다. 제1 ROUTE 세션은 제1 PLP(PLP #A)를 통하여 전송될 수 있다. 또한, 제1 ROUTE 세션은 제1 전송 세션(tsi-sls), 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션(미도시) 을 포함할 수 있다. 제1 전송 세션(tsi-sls)은 적어도 하나의 서비스 레이어 시그널링 정보를 포함할 수 있다. 예를 들어, 서비스 레이어 시그널링 정보는 전술한 USBD, MPD(미도시), S-TSID, 및/또는 AST 중에서 적어도 하나를 포함할 수 있다. 제2 전송 세션(tsi-app)은 적어도 하나의 어플리케이션을 포함할 수 있다. 제3 전송 세션은 비디오 컴포넌트를 포함할 수 있다. 실시예에 따라서 MPD는 생략될 수 있다. 본 발명의 일 실시예에 따른 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A), 제1 PLP(PLP #A), 제1 전송 세션, 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션에 대한 내용은 전술한 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A), 제1 PLP(PLP #A), 제1 전송 세션, 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션에 대한 내용을 모두 포함할 수 있다.
이하에서는 SLT에 대하여 설명한다.
SLT는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)을 위한 경로 정보를 포함할 수 있다. 또한, SLT는 제1 전송 세션(tsi-sls)을 위한 경로 정보를 포함할 수 있다. 본 발명의 일 실시예에 따른 SLT에 대한 내용은 전술한 SLT의 내용을 모두 포함할 수 있다.
이하에서는 SLS에 대하여 설명한다.
SLS는 USBD, MPD, S-TSID, 및/또는 AST 중에서 적어도 하나를 포함할 수 있다. SLS에 관련된 내용은 전술한 SLS에 대한 내용을 모두 포함할 수 있다. 이하에서는, AST에 대하여 더욱 구체적으로 설명한다.
AST는 ContentLinkage 속성을 포함할 수 있다. ContentLinkage 속성은 해당 컨텐트 아이템을 활용할 앱을 지시할 수 있다. 이 속성값과 후술할 이벤트에 대한 정보들(EventStream 엘레멘트, emsg 박스 등)에 의하여 특정 앱에 대한 시그널링이 수행될 수 있다.
예를 들어, ContentLinkage 속성은 제2 전송 세션을 통해서 전송되는 어플리케이션(App)을 식별하는 어플리케이션 식별자를 제공할 수 있다. 또는, ContentLinkage 속성은 제2 전송 세션(또는 LCT 세션)을 식별하는 전송 세션 식별자를 제공할 수 있다.
AST는 BroadbandStaticEventURL 속성을 더 포함할 수 있다. BroadbandStaticEventURL 속성은 서비스를 위한 EST에 접근할 수 있는 경로 정보(또는 URL)를 포함할 수 있다. 이 경우, EST는 브로드밴드를 통해서 전송될 수 있다. EST는 EventStream 엘레멘트를 포함할 수 있다. EventStream 엘레멘트는 어플리케이션들의 동작에 관하여 필요한 시그널링(이벤트)를 제공할 수 있다.
EventStream 엘레멘트는 schemeIdUri 속성, value 속성, timescale 속성, 및/또는 적어도 하나의 Event 서브 엘레멘트를 포함할 수 있다. 각각의 Event 서브 엘레멘트는 presentationTime 속성, duration 속성 및/또는 id 속성을 포함할 수 있다. EventStream 엘레멘트에 대한 구체적인 내용은 전술한 EventStream 엘레멘트에 대한 내용을 모두 포함할 수 있다.
예를 들어, schemeIdUri 속성의 값은 "urn:uuid:XYZY"일 수 있다. 또한, value 속성의 값은 "call"일 수 있다. 또한, timescale 속성의 값은 "1000"일 수 있다.
또한, 제1 이벤트와 관련하여, presentationTime 속성의 값은 "0"이고, duration 속성의 값은 "10000"이고, 및/또는 id 속성의 값은 "0"이고, 데이터 엘레멘트/속성은 "+1 800 10101010"일 수 있다. 또한, 제2 이벤트와 관련하여, presentationTime 속성의 값은 "20000"이고, duration 속성의 값은 "10000"이고, 및/또는 id 속성의 값은 "1"이고, 데이터 엘레멘트/속성은 "+1 800 10101011"일 수 있다. 또한, 제3 이벤트와 관련하여, presentationTime 속성의 값은 "40000"이고, duration 속성의 값은 "10000"이고, 및/또는 id 속성의 값은 "2"이고, 데이터 엘레멘트/속성은 "+1 800 10101012"일 수 있다. 또한, 제4 이벤트와 관련하여, presentationTime 속성의 값은 "60000"이고, duration 속성의 값은 "10000"이고, 및/또는 id 속성의 값은 "3"이고, 데이터 엘레멘트/속성은 "+1 800 10101013"일 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 서비스를 위한 서비스 데이터 및 시그널링 데이터(예를 들어, 로우 레벨 시그널링 데이터 또는 서비스 레이어 시그널링 데이터) 중에서 적어도 하나를 포함하는 방송 신호를 방송망을 통해서 수신할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 시그널링 데이터를 기초로 서비스를 획득할 수 있다. 구체적으로, 방송 수신 장치는 로우 레벨 시그널링 데이터를 획득하고, 로우 레벨 시그널링 데이터를 기초로 서비스 레이어 시그널링 데이터를 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD)를 이용하여, 서비스의 속성을 획득할 수 있다. 또한, 방송 수신 장치는, USBD를 이용하여, MPD 및/또는 S-TSID 를 참조 및/또는 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD 및/또는 MPD)를 이용하여, 서비스를 위한 적어도 하나의 컴포넌트(또는 레프리젠테이션)에 대한 정보를 획득할 수 있다. 예를 들어, 방송 수신 장치는 비디오 컴포넌트에 대한 정보를 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트의 전송 경로 정보를 획득할 수 있다. 또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트의 전송 경로 정보를 획득할 수 있다. 예를 들어, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트는 어플리케이션을 포함할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(전송 경로 정보)를 기초로, 서비스를 위한 서비스 데이터를 획득할 수 있다. 예를 들어, 방송 수신 장치는 어플리케이션(App)을 제2 전송 세션(tsi-app)를 통하여 비실시간으로 수신할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(AST)를 기초로, 어플리케이션(App)을 식별하는 정보를 획득할 수 있다. 또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(AST)를 기초로, EST 를 브로드밴드를 통하여 획득할 수 있다.
또한, 방송 수신 장치는, 이벤트를 기초로, 어플리케이션(App)을 동작시킬 수 있다. 예를 들어, 이벤트는 브로드밴드로 전송되는 EST (Event Stream Table)에 포함되는 EventStream 엘레멘트의 형태로 전송될 수 있다.
방송 수신 장치는, 비디오 컴포넌트를 재생하면서, 미리 정해진 타이밍에 어플리케이션(App)를 동작시킬 수 있다.
도 288은 본 발명의 일 실시예에 따른 브로드밴드를 통해서 emsg 박스의 형태로 전송되는 이벤트를 나타낸 도면이다.
이벤트는 브로드밴드로 전송되는 emsg 박스의 형태로 전송될 수 있다. 이 경우, 이벤트는 라이브 이벤트 서버를 통해서 전달될 수 있다. 라이브 이벤트 서버로 주기적으로 폴링이 수행될 수 있으며, 그 주기 내에 전달되어야 할 이벤트가 있는 경우, 이벤트 서버는 수신기로 이벤트를 전달할 수 있다. 브로드밴드를 통해서 전송되는 emsg 박스에 대한 내용은 전술한 emsg 박스에 대한 내용을 모두 포함할 수 있다.
특정의 주파수를 가진 방송 신호(Broadcast Stream)는 서비스를 위한 서비스 데이터 및/또는 시그널링 데이터를 포함할 수 있다. 방송 신호는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)을 포함할 수 있다. 제1 ROUTE 세션은 제1 PLP(PLP #A)를 통하여 전송될 수 있다. 또한, 제1 ROUTE 세션은 제1 전송 세션(tsi-sls), 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션(미도시) 을 포함할 수 있다. 제1 전송 세션(tsi-sls)은 적어도 하나의 서비스 레이어 시그널링 정보를 포함할 수 있다. 예를 들어, 서비스 레이어 시그널링 정보는 전술한 USBD, MPD(미도시), S-TSID, 및/또는 AST 중에서 적어도 하나를 포함할 수 있다. 제2 전송 세션(tsi-app)은 적어도 하나의 어플리케이션을 포함할 수 있다. 제3 전송 세션은 비디오 컴포넌트를 포함할 수 있다. 실시예에 따라서 MPD는 생략될 수 있다. 본 발명의 일 실시예에 따른 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A), 제1 PLP(PLP #A), 제1 전송 세션, 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션에 대한 내용은 전술한 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A), 제1 PLP(PLP #A), 제1 전송 세션, 제2 전송 세션(tsi-app), 및/또는 제3 전송 세션에 대한 내용을 모두 포함할 수 있다.
이하에서는 SLT에 대하여 설명한다.
SLT는 제1 ROUTE 세션(sIP#A/dIP#A/dPort#A)을 위한 경로 정보를 포함할 수 있다. 또한, SLT는 제1 전송 세션(tsi-sls)을 위한 경로 정보를 포함할 수 있다. 본 발명의 일 실시예에 따른 SLT에 대한 내용은 전술한 SLT의 내용을 모두 포함할 수 있다.
이하에서는 SLS에 대하여 설명한다.
SLS는 USBD, MPD, S-TSID, 및/또는 AST 중에서 적어도 하나를 포함할 수 있다. SLS에 관련된 내용은 전술한 SLS에 대한 내용을 모두 포함할 수 있다. 이하에서는, AST에 대하여 더욱 구체적으로 설명한다.
AST는 ContentLinkage 속성을 포함할 수 있다. ContentLinkage 속성은 해당 컨텐트 아이템을 활용할 앱을 지시할 수 있다. 이 속성값과 후술할 이벤트에 대한 정보들(EventStream 엘레멘트, emsg 박스 등)에 의하여 특정 앱에 대한 시그널링이 수행될 수 있다.
예를 들어, ContentLinkage 속성은 제2 전송 세션을 통해서 전송되는 어플리케이션(App)을 식별하는 어플리케이션 식별자를 제공할 수 있다. 또는, ContentLinkage 속성은 제2 전송 세션(또는 LCT 세션)을 식별하는 전송 세션 식별자를 제공할 수 있다.
AST는 BroadbandDynamicEventURL 속성을 더 포함할 수 있다. BroadbandDynamicEventURL 속성은 서비스를 위한 emsg 박스에 접근할 수 있는 경로 정보(또는 URL)를 포함할 수 있다. 이 경우, emsg 박스는 브로드밴드를 통해서 전송될 수 있다. emsg 박스는 어플리케이션들의 동작에 관하여 필요한 시그널링(이벤트)를 제공할 수 있다.
emsg 박스는 미디어 프리젠테이션 타임에 관련되는 제네릭 이벤트들을 위한 시그널링 정보를 제공할 수 있다. emsg 박스는 schemeIdUri 필드, value 필드, timescale 필드, presentationTimeDelta 필드, eventDuration 필드, id 필드, 및/또는 messageData 필드 중에서 적어도 하나를 포함할 수 있다. emsg 박스에 대한 내용은 전술한 emsg 박스의 내용을 모두 포함할 수 있다.
예를 들어, schemeIdUri 필드의 값은 "urn:uuid:XYZY"일 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 서비스를 위한 서비스 데이터 및 시그널링 데이터(예를 들어, 로우 레벨 시그널링 데이터 또는 서비스 레이어 시그널링 데이터) 중에서 적어도 하나를 포함하는 방송 신호를 방송망을 통해서 수신할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 시그널링 데이터를 기초로 서비스를 획득할 수 있다. 구체적으로, 방송 수신 장치는 로우 레벨 시그널링 데이터를 획득하고, 로우 레벨 시그널링 데이터를 기초로 서비스 레이어 시그널링 데이터를 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD)를 이용하여, 서비스의 속성을 획득할 수 있다. 또한, 방송 수신 장치는, USBD를 이용하여, MPD 및/또는 S-TSID 를 참조 및/또는 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(USBD 및/또는 MPD)를 이용하여, 서비스를 위한 적어도 하나의 컴포넌트(또는 레프리젠테이션)에 대한 정보를 획득할 수 있다. 예를 들어, 방송 수신 장치는 비디오 컴포넌트에 대한 정보를 획득할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트의 전송 경로 정보를 획득할 수 있다. 또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(S-TSID)를 이용하여, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트의 전송 경로 정보를 획득할 수 있다. 예를 들어, 적어도 하나의 컴포넌트를 위한 다른 컴포넌트는 어플리케이션을 포함할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(전송 경로 정보)를 기초로, 서비스를 위한 서비스 데이터를 획득할 수 있다. 예를 들어, 방송 수신 장치는 어플리케이션(App)을 제2 전송 세션(tsi-app)를 통하여 비실시간으로 수신할 수 있다.
또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(AST)를 기초로, 어플리케이션(App)을 식별하는 정보를 획득할 수 있다. 또한, 방송 수신 장치는, 서비스 레이어 시그널링 데이터(AST)를 기초로, emsg 박스를 브로드밴드를 통하여 획득할 수 있다.
또한, 방송 수신 장치는, 이벤트를 기초로, 어플리케이션(App)을 동작시킬 수 있다. 예를 들어, 이벤트는 브로드밴드로 전송되는 emsg 박스의 형태로 전송될 수 있다.
방송 수신 장치는, 비디오 컴포넌트를 재생하면서, 미리 정해진 타이밍에 어플리케이션(App)를 동작시킬 수 있다.
도 289은 본 발명의 일 실시예에 따른 API 및 이벤트 리스너(event listener)를 나타낸 도면이다.
도(a)를 참조하면, 리스너가 나타나있다.
이벤트 처리기는 이벤트 발생에 대한 반응으로 실행되는 코드일 수 있다. 예를 들어, 이벤트 처리기는 이벤트 발생시 실행용 자바스크립터 코드일 수 있다. 이벤트 처리기는 이벤트 리스너(event listener 또는 listener)를 포함할 수 있다. 하나의 요소에 하나의 이벤트만 처리할 수 있는 이벤트 핸들러와는 다르게, 이벤트 리스너는 하나의 요소에 적어도 하나의 이벤트를 처리할 수 있다.
리스너는 DOM(ocument Object Model) 이벤트 리스너의 일반적인 시그너처(signature)를 포함할 수 있다. 여기서, DOM은 이벤트 핸들러를 모든 element node에 연결할 수 있도록 지원하는 모델(체계)를 말한다.
본 발명의 일 실시예에 따른 리스너는 StreamEvent 타입의 오브젝트를 파라미터로 포함할 수 있다. 예를 들어, 리스너는 listener(StreamEvent event)와 같은 형식일 수 있다.
리스너에 전달되는 StreamEvent 타입의 오브젝트는 일반적인 DOM Event 타입의 오브젝트의 확장된 형태이다.
StreamEvent 타입의 오브젝트는 name 속성, data 속성, text 속성, status 속성, 및/또는 time 속성을 포함할 수 있다.
name 속성은 이벤트의 이름을 지시할 수 있다. name 속성은 읽기 전용 속성이고, String 타입일 수 있다.
data 속성은 16진수(hexadecimal)로 인코딩된 이벤트의 데이터를 지시할 수 있다. 예를 들어, data 속성은 "0A10B81033"의 값을 가질 수 있다. data 속성은 읽기 전용 속성이고, String 타입일 수 있다.
text 속성은 이벤트의 텍스트 데이터를 지시할 수 있다. 예를 들어, data 속성이 텍스트를 포함하면, text 속성은 ASCII 코드의 값들을 가질 수 있다. 또한, text 속성은 이벤트의 활성을 위한 Event 엘리먼트의 차일드 엘리리먼트이고, 트리거에서 명시되거나 EMT의 Event 엘리먼트에서 명시되는 데이터 식별자(dataID)에 의해서 식별되는 데이터를 포함할 수 있다. text 속성은 읽기 전용 속성이고, String 타입일 수 있다.
status 속성은 이벤트의 상태를 지시할 수 있다. 이벤트가 트리거에대한 응답으로 활성화되면, status 속성은 "trigger"를 지시할 수 있다. 몇몇 종류의 에러가 발생하면, status 속성은 "error"를 지시할 수 있다. status 속성은 읽기 전용 속성이고, DOMString 타입일 수 있다.
time 속성은 이벤트가 발생한 시간을 지시할 수 있다. time 속성은 읽기 전용 속성이고, Integer 타입일 수 있다.
도(b)를 참조하면, 이벤트 리스너(또는 리스너)의 추가 및/또는 삭제를 위한 API가 나타나있다.
본 발명의 일 실시예에 따른 이벤트 처리 방법은 이벤트 리스너를 객체(object)의 메소드(method)와 연결시키는 방식을 포함할 수 있다. 이 방법은, 이벤트 리스너를 객체의 메소드와 연결시키고, 나중에 이벤트가 발생했을 때 객체의 메소드를 실행시키는 방법이다.
이와 같은 이벤트 처리 방법을 지원하기 위하여, 본 발명의 일 실시예에 따른 addStreamEventListener API 및/또는 removeStreamEventListener API가 사용될 수 있다.
addStreamEventListener API 는 이벤트를 위한 리스너(예를 들어, 이벤트 리스너 또는 스트림 이벤트 리스너)를 추가할 수 있다. addStreamEventListener API는 현재 실행중인 html 어플리케이션의 범위 내에서 이벤트 식별자(예를 들어, enentID)에 의해서 지정된 이벤트를 위한 리스너를 AST에 추가할 수 있다. 해당 이벤트가 트리거에 의해서 활성화되면, 리스너가 호출된다. 그리고, TriggerEvent 타입(또는 StreamEvent 타입)의 오브젝트가 전달될 수 있다. 리스너들은 비디오/방송 오브젝트가 재생(Presenting) 및/또는 중지(Stoped) 상태에서만 추가될 수 있다.
addStreamEventListener API 는 targetURL parameter, eventName parameter, 및/또는 Listener parameter 중에서 적어도 하나를 포함할 수 있다. 예를 들어, addStreamEventListener API 는 addStreamEventListener(targetURL, eventName, listener)와 같은 형식일 수 있다.
targetURL parameter 는 이벤트를 서술하는 StreamEvent 오브젝트의 URL을 지시할 수 있다. 또는 targetURL parameter 는 DASH EventStream 엘리먼트의 schemeIdURI 속성에 매핑될 수 있다.
eventName parameter 는 등록(subscription)이 되어야할 이벤트의 이름을 지시할 수 있다. 또는 eventName 는 DASH EventStream 엘리먼트의 value 속성에 매핑될 수 있다.
Listener parameter 는 이벤트를 위한 리스너를 지시할 수 있다. Listener parameter 는 콜-백 함수(call-back function)일 수 있다. 이벤트가 발생하면, Listener parameter 는 전달된 StreamEvent 오브젝트와 함께 파라미터로서 호출될 수 있다.
targetURL parameter 및 eventName parameter 는 이벤트를 식별하는 이벤트 식별자일 수 있다. 예를 들어, addStreamEventListener API 는 이벤트 식별자(eventId) 파라미터 및 리스너(listener) 파라미터를 포함할 수 있다. 예를 들어, addStreamEventListener API 는 addTriggerEventListener(String eventId, EventListener listener)의 형식일 수 있다. 이벤트 식별자는 EMT에 있는 이벤트 엘리먼트(Event 엘리먼트)에 있는 이벤트의 식별자(예를 들어, EventID 속성 또는 id 속성)일 수 있다. 또한, 이벤트 식별자는 트리거에 의해서 동적으로 업데이트되는 이벤트들의 식별자(예를 들어, emsg 박스의 id 필드)일 수 있다.
로 가질 수 있다.
removeStreamEventListener API 는 이벤트를 위한 리스너를 제거할 수 있다. removeStreamEventListener API 는 이벤트 식별자(예를 들어, enentID)에 의해서 지정된 이벤트를 위한 리스너를 제거할 수 있다.
removeStreamEventListener API는 targetURL parameter, eventName parameter, 및/또는 Listener parameter 중에서 적어도 하나를 포함할 수 있다. 예를 들어, removeStreamEventListener API는 removeStreamEventListener(targetURL, eventName, listener)와 같은 형식일 수 있다.
targetURL parameter 는 StreamEvent 오브젝트의 URL을 지시할 수 있다. 또는 targetURL parameter 는 DASH EventStream 엘리먼트의 schemeIdURI 속성에 매핑될 수 있다.
eventName parameter 는 등록(subscription)이 제거되어야할 이벤트의 이름을 지시할 수 있다. 또는 eventName 는 DASH EventStream 엘리먼트의 value 속성에 매핑될 수 있다.
Listener parameter 는 이벤트를 위한 리스너를 지시할 수 있다. Listener parameter 는 콜-백 함수(call-back function)일 수 있다. 이벤트가 발생하면, Listener parameter 는 전달된 StreamEvent 오브젝트와 함께 파라미터로서 호출될 수 있다.
targetURL parameter 및 eventName parameter 는 이벤트를 식별하는 이벤트 식별자일 수 있다. 예를 들어, removeStreamEventListener API 는 이벤트 식별자(eventId) 파라미터 및 리스너(listener) 파라미터를 포함할 수 있다. 예를 들어, removeStreamEventListener API 는 removeTriggerEventListener(String eventId, EventListener listener)의 형식일 수 있다. 이벤트 식별자는 EMT에 있는 이벤트 엘리먼트(Event 엘리먼트)에 있는 이벤트의 식별자(예를 들어, EventID 속성 또는 id 속성)일 수 있다. 또한, 이벤트 식별자는 트리거에 의해서 동적으로 업데이트되는 이벤트들의 식별자(예를 들어, emsg 박스의 id 필드)일 수 있다.
본 발명이 일 실시예에 따른 방송 수신 장치는, addStreamEventListener API 를 기초로, 이벤트를 위한 리스너를 추가할 수 있다. 또한, 방송 수신 장치는, removeStreamEventListener API 를 기초로, 이벤트를 위한 리스너를 추가할 수 있다. addStreamEventListener API 및/또는 removeStreamEventListener API 는 방송 프로그래밍(broadcast programming)에 대한 html 어플리케이션 액션들의 동기화를 지원할 수 있다.
도 290은 본 발명의 일 실시예에 따른 방송 전송 방법을 나타낸 도면이다.
방송 전송 장치는, 제어부(미도시)를 이용하여, 서비스를 위한 서비스 데이터(또는 시그널링 정보)를 생성할 수 있다(CS2910100).
예를 들어, 서비스를 위한 서비스 데이터는 서비스 식별자, 미디어 플레이백 상태 정보, 긴급 경보 메시지, 및/또는 전자 서비스 가이드(Electronic Service Gudie, ESG) 중에서 적어도 하나를 포함할 수 있다. 미디어 플레이백 상태 정보, 긴급 경보 메시지, 및/또는 전자 서비스 가이드에 대한 구체적인 내용은 전술한 미디어 플레이백 상태 정보, 긴급 경보 메시지, 및/또는 전자 서비스 가이드에 대한 내용을 모두 포함할 수 있다. 서비스에 대한 내용은 전술한 서비스 및/또는 서비스 데이터에 대한 내용을 모두 포함할 수 있다.
또한, 방송 전송 장치는, 제어부를 이용하여, 로우 레벨 시그널링 데이터 및/또는 서비스 레이어 시그널링 데이터를 생성할 수 있다(CS2910200).
시그널링 데이터는 로우 레벨 시그널링 데이터, 및/또는 서비스 레이어 시그널링 데이터를 포함할 수 있다. 로우 레벨 시그널링 데이터는 서비스 획득의 부트스트래핑을 지원할 수 있다. 예를 들어, 로우 레벨 시그널링 데이터는 전술한 FIC를 포함할 수 있다. 서비스 레이어 시그널링 데이터는 제1 시그널링 데이터, 제2 시그널링 데이터, 및 제3 시그널링 데이터를 포함할 수 있다.
제1 시그널링 데이터는 상기 제2 시그널링 데이터 및 상기 제3 시그널링 데이터를 참조하는 참조 정보를 포함할 수 있다. 예를 들어, 제1 시그널링 데이터는 전술한 USD 및/또는 SMT를 포함할 수 있다. 제2 시그널링 데이터는 상기 서비스의 컴포넌트를 위한 디스크립션을 포함할 수 있다. 예를 들어, 제2 시그널링 데이터는 전술한 MPD를 포함할 수 있다. 제3 시그널링 데이터는 상기 서비스와 관련된 상기 컴포넌트의 획득 정보를 포함할 수 있다. 예를 들어, 제3 시그널링 데이터는 SDP, SMT, CMT, ROUTE 세션 엘리먼트, LCT 세션 엘리먼트, 및/또는 LSID 중에서 적어도 하나를 포함할 수 있다.
여기서, 상기 시그널링 데이터는 상기 어플리케이션의 시그널링을 위한 어플리케이션 시그널링 정보를 포함할 수 있다.
여기서, 상기 어플리케이션 시그널링 정보는 상기 어플리케이션의 타입을 지시하는 type 속성, 상기 어플리케이션의 컨트롤 상태를 지시하는 controlcode 속성, 상기 어플리케이션의 우선순위를 지시하는 priority 속성, 상기 어플리케이션의 버전을 지시하는 version 속성, 및/또는 상기 어플리케이션이 저장될 수 있는지 여부를 지시하는 storageCapabilities 속성 중에서 적어도 하나를 포함할 수 있다. 예를 들어, 어플리케이션 시그널링 정보는 전술한 AST를 포함할 수 있다.
또한, 방송 전송 장치는, 전송부를 이용하여, 상기 서비스 데이터, 로우 레벨 시그널링 데이터, 및/또는 서비스 레이어 시그널링 데이터를 포함하는 방송 신호를 전송할 수 있다(CS2910300).
도 291은 본 발명의 일 실시예에 따른 방송 수신 방법을 나타낸 도면이다.
방송 수신 장치는, 브로드캐스트 인터페이스를 이용하여, 서비스를 포함하는 방송 신호를 수신할 수 있다(CS2920100). 여기서, 상기 방송 신호는 시그널링 데이터를 더 포함할 수 있다.
그리고 나서, 방송 수신 장치는, 제어부를 이용하여, 시그널링 데이터를 획득할 수 있다(CS2920200).
시그널링 데이터는 로우 레벨 시그널링 데이터, 및/또는 서비스 레이어 시그널링 데이터를 포함할 수 있다. 로우 레벨 시그널링 데이터는 서비스 획득의 부트스트래핑을 지원할 수 있다. 예를 들어, 로우 레벨 시그널링 데이터는 전술한 FIC를 포함할 수 있다. 서비스 레이어 시그널링 데이터는 제1 시그널링 데이터, 제2 시그널링 데이터, 및 제3 시그널링 데이터를 포함할 수 있다.
제1 시그널링 데이터는 상기 제2 시그널링 데이터 및 상기 제3 시그널링 데이터를 참조하는 참조 정보를 포함할 수 있다. 예를 들어, 제1 시그널링 데이터는 전술한 USD 및/또는 SMT를 포함할 수 있다. 제2 시그널링 데이터는 상기 서비스의 컴포넌트를 위한 디스크립션을 포함할 수 있다. 예를 들어, 제2 시그널링 데이터는 전술한 MPD를 포함할 수 있다. 제3 시그널링 데이터는 상기 서비스와 관련된 상기 컴포넌트의 획득 정보를 포함할 수 있다. 예를 들어, 제3 시그널링 데이터는 SDP, SMT, CMT, ROUTE 세션 엘리먼트, LCT 세션 엘리먼트, 및/또는 LSID 중에서 적어도 하나를 포함할 수 있다.
여기서, 상기 시그널링 데이터는 상기 어플리케이션의 시그널링을 위한 어플리케이션 시그널링 정보를 포함할 수 있다.
여기서, 상기 어플리케이션 시그널링 정보는 상기 어플리케이션의 타입을 지시하는 type 속성, 상기 어플리케이션의 컨트롤 상태를 지시하는 controlcode 속성, 상기 어플리케이션의 우선순위를 지시하는 priority 속성, 상기 어플리케이션의 버전을 지시하는 version 속성, 및/또는 상기 어플리케이션이 저장될 수 있는지 여부를 지시하는 storageCapabilities 속성 중에서 적어도 하나를 포함할 수 있다. 예를 들어, 어플리케이션 시그널링 정보는 전술한 AST를 포함할 수 있다.
그리고 나서, 방송 수신 장치는, 제어부를 이용하여, 서비스 데이터를 획득할 수 있다(CS2920300).
예를 들어, 서비스를 위한 서비스 데이터는 서비스 식별자, 미디어 플레이백 상태 정보, 긴급 경보 메시지, 및/또는 전자 서비스 가이드(Electronic Service Gudie, ESG) 중에서 적어도 하나를 포함할 수 있다. 미디어 플레이백 상태 정보, 긴급 경보 메시지, 및/또는 전자 서비스 가이드에 대한 구체적인 내용은 전술한 미디어 플레이백 상태 정보, 긴급 경보 메시지, 및/또는 전자 서비스 가이드에 대한 내용을 모두 포함할 수 있다. 서비스에 대한 내용은 전술한 서비스 및/또는 서비스 데이터에 대한 내용을 모두 포함할 수 있다.
그리고 나서, 방송 수신 장치는, 제어부를 이용하여, 컴패니언 스크린 디바이스의 어플리케이션으로부터 웹소켓 연결을 수립(establish)할 수 있다.
여기서, 상기 제어부는 상기 서비스를 위한 통지 메시지를 생성할 수 있다.
그리고 나서, 방송 수신 장치는, 컴패니언 스크린 인터페이스를 이용하여, 상기 웹소켓 연결을 통하여 상기 통지 메시지를 상기 컴패니언 스크린 디바이스로 전달할 수 있다.
방송 수신 장치는, 상기 제어부를 이용하여, 방송 수신 장치의 어플리케이션으로부터 웹소켓 연결을 더 수립할 수 있다. 여기서, 상기 컴패니언 스크린 디바이스의 어플리케이션과 상기 방송 수신 장치의 어플리케이션 사이에 통신이 이루어질 수 있다.
여기서, 상기 통지 메시지는 서비스를 식별하는 서비스 식별자를 포함할 수 있다. 예를 들어, 서비스 식별자는 Service ID를 포함할 수 있다.
여기서, 상기 통지 메시지는 미디어 플레이백 상태 정보를 포함할 수 있다. 여기서, 상기 미디어 플레이백 상태 정보는 미디어 플레이백 상태를 지시하는 MPState 엘리먼트, 미디어 플레이백 상태의 속도를 지시하는 MPSpeed 엘리먼트, 미디어 플레이백 상태 정보 구독이 요청된 미디어를 식별하는 MediaID 엘리먼트 중에서 적어도 하나를 포함할 수 있다.
여기서, 상기 통지 메시지는 긴급 경보 메시지를 포함할 수 있다.
여기서, 상기 통지 메시지는 상기 어플리케이션 시그널링 정보를 포함할 수 있다.
도 292 내지 도 294을 통해서 앞서 설명한 실시예들을 통하여 방송 수신 장치가 방송망을 통하여 미디어 컨텐츠 재생 정보를 수신하는 방법을 구체적으로 설명하도록 한다. 또한 방송 수신 장치가 방송 컨텐츠와 미디어 컨텐츠를 동기화하는 것을 구체적으로 설명하도록 한다.
도 292는 방송 수신 장치가 MPEG-2 TS 표준에 따라 방송 스트림을 전송하는 방송망을 통해서 MPEG-DASH의 MPD를 수신하는 것을 보여주는 블락도이다.
도 292의 실시예의 방송 수신 장치(100)의 제어부(150)는 PSI 파서(Parser), TS 필터(filter), TS/PES 디패킷타이저(Depacketizer) 및 디코더(Decoder)를 포함한다.
TS 필터는 방송 스트림으로 부터 특정 PID를 가지는 패킷을 추출한다.
PSI 파서는 Program Association Table(PAT)와 Progrma Map Table(PMT) 같은 PSI 테이블을 파싱하여 시그널링(signaling) 정보를 추출한다. 특히 구체적인 실시예에서 PSI 파서는 PMT에 포함된 MPD_descriptor를 추출할 수 있다.
TS/PES 디패킷타이저는 TS/PES 패킷으로부터 페이로드(payload) 데이터를 추출한다. 구체적인 실시예에서 MPD가 방송 스트림내의 별도의 정보 테이블로 전송되는 경우, TS/PES 디패킷타이저는 MPD_descriptor에 기초하여 별도의 정보 테이블로부터 MPD를 추출할 수 있다. 구체적으로 TS/PES 디패킷타이저는 MPD_descriptor에 포함된 PID에 해당하는 패킷에 포함된 정보 테이블로부터 MPD를 추출할 수 있다. 또한 TS/PES 디패킷타이저는 TS/PES 패킷으로부터 비디오 엘리멘터리 스트림과 오디오 엘리멘터리 스트림을 추출한다.
디코더는 비디오와 오디오를 디코딩한다.
도 293은 방송 수신 장치가 MPEG-2 TS 표준에 따라 전송되는 방송 스트림의 방송 컨텐츠와 통신망을 통해 전송되는 미디어 컨텐츠를 동기화하는 것을 보여주는 블락도이다.
도 293의 실시예의 방송 수신 장치(100)의 제어부(150)는 TS/PES 디패킷타이저(Depacketizer) 및 디코더(Decoder)를 포함한다.
TS/PES 디패킷타이저는 TS/PES 패킷으로부터 페이로드(payload) 데이터를 추출한다. 구체적인 실시예에서 MPD가 방송 스트림내의 별도의 정보 테이블로 전송되는 경우, MPD_descriptor에 기초하여 별도의 정보 테이블로부터 MPD를 추출할 수 있다. 구체적으로 MPD_descriptor에 포함된 PID에 해당하는 패킷에 포함된 정보 테이블로부터 MPD를 추출할 수 있다. 또한 TS/PES 디패킷타이저는 TS/PES 패킷으로부터 미디어 컨텐츠와 방송 컨텐츠간의 동기화를 위한 동기화 정보를 추출한다. 이때 동기화 정보는 미디어 컨텐츠의 재생 시간과 MPD의 Period 엘리먼트를 식별하는 식별자 및 MPD URL을 포함할 수 있다. 또한 TS/PES 디패킷타이저는 TS/PES 패킷으로부터 비디오 엘리멘터리 스트림과 오디오 엘리멘터리 스트림을 추출한다.
IP 송수신부(130)는 MPD에 기초하여 미디어 CDN 서버로부터 미디어 컨텐츠를 수신한다.
디코더는 수신된 미디어 컨텐츠를 동기화 정보에 기초하여 동기화하여 디코드한다.
도 294은 본 발명의 일 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 294의 실시예에서 방송 수신 장치(100)는 방송 수신부(110), 인터넷 프로토콜(Internet Protocol, IP) 송수신부(130) 및 제어부(150)를 포함한다.
방송 수신부(110)는 채널 동기화부(Channel Synchronizer)(111), 채널 이퀄라이저(channel equalizer)(113) 및 채널 디코더(channel decoder)(115)를 포함한다.
채널 동기화부(110)는 방송 신호를 수신할 수 있는 기저 대역대(baseband)에서 디코딩이 가능하도록 심볼 주파수와 타이밍을 동기화한다.
채널 이퀄라이저(113)는 동기화된 방송 신호의 왜곡을 보상한다. 구체적으로 채널 이퀄라이저(113)는 멀티패스(multipath), 도플러 효과 등으로 인한 동기화된 방송 신호의 왜곡을 보상한다.
채널 디코더(115)는 왜곡이 보상된 방송 신호를 디코딩한다. 구체적으로 채널 디코더(115)는 왜곡이 보상된 방송 신호로부터 전송 프레임(transport frame)을 추출한다. 이때 채널 디코더(115)는 전진 에러 수정(Forward Error Correction, FEC)를 수행할 수 있다.
IP 송수신부(130)는 인터넷 망을 통해 데이터를 수신하고 전송한다.
제어부(150)는 시그널링 디코더(151), 전송 패킷 인터페이스(153), 광대역 패킷 인터페이스(155), 기저대역 동작 제어부(157), 공통 프로토콜 스택(Common Protocol Stack)(159), 서비스 맵 데이터베이스(161), 서비스 시그널링 채널 프로세싱 버퍼(buffer) 및 파서(parser)(163), A/V 프로세서(165), 방송 서비스 가이드 프로세서(167), 어플리케이션 프로세서(169) 및 서비스 가이드 데이터 베이스(171)를 포함한다.
시그널링 디코더(151)는 방송 신호의 시그널링 정보를 디코딩한다.
전송 패킷 인터페이스(153)는 방송 신호로부터 전송 패킷을 추출한다. 이때 전송 패킷 인터페이스(153)는 추출한 전송 패킷으로부터 시그널링 정보 또는 IP 데이터그램 등의 데이터를 추출할 수 있다.
광대역 패킷 인터페이스(155)는 인터넷 망으로부터 수신한 데이터로부터 IP 패킷을 추출한다. 이때 광대역 패킷 인터페이스(155)는 IP 패킷으로부터 시그널링 데이터 또는 IP 데이터그램을 추출할 수 있다.
기저대역 동작 제어부(157)는 기저대역으로부터 방송 정보 수신 정보를 수신하는 것과 관련된 동작을 제어한다.
공통 프로토콜 스택(159)은 전송 패킷으로부터 오디오 또는 비디오를 추출한다.
A/V 프로세서(547)는 오디오 또는 비디오를 처리한다.
서비스 시그널링 채널 프로세싱 버퍼(buffer) 및 파서(parser)(163)는 방송 서비스를 시그널링하는 시그널링 정보를 파싱하고 버퍼링한다. 구체적으로 서비스 시그널링 채널 프로세싱 버퍼 및 파서(163)는 IP 데이터그램으로부터 방송 서비스를 시그널링하는 시그널링 정보를 파싱하고 버퍼링할 수 있다.
서비스 맵 데이터 베이스(161)는 방송 서비스들에 대한 정보를 포함하는 방송 서비스 리스트를 저장한다.
A/V 프로세서(165)는 수신된 audio 및 video data에 대해 decoding 및 presentation을 처리한다.
서비스 가이드 프로세서(167)는 지상파 방송 서비스의 프로그램을 안내하는 지상파 방송 서비스 가이드 데이터를 처리한다.
어플리케이션 프로세서(169)는 방송 신호로부터 어플리케이션 관련 정보를 추출하고 처리한다.
서비스 가이드 데이터베이스(171)는 방송 서비스의 프로그램 정보를 저장한다.
앞서 방송 수신 장치(100)의 대략적인 구성과 동작을 설명하였다. 다만, 이는 전통적인 방송 수신 장치(100)의 동작과 전송 프로토콜에 초점이 맞추어있다. 다만, 하이브리드 방송 서비스를 수신하기 위해 방송 수신 장치(100)는 다양한 전송 프로토콜의 데이터를 처리할 수 있어야 한다. 도 295 내지 87을 통해서 하이브리드 방송 서비스를 수신하기 위한 방송 수신 장치(100)의 자세한 구성과 동작을 설명한다.
도 295는 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 295의 실시예에서 방송 수신 장치(100)는 방송 수신부(110), 인터넷 프로토콜(Internet Protocol, IP) 송수신부(130) 및 제어부(150)를 포함한다.
방송 수신부(110)는 방송 수신부(110)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 방송 수신부(110)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 방송 수신부(110)는 피지컬 레이어 모듈(119), 피지컬 레이어 IP 프레임 모듈(117)을 포함할 수 있다. 피지컬 레이어 모듈(119)는 방송망의 방송 채널을 통하여 방송 관련 신호를 수신하고 처리한다. 피지컬 레이어 IP 프레임 모듈(117)은 피지컬 레이어 모듈(119)로부터 획득한 IP 데이터그램 등의 데이터 패킷을 특정 프레임으로 변환한다. 예컨대, 피지컬 레이어 모듈(119)은 IP 데이터그램 등을 RS Fraem 또는 GSE 등으로 변환할 수 있다.
IP 송수신부(130)는 IP 송수신부(130)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 IP 송수신부(130)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. IP 송수신부(130)는 인터넷 접근 제어 모듈(131)을 포함할 수 있다. 인터넷 접근 제어 모듈(131)은 통신망(broadband)을 통하여 서비스, 컨텐츠 및 시그널링 데이터 중 적어도 어느 하나를 획득하기 위한 방송 수신 장치(100)의 동작을 제어한다.
제어부(150)는 제어부(150)가 수행하는 복수의 기능 각각을 수행하는 하나 또는 복수의 프로세서. 하나 또는 복수의 회로 및 하나 또는 복수의 하드웨어 모듈을 포함할 수 있다. 구체적으로 제어부(150)는 여러가지 반도체 부품이 하나로 집적되는 시스템 온 칩(System On Chip, SOC)일 수 있다. 이때, SOC는 그래픽, 오디오, 비디오, 모뎀 등 각종 멀티미디어용 부품과 프로세서와 D램 등 반도체가 하나로 통합된 반도체일 수 있다. 제어부(150)는 시그널링 디코더(151), 서비스 맵 데이터 베이스(161), 서비스 시그널링 채널 파서(163), 어플리케이션 시그널링 파서(166), 얼러트 시그널링 파서(168), 타겟팅 시그널링 파서(170), 타겟팅 프로세서(173), A/V 프로세서(165), 얼러팅 프로세서(162), 어플리케이션 프로세서(169), 스케쥴드 스트리밍 디코더(181), 파일 디코더(182), 사용자 요청 스트리밍 디코더(183), 파일 데이터베이스(184), 컴포넌트 동기화부(185), 서비스/컨텐츠 획득 제어부(187), 재분배 모듈(189), 장치 관리자(193) 및 데이터 쉐어링부(191) 중 적어도 어느 하나를 포함할 수 있다.
서비스/컨텐츠 획득 제어부(187)는 방송망 또는 통신망을 통해 획득한 서비스, 컨텐츠, 서비스 또는 컨텐츠와 관련된 시그널링 데이터 획득을 위한 수신기의 동작을 제어한다.
시그널링 디코더(151)는 시그널링 정보를 디코딩한다.
서비스 시그널링 파서(163)는 서비스 시그널링 정보를 파싱한다.
어플리케이션 시그널링 파서(166)는 서비스와 관련된 시그널링 정보를 추출하고 파싱한다. 이때, 서비스와 관련된 시그널링 정보는 서비스 스캔과 관련된 시그널링 정보일 수 있다. 또한 서비스와 관련된 시그널링 정보는 서비스를 통해 제공되는 컨텐츠와 관련된 시그널링 정보일 수 있다.
얼러트 시그널링 파서(168)는 얼러팅 관련된 시그널링 정보를 추출하고 파싱한다.
타겟팅 시그널링 파서(170)는 서비스 또는 컨텐츠를 개인화(personalization)하기 위한 정보 또는 타겟팅 정보를 시그널링하는 정보를 추출하고 파싱한다.
타겟팅 프로세서(173)는 서비스 또는 컨텐츠를 개인화하기 위한 정보를 처리한다.
얼러팅 프로세서(162)는 얼리팅 관련된 시그널링 정보를 처리한다.
어플리케이션 프로세서(169)는 어플리케이션 관련 정보 및 어플리케이션의 실행을 제어한다. 구체적으로 어플리케이션 프로세서(169)는 다운로드된 어플리케이션의 상태 및 디스플레이 파라미터를 처리한다.
A/V 프로세서(161)는 디코딩된 오디오 또는 비디오, 어플리케이션 데이터 등에 기초하여 오디오/비디오의 렌더링 관련 동작을 처리한다.
스케쥴드 스트리밍 디코더(181)는 미리 방송사 등의 컨텐츠 제공업자가 정한 일정 대로 스트리밍 되는 컨텐츠인 스케쥴드 스트리밍을 디코딩한다.
파일 디코더(182)는 다운로드된 파일을 디코드한다. 특히 파일 디코더(182)는 통신망을 통하여 다운로드된 파일을 디코드한다.
사용자 요청 스트리밍 디코더(183)는 사용자 요청에 의하여 제공되는 컨텐츠(On Demand Content)를 디코드한다.
파일 데이터베이스(184)는 파일을 저장한다. 구체적으로 파일 데이터베이스(184)는 통신망을 통하여 다운로드한 파일을 저장할 수 있다.
컴포넌트 동기화부(185)는 컨텐츠 또는 서비스를 동기화한다. 구체적으로 컴포넌트 동기화부(185)는 스케쥴드 스트리밍 디코더(181), 파일 디코더(182) 및 사용자 요청 스트리밍 디코더(183) 중 적어도 어느 하나가 디코딩한 컨텐츠를 동기화한다.
서비스/컨텐츠 획득 제어부(187)는 서비스, 컨텐츠, 서비스 또는 컨텐츠와 관련된 시그널링 정보 중 적어도 어느 하나를 획득하기 위한 수신기의 동작을 제어한다.
재분배 모듈(189)은 방송망을 통하여 서비스 또는 컨텐츠를 수신하지 못하는 경우, 서비스, 컨텐츠, 서비스와 관련 정보 및 컨텐츠 관련 정보 중 적어도 어느 하나의 획득을 지원하기 위한 동작을 수행한다. 구체적으로 외부의 관리 장치(300)에게 서비스, 컨텐츠, 서비스와 관련 정보 및 컨텐츠 관련 정보 중 적어도 어느 하나를 요청할 수 있다. 이때 외부의 관리 장치(300)는 컨텐츠 서버(50)일 수 있다.
장치 관리자(193)는 연동 가능한 외부 장치를 관리한다. 구체적으로 장치 관리자(193)는 외부 장치의 추가, 삭제 및 갱신 중 적어도 어느 하나를 수행할 수 있다. 또한 외부 장치는 방송 수신 장치(100)와 연결 및 데이터 교환이 가능할 수 있다.
데이터 쉐어링부(191)는 방송 수신 장치(100)와 외부 장치 간의 데이터 전송 동작을 수행하고, 교환 관련 정보를 처리한다. 구체적으로 데이터 쉐어링부(191)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 전송할 수 있다. 또한 데이터 쉐어링부(191)는 외부 장치에 A/V 데이터 또는 시그널링 정보를 수신할 수 있다.
도 296은 본 발명의 또 다른 실시예에 따른 방송 수신 장치의 구성을 보여준다.
도 296의 실시예에서 방송 수신 장치(100)는 방송 수신부(110), 인터넷 프로토콜(Internet Protocol, IP) 송수신부(130) 및 제어부(150)를 포함한다.
방송 수신부(110)는 튜너(111) 및 피지컬 프레임 파서(113) 중 적어도 어느 하나를 포함할 수 있다.
튜너(111)는 방송망을 통해 전송되는 방송 신호를 수신한다. 또한 튜너(11)는 수신한 방송 신호를 피지컬 프레임 형태로 변환할 수 있다.
피지컬 프레임 파서(113)는 수신된 방송 신호의 피지컬 프레임으로부터 링크레이어 프레임을 추출한다.
IP 송수신부(130)는 IP 데이터를 수신하고 전송한다.
제어부(150)는 피지컬 레이어 제어부(251), 링크 레이어 프레임 파서(252), IP/UDP 데이터그램 필터(253), ROUTE(AL/LCT) 클라이언트(255), 타이밍 컨트롤(257), 시스템 클락(259), DTV 컨트롤 엔진(261), 사용자 입력 수신부(263), 시그널링 파서(265), 채널 맵 데이터베이스(267), HTTP 액세스 클라이언트(269), HTTP 액세스 캐쉬(271), DASH 클라이언트(273), ISO BMFF 파서(275), 미디어 디코더(277) 및 파일 데이터베이스(279) 중 적어도 어느 하나를 포함할 수 있다.
피지컬 레이어 제어부(251)는 방송 수신부(110)의 동작을 제어한다. 구체적으로 피지컬 레이어 제어부(251)는 방송 수신부(110)가 수신하는 방송 신호의 전송 파라미터들을 제어하여 방송 신호를 선택적으로 수신할 수 있다. 예컨대, 피지컬 레이어 제어부(251)는 튜너(111)가 수신하는 방송 신호의 주파수를 제어할 수 있다. 또한, 피지컬 레이어 제어부(251)는 피지컬 프레임 파서(113)를 제어하여 방송 신호로부터 링크 레이어 프레임을 추출할 수 있다.
링크 레이어 프레임 파서(252)는 방송 신호의 링크 레이어 프레임으로부터 링크 레이어 프레임의 페이로드에 해당하는 데이터를 추출한다. 구체적으로 링크 레이어 프레임 파서(252)는 링크 레이어 프레임으로부터 링크 레이어 시그널링을 추출할 수 있다. 링크 레이어 시그널링은 링크 레이어를 통해서 방송 서비스를 시그널링한다. 이를 통해 방송 수신 장치(100)는 어플리케이션 레이어를 추출하지 않고도 방송 서비스에 관한 정보를 획득할 수 있다. 따라서 방송 수신 장치(100)는 빠르게 방송 서비스를 스캔하고, 방송 서비스를 전환할 수 있다. 또한 링크 레이어 프레임 파서(252)는 링크 레이어 프레임으로부터 IP/UDP 데이터그램을 추출할 수 있다.
IP/UDP 데이터그램 필터(253)는 IP/UDP 데이터그램으로부터 특정 IP/UDP 데이터그램을 추출한다. 방송망을 통한 데이터 전송 또는 통신망을 통한 멀티캐스트는 단방향(unidirection) 통신이므로 방송 수신 장치(100)는 자신이 필요한 데이터 이외의 데이터들을 수신한다. 따라서 방송 수신 장치(100)는 데이터 스트림으로부터 자신이 필요한 데이터를 추출하여 한다. IP/UDP 데이터그램 필터(253)는 IP/UDP 데이터그램 스트림으로부터 방송 수신 장치(100)가 필요로하는 IP/UDP 데이터그램을 추출한다. 구체적으로 IP/UDP 데이터그램 필터(253)는 지정된 IP 주소 및 UDP 포트 번호에 해당하는 IP/UDP 데이터그램을 추출한다. 이때. IP 주소는 소스 주소 및 데스티네이션 주소 중 어느 하나를 포함할 수 있다.
ROUTE(AL/LCT) 클라이언트(255)는 어플리케이션 계층 전송 패킷을 처리한다. 구체적으로 ROUTE(ALC/LCT) 클라이언트(255)는 실시간 오브젝트 딜리버리(Real-time Objectuve delivery over Unidirectional Transport, ROUTE)에 기반한 ALC/LCT 패킷을 처리한다. ROUTE 프로토콜은 어플리케이션 계층(layer) 프로토콜로서 ALC/LCT 패킷을 이용하여 실시간 데이터를 전송하기 위한 프로토콜이다. 방송 수신 장치(100)는 ALC/LCT 패킷 으로부터 방송 서비스 시그널링 정보, NRT 데이터, 미디어 컨텐츠 중 적어도 어느 하나를 추출할 수 있다. 이때, 미디어 컨텐츠는 MPEG-DASH 형식일 수 있다. 구체적으로 미디어 컨텐츠는 ISO 베이스 미디어 파일 포맷(ISO Base Media File Format, ISO BMFF)으로 인캡슐레이션되어 MPEG-DASH 프로토콜을 통해 전송될 수 있다. 방송 수신 장치(100)는 ROUTE 패킷으로부터 MPEG-DASH 세그먼트를 추출할 수 있다. 또한, 방송 수신 장치(100)는 MPEG-DASH 세그먼트로부터 ISO BMFF 파일을 추출할 수 있다.
타이밍 컨트롤(257)는 미디어 컨텐츠 재생의 기준이 되는 시스템 타임 정보를 포함하는 패킷을 처리한다. 또한 타이밍 컨트롤(257)은 시스템 타임 정보에 기초하여 시스템 클럭을 제어할 수 있다.
시스템 클락(259)은 방송 수신 장치(100)의 동작의 기준이 되는 기준 클락(reference clock)을 제공한다.
DTV 컨트롤 엔진(261)는 각 구성 간의 인터페이스를 담당한다. 구체적으로 DTV 컨트롤 엔진(261)은 각 구성의 동작 제어를 위한 파라미터를 전달할 수 있다.
사용자 입력 수신부(263)는 사용자 입력을 수신한다. 구체적으로 상용자 입력 수신부(263)는 사용자의 리모트 컨트롤 입력, 키 입력 중 적어도 어느 하나를 수신할 수 있다.
시그널링 파서(265)는 방송 서비스에 대한 정보를 전달하여 방송 서비스를 시그널링하는 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출한다. 구체적으로 시그널링 파서(265)는 어플리케이션 레이어로부터 추출된 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출할 수 있다. 또 다른 구체적인 실시예에서 시그널링 파서(265)는 링크 레이어로부터 추출된 방송 서비스 시그널링 정보를 파싱하여 방송 서비스에 관한 정보를 추출할 수 있다.
채널 맵 데이터베이스(267)는 방송 서비스의 채널 맵에 관한 정보를 저장한다. 구체적으로 시그널링 파서(265)는 방송 서비스에 관한 정보를 추출하여 채널 맵에 관한 정보를 채널 맵 데이터베이스(267)에 저장할 수 있다. 또한, DTV 컨트롤 엔진(261)은 채널 맵 데이터 베이스로부터 방송 서비스의 채널 맵에 관한 정보를 획득할 수 있다. 이때, 채널 맵에 관한 정보는 방송 서비스를 나타내는 채널 번호, 방송 서비스를 나타내는 방송 서비스의 이름 중 적어도 어느 하나를 포함할 수 있다.
HTTP 액세스 클라이언트(269)는 HTTP 데이터를 처리한다. 구체적으로 HTTP 액세스 클라이언트(269)는 HTTP를 사용하는 컨텐츠 서버(50)에게 요청을 전송하고, 컨텐츠 서버(50)로부터 요청에 대한 응답을 수신할 수 있다.
HTTP 액세스 캐쉬(271)는 HTTP 데이터를 캐시(cache)하여 HTTP 데이터의 처리 속도를 향상 시킨다.
DASH 클라이언트(273)는 MPEG-DASH 세그먼트를 처리한다. 구체적으로 DASH 클라이언트(273)는 통신망을 통해 수신되는 MPEG-DASH 세그먼트를 처리할 수 있다. 또한, 구체적으로 DASH 클라이언트(273)는 방송망을 통해 수신되는 방송 신호의 어플리케이션 레이어로부터 추출된 MPEG-DASH 세그먼트를 처리할 수 있다
ISO BMFF 파서(275)는 ISO BMFF 패킷을 처리한다. 구체적으로 ISO BMFF 파서(275)는 ISO BMFF 패킷으로부터 미디어 컨텐츠를 추출할 수 있다.
미디어 디코더(277)는 미디어 컨텐츠를 디코딩한다. 구체적으로 미디어 디코더(277)는 미디어 컨텐츠를 디코딩하여 미디어 컨텐츠를 재생할 수 있다.
파일 데이터베이스(279)는 방송 서비스를 위해 필요한 파일을 저장한다. 구체적으로 파일 데이터베이스(279)는 방송 신호의 어플리케이션 레이어로부터 추출된 파일을 저장할 수 있다.
방송 수신 장치(100)의 구체적인 동작에 대해서는 도 297 내지 도 299를 통해서 설명한다.
도 297는 방송 수신 장치(100)가 방송 서비스를 스캔하여 채널 맵을 생성하는 동작을 보여주는 흐름도이다.
제어부(150)는 방송 신호 수신 파라미터를 설정한다. 구체적으로 제어부(150)는 방송 신호 수신을 위한 주파수, 대역폭, 심볼레이트 및 피지컬 레이어 파이프(Physical Layer Pipe, PLP) 식별자 중 적어도 어느 하나를 설정할 수 있다. 이때, 피지컬 레이어 파이프는 하나의 무선 주파수(Radio Frequency, RF) 채널을 구분하는 논리적 데이터 전송 채널이다. 하나의 RF 채널은 하나 또는 복수의 피지컬 레이어 파이프를 포함할 수 있다. 피지컬 레이어 파이프는 데이터 파이프(Data Pipe, DP)로 지칭될 수 있다. 구체적인 실시예에서 제어부(150)는 복수의 방송 신호 수신 파라미터를 저장하는 주파수 테이블에 기초하여 방송 신호 수신 파라미터를 설정할 수 있다. 예컨대, 방송 수신 장치(100)는 주파수 테이블에 저장된 방송 신호 수신 파라미터를 순차적으로 설정하여 각각의 방송 신호 수신 파라미터에 해당하는 방송 신호를 순차적으로 수신한다. 이때, 주파수 테이블은 지역별 표준 또는 지역별 방송 환경에 따라 설정된 것일 수 있다.
방송 수신부(110)는 방송 신호 수신 파라미터에 기초하여 방송 신호를 수신한다(S2103). 구체적으로 방송 수신부(110)는 방송 신호 수신 파라미터에 해당하는 방송 신호를 수신한다. 방송 수신부(110)는 방송 신호를 디모듈레이팅하여 방송 신호의 피지컬 프레임을 추출할 수 있다.
제어부(150)는 방송 신호로부터 방송 서비스 시그널링 정보를 추출한다(S2105). 구체적으로 제어부(150) 방송 신호로부터 방송 서비스에 대한 정보를 신그널링하는 방송 서비스 시그널링 정보를 추출할 수 있다. 방송 서비스에 대한 정보는 방송 서비스를 식별하는 정보를 포함할 수 있다. 방송 서비스를 식별하는 정보는 방송 서비스를 나타내는 채널 번호를 포함할 수 있다. 또한 방송 서비스를 식별하는 정보는 방송 서비스를 식별하는 방송 서비스 식별자를 포함할 수 있다. 방송 서비스를 식별하는 정보는 방송 서비스를 나타내는 채널 번호를 포함할 수 있다. 또한 방송 서비스를 식별하는 정보는 방송 서비스를 나타내는 방송 서비스의 이름을 포함할 수 있다. 또한 방송 서비스에 대한 정보는 방송 서비스 수신을 위한 정보를 포함할 수 있다. 방송 서비스 수신을 위한 정보는 방송 서비스 수신을 위해 방송 수신부 설정 위해 필요한 방송 신호 수신 파라미터를 포함할 수 있다. 또한 방송 서비스 수신을 위한 정보는 방송 서비스가 전송되는 방송 스트림을 식별하는 방송 스트림 식별자를 포함할 수 있다. 또한 방송 서비스 수신을 위한 정보는 방송 서비스가 전송되는 IP/UDP 데이터 그램을 식별하는 IP 주소 및 UDP 포트 번호를 포함할 수 있다. 또한, 방송 서비스 수신을 위한 정보는 세션 기반 전송 프로토콜의 세션을 식별하는 세션 식별자를 포함할 수 있다. 또한, 방송 서비스 수신을 위한 정보는 패킷 기반 전송 프로토콜의 패킷을 식별하는 패킷 식별자를 포함할 수 있다. 구체적으로 제어부(150)는 링크 레이어로부터 추출한 링크 레이어 시그널링의 방송 서비스 시그널링 정보를 추출할 수 있다. 또 다른 구체적인 실시예에서 제어부(150)는 어플리케이션 레이어로부터 방송 서비스 시그널링 정보를 추출할 수 있다. 앞서 설명한 바와 같이 제어부(150)가 링크 레이어로부터 방송 서비스 시그널링 정보를 수신하는 경우 방송 서비스 스캔 시간을 단축할 수 있다.
제어부(150)는 방송 서비스 시그널링 정보에 기초하여 방송 서비스에 대한 정보를 저장하는 채널 맵을 생성한다(S2107). 구체적으로 제어부(150)는 방송 서비스 시그널링 정보가 제공하는 방송 서비스에 대한 정보에 따라 채널 맵을 생성한다. 채널 맵은 앞서 설명한 방송 서비스 각각을 식별하는 정보 및 방송 서비스 각각을 수신하기 위한 정보 중 적어도 어느 하나를 포함할 수 있다. 또한 제어부(150)는 생성한 채널 맵을 채널 맵 데이터베이스(267)에 저장할 수 있다. 방송 수신 장치(100)는 채널 맵에 기초하여 방송 서비스를 수신할 수 있다. 이에 대해서는 도 298를 통하여 설명한다.
도 298는 방송 수신 장치(100)가 방송 서비스를 수신하는 동작을 보여주는 흐름도이다.
제어부(150)는 방송 서비스 선택에 대한 사용자 입력을 수신한다(S2151). 제어부(150)는 사용자 입력부(263)를 통하여 방송 서비스 선택에 대한 사용자 입력을 수신할 수 있다. 구체적으로 제어부(150)는 방송 서비스를 보여주는 방송 서비스 리스트에서 사용자가 어느 하나의 방송 서비스를 선택하는 입력을 수신할 수 있다. 또한, 제어부(150)는 사용자가 리모트 컨트롤을 통해 채널 번호에 대한 사용자 입력을 수신할 수 있다.
제어부(150)는 사용자가 선택한 방송 서비스에 해당하는 방송 신호 수신 파라미터를 획득한다(S2153). 구체적으로 제어부(150)는 채널 맵으로부터 사용자가 선택한 방송 서비스에 해당하는 방송 신호 수신 파라미터를 획득할 수 있다. 앞서 설명한 바와 같이 방송 신호 수신 파라미터는 방송 신호 수신을 위한 주파수, 대역폭, 심볼레이트 및 피지컬 레이어 파이프 식별자 중 적어도 어느 하나를 포함할 수 있다.
제어부(150)는 방송 신호 수신 파라미터에 기초하여 방송 신호 수신을 설정한다. 구체적으로 제어부(150)는 방송 신호 수신 파라미터에 따라 방송 수신부(110)를 설정할 수 있다. 예컨대, 제어부(150)는 방송 수신부(110)의 방송 신호 수신 주파수, 대역폭, 심볼레이트 및 피지컬 레이어 파이프 식별자 중 적어도 어느 하나를 설정할 수 있다. 현재 수신 하고 있는 방송 신호의 방송 신호 수신 파라미터와 획득한 방송 신호 수신 파라미터가 동일한 경우, 이러한 동작은 생략될 수 있다.
방송 수신부(110)는 방송 신호 수신 설정에 기초하여 방송 신호를 수신한다(S2157). 구체적으로 방송 수신부(110)는 방송 신호를 수신하고 디모듈레이팅할 수 있다.
제어부(150)는 방송 신호에 기초하여 사용자가 선택한 방송 서비스에 대한 시그널링 정보를 획득한다(S2159). 앞서 설명한 바와 같이 제어부(150)는 링크 레이어로부터 방송 서비스 시그널링 정보를 획득할 수 있다. 또한 제어부(150)는 링크 레이어로부터 방송 서비스 시그널링 정보를 획득할 수 있다. 채널 맵이 방송 서비스 시그널링 정보로부터 추출한 방송 서비스에 대한 정보를 포함함에도 다시 방송 서비스 시그널링 정보를 획득하는 것은 채널 맵 생성 이후 방송 서비스에 대한 정보가 변경될 수 있기 때문이다. 또한, 채널 맵 생성시 채널 맵 생성을 위한 기본적인 정보만 획득하고 방송 서비스가 포함하는 컴포넌트에 대한 정보 또는 방송 서비스 재생을 위한 정보를 획득하지 않은 경우가 있을 수 있기 때문이다.
제어부(150)는 방송 서비스 시그널링 정보에 기초하여 채널 맵을 갱신한다. 구체적으로 제어부(150)는 방송 서비스 시그널링 정보가 변경된 경우, 채널 맵을 갱신할 수 있다. 구체적인 실시예에서 제어부(150)는 이전에 획득한 방송 서비스 시그널링 정보와 방송 서비스 시그널링 정보 정보가 다른 경우 채널 맵을 갱신할 수 있다. 제어부(150)는 이전에 획득한 방송 서비스 시그널링 정보의 버전 정보와 방송 서비스 시그널링 정보의 버전 정보를 비교하여 방송 서비스 시그널링 정보가 변경된 경우 채널 맵을 갱신할 수 있다.
제어부(150)는 채널 맵에 기초하여 방송 서비스가 포함하는 미디어 컴포넌트를 수신한다(S2163). 채널 맵은 미디어 컴포넌트 수신에 관한 정보를 포함할 수 있다. 구체적으로 채널 맵은 미디어 컴포넌트를 수신하기 위한 정보를 포함할 수 있다. 제어부(150)는 채널 맵으로부터 미디어 컴포넌트를 수신하기 위한 정보를 획득하여 미디어 컴포넌트를 수신할 수 있다. 예컨대, 제어부(150)는 채널 맵으로부터 미디어 컴포넌트를 전송하는 IP/UDP 데이터그램을 식별할 수 있는 정보 및 미디어 컴포넌트틀 전송하는 세션 기반 전송 프로토콜 패킷을 식별할 수 있는 정보를 획득하여 미디어 컴포넌트를 수신할 수 있다. IP/UDP 데이터그램을 식별할 수 있는 정보는 IP 주소 및 UDP 포트 번호 중 적어도 어느 하나를 포함할 수 있다. 이때, IP 주소는 소스 주소와 데스티네이션 주소 중 적어도 어느 하나를 포함할 수 있다. 세션 기반 전송 프로토콜 패킷을 식별할 수 있는 정보는 세션을 식별하는 세션 식별자를 포함할 수 있다. 구체적으로 세션 식별자는 ALC/LCT 세션의 TSI일 수 있다. 또 다른 구체적인 실시예에서, 제어부(150)는 채널 맵으로부터 미디어 컴포넌트를 전송하는 IP/UDP 데이터그램을 식별할 수 있는 정보 및 미디어 컴포넌트틀 전송하는 패킷 기반 전송 프로토콜 패킷을 식별할 수 있는 정보를 획득하여 미디어 컴포넌트를 수신할 수 있다. 방송 수신 장치(100)는 미디어 컨텐츠 재생 정보에 기초하여 미디어 컴포넌트를 수신할 수 있다. 이에 대해서는 도 299을 통해서 설명한다.
도 299은 방송 수신 장치가 미디어 컨텐츠 재생 정보에 기초하여 미디어 컴포넌트를 획득하는 동작을 보여주는 흐름도이다.
방송 수신 장치(100)는 미디어 컨텐츠 재생 정보를 획득한다(S2201). 방송 수신 장치(100)는 앞서 설명한 것과 같이 방송 신호의 시그널링 메시지를 통해서 미디어 컨텐츠 재생 정보를 획득할 수 있다.
방송 수신 장치(100)는 미디어 컨텐츠 재생 정보에 기초하여 미디어 컴포넌트에 대한 정보를 획득한다(S2203). 미디어 컴포넌트에 대한 정보는 앞서 설명한 미디어 컴포넌트 수신을 위한 정보를 포함할 수 있다. 또한 미디어 컨텐츠 재생 정보는 방송 서비스와 방송 서비스가 포함하는 미디어 컴포넌트에 대한 정보를 포함할 수 있다.
방송 수신 장치(100)는 미디어 컴포넌트에 대한 정보에 기초하여 미디어 컴포넌트를 수신한다(S2205). 방송 수신 장치(100)는 방송망을 통하여 미디어 컴포넌트를 수신할 수 있다. 또한 방송 수신 장치(100)는 통신망을 통하여 미디어 컴포넌트를 수신할 수 있다. 또한 방송 수신 장치(100)는 복수의 미디어 컴포넌트 중 어느 하나는 방송망을 통하여 수신하고, 다른 미디어 컴포넌트는 통신망을 통하여 수신할 수 있다. 예컨대, 방송 수신 장치(100)는 방송망을 통하여 비디오 컴포넌트를 수신하고, 통신망을 통하여 오디오 컴포넌트를 수신할 수 있다.
다시 도 298를 통해 방송 수신 장치(100)의 동작을 설명한다.
제어부(150)는 미디어 컴포넌트에 기초하여 방송 서비스를 재생한다(S2165).
도 300 내지 도 301를 통해서는 하이브리드 방송에서 사용하는 전송 프레임을 설명한다.
도 300은 본 발명의 일 실시예에 따른 방송 전송 프레임을 보여준다.
도 300의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 공통 PLP(Common PLP) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
도 300의 실시예에서 방송 전송 장치는 방송 전송 프레임(transport frame)의 P1 파트를 통하여 전송 시그널 탐지(transport signal detection)를 위한 정보를 전송한다. 또한 방송 전송 장치는 P1 파트를 통하여 방송 신호 튜닝을 위한 튜닝 정보를 전송할 수 있다.
도 300의 실시예에서 방송 전송 장치는 L1 파트를 통하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 전송한다. 이때 방송 수신 장치(100)는 P1에 기초하여 L1 파트를 디코딩하여 방송 전송 프레임의 구성 및 각각 PLP의 특성을 획득할 수 있다.
도 300의 실시예에서 방송 전송 장치는 Common PLP 파트를 통하여 PLP간에 공통으로 적용되는 정보를 전송할 수 있다. 구체적인 실시예에 따라서 방송 전송 프레임은 Common PLP 파트를 포함하지 않을 수 있다.
도 300의 실시예에서 방송 전송 장치는 방송 서비스에 포함된 복수의 컴포넌트를 인터리브드(interleaved) PLP 파트를 통하여 전송한다. 이때, 인터리브드 PLP 파트는 복수의 PLP를 포함한다.
도 300의 실시예에서 방송 전송 장치는 각각의 방송 서비스를 구성하는 컴포넌트가 각각 어느 PLP로 전송되는지를 L1 파트 또는 Common PLP 파트를 통하여 시그널링할 수 있다. 다만, 방송 수신 장치(100)가 방송 서비스 스캔 등을 위하여 구체적인 방송 서비스 정보를 획득하기 위해서는 인터리브드 PLP 파트의 복수의 PLP 들을 모두 디코딩하여야 한다.
도 300의 실시예와 달리 방송 전송 장치는 방송 전송 프레임을 통하여 전송되는 방송 서비스와 방송 서비스에 포함된 컴포넌트에 대한 정보를 포함하는 별도의 파트를 포함하는 방송 전송 프레임을 전송할 수 있다. 이때, 방송 수신 장치(100)는 별도의 파트를 통하여 신속히 방송 서비스와 방송 서비스에 포함된 컴포넌트들에 대한 정보를 획득할 수 있다. 이에 대해서는 도 320을 통해 설명하도록 한다.
도 301은 본 발명의 또 다른 실시예에 따른 방송 전송 프레임을 보여준다.
도 301의 실시예에서 방송 전송 프레임은 P1 파트, L1 파트, 고속 정보 채널(Fast Information Channe, FIC) 파트, 인터리브드 PLP(Scheduled & Interleaved PLP's) 파트 및 보조 데이터(Auxiliary data) 파트를 포함한다.
FIC 파트를 제외한 다른 파트는 도 300의 실시예와 동일하다.
방송 전송 장치는 FIC 파트를 통하여 고속 정보(fast information)를 전송한다. 고속 정보는 전송 프레임을 통해 전송되는 방송 스트림의 구성 정보 (configuration information), 간략한 방송 서비스 정보 및 컴포넌트 정보를 포함할 수 있다. 방송 수신 장치(100)는 FIC 파트에 기초하여 방송 서비스를 스캔할 수 있다. 구체적으로 방송 수신 장치(100)는 FIC 파트로부터 방송 서비스에 대한 정보를 추출할 수 있다. 고속 정보를 링크 레이어 시그널링이라 일컬을 수 있다. 방송 수신 장치(100) 어플리케이션 레이어를 파싱하지 않고, 링크 레이어 만을 파싱하여 방송 서비스 정보 및 컴포넌트 정보를 획득할 수 있기 때문이다.
도 302는 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지 구성을 나타낸다. 구체적으로 도 302는 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지 헤더의 신택스를 나타낼 수 있다. 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지는 시그널링 메시지 헤더와 시그널링 메시지를 포함할 수 있다. 이때 시그널링 메시지는 바이너리 또는 XML 포맷으로 표현될 수 있다. 또한, 서비스 시그널링 메시지는 전송 프로토콜 패킷의 페이로드에 포함될 수 있다.
도 302의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지를 식별하는 식별자 정보를 포함할 수 있다. 예를 들어, 시그널링 메시지가 섹션 형태일 수 있다. 이 경우, 시그널링 메시지의 식별자 정보는 시그널링 테이블 섹션의 식별자(ID)를 나타낼 수 있다. 시그널링 메시지의 식별자 정보를 나타내는 필드는 singnaling_id일 수 있다. 구체적인 실시 예에서 signaling_id 필드는 8비트일 수 있다.
또한, 도 302의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 길이를 나타내는 길이 정보를 포함할 수 있다. 시그널링 메시지의 길이 정보를 나타내는 필드는 signaling_length일 수 있다. 구체적인 실시 예에서 signaling_length 필드는 12비트일 수 있다.
또한, 도 302의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 식별자를 확장하는 식별자 확장 정보를 포함할 수 있다. 이때, 식별자 확장 정보는 시그널링 식별자 정보와 함께 시그널링을 식별하는 정보일 수 있다. 시그널링 메시지의 식별자 확장 정보를 나타내는 필드는 signaling_id_extension일 수 있다.
이때, 식별자 확장 정보는 시그널링 메시지의 프로토콜 버전 정보를 포함할 수 있다. 시그널링 메시지의 프로토콜 버전 정보를 나타내는 필드는 protocol_version일 수 있다. 구체적인 실시 예에서 protocol_version 필드는 8비트일 수 있다.
또한, 도 302의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 버전 정보를 포함할 수 있다. 시그널링 메시지의 버전 정보는 시그널링 메시지가 포함하는 내용이 변경되면 변경될 수 있다. 시그널링 메시지의 버전 정보를 나타내는 필드는 version_number일 수 있다. 구체적인 실시 예에서 version_number 필드는 5비트일 수 있다.
또한, 도 302의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지가 현재 가용한지 여부를 나타내는 정보를 포함할 수 있다. 시그널링 메시지의 가용여부를 나타내는 필드는 current_next_indicator일 수 있다. 구체적인 예를 들면, current_next_indicator 필드가 1인 경우, current_next_indicator 필드는 시그널링 메시지가 이용 가능함을 나타낼 수 있다. 또 다른 예를 들면, current_next_indicator 필드가 0인 경우, current_next_indicator 필드는 시그널링 메시지가 이용 불가하며, 이후 동일한 시그널링 식별자 정보, 시그널링 식별자 확장 정보 또는 프래그멘트 넘버 정보를 포함하는 또 다른 시그널링 메시지가 이용 가능함을 나타낼 수 있다.
또한, 도 302의 실시 예에 따른 시그널링 메시지 헤더는 시그널링 메시지의 프래그멘트(Fragment) 넘버 정보를 포함할 수 있다. 하나의 시그널링 메시지가 복수개의 프래그멘트로 나뉘어져 전송될 수 있다. 따라서, 수신기가 나뉘어진 복수의 프래그멘트를 식별하기 위한 정보가 프래그멘트 넘버 정보일 수 있다. 프래그멘트 넘버 정보를 나타내는 필드는 fragment_number 필드일 수 있다. 구체적인 실시 예에서 fragment_number 필드는 8비트일 수 있다.
또한, 도 302의 실시 예에 따른 시그널링 메시지 헤더는 하나의 시그널링 메시지가 복수개의 프래그멘트로 나뉘어져 전송되는 경우, 마지막 프래그멘트의 넘버 정보를 포함할 수 있다. 예를 들면, 마지막 프래그멘트 넘버에 대한 정보가 3을 나타내는 경우, 시그널링 메시지가 3개로 나뉘어져 전송됨을 나타낼 수 있다. 또한, 3을 나타내는 프래그멘트 넘버를 포함하는 프래그멘트가 시그널링 메시지의 마지막 데이터를 포함함을 나타낼 수 있다. 마지막 프래그멘트의 넘버 정보를 나타내는 필드는 last_fragment_number일 수 있다. 구체적인 실시 예에서 last_fragment_number 필드는 8비트일 수 있다.
도 303는 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다.
일 실시 예에 따른 방송 서비스 시그널링 메시지는 방송 수신 장치(100)가 차세대 방송 시스템에서 방송 서비스 및 컨텐츠 중 적어도 하나를 수신할 수 있도록 하기 위한 방송 서비스 시그널링 방법이다.
도 303의 실시 예에 따른 방송 서비스 시그널링 방법은 도 302에 도시된 시그널링 메시지 구성에 기초할 수 있다. 도 303의 실시 예에 따른 방송 서비스 시그널링 메시지는 서비스 시그널링 채널을 통해 전송될 수 있다. 이때 서비스 시그널링 채널이란 방송 서비스 스캔을 위한 서비스 시그널링 정보를 다른 계층을 거치지 않고 직접 전송하기 위한 물리적 계층 파이프의 일 형태일 수 있다. 구체적인 실시 예에서 서비스 시그널링 채널은 FIC(Fast Information Channel) 및 LLS(Low Layer Signaling) 중 적어도 어느 하나로 지칭될 수 있다. 또한, 도 303의 실시 예에 따른 방송 서비스 시스널링 메시지는 XML의 형태일 수도 있다.
도 303의 실시 예에 따른 서비스 시그널링 메시지는 포함하고 있는 서비스의 수 정보를 포함할 수 있다. 구체적으로 하나의 서비스 시그널링 메시지는 복수의 서비스를 포함할 수 있으며, 포함하고 있는 서비스의 수를 나타내는 정보를 포함할 수 있다. 서비스의 수 정보는 num_services 필드일 수 있다. 구체적인 실시 예에서 num_services 필드는 8비트일 수 있다.
또한, 도 303의 실시 예에 따른 서비스 시그널링 메시지는 서비스에 대한 식별자 정보를 포함할 수 있다. 식별자 정보는 service_id 필드일 수 있다. 구체적인 실시 예에서 service_id필드는 16비트일 수 있다.
또한, 도 303의 실시 예에 따른 서비스 시그널링 메시지는 서비스의 타입 정보를 포함할 수 있다. 서비스 타입 정보는 service_type 필드일 수 있다. 구체적인 실시 예에서 service_type 필드가 0x00 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 scheduled audio service일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x01 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 스케줄드 오디오/비디오 서비스(scheduled audio/video service)일 수 있다. 이때, 스케줄드 오디오/비디오 서비스는 미리 정해진 스케줄에 따라 방송되는 오디오/비디오 서비스일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x02 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 온-디멘드 서비스(on-demand service) 일 수 있다. 이때, 온-디멘드 서비스는 사용자의 요청에 의해 재생되는 오디오/비디오 서비스일 수 있다. 또한, 온-디멘드 서비스는 스케줄드 오디오/비디오 서비스와 반대되는 서비스일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x03 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 앱-베이스드 서비스(app-based service) 일 수 있다. 이때, 앱-베이스드 서비스는 실시간 방송 서비스가 아닌 비 실시간 서비스로서, 어플리케이션을 통해 제공되는 서비스일 수 있다. 앱-베이스드 서비스는 실시간 방송 서비스와 연관된 서비스 및 실시간 방송 서비스와 연관되지 않은 서비스 중 적어도 하나를 포함할 수 있다. 방송 수신 장치(100)는 어플리케이션을 다운로드하여 앱-베이스드 서비스를 제공할 수 있다.
또 다른 실시 예에서 service_type 필드가 0x04 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 권리 발급자 서비스(right issuer service) 일 수 있다. 이때, 권리 발급자 서비스는 서비스를 제공받을 권리를 발급받은 자에게만 제공되는 서비스일 수 있다.
또 다른 실시 예에서 service_type 필드가 0x05 값을 갖는 경우, 시그널링 메시지가 나타내는 서비스 타입은 서비스 가이드 서비스(service guide service) 일 수 있다. 이때 서비스 가이드 서비스는 제공되는 서비스의 정보를 제공하는 서비스일 수 있다. 예를 들면, 제공되는 서비스의 정보는 방송 스케줄일 수 있다.
또한, 도 303의 실시 예에 따른 서비스 시그널링 메시지는 서비스의 이름 정보를 포함할 수 있다. 서비스 이름 정보는 short_service_name 필드일 수 있다.
또한, 도 303의 실시 예에 따른 서비스 시그널링 메시지는 short_service_name 필드의 길이 정보를 포함할 수 있다. short_service_name 필드의 길이 정보는 short_service_name_length 필드일 수 있다.
또한, 도 303의 실시 예에 따른 서비스 시스널링 메시지는 시그널링하는 서비스와 연관된 방송 서비스 채널 넘버 정보를 포함할 수 있다. 연관된 방송 서비스 채널 넘버 정보는 channel_number 필드일 수 있다.
또한, 도 303의 실시 예에 다른 서비스 시그널링 메시지는 이하 설명할 각 전송 모드에 따라 방송 수신 장치가 타임베이스(timebase) 또는 시그널링 메시지를 획득하기 위해 필요한 데이터를 포함할 수 있다. 타임베이스 또는 시그널링 메시지를 획득하기 위한 데이터는 bootstrap() 필드일 수 있다.
상술한 전송 모드는 타임베이스 전송 모드 및 시그널링 전송 모드 중 적어도 하나일 수 있다. 타임베이스 전송 모드는 방송 서비스에서 사용하는 타임라인에 대한 메타데이터를 포함하는 타임베이스에 대한 전송 모드일 수 있다. 타임라인은 미디어 컨텐츠를 위한 일련의 시간 정보이다. 구체적으로 타임라인은 미디어 컨텐츠 재생의 기준이되는 일련의 기준 시간일 수 있다. 타임베이스 전송 모드에 대한 정보는 timebase_transport_mode 필드일 수 있다.
또한, 시그널링 전송 모드는 방송 서비스에서 사용하는 시그널링 메시지를 전송하는 모드일 수 있다. 시그널링 전송 모드에 대한 정보는 signaling_transport_mode 필드일 수 있다. 이하 도 304에서 각 필드가 갖는 값이 의미하는 내용에 대해 상세히 설명한다.
도 304은 본 발명의 일 실시 예에 따른 서비스 시그널링 메시지에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드가 나타내는 값이 의미하는 내용을 나타낸다.
타임베이스 전송 모드는 방송 수신 장치(100)가 방송 서비스의 타임베이스를 동일한 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 304의 실시 예에 따르면, timebase_transport_mode 필드가 0x00의 값을 갖는 경우, timebase_transport_mode 필드는 방송 수신 장치가 방송 서비스의 타임베이스를 동일한 방송 스트림내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다.
또한, 시그널링 전송 모드는 방송 수신 장치(100)가 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 304의 또 다른 실시 예에 따르면, signaling_transport_mode 필드가 0x00의 값을 갖는 경우, signaling_transport_mode 필드는 방송 수신 장치가 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림 내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다. 동일한 방송 스트림이란 방송 수신 장치가 현재 서비스 시그널링 메시지를 수신한 방송 스트림과 동일한 방송 스트림일 수 있다. 또한, IP 데이터그램은 방송 서비스 또는 컨텐츠를 구성하는 컴포넌트를 인터넷 프로토콜에 따라 인캡슐레이션한 일 전송 단위일 수 있다. 이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 305에 도시된 신택스를 따를 수 있다. 도 305에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 305는 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드가 0x00 값을 갖는 경우, bootstrap() 필드의 신택스를 나타낸다.
도 305에 따른 실시 예에서 부트스트랩(bootstrap) 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 IP 주소 형식에 대한 정보를 포함할 수 있다. IP 주소 형식에 대한 정보는 IP_version_flag 필드일 수 있다. IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv4임을 나타낼 수 있다. 일 실시 예에서 IP 주소 형식에 대한 정보가 0인 경우, IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv4임을 나타낼 수 있다. IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv6임을 나타낼 수 있다.또 다른 실시 예에서 IP 주소 형식에 대한 정보가 1인 경우, IP 주소 형식에 대한 정보는 IP 데이터그램의 IP 주소 형식이 IPv6임을 나타낼 수 있다.
도 305에 따른 실시 예에서 부트스트랩(bootstrap) 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부를 나타내는 정보를 포함할 수 있다. 이때 소스 IP 주소는 IP 데이터그램의 발신지(source) 주소일 수 있다. IP 데이터그램이 소스 IP 주소를 포함하는지 여부를 나타내는 정보는 source_IP_address_flag 필드일 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1인 경우, IP 데이터그램이 소스 IP 주소를 포함함을 나타낼 수 있다.
도 305에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램이 목적지(destination) IP 주소를 포함하는지 여부를 나타내는 정보를 포함할 수 있다. 이때 목적지 IP 주소는 IP 데이터그램의 목적지 주소일 수 있다. IP 데이터그램이 목적지 IP 주소를 포함하는지 여부를 나타내는 정보는 destination_IP_address 필드일 수 있다. 일 실시 예에서 destination_IP_address 필드가 1인 경우, IP 데이터그램이 목적지 IP 주소를 포함함을 나타낼 수 있다.
도 305에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 소스 IP 주소 정보를 포함할 수 있다. 소스 IP 주소 정보는 source_IP_address 필드일 수 있다.
도 305에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 목적지 IP 주소 정보를 포함할 수 있다. 목적지 IP 주소 정보는 destination_IP_address 필드일 수 있다.
도 305에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 플로우 포트 개수 정보를 포함할 수 있다. 이때 포트(port)는 IP 데이터그램의 플로우를 수신하기 위한 통로일 수 있다. IP 데이터그램의 UDP(user datagram protocol) 포트 개수를 나타내는 정보는 port_num_count 필드일 수 있다.
도 305에 따른 실시 예에서 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 IP 데이터그램의 UDP(user datagram protocol) 포트 번호를 나타내는 정보를 포함할 수 있다. 사용자 데이터그램 프로토콜(UDP)는 인터넷에서 정보를 주고받을 때, 서로 주고 받는 형식이 아닌 한쪽에서 일방적으로 보내는 방식의 통신 프로토콜이다.
다시 도 304로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 방송 서비스의 타임베이스를 다른 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 304의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x01의 값을 갖는 경우, timebase_transport_mode 필드는 방송 서비스의 타임베이스를 다른 방송 스트림내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다. 다른 방송 스트림은 현재 서비스 시그널링 메시지를 수신한 방송 스트림과 다른 방송 스트림일 수 있다.
또한, 시그널링 전송 모드는 방송 수신 장치(100)가 방송 서비스에 사용하는시그널링 메시지를 다른 방송 스트림내의 IP 데이터그램을 통해 획득하는 모드를 포함할 수 있다. 도 304의 또 다른 실시 예에 따르면, signaling_transport_mode 필드가 0x01의 값을 갖는 경우, signaling_transport_mode 필드는 방송 서비스에 사용하는 시그널링 메시지를 다른 방송 스트림 내의 IP 데이터그램을 통해 획득할 수 있음을 나타낼 수 있다. 이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 306에 도시된 신택스를 따를 수 있다. 도 306에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 306은 본 발명의 일 실시 예에서 timebase_transport_mode 필드 및 signaling_transport_mode 필드가 0x01 값을 갖는 경우, bootstrap() 필드의 신택스를 나타낸다.
도 306의 실시 예에 따른 부트스트랩 데이터는 시그널링 메시지를 전송하는 방송국의 식별자 정보를 포함할 수 있다. 구체적으로, 부트스트램 데이터는 특정 주파수 또는 전송 프레임을 통해 시그널링 메시지를 전송하는 특정 방송국 고유의 식별자 정보를 포함할 수 있다. 방송국의 식별자 정보는 broadcasting_id 필드일 수 있다. 또한, 방송국의 식별자 정보는 방송 서비스를 전송하는 전송 스트림의 식별자 정보일 수 있다.
다시 도 304으로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 세션 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다.
도 304의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x02의 값을 갖는 경우, 방송 서비스의 타임베이스를 동일한 방송 스트림내의 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 세션 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x02의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림 내의 어플리케이션 계층 전송 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 어플리케이션 계층 전송 세션 기반 플로우는 ALC(Asynchronous Layered Coding)/LCT(Layered Coding Transport) 세션 및 FLUTE(File Delivery over Unidirectional Transport) 세션 중 어느 하나일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 307에 도시된 신택스를 따를 수 있다. 도 307에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 307의 실시 예에 따른 부트스트랩 데이터는 타임베이스 또는 시그널링 메시지를 포함하는 어플리케이션 계층 전송 패킷을 전송하는 어플리케이션 계층 전송 세션의 식별자(transport session identifier) 정보를 포함할 수 있다. 이때 전송 패킷을 전송하는 세션은 ALC/LCT 세션 및 FLUTE 세션 중 어느 하나일 수 있다. 어플리케이션 계층 전송 세션의 식별자 정보는 tsi 필드일 수 있다.
다시 도 304로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 다른 방송 스트림내의 세션 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다. 도 57의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x03의 값을 갖는 경우, 방송 서비스의 타임베이스를 다른 방송 스트림내의 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 세션 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x03의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 다른 방송 스트림 내의 어플리케이션 계층 전송 세션 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 어플리케이션 계층 전송 세션 기반 플로우는 ALC(Asynchronous Layered Coding)/LCT(Layered Coding Transport) 세션 및 FLUTE(File Delivery over Unidirectional Transport) 세션 중 적어도 어느 하나일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 308에 도시된 신택스를 따를 수 있다. 도 308에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 308의 실시 예에 따른 부트스트램 데이터는 시그널링 메시지를 전송하는 방송국의 식별자 정보를 포함할 수 있다. 구체적으로, 부트스트랩 데이터는 특정 주파수 또는 전송 프레임을 통해 시그널링 메시지를 전송하는 특정 방송국 고유의 식별자 정보를 포함할 수 있다. 방송국의 식별자 정보는 broadcasting_id 필드일 수 있다. 또한, 방송국의 식별자 정보는 방송 서비스의 전송 스트림의 식별자 정보일 수 있다.
다시 도 304로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 패킷 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다. 도 304의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x04의 값을 갖는 경우, 방송 서비스의 타임베이스를 동일한 방송 스트림내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MPEG 미디어 전송(MPEG Media Tansport, MMT) 패킷 플로우일 수 있다.
이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 동일한 방송 스트림내의 패킷 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x04의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 동일한 방송 스트림 내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MMT 패킷 플로우일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 309에 도시된 신택스를 따를 수 있다. 도 309에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 309의 실시 예에 다른 부트스트램 데이터는 타임베이스 또는 시그널링 메시지를 전송하는 전송 패킷의 식별자 정보를 포함할 수 있다. 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다. 전송 패킷의 식별자 정보는 MPEG-2 전송 스트림의 식별자 정보일 수 있다.
다시 도 304로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 다른 방송 스트림내의 패킷 기반 플로우를 통해 타임베이스를 획득하는 모드를 포함할 수 있다.
도 304의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x05의 값을 갖는 경우, 방송 서비스의 타임베이스를 다른 방송 스트림내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MPEG 미디어 전송 패킷 플로우일 수 있다.
이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 다른 방송 스트림내의 패킷 기반 플로우를 통해 시그널링 메시지를 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x05의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 다른 방송 스트림 내의 패킷 기반 플로우를 통해 획득할 수 있음을 나타낼 수 있다. 이때 패킷 기반 플로우는 MMT 패킷 플로우일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 310에 도시된 신택스를 따를 수 있다. 도 310에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 310의 실시 예에 따른 부트스트램 데이터는 시그널링 메시지를 전송하는 방송국의 식별자 정보를 포함할 수 있다. 구체적으로, 부트스트램 데이터는 특정 주파수 또는 전송 프레임을 통해 시그널링 메시지를 전송하는 특정 방송국 고유의 식별자 정보를 포함할 수 있다. 방송국의 식별자 정보는 broadcasting_id 필드일 수 있다. 또한, 방송국의 식별자 정보는 방송 서비스의 전송 스트림의 식별자 정보일 수 있다.
또한, 도 310의 실시 예에 다른 부트스트램 데이터는 타임베이스 또는 시그널링 메시지를 전송하는 전송 패킷의 식별자 정보를 포함할 수 있다. 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다. 전송 패킷의 식별자 정보는 MPEG-2 전송 스트림의 식별자 정보일 수 있다.
다시 도 304로 돌아온다.
타임베이스 전송 모드는 방송 수신 장치(100)가 타임베이스를 URL을 통해 획득하는 모드를 포함할 수 있다.
도 304의 또 다른 실시 예에 따르면, timebase_transport_mode 필드가 0x06의 값을 갖는 경우, 방송 서비스의 타임베이스를 URL을 통해 획득할 수 있음을 나타낼 수 있다. 이와 더불어, 시그널링 전송 모드는 방송 수신 장치(100)가 시그널링 메시지를 URL을 통해 획득하는 모드를 포함할 수 있다. signaling_transport_mode 필드가 0x06의 값을 갖는 경우, 방송 서비스에 사용하는 시그널링 메시지를 수신할 수 있는 주소를 식별하는 식별자를 통해 획득할 수 있음을 나타낼 수 있다. 이때, 방송 서비스에 사용하는 시그널링 메시지를 수신할 수 있는 주소를 식별하는 식별자는 URL일 수 있다.
이 경우, 타임베이스 및 시그널링 메시지에 대한 bootstrap() 필드는 도 311에 도시된 신택스를 따를 수 있다. 도 311에 도시된 신택스는 XML의 형태로 표현될 수 있다.
도 311의 실시 예에 따른 부트스트랩 데이터는 방송 서비스의 타임베이스 또는 시그널링 메시지를 다운 받을 수 있는 URL에 대한 길이 정보를 포함할 수 있다. URL 길이 정보는 URL_length 필드일 수 있다.
또한, 도 311의 실시 예에 따른 부트스트램 데이터는 방송 서비스의 타임베이스 또는 시그널링 메시지를 다운받을 수 있는 URL의 실제 데이터를 포함할 수 있다. URL의 실제 데이터는 URL_char 필드일 수 있다.
도 312는 도 303 내지 도 311의 실시 예에서 타임베이스 및 서비스 시그널링 메시지를 획득하는 과정을 나타낸다.
도 312에 도시된 바와 같이, 본 발명의 일 실시 예에 따른 방송 수신 장치(100)는 패킷 기반 전송 프로토콜을 통해 타임베이스를 획득할 수 있다. 구체적으로, 방송 수신 장치(100)는 서비스 시그널링 메시지를 이용하여 IP/UDP 플로우를 통해 타임베이스를 획득할 수 있다. 또한, 본 발명의 일 실시 예에 따른 방송 수신 장치(100)는 세션 기반 전송 프로토콜을 통해 서비스 관련 시그널링 메시지를 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 ALC/LCT 전송 세션을 통하여 서비스 관련 시그널링 메시지를 획득할 수 있다.
도 313은 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다. 일 실시 예에 따른 방송 서비스 시그널링 메시지는 방송 수신 장치가 차세대 방송 시스템에서 방송 서비스 및 컨텐츠를 수신할 수 있도록 하기 위한 서비스 시그널링 방법이다. 도 313의 실시 예에 따른 방송 서비스 시그널링 방법은 도 312에 도시된 시그널링 메시지 구성에 기초할 수 있다. 도 313의 실시 예에 따른 방송 서비스 시그널링 메시지는 서비스 시그널링 채널을 통해 전송될 수 있다. 이때 서비스 시그널링 채널이란 방송 서비스 스캔을 위한 서비스 시그널링 정보를 다른 계층을 거치지 않고 직접 전송하기 위한 물리적 계층 파이프의 일 형태일 수 있다.
구체적인 실시 예에서 시그널링 채널은 FIC(Fast Information Channel), LLS(Low Layer Signaling) 및 어플리케이션 계층 전송 세션 중 적어도 어느 하나로 지칭될 수 있다. 또한, 도 313의 실시 예에 따른 방송 서비스 시스널링 메시지는 XML의 형태로 표현될 수도 있다.
도 313의 실시 예에 따른 서비스 시그널링 메시지는 타임베이스를 획득하기 위해 필요한 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타내는 정보를 포함할 수 있다. 이때 타임베이스는 방송 서비스에 사용하는 타임라인에 대한 메타데이터를 포함할 수 있다. 타임라인이란 미디어 컨텐츠를 위한 일련의 시간 정보이다. 타임베이스 획득을 위한 정보의 포함여부를 나타내는 정보는 timeline_transport_flag 필드일 수 있다. 일 실시 예에서 timeline_transport_flag 필드가 1의 값을 갖는 경우, 서비스 시그널링 메시지가 타임베이스 전송을 위한 정보를 포함하고 있음을 나타낼 수 있다.
도 313의 실시 예에 다른 서비스 시그널링 메시지는 이하 설명할 각 전송 모드에 따라 방송 수신 장치가 타임베이스(timebase) 또는 시그널링 메시지를 획득하기 위해 필요한 데이터를 포함할 수 있다. 타임베이스 또는 시그널링 메시지를 획득하기 위한 데이터는 bootstrap_data() 필드일 수 있다.
상술한 전송 모드는 타임베이스 전송 모드 및 시그널링 전송 모드 중 적어도 하나일 수 있다. 타임베이스 전송 모드는 방송 서비스에서 사용하는 타임라인에 대한 메타데이터를 포함하는 타임베이스에 대한 전송 모드일 수 있다. 타임베이스 전송 모드에 대한 정보는 timebase_transport_mode 필드일 수 있다.
또한, 시그널링 전송 모드는 방송 서비스에서 사용하는 시그널링 메시지를 전송하는 모드일 수 있다. 시그널링 전송 모드에 대한 정보는 signaling_transport_mode 필드일 수 있다.
또한, timebase_transport_mode 필드 및 signaling_transport_mode 필드에 따른 bootstrap_data() 필드의 의미는 상술한 내용과 동일할 수 있다.
도 314은 본 발명의 일 실시 예에 따른 차세대 방송 시스템에서 방송 서비스 시그널링 메시지의 구성을 나타낸다. 일 실시 예에 따른 방송 서비스 시그널링 메시지는 방송 수신 장치가 차세대 방송 시스템에서 방송 서비스 및 컨텐츠를 수신할 수 있도록 하기 위한 서비스 시그널링 방법이다. 도 314의 실시 예에 따른 방송 서비스 시그널링 방법은 도 312에 도시된 시그널링 메시지 구성에 기초할 수 있다. 도 314의 실시 예에 따른 방송 서비스 시그널링 메시지는 서비스 시그널링 채널을 통해 전송될 수 있다. 이때 서비스 시그널링 채널이란 방송 서비스 스캔을 위한 서비스 시그널링 정보를 다른 계층을 거치지 않고 직접 전송하기 위한 물리적 계층 파이프의 일 형태일 수 있다. 구체적인 실시 예에서 시그널링 채널은 FIC(Fast Information Channel), LLS(Low Layer Signaling) 및 어플리케이션 계층 전송 세션 중 적어도 어느 하나로 지칭될 수 있다. 또한, 도 314의 실시 예에 따른 방송 서비스 시스널링 메시지는 XML의 형태로 표현될 수도 있다.
도 314의 실시 예에 따른 서비스 시그널링 메시지는 타임베이스를 획득하기 위해 필요한 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타낼 수 있다. 이때 타임베이스는 방송 서비스에 사용하는 타임라인에 대한 메타데이터를 포함할 수 있다. 타임라인이란 미디어 컨텐츠를 위한 일련의 시간 정보이다. 타임베이스 획득을 위한 정보의 포함여부를 나타내는 정보는 timeline_transport_flag 필드일 수 있다. 일 실시 예에서 timeline_transport_flag 필드가 1의 값을 갖는 경우, 서비스 시그널링 메시지가 타임베이스 전송을 위한 정보를 포함하고 있음을 나타낼 수 있다.
또한, 도 314의 실시 예에 따른 서비스 시그널링 메시지는 시그널링 메시지를 획득하기 위해 필요한 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타낼 수 있다. 이때 시그널링 메시지는 방송 서비스에서 사용하는 MPD(media presentation data) 또는 MPD URL과 관련된 시그널링 메시지일 수 있다. 시그널링 메시지 획득을 위한 정보의 포함여부를 나타내는 정보는 MPD_transport_flag 필드일 수 있다. 일 실시 예에서 MPD_transport_flag 필드가 1의 값을 갖는 경우, 서비스 시그널링 메시지가 MPD 또는 MPD URL 관련 시그널링 메시지 전송 관련 정보를 포함하고 있음을 나타낼 수 있다. HTTP를 기반으로 하는 적응형 미디어 스트리밍을 DASH(Dynamic adaptive streaming over HTTP)라고 할 수 있다. 그리고 적응형 미디어 스트리밍에서 방송 서비스 및 컨텐츠를 구성하는 세그먼트를 방송 수신 장치가 획득하기 위한 상세 정보를 MPD라고 할 수 있다. MPD는 XML 형태로 표현될 수 있다. MPD URL 관련 시그널링 메시지는 MPD를 획득할 수 있는 주소 정보를 포함할 수 있다.
또한, 도 314의 실시 예에 따른 서비스 시그널링 메시지는 컴포넌트 데이터에 대한 획득 경로 정보를 서비스 시그널링 메시지가 포함하고 있는지 여부를 나타낼 수 있다. 이때 컴포넌트는 방송 서비스를 제공하기 위한 컨텐츠 데이터에 대한 일 단위일 수 있다. 컴포넌트 데이터에 대한 획득 경로 정보의 포함여부를 나타내는 정보는 component_location_transport_flag 필드일 수 있다. 일 실시 예에서 component_location_transport_flag 필드가 1의 값을 갖는 경우, component_location_transport_flag 필드는 서비스 시그널링 메시지가 컴포넌트 데이터에 대한 획득 경로 정보를 포함하고 있음을 나타낼 수 있다.
또한, 도 314의 실시 예에 따른 서비스 시그널링 메시지는 어플리케이션 관련 시그널링 메시지를 획득하기 위해 필요한 정보를 포함하는지 여부를 나타낼 수 있다. 어플리케이션 관련 시그널링 메시지를 획득하기 위해 필요한 정보의 포함여부를 나타내는 정보는 app_signaling_transport_flag 필드일 수 있다. 일 실시 예에서 app_signaling_transport_flag 필드가 1의 값을 갖는 경우, app_signaling_transport_flag 필드는 서비스 시그널링 메시지가 컴포넌트 데이터에 대한 획득 경로 정보를 포함하고 있음을 나타낼 수 있다.
또한, 도 314의 실시 예에 따른 서비스 시그널링 메시지는 시그널링 메시지 전송 관련 정보를 포함하는지 여부를 나타낼 수 있다. 시그널링 메시지 전송 관련 정보를 포함하는지 여부를 나타내는 정보는 signaling_transport_flag 필드일 수 있다. 일 실시 예에서 signaling_transport_flag 필드가 1의 값을 갖는 경우, signaling_transport_flag 필드는 서비스 시그널링 메시지가 시그널링 메시지 전송 관련 정보를 포함하고 있음을 나타낼 수 있다. 그리고, 서비스 시그널링 메시지가 상술한 MPD 관련 시그널링, 컴포넌트 획득 경로 정보 및 어플리케이션 관련 시그널링 정보를 포함하고 있지 않는 경우, 방송 수신 장치는 시그널링 메시지 전송 경로를 통하여 MPD 관련 시그널링, 컴포넌트 획득 경로 정보 및 어플리케이션 관련 시그널링 정보를 획득할 수 있다.
도 314의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 타임베이스를 전송하는 모드를 나타낼 수 있다. 타임베이스를 전송하는 모드에 대한 정보는 timebase_transport_mode 필드일 수 있다.
도 314의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 MPD 또는 MPD URL 관련 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. MPD 또는 MPD URL 관련 시그널링 메시지를 전송하는 모드에 대한 정보는 MPD_transport_mode 필드일 수 있다.
도 314의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 컴포넌트 데이터의 획득 경로를 포함하는 컴포넌트 로케이션 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. 컴포넌트 데이터의 획득 경로를 포함하는 컴포넌트 로케이션 시그널링 메시지를 전송하는 모드에 대한 정보는 component_location_transport_mode 필드일 수 있다.
도 314의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 어플리케이션 관련 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. 어플리케이션 관련 시그널링 메시지를 전송하는 모드에 대한 정보는 app_signaling_transport_mode 필드일 수 있다.
도 314의 실시 예에 따른 서비스 시그널링 메시지는 방송 서비스에서 사용하는 서비스 관련 시그널링 메시지를 전송하는 모드를 나타낼 수 있다. 서비스 관련 시그널링 메시지를 전송하는 모드에 대한 정보는 signaling_transport_mode 필드일 수 있다.
상술한 timebase_transport_mode 필드, MPD_transport_mode 필드, component_location_transport_mode 필드, app_signaling_transport_mode 필드 및 signaling_transport_mode 필드가 갖는 값에 따른 의미를 이하 도 305를 참고하여 설명한다.
도 315는 도 314에서 설명한 각각의 전송 모드가 갖는 값에 따른 의미를 나타낸다. 도 315 의 X_transport_mode는 timebase_transport_mode, MPD_transport_mode, component_location_transport_mode, app_signaling_transport_mode 및 signaling_transport_mode를 포함할 수 있다. 각각의 전송 모드가 갖는 값에 대한 구체적인 의미는 도 304에서 설명한 내용과 동일하다. 다시 도 314로 돌아온다.
도 314의 실시 예에 따른 서비스 시그널링 메시지는 도 315의 각각의 모드가 갖는 값에 따라 방송 수신 장치가 타임베이스 또는 시그널링 메시지를 획득하기 위해 필요한 정보를 포함할 수 있다. 타임베이스 또는 시그널링 메시지 획득에 필요한 정보는 bootstrap_data() 필드일 수 있다. 구체적으로 bootstrap_data()에 포함된 정보는 상술한 도 305 내지 도 311에서 설명한 내용과 동일하다.
도 316는 차세대 방송 시스템에서 방송 서비스의 컴포넌트 데이터 획득 경로를 시그널링하는 시그널링 메시지의 구성을 나타낸다. 차세대 방송 시스템에서 하나의 방송 서비스는 하나 이상의 컴포넌트로 구성될 수 있다. 도 316의 실시 예예 따른 시그널링 메시지에 기초하여 방송 수신 장치는 방송 스트림에서 컴포넌트 데이터 및 관련 어플리케이션의 획득 경로에 대한 정보를 획득할 수 있다. 이때 도 316의 실시 예에 따른 시그널링 메시지는 XML의 형태로 표현할 수도 있다.
도 316의 실시 예예 따른 시그널링 메시지는 시그널링 메시지가 컴포넌트 로케이션을 시그널링하는 메시지임을 식별하기 위한 정보를 포함할 수 있다. 시그널링 메시지가 컴포넌트 로케이션을 시그널링하는 메시지임을 식별하기 위한 정보는 signaling_id 필드일 수 있다. 구체적인 실시 예에서 signaling_id 필드는 8비트일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 시그널링 메시지가 컴포넌트 로케이션을 시그널링하는 메시지임을 식별하는 확장 정보를 포함할 수 있다. 이때 확장 정보는 컴포넌트 로케이션을 시그널링하는 메시지의 프로토콜 버전을 포함할 수 있다. 확장 정보는 signaling_id_extension 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 컴포넌트 로케이션을 시그널링하는 메시지의 버전 정보를 포함할 수 있다. 이때 버전 정보는 컴포넌트 로케이션을 시그널링하는 메시지의 내용이 변경 되었음을 나타낼 수 있다. 버전 정보는 version_number 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 연관된 방송 서비스의 식별자 정보를 포함할 수 있다. 이때 연관 방송 서비스의 식별자 정보는 service_id 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 방송 서비스와 연관된 컴포넌트의 개수를 포함할 수 있다. 이때 연관된 컴포넌트 개수 정보는 num_component 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 각 컴포넌트의 식별자를 포함할 수 있다. 예를 들어, 컴포넌트 식별자는 MPEG DASH의 MPD@id, period@id 및 representation@id를 조합하여 구성될 수 있다. 이때 각 컴포넌트의 식별자 정보는 component_id 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 component_id 필드의 길이를 포함할 수 있다. 이때 component_id 필드의 길이 정보는 component_id_length 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 획득할 수 있는 주파수를 나타내는 주파수 정보를 포함할 수 있다. 컴포넌트 데이터는 DASH 세그먼트를 포함할 수 있다. 이때 컴포넌트 데이터를 획득할 수 있는 주파수 정보는 frequency_number 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 방송국 고유의 식별자를 포함할 수 있다. 방송국은 특정 주파수 또는 전송되는 전송 프레임을 통해 컴포넌트 데이터를 전송할 수 있다. 이때 방송국 고유의 식별자 정보는 broadcast_id 필드일 수 있다. 또한, broadcast_id 필드는 방송 서비스의 전송 스트림의 식별자를 나타낼 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 전송하는 물리적 계층 파이프의 식별자를 포함할 수 있다. 이때 컴포넌트 데이터를 전송하는 물리적 계층 파이프의 식별자 정보는 datapipe_id 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 IP 주소 형식을 포함할 수 있다. 이때 IP 데이터그램의 IP 주소 형식 정보는 IP_version_flag 필드일 수 있다. 구체적인 실시 예에서 IP_version_flag 필드는 필드 값이 0인 경우 IPv4 형식을, IP_version_flag 필드가 1인 경우 IPv6 형식을 나타낼 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부에 관한 정보 포함할 수 있다. IP 데이터그램이 소스 IP 주소를 포함하는지 여부에 관한 정보는 source_IP_address_flag 필드일 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1의 값을 갖는 경우, IP 데이터그램이 소스 IP 주소를 포함함을 나타낸다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 관한 정보를 포함할 수 있다. IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 관한 정보는 destination_IP_address_flag 필드일 수 있다. 일 실시 예에서 destination_IP_address_flag 필드가 1의 값을 갖는 경우 IP 데이터그램이 목적지 IP 주소를 포함함을 나타낸다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 소스 IP 주소 정보를 포함할 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1의 값을 갖는 경우 시그널링 메시지는 소스 IP 주소 정보를 포함할 수 있다. 소스 IP 주소 정보는 source_IP_address 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 목적지 IP 주소 정보를 포함할 수 있다. 일 실시 예에서 destination_IP_address_flag 필드가 1의 값을 갖는 경우 시그널링 메시지는 목적지 IP 주소 정보를 포함할 수 있다. 목적지 IP 주소 정보는 destination_IP_addres 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 IP 데이터그램의 UDP 포트 번호 정보를 포함할 수 있다. UDP 포트 번호 정보는 UDP_port_num 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 전송 패킷을 전송하는 어플리케이션 계층 전송 세션의 식별자(transport session identifier) 정보를 포 함할 수 있다. 전송 패킷을 전송하는 세션은 ALC/LCT 세션 및 FLUTE 세션 중 적어도 어느 하나일 수 있다. 세션의 식별자 정보는 tsi 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 컴포넌트 데이터를 포함하는 전송 패킷의 식별자 정보를 포함할 수 있다. 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 방송 서비스와 연관된 어플리케이션 시그널링 메시지의 개수를 포함할 수 있다. 이때 방송 서비스는 service_id 필드에 따라 식별된 방송 서비스일 수 있다. 어플리케이션 시그널링 메시지의 개수 정보는 num_app_signaling 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 어플리케이션 시그널링 메시지의 식별자 정보를 포함할 수 있다. 어플리케이션 시그널링 메시지의 식별자 정보는 app_signaling_id 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 app_signaling_id 필드의 길이 정보를 포함할 수 있다. app_signaling_id 필드의 길이 정보는 app_signaling_id_length 필드일 수 있다.
또한, 도 316의 실시 예에 따른 시그널링 메시지는 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터를 포함할 수 있다. 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션 획득을 위한 경로 정보는 app_delivery_info() 필드일 수 있다. 이하 도 317에서 app_delivery_info() 필드의 실시 예를 설명한다.
도 317은 본 발명의 일 실시 예에 따른 app_delevery_info() 필드의 신택스를 나타낸다.
도 317의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터가 다른 방송 스트림을 통해 전송되는지 여부에 관한 정보를 포함할 수 있다. 어플리케이션 또는 연관된 데이터가 다른 방송 스트림을 통해 전송되는지 여부에 관한 정보는 broadcasting_flag 필드일 수 있다.
또한, 도 317의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 IP 주소 형식을 포함할 수 있다. IP 데이터그램의 IP 주소 형식의 정보는 IP_version_flag 필드일 수 있다. 일 실시 예에서 IP_version_flag 필드가 0인 경우 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램은 IPv4 형식을, IP_version_flag 필드가 1인 경우 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램은 IPv6 형식을 사용함을 나타낼 수 있다.
또한, 도 317의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부를 나타낼 수 있다. 이때, 연관된 데이터는 어플리케이션의 실행에 필요한 데이터일 수 있다.
어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 소스 IP 주소를 포함하는지 여부에 대한 정보는 source_IP_address_flag 필드일 수 있다. 일 실시 예에서 source_IP_address_flag 필드가 1인경우, IP 데이터그램이 소스 IP 주소를 포함하고 있음을 나타낼 수 있다.
또한, 도 317의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 관한 정보를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램이 목적지 IP 주소를 포함하는지 여부에 대한 정보는 destination_IP_address_flag 필드일 수 있다. 일 실시 예에서 destination_IP_address_flag 필드가 1인경우, IP 데이터그램이 목적지 IP 주소를 포함하고 있음을 나타낼 수 있다.
또한, 도 317의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 특정 주파수 또는 전송되는 전송 프레임을 통해 어플리케이션 또는 연관된 데이터를 전송하는 방송국 고유의 식별자를 포함할 수 있다.
다시 말해서, 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 방송 서비스 전송 스트림의 식별자를 포함할 수 있다. 특정 주파수 또는 전송되는 전송 프레임을 통해 어플리케이션 또는 연관된 데이터를 전송하는 방송국 고유의 식별자 정보는 broadcast_id 필드일 수 있다. 또한, broadcast_id 필드는 방송 서비스의 전송 스트림의 식별자를 나타낼 수 있다.
또한, 도 317의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 source_IP_address_flag 필드가 1의 값을 갖는 경우, 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 소스 IP 주소를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 소스 IP 주소 정보는 source_IP_address 필드일 수 있다.
또한, 도 317의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 destination_IP_address_flag 필드가 1의 값을 갖는 경우, 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 목적지 IP 주소를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램의 목적지 IP 주소 정보는 destination_IP_address 필드일 수 있다.
또한, 도 317의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 플로우의 포트 개수를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 플로우의 포트 개수 정보는 port_num_count 필드일 수 있다.
또한, 도 317의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 UDP 포트 번호를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 포함하는 IP 데이터그램 UDP 포트 번호 정보는 destination_UDP_port_number 필드일 수 있다.
또한, 도 317의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 전송하는 전송 세션의 식별자를 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 세션은 ALC/LCT 세션 및 FLUTE 세션 중 어느 하나일 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 세션의 식별자 정보는 tsi 필드일 수 있다.
도 318는 본 발명의 또 다른 일 실시 예에 따른 app_delevery_info() 필드의 신택스를 나타낸다.
도 318의 실시 예에 따른 어플리케이션 시그널링 메시지의 식별자와 연관된 시그널링 메시지에 포함된 어플리케이션의 데이터를 획득할 수 있는 경로에 대한 데이터는 어플리케이션 또는 연관된 데이터를 전송하는 전송 패킷의 식별자를 나타낼 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 패킷은 패킷 기반 전송 플로우를 기반으로 하는 프로토콜에 따를 수 있다. 예를 들어 패킷 기반 전송 플로우는 MPEG 미디어 전송 프로토콜(MPEG Media transport protocol)을 포함할 수 있다. 어플리케이션 또는 연관된 데이터를 전송하는 전송 패킷의 식별자 정보는 packet_id 필드일 수 있다.
도 319은 방송 서비스를 구성하는 하나 이상의 컴포넌트 데이터를 획득할 수 있는 경로 정보를 포함하는 컴포넌트 로케이션 시그널링을 나타낸다. 구체적으로 도 319은 방송 서비스를 구성하는 하나 이상의 컴포넌트가 MPEG DASH의 세그먼트로 표현되는 경우, DASH 세그먼트를 포함하는 컴포넌트 데이터를 획득할 수 있는 경로 정보를 나타낸다.
도 320은 도 319의 컴포넌트 로케이션 시그널링의 구성을 나타낸다.
도 320의 실시 예에 따른 컴포넌트 로케이션 시그널링은 방송 서비스와 연관된 MPEG DASH MPD의 식별자 정보를 포함할 수 있다. MPEG DASH MPD의 식별자 정보는 mpdip 필드일 수 있다.
또한, 도 320의 실시 예에 따른 컴포넌트 로케이션 시그널링은 mpdip 필드가 나타내는 MPEG DASH MPD 내의 주기(period) 속성(attributes)의 식별자를 포함할 수 있다. MPEG DASH MPD 내의 주기(period) 속성의 식별자 정보는 periodid 필드일 수 있다.
또한, 도 320의 실시 예에 따른 컴포넌트 로케이션 시그널링은 periodid 필드가 나타내는 주기내의 재생(representation) 속성의 식별자를 포함할 수 있다. 주기내의 재생(representation) 속성의 식별자 정보는 ReptnID 필드일 수 있다.
또한, 도 320의 실시 예에 따른 컴포넌트 로케이션 시그널링은 ReptnID 필드가 나타내는 주기내의 재생 속성에 포함된 DASH 세그먼트를 획득할 수 있는 주파수 넘버를 포함할 수 있다. DASH 세그먼트를 획득할 수 있는 주파수 넘버는 RF 채널 넘버일 수 있다. DASH 세그먼트를 획득할 수 있는 주파수 넘버 정보는 RFChan 필드일 수 있다.
또한, 도 320의 실시 예에 따른 컴포넌트 로케이션 시그널링은 특정 주파수 또는 전송되는 전송 프레임을 통해 DASH 세그먼트를 전송하는 방송국 고유의 식별자를 포함할 수 있다. DASH 세그먼트를 전송하는 방송국 고유의 식별자 정보는 Broadcastingid 필드일 수 있다.
또한, 도 320의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 전달하는 물리적 계층 파이프의 식별자를 포함할 수 있다. 물리적 계층 파이프는 물리적 계층을 통해 전송되는 데이터 파이프일 수 있다. DASH 세그먼트를 전달하는 물리적 계층 파이프의 식별자 정보는 DataPipeId 필드일 수 있다.
또한, 도 320의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 IP 데이터그램의 목적지 IP 주소를 포함할 수 있다. DASH 세그먼트를 포함하는 IP 데이터그램의 목적지 IP 주소 정보는 IPAdd 필드일 수 있다.
또한, 도 320의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 IP 데이터그램의 UDP 포트 번호를 포함할 수 있다. DASH 세그먼트를 포함하는 IP 데이터그램의 UDP 포트 번호 정보는 UDPPort 필드일 수 있다.
또한, 도 320의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 전송 패킷을 전송하는 세션의 식별자(transport session identifier)를 포함할 수 있다. 전송 패킷을 전송하는 세션의 식별자는 ALC/LCT 센션 및 FLUTE 세션 중 적어도 어느 하나일 수 있다. 전송 패킷을 전송하는 세션의 식별자 정보는 TSI 필드일 수 있다.
또한, 도 320의 실시 예에 따른 컴포넌트 로케이션 시그널링은 DASH 세그먼트를 포함하는 전송 패킷의 식별자를 포함할 수 있다. 전송 패킷의 식별자 정보는 PacketId 필드일 수 있다.
도 321은 본 발명의 일 실시 예에 따른 방송 수신 장치의 동작 과정을 나타내는 흐름도이다.
방송 수신 장치의 수신부는 서비스 시그널링 메시지가 포함된 전송 프로토콜 패킷을 수신한다(S2301). 수신부는 인터넷 프로토콜 통신부 및 방송 수신부를 포함할 수 있다. 서비스 시그널링 메시지는 방송 서비스 및 미디어 컨텐츠 중 적어도 하나를 시그널링하기 위한 정보일 수 있다. 일 실시 예에서 전송 프로토콜은 인터넷 프로토콜(IP)일 수 있다. 또한, 일 실시 예에서 서비스 시그널링 메시지는 바이너리 포맷 및 XML 포맷 중 적어도 하나로 표현될 수 있다. 전송 프로토콜 패킷은 시그널링 메시지 헤더 및 시그널링 메시지를 포함할 수 있다.
방송 수신 장치의 제어부는 수신한 전송 프로토콜 패킷으로부터 서비스 시그널링 메시지를 추출한다(S2303). 구체적으로, 전송 프로토콜 패킷을 파싱하여 서비스 시그널링 메시지를 추출할 수 있다. 제어부는 계층화된 전송 프로토콜 패킷으로부터 인터넷 프로토콜 데이터그램을 획득할 수 있다. 획득한 인터넷 프로토콜 데이터그램은 서비스 시그널링 메시지를 포함할 수 있다.
방송 수신 장치의 제어부는 서비스 시그널링 메시지로부터 방송 서비스 제공을 위한 정보를 획득한다(S2305). 방송 서비스 제공을 위한 정보는 서비스 시그널링 메시지의 일부일 수 있다.
일 실시 예에서 방송 서비스를 제공하기 위한 정보는 컨텐츠를 위한 일련의 시간 정보인 타임라인에 대한 메타데이터를 포함하는 타임베이스를 위한 전송 모드정보일 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 적응형 미디어 스트리밍에서 컨텐츠를 구성하는 세그먼트 획득을 위한 상세 정보를 위한 전송 모드 정보일 수 있다. 적응형 미디어 스트리밍에서 컨텐츠를 구성하는 세그먼트 획득을 위한 상세 정보를 MPD(Media Presentation Description)라고 할 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 방송 서비스에서 컨텐츠를 구성하는 컴포넌트 데이터의 획득 경로를 위한 전송 모드 정보일 수 있다. 컴포넌트 데이터는 방송 서비스 또는 컨텐츠를 구성하는 개체일 수 있다. 이때, 컴포넌트 데이터의 획득 경로 정보는 컴포넌트 데이터를 전달하는 물리적 계층 파이프의 식별 정보일 수 있다. 계층화된 전송 프로토콜 패킷은 물리적 계층을 통해 전달되는 물리적 계층 파이프를 포함할 수 있다. 물리적 계층 파이프는 복수개 존재할 수 있다. 따라서, 복수의 물리적 계층 파이프 중 획득하고자하는 컴포넌트 데이터를 포함하는 물리적 계층 파이프를 식별할 필요가 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 방송 서비스에서 사용하는 어플리케이션을 위한 시그널링 메시지를 위한 전송 모드 정보일 수 있다. 이때, 어플리케이션을 위한 시그널링 메시지를 위한 전송 모드 정보는 어플리케이션을 전송하는 방송국의 식별자 정보, 어플리케이션을 포함하는 인터넷 프로토콜 데이터그램의 소스 IP 주소, 어플리케이션을 포함하는 인터넷 프로토콜 데이터그램의 목적지 IP 주소, 상기 어플리케이션을 포함하는 인터넷 프로토콜 데이터그램의 사용자 데이터그램 프로토콜(UDP, User Datagram Protocol)의 포트 번호, 상기 어플리케이션을 전송하는 전송 세션의 식별자 정보 및 상기 어플리케이션을 전송하는 패킷의 식별자 정보 중 적어도 하나일 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 방송 서비스에서 사용하는 서비스를 위한 시그널링 메시지를 위한 전송 모드 정보일 수 있다. 이때 서비스는 하나의 컨텐츠일 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 서비스를 구성하는 컴포넌트 데이터를 위한 전송 모드 정보를 포함한다. 이때, 컴포넌트 데이터를 위한 전송 모드 정보는 비 실시간 서비스 지원을 위한 전송 모드 및 실시간 서비스 지원을 위한 전송 모드 및 패킷 전송을 위한 전송 모드 중 적어도 하나를 나타낼 수 있다.
또 다른 실시 예에서 방송 서비스를 제공하기 위한 정보는 파일 형태의 실시간 서비스 수신을 위한 정보를 포함할 수 있다.
도 322는 본 발명의 일 실시 예에 따른 방송 전송 장치의 동작 과정을 나타내는 흐름도이다.
방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보를 서비스 시그너링 메시지에 삽입한다(S2401). 일 실시 예에서 방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보를 XML 형태로 서비스 시그널링 메시지에 삽입할 수 있다. 또 다른 실시 예에서 방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보를 바이너리 형태로 서비스 시그널링 메시지에 삽입할 수 있다.
방송 전송 장치의 제어부는 방송 서비스 제공을 위한 정보가 삽입된 서비스시그널링 메지시를 전송 프로토콜 패킷에 패킷타이징한다(S2403). 이때 전송 프로토콜은 세션 기반 전송 프로토콜(ALC/LCT, FLUTE) 및 패킷 기반 전송 프로토콜(MPEG-2 TS, MMT) 중 어느 하나일 수 있다.
방송 전송 장치의 전송부는 서비스 시그널링 메시지가 패킷타이징된 전송 프로토콜 패킷을 특정 전송 모드를 통해 방송 수신 장치로 전송한다(S2405). 일 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 사용하는, 컨텐츠를 위한 일련의 시간 정보인 타임라인에 대한 메타데이터를 포함하는 타임베이스를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 적응형 미디어 스트리밍에서 컨텐츠를 구성하는 세그먼트 획득을 위한 상세 정보를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 컨텐츠를 구성하는 컴포넌트 데이터의 획득 경로를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 사용하는 어플리케이션을 위한 시그널링 메시지를 위한 전송 모드일 수 있다. 또 다른 실시 예에서 패킷타이징된 전송 프로토콜 패킷을 전송하는 전송 모드는 방송 서비스에서 사용하는 서비스를 위한 시그널링 메시지를 위한 전송 모드 일 수 있다.
도 323는 앞서 설명한 트리거 신택스에 따른 트리거를 보여준다.
또 다른 구체적인 실시예에서 트리거 신택스는 일정한 시간에 표시되는 타임드 텍스트(timed text)의 형식일 수 있다. 구체적으로 타임드 텍스트는 자막(claosed caption)일 수 있다.
도 324은 본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보의 신택스를 보여준다.
앞서 설명한바와 같이 트리거링 어플리케이션 정보를 TPT라 지칭할 수 있다. 트리거링 어플리케이션 정보는 모든 프로그램 세그먼트 또는 시간에 따른 부분 프로그램 세그먼트에 해당하는 어플리케이션을 시그널링할 수 있다. 이때, 프로그램 세그먼트는 프로그램이 포함하는 시간 구간을 나타낸다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보의 프로토콜 버전을 나태는 프로토콜 버전 정보를 포함할 수 있다. 구체적으로 트리거링 어플리케이션 정보는 프로토콜의 주 버전 정보를 나타내는 메이저 프로토콜 버전 정보와 프로토콜의 부가적인 버전 정보를 나타내는 마이너 프로토콜 버전 정보를 포함할 수 있다. 이때, 메이저 프로토콜 버전 정보 3비트 정수일 수 있다. 방송 수신 장치(100)는 메이저 프로토콜 버전 정보 및 마이너 프로토콜 정보 중 적어도 어느 하나를 지원하지 못하는 경우, 트리거링 어플리케이션 정보를 버릴 수 있다. 메이저 프로토콜 버전 정보는 MajorProtocolVersion으로 지칭될 수 있다. 마이널 프로토콜 버전 정보는 MinorProtocolVersion으로 지칭될 수 있다. 구체적인 실시예에서 메이저 프로토콜 버전 정보는 3비트 엘리먼트일 수 있다. 또한, 마이너 프로토콜 버전 정보는 4비트 엘리먼트일 수 있다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보를 식별하는 식별자를 포함할 수 있다. 구체적으로 트리거링 어플리케이션 정보는 프로그램 세그먼트를 식별하는 식별자일 수 있다. 구체적인 실시예에서 프로그램 세그먼트를 식별하는 식별자는 도메인 네임과 프로그램 아이디를 조합하여 생성된 것일 수 있다. 예컨대, 식별자는 domain_name/program_id일 수 있다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보의 갱신 이력을 나타내기 위한 버전 정보를 포함할 수 있다. 버전 정보는 트리거링 어플리케이션 정보가 변경될 때 마다 그 값이 변경될 수 있다. 방송 수신 장치(100)는 버전 정보에 기초하여 트리거링 어플리케이션 정보가 포함하는 구체적인 정보를 추출할 지 결정할 수 있다. 구체적인 실시예에서 버전 정보는 tptVersion으로 지칭될 수 있다. 구체인 실시예에서 버전 정보는 8 비트 엘리먼트일 수 있다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보의 만료(expiration) 날짜와 시간을 나타내는 만료 시간 정보를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 트리거링 어플리케이션 정보를 저장하고, 만료 시간 정보가 나타내는 만료 날짜와 시간 전까지 트리거링 어플리케이션 정보를 재 사용할 수 있다. 구체적인 실시예에서 만료 시간 정보는 expirationDate라 지칭될 수 있다. 구체적인 실시예에서 만료 시간 정보는 16비트 엘리먼트일 수 있다.
트리거링 어플리케이션 정보는 트리거링 어플리케이션 정보의 업데이트를 체크하는 시간 간격을 나타내는 시간 간격 정보를 포함할 수 있다. 구체적으로 방송 수신 장치는(100)는 시간 간격 정보가 나타내는 시간 간격으로 트리거링 어플리케이션 정보를 업데이트할 수 있다. 구체적인 실시예에서 시간 간격 정보는 updatingTime라 지칭될 수 있다. 구체적인 실시예에서 시간 간격 정보는 16비트 정수일 수 있다.
트리거링 어플리케이션 정보는 어플리케이션을 포함하는 서비스를 식별하는 서비스 식별자를 포함할 수 있다. 구체적인 실시예에서 서비스 식별자는 ATSC 표준에서 정의하는 비실시간(Non-Real-Time, NRT) 서비스의 식별자를 나타낼 수 있다. 구체적인 실시예에서 서비스 식별자는 serviceId로 지칭될 수 있다. 구체적인 실시예에서 서비스 식별자는 16 비트 정수일 수 있다.
트리거링 어플리케이션 정보는 어플리케이션 정보에 포함된 URL의 기본 주소를 나타내는 베이스 URL을 포함할 수 있다. 구체적인 실시예에서 베이스 URL은 baseURL로 지칭될 수 있다.
트리거링 어플리케이션 정보는 어플리케이션 정보에 의해 시그널링되는 어플리케이션을 재생(presentation)하기 위해 필요한 필수적인 성능을 나타내는 성능 정보를 포함할 수 있다. 성능 정보는 ATSC 표준에서 정의하는 Capabilities Descriptor의 정의를 따를 수 있다. 구체적인 실시예에서 성능 정보는 Capabilities라 지칭될 수 있다.
트리거링 어플리케이션 정보는 컨텐츠의 전송과 함께 실시간으로 생성되어 인터넷으로 전송되는 라이브 트리거 정보를 포함할 수 있다. 구체적으로 라이브 트리거 정보는 라이브 트리거를 전송하는 서버의 URL을 포함할 수 있다. 또한, 라이브 트리거 정보는 라이브 트리거가 폴링(polling) 방식에 의해 전송될 경우 폴링 주기(period)를 포함할 수 있다. 구체적인 실시예에서 라이브 트리거 정보는 LiveTrigger로 지칭될 수 있다. 또한, 라이브 트리거를 전송하는 서버의 URL은 URL로 지칭될 수 있다. 또한 폴링 주기는 pollPeriod로 지칭될 수 있다.
트리거링 어플리케이션 정보는 어플리케이션에 관한 정보를 포함할 수 있다. 또한 어플리케이션 정보는 어플리케이션에 관한 구체적인 정보를 하위 엘리먼트로 포함할 수 있다. 구체적인 실시예에서 어플리케이션 정보는 TDO로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션을 식별하는 어플리케이션 식별자를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 식별자는 appID로 지칭될 수 있다. 또한 구체적인 실시예에서 어플리케이션 식별자는 16 비트 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 종류를 나타내는 어플 타입 정보를 포함할 수 있다. 구체적인 실시예에서 어플 타입 정보의 값이 1이면, 어플 타입 정보는 TDO임을 나타낼 수 있다. 구체적인 실시예에서 어플 타입 정보는 appType으로 지칭될 수 있다. 구체적인 실시예에서 어플 타입 정보는 16 비트 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 이름을 나타내는 어플 이름 정보를 포함할 수 있다. 구체적인 실시예에서 어플 이름 정보는 appName라 지칭될 수 있다.
어플리케이션 정보는 어플리케이션을 세계적으로 유일하게 식별하는 글로벌 식별자를 포함할 수 있다. 글로벌 식별자는 해당 트리거링 어플리케이션 정보에서 뿐만아니라 다른 어플리케이션 정보에서도 동일한 어플리케이션을 나타내는 것으로 사용될 수 있다. 구체적인 시실시예에서 글로벌 식별자는 globalID로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션의 갱신 이력을 나타내는 버전 정보인 어플리케이션 버전 정보를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 버전 정보는 appVersion으로 지칭될 수 있다. 구체적인 실시예에서 appVersion은 8 비트 엘리먼트일 수 있다.
어플리케이션 정보는 방송 수신 장치(100)가 어플리케이션을 실행하기 위해 필요한 영구적인(persistent) 저장 공간의 크기를 나타내는 쿠키(cookie) 공간(space) 정보를 포함할 수 있다. 쿠키 공간 정보는 어플리케이션을 실행하기 위해 필요한 저장 공간의 크기를 킬로 바이트 단위로 나타낼 수 있다. 구체적인 실시예에서 쿠기 공간 정보는 cookieSpace로 지칭될 수 있다. 구체적인 실시예에서 쿠키 공간 정보는 8 비트 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 사용 빈도를 나타내는 사용 빈도 정보를 포함할 수 있다. 사용 빈도 정보는 오직 한 번, 매시간, 매일, 매주, 및 매달 중 적어도 어느 하나를 나타낼 수 있다. 구체적인 실시예에서 사용 빈도 정보는 1 이상 16 이하의 값을 가질 수 있다. 구체적인 실시예에서 사용 빈도 정보는 frequencyOfUse로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션의 만료 시간과 날짜를 나타내는 만료 시간 정보를 포함할 수 있다. 구체적인 실시예에서 만료 시간 정보는 expireDate로 지칭될 수 있다.
어플리케이션 정보는 시험 방송을 위한 어플리케이션임을 나타내는 시험 어플리케이션 정보를 포함할 수 있다. 방송 수신 장치(100)는 시험 어플리케이션 정보에 기초하여 시험 방송을 위한 어플리케이션을 무시할 수 있다. 구체적인 실시예에서 시험 어플리케이션 정보는 testTDO로 지칭될 수 있다. 구체적인 실시예에서 시험 어플리케이션 정보는 불리안(Boolean) 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션을 인터넷을 통해 수신할 수 있음을 나타내는 인터넷 가능 정보를 포함할 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 availableInternet으로 지칭될 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 불리안 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션을 방송망을 통해 수신할 수 있음을 나타내는 방송 가능 정보를 포함할 수 있다. 구체적인 실시예에서 방송 가능 정보는 availableBroadcast로 지칭될 수 있다. 구체적인 실시예에서 방송 가능 정보는 불리안 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 일부인 파일을 식별하는 URL 정보를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 정보는 URL로 지칭될 수 있다.
URL 정보는 해당 파일이 엔트리 파일인지 나타내는 엔트리 정보를 포함할 수 있다. 구체적으로 엔트리 파일은 해당 어플리케이션을 실행하기 위해 먼저 실행 되어야 하는 파일을 나타낼 수 있다.
어플리케이션 정보는 어플리케이션을 재생하기 위해서 요구되는 필수 성능 정보를 나타내는 성능 정보를 포함할 수 있다. 구체적인 실시예에서 성능 정보는 Capabilities로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션의 경계(boundary)를 나타내는 어플리케이션 경계 정보를 포함할 수 있다. 구체적인 실시예에서 어플리케이션 경계 정보는 ApplicationBoundary로 지칭될 수 있다.
또한, 어플리케이션 경계 정보는 어플리케이션의 경계를 추가하기 위해 필요한 오리진(origin) URL 정보를 포함할 수 있다. 오리진 URL 정보는 originURL로 지칭될 수 있다.
어플리케이션 정보는 어플리케이션이 사용하는 컨텐츠 아이템에관한 정보를 나타내는 컨텐츠 아이템 정보를 포함할 수 있다. 컨텐츠 아이템 정보는 컨텐츠 아이템에 관한 구체적인 정보를 포함할 수 있다. 구체적인 실시예에서 컨텐츠 아이템 정보는 contentItem으로 지칭될 수 있다.
컨텐츠 아이템은 해당 컨텐츠 아이템의 일부인 파일을 식별하는 URL 정보를 포함할 수 있다. URL 정보는 URL로 지칭될 수 있다.
URL 정보는 해당 파일이 엔트리 컨텐츠 파일인지 나타내는 엔트리 정보를 포함할 수 있다. 구체적으로 엔트리 파일은 해당 컨텐츠 아이템을 실행하기 위해 먼저 실행 되어야 하는 파일을 나타낼 수 있다. 구체적인 실시예에서 엔트리 정보는 entry로 지칭될 수 있다.
컨텐츠 아이템 정보는 해당 컨텐츠 아이템이 업데이트 가능한지 여부를 나타내는 업테이트 정보를 포함할 수 있다. 구체적으로 업데이트 정보는 컨텐트 아이템이 고정된 파일을 포함할 것인지 또는 컨텐트 아이템이 리얼 타임 데이터 피드인지 여부를 나타낸다. 구체적인 실시예에서 업데이트 정보는 updateAvail로 지칭될 수 있다. 업데이트 정보는 불리안 엘리먼트일 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템이 업데이트가 가능한 경우 컨텐츠 아이템이 포함하는 파일의 업데이트 여부를 폴링(polling) 방식으로 확인 하는 경우 폴링 주기(period)를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 폴링 주기에 기초하여 컨텐츠 아이템의 업데이트 여부를 확인할 수 있다. 또한 폴링 주기는 pollPeriod로 지칭될 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템의 크기를 나타내는 크기 정보를 포함할 수 있다. 구체적인 실시예에서 크기 정보는 킬로 바이트 단위로 컨텐츠 아이템의 크기를 나타낼 수 있다. 크기 정보는 size로 지칭될 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템을 인터넷을 통해 수신할 수 있음을 나타내는 인터넷 가능 정보를 포함할 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 availableInternet으로 지칭될 수 있다. 구체적인 실시예에서 인터넷 가능 정보는 불리안 엘리먼트일 수 있다.
컨텐츠 아이템 정보는 컨텐츠 아이템을 방송망을 통해 수신할 수 있음을 나타내는 방송 가능 정보를 포함할 수 있다. 구체적인 실시예에서 방송 가능 정보는 availableBroadcast로 지칭될 수 있다. 구체적인 실시예에서 방송 가능 정보는 불리안 엘리먼트일 수 있다.
어플리케이션 정보는 어플리케이션의 이벤트에 대한 정보를 나타내는 이벤트 정보를 포함할 수 있다. 구체적인 실시예에서 이벤트 정보는 Event로 지칭될 수 있다.
이벤트 정보는 이벤트를 식별하는 이벤트 식별자를 포함할 수 있다. 구체적으로 이벤트 식별자는 해당 어플리케이션 범위에서 이벤트를 유일하게 식별할 수 있다. 구체적인 실시예에서 이벤트 식별자는 eventID로 지칭될 수 있다. 구체적인 실시예에서 이벤트 식별자는 16 비트 엘리먼트일 수 있다.
이벤트 정보는 이벤트의 동작을 지시하는 동작 정보를 포함할 수 있다. 구체적으로 이벤트 정보는 준비(preparing), 실행(execution), 종료(termination or kill), 및/또는 중지(suspending)를 포함할 수 있다. 구체적인 실시예에서 동작 정보는 action으로 지칭될 수 있다.
이벤트 정보는 어플리케이션이 타겟팅하는 타겟 장치를 나타내는 목적지 정보를 포함할 수 있다. 목적지 정보는 어플리케이션이 방송 신호를 수신하는 주(primary) 장치만을 위한 것임을 나타낼 수 있다. 목적지 정보는 어플리케이션이 방송 신호를 수신하는 주(primary) 장치와 연동하는 하나 또는 복수의 연동 장치만을 위한 것임을 나타낼 수 있다. 또한, 목적지 정보는 어플리케이션이 주 장치와 연동 장치 모두를 위한 것임을 나타낼 수 있다. 구체적인 실시예에서 목적지 정보는 destination으로 지칭될 수 있다.
이벤트 정보는 트리거링 어플리케이션 정보 요청을 확산하기 위한 확산 정보를 포함할 수 있다. 구체적으로 방송 수신 장치(100)는 확산 정보에 기초하여 무작위 값을 산출하여 무작위 값만 큼 대기후 트리거링 어플리케이션 정보를 서버에 요청할 수 있다. 구체적으로 방송 수신 장치(100)는 무작위 값에 10ms를 곱한 만큼을 대기한 뒤, 트리거링 어플리케이션 정보를 서버에 요청할 수 있다. 구체적인 실시예에서 확산 정보는 diffusion으로 지칭될 수 있다. 구체적인 실시예에서 확산 정보는 8 비트 엘리먼트일 수 있다.
이벤트 정보는 이벤트와 연관된 데이터를 나타내는 데이터 정보를 포함할 수 있다. 각각의 이벤트는 이벤트와 연관된 데이터 엘리먼트를 가질 수 있다. 구체적인 실시예에서 데이터 정보는 Data로 지칭될 수 있다.
데이터 정보는 데이터를 식별하는 데이터 식별자를 포함할 수 있다. 데이터 식별자는 dataID로 지칭될 수 있다. 데이터 식별자는 16 비트 엘리먼트일 수 있다.
도 325은 본 발명의 일 실시예에 따라 트리거 타입 정보를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
트리거 타입 정보는 어플리케이션을 트리거링하는 트리거의 타입을 지시할 수 있다. 예를 들어, 트리거 타입 정보는 트리거링 어플리케이션 정보(i.e. TPT)의 위치를 시그널링하기 위한 트리거, 어플리케이션의 상태를 시그널링하기 위한 트리거, 어플리케이션의 동작을 시그널링하기 위한 트리거, 및/또는 미디어 시간을 시그널링하기 위한 트리거 중에서 적어도 하나를 포함할 수 있다.
방송 전송 장치(10)는 트리거 타입 정보를 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 스트림 엘리먼트가 포함하는 형식 식별자 엘리먼트는 이벤트가 포함하는 메시지의 형식을 식별하는 정보를 포함할 수 있다. 예를 들어, 형식 식별자 엘리먼트는 Uniform Resource Name(URN) 또는 Uniform Resource Locator(URL)의 신텍스를 사용한 정보를 포함할 수 있다. 또한, MPD의 이벤트 스트림 엘리먼트가 포함하는 벨류 엘리먼트는 이벤트 스트림을 위한 값을 포함할 수 있다. 예를 들어, 벨류 엘리먼트는 어플리케이션을 트리거링하는 트리거의 타입을 지시하는 트리거 타입 정보를 포함할 수 있다. 방송 수신 장치(100)는 MPD의 이벤트 스트림 엘리먼트에 기초하여 트리거 타입 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 MPD의 이벤트 스트림 엘리먼트로부터 형식 식별자 엘리먼트 및/또는 벨류 엘리먼트를 추출하여 트리거 타입 정보를 수신할 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 형식 식별자 필드는 이벤트 메시지 박스의 형식을 식별하는 정보를 포함할 수 있다. 예를 들어, 형식 식별자 필드는 Uniform Resource Name(URN) 또는 Uniform Resource Locator(URL)의 신텍스를 사용한 정보를 포함할 수 있다. 또한, 이벤트 메시지 박스가 포함하는 벨류 필드는 이벤트의 값을 포함할 수 있다. 예를 들어, 벨류 필드는 어플리케이션을 트리거링하는 트리거의 타입을 지시하는 트리거 타입 정보를 포함할 수 있다. 방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 트리거 타입 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스의 형식 식별자 필드 및/또는 벨류 필드를 추출하여 트리거 타입 정보를 수신할 수 있다.
도 326은 본 발명의 일 실시예에 따라 트리거 타입 정보를 보여준다.
트리거 타입 정보는 어플리케이션을 트리거링하는 트리거의 타입을 지시할 수 있다. 예를 들어, 트리거 타입 정보는 트리거링 어플리케이션 정보(i.e. TPT)의 위치를 시그널링하기 위한 트리거, 어플리케이션의 상태를 시그널링하기 위한 트리거, 어플리케이션의 동작을 시그널링하기 위한 트리거, 및/또는 미디어 시간을 시그널링하기 위한 트리거 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 방송 전송 장치(10)는 MPD의 이벤트 스트림 엘리먼트의 벨류 엘리먼트 및/또는 이벤트 메시지 박스의 벨류 필드를 기초로 트리거 타입 정보를 구분하여 방송 수신 장치(100)로 전달할 수 있다. 이하에서는, 벨류 엘리먼트 및/또는 벨류 필드의 값을 벨류 정보로 표현한다. 벨류 정보에 해당하는 값은 변경 및/또는 추가될 수 있다.
예를 들어, 벨류 정보가 "tpt"를 지시하면, 트리거 타입 정보는 트리거링 어플리케이션 정보(i.e. TPT)의 위치를 시그널링하기 위한 트리거를 지시할 수 있다. 트리거링 어플리케이션 정보의 위치는 uniform resource identifier(URI) 형태로 표현될 수 있다. URI는 Uniform Resource Locator(URL) 및/또는 Uniform Resource Name(URN)을 포함할 수 있다. URL은 웹 리소스의 네트워크 위치를 지시하는 정보이다. URN은 특정한 네임스페이스(namespace)의 이름에 의해서 리소스를 식별하는 정보이다. On-line 상의 위치를 나타내는 경우, 트리거링 어플리케이션 정보의 위치는 "http://[domain]/[directory]"와 같이 표현될 수 있다. 또한, Session(e.g. FLUTE session, ROUTE session, ALC/LCT session) 상의 위치를 나타내는 경우, 트리거링 어플리케이션 정보의 위치는 "file://[ip_address]/[path]"와 같이 표현될 수 있다. 즉, 형식 식별자 엘리먼트 및/또는 형식 식별자 필드는 "http://[domain]/[directory]" 및/또는 "file://[ip_address]/[path]"와 같이 표현될 수 있다.
벨류 정보가 "status"를 지시하면, 트리거 타입 정보는 어플리케이션의 상태(또는, 라이프사이클)를 시그널링하기 위한 트리거를 지시할 수 있다. 어플리케이션의 상태는 준비(preparing), 실행(execution), 종료(termination), 및/또는 중지(suspending) 중에서 적어도 하나를 포함할 수 있다.
벨류 정보가 "action"를 지시하면, 트리거 타입 정보는 어플리케이션의 동작을 시그널링하기 위한 트리거를 지시할 수 있다.
벨류 정보가 "mediatime"를 지시하면, 트리거 타입 정보는 미디어 시간을 시그널링하기 위한 트리거를 지시할 수 있다.
도 327은 본 발명의 일 실시예에 따른 트리거링 어플리케이션 정보의 신택스를 보여준다.
본 발명의 일 실시예에 따른 차세대 하이브리드 방송 시스템에서, 방송 전송 장치(10)가 트리거를 이용하여 트리거 타입 정보를 전송하면, 앞서 설명한 바와 같은 트리거링 어플리케이션 정보에서 동작 정보를 생략할 수 있다.
도 328는 본 발명의 일 실시예에 따라 트리거링되는 어플리케이션에 관한 정보의 위치를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 트리거링 어플리케이션 정보의 위치를 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트의 메시지는 트리거링 어플리케이션 정보의 위치를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 트리거링 어플리케이션 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트의 메시지로부터 트리거링 어플리케이션 정보의 위치를 추출하여 트리거링 어플리케이션 정보를 수신할 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 트리거링 어플리케이션 정보의 위치를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 트리거링 어플리케이션 정보를 수신할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 트리거링 어플리케이션 정보의 위치를 추출하여 트리거링 어플리케이션 정보를 수신할 수 있다.
앞서 설명한 바와 같이 트리거링 어플리케이션 정보는 TPT 일 수 있다.
도 329은 본 발명의 일 실시예에 따라 어플리케이션의 상태를 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 어플리케이션의 상태를 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 어플리케이션의 상태를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 어플리케이션 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 상태를 추출하여 어플리케이션의 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 상태를 추출하고, 재생 시작 시간 엘리먼트로부터 이벤트 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 상태를 변경할 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 재생 시작 지연 시간 필드는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 어플리케이션의 상태를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 어플리케이션의 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 상태를 추출하여 어플리케이션의 상태를 변경할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 상태를 추출하고, 재생 시작 시간 지연 필드로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 상태를 변경할 수 있다.
어플리케이션의 상태는 준비(preparing), 실행(execution), 종료(termination), 및 중지(suspending) 중 적어도 어느 하나를 나타낼 수 있다.
앞서 설명한 바와 같이 트리거링 어플리케이션 정보는 TPT 일 수 있다.
도 330은 본 발명의 일 실시예에 따라 어플리케이션의 동작을 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 어플리케이션의 동작(action)을 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 재생 기간 엘리먼트는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간과의 차이를 나타낼 수 있다. 또 다른 구체적인 실시예에서 MPD의 이벤트 엘리먼트가 포함하는 재생 기간 엘리먼트는 트리거링 이벤트의 종료 시간을 나타낼 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 어플리케이션이 수행하는(carry-out) 동작을 나타낼 수 있다. 구체적으로 이벤트 엘리먼트가 포함하는 메시지는 트리거링 되는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거링 이벤트를 식별하는 이벤트의 식별자, 및 데이터를 식별하는 데이터 식별자 중 적어도 어느 하나를 포함할 수 있다. 구체적으로 이벤트 엘리먼트가 포함하는 메시지는 앞서 설명한 트리거 형식일 수 있다. 이때, 이벤트 엘리먼트가 포함하는 메시지는 앞서 설명한 어트리뷰트가 포함하는 트리거링 이벤트의 시작 시간. 트리거링 이벤트의 종료 시간, 및 프로그램 세그먼트를 식별하는 식별자를 포함하지 않을 수 있다. 예컨대, 이벤트 엘리먼트가 포함하는 메시지는 xbc.tv/e12?e=7.5와 같을 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 어플리케이션의 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 동작을 추출하여 어플리케이션의 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 동작을 추출하고, 재생 시작 시간 엘리먼트로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 동작을 수행할 수 있다. 또한, 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 메시지로부터 어플리케이션의 동작을 추출하고, 재생 시작 시간 엘리먼트로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간 이후 트리거링 이벤트의 종료 시간 이전에 어플리케이션의 동작을 수행할 수 있다. 방송 수신 장치(100)는 트리거링 이벤트의 종료 시간 이후에 MPEG-DASH 이벤트 메시지를 수신한 경우 MPEG-DASH의 이벤트 메시지를 무시할 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 재생 시작 지연 시간 필드는 트리거링 이벤트의 시작 시간을 나타낼 수 있다. 또한, MPD의 이벤트 메시지 박스가 포함하는 재생 기간 필드는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간과의 차이를 나타낼 수 있다. 또 다른 구체적인 실시예에서 MPD의 이벤트 메시지 박스가 포함하는 재생 기간 필드는 트리거링 이벤트의 종료 시간을 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 어플리케이션이 수행하는 동작을 나타낼 수 있다. 구체적으로 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 트리거링 되는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거링 이벤트를 식별하는 이벤트의 식별자, 및 데이터를 식별하는 데이터 식별자 중 적어도 어느 하나를 포함할 수 있다. 구체적으로 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 앞서 설명한 트리거 형식일 수 있다. 이때, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 앞서 설명한 어트리뷰트가 포함하는 트리거링 이벤트의 시작 시간. 트리거링 이벤트의 종료 시간, 및 프로그램 세그먼트를 식별하는 식별자를 포함하지 않을 수 있다. 예컨대, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 xbc.tv/e12?e=7.5와 같을 수 있다. 방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 어플리케이션의 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 동작을 추출하여 어플리케이션의 동작을 수행할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 동작를 추출하고, 재생 시작 시간 지연 필드로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간에 어플리케이션의 동작을 수행할 수 있다. 또한, 구체적인 실시예에서 방송 수신 장치(100)는 이벤트 메시지 박스의 메시지 데이터 필드로부터 어플리케이션의 동작을 추출하고재생 시작 시간 지연 필드로부터 트리거링 이벤트의 시작 시간을 추출하여, 트리거링 이벤트의 시작 시간 이후 트리거링 이벤트의 종료 시간 이전에 어플리케이션의 동작을 수행할 수 있다. 방송 수신 장치(100)는 트리거링 이벤트의 종료 시간 이후에 이벤트 메시지 박스를 수신한 경우 이벤트 메시지 박스를 무시할 수 있다.
도 331는 본 발명의 일 실시예에 따라 미디어 시간을 시그널링하기 위한 트리거 속성과 MPD 엘리먼트 및 이벤트 메시지 박스간의 매칭 관계를 보여준다.
방송 전송 장치(10)는 컨텐츠의 미디어 시간을 MPEG-DASH의 이벤트로 전송할 수 있다. 이때, MPD의 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트는 컨텐츠의 미디어 시간을 나타낼 수 있다. 이때, 컨텐츠는 방송 수신 장치(100)가 재생하는 컨텐츠일 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 방송 수신 장치(100)는 이벤트 엘리먼트에 기초하여 컨텐츠의 미디어 시간을 추출할수 있다. 또한, 방송 수신 장치(100)는 컨텐츠의 미디어 시간에 기초하여 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 엘리먼트가 포함하는 재생 시작 시간 엘리먼트로부터 컨텐츠의 미디어 시간을 추출하여, 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다.
또한, MPD의 이벤트 메시지 박스가 포함하는 재생 시작 시간 지연 필드는 컨텐츠의 미디어 시간을 나타낼 수 있다. 이때, 컨텐츠는 방송 수신 장치(100)가 재생하는 컨텐츠일 수 있다. 또한, MPD의 이벤트 엘리먼트가 포함하는 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다.
방송 수신 장치(100)는 이벤트 메시지 박스에 기초하여 컨텐츠의 미디어 시간을 추출할수 있다. 또한, 방송 수신 장치(100)는 컨텐츠의 미디어 시간에 기초하여 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다. 이때, 컨텐츠는 방송 수신 장치(100)가 재생하는 컨텐츠일 수 있다. 구체적으로 방송 수신 장치(100)는 이벤트 메시지 박스가 포함하는 재생 시작 시간 지연 필드로부터 방송 수신 장치(100)가 컨텐츠의 미디어 시간을 추출하여, 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다.
이를 통해 방송 수신 장치(100)는 컨텐츠가 포함하는 미디어 시간 정보를 추출하지 않더라도 컨텐츠와 트리거링 이벤트를 동기화할 수 있다.
도 332은 본 발명의 일 실시예에 따라 모든 트리거 속성을 하나의 이벤트로 시그널링하기 위한 밸류 어트리뷰트의 정의를 보여준다.
트리거를 MPEG-DASH의 이벤트로 전송하기 위해 이벤트 엘리먼트가 트리거가 시그널링하는 정보의 종류를 나타낼 수 있다. 구체적으로 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 트리거링 어플리케이션 정보의 위치를 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 tpt일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 어플리케이션의 상태를 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 status일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 어플리케이션의 동작을 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 action일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 컨텐츠의 미디어 시간을 시그널링함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 mediatime일 수 있다. 또한, 이벤트 스트림 엘리먼트가 포함하는 밸류 어트리뷰트는 이벤트의 메시지가 포함하는 트리거가 포함할 수 있는 모든 정보를 포함함을 나타낼 수 있다. 이때, 밸류 어트리뷰트의 값은 trigger일 수 있다.
또 다른 구체적인 실시예에서 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 트리거링 어플리케이션 정보의 위치를 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 tpt일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 어플리케이션의 상태를 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 status일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 어플리케이션의 동작을 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 action일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 컨텐츠의 미디어 시간을 시그널링함을 나타낼 수 있다. 이때, 밸류 필드의 값은 mediatime일 수 있다. 또한, 이벤트 메시지 박스가 포함하는 밸류 필드는 이벤트 메시지 박스의 데이터 메시지 필드가 포함하는 트리거가 포함할 수 있는 모든 트리거 속성을 포함함을 나타낼 수 있다. 이때, 밸류 필드의 값은 trigger일 수 있다. 이에 대해서는 다음의 도면을 통해 자세히 설명한다.
도 333는 본 발명의 일 실시예에 따라 모든 트리거 속성을 하나의 이벤트로 시그널링하기 위한 이벤트 엘리먼트의 식별자 어트리뷰트와 메시지 어트리뷰트, 및 이벤트 메시지 박스의 식별자 필드와 메시지 데이터 필드의 매칭 관계를 보여준다.
앞서 설명한 바와 같이 하나의 MPEG-DASH의 이벤트로 트리거가 포함할 수 있는 모든 속성을 시그널링할 수 있다.
벨류 정보가 "trigger"를 지시하면, 트리거 타입 정보는 모든 트리거 속성을 하나의 이벤트로 시그널링하는 트리거를 지시할 수 있다.
구체적으로 MPEG-DASH의 이벤트의 메시지는 트리거링되는 어플리케이션을 식별하는 식별자, 트리거링 이벤트를 식별하는 식별자, 데이터를 식별하는 식별자, 트리거링 이벤트의 시작 시간, 및 트리거링 이벤트의 종료 시간 중 적어도 어느 하나를 포함할 수 있다.
이때, 이벤트 엘리먼트의 식별자 어트리뷰트는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 트리거 자체를 포함할 수 있다. 구체적으로 이벤트 엘리먼트가 포함하는 메시지는 앞서 설명한 형식의 트리거를 포함할 수 있다. 또한, 이벤트 엘리먼트가 포함하는 메시지는 타임드 텍스트 형식의 트리거일 수 있다.
또한, 이벤트 메시지 박스의 식별자 필드는 트리거링 어플리케이션 정보를 식별하는 식별자를 나타낼 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 트리거 자체를 포함할 수 있다. 구체적으로 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 앞서 설명한 형식의 트리거를 포함할 수 있다. 또한, 이벤트 메시지 박스가 포함하는 메시지 데이터 필드는 타임드 텍스트 형식의 트리거를 포함할 수 있다.
이를 통해 방송 전송 장치(10)는 하나의 MPEG-DASH 이벤트 메시지를 통해 복수의 트리거 속성을 전송할 수 있다. 방송 수신 장치(100)는 하나의 MPEG-DASH 이벤트 메시지를 통해 복수의 트리거 속성을 획득할 수 있다.
또한, MMT 프로토콜을 통해 트리거를 시그널링할 수 있다. 이에 대해서는 다음의 도면들을 통해 설명한다.
도 334는 본 발명의 일 실시예에 따른 MMT 프로토콜의 패키지의 구조를 보여준다.
앞서 설명한 바와 같이 하이브리드 방송에서 미디어 컨텐츠를 전송하기 위한 프로토콜로써 MMT 프로토콜이 사용될 수 있다. MMT 프로토콜을 통한 미디어 컨텐츠의 전송을 패키지(Package), 어셋(Asset), 미디어 프로세싱 유닛(Media Processing Unit, MPU) 및 재생 정보(Prensentation Information, PI)를 통해 설명한다.
패키지는 MMT 프로토콜이 전송하는 컨텐츠의 논리적 전송 단위이다. 구체적으로 패키지는 PI와 어셋을 포함할 수 있다.
어셋은 패키지가 포함하는 인코딩된 미디어 데이터의 단위이다. 구체적인 실시예에서 어셋은 컨텐츠가 포함하는 오디오 트랙을 나타낼 수 있다. 또한, 어셋은 컨텐츠가 포함하는 비디오 트랙을 나타낼 수 있다. 또한, 어셋은 컨텐츠가 포함하는 자막 트랙을 나타낼 수 있다. 어셋은 어셋을 제공하는 서비스 제공자 어셋은 하나 또는 복수의 MPU를 포함할 수 있다.
MPU는 MMT 포로토콜이 전송하는 컨텐츠의 미디어 처리 단위이다. 구체적으로 MPU는 복수의 액세스 유닛을 포함할 수 있다. 또한, MPU는 MPEG-4 AVC 또는 MPEG-TS와 같은 다른 형식의 데이터를 포함할 수 있다.
PI는 앞서 설명한 미디어 컨텐츠 재생 정보이다. 구체적으로 PI는 어셋을 소비하기 위해 필요한 공간적 정보와 시간적 정보 중 적어도 어느 하나를 포함할 수 있다. 구체적인 실시예에서 PI는 ISO-IEC 23008-1에서 정의하는 구성 정보(Composition Information)일 수 있다.
방송 전송 장치(10)는 패키지를 MMT 프토콜의 전송단위인 MMTP 패킷으로 전송할 수 있다. MMTP 패킷의 페이로드가 포함하는 종류에 대해서는 다음의 도면을 통해 설명한다.
도 335은 본 발명의 일 실시예에 따른 MMTP 패킷의 구조와 MMTP 패킷이 포함하는 데이터의 종류를 보여준다.
본 발명의 일 실시예에 따른 MMTP 패킷은 도 335(a)의 같은 구조를 가질 수 있다. 특히 MMTP 패킷은 타입 필드를 통해 해당 패킷이 포함하는 데이터의 종류를 나타낼 수 있다.
MMTP 패킷은 페이로드에 MPU의 프래그먼트를 포함할 수 있다. 또한, MMTP 패킷은 페이로드에 일반적인 데이터를 나타내는 제너릭 오브젝트(Generic object)를 포함할 수 있다. 구체적으로 일반적 오브젝트는 하나의 완전한 MPU일 수 있다. 또한, 제너릭 오브젝트는 다른 타입의 오브젝트일 수 있다. 또한, MMTP 패킷은 페이로드에 시그널링 메시지를 포함할 수 있다, 구체적으로 MMTP 패킷은 하나 또는 복수의 시그널링 메시지를 포함할 수 있다. 또한 MMTP 패킷은 시그널링 메시지의 프래그먼트를 포함할 수 있다. 시그널링 메시지는 MMT 프로토콜이 전송하는 미디어 컨텐츠를 시그널링하는 시그널링 정보의 단위일 수 있다. MMTP 패킷은 하나의 리패어 심볼을 포함할 수 있다. 구체적인 실시예에서 방송 전송 장치(100)는 MPU의 프래그먼트를 포함하는 MMTP 패킷을 통해 어플리케이션 시그널링 정보를 전송할 수 있다. 구체적으로 방송 전송 장치(100)는 MPU의 프래그먼트를 포함하는 MMTP 패킷을 통해 트리거를 전송할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 336은 본 발명의 일 실시예에 따라 MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 페이로드 헤더의 신택스를 보여준다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MMTP 패킷의 페이로드의 길이 정보를 나타내는 길이 필드를 포함할 수 있다. 구체적인 실시예에서 길이 필드는 length로 지칭될 수 있다. 구체적인 실시예에서 길이 필드는 16 비트 필드이다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MMPT 패킷의 페이로드가 포함하는 MPU 종류를 나타내는 타입 필드를 포함할 수 있다. 구체적으로는 MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드는 미디어 프래그먼트 유닛, MPU 메타데이터, 무비 프래그먼트 메타데이터 중 적어도 어느 하나를 포함할 수 있다. MPU 메타데이터는 ISO BMFF의 ftyp, mmpu, moov, 및 ftyp, mmpu, moov 사이에 포함되는 다른 박스들을 포함할 수 있다. 무비 프래그먼트 메타데이터는 moof 박스와 미디어 데이터가 추출된(excluded) mdat 박스를 포함한다. 미디어 프래그먼트 유닛은 미디어 데이터의 샘플 및 하위(sub) 샘플 중 적어도 어느 하나를 포함할 수 있다. 이때, 미디어 데이터는 정해진 시간에 재생되는 타임드 미디어 데이터 또는 재생되는 시간이 정해지지 않은 논-타임드 미디어 데이터 중 어느 하나일 수 있다. 구체적인 실시예에서 타입 필드는 FT로 지칭될 수 있다. 구체적인 실시예에서 타입 필드는 4 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MPU의 프래그먼트가 타임드 미디어를 포함하는지 나타내는 타임드 플래그를 포함할 수 있다. 구체적으로 타임드 플래그의 값이 1인 경우, 타임드 플래그는 MMTP 패킷이 포함하는 MPU의 프래그먼트는 타임드 미디어를 포함함을 나타낼 수 있다. 구체적인 실시예에서 타임드 플래그는 T로 지칭될 수 있다. 구체적인 실시예에서 타임드 플래그는 1 비트 플래그일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 페이로드에 포함된 데이터 유닛의 프레그먼트 정보를 나타내는 프래그먼트 지시자를 포함할 수 있다. 데이터 유닛은 MMTP 패킷의 페이로드에 포함된 데이터의 단위를 나타낼 수 있다. MMTP 패킷의 페이로드는 하나 또는 복수의 데이터 유닛을 포함할 수 있다. 구체적인 실시예에서 프래그먼트 지시자는 f_i로 지칭될 수 있다. 구체적인 실시예에서 프래그먼트 지시자는 2 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 페이로드에 하나 이상의 데이터 유닛이 포함되어 있음을 나타내는 집합(aggregation) 플래그를 포함할 수 있다. 구체적인 실시예에서 집합 플래그는 A로 지칭될 수 있다. 구체적인 실시예에서 집합 플래그는 1 비트 플래그일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 페이로드에 포함된 동일한 데이터 유닛이 포함하는 프래그먼트의 개수를 나타내는 프래그먼트 카운터 필드를 포함할 수 있다. 집합 플래그가 하나 이상의 데이터 유닛이 페이로드에 포함되어 있음을 나타내는 경우 프래그먼트 카운터 필드의 값은 0일 수 있다. 구체적인 실시예에서 프래그먼트 카운터 필드는 frqg_counter로 지칭될 수 있다. 구체적인 실시예에서 프래그먼트 카운터 필드는 8 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 MPU의 프래그먼트가 포함되는 시퀀스의 번호를 나타내는 MPU 시퀀스 필드를 포함할 수 있다. 구체적인 실시예에서 MPU 시퀀스 필드는 MPU_sequence_number로 지칭될 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 데이터 유닛의 길이를 나타내는 데이터 유닛 길이 필드를 포함할 수 있다. 구체적으로 MMTP 패킷의 페이로드가 하나 또는 복수의 데이터 유닛을 포함하는 경우, MMTP 패킷의 페이로드 헤더는 데이터 유닛의 길이를 나타내는 데이터 유닛 길이 필드를 포함할 수 있다. 구체적인 실시예에서 데이터 유닛 길이 필드는 DU_length 필드로 지칭될 수 있다. 구체적인 실시예에서 데이터 유닛 길이 필드는 16 비트 필드일 수 있다.
MMTP 패킷이 MPU의 프래그먼트를 포함하는 경우, MMTP 패킷의 페이로드 헤더는 데이터 유닛의 헤더를 나타내는 데이터 유닛 헤더 필드를 포함할 수 있다. 데이터 유닛 헤더 필드는 데이터 유닛이 포함하는 데이터의 종류에 따라 형식이 달라질 수 있다. 구체적으로 데이터 유닛 헤더 필드는 앞서 설명한 타입 필드의 값에 따라 형식이 달라질 수 있다. 다음의 도면을 통하여 이러한 페이로드 헤더 신택스를 이용하여 어플리케이션 시그널링 정보를 전송하는 것을 설명한다.
도 337은 본 발명의 일 실시예에 따라 컨텐츠와 MPU를 통해 전송되는 트리거를 동기화하는 것을 보여준다.
방송 전송 장치(10)는 어플리케이션 시그널링 정보를 MPU로 전송함으로써 ISO BMFF의 트랙으로 전송할수 있다. 이를 통해 방송 전송 장치(10)는 어플리케이션 시그널링 정보를 컨텐츠와 프레임 단위로 동기화될 수 있게 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 앞서 설명한 MMTP 패킷의 페이로드 헤더 신택스를 통해 어플리케이션 시그널링 정보를 컨텐츠와 프레임 단위로 동기화될 수 있게 전송할 수 있다. 구체적인 실시예에서 방송 전송 장치(10)는 MPU의 프래그먼트 타입을 미디어 프래그먼트 유닛으로 설정하고. 데이터 유닛 페이로드에 어플리케이션 시그널링 메시지를 삽입하여 전송할 수 있다. 또한, 방송 전송 장치(10)는 타임드 플래그를 타임드 미디어가 전송되는 것으로 설정할 수 있다. 구체적으로 방송 전송 장치(10)는 어플리케이션 시그널링 정보가 트리거와 같이 특정 시간에 전송되어야 하는 경우 타임드 플래그를 타임드 미디어가 전송되는 것으로 설정할 수 있다. 또한, 데이터 유닛이 포함하는 어플리케이션 시그널링 정보가 트리거인 경우, 트리거는 앞서 설명한 형식일 수 있다. 또 다른 구체적인 실시예에서 트리거는 타임드 텍스트 형식일 수 있다. 또한, 트리거는 XML 형식일 수 있다. 또한, 트리거는 트리거링되는 어플리케이션을 식별하는 어플리케이션 식별자를 포함할 수 있다. 또한, 트리거는 트리거링 이벤트를 식별하는 트리거링 이벤트 식별자를 포함할 수 있다. 또한, 트리거는 트리거링되는 어플리케이션의 동작을 나타내는 동작을 포함할 수 있다. 또한, 트리거는 트리거링 이벤트가 필요로하는 데이터를 식별하는 데이터 식별자를 포함할 수 있다. 또한, 트리거는 트리거링 이벤트의 시작 시간을 포함할 수 있다. 또한, 트리거는 트리거링 이벤트의 종료 시간을 포함할 수 있다. 앞서 설명한 바와 같이 방송 수신 장치(10)는 트리거링 이벤트의 시작 시간 이후, 트리거링 이벤트 종료 시간 이전에 동작을 수행할 수 있다. 구체적으로 트리거는 이를 통해 어플리케이션 시그널링 정보는 정해진 시퀀스와 정해진 시간에 재생(presentation)되는 무비 프래그먼트에 동기화될 수 있다. 구체적인 실시예에서 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 무비 프래그먼트의 내부의 미디어 타임을 기준으로 설정할 수 있다. 또한, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 트리거 내부의 상대적 시간으로 설정할 수 있다. 또한, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 아웃 오브 밴드를 통해 제공되는 월-클락에 기반한 시간으로 설정할 수 있다. 예컨대, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 CI가 제공하는 월-클락에 기반한 시간으로 설정할 수 있다. 또한, 방송 전송 장치(10)는 트리거링 이벤트의 시작 시간과 트리거링 이벤트의 종료 시간을 timestamp descriptor()가 제공하는 월-클락에 기반한 시간으로 설정할 수 있다.
도 337의 실시예에서 제1 트리거(trigger 1)는 제1 무비 프래그먼트(Movie Fragment 1)와 동기화된다. 또한, 제2 트리거(trigger 2)는 제2 무비 프래그먼트(Movie Fragment 2)와 동기화된다. 구체적으로 제1 트리거는 앞서 설명한 트리거 형식에따라 트리거링 어플리케이션 정보의 위치를 시그널링하고, 트리거링 이벤트 식별자가 5인 트리거링 이벤트를 어플리케이션 식별자가 7인 어플리케이션에 대해 즉시 실행할 것을 트리거링한다. 또한 제2 트리거는 앞서 설명한 트리거 형식에 따라 트리거링 어플리케이션 정보의 위치를 시그널링하고, 트리거링 이벤트 식별자가 3인 트리거링 이벤트를 어플리케이션 식별자가 8인 어플리케이션에 대해 77ee 부터 80ee 사이에 수행할 것을 트리거링한다.
방송 전송 장치(10)는 MMT 프로토콜의 시그널링 메시지 중 하나로 어플리케이션 시그널링 메시지를 전송할 수 있다. 이에 대해서는 다음의 도면들을 통해 설명한다.
도 338는 본 발명의 또 다른 실시예에 따른 MMT 시그널링 메시지의 신택스를 보여준다.
본 발명의 일 실시예에 따른 MMT 시그널링 메시지는 시그널링 메시지를 식별하는 메시지 식별자를 포함할 수 있다. 구체적인 실시예에서 메시지 식별자는 message_id로 지칭될 수 있다. 구체적인 실시예에서 메시지 식별자는 16 비트 필드일 수 있다.
또한, MMT 시그널링 메시지는 시그널링 메시지의 갱신 이력을 나타내는 버전정보를 포함할 수 있다. 구체적인 실시예에서 버전 정보는 version으로 지칭될 수 있다. 구체적인 실시예에서 버전 정보는 8 비트 필드일 수 있다.
시그널링 메시지는 시그널링 메시지가 포함하는 데이터의 길이를 나타낸는 길이 정보를 포함할 수 있다. 길이 정보는 length라 지칭될 수 있다. 구체적인 실시예에서 길이 정보는 16 비트 필드 또는 32 비트 필드일 수 있다.
시그널링 메시지는 시그널링 메시지의 추후 확장을 확장 정보를 포함할 수 있다. 시그널링 메시지는 다양한 정보를 포함할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 339은 본 발명의 또 다른 실시시예에 따라 MMT 시그널링 메시지를 식별하는 식별자의 값과 MMT 시그널링 메시지가 시그널링하는 데이터의 관계를 보여준다.
구체적으로 시그널링 메시지는 다른 모든 시그널링 테이블의 정보를 나타내는 PA 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0000일 수 있다. 시그널링 메시지는 미디어 컨텐츠 재생 정보를 포함하는 MPI 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0001 내지 0x000F일 수 있다. 시그널링 메시지는 패키지가 포함하는 어셋의 정보를 나타내는 MP 테이블을 포함하는 MPT 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0011 내지 0x001F일 수 있다. 또한, 시그널링 메시지는 동기화 정보를 나타내는 CRI 테이블을 포함하는 CRI 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0200일 수 있다. 시그널링 메시지는 패키지를 소비하기 위해 필요한 장치 성능을 나타내는 DCI 테이블을 포함하는 DCI 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0201일 수 있다. 또한, 시그널링 메시지는 어셋을 수신하기위해 필요한 FEC 정보를 나타내는 AL_FEC 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0202일 수 있다. 또한, 시그널링 메시지는 방송 수신 장치(100)에게 요구되는 메모리와 엔드 투 엔드 전송 딜레이를 나타내는 HRBM 메시지일 수 있다. 이때, 메시지 식별자의 값은 0x0203일 수 있다. 어플리케이션 시그널링 정보를 전송하기 위해 시그널링 메시지는 이러한 종류의 메시지 이외에 어플리케이션 시그널링 정보를 포함하는 어플리케이션 시그널링 메시지일 수 있다. 방송 수신 장치(100)는 앞서 설명한 메시지 식별자에 의해 시그널링 메시지가 포함하는 메시지의 종류를 식별할 수 있다. 이때, 메시지 식별자의 값은 0x8000일 수 있다. 어플리케이션 시그널링 메시지의 형식은 다음의 도면을 통해 설명한다.
도 340은 본 발명의 또 다른 실시예에 따라 어플리케이션 시그널링 정보를 포함하는 시그널링 메시지의 신택스를 보여준다.
본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 메시지는 시그널링 메시지에서 어플리케이션 시그널링 정보를 포함하는 어플리케이션 시그널링 테이블을 포함할 수 있다. 구체적인 실시예에서 시그널링 메시지는 복수의 어플리케이션 시그널링 테이블을 포함할 수 있다.
어플리케이션 시그널링 메시지는 어플리케이션 시그널링 메시지가 포함하는 어플리케이션 테이블의 개수를 나타내는 테이블 개수 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 개수 정보는 number_of_tables로 지칭될 수 있다. 테이블 개수 정보는 8 비트 필드일 수 있다.
어플리케이션 시그널링 메시지는 어플리케이션 시그널링 메시지가 포함하는 어플리케이션 테이블을 식별하는 테이블 식별자 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 식별자 정보는 table_id로 지칭될 수 있다. 테이블 식별자 정보는 8 비트 필드일 수 있다.
어플리케이션 시그널링 메시지는 시그널링 테이블의 갱신 이력을 나타내는 테이블 버전 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 버전 정보는 table_version으로 지칭될 수 있다. 구체적인 실시예에서 테이블 버전 정보는 8비트 필드일 수 있다.
어플리케이션 시그널링 메시지는 시그널링 테이블의 길이를 나타내는 테이블 길이 정보를 포함할 수 있다. 구체적인 실시예에서 테이블 길이 정보는 table_length로 지칭될 수 있다. 구체적인 실시예에서 테이블 길이 정보는 8비트 필드일 수 있다. 어플리케이션 시그널링 테이블의 구체적인 신택스에 대해서는 다음의 도면을 통해 설명한다.
도 341는 본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 정보를 포함하는 어플리케이션 시그널링 테이블의 신택스를 보여준다.
본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블을 식별하는 식별자를 포함할 수 있다. 구체적인 실시예에서 식별자는 table_id로 지칭될 수 있다. 식별자는 8 비트 필드일 수 있다.
어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블의 갱신 이력을 나타내는 버전 정보를 포함할 수 있다. 구체적인 실시예에서 버전 정보는 version으로 지칭될 수 있다. 구체적인 실시예에서 버전 정보는 8 비트 필드일 수 있다.
어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블의 길이를 나타내는 길이 정보를 포함할 수 있다. 구체적인 실시예에서 길이 정보는 length로지칭될 수 있다. 구체적인 실시예에서 길이 정보는 16 비트 필드일 수 있다.
어플리케이션 시그널링 테이블은 어플리케이션 시그널링 테이블이 포함하는 트리거의 종류를 나타내는 트리거 타입 정보를 포함할 수 있다. 시그널링 테이블이 포함하는 트리거의 종류는 다양할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 342는 본 발명의 또 다른 실시예에 따른 어플리케이션 시그널링 테이블이 포함하는 트리거 타입 정보와 트리거가 포함하는 트리거 속성의 관계를 보여준다.
시그널링 테이블이 포함하는 트리거는 트리거링 어플리케이션 정보의 위치를 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 1일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 어플리케이션의 라이프싸이클을 시그널링할 수 있다. 구체적으로 시그널링 테이블이 포함하는 트리거는 어플리케이션의 상태를 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 2일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 어플리케이션의 동작을 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 3일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 컨텐츠의 미디어 시간을 시그널링할 수 있다. 이때, 트리거 타입 정보의 값은 4일 수 있다. 또한, 시그널링 테이블이 포함하는 트리거는 트리거가 포함할 수 있는 모든 정보를 포함할 수 있다. 이때, 트리거 타입 정보의 값은 5일 수 있다. 다시 도 341로 돌아가 설명한다.
구체적인 실시예에서 트리거 타입 정보는 trigger_type으로 지칭될 수 있다. 구체적인 실시예에서 트리거 타입 정보는 8비트 필드일 수 있다.
시그널링 정보 테이블은 트리거를 나타내는 텍스트를 포함할 수 있다. 구체적으로 시그널링 정보 테이블은 트리거가 포함하는 문자를 나타내는 문자 정보를 포함할 수 있다. 구체적인 실시예에서 시그널링 정보 테이블은 복수의 문자 정보를 포함할 수 있다. 구체적인 실시예에서 문자 정보는 URI_character로 지칭될 수 있다. 또한, 트리거의 형식은 앞서 설명한 형식일 수 있다. 구체적인 실시예에서 문자 정보는 8 비트 필드일 수 있다.
다만 도 341과 도 342를 통해 설명한 실시예에서 트리거의 종류를 어플리케이션 시그널링 메시지 테이블 내의 트리거 타입 정보를 통해 나타내었다. 다만, 이러한 경우 방송 수신 장치(100)는 어플리케이션 시그널링 테이블을 파싱해야 트리거의 종류를 인식할 수 있다. 따라서 방송 수신 장치(100)가 필요한 종류의 트리거만을 선별적으로 수신할 수 없는 문제가 있다. 이를 해결하는 방법에 대해서 다음의 도면을 통해 설명한다.
도 343은 본 발명의 또 다른 실시예에 따라 MMT 시그널링 메시지를 식별하는 식별자의 값과 MMT 시그널링 메시지가 시그널링하는 데이터의 관계를 보여준다.
방송 전송 장치(10)는 어플리케이션 시그널링 메시지가 포함하는 트리거의 종류에 기초하여 어플리케이션 시그널링 메시지를 식별하는 메시지 식별자 값을 달리할 수 있다. 구체적으로 방송 전송 장치(10)는 메시지 식별자 값을 트리거의 종류가 트리거링 어플리케이션 정보의 위치를 시그널링하는 트리거인지. 어플리케이션의 라이프싸이클을 시그널링하는 트리거인지, 어플리케이션의 동작을 시그널링하는 트리거인지, 컨텐츠의 미디어 시간을 시그널링하는 트리거인지, 및 트리거가 포함할 수 있는 모든 정보를 포함하는 트리거인지에 따라 다르게 설정할 수 있다. 구체적으로 메시지 식별자의 값이 0x8000 내지 0x8004이면 시그널링 메시지가 어플리케이션 시그널링 메시지임을 나타낼 수 있다. 또한, 구체적인 실시예에서 어플리케이션 시그널링 메시지가 포함하는 트리거가 트리거링 어플리케이션 정보의 위치를 시그널링하는 경우, 메시지 식별자의 값은 0x8000일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 어플리케이션의 라이프싸이클을 시그널링하는 경우, 메시지 식별자의 값은 0x8001일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 어플리케이션의 동작을 시그널링하는 경우, 메시지 식별자의 값은 0x8002일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 컨텐츠의 미디어 시간을 시그널링하는 경우, 메시지 식별자의 값은 0x8003일 수 있다. 또한, 어플리케이션 시그널링 메시지가 포함하는 트리거가 트리거가 포함할 수 있는 모든 정보를 포함하는 경우, 메시지 식별자의 값은 0x8004일 수 있다. 시그널링 메시지의 메시지 식별자가 어플리케이션 시그널링 메시지가 포함하는 트리거의 종류를 나타내므로 어플리케이션 시그널링 테이블은 트리거 타입 정보를 포함하지 않을 수 있다.
도 344의 실시예에 어플리케이션 시그널링 테이블은 앞서 설명한 어플리케이션 시그널링 테이블과 달리 트리거 타입 정보를 포함하지 않는다.
이와 같이 시그널링 메시지가 포함하는 트리거의 종류에 따라 어플리케이션 시그널링 메시지를 식별하는 메시지 식별자의 값을 달리하면, 방송 수신 장치(100)는 어플리케이션 시그널링 메시지가 포함하는 어플리케이션 시그널링 테이블을 파싱하지 않고도 트리거의 종류를 알 수 있다. 따라서 방송 수신 장치(100)는 효율적으로 특정 종류의 트리거를 선별적으로 수신할 수 있다.
방송 전송 장치(10)는 어플리케이션 시그널링 정보를 제너릭 패킷을 통해 전송할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 345은 본 발명의 또 다른 실시예에 따른 MMTP 패킷의 구조를 보여준다.
먼저 MMTP 패킷의 신택스에 대해서 설명한다.
MMTP 패킷은 MMTP 프로토콜의 버전을 나타내는 버전 정보를 포함할 수 있다. 구체적인 실시예에서 버전 정보는 V로 지칭될 수 있다. 구체적인 실시예에서 버전 정보는 2 비트 필드일 수 있다.
MMTP 패킷은 패킷 카운팅 정보의 존재를 나타내는 패킷 카운터 플래그 정보를 포함할 수 있다. 구체적인 실시예에서 패킷 카운터 플래그 정보는 C로 지칭될 수 있다. 구체적인 실시예에서 패킷 카운터 플래그 정보는 1 비트 필드일 수 있다.
MMTP 패킷은 패킷 MMTP 패킷의 에러 방지를 FEC 알고리즘의 형식(scheme)을 나타내는 FEC 타입 정보를 포함할 수 있다. 구체적인 실시예에서 FEC 타입 정보는 FEC로 지칭될 수 있다. 구체적인 실시예에서 FEC 타입 정보는 2 비트 필드일 수 있다.
MMTP 패킷은 헤더 확장 정보의 존재를 나타내는 확장 플래그 정보를 포함할 수 있다. 구체적인 실시예에서 확장 플래그 정보는 X로 지칭될 수 있다. 구체적인 실시예에서 확장 플래그 정보는 1 비트 필드일 수 있다.
MMTP 패킷은 페이로드의 데이터 랜덤 액세스를 위한 RAP(Randon Access Point)을 포함하는지를 나타내는 RAP 플래그 정보를 포함할 수 있다. 구체적인 실시예에서 RAP 플래그 정보는 R로 지칭될 수 있다. 구체적인 실시예에서 RAP 플래그 정보는 1 비트 필드일 수 있다.
MMTP 패킷은 페이로드의 데이터 종류를 나타내는 타입 정보를 포함할 수 있다. 구체적인 실시예에서 타입 정보는 type으로 지칭될 수 있다. 구체적인 실시예에서 타입 정보는 6 비트 필드일 수 있다.
MMTP 패킷은 패킷을 식별하는 식별자를 나타내는 패킷 식별자 정보를 포함할 수 있다. 방송 수신 장치(100)는 패킷 식별자 정보에 기초하여 해당 패킷이 어느 어셋에 포함되는지 판단할 수 있다. 또한, 방송 수신 장치(100) 어셋과 패킷 식별자의 관계는 시그널링 메시지로부터 획득할 수 있다. 패킷 식별자 정보는 해당 전송 세션의 라이프 타임동안 유일한 값을 가질 수 있다. 구체적인 실시예에서 패킷 식별자 정보는 packet_id로 지칭될 수 있다. 구체적인 실시예에서 패킷 식별자 정보는 16 비트 필드일 수 있다.
MMTP 패킷은 패킷 시퀀스의 번호를 나타내는 패킷 시퀀스 번호 정보를 포함할 수 있다. 구체적인 실시예에서 패킷 시퀀스 번호 정보는 packet_sequence_number로 지칭될 수 있다. 구체적인 실시예에서 패킷 시퀀스 번호 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 MMTP 패킷 전송의 타임 인스턴스 값을 특정하는 타임스탬프 정보를 포함할 수 있다. 타임스탬프 정보는 UTC 값에 기초한 것일 수 있다. 또한, 타임스탬프 정보는 MMTP 패킷의 첫 바이트를 전송한 시간을 나타낼 수 있다. 구체적인 실시예에서 타임스탬프 정보는 timestamp로 지칭될 수 있다. 구체적인 실시예에서 타임스탬프 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 전송된 패킷의 카운트를 나타내는 패킷 카운팅 정보를 포함할 수 있다. 구체적인 실시예에서 패킷 카운팅 정보는 packet_counter로 지칭될 수 있다. 구체적인 실시예에서 패킷 카운팅 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 FEC 보호 알고리즘에 따라 필요한 FEC 정보를 포함할 수 있다. 구체적인 실시예에서 FEC 정보는 Sourece_FEC_payload_ID로 지칭될 수 있다. 구체적인 실시예에서 FEC 정보는 32 비트 필드일 수 있다.
MMTP 패킷은 추후 헤더 확장을 위해 예비된(reserved) 헤더 확장 정보를 포함할 수 있다. 구체적인 실시예에서 헤더 확장 정보는 header_extension으로 지칭될 수 있다.
방송 전송 장치(10)는 제너릭 타입의 패킷의 페이로드에 어플리케이션 시그널링 정보를 삽입하여 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 제너릭 타입의 패킷의 페이로드에 어플리케이션 시그널링 정보를 파일 형태로 삽입하여 전송할 수 있다. 이때, 방송 전송 장치(10)는 각각의 파일에 각각 다른 패킷 식별자를 할당할 수 있다. 방송 수신 장치(100)는 제너릭 패킷으로부터 어플리케이션 시그널링 정보를 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 제너릭 패킷으로부터 어플리케이션 시그널링 정보를 포함하는 파일을 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 제너릭 패킷의 패킷 식별자에 기초하여 어플리케이션 시그널링 정보를 포함하는 파일을 추출할 수 있다. 예컨대, 방송 수신 장치(100)는 제너릭 패킷의 패킷 식별자 값에 기초하여 해당 패킷이 필요한 어플리케이션 시그널링 정보를 포함하고 있는지 판단할 수 있다.
방송 전송 장치(10)는 MMTP 패킷의 헤더 확장 정보를 이용하여 어플리케이션 시그널링 정보를 전송할 수 있다. 이에 대해서는 다음의 도면을 통해 설명한다.
도 346은 본 발명의 또 다른 실시예에 따른 MMTP 패킷의 구조와 어플리케이션 시그널링 정보를 전송하기 위한 헤더 확장 필드의 신택스를 보여준다.
방송 전송 장치(10)는 MMTP 패킷의 헤더에 어플리케이션 시그널링 정보를 삽입하여 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 헤더 확장 정보에 어플리케이션 시그널링 정보를 삽입하여 전송할 수 있다.
구체적인 실시예에서 헤더 확장 정보는 헤더 확장 정보가 포함하는 헤더 확장 정보의 종류를 나타내는 헤더 확장 타입 정보를 포함할 수 있다. 이때, 헤더 확장 타입은 헤더 확장 정보가 어플리케이션 시그널링 메시지를 포함함을 나타낼 수 있다. 또 다른 구체적인 실시예에서 헤더 확장 타입 정보는 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보의 종류를 나타낼 수 있다. 이때, 어플리케이션 시그널링 정보의 종류는 앞서 설명한 트리거가 포함하는 속성에 따른 트리거의 종류를 포함할 수 있다. 구체적인 실시예에서 헤더 확장 타입 정보는 type으로 지칭될 수 있다.
구체적인 실시예에서 헤더 확장 정보는 16 비트 필드일 수 있다. 구체적인 실시예에서 헤더 확장 정보는 헤더 확장 정보의 길이를 나타내는 헤더 확장 길이 정보를 포함할 수 있다. 이때, 헤더 확장 길이 정보는 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보의 길이를 나타낼 수 있다. 구체적인 실시예에서 헤더 확장 길이 정보는 length로 지칭될 수 있다. 구체적인 실시예에서 헤더 확장 길이 정보는 16 비트 필드일 수 있다.
구체적인 실시예에서 헤더 확장 정보는 헤더 확장 정보에 포함된 확장 정보를 나타내는 헤더 확장 값을 포함할 수 있다. 이때, 헤더 확장 값은 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보를 나타낼 수 있다. 이때, 어플리케이션 시그널링 정보는 트리거일 수 있다. 또한, 어플리케이션 시그널링 정보의 타입은 스트링 형태의 URI일 수 있다. 또한, 스트링 형태의 URI는 앞서 설명한 스트링 형태의 트리거일 수 있다. 구체적인 실시예에서 헤더 확장 값은 header_extension_value로 지칭될 수 있다.
이에 따라 방송 수신 장치(100)는 헤더 확장 정보로부터 어플리케이션 시그널링 정보를 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 헤더 확장 정보가 포함하는 헤더 확장 타입 정보에 기초하여 어플리케이션 시그널링 정보를 추출할 수 있다. 구체적으로 방송 수신 장치(100)는 헤더 확장 타입 정보에 기초하여 해당 헤더 확장 정보가 어플리케이션 시그널링 정보를 포함하는지 판단할 수 있다. 방송 수신 장치(100)는 해당 헤더 확장 정보가 어플리케이션 시그널링 정보를 포함하는 경우 어플리케이션 시그널링 정보를 추출할 수 있다. 또한, 방송 수신 장치(100)는 헤더 확장 타입 정보에 기초하여 해당 헤더 확장 정보가 포함하는 어플리케이션 시그널링 정보의 종류를 판단할 수 있다. 이에 따라 방송 수신 장치(100)는 어플리케이션 시그널링 정보를 선택적으로 획득할 수 있다.
앞서 설명한 본 발명의 실시예들에 따른 어플리케이션 시그널링 정보의 전송과 수신에 따른 방송 전송 장치(10)와 방송 수신 장치(100)의 동작을 다음의 도면들을 통해 구체적으로 설명한다.
도 347은 본 발명의 실시예들에 따라 방송 전송 장치가 어플리케이션 시그널링 정보에 기초하여 방송 신호를 전송하는 것을 보여준다.
방송 전송 장치(10)는 방송 서비스가 포함하는 어플리케이션에 대한 정보를 획득한다(S2501). 구체적으로 방송 전송 장치(10)는 제어부를 통하여 방송 서비스가 포함하는 어플리케이션에 대한 정보를 획득할 수 있다.
방송 전송 장치(10)는 어플리케이션에 대한 정보에 기초하여 어플리케이션 시그널링 정보를 생성한다(S2503). 구체적으로 방송 전송 장치(10)는 제어부를 통하여 어플리케이션에 대한 정보에 기초하여 어플리케이션 시그널링 정보를 생성할 수 있다. 이때, 어플리케이션 시그널링 정보는 앞서 설명한 바와 같이 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보 중 적어도 어느 하나를 포함할 수 있다.
방송 전송 장치(10)는 어플리케이션 시그널링 정보에 기초하여 방송 신호를 전송한다(S2505). 구체적으로 방송 전송 장치(10)는 전송부를 통하여 어플리케이션 시그널링 정보에 기초하여 방송 신호를 전송할 수 있다. 구체적으로 앞서 설명한 바와 같이 방송 전송 장치(10)는 MPEG-DASH 프로토콜을 이용하여 어플리케이션 시그널링 정보를 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 MPEG-DASH의 MPD의 이벤트 스트림으로 어플리케이션 시그널링 정보를 전송할 수 있다. 또한, 방송 전송 장치(10)는 인밴드 이벤트 스트림으로 어플리케이션 시그널링 정보를 전송할 수 있다. 예컨대, 방송 전송 장치(10)는 이벤트 메시지 박스를 통해 어플리케이션 시그널링 정보를 전송할 수 있다. 또 다른 구체적인 실시예에서 방송 전송 장치(10)는 MMT 프로토콜을 이용하여 어플리케이션 시그널링 정보를 전송할 수 있다. 구체적으로 방송 전송 장치(10)는 MMT 프로토콜의 MPU를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다. 또한, 방송 전송 장치(10)는 MMT 프로토콜의 제너릭 오브젝트를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다. 또한, 방송 전송 장치(10)는 MMT 프로토콜의 시그널링 메시지를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다. 또한, 방송 전송 장치(10)는 MMT 프로토콜의 패킷의 헤더 확장 정보에 기초하여 어플리케이션 시그널링 메시지를 전송할 수 있다.
도 348는 본 발명의 실시예들에 따라 방송 수신 장치가 방송 신호에 기초하여 어플리케이션 시그널링 정보를 획득하는 것을 보여준다.
방송 수신 장치(100)는 방송 신호를 수신한다(S2601). 구체적으로 방송 수신 장치(100)는 방송 수신부(110)를 통하여 방송 신호를 수신할 수 있다.
방송 수신 장치(100)는 방송 신호에 기초하여 어플리케이션 시그널링 정보를 획득한다(S2603). 구체적으로 방송 수신 장치(100)는 제어부(150)를 통하여 방송 신호에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 구체적으로 앞서 설명한 바와 같이 방송 수신 장치(100)는 MPEG-DASH 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 MPEG-DASH의 MPD의 이벤트 스트림에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 또한, 방송 수신 장치(100)는 인밴드 이벤트 스트림에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 예컨대, 방송 수신 장치(100)는 이벤트 메시지 박스로부터 어플리케이션 시그널링 정보를 전송할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 MMT 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 MMT 프로토콜의 MPU를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 또한, 방송 수신 장치(100)는 MMT 프로토콜의 제너릭 오브젝트를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 또한, 방송 수신 장치(100)는 MMT 프로토콜의 시그널링 메시지를 포함하는 패킷 형태에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 또한, 방송 수신 장치(100)는 MMT 프로토콜의 패킷의 헤더 확장 정보에 기초하여 어플리케이션 시그널링 메시지를 획득할 수 있다. 어플리케이션 시그널링 정보는 앞서 설명한 바와 같이 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보 중 적어도 어느 하나를 포함할 수 있다.
방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 어플리케이션을 동작한다(S2605). 구체적으로 방송 수신 장치(100)는 제어부를 통하여 어플리케이션 시그널링 정보에 기초하여 어플리케이션을 동작할 수 있다. 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 어플리케이션의 상태를 변경할 수 있다. 구체적으로 방송 수신 장치(100)는 트리거링 이벤트 시작 시간에 어플리케이션 시그널링 정보에 기초하여 어플리케이션의 상태를 변경할 수 있다. 또한, 방송 수신 장치(100)는 트리거링 이벤트 시작 시간이후 트리거링 이벤트 종료 시간 이전에 어플리케이션 시그널링 정보에 기초하여 어플리케이션의 상태를 변경할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 어플리케이션에게 트리거링되는 동작을 수행할 수 있다. 구체적으로 방송 수신 장치(100)는 트리거링 이벤트 시작 시간에 어플리케이션 시그널링 정보에 기초하여 어플리케이션에게 트리거링되는 동작을 수행할 수 있다. 또한, 방송 수신 장치(100)는 트리거링 이벤트 시작 시간이후 트리거링 이벤트 종료 시간 이전에 어플리케이션 시그널링 정보에 기초하여 어플리케이션에게 트리거링되는 동작을 수행할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 트리거링 어플리케이션 정보를 수신할 수 있다. 또 다른 구체적인 실시예에서 방송 수신 장치(100)는 어플리케이션 시그널링 정보에 기초하여 컨텐츠의 미디어 시간을 획득할 수 있다. 구체적으로 방송 수신 장치(100)는 재생하는 컨텐츠의 미디어 시간을 획득할 수 있다. 또한, 방송 수신 장치(100)는 미디어 시간을 획득하여 컨텐츠의 미디어 시간에 기초하여 트리거링 이벤트와 컨텐츠간의 동기화 기준이되는 타임라인을 생성할 수 있다.
이러한 동작 방법을 통해 방송 전송 장치(10)는 효율적으로 어플리케이션 시그널링 정보를 전송할 수 있다. 특히, 방송 전송 장치(10)는 MPEG-DASH 프로토콜 또는 MMT 프로토콜을 통해 어플리케이션 시그널링 정보를 전송할 수 있다. 또한, 방송 수신 장치(100)는 효율적으로 어플리케이션 시그널링 정보를 수신할 수 있다. 특히, 방송 전송 장치(10)는 MPEG-DASH 프로토콜 또는 MMT 프로토콜을 통해 어플리케이션 시그널링 정보를 전송할 수 있다.
도 349는 본 발명의 일 실시예에 따른 이벤트 정보를 나타내는 도면이다.
본 발명의 일 실시예에 따르면, 제1 수신기가 방송망 및/또는 인터넷망을 통하여 시그널링 정보를 수신할 수 있다. 구체적으로, 제1 수신기는 트리거 및/또는 트리거링 어플리케이션 정보(e.g TPT)를 포함하는 어플리케이션 시그널링 정보를 수신할 수 있다. 또한, 제1 수신기는 트리거링 어플리케이션 정보에 포함된 이벤트 정보를 제1 수신기에 포함된 저장부(또는, primary device storage)에 저장할 수 있다.
또한 본 발명의 일 실시예에 따르면, 제1 수신기는 시그널링 정보를 제2 수신기로 전달할 수 있다. 구체적으로, 제1 수신기는 어플리케이션 시그널링 정보를 제2 수신기(e.g. 컴패니언 디바이스)로 전달할 수 있다.
예를 들어, 시그널링 정보는 어플리케이션 시그널링 정보를 포함할 수 있다. 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보 중 적어도 어느 하나를 포함할 수 있다.
트리거는 어플리케이션의 상태(또는, 라이프 사이클)를 시그널링하기 위한 트리거, 어플리케이션의 동작을 시그널링하기 위한 트리거, 및/또는 미디어 시간을 시그널링하기 위한 트리거 중에서 적어도 하나를 포함할 수 있다. 어플리케이션의 상태는 준비(preparing), 실행(execution), 종료(termination), 및/또는 중지(suspending) 중에서 적어도 하나를 포함할 수 있다.
트리거링 어플리케이션 정보는 어플리케이션을 실행하는데 필요한 부가 정보를 포함할 수 있다.
본 발명의 일 실시예에 따르면, 트리거링 어플리케이션 정보는 어플리케이션 정보(TDO)를 포함할 수 있다. 또한, 어플리케이션 정보는 어플리케이션의 이벤트에 대한 정보를 나타내는 이벤트 정보를 포함할 수 있다. 구체적인 실시예에서 이벤트 정보는 Event로 지칭될 수 있다.
이벤트 정보는 이벤트를 식별하는 이벤트 식별자를 포함할 수 있다. 구체적으로 이벤트 식별자는 해당 어플리케이션 범위에서 이벤트를 유일하게 식별할 수 있다. 구체적인 실시예에서 이벤트 식별자는 eventID로 지칭될 수 있다. 구체적인 실시예에서 이벤트 식별자는 16 비트 엘리먼트일 수 있다.
이벤트 정보는 이벤트의 동작을 지시하는 동작 정보를 포함할 수 있다. 구체적으로 이벤트 정보는 준비(preparing), 실행(execution), 종료(termination or kill), 및/또는 중지(suspending)를 포함할 수 있다. 구체적인 실시예에서 동작 정보는 action으로 지칭될 수 있다.
이벤트 정보는 어플리케이션이 타겟팅하는 타겟 장치를 나타내는 목적지 정보를 포함할 수 있다. 목적지 정보는 어플리케이션이 방송 신호를 수신하는 제1 수신기(또는, primary device)만을 위한 것임을 나타낼 수 있다. 목적지 정보는 어플리케이션이 방송 신호를 수신하는 제1 수신기(또는, primary device)와 연동하는 하나 또는 복수의 제2 수신기(또는, companion device)만을 위한 것임을 나타낼 수 있다. 또한, 목적지 정보는 어플리케이션이 제1 수신기와 제2 수신기 모두를 위한 것임을 나타낼 수 있다. 구체적인 실시예에서 목적지 정보는 destination으로 지칭될 수 있다.
이벤트 정보는 트리거링 어플리케이션 정보 요청을 확산하기 위한 확산 정보를 포함할 수 있다. 구체적으로 제1 수신기는 확산 정보에 기초하여 무작위 값을 산출하여 무작위 값만 큼 대기후 트리거링 어플리케이션 정보를 서버에 요청할 수 있다. 구체적으로 수신기는 무작위 값에 10ms를 곱한 만큼을 대기한 뒤, 트리거링 어플리케이션 정보를 서버에 요청할 수 있다. 구체적인 실시예에서 확산 정보는 diffusion으로 지칭될 수 있다. 구체적인 실시예에서 확산 정보는 8 비트 엘리먼트일 수 있다.
이벤트 정보는 이벤트와 연관된 데이터를 나타내는 데이터 정보를 포함할 수 있다. 각각의 이벤트는 이벤트와 연관된 데이터 엘리먼트를 가질 수 있다. 구체적인 실시예에서 데이터 정보는 Data로 지칭될 수 있다.
데이터 정보는 데이터를 식별하는 데이터 식별자를 포함할 수 있다. 데이터 식별자는 dataID로 지칭될 수 있다. 데이터 식별자는 16 비트 엘리먼트일 수 있다.
도 350은 본 발명의 일 실시예에 따른 이벤트 정보의 XML 포멧을 나타낸 도면이다.
도면을 참조하면, 본 발명의 일 실시예에 따른 제1 수신기가 수신한 트리거링 어플리케이션 정보의 XML 포멧이 나타나 있다. 이하에서는, 트리거링 어플리케이션 정보에 포함된 이벤트 정보에 대하여 설명한다.
어플리케이션 정보는 제1 이벤트 정보 및/또는 제2 이벤트 정보를 포함할 수 있다.
제1 이벤트 정보는 eventID, action, destination, 및/또는 dataID를 포함할 수 있다. eventID는 "1"을 지시한다. Action은 "exec"을 지시한다. Destination은 "2"를 지시한다. Diffusion은 "5"를 지한다. dataID는 "10"을 지시한다. Data는 "AAAAZg=="를 지시할 수 있다.
제2 이벤트 정보는 eventID, action, destination, 및/또는 dataID를 포함할 수 있다. eventID는 "2"를 지시한다. Action은 "kill"를 지시한다. Destination은 "2"를 지시한다. Diffusion은 "5"를 지시한다. dataID는 "11"를 지시한다. Data는 "YTM0NZomIzI2OTsmIzM0NTueYQ=="를 지시할 수 있다.
도 351은 본 발명의 일 실시예에 따른 UPnP Action Mechanism을 나타낸 도면이다.
도면을 참고하면, 본 발명의 실시예에서 적용된 기기간 communication의 한가지 방안인 UPnP 방식은, 다양한 layer의 기술중에서, IP-TCP/UDP-HTTP의 protocol이 조합된 기기간 communication protocol이다.
본 발명의 일 실시예에 따른 layer의 기술을 설명한다.
첫째, 본 발명의 일 실시예에서는 기기간 communication을 message, command, call, action, 및/또는 request/response을 교환한다고 표현할 수 있다.
둘째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message를 원하는 대상 기기에 안정적으로 전달하기 위해, IP (Internet Protocol) 뿐만 아니라, ICMP (Internet Control Message Protocol), IGMP (Internet Group Management Protocol) 등의 다양한 protocol을 적용할 수 있으며 특정 protocol에 국한하여 적용하지 않는다.
셋째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message를 안정적으로 전달하고, message flow를 제어하고, 복수의 message간의 충돌이나 congestion을 해결하고, multiplexing을 지원하기 위해, TCP (Transmission Control Protocol), UDP (User Datagram Protocol) 뿐만 아니라 DCCP (Datagram Congestion Control Protocol), SCTP (Stream Control Transmission Protocol) 등의 다양한 protocol을 적용할 수 있으며 특정 protocol에 국한하여 적용하지 않는다.
넷째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message에 다양한 정보를 담아서 다양한 목적으로 전달하기 위해, HTTP (Hypertext Transfer Protocol), RTP (Real-time Transport Protocol), XMPP (Extensible Messaging and Presence Protocol), FTP (File Transfer Protocol) 등의 다양한 protocol을 적용할 수 있으며 특정 protocol에 국한하여 적용하지 않는다.
다섯째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message를 상기의 다양한 protocol을 통해 전달할 때, 각 protocol에서 정의하는 message components 중 message header, message body 등 다양한 message component에 원하는 message data를 넣어서 전달할 수 있으며 특정 message component에 국한하여 적용하지 않는다.
여섯째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message를 상기의 다양한 protocol을 통해 전달할 때, 전달할 data를 각 protocol에서 정의하는 다양한 type으로 (string, integer, floating point, boolean, character, array, list 등) 전달할 수 있다. 복잡한 내용의 data를 더 구조적으로으로 표현하고, 전달하고, 저장하기 위해 XML (Extensible Markup Language), HTML (Hypertext Markup Language), XHTML (Extensible Hypertext Markup Language), JSON (JavaScript Object Notation) 등의 Markup 방식 혹은 text, image format 등을 적용할 수 있으며 특정 방식에 국한하여 적용하지 않는다.
일곱번째, 본 발명의 일 실시예에서는 기기간 communication시 사용되는 message에 포함되는 data를, "gzip" (RFC 1952), "deflate" (RFC 1950), "compress" (RFC 2616) 등의 다양한 data 압축기술을 적용하여 전달할 수 있으며 특정 박식에 국한하여 적용하지 않는다.
본 발명의 일 실시예에서 제안하는 UPnP action은 기기간 communication의 다양한 방식의 예 중 하나로서, UPnP Discovery 및 Description 과정에서 획득한 Control URL로, HTTP에서 정의한 POST method를 사용하여, 실제 전달하고자 하는 data를 HTTP POST message body에 XML의 형태로 전달한다. UPnP protocol의 경우 각 action에 대하여 action name을 정의하여 사용하고, XML 형태로 전달되는 HTTP POST message body에 action name도 함께 전달되기 때문에, communication 대상 기기에 대한 URL이 하나만 존재하고, HTTP POST method 하나만 사용해도 무한한 종류의 action (message)의 교환이 가능하다.
본 발명의 일 실시예에서 제안하는 모든 UPnP action은 상기의 다양한 layer의 기술의 다양한 형태의 조합을 통해 적용될 수 있으며, 본 발명의 일 실시예에서 제안하는 모든 내용은 UPnP 방식에 국한되어 적용되지 않는다
도 352은 본 발명의 일 실시예에 따른 REST Mechanism을 나타낸 도면이다.
도면을 참고하면, 본 발명의 실시예에서 적용된 기기간 communication의 한가지 방안인 REST 방식은 communication 대상 기기에 접근할 복수의 URI를 정의할 수 있다.
예를들어, 본 발명의 일 실시예에서 제안하는 기기간 communication은, HTTP method 중 POST 뿐만 아니라, GET, HEAD, PUT, DELETE, TRACE, OPTIONS, CONNECT, PATCH 등의 여러 methods를 활용하고, communication 대상 기기에 접근할 복수의 URI를 정의하면, action name의 정의없이도 적용될 수 있다. 전달이 필요한 data는 해당 URI에 append하여 전달될 수 있고 혹은 HTTP body에 다양한 형태로 포함되어 전달될 수 있다. 이러한 REST방식에 필요한 복수의 URI값은 discovery 혹은 description 과정에서 획득될 수 있다.
도 353은 본 발명의 일 실시예에 따른 트리거의 전달을 위한 state variable들을 나타낸 도면이다.
본 발명의 일 실시예에 따른 송수신 시스템은, 제1 수신기(또는, primary device)를 이용하여 시그널링 정보를 수신하고, 시그널링 정보를 기초로 제2 수신기에서 이벤트를 실행할 수 있다.
예를 들어, 제1 수신기는 시그널링 정보를 수신할 수 있다. 제1 수신기는 방송망을 통하여 시그널링 정보를 수신할 수 있다. 시그널링 정보는 어플리케이션 시그널링 정보를 포함할 수 있다. 어플리케이션 시그널링 정보는 트리거 및/또는 트리거링 어플리케이션 정보를 포함할 수 있다. 트리거링 어플리케이션 정보는 이벤트 정보를 포함할 수 있다. 이벤트 정보는 destination 정보를 포함할 수 있다. 일 실시예로, destination는 "2"를 지시할 수 있다. Destination이 "2"를 지시하면, 타겟 디바이스는 제2 수신기(또는, companion device)를 지시하고, 해당 이벤트는 제2 수신기에서 실행될 수 있다.
이하에서는 제1 수신기가 방송망을 통해 시그널링 정보를 수신하고, 시그널링 정보를 기초로 제2 수신기에서 이벤트를 실행할 수 있는 방안에 대해서 기술한다. 예를 들어, 제1 수신기는 방송망을 통해 destination="2"인 이벤트를 실행할 수 있는 트리거를 수신할 수 있다. 제1 수신기는 트리거를 제2 수신기로 전달할 수 있다. 제2 수신기(또는, companion device)는 트리거를 이용하여 이벤트를 실행할 수 있다. 본 발명의 일 실시예에서는 UPnP의 실시 예로써 기술할 수 있다.
제1 수신기 및/또는 제2 수신기는 각각 App 송수신부를 포함할 수 있다. App 송수신부는 제1 수신기(또는, PD)에서 제2 수신기(또는, CD)로 시그널링 정보를 전달할 수 있다. 일 실시예로, App 송수신부는 application signaling service라고 부를수 있다. 일 실시예로, Service Type은 urn:atsc.org:serviceId:atsc3.0:applicationsignaling:1와 같이 정의할 수 있다.
제1 수신기의 App 송수신부는 제1 수신기가 방송망을 통해서 수신한 시그널링 정보(예를 들어, 어플리케이션 시그널링 정보)를 제2 수신기로 전달할 수 있다. 또한, 제1 수신기는 App 송수신부를 이용하여 제2 수신부로 하여금 인터넷망을 통해서 송신기(또는, 콘텐트 서버)로부터 시그널링 정보(또는, 어플리케이션 시그널링 정보)를 직접 수신하게 할 수 있다.
도면을 참고하면, 트리거의 전달을 위한 트리거 전달 정보가 나타나 있다. 트리거 전달 정보는 트리거 리스트 정보 및/또는 트리거 위치 정보를 포함할 수 있다. 트리거 전달 정보는 시그널링 정보 및/또는 어플리케이션 시그널링 정보에 포함될 수 있다. 트리거 전달 정보는 이벤팅 방식 및/또는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
트리거 리스트 정보는 required state variable로써 제2 수신기(또는, CD)를 위한 트리거에 대한 전반적인 정보들을 포함할 수 있다. 일 실시예로, 트리거 리스트 정보는 TriggerInfoList variable로 지칭될 수 있다. 트리거 리스트 정보는 이벤팅 방식 및/또는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
트리거 위치 정보는 required state variable으로써 제2 수신기가(또는, CD)가 송신기(또는, 콘텐트 서버)에 트리거 정보를 요청할 수 있는 위치를 나타낼 수 있다. 일 실시예로 트리거 위치 정보는 A_ARG_TYPE_NotificationInfo variable 로 지칭될 수 있다. 트리거 위치 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다. 다만, 이에 한정된 것은 아니고, 트리거 위치 정보는 이벤팅 방식으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
도 354는 본 발명의 일 실시예에 따른 트리거 리스트 정보를 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보는 required state variable로써 제2 수신기(또는, CD)를 위한 트리거에 대한 전반적인 정보들을 포함할 수 있다. 트리거 리스트 정보는 제2 수신기(또는, CD)를 위한 적어도 하나의 트리거에 대한 트리거 정보를 포함할 수 있다.
트리거 정보는 트리거 타입 정보, 동작 정보, 이벤트 시작 시간 정보, 이벤트 종료 시간 정보, 데이터 정보, 및/또는 데이터 위치 정보 중에서 적어도 하나를 포함할 수 있다.
트리거 타입 정보는 어플리케이션을 트리거링하는 트리거의 타입을 지시할 수 있다. 또한, 트리거 타입 정보는 제2 수신기(또는, CD)를 위한 application trigger type 정보일 수 있다. 트리거 타입 정보는 triggerType으로 지칭될 수 있다. Application trigger type은 action, status, 및/또는 mediaTime을 포함할 수 있다. 예를 들어, 트리거 타입 정보가 "action"을 지시하면, 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보는 어플리케이션이 실행할 동작(action)을 포함할 수 있다. 트리거 타입 정보가 "status"를 지시하면, 트리거링 어플리케이션 정보는 어플리케이션의 라이프싸이클(life-cycle) 변화를 시그널링할 수 있다. 트리거 타입 정보가 "mediaTime"을 지시하면, 트리거링 어플리케이션 정보는 미디어 타임을 포함할 수 있다. 각각의 type은 앞서 설명한 내용과 동일하며 추후 변경 혹은 추가될 수 있다.
동작 정보는 트리거링되는 어플리케이션의 동작을 지시할 수 있다. 또한, 동작 정보는 제2 수신기(또는, CD)를 위한 application trigger action 정보일 수 있다. 동작 정보는 action으로 지칭될 수 있다. Application trigger action은 각각 prep, exec, suspend, kill과 같을 수 있다. Action은 추후 변경 혹은 추가될 수 있다. Application trigger type이 action일 경우에는 application의 lifecycle과 관련이 있고, application trigger type이 status일 경우에는 포함된 data와 관련이 있을 수 있다.
이벤트 시작 시간 정보는 제2 수신기(또는, CD)를 위한 트리거가 시작하는 시간을 지시할 수 있다. 이벤트 시작 시간 정보는 eventStartTime로 지칭될 수 있다.
이벤트 종료 시간 정보는 제2 수신기(또는, CD)를 위한 트리거가 종료하는 시간을 지시할 수 있다. 이벤트 종료 시간 정보는 eventEndTime로 지칭될 수 있다.
데이터 정보는 제2 수신기(또는, CD)를 위한 트리거 관련 데이터일 수 있다. 데이터 정보는 data로 지칭될 수 있다.
데이터 위치 정보는 제2 수신기(또는, CD)를 위한 트리거 관련 데이터의 콘텐트 서버 상의 위치를 나타낼 수 있다. 데이터 위치 정보는 dataURI로 지칭될 수 있다.
도 355은 본 발명의 일 실시예에 따른 트리거 리스트 정보의 XML 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보는 제1 트리거 정보 및/또는 제2 트리거 정보를 포함할 수 있다.
제1 트리거 정보는 트리거 타입 정보, 동작 정보, 이벤트 시작 시간 정보, 이벤트 종료 시간 정보, 데이터 정보, 및/또는 데이터 위치 정보 중에서 적어도 하나를 포함할 수 있다. 트리거 타입 정보는 "action"을 지시할 수 있다. 동작 정보는 "exec"를 지시할 수 있다. 이벤트 시작 시간 정보는 "77ee"를 지시할 수 있다. 이벤트 종료 시간 정보는 7870"를 지시할 수 있다. 데이터 정보는 "AAAAZg=="를 지시할 수 있다. 데이터 위칭 정보는 "http://www.atsc.com/trigger/data"를 지시할 수 있다.
제2 트리거 정보는 트리거 타입 정보, 동작 정보, 및/또는 이벤트 시작 시간 정보 중에서 적어도 하나를 포함할 수 있다. 트리거 타입 정보는 "status"을 지시할 수 있다. 동작 정보는 "kill"를 지시할 수 있다. 이벤트 시작 시간 정보는 "9a33"를 지시할 수 있다.
도 356은 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
도면의 (a)를 참고하면, 트리거 전달 정보가 나타나 있다. 트리거 전달 정보는 트리거 리스트 정보 및/또는 트리거 위치 정보를 포함할 수 있다. 트리거 전달 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기에서 제2 수신기로 전달될 수 있다.
제2 수신기는 제1 수신기에 트리거 리스트 정보를 요청할 수 있다. 제2 수신기가 제1 수신기에 트리거 리스트 정보를 요청하는 정보를 GetTriggerInfoList()로 지칭할 수 있다. 예를 들어, GetTriggerInfoList()는 제2 수신기가 제2 수신기(또는, CD)에 유효한 트리거 정보를 제1 수신기에 요청하는 정보이다. 예를 들어, GetTriggerInfoList()는 required action으로써 특정 프로그램의 중간에 제2 수신기(또는, CD)가 제1 수신기(또는, PD)와 연결되었을 때, 현 시점에서 제2 수신기(또는, CD)에 유효한 trigger 정보가 있는지 확인하고자 할 때 사용될 수 있다.
제2 수신기는 제1 수신기에 트리거 위치 정보를 요청할 수 있다. 제2 수신기가 제1 수신기에 트리거 위치 정보를 요청하는 정보를 GetTriggerInfoURI()로 지칭할 수 있다. 예를 들어, GetTriggerInfoURI()는 required action으로써 제2 수신기(또는, CD)가 인터넷 망을 통해서 콘텐트 서버로부터 트리거 관련 정보를 요청하는데 사용될 수 있다. GetTriggerInfoURI action에 대한 반환값으로 TriggerURI, 즉 content server 상에 제2 수신기(또는, CD)를 위한 트리거 정보의 위치를 URL 형식으로 획득할 수 있다.
도면의 (b)를 참고하면, 트리거 리스트 정보가 나타나 있다. 제1 수신기는 제2 수신기의 요청에 대한 응답으로 트리거 리스트 정보를 전달할 수 있다. 예를 들어, 제2 수신기는 GetTriggerInfoList action에 대한 반환값으로 트리거 리스트 정보를 획득할 수 있다. 트리거 리스트 정보와 관련된 state variable은 TriggerInfoList이다.
도면의 (c)를 참고하면, 트리거 위치 정보가 나타나 있다. 제1 수신기는 제2 수신기의 요청에 대한 응답으로 트리거 위치 정보를 전달할 수 있다. 예를 들어, 제2 수신기는 GetTriggerInfoURI action에 대한 반환값으로 트리거 위치 정보를 획득할 수 있다. 트리거 위치 정보와 관련된 state variable은 A_ARG_TYPE_TriggerURI이다.
도 357는 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
트리거 리스트 정보는 어플리케이션 식별자(AppID)를 포함할 수 있다. 어플리케이션 식별자는 제1 수신기가 방송망 및/또는 인터넷 망을 통해 수신할 수 있는 어플리케이션 속성 관련 정보(예를 들어, TPT 또는 트리거링 어플리케이션 정보)에 포함될 수 있다. 어플리케이션 식별자 정보는 제2 수신기에서 실행되고 있거나 실행될 예정인 특정 어플리케이션을 식별할 수 있다.
이 경우, 트리거 전달 정보는 트리거 리스트 정보, 트리거 위치 정보, 트리거 정보, 및/또는 어플리케이션 식별자 중에서 적어도 하나를 포함할 수 있다. 트리거 전달 정보는 시그널링 정보 및/또는 어플리케이션 시그널링 정보에 포함될 수 있다. 트리거 전달 정보는 이벤팅 방식 및/또는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다. 또는 트리거 전달 정보는 이벤팅 방식 및/또는 제1 수신기의 요청에 대한 응답으로 제2 수신기로부터 제1 수신기로 전달될 수 있다.
트리거 리스트 정보는 required state variable로써 제2 수신기(또는, CD)를 위한 적어도 하나의 트리거에 대한 트리거 정보를 포함할 수 있다. 일 실시예로, 트리거 리스트 정보는 TriggerInfoList variable로 지칭될 수 있다. 트리거 리스트 정보는 이벤팅 방식 및/또는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
트리거 위치 정보는 required state variable으로써 제2 수신기가(또는, CD)가 송신기(또는, 콘텐트 서버)에 트리거 정보를 요청할 수 있는 위치를 나타낼 수 있다. 일 실시예로 트리거 위치 정보는 A_ARG_TYPE_NotificationInfo variable 로 지칭될 수 있다. 트리거 위치 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
트리거 정보는 required state variable으로써 트리거에 대한 속성 또는 정보를 나타낼 수 있다. 일 실시예로 트리거 정보는 A_ARG_TYPE_TriggerInfo variable 로 지칭될 수 있다. 트리거 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
어플리케이션 식별자 리스트 정보는 required state variable으로써 어플리케이션 식별자(또는, AppID)의 리스트를 나타낼 수 있다. 일 실시예로 어플리케이션 식별자 리스트 정보는 A_ARG_TYPE_AppIDs variable 로 지칭될 수 있다. 어플리케이션 식별자 리스트 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
도 358은 본 발명의 일 실시예에 따른 트리거 리스트 정보를 나타낸 도면이다.
트리거 리스트 정보는 제2 수신기(또는, CD)를 위한 적어도 하나의 트리거에 대한 트리거 정보를 포함할 수 있다.
트리거 정보는 어플리케이션을 트리거링하는 트리거의 타입을 지시하는 트리거 타입 정보, 트리거링되는 어플리케이션의 동작을 지시하는 동작 정보, 제2 수신기(또는, CD)를 위한 트리거가 시작하는 시간을 지시하는 이벤트 시작 시간 정보, 제2 수신기(또는, CD)를 위한 트리거가 종료하는 시간을 지시하는 이벤트 종료 시간 정보, 제2 수신기(또는, CD)를 위한 트리거 관련 데이터를 지시하는 데이터 정보, 및/또는 제2 수신기(또는, CD)를 위한 트리거 관련 데이터의 콘텐트 서버 상의 위치를 나타내는 데이터 위치 정보를 포함할 수 있다.
또한, 트리거 정보는 어플리케이션을 식별하는 어플리케이션 식별자를 더 포함할 수 있다. 어플리케이션 식별자는 appID attribute로 지칭될 수 있다.
제1 수신기는 제1 수신기에서 실행중인 어플리케이션 및/또는 어플리케이션에 대한 action의 시그널링 정보를 제2 수신기로 전달할 수 있다.
만약 트리거 정보가 어플리케이션 식별자를 포함하면, 제1 수신기는 현재 실행중인 어플리케이션 및/또는 어플리케이션에 대한 action 뿐만 아니라, 추후 실행될 예정인 다른 어플리케이션 식별자를 가진 어플리케이션의 실행 및/또는 어플리케이션에 대한 action의 시그널링 정보도 제2 수신기로 전달할 수 있다.
도 359는 본 발명의 일 실시예에 따른 트리거 리스트 정보의 XML 데이터 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보는 제1 트리거 정보 및/또는 제2 트리거 정보를 포함할 수 있다.
제1 트리거 정보는 어플리케이션 식별자, 트리거 타입 정보, 동작 정보, 이벤트 시작 시간 정보, 이벤트 종료 시간 정보, 데이터 정보, 및/또는 데이터 위치 정보 중에서 적어도 하나를 포함할 수 있다. 어플리케이션 식별자는 "12"를 지시할 수 있다. 트리거 타입 정보는 "action"을 지시할 수 있다. 동작 정보는 "exec"를 지시할 수 있다. 이벤트 시작 시간 정보는 "77ee"를 지시할 수 있다. 이벤트 종료 시간 정보는 7870"를 지시할 수 있다. 데이터 정보는 "AAAAZg=="를 지시할 수 있다. 데이터 위칭 정보는 "http://www.atsc.com/trigger/data"를 지시할 수 있다.
제2 트리거 정보는 어플리케이션 식별자, 트리거 타입 정보, 동작 정보, 및/또는 이벤트 시작 시간 정보 중에서 적어도 하나를 포함할 수 있다. 어플리케이션 식별자는 "13"을 지시할 수 있다. 트리거 타입 정보는 "status"을 지시할 수 있다. 동작 정보는 "kill"를 지시할 수 있다. 이벤트 시작 시간 정보는 "9a33"를 지시할 수 있다.
도 360는 본 발명의 일 실시예에 따른 트리거 전달 정보를 나타낸 도면이다.
도면의 (a)를 참고하면, 트리거 전달 정보가 나타나 있다. 트리거 전달 정보는 트리거 리스트 정보 및/또는 트리거 위치 정보를 포함할 수 있다. 트리거 전달 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기에서 제2 수신기로 전달될 수 있다.
제2 수신기는 제1 수신기에 어플리케이션 식별자 리스트 정보를 요청할 수 있다. 제2 수신기가 제1 수신기에 어플리케이션 식별자 리스트 정보를 요청하는 정보를 GetAppIDs()로 지칭할 수 있다. 예를 들어, GetAppIDs()는 required action이다. GetAppIDs()는 제2 수신기가 제1 수신기와 연결된 후, 제2 수신기가 트리거 정보에 포함되어 있는 어플리케이션 식별자 리스트를 얻고자 할 때 사용될 수 있다. 트리거 정보는 제1 수신기에 의해서 방송망 및/또는 인터넷 망을 통해 수신될 수 있다.
제2 수신기는 제1 수신기에 트리거 정보를 요청할 수 있다. 제2 수신기가 제1 수신기에 트리거 정보를 요청하는 정보를 GetTriggerInfo()로 지칭할 수 있다. 예를 들어, GetTriggerInfo()는 required action이다. GetTriggerInfo()는 제2 수신기가 제1 수신기와 연결된 후, 특정 어플리케이션에 대한 트리거 정보를 얻고자 할 때 사용될 수 있다.
도면의 (b)를 참고하면, 어플리케이션 식별자 리스트 정보가 나타나 있다. 제1 수신기는 제2 수신기의 요청에 대한 응답으로 어플리케이션 식별자 리스트 정보를 전달할 수 있다. 예를 들어, 제2 수신기는 GetAppIDs action에 대한 반환값으로 어플리케이션 식별자 리스트 정보를 획득할 수 있다. 어플리케이션 식별자 리스트 정보와 관련된 state variable은 A_ARG_TYPE_AppIDs이다.
도면의 (c)를 참고하면, 어플리케이션 식별자 리스트 정보 및/또는 트리거 정보가 나타나 있다. 제1 수신기는 제2 수신기의 요청에 대한 응답으로 트리거 정보를 전달할 수 있다.
제2 수신기는 원하는 어플리케이션에 대한 정보를 얻기 위해서 어플리케이션 식별자 및/또는 어플리케이션 식별자 리스트 정보를 input argument로 사용할 수 있다. 제1 수신기는 이에 대한 반환 값을 TriggerInfo argument로 전달할 수 있다.
예를 들어, 제2 수신기는 GetTriggerInfo action에 대한 반환값으로 트리거 정보를 획득할 수 있다. 어플리케이션 식별자 리스트 정보와 관련된 state variable은 appIDs이다. 트리거 정보와 관련된 state variable은 A_ARG_TYPE_TriggerInfo 이다.
도 361은 본 발명의 일 실시예에 따른 트리거 타입 정보가 "action"을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다.
송신기(C10)는 방송 서비스를 제공할 수 있다. 예를 들어, 방송 서비스는 콘텐트(또는, 리니어 서비스), 어플리케이션(또는, Non-리니어 서비스), 및/또는 시그널링 정보 중에서 적어도 하나를 포함할 수 있다. 송신기(C10)는 전술한 방송 송신 장치(미도시), 컨텐츠 제공자(미도시), 컨텐츠 서버(미도시), 제어부(미도시), 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다.
제1 수신기(C100)는 방송망 및/또는 인테넷망을 통하여 방송 서비스를 수신할 수 있다. 제1 수신기(C100)는 TV Receiver 및/또는 PD로 지칭될 수 있다.
제2 수신기(C200)는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 제2 수신기는 Mobile Phone 및/또는 CD로 지칭될 수 있다.
이하에서는, 트리거 타입 정보가 "action"을 지시할 경우, 본 발명의 일 실시예에 따른 송수신 시스템의 동작을 설명한다.
제1 수신기(C100)는 제2 수신기(C200)와 discovery 및/또는 pairing 단계를 수행한다. 예를 들어, 제1 수신기(C100)는 제2 수신기를 발견하고, 데이터를 주고 받을 수 있도록 제2 수신기와 전기적으로 연결할 수 있다.
그리고 나서, 제1 수신기(C100)는 제2 수신기(C200)의 application signaling service를 subscribe 할 수 있다. 또는 제2 수신기(C200)는 제1 수신기(C100)의 application signaling service를 subscribe 할 수 있다. 예를 들어, 제1 수신기(C100)는 제1 수신기(C100)의 App 송수신부를 이용하여 제2 수신기(C200)의 App 송수신부를 subscribe할 수 있다.
그리고 나서, 제1 수신기(C100)는 송신기(C10)로부터 방송 신호를 수신한다. 제1 수신기(C100)는 방송 신호에 기초하여 시그널링 정보를 획득할 수 있다. 구체적으로, 제1 수신기(C100)는 시그널링 정보에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 앞서 설명한 바와 같이, 수신기(C100)는 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보(또는, TPT) 중 적어도 어느 하나를 포함할 수 있다.
그리고 나서, 제1 수신기(C100)는 수신한 시그널링 정보를 저장부에 저장할 수 있다. 예를 들어, 제1 수신기(C100)는 수신한 트리거링 어플리케이션 정보를 저장부에 저장할 수 있다.
그리고 나서, 제1 수신기(C100)는 송신기(C10)로부터 시그널링 정보를 더 수신할 수 있다. 시그널링 정보는 트리거를 포함할 수 있다. 예를 들어, 트리거는 제1 수신기에서 제2 수신기로 전달하거나 제2 수신기에서 처리되기 위한 트리거를 포함할 수 있다.
트리거는 트리거링되는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거링 이벤트를 식별하는 트리거링 이벤트 식별자, 및/또는 트리거링 이벤트가 필요로하는 데이터를 식별하는 데이터 식별자 중에서 적어도 하나를 포함할 수 있다. 또한, 트리거는 어플리케이션을 트리거링하는 트리거의 타입을 지시하는 트리거 타입 정보, 트리거링되는 어플리케이션의 동작을 나타내는 동작 정보, 트리거링 이벤트의 시작 시간, 트리거링 이벤트의 종료 시간, 및/또는 트리거 관련 데이터를 포함하는 데이터 정보 중에서 적어도 하나를 포함할 수 있다.
일 실시예로, 트리거 타입 정보가 "action"를 지시하면, 트리거 타입 정보는 어플리케이션의 동작을 시그널링하기 위한 트리거를 지시할 수 있다.
그리고 나서, 제1 수신기(C100)는 시그널링 정보를 기초로 동작을 수행할 수 있다. 제1 수신기(C100)는 시그널링 정보를 제2 수신기(C200)로 전달할 수 있다. 예를 들어, 제1 수신기는 시그널링 정보를 기초로 제2 수신기가 트리거를 획득하도록 하는 트리거 전달 정보를 제2 수신기로 전달할 수 있다. 예를 들어, 제1 수신기(C100)는 트리거 리스트 정보를 제2 수신기(C200)으로 전달할 수 있다. 즉, 제1 수신기(C100)는 이벤팅 방식으로 트리거 리스트 정보를 제2 수신기(C200)로 전달할 수 있다. 이벤팅 방식으로 트리거 리스트 정보를 전달하는 것은 제1 수신기에 트리거 리스트 정보를 제2 수신기로 전달하는 이벤트를 발생시키는 것을 나타낸다.
이하에서, 제1 수신기(C100)가 트리거 리스트 정보를 전달하는 동작을 구체적으로 설명한다.
제1 수신기(C100)는 시그널링 정보를 기초로 트리거를 파싱할 수 있다. 제1 수신기(C100)는 수신한 트리거 내의 어플리케이션 식별자(또는, appID), 이벤트 식별자(또는, eventID), 및/또는 데이터 식별자(또는, dataID) 중에서 적어도 하나를 파싱할 수 있다.
그리고 나서, 제1 수신기(C100)는 타겟 디바이스를 확인할 수 있다. 예를 들어, 제1 수신기(C100)는 트리거 내의 트리거 정보를 기초로 트리거링 어플리케이션 정보에 포함된 이벤트 정보를 확인할 수 있다. 제1 수신기(C100)는 어플리케이션 식별자 및/또는 이벤트 식별자를 기초로 해당하는 어플리케이션 및/또는 이벤트를 찾고, 이벤트의 목적지(destination)가 제2 수신기를 지시하는지 확인할 수 있다. 예를 들어, destination 이 "2"를 지시하면, 이벤트의 목적지는 제2 수신기(또는, second screen)을 지시할 수 있다.
그리고 나서, 제1 수신기(C100)는 수신한 트리거에 대한 정보를 포함하는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 전달할 수 있다. 트리거 타입 정보가 "action"을 지시하는 경우, 이벤트에 테이터가 포함될 수 있다. 이벤트의 목적지가 "제2 수신기"이고 이벤트에 데이터가 포함되어 있다면, 제1 수신기(C100)는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 통지(notify)할 수 있다. 예를 들어, 이벤트의 destination이 '2'이고, 이벤트에 데이터가 포함되어 있다면, 제1 수신기(C100)은 트리거 리스트 정보를 제2 수신기로 전달하는 이벤트를 발생시킬 수 있다.
제2 수신기(C200)는 제1 수신기(C100)로부터 시그널링 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)은 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 수신할 수 있다. 예를 들어, 트리거는 미디어 타임(media time) 기준으로 "77ee"에 시작하여 "7870"까지, 포함되어 있는 data를 실행(또는, exec)하도록 하는 트리거일 수 있다. 제2 수신기(C200)는 트리거 리스트 정보에 포함된 트리거를 기초로 어플리케이션을 동작할 수 있다.
도 362은 본 발명의 일 실시예에 따른 트리거 타입 정보가 "action"을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보(또는, TriggerInfoList)는 트리거 정보를 포함할 수 있다. 트리거 정보는 트리거 타입 정보, 동작 정보, 이벤트 시작 시간 정보, 이벤트 종료 시간 정보, 및/또는 데이터 정보 중에서 적어도 하나를 포함할 수 있다.
일 실시예로, 트리거 타입 정보(또는, triggerType)는 "action"을 지시할 수 있다. 동작 정보(또는, action)은 "exec"를 지시할 수 있다. 이벤트 시작 시간 정보(또는, eventStartTime)는 "77ee"를 지시할 수 있다. 이벤트 종료 시간 정보(또는, eventEndTime)는 "7870"를 지시할 수 있다. 데이터 정보는 "AAAAZg=="를 지시할 수 있다.
도 363는 본 발명의 일 실시예에 따른 트리거 타입 정보가 "action"을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 시그널링 정보는 트리거를 포함할 수 있다. 트리거는 트리거링되는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거링 이벤트를 식별하는 트리거링 이벤트 식별자, 및/또는 트리거링 이벤트가 필요로하는 데이터를 식별하는 데이터 식별자 중에서 적어도 하나를 포함할 수 있다. 또한, 트리거는 어플리케이션을 트리거링하는 트리거의 타입을 지시하는 트리거 타입 정보, 트리거링되는 어플리케이션의 동작을 나타내는 동작 정보, 트리거링 이벤트의 시작 시간, 트리거링 이벤트의 종료 시간, 트리거 관련 데이터를 포함하는 데이터 정보, 및/또는 데이터 정보의 콘텐트 서버 상의 위치를 나타내는 데이터 위치 정보를 더 포함할 수 있다. 일 실시예로, 데이터 위치 정보는 dataURI로 지칭될 수 있다.
제1 수신기(C100)는 수신한 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 제2 수신기(C200)으로 전달할 수 있다. 예를 들어, 제1 수신기(C100)는 이벤팅 방식으로 트리거 리스트 정보를 제2 수신기(C200)로 전달할 수 있다.
제2 수신기(C200)는 제1 수신기(C100)로부터 시그널링 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)은 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 수신할 수 있다. 예를 들어, 트리거는 미디어 타임(media time) 기준으로 "77ee"에 시작하여 "7870"까지, 포함되어 있는 data를 실행(또는, exec)하도록 하는 트리거일 수 있다.
제2 수신기(C200)는 트리거 리스트 정보에 포함된 트리거 및/또는 콘텐트 서버로부터 수신한 데이터 정보를 기초로 어플리케이션을 동작할 수 있다. 이때, 제2 수신기(C200)는 데이터 위치 정보(또는, dataURI)를 기초로 송신기(C10)에 트리거 관련 데이터를 포함하는 데이터 정보를 요청할 수 있다. 제2 수신기(C200)가 데이터 위치 정보를 기초로 콘텐트 서버에 데이터를 요청하는 루틴은 제2 수신기(C200)의 구현 메커니즘에 따라서 변경될 수 있다.
도 364는 본 발명의 일 실시예에 따른 트리거 타입 정보가 "action"을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보(또는, TriggerInfoList)는 트리거 정보를 포함할 수 있다. 트리거 정보는 트리거 타입 정보, 동작 정보, 이벤트 시작 시간 정보, 이벤트 종료 시간 정보, 데이터 정보, 및/또는 데이터 위치 정보 중에서 적어도 하나를 포함할 수 있다.
일 실시예로, 트리거 타입 정보(또는, triggerType)는 "action"을 지시할 수 있다. 동작 정보(또는, action)은 "exec"를 지시할 수 있다. 이벤트 시작 시간 정보(또는, eventStartTime)는 "77ee"를 지시할 수 있다. 이벤트 종료 시간 정보(또는, eventEndTime)는 "7870"를 지시할 수 있다. 데이터 정보는 "AAAAZg=="를 지시할 수 있다. 데이터 위치 정보(또는, dataURI)는 를 지시할 수 있다.
도 365은 본 발명의 일 실시예에 따른 트리거 타입 정보가 "status"을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
일 실시예로, 제1 수신기(C100)는 "status"을 지시하는 트리거 타입 정보(또는, application trigger type)를 포함하는 트리거를 수신할 수 있다. 트리거 타입 정보가 "status"를 지시하면, 트리거 타입 정보는 어플리케이션의 상태(또는, 라이프사이클)를 시그널링하기 위한 트리거를 지시할 수 있다. 트리거 타입 정보가 "status"를 지시하면, 트리거링 어플리케이션 정보는 어플리케이션의 라이프싸이클(life-cycle) 변화를 시그널링할 수 있다. 어플리케이션의 상태는 준비(preparing), 실행(execution), 종료(termination), 및/또는 중지(suspending) 중에서 적어도 하나를 포함할 수 있다.
이하에서는, 트리거 타입 정보가 "status"을 지시할 경우, 제1 수신기(C100)가 트리거 리스트 정보를 전달하는 동작을 구체적으로 설명한다.
제1 수신기(C100)는 시그널링 정보를 기초로 트리거를 파싱할 수 있다. 제1 수신기(C100)는 수신한 트리거 내의 어플리케이션 식별자(또는, appID), 이벤트 식별자(또는, eventID), 및/또는 데이터 식별자(또는, dataID) 중에서 적어도 하나를 파싱할 수 있다.
그리고 나서, 제1 수신기(C100)는 타겟 디바이스를 확인할 수 있다. 예를 들어, 제1 수신기(C100)는 트리거 내의 트리거 정보를 기초로 트리거링 어플리케이션 정보에 포함된 이벤트 정보를 확인할 수 있다. 제1 수신기(C100)는 어플리케이션 식별자 및/또는 이벤트 식별자를 기초로 해당하는 어플리케이션 및/또는 이벤트를 찾고, 이벤트의 목적지(destination)가 제2 수신기를 지시하는지 확인할 수 있다. 예를 들어, destination 이 "2"를 지시하면, 이벤트의 목적지는 제2 수신기(또는, second screen)을 지시할 수 있다.
그리고 나서, 제1 수신기(C100)는 수신한 트리거에 대한 정보를 포함하는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 전달할 수 있다. 이벤트의 목적지가 "제2 수신기"이면, 제1 수신기(C100)는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 통지(notify)할 수 있다. 예를 들어, 이벤트의 destination이 '2'이면, 제1 수신기(C100)은 트리거 리스트 정보를 제2 수신기로 전달하는 이벤트를 발생시킬 수 있다.
제2 수신기(C200)는 제1 수신기(C100)로부터 시그널링 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)은 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 수신할 수 있다. 예를 들어, 트리거는 미디어 타임(media time) 기준으로 "9a33"에 제2 수신기(C200)에서 실행 중인 어플리케이션을 종료(또는, kill)하도록 하는 트리거일 수 있다. 제2 수신기(C200)는 트리거 리스트 정보에 포함된 트리거를 기초로 어플리케이션을 동작할 수 있다.
도 366은 본 발명의 일 실시예에 따른 트리거 타입 정보가 "status"을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보(또는, TriggerInfoList)는 트리거 정보를 포함할 수 있다. 트리거 정보는 트리거 타입 정보, 동작 정보, 및/또는 이벤트 시작 시간 정보 중에서 적어도 하나를 포함할 수 있다.
일 실시예로, 트리거 타입 정보(또는, triggerType)는 "status"을 지시할 수 있다. 동작 정보(또는, action)은 "kill"을 지시할 수 있다. 이벤트 시작 시간 정보(또는, eventStartTime)는 "9a33"를 지시할 수 있다.
도 367는 본 발명의 일 실시예에 따른 트리거 타입 정보가 "mediaTime"을 지시할 경우, Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
일 실시예로, 제1 수신기(C100)는 "mediaTime"을 지시하는 트리거 타입 정보(또는, application trigger type)를 포함하는 트리거를 수신할 수 있다. 트리거 타입 정보가 "mediatime"를 지시하면, 트리거 타입 정보는 미디어 시간을 시그널링하기 위한 트리거를 지시할 수 있다. 트리거 타입 정보가 "mediaTime"를 지시하면, 트리거링 어플리케이션 정보는 미디어 타임을 포함할 수 있다.
이하에서는, 트리거 타입 정보가 "mediaTime"을 지시할 경우, 제1 수신기(C100)가 트리거 리스트 정보를 전달하는 동작을 구체적으로 설명한다.
제1 수신기(C100)는 시그널링 정보를 기초로 트리거를 파싱할 수 있다. 제1 수신기(C100)는 수신한 트리거 내의 어플리케이션 식별자(또는, appID), 이벤트 식별자(또는, eventID), 및/또는 데이터 식별자(또는, dataID) 중에서 적어도 하나를 파싱할 수 있다.
그리고 나서, 제1 수신기(C100)는 타겟 디바이스를 확인할 수 있다. 예를 들어, 제1 수신기(C100)는 트리거 내의 트리거 정보를 기초로 트리거링 어플리케이션 정보에 포함된 이벤트 정보를 확인할 수 있다. 제1 수신기(C100)는 어플리케이션 식별자 및/또는 이벤트 식별자를 기초로 해당하는 어플리케이션 및/또는 이벤트를 찾고, 이벤트의 목적지(destination)가 제2 수신기를 지시하는지 확인할 수 있다. 예를 들어, destination 이 "2"를 지시하면, 이벤트의 목적지는 제2 수신기(또는, second screen)을 지시할 수 있다.
그리고 나서, 제1 수신기(C100)는 수신한 트리거에 대한 정보를 포함하는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 전달할 수 있다. 이벤트의 목적지가 "제2 수신기"이면, 제1 수신기(C100)는 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이벤팅(eventing) 방식으로 제2 수신기(C200)로 통지(notify)할 수 있다. 예를 들어, 이벤트의 destination이 '2'이면, 제1 수신기(C100)은 트리거 리스트 정보를 제2 수신기로 전달하는 이벤트를 발생시킬 수 있다.
제2 수신기(C200)는 제1 수신기(C100)로부터 시그널링 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)은 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 수신할 수 있다. 예를 들어, 트리거는 제2 수신기(C200)에게 현재 미디어 타임(media time)이 "9a33"임을 알려주는 트리거일 수 있다. 트리거 타입 정보가 "mediaTime"를 지시하면, 제2 수신기(C200)는 동작 정보에 대한 처리를 생략할 수 있다. 제2 수신기(C200)는 트리거 리스트 정보에 포함된 트리거를 기초로 어플리케이션을 동작할 수 있다.
도 368은 본 발명의 일 실시예에 따른 트리거 타입 정보가 "mediaTime"을 지시할 경우, TriggerInfoList의 XML 포멧을 나타낸 도면이다.
도면을 참고하면, 트리거 리스트 정보(또는, TriggerInfoList)는 트리거 정보를 포함할 수 있다. 트리거 정보는 트리거 타입 정보, 동작 정보, 및/또는 이벤트 시작 시간 정보 중에서 적어도 하나를 포함할 수 있다.
일 실시예로, 트리거 타입 정보(또는, triggerType)는 "mediaType"을 지시할 수 있다. 동작 정보(또는, action)은 "exec"를 지시할 수 있다. 이벤트 시작 시간 정보(또는, eventStartTime)는 "9a33"를 지시할 수 있다.
도 369는 본 발명의 일 실시예에 따른 제1 수신기가 제2 수신기와 페어링 되지 않은 경우의 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 제1 수신기(C100)와 제2 수신기(C200)는 페어링(paring)되어 있지 않은 상태일 수 있다. 이하에서는, 제1 수신기(C100)가 트리거를 수신 전에 제2 수신기(C200)와 페어링(pairing)이 되어있지 않은 경우의 Flow Diagram을 설명한다.
제1 수신기(C100)는 송신기(C10)로부터 방송 신호를 수신한다. 제1 수신기(C100)는 방송 신호에 기초하여 시그널링 정보를 획득할 수 있다. 구체적으로, 제1 수신기(C100)는 시그널링 정보에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 앞서 설명한 바와 같이, 수신기(C100)는 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보(또는, TPT) 중 적어도 어느 하나를 포함할 수 있다.
그리고 나서, 제1 수신기(C100)는 수신한 시그널링 정보를 저장부에 저장할 수 있다. 예를 들어, 제1 수신기(C100)는 수신한 트리거링 어플리케이션 정보(또는, TPT)를 저장부에 저장할 수 있다.
그리고 나서, 제1 수신기(C100)는 송신기(C10)로부터 시그널링 정보를 더 수신할 수 있다. 시그널링 정보는 트리거를 포함할 수 있다. 예를 들어, 트리거는 제1 수신기에서 제2 수신기로 전달하거나 제2 수신기에서 처리되기 위한 트리거를 포함할 수 있다.
하지만, 제1 수신기(C100)에 제2 수신기(C200)가 연결되어있지 않다. 따라서, 이벤트의 목적지(destination)가 "2"를 지시하더라도, 제1 수신기(C100)는 제2 수신기에 시그널링 정보 및/또는 트리거를 전달할 수 없다.
그리고 나서, 제1 수신기(C100)는 제2 수신기(C200)와 discovery 및/또는 pairing 단계를 수행한다. 예를 들어, 제1 수신기(C100)는 제2 수신기를 발견하고, 데이터를 주고 받을 수 있도록 제2 수신기와 전기적으로 연결할 수 있다.
그리고 나서, 제2 수신기(C200)는 제1 수신기(C100)의 application signaling service를 subscribe 할 수 있다. 또는, 제1 수신기(C100)는 제2 수신기(C200)의 application signaling service를 subscribe 할 수 있다. 예를 들어, 제2 수신기(C200)는 제2 수신기(C200)의 App 송수신부를 이용하여 제1 수신기(C100)의 App 송수신부를 subscribe할 수 있다. 또는 제2 수신기는 GetTriggerInfoList action을 이용하여 제1 수신기에 트리거 리스트 정보를 요청할 수 있으므로, 제1 수신기의 application signaling service에 subscribe할 필요가 없을 수 있다.
그리고 나서, 제1 수신기(C200)는 제2 수신기로부터 트리거 리스트 정보를 요청받고, 제2 수신기로 트리거에 대한 정보를 포함하는 트리거 리스트 정보를 전달할 수 있다.
제2 수신기(C200)는 GetTriggerInfoList action을 이용하여 제1 수신기(C100)가 수신한 트리거 중에서 제2 수신기(C200)를 위한 트리거가 있는지 확인할 수 있다. 예를 들어, 제2 수신기(C200)는 제1 수신기(C100)에게 제2 수신기(C200)를 위한 트리거에 대한 정보를 포함하는 트리거 리스트 정보(또는, TriggerInfoList)를 요청하여, 제1 수신기(C100)로부터 트리거 리스트 정보(또는, TriggerInfoList)를 수신할 수 있다.
그리고 나서, 제2 수신기(C200)는 전달받은 트리거 리스트 정보(또는, TriggerInfoList 정보)를 이용하여 현 시점 기준으로 수행할 수 있는 트리거가 있는지 확인할 수 있다. 예를 들어, 제2 수신기(C200)는 전달받은 트리거의 트리거 타입 정보, 이벤트 시작 시간 정보, 및/또는 이벤트 종료 시간 정보 중에서 적어도 하나를 기초로 현재 수행할 동작이 있는지 파악할 수 있다.
그리고 나서, 제2 수신기(C200)는 트리거를 기초로 동작을 수행할 수 있다. 예를 들어, 2 수신기(C200)는 트리거 리스트 정보에 포함된 트리거를 기초로 어플리케이션을 동작할 수 있다.
도 370는 본 발명의 일 실시예에 따른 제1 수신기가 제2 수신기와 페어링 되지 않은 경우의 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 제1 수신기(C100)와 제2 수신기(C200)는 페어링(paring)되어 있지 않은 상태일 수 있다. 이하에서는, 제1 수신기(C100)가 트리거를 수신 전에 제2 수신기(C200)와 페어링(pairing)이 되어있지 않은 경우, 어플리케이션 식별자를 이용하는 Flow Diagram을 설명한다.
제1 수신기(C200)는 제2 수신기로부터 어플리케이션 식별자 리스트 정보를 요청받고, 제2 수신기로 어플리케이션 식별자 리스트 정보를 전달할 수 있다. 어플리케이션 식별자 리스트 정보는 required state variable으로써 어플리케이션 식별자(또는, AppID)의 리스트를 나타낼 수 있다. 예를 들어, 어플리케이션 식별자 리스트 정보는 A_ARG_TYPE_AppIDs variable 로 지칭될 수 있다. 어플리케이션 식별자 리스트 정보는 제2 수신기의 요청에 대한 응답으로 제1 수신기로부터 제2 수신기로 전달될 수 있다.
그리고 나서, 제1 수신기(C200)는 제2 수신기로부터 트리거 정보를 요청받고, 제2 수신기로 트리거 정보를 전달할 수 있다. 예를 들어, 제1 수신기(C100)는 제2 수신기(C200)으로부터 어플리케이션 식별자 리스트 정보를 기초로 특정 어플리케이션에 대한 트리거 정보를 요청받고, 제2 수신기로 트리거 정보를 전달할 수 있다.
제2 수신기(C200)는 제1 수신기(C100)에게 어플리케이션 식별자 리스트 정보를 요청하고, 응답으로 어플리케이션 식별자 리스트 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)는 GetAppID action을 이용하여 제1 수신기(C100)가 수신한 트리거 중에서 제2 수신기(C200)를 위한 트리거에 해당하는 어플리케이션 식별자들을 획득할 수 있다.
그리고 나서, 제2 수신기는 제1 수신기(C100)에게 트리거 정보를 요청하고, 응답으로 트리거 정보를 수신할 수 있다. 예를 들어, 제2 수신기(C200)는 GetTriggerInfo action을 이용하여 제1 수신기(C100)가 수신한 트리거 중에서 제2 수신기(C200)를 위한 트리거가 있는지 확인할 수 있다. 이때, 제2 수신기(C200)는 특정 어플리케이션에 대한 트리거 정보(또는, TriggerInfo 정보)를 얻기 위해서 어플리케이션 식별자 정보를 input argument로 사용할 수 있다. 예를 들어, 제2 수신기(C200)는 "12"를 지시하는 어플리케이션 식별자를 기초로 해당되는 어플리케이션에 대한 트리거 정보를 요청하고, 응답으로 트리거 정보를 수신할 수 있다.
그리고 나서, 제2 수신기(C200)는 트리거 정보를 이용하여 현 시점 기준으로 수행할 수 있는 트리거가 있는지 확인할 수 있다. 예를 들어, 제2 수신기(C200)는 전달받은 트리거의 triggerType과 eventStartTime 및/혹은 eventEndTime 정보를 이용해서 현재 수행할 action이 있는지 등을 파악할 수 있다.
그리고 나서, 제2 수신기(C200)는 트리거를 기초로 동작을 수행할 수 있다. 예를 들어, 2 수신기(C200)는 트리거를 기초로 어플리케이션을 동작할 수 있다.
도 371은 본 발명의 일 실시예에 따른 제2 수신기가 트리거링 어플리케이션 정보를 송신기로부터 수신하는 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 송수신 시스템은 송신기(C10), 제1 수신기(C100), 및/또는 제2 수신기(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 제1 수신기(C100)와 제2 수신기(C200)는 페어링(paring)되어 있지 않은 상태일 수 있다. 이하에서는, 제1 수신기(C100)가 트리거를 수신 전에 제2 수신기(C200)와 페어링(pairing)이 되어있지 않은 경우, Flow Diagram을 설명한다.그리고 나서, 제2 수신기(C200)는 제1 수신기(C100)의 application signaling service를 subscribe 할 수 있다. 또는, 제1 수신기(C100)는 제2 수신기(C200)의 application signaling service를 subscribe 할 수 있다. 예를 들어, 제2 수신기(C200)는 제2 수신기(C200)의 App 송수신부를 이용하여 제1 수신기(C100)의 App 송수신부를 subscribe할 수 있다. 또는 제2 수신기는 GetTriggerInfoURI action을 이용하여 제1 수신기에 트리거 위치 정보를 요청할 수 있으므로, 제1 수신기의 application signaling service에 subscribe할 필요가 없을 수 있다.
그리고 나서, 제1 수신기(C200)는 제2 수신기로부터 트리거의 위치를 지시하는 트리거 위치 정보를 요청받고, 제2 수신기로 트리거 위치 정보를 전달할 수 있다.
제2 수신기(C200)는 GetTriggerInfoURI action을 이용하여 제1 수신기(C100)가 수신한 트리거 위치 정보 중에서 제2 수신기(C200)를 위한 트리거 위치 정보가 있는지 확인할 수 있다. 예를 들어, 제2 수신기(C200)는 제1 수신기(C100)에게 트리거 위치 정보(또는, TriggerInfoURI)를 요청하여, 제1 수신기(C100)로부터 트리거 위치 정보(또는, TriggerInfoURI)를 수신할 수 있다.
제2 수신기(C200)는 전달받은 트리거 위치 정보(또는, TriggerInfoURI)를 정보를 이용하여 현 시점 기준으로 수행할 수 있는 트리거가 있는지 확인할 수 있다. 예를 들어, 제2 수신기(C200)는 전달받은 트리거의 트리거 타입 정보, 이벤트 시작 시간 정보, 및/또는 이벤트 종료 시간 정보 중에서 적어도 하나를 기초로 현재 수행할 동작이 있는지 파악할 수 있다.
제2 수신기(C200)는 송신기(C10, 또는 Content server)로부터 제2 수신기(C200)를 위한 모든 트리거(또는, application trigger 정보)를 얻을 수 있다. 제2 수신기(C200)는 전달받은 트리거의 트리거 타입 정보, 이벤트 시작 시간 정보, 및/또는 이벤트 종료 시간 정보 중에서 적어도 하나를 기초로 현재 수행할 동작이 있는지 파악할 수 있고, media time에 맞추어 미래에 수행할 수 있는 동작이 있는지 미리 파악할 수 있다.
그리고 나서, 제2 수신기(C200)는 트리거를 기초로 동작을 수행할 수 있다. 예를 들어, 2 수신기(C200)는 트리거를 기초로 어플리케이션을 동작할 수 있다.
이 방안은 제2 수신기(C200)는 제1 수신기(C100)로부터 제2 수신기(C200)를 위한 트리거를 지속적으로 전달 받을 필요가 없다는 점에서 유용하다. 또한, 트리거에 포함된 이벤트에 대한 데이터를 미리 다운로드 함으로써, 데이터 로딩 시간을 줄일 수 있다는 점에서도 유용하다.
또한, 이후에도 제2 수신기(C200)는 제1 수신기(C100)로부터 트리거 정보(또는, TriggerInfo 정보)를 이벤팅(eventing) 방식으로 전달받을 수 있다. 예를 들어, 제2 수신기(C200)는 제1 수신기(C100)로부터 media Time trigger를 eventing 방식으로 전달받을 수 있다.
도 372은 본 발명의 일 실시예에 따른 방송 수신 장치의 동작을 나타낸 흐름도이다.
본 발명의 일 실시예에 따른 송수신 시스템은 송신기, 방송 수신 장치(또는, 제1 수신기), 및/또는 세컨드 스크린 디바이스(또는, 제2 수신기) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 송수신 시스템에 대한 설명은 전술한 송수신 시스템에 대한 내용을 모두 포함할 수 있다. 이하에서는 방송 수신 장치의 동작을 설명한다.
방송 수신 장치는, 방송 수신부를 이용하여, 방송 신호를 수신할 수 있다(CS2100). 예를 들어, 방송 수신 장치는 방송 수신부 및/또는 IP 송수신부를 이용하여 방송 신호를 수신할 수 있다.
방송 수신 장치는, 제어부를 이용하여, 상기 방송 신호로부터 방송 서비스가 포함하는 어플리케이션을 시그널링하는 어플리케이션 시그널링 정보를 획득할 수 있다(CS2200). 예를 들어, 방송 수신 장치는, 제어부를 이용하여, 방송 신호로부터 시그널링 정보를 획득하고, 시그널링 정보로부터 어플리케이션 시그널링 정보를 획득할 수 있다.
방송 수신 장치는 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다.
어플리케이션 시그널링 정보는 트리거, 트리거 위치 정보, 및 트리거링 어플리케이션 정보 중에서 적어도 하나를 포함할 수 있다. 트리거는 어플리케이션의 동작을 트리거링할 수 있다. 예를 들어, 트리거는 인터렉티브 서비스를 지원하는 타이밍 관련 시그널링 동작을 수행할 수 있다. 트리거 위치 정보는 트리거의 위치를 지시할 수 있다. 트리거링 어플리케이션 정보는 트리거링되는 어플리케이션에 관한 정보를 시그널링할 수 있다. 예를 들어, 트리거링 어플리케이션 정보는 어플리케이션 및 어플리케이션에 타케팅된 이벤트에 대한 메타데이터를 포함할 수 있다.
방송 수신 장치는, App 송수신부를 이용하여, 어플리케이션 시그널링 정보를 기초로 트리거를 세컨드 스크린 디바이스로 전달할 수 있다(CS2300).
방송 수신 장치는, App 송수신부를 이용하여, 트리거의 전달을 위한 트리거 전달 정보를 세컨드 스크린 디바이스로 전달할 수 있다.
트리거 전달 정보는 트리거에 대한 속성을 지시하는 트리거 정보, 적어도 하나의 트리거 정보를 포함하는 트리거 리스트 정보, 트리거의 위치를 지시하는 트리거 위치 정보, 및 어플리케이션 식별자의 리스트를 지시하는 어플리케이션 식별자 리스트 정보 중에서 적어도 하나를 포함할 수 있다.
트리거 정보는 어플리케이션을 식별하는 어플리케이션 식별자, 트리거의 타입을 지시하는 트리거 타입 정보, 어플리케이션의 동작을 지시하는 동작 정보, 트리거의 시작 시간을 지시하는 이벤트 시작 시간 정보, 트리거의 종료 시간을 지시하는 이벤트 종료 시간 정보, 트리거와 관련된 데이터를 포함하는 데이터 정보, 및/또는 트리거와 관련된 데이터의 위치를 지시하는 데이터 위치 정보 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치는, App 송수신부를 이용하여, 세컨드 스크린 디바이스를 위한 어플리케이션 통지에 관한 정보를 포함하는 어플리케이션 통지 정보를 더 전달할 수 있다.
어플리케이션 통지 정보는 어플리케이션 통지가 디스플레이되는 장치를 지시하는 targetDevice attribute, 어플리케이션 통지의 top margin을 지시하는 topMargin attribute, 어플리케이션 통지의 right margin을 지시하는 rightMargin attribute, 어플리케이션 통지가 처음 디스플레이되는 시간을 지시하는 show attribute, 어플리케이션 통지가 디스플레이되는 지속시간을 지시하는 lasting attribute, 어플리케이션 통지들 사이의 시간 간격(interval time)을 지시하는 interval attribute, 어플리케이션 통지의 통지 메시지를 지시하는 message element, 및/또는 어플리케이션 통지의 로고 이미지를 지시하는 logo element 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치는 시그널링 정보, 어플리케이션 시그널링 정보, 트리거 전달 정보, 및/또는 어플리케이션 통지 정보를 이벤트 및/또는 세컨드 스크린 디바이스의 요청을 기초로 세컨드 스크린 디바이스에 전달할 수 있다. 방송 수신 장치가 이벤트 및 세컨드 스크린 디바이스의 요청을 기초로 데이터를 전달하는 것은 전술한 바와 동일하다.
도 373는 본 발명의 일 실시예에 따른 방송 시스템의 구성을 나타내는 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치 및 콘텐트 서버(C10), 방송 수신 장치(C100), 및/또는 컴패니언 디바이스(C200) 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치/콘텐트 서버(C10)는 방송 서비스를 제공할 수 있다. 방송 전송 장치/콘텐트 서버(C10)는 전술한 방송 송신 장치(미도시), 컨텐츠 제공자(미도시), 컨텐츠 서버(미도시), 제어부(미도시), 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다. 또한, 방송 전송 장치/콘텐트 서버(C10)는 송신기로 표현할 수 있다. 방송 수신 장치(C100)는 방송망 및/또는 인테넷망을 통하여 방송 서비스를 수신할 수 있다. 방송 수신 장치(C100)는 수신기, 제1 수신기, 제1 스크린 디바이스(first screen device), 마스터 디바이스(Master Device, MD), 및/또는 프라이머리 디바이스(Primary Device, PD)로 표현할 수 있다. 방송 수신 장치(C100)는 브로드캐스트 인터페이스(C100; 또는 방송 수신부), 브로드 밴드 인터페이스(C130; 또는 IP 송수신부), 컴패니언 스크린 인터페이스(C140; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C150) 중에서 적어도 하나를 포함할 수 있다. 컴패니언 스크린 디바이스(C200)는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 컴패니언 스크린 디바이스(C100)는 제2 방송 수신 장치, 제2 수신기, 제2 스크린 디바이스(second screen device), 슬레이브 디바이스(Slave Device, SD), 및/또는 컴패니언 디바이스(Companion Device, CD)로 표현할 수 있다. 컴패니언 스크린 디바이스(C200)는 브로드밴드 인터페이스(C230; 또는 IP 송수신부), 프라이머리 디바이스 인터페이스(C240; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C250) 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치/송신기(C10), 방송 수신 장치(C100), 및/또는 컴패니언 스크린 디바이스(C200)에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
이하에서는 PD(또는 방송 수신 장치)와 CD(컴패니언 스크린 디바이스)의 동작들을 설명한다.
ATSC 3.0 컴패니언 디바이스 요구사항들을 지원하기 위해서 필요한 동작들을 설명한다. 여기에는, 지원되는 다섯 가지 유형의 기능들이 있다.
첫 번째 기능은 CD에서 동시 재생을 위하여 PD에서 현재 선택된 서비스의 일부인 연속적인 컴포넌트들을 흘려보내기(stream)위해 PD를 사용하는 것이다. 컴포넌트들은 PD에서 재생되는 컴포넌트들과 동일할 수 있다. 또는 컴포넌트들은 현재 PD에서 재생되지 않는 대체적인 컴포넌트들일 수 있다.
두 번째 기능은 PD에서 현재 선택된 서비스의 일부인 파일들 또는 데이터를 CD로 전달(deliver)하기 위하여 PD를 사용하는 것이다. 데이터는 PD 외의 소스들로부터 콘텐트에 접근하는 방법 또는 장소를 포함할 수 있다. 예를 들어, 데이터는 원거리 서버의 URL을 포함할 수 있다. CD는 단일의 특정 파일(single particular file) 또는 데이터 패키지를 요청할 수 있다. 또는 CD는 일련의(a series of) 특정 파일들 또는 데이터의 "구독(subscribe)"을 요청할 수 있다.
세 번째 기능은, CD가 PD에서 재생되는 콘텐트와 함께 CD에서 재생되는 콘텐트를 동기화하기 위해서, PD에서 현재 선택된 서비스에 대한 미디어 타임라인 정보를 CD로 전달(deliver)하기 위하여 PD를 사용하는 것이다.
네 번째 기능은 PD 어플리케이션과 협력하는 CD 어플리케이션을 사용하는 것이다. PD 어플리케이션은 스케줄드 리니어 서비스(Scheduled Linear Service)의 일부인 인핸스먼트 어플리케이션일 수 있다. 또한 PD 어플리케이션은 앱-베이스드 서비스(App-Based Service, Unscheduled service)의 일부인 어플리케이션일 수 있다.
다섯 번째 기능은 EAM Delivery 이다. 즉, 다섯 번째 기능은 비상 경보 메시지(Emergency Alert Message)들을 CD로 전달하기 위하여 PD를 사용하는 것이다. 이것은 CD가 연속적인 콘텐트를 디스플레이하고 있을 때 특히 중요하다. 왜냐하면, 비상 경보가 발생했을 때, 사용자(또는, viewer)는 PD에 집중하지 못할 수 있고 PD와 같은 방에 있지 않을 수 있기 때문이다.
서버 역할의 PD와 함께, CD 지원을 위한 적절한 패러다임은 클라이언트-서버 패러다임이다는 것은 예상된다. 즉, PD는 어떤(certain) CD 지원 동작들을 지원할 수 있다. 이것은 CD에도 적용될 수 있다. 각각의 상호작용(interaction)은 특정한(particular) 동작을 적용하기 위하여 클라이언트(또는, CD)로부터 서버(또는, PD)로의 요청에 의해서 개시될 수 있다. 쌍방향 통신(Two-way communication)들이 통신들을 설정(set-up)하기 위하여 클라이언트(또는, CD)로부터 서버(또는, PD)로의 요청에 의해서 개시될 수 있다. PD로부터 CD로의 비동기 통지(asynchronous notification)들은 서버(또는, PD)에 통지들의 스트림을 구독하는 것을 요청하는 클라이언트(또는, CD) 요청에 의하여 개시될 수 있다. 이하에서 서술되는 모든 메시지들은 다르게 명시된 것을 제외하고는 유니캐스트일 수 있다.
보안 메커니즘은 CD 어플리케이션 요청들을 인증하기 위하여 필요할 수 있다.
몇 가지 동작들에서, CD는 원격 서버에서 콘텐트를 검색(retrieve)하기 위해서 URL을 제공받을 수 있다. 이러한 경우에, 원격 서버가 특정(particular) CD에 적절한 버전의 요청된 콘텐트를 전달하도록 하기위해서, CD는 원격 서버에 그 자체에 대한 정보를 제공할 수 있다. 예를 들어, ATSC 2.0 은 이러한 목적을 위해서 HbbTV 설명서(Per TS 102 796 Section 7.3.2.4, except replace "HbbTV/1.2.1" with "ATSC-ISS/1.0")에 기초한 "User Agent"를 명시하였다.
이하에서는, 디바이스 디스커버리(Device Discovery)에 대하여 설명한다.
PD 어플리케이션 및 CD 어플리케이션 모두는 그들의 존재와 ATSC 3.0 서비스 지원을 수색(searching) 및/또는 광고(advertising)하는 멀티캐스트 디스커버리 메시지(multicast discovery message)들을 전송할 수 있다.
한 가정(household)은 홈 네트워크 상에서 하나 이상의 PD를 가질 수 있고, 따라서 CD 어플리케이션은 디스커버리 메시지들을 복수의 PD들로부터 수신할 수 있다. 이런 경우에, CD 어플리케이션은 사용자에게 어떤 PD(들)와 상호작용을 할 것인지 질문할 수 있다(예를 들어, CD 어플리케이션은 사용자의 결정을 돕기 위하여 디스커버리 메시지들로부터 정보를 디스플레이할 수 있다).
CD 어플리케이션은 PD를 검색하기 위한 CD 어플리케이션 서치 요청 메시지(CD App Search Request Message)를 멀티캐스트로 전송할 수 있다. 예를 들어, CD가 네트워크에 참가할 때 또는 CD 어플리케이션이 시작할 때, CD 어플리케이션 내에서 디스커버리 스캔이 개시될 때(예를 들어, 사용자가 새로운 또는 다른 TV 수신기에 연결하기를 원하고, 새로운 스캔을 개시할 때), CD가 PD의 디바이스 타입/서비스 타입에 대한 멀티캐스트 요청을 전송할 때, 및/또는 실행에 의존하여 주기적으로, CD 어플리케이션은 PD를 검색하기 위한 CD 어플리케이션 서치 요청 메시지(CD App Search Request Message)를 멀티캐스트로 전송할 수 있다. 예를 들어, 파라미터들은 CD 어플리케이션이 찾는 디바이스 타입 및/또는 서비스 타입(Device and/or Service type CD app is looking for)(DVD 플레이어 등으로부터 응답을 피하기 위해서)중에서 적어도 하나를 포함할 수 있다.
PD는 PD 광고 매시지(PD Advertisement Message)를 멀티캐스트로 전송할 수 있고, 서치 응답 메시지(Search Response Message)를 유니캐스트로 전송할 수 있다. 예를 들어, PD가 네트워크/LAN에 참가할 때(광고 ?? 멀티캐스트), PD가 제공하는 CD 지원 동작들의 리스트에서 변경이 있을 때(광고 ?? 멀티캐스트), 실행에 의존하여 주기적으로(광고 ?? 멀티캐스트), 및/또는 CD 로부터 멀티캐스트 서치 요청(multicast Search request)을 수신할 때(서치 응답 ?? 유니캐스트), PD는 PD 광고 매시지(PD Advertisement Message)를 멀티캐스트로 전송할 수 있고, 서치 응답 메시지(Search Response Message)를 유니캐스트로 전송할 수 있다. 예를 들어, 파라미터들은 PD 디바이스 식별자(PD Device ID), PD 디바이스 유형(PD Device type)(ATSC 3.0 TV Set) 및 (ATSC 3.0 지원) 버전, PD의 사용자 친화적인 이름(예를 들어, Living Room TV), 지원되는 CD 지원 동작들, 및/또는 기타 파라미터들 중에서 적어도 하나를 포함할 수 있다.
CD는 CD 광고 메시지(CD Advertisement Message)를 멀티캐스트로 전송할 수 있고, 서치 응답 메시지(Search Response Message)를 유니캐스트로 전송할 수 있다. 예를 들어, CD가 네트워크에 참가할 때(또는, CD 어플리케이션이 시작할 때)(광고 ?? 멀티캐스트), CD가 제공하는 PD 지원 동작들의 리스트에 변경이 있을 때(광고 ?? 멀티캐스트), 실행에 의존하여 주기적으로(광고 ?? 멀티캐스트), 및/또는 CD의 디바이스/서비스 타입에 대한 (멀티캐스트) 서치 요청을 PD로부터 수신할 때(CD로부터 유니캐스트 서치 메시지 응답), CD는 CD 광고 메시지(CD Advertisement Message)를 멀티캐스트로 전송할 수 있고, 서치 응답 메시지(Search Response Message)를 유니캐스트로 전송할 수 있다. 예를 들어, 파라미터들은 CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App version), 사람이 읽을 수 있는 CD의 이름, 지원되는 CD 서비스들(서비스 타입들), 및/또는 기타 파라키터들 중에서 적어도 하나를 포함할 수 있다.
PD는 CD를 검색하기 위한 PD 서치 요청 메시지(PD Search Request Message)를 멀티캐스트로 전송할 수 있다. 예를 들어, PD가 시작할 때/ PD가 네트워크에 참가할 때, PD 내에서 디스커버리 스캔이 개시될 때(예를 들어, 사용자가 새로운 또는 다른 CD에 연결을 원하고, 새로운 스캔을 개시할 때), PD가 CD 의 디바이스 타입/서비스 타입에 대한 멀티캐스트 요청을 전송할 때는 언제든지, 및/또는 실행에 의존하여 주기적으로, PD는 CD를 검색하기 위한 PD 서치 요청 메시지(PD Search Request Message)를 멀티캐스트로 전송할 수 있다. 예를 들어, 메시지의 파라미터들은 검색되는 CD 디바이스 타입 및/또는 CD 서비스 타입(CD device type and/or CD service type) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 메시지의 파라미터들은 PD 정보(예를 들어, PD 디바이스 식별자(PD Device ID), PD 어플리케이션 식별자(PD App ID), PD 어플리케이션 버전(PD App Version), 등)를 포함할 수 있다.
이하에서는 콘텐트 식별자 구독(Subscribe to Content Identification)에 대하여 설명한다.
몇몇 CD 어플리케이션(예를 들어, "아메리칸 아이돌" 컴패니언 어플리케이션)들은 단 하나의 쇼(Show)를 위하여 디자인 될 수 있다. 또는 몇몇 CD 어플리케이션(예를 들어, WBZ Channel 4 컴패니언 어플리케이션)들은 단 하나의 서비스를 위하여 디자인 될 수 있다. 반면에, 다른 CD 어플리케이션들은 복수의 서비스들 및/또는 복수의 쇼(Show)들에 대하여 동작하도록 설계될 수 있다. 또한 CD 어플리케이션(예를 들어, Ford truck 어플리케이션)은 인터스티셜(interstitial)들을 동반하도록 설계될 수 있다. 따라서, CD 어플리케이션은 현재 PD 에서 무슨 서비스가 선택되었는지를 알 필요가 있을 수 있고, 서비스 변경들(예를 들어, channel changes)을 추적할 필요가 있을 수 있다. 그리고 어떤 경우에는, CD 어플리케이션은 현재 무슨 쇼(Show) 또는 심지어 무슨 세그먼트(Segment)가 재생되는지를 알 필요가 있을 수 있고, 그것들의 변경들을 추적할 필요가 있을 수 있다.
CD는 콘텐트 식별자 구독 요청(Content Identification Subscription Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다(즉, 어플리케이션 디자이너에 따라서 결정될 수 있다). 예를 들어, 파라미터들은 구독 콜백 URL/정보(Subscription callback URL/ information), 및/또는 요청된 구독 기간(Requested subscription duration) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 콘텐트 식별자 구독 응답(Content Identification Subscription Response)을 전송할 수 있다. 예를 들어, 구독 요청을 받자마자(초기 응답), 및/또는 콘텐트가 변경될 때마다(이후의 응답들)(즉, 서비스, 쇼, 또는 세그먼트가 변경될 때마다), PD는 콘텐트 식별자 구독 응답(Content Identification Subscription Response)을 전송할 수 있다. 예를 들어, 파라미터들은 PD 디바이스 식별자(PD Device ID), 구독 식별자(Subscription ID), 및/또는 확인된 구독 기간(Confirmed Subscription duration) 중에서 적어도 하나를 포함할 수 있다.
CD는 콘텐트 식별자 구독 갱신/취소 요청(Content Identification Subscription Renew/Cancel Request)을 전송할 수 있다. 예를 들어, 구독을 갱신하기 위해서 구독 타임아웃 이전, 및/또는 구독을 취소하기 위해서 언제든지, CD는 콘텐트 식별자 구독 갱신/취소 요청(Content Identification Subscription Renew/Cancel Request)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독을 갱신하기 위해서 요청된 구독 기간(Requested subscription duration to renew subscription) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 콘텐트 식별자 구독 갱신/취소 응답(Content Identification Subscription Renew/Cancel Response)을 전송할 수 있다. 예를 들어, 구독 갱신/취소 요청을 받자마자, PD는 콘텐트 식별자 구독 갱신/취소 응답(Content Identification Subscription Renew/Cancel Response)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독 갱신 요청을 위한 확인된 구독 기간(Confirmed Subscription Duration for subscription renewal) 중에서 적어도 하나를 포함할 수 있다.
PD는 콘텐트 식별자 메시지(Content Identification Message)를 전송할 수 있다. 예를 들어, 구독 요청을 받자마자, 및/또는 현재 콘텐트의 식별 또는 관련된 정보가 변경된 때, PD는 콘텐트 식별자 메시지(Content Identification Message)를 전송할 수 있다. 예를 들어, 파라미터들은 서비스 식별자(Service ID), 쇼 식별자(Show ID), 및/또는 세그먼트 식별자(Segment ID) 중에서 적어도 하나를 포함할 수 있다. 또한, 파라미터들은 주어진 쇼 및/또는 세그먼트 내에서 현재의 임시 위치(Current temporal location within the given Show and/or Segment)를 포함할 수 있다. 각각의 서비스, 쇼, 및/또는 세그먼트는 이용가능한 정보, 이용가능한 연속적인 컴포넌트들, 및/또는 이용가능한 파일 및 데이터를 포함할 수 있다. 이용가능한 정보에 대하여, 파라미터들은 textual name, description, logo, 및/또는 other ESG info (rating, etc.)) 중에서 적어도 하나를 포함할 수 있다. 이용할 수 있는 연속적인 컴포넌트들의 각각의 컴포넌트에 대하여, 파라미터들은 컴포넌트 식별자(Component ID), 컴포넌트 타입(Component Type), 컴포넌트 이름(Component Name), 컴포넌트 디스크립션(Component Description), 컴포넌트 속성들(예를 들어, bit rate, aspect ratio, device capabilities required/desired, etc.), 컴포넌트 필터 조건(예를 들어, targeted to certain demographic profiles), 및/또는 각각의 컴포넌트의 위치(예를 들어, URLs or IP address, port, protocol) (위치는 PD로부터 오는 스트림 또는 인터넷으로부터 직접 오는 스트림을 지시할 수 있다) 중에서 적어도 하나를 포함할 수 있다. 이용할 수 있는 파일들 또는 데이터의 각각의 파일 또는 데이터 엘리먼트에 대하여, 파라미터들은 파일 식별자 / 데이터 식별자(File ID/data ID), 파일 타입 / 데이터 타입(File Type/data Type), 파일 이름 / 데이터 이름(File Name/data Name), 파일 디스크립션 / 데이터 디스크립션(File Description/data Description), 파일 속성들 / 데이터 속성들(예를 들어, size, codec, device capabilities require/desired, etc.), 구독 및/또는 단 한번(one-off) 이용할 수 있는 정보(Available as subscription or one-off or both), 컴포넌트 필터 조건(예를 들어, 어떤 데모그래픽 프로파일들(demographic profiles)에 타게팅된 컴포넌트 필터 조건), 및/또는 데이터 및/또는 파일에 접근하기위한 위치(예를 들어, PD로부터 데이터 및/또는 파일에 접근하기위한 위치, 어떤 URL에서 원격 서버로부터 데이터 및/또는 파일에 접근하기위한 위치 등) 중에서 적어도 하나를 포함할 수 있다.
CD는 콘텐트 식별자 메시지에 대한 응답(Response to Content Identification Message)을 전송할 수 있다. 예를 들어, PD로부터 콘텐트 식별자 메시지(Content Identification Message)를 수신한 때, CD는 콘텐트 식별자 메시지에 대한 응답(Response to Content Identification Message)을 전송할 수 있다. 예를 들어, 파라미터들은 CD 디바이스 식별자(CD Device ID) 또는 CD 어플리케이션 식별자(CD App ID)를 포함할 수 있다.
이하에서는 현재 서비스 또는 쇼에 대한 ESG-타입 정보 요청(Request ESG-type Information about the current Service or Show)에 대하여 설명한다.
이것은 CD가 TV에 무엇이 있는지에 대한 정보를 요청하도록 할 수 있다. 예를 들어, 정보는 텍스트 이름(textual name), 디스크립션(description), 로고(logo), 등급(rating) 등과 같은 ESG에 포함될 수 있는 정보를 포함할 수 있다. 이것은 CD 어플리케이션이 사람이 읽을 수 있는 정보를 사용자에게 디스플레이하도록 할 수 있다. 예를 들어, CD 어플리케이션은 "You are watching [Show] starring [actor]."를 디스플레이 할 수 있다.
CD는 서비스/쇼 정보 요청(Service/Show Information Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다. 즉, 어플리케이션 디자이너의 결정에 따라서, CD는 서비스/쇼 정보 요청(Service/Show Information Request)을 전송할 수 있다. 예를 들어, 파라미터들은 선택적으로 CD 정보(예를 들어, CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 서비스/쇼 정보 응답(Service/Show Information Response)을 전송할 수 있다. 예를 들어, CD 요청을 수신하자 마자, PD는 서비스/쇼 정보 응답(Service/Show Information Response)을 전송할 수 있다. 예를 들어, 파라미터들은 서비스 식별자 및 쇼 식별자(Service ID and Show ID), 및/또는 서비스 ESG 정보 및 쇼 ESG 정보(Service ESG information and Show ESG information) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터는 PD 정보(예를 들어, PD 디바이스 식별자(PD Device ID) 등)를 포함할 수 있다.
이하에서는 구독없이 현재 서비스, 쇼, 또는 세그먼트에 대한 현재 정보 요청(Request current Information about current Service, Show or Segment without subscription)에 대하여 설명한다.
구독에 기반한 접근(subscription based approach) 및 팔로우-온 요청(follow-on request)에 더하여, CD는, 아래와 같이 CD로부터 PD로 향하는 단일 트랜잭션 요청-응답 스타일의 통신을 사용하여, 서비스 식별자(service identification)를 먼저 구독하지 않고 PD에서 현재 재생 중인 서비스/쇼/세그먼트에 대한 정보를 직접적으로 얻을 수 있다.
CD는 현재 서비스 정보를 수신하기 위해서 CD 요청(CD request to PD to receive current service information)을 전송할 수 있다. 예를 들어, 어플리케이션에 의해서 필요하면 언제든지, CD는 현재 서비스 정보를 수신하기 위해서 CD 요청(CD request to PD to receive current service information)을 전송할 수 있다. 예를 들어, 파라미터들은 현재 쇼 ESG 정보를 요청하는 정보, 현재 쇼에 대한 현재 이용가능한 컴포넌트들을 요청하는 정보, 현재 쇼 내에서 현재 타임라인 위치를 요청하는 정보, 현재 쇼에 대한 현재 이용가능한 파일들 또는 비실시간(non real-time) 콘텐트를 요청하는 정보, 및/또는 필터링 조건을 요청(예를 들어, 컴포넌트 속성들)하는 정보 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 PD 현재 서비스 정보 응답(PD current service information Response)을 전송할 수 있다. 예를 들어, 현재 서비스 정보 요청을 수신하자 마자, PD는 PD 현재 서비스 정보 응답(PD current service information Response)을 전송할 수 있다. 예를 들어, 파라미터들은 현재 쇼 ESG 정보(Current show ESG information), 현재 쇼에 대하여 현재 이용가능한 컴포넌트들에 대한 정보(Information about current available components for the current show), 현재 쇼에 대한 현재 타임라인 위치(Current timeline location with the current show), 현재 쇼에 대한 현재 이용가능한 파일들 또는 비실시간 콘텐트(Information about current available files or non real-time content for the current show), 및/또는 필터링 조건(Filtering Criterion) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 PD 정보(예를 들어, PD 디바이스 식별자(PD Device ID) emd)를 포함할 수 있다.
이하에서는, PD로부터 연속적인 컴포넌트 요청(Request Continuous Component from PD)에 대하여 설명한다.
만약 PD 서비스 정보 응답(PD Service Information Response)이 PD로부터 흐를 수 있는 연속적인 컴포넌트(Continuous Component)들의 이용가능성 및 접근 위치를 포함하면, CD는 이 스트림을 수신하는 것을 요청할 수 있다.(연속적인 컴포넌트(Continuous Component)들은 브로드밴드(또는, 인터넷망)를 통해서 원격 서버로부터 이용가능할 수도 있지만, 구체적인 내용은 생략한다.)
CD는 연속적인 컴포넌트 요청(Continuous Component Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다. 즉, 어플리케이션 디자이너의 결정에 따라서, CD는 연속적인 컴포넌트 요청(Continuous Component Request)을 전송할 수 있다. 예를 들어, 파라미터들은 컴포넌트 식별자(Component ID)를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등) 를 포함할 수 있다.
PD는 연속적인 컴포넌트 요청 응답(Continuous Component Request Response)을 전송할 수 있다. 예를 들어, 유효한 CD 어플리케이션 요청을 수신하자마자, PD는 연속적인 컴포넌트 요청 응답(Continuous Component Request Response)을 전송할 수 있다. 예를 들어, 파라미터들은 컴포넌트 식별자(Component ID), 및/또는 컴포넌트의 접근 위치를 포함할 수 있다. 선택적으로, 파라미터들은 PD 정보(예를 들어, PD 디바이스 식별자(PD Device ID) 등)를 포함할 수 있다.
CD가 컴포넌트의 접근 위치(예를 들어, URL)을 획득한 후에, CD는 새로운 것을 명시하지 않고 HTTP GET 방법을 통해서 콘텐트를 끌어당길 수 있다. 게다가, 스트림이 PD에 의해서 "밀려(pushed)"지지 않고 CD에 의해서 "당겨(pulled)"지기 때문에(즉, 스트리밍은 CD에 의해서 제어된다), 스트림을 제어하기 위해서 PD와 CD 사이에 메시지 프로토콜들(예를 들어, "Start" 또는 "End")을 정의할 필요는 없다.
이하에서는, PD로부터 데이터/파일 요청(Request Data/File from PD)에 대하여 설명한다.
만약 PD 서비스 정보 응답(PD Service Information Response)이 PD로부터 접근될 수 있는 데이터 또는 파일 컴포넌트들의 이용가능성을 포함하면, CD는 컴포넌트(들)을 수신하는 것을 요청할 수 있다.(데이터/파일 컴포넌트들은 브로드밴드를 통해서 원격 서버로부터 이용가능할 수도 있지만, 구체적인 설명은 생략한다.)
CD는 데이터/파일 요청(Data/file Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다. 즉, 어플리케이션 설계자의 결정에 따라서, CD는 데이터/파일 요청(Data/file Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다. 예를 들어, 파라미터들은 CD 어플리케이션이 수신하고자 하는 아이템(들)에 대한 데이터 식별자(들)/파일 식별자(들)(Data/File ID(s))을 포함할 수 있다. 만약 구독이 선택적이면, 구독이 바람직한지 명시할 수 있다. 만약 그렇다면, 구독을 수신하는 시작(Start) 또는 중단(Stop)를 명시할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등) 를 포함할 수 있다.
PD는 데이터/파일 요청 응답(Data/File Request Response)을 전송할 수 있다. 예를 들어, CD 어플리케이션 요청을 받자마자, PD는 데이터/파일 요청 응답(Data/File Request Response)을 전송할 수 있다. 또는 구독 요청이 있으면, PD는 브로드캐스트 스트림에 있는 통지(notification)들에 따라서 추가적인 데이터/파일들을 전송할 수 있다. 예를 들어, 파라미터들은 데이터/파일의 접속 위치(Access Location of the Data/file), 및/또는 요청된 아이템(들)에 대한 데이터 식별자/파일 식별자(들)(Data/File ID(s)) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 PD 정보(예를 들어, PD 디바이스 식별자(PD Device ID, etc.))를 포함할 수 있다.
이하에서는, 미디어 타임라인 체크포인트들 요청(Request Media Timeline Checkpoints)에 대해서 설명한다.
만약 CD가 PD로부터 직접적으로 또는 다른 소스(예를 들어, 원격 서버)로부터 추가의 콘텐트(supplementary content)에 접속하면, CD는 CD에서 디스플레이하는 콘텐트와 PD에서 디스플레이하는 콘텐트 사이에 동기(sync)를 유지하기 위해서 PD로부터 진행중인(on-going) 미디어 타임라인 정보가 필요할 수 있다.
단일의 요청 응답 접근(single request response approach) 뿐만 아니라 구독 기반 접근(subscription based approach)은 PD로부터 타임라인 체크포인트(timeline checkpoint)들을 수신하기위해서 지원된다. CD가 정확한 내부 클럭(internal clock)을 가질 수 있기 때문에, 요청 응답 구조(request response architecture)는 PD와 동기(sync)를 유지하기 위해서 CD에 의한 바람직한 인터벌(interval)에서 타임라인을 폴링(polling)하는 것을 허용한다.
이하에서는, 구독 기반 접근(Subscription based approach)에 대하여 설명한다.
CD는 미디어 타임라인 체크포인트들 구독 요청(Media Timeline Checkpoints Subscription Request)을 전송할 수 있다. 예를 들어, 시기는 명시되지 않을 수 있다. 즉, 어플리케이션 설계자의 결정에 따라서, CD는 미디어 타임라인 체크포인트들 구독 요청(Media Timeline Checkpoints Subscription Request)을 전송할 수 있다. 예를 들어, 파라미터들은 관심있는 서비스 식별자 / 쇼 식별자 / 세그먼트 식별자(Service/Show/Segment ID of interest)를 포함할 수 있다. 또한, 파라미터들은 통지 빈도(Notification frequency)를 포함할 수 있다. 통지 빈도는 명시된 최대 빈도를 초과하지 않는 요청된 빈도이며, 임시적인 업데이트들을 수신하기 위해서 요청된 빈도(예를 들어, 매 2초를 초과하지 않는 빈도)일 수 있다; 만약 통지 빈도가 명시되지 않으면, 수신기는 빈도를 결정할 수 있다. 또는 수신기는 규정될 디폴트 값을 설정할 수 있다. 또한, 파라미터들은 구독 콜백 URL(Subscription callback URL)/정보, 및/또는 요청된 구독 기간(Requested subscription duration) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 미디어 타임라인 체크포인트들 구독 응답(Media Timeline Checkpoints Subscription Response)을 전송할 수 있다. 예를 들어, CD 어플리케이션으로부터 요청을 받으면(초기 응답(Initial response)), 및/또는 확인된 통지 빈도에 따라서(차후 응답들(Subsequent responses)), PD는 미디어 타임라인 체크포인트들 구독 응답(Media Timeline Checkpoints Subscription Response)을 전송할 수 있다. 예를 들어, 파라미터들은 PD 디바이스 식별자(PD Device ID), 관심있는 서비스 식별자 / 쇼 식별자 / 세그먼트 식별자(Service/Show/Segment ID of interest), 구독 식별자(Subscription ID), 확인된 구독 기간(Subscription duration), 및/또는 확인된 통지 빈도(Notification frequency) 중에서 적어도 하나를 포함할 수 있다.
CD는 미디어 타임라인 체크포인트들 구독 갱신/취소 요청(Media Timeline Checkpoints Subscription Renew/Cancel Request)을 전송할 수 있다. 예를 들어, 구독을 갱신하기 위한 구독 타임아웃 이전에, 및/또는 구독을 취소하기 위해서 언제든지, CD는 미디어 타임라인 체크포인트들 구독 갱신/취소 요청(Media Timeline Checkpoints Subscription Renew/Cancel Request)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독을 갱신하기 위해서 요청된 구독 기간(subscription duration)를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 멀티미디어 타임라인 체크포인트들 구독 갱신/취소 응답(Media Timeline Checkpoints Subscription Renew/Cancel Response)을 전송할 수 있다. 예를 들어, 구독 갱신/취소 요청을 수신하자마자, PD는 멀티미디어 타임라인 체크포인트들 구독 갱신/취소 응답(Media Timeline Checkpoints Subscription Renew/Cancel Response)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독 갱신 요청을 위한 확인된 구독 기간 중에서 적어도 하나를 포함할 수 있다.
이하에서는, 미디어 플레이백 상태 정보 통신(Media Playback State Information Communication)에 대하여 설명한다.
PD에서 미디어 플레이백 상태를 CD로 전달하기위한 동작이 지원된다. 이 것은 CD가 PD와 동기화된 상태에서 미디어 스트림을 재생(playing back)할 때 유용할 수 있다.
CD는 현재 미디어 재생 상태 정보를 수신하기 위해서 PD에게 CD 구독 요청(CD subscription request to PD to receive current media playback state information)을 전송할 수 있다. 예를 들어, 어플리케이션에 의해서 필요하면 언제든지, CD는 현재 미디어 재생 상태 정보를 수신하기 위해서 PD에게 CD 구독 요청(CD subscription request to PD to receive current media playback state information)을 전송할 수 있다. 예를 들어, 파라미터들은 미디어 플레이백 상태가 요청되기 위한 URL/ID(URL/ ID for which media playback state is requested), 미디어 상태 구독 콜백 URL/정보(Media state subscription callback URL/ information), 및/또는 요청된 구독 기간(Requested subscription duration) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 PD 미디어 콜백 상태 구독 응답(PD media playback state subscription response)을 전송할 수 있다. 예를 들어, 현재 미디어 재생 상태 구독 정보 요청을 수신하자마자, PD는 PD 미디어 콜백 상태 구독 응답(PD media playback state subscription response)을 전송할 수 있다. 예를 들어, 파라미터들은 PD 디바이스 식별자(PD Device ID), 미디어 재생 상태 구독 식별자(Media playback state subscription ID), 및/또는 확인된 구독 기간(Confirmed Subscription duration) 중에서 적어도 하나를 포함할 수 있다.
PD는 CD에게 미디어 플레이백 상태의 PD 통지를 전송할 수 있다. 예를 들어, PD에서 미디어 재생 상태가 변경된 때 또는 주기적으로, PD는 CD에게 미디어 플레이백 상태의 PD 통지를 전송할 수 있다. 예를 들어, 통지 파라미터들은 요청된 URL/ID에 대한 현재 미디어 플레이백 상태 정보를 포함할 수 있다. 예를 들어, 상태는 재생(Playing), 일시 정지(Paused), 중단(Stopped), 앞으로 빨리감기(Fast Forward; Speed of Fast Forward), 뒤로 빨리감기(Fast Backward; Speed of Fast Backward), 버퍼링(Buffering) 중에서 적어도 하나를 포함할 수 있다.
이하에서는, PD 어플리케이션과 CD 어플리케이션 사이의 통신(PD App to CD App Communication)에 대하여 설명한다.
몇몇의 사례에서, PD 어플리케이션과 CD 어플리케이션은 서로 협력하여(in tandem) 동작하기 위해서 설계될 수 있다. 이 경우, 어플리케이션 설계자는 어플리케이션 간의 통신(app-to-app communication)의 구체적인 내용에 대하여 결정할 것이 예상된다. PD 어플리케이션들과 CD 어플리케이션들은 모두 다른 어플리케이션(the other application)에 대한 사용자에 대한 정보를 포함하고 있고, 또한 다른 어플리케이션(the other application)을 다운로드하는 방법 및 시작(launch)하는 방법을 포함할 수 있다. 비록 CD 어플리케이션이 현재 시작되지 않더라도, CD 어플리케이션은 PD 어플리케이션으로부터의 어나운스먼트 메시지(announcement message)를 들으려고 항상 "귀를 기울이는" 메커니즘을 포함할 수 있다. ATSC가 이러한 동작에 대한 어떤 표준들을 명시할 것이라는 것은 예상되지 않는다. (HbbTV 2.0은 필요한 동작에 대하여 몇몇 규격(specification)들을 제공한다)
이하에서는 PD에서 CD로의 긴급 경보 메시지 전송(Transmit Emergency Alert Messages from PD to CD)에 대하여 설명한다.
PD로부터 CD로의 긴급 경보 메시지(Emergency Alert Message; EAM)의 구독 기반 전달(Subscription based delivery)은 아래와 같이 메시지 교환을 사용하여 지원될 수 있다.
CD는 EAM을 수신하기 위하여 PD에게 CD 구독 요청(CD Subscription request to PD to receive Emergency Alert Messages)을 전송할 수 있다. 예를 들어, CD가 네트워크에 참가하여 EAM 기능이 활성화된 때(또는 CD 어플리케이션이 시작할 때), CD는 EAM을 수신하기 위하여 PD에게 CD 구독 요청(CD Subscription request to PD to receive Emergency Alert Messages)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 콜백 URL/정보(Subscription callback URL/ information), 및/또는 요청된 구독 기간(Requested subscription duration) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 EAM 필터링 조건(EAM Filtering criterion) (예를 들어, geo-location), 및/또는 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등) 중에서 적어도 하나를 포함할 수 있다.
PD는 PD EAM 구독 응답(PD EAM Subscription Response)을 전송할 수 있다. 예를 들어, 구독 요청을 받자마자, PD는 PD EAM 구독 응답(PD EAM Subscription Response)을 전송할 수 있다. 예를 들어, 파라미터들은 PD 디바이스 식별자(PD Device ID), 구독 식별자(Subscription ID), 및/또는 확인된 구독 기간(Confirmed Subscription duration) 중에서 적어도 하나를 포함할 수 있다.
CD는 CD EAM 구독 갱신/취소 요청(CD EAM Subscription Renew/ Cancel Request)을 전송할 수 있다. 예를 들어, 구독을 갱신하기 위한 구독 타임아웃 이전에(before subscription timeout to renew subscription), 및/또는 구독을 취소할 때, CD는 CD EAM 구독 갱신/취소 요청(CD EAM Subscription Renew/ Cancel Request)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독을 갱신하기 위해서 요청된 구독 기간(Requested subscription duration to renew subscription)을 포함할 수 있다. 선택적으로, 파라미터들은 CD 정보(CD 디바이스 식별자(CD Device ID), CD 어플리케이션 식별자(CD App ID), CD 어플리케이션 버전(CD App Version), 등)를 포함할 수 있다.
PD는 PD EAM 구독 갱신/취소 응답(PD EAM Subscription Renew/ Cancel Response)을 전송할 수 있다. 예를 들어, 구독 갱신/취소 요청을 받자마자, PD는 PD EAM 구독 갱신/취소 응답(PD EAM Subscription Renew/ Cancel Response)을 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), 및/또는 구독 갱신 요청에 대한 확인된 구독 기간(Confirmed Subscription Duration for subscription renewal request) 중에서 적어도 하나를 포함할 수 있다.
PD는 EAM의 PD 통지(PD Notification of Emergency Alert Message)를 전송할 수 있다. 예를 들어, 긴급 경보 메시지(Emergency Alert Message)를 수신하자마자, PD는 EAM의 PD 통지(PD Notification of Emergency Alert Message)를 전송할 수 있다. 예를 들어, 파라미터들은 구독 식별자(Subscription ID), EAM의 처음의 콘텐트들(Initial contents of EAM), EAM의 처음의 콘텐트들의 속성들(Characteristics of initial contents of EAM) (예를 들어, new message, continual or one-time message, includes rich media as well as text), 및/또는 이용가능한 추가적인 콘텐트(Additional content available) 중에서 적어도 하나를 포함할 수 있다.
CD는 EAM에 대한 CD 응답(CD Response to Emergency Alert Message)을 전송할 수 있다. 예를 들어, PD로부터 긴급 경보 메시지를 수신한 때, CD는 EAM에 대한 CD 응답(CD Response to Emergency Alert Message)을 전송할 수 있다. 예를 들어, 파라미터들은 CD 디바이스 식별자(CD Device ID), 및/또는 CD 어플리케이션 식별자(CD App ID) 중에서 적어도 하나를 포함할 수 있다. 선택적으로, 파라미터들은 추가적인 콘텐트에 대한 요청을 포함할 수 있다.
Note : 많은 응답 메시지는 위에서 언급한 파라미터들에 더하여 성공/실패를 지시할 수 있다.
이하에서는, 사용예들(Use cases)을 설명한다.
예를 들어, Julio는 TV 스크린으로 그가 선호하는 Rock & Roll 밴드의 방송 콘서트를 시청하고 있다. TV에서의 통지 팝업(notification pop-up)은 그에게 각각의 뮤지션을 보여주는(presenting) 콘서트의 대체적인 카메라 뷰(alternative camera view)들이 그의 CD에 있는 지정된 어플리케이션을 통하여 이용가능하다는 것을 알려준다. Julio는 기타리스트, 베이시스트, 싱어 및 드러머를 클로우즈-업한 장면들(close-ups)이 이용가능하다는 것을 알려주는 어플리케이션을 시작할 수 있다. Julio는 노래에서 기타 솔로 도중에 기타리스트를 선택할 수 있고, 나중에는 드러머로 변경할 수 있다. TV 스크린 및 컴패니언 스크린에서 미디어 콘텐트들은 동시에 랜더링(synchronously rendered)될 수 있다.
예를 들어, Mary는 시각 장애자를 위한 비디오 디스크립션을 듣는 것(hearing video description)에 관심이 있지만, Mary는 방에 있는 모든 시청자들이 그것을 듣는 것을 원하지는 않는다. 그녀의 CD에 있는 어플리케이션을 이용하여, 그녀는 다양한 이용가능한 오디오 트랙들을 발견하고, 그녀의 CD에서 재생하기위한 디스크립션 트랙(description track)을 선택할 수 있다. John은 시각 장애인이고, 사운드 디스크립션(sound description)과 함께 클로우즈드 캡션(closed caption)들을 읽고 싶어 한다. 그의 CD에 있는 어플리케이션을 이용하여, 그는 클로우즈드 캡션들을 위한 다양한 옵션들을 발견하고, 그의 CD에서 재생하기 위한 오디오 디스크립션과 함께 하나를 선택할 수 있다. Hector는 스페인어 서브타이틀들을 읽는 것 대신에 목소리 더빙(voice over-dub)들을 선호한다. 그는 텍스트를 목소리로 변환하는 기능(text-to-voice function)을 가진 CD 어플리케이션을 가지고 있다. 그의 CD를 사용하여, 그는 스페인어 서브타이틀들을 발견하고, 텍스트를 헤드폰들을 통해서 듣는 목소리로 변경하는 어플리케이션을 사용할 수 있다.
예를 들어, Jane은 그녀가 좋아하는 게임 쇼를 시청하고 있다. TV에서의 통지 팝업(A notification pop-up)은 그녀에게 지정된 태블릿 어플리케이션을 통하여 그녀의 태블릿에서 함께 플레이할 수 있다는 것을 알려준다. 그녀는 그 어플리케이션을 시작하고, 실시간으로 게임 쇼에 따라서 플레이할 수 있다. 쇼에서 표현되는 것과 동시에 그녀의 태블릿에서 각각의 질문이 그녀에게 표현된다. 그리고 그녀의 응답 시간은 그 쇼의 참가자가 가진 응답 시간에 제한된다. 그녀의 점수는 어플리케이션에 의해서 추적되고, 그녀는 태블릿 어플리케이션을 사용하여 함께 플레이하고 있는 다른 시청자들 사이에서 그녀의 랭킹을 볼 수 있다.
예를 들어, George는 그의 메인 TV에서 온디맨드 어플리케이션(OnDemand app)을 시작한다. TV 어플리케이션은 George를 위한 프로그램 추천(program recommendation)들을 만들기 위해서 George로부터 몇 가지 데모그래픽 정보(demographic information)를 요청할 수 있다. TV 어플리케이션은, 데이터를 더욱 쉽게 입력하기 위해서, George가 다운로드 할 수 있는 컴패니언 태블릿 어플리케이션을 제안한다. George는 태블릿 어플리케이션을 다운로드 및 시작한다. 태블릿 어플리케이션은 George에게 데이터 입력 필드(data entry field)들을 제공한다. George는 그의 태블릿에서 데이터 입력(data entry)을 완료하고, 그 정보는 TV 어플리케이션에 등록된다. TV 어플리케이션은 그의 입력들을 기초로 몇가지 온디맨드 프로그램(OnDemand program)들을 추천한다. George는 그의 TV에서 표현되는 추천되는 프로그램들 중에서 하나를 선택하기위해서 그의 태블릿을 사용한다. 대체적인 방법으로, George는 메인 TV 대신에 그의 태블릿에서 표현되는 추천되는 프로그램들 중에서 하나를 선택하기위해서 그의 태블릿을 사용한다.
예를 들어, Laura는 거실에서 그녀가 좋아하는 프로그램을 시청하고 있다. 그녀는 집 주변에서 할 필요가 있는 다양한 일들을 가지고 있다. 하지만, 그녀는 그녀가 좋아하는 쇼를 놓치고 싶지 않다. 그녀는 그녀의 TV 뿐만 아니라 그녀의 태블릿에서도 그녀의 쇼를 시청할 수 있게 하는 그녀의 태블릿에 있는 어플리케이션을 시작한다. 그녀는 방에서 방으로 옮겨다니면서 그녀의 태블릿으로 그녀의 쇼를 계속 시청한다. Laura가 세탁실에 있는 동안에, 긴급 경보 메시지기 방송된다. 메시지는 그녀의 태블릿에 나타난다. 태블릿은 또한 그녀에게 그녀가 원하면 볼 수 있는 이벤트의 비디오가 있다는 것을 알려준다. 그녀는 비디오를 선택하고, 시청을 시작한다. 그녀는 긴급 메시지가 전달하는 지시(instruction)들을 따른다.
도 374은 본 발명의 일 실시예에 따른 시간 정보의 전달을 위한 방송 시스템을 나타낸 도면이다.
본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치 및 콘텐트 서버(C10), 방송 수신 장치(C100), 및/또는 컴패니언 디바이스(C200) 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치/콘텐트 서버(C10)는 방송 서비스를 제공할 수 있다. 방송 전송 장치/콘텐트 서버(C10)는 전술한 방송 송신 장치(미도시), 컨텐츠 제공자(미도시), 컨텐츠 서버(미도시), 제어부(미도시), 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다. 또한, 방송 전송 장치/콘텐트 서버(C10)는 송신기로 표현할 수 있다. 방송 수신 장치(C100)는 방송망 및/또는 인테넷망을 통하여 방송 서비스를 수신할 수 있다. 방송 수신 장치(C100)는 수신기, 제1 수신기, 제1 스크린 디바이스(first screen device), 마스터 디바이스(Master Device, MD), 및/또는 프라이머리 디바이스(Primary Device, PD)로 표현할 수 있다. 방송 수신 장치(C100)는 브로드캐스트 인터페이스(C110; 또는 방송 수신부), 브로드 밴드 인터페이스(C130; 또는 IP 송수신부), 컴패니언 스크린 인터페이스(C140; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C150) 중에서 적어도 하나를 포함할 수 있다. 컴패니언 스크린 디바이스(C200)는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 컴패니언 스크린 디바이스(C100)는 제2 방송 수신 장치, 제2 수신기, 제2 스크린 디바이스(second screen device), 슬레이브 디바이스(Slave Device, SD), 및/또는 컴패니언 디바이스(Companion Device, CD)로 표현할 수 있다. 컴패니언 스크린 디바이스(C200)는 브로드밴드 인터페이스(C230; 또는 IP 송수신부), 프라이머리 디바이스 인터페이스(C240; 또는 App 송수신부), 디코더(미도시), 디스플레이(미도시), 및/또는 제어부(C250) 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치/송신기(C10), 방송 수신 장치(C100), 및/또는 컴패니언 스크린 디바이스(C200)에 대한 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치(C100)의 제어부(C150)는 브로드캐스트 인터페이스(C110) 및 컴패니언 스크린 인터페이스(C140)를 동작시킬 수 있다.
제어부(C150)는 방송 수신 장치(C100)에서 컴패니언 스크린 디바이스(C200)로 시그널링 정보(예를 들어, 어플리케이션 시그널링 정보, 트리거)를 전달하는 어플리케이션 시그널링 서비스 프로세서(application signaling service processor; 미도시)를 포함할 수 있다. 어플리케이션 시그널링 서비스 프로세서의 구체적인 내용은 전술한 바와 동일하다.
컴패니언 스크린 디바이스(C200)가 방송 수신 장치(C100)와 연동하여 서비스를 제공하기 위해서는 방송 수신 장치(C100)와 컴패니언 스크린 디바이스(C200) 사이에 시간 동기화를 유지할 필요가 있다. 본 발명의 일 실시예에 따른 방송 시스템은 방송 수신 장치(C100)를 이용하여 A/V 콘텐트의 미디어 타임 정보를 포함하는 시그널링 정보를 수신하고, 시그널링 정보를 기초로 방송 수신 장치에서 디스플레이되는 A/V 콘텐트와 컴패니언 스크린 디바이스(C200)에서 디스플레이되는 A/V 콘텐트 사이에 동기화와 관련된 데이터를 제공하는 서비스 시간 정보를 생성하고, 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
이를 위하여, 본 발명의 일 실시예에 따른 방송 수신 장치(C100)의 제어부(C150)는 시그널링 정보를 기초로 방송 수신 장치에서 디스플레이되는 A/V 콘텐트와 컴패니언 스크린 디바이스에서 디스플레이되는 A/V 콘텐트 사이에 시간 동기화와 관련된 데이터를 제공하는 서비스 시간 정보를 생성하는 시간 동기화 서비스 프로세서(C153)를 더 포함할 수 있다.
시간 동기화 서비스는 방송 수신 장치(C100)와 컴패니언 스크린 디바이스(C200)의 시간 동기화를 위한 서비스 시간 정보를 생성하고, 방송 수신 장치(C100)에서 컴패니언 스크린 디바이스(C200)로 서비스 시간 정보를 전달하는 서비스를 나타낸다. 서비스 시간 정보는 방송 수신 장치(C100)에서 디스플레이되는 A/V 콘텐트와 컴패니언 스크린 디바이스(C200)에서 디스플레이되는 A/V 콘텐트 사이에 동기화와 관련된 데이터를 제공하는 정보이다. 방송 수신 장치(C100)가 컴패니언 스크린 디바이스(C200)로 시간 동기화를 위해 제공할 수 있는 서비스 시간 정보는 서비스(예: Linear Service) 중인 프로그램의 미디어 타임 정보(예를 들어, media time) 및/또는 현재 시각 정보 (예: wall clock) 중에서 적어도 하나를 포함할 수 있다.
즉, 서비스 시간 정보의 생성 및/또는 방송 수신 장치(C100)에서 컴패니언 스크린 디바이스(C200)로 서비스 시간 정보의 전달을 담당하는 프로세서를 시간 동기화 서비스 프로세서(C153; time sync service processor)라고 부를 수 있다. 시간 동기화 서비스 프로세서(C153)는 방송 수신 장치(C100)가 컴패니언 스크린 디바이스(C200)와 미디어(media) 및 인터랙티브 어플리케이션(interactive application) 등에 대해 시간 동기화를 맞추기 위해서 미디어 타임 정보(media time information) 및/또는 현재 시각 정보(wall clock information) 중에서 적어도 하나를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 일 실시예로, Service Type은 urn:atsc.org:serviceId:atsc3.0:timesync와 같이 정의할 수 있다.
예를 들어, 방송 수신 장치(C100)는 시그널링 정보를 수신할 수 있다. 방송 수신 장치(C100)는 방송망을 통하여 시그널링 정보를 수신할 수 있다. 시그널링 정보는 어플리케이션 시그널링를 포함할 수 있다. 어플리케이션 시그널링 정보는 트리거 및/또는 트리거링 어플리케이션 정보를 포함할 수 있다. 또한, 시그널링 정보는 재생되는 A/V 콘텐트의 미디어 타임 정보를 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치(C100)는 제어부(C150)의 시간 동기화 서비스 프로세서(C153)를 이용하여 시그널링 정보를 기초로 방송 수신 장치(C100)와 컴패니언 스크린 디바이스(C200) 사이의 시간 동기화를 위한 서비스 시간 정보를 생성할 수 있다. 그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 인터페이스(C140)를 이용하여 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
구체적으로, 방송 수신 장치(C100)는 시간 동기화 서비스 프로세서(C153)를 이용하여 서비스 시간 정보를 전달하는 간격(interval)을 지시하는 전달 간격 정보(update interval information)을 생성할 수 있다. 또한, 방송 수신 장치(C100)는 컴패니언 스크린 인터페이스(C140)를 이용하여 전달 간격 정보를 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
간격(interval)은 주기(duration) 및 빈도(frequency)를 포함하는 개념이다. 이하에서는 주기(duration)을 먼저 설명하고, 빈도(frequency)를 설명한다.
이하에서는 방송 수신 장치(C100)가 방송망을 통해 A/V 콘텐트의 미디어 타임 정보를 포함하는 시그널링 정보를 수신하고, 시그널링 정보를 기초로 서비스 시간 정보를 생성하고, 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달하는 방안에 대해서 기술한다. 예를 들어, 방송 수신 장치(C100)는 이벤트(또는 트리거링 이벤트)를 실행하여(Eventing 방식) 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 또한 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)의 요청에 대한 응답(Requesting 방식)으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
도 375는 본 발명의 일 실시예에 따른 서비스 시간 정보의 전달을 위한 state variable들을 나타낸 도면이다.
도면을 참고하면, 서비스 시간 정보의 전달을 위한 state variable들이 나타나 있다. 서비스 시간 정보의 전달을 위한 state variable들은 서비스 시간 정보를 포함하는 ServiceTimeInfo state variable, 전달 주기 정보를 포함하는 UpdateDuration state variable, 및/또는 요청된 전달 주기 정보를 포함하는 A_ARG_TYPE_UpdateDuration state variable 중에서 적어도 하나를 포함할 수 있다. ServiceTimeInfo state variable, UpdateDuration state variable, 및/또는 A_ARG_TYPE_UpdateDuration state variable은 required state variable이다. ServiceTimeInfo state variable은 방송 수신 장치에서 재생 혹은 서비스 중인 프로그램의 media time 및 현재 시각, 즉 wall clock 시간 정보를 포함할 수 있다. UpdateDuration state variable은 방송 수신 장치가 컴패니언 스크린 디바이스에게 동기화를 위한 시간 정보를 eventing 방식으로 전달할 경우 그 전달주기를 나타내는 variable이다. A_ARG_TYPE_UpdateDuration state variable는 컴패니언 스크린 디바이스가 방송 수신 장치로부터 동기화를 위한 시간 정보를 eventing 방식으로 전달받을 경우에, 특정한 전달 주기를 요청하기 위해서 사용될 수 있는 variable이다.
서비스 시간 정보(ServiceTimeInfo)는 방송 수신 장치에서 디스플레이되는 A/V 콘텐트와 컴패니언 스크린 디바이스에서 디스플레이되는 A/V 콘텐트 사이에 시간 동기화와 관련된 데이터를 제공하는 정보이다. 예를 들어, 서비스 시간 정보는 방송 수신 장치에서 재생 또는 서비스 중인 프로그램의 미디어 타임 정보(media time information) 및/또는 월-클럭 시간(wall-clock time) 중에서 적어도 하나를 포함할 수 있다. 방송 수신 장치는 이벤트(또는 트리거링 이벤트)를 실행하여(Eventing 방식) 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 또한 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
전달 주기 정보는 서비스 시간 정보를 전달하는 주기(durarion)를 지시하는 정보이다. 방송 수신 장치는 전달 주기 정보를 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 예를 들어, 전달 주기 정보(UpdateDuration)는 방송 수신 장치가 컴패니언 스크린 디바이스에게 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달할 경우에 전달 주기를 나타내는 정보이다. 즉, 전달 주기 정보는 서비스 시간 정보가 이벤팅되는 주기를 나타낸다. 방송 수신 장치가 컴패니언 스크린 디바이스에게 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달할 경우에, 방송 수신 장치는 전달 주기 정보가 지시하는 주기로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
요청된 전달 주기 정보는, 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달받을 경우에, 컴패니언 스크린 디바이스가 요청하는 전달 주기 정보의 값을 지시하는 정보이다. 구체적으로, 방송 수신 장치가 컴패니언 스크린 디바이스에게 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달할 경우에, 컴패니언 스크린 디바이스는 방송 수신 장치에게 요청된 전달 주기 정보를 기초로 미리 정해진(또는 특정한) 전달 주기를 요청할 수 있다. 컴패니언 스크린 디바이스의 요청에 대한 응답으로, 방송 수신 장치는 요청된 전달 주기 정보를 기초로 전달 주기 정보를 결정하고, 전달 주기 정보가 지시하는 주기으로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 376는 본 발명의 일 실시예에 따른 서비스 시간 정보를 나타낸 도면이다.
서비스 시간 정보는 방송 수신 장치와 컴패니언 스크린 디바이스 사이에 시간 동기화를 위한 정보이다. 서비스 시간 정보는 방송 수신 장치에서 재생 또는 서비스 중인 프로그램의 미디어 타임 정보 및/또는 현재 시각 정보 중에서 적어도 하나를 포함할 수 있다. 또한, 서비스 시간 정보는 전술한 미디어 타임라인 체크포인트(Media Timeline Checkpoint)를 포함할 수 있다.
구체적으로, 서비스 시간 정보는 serviceId attribute, programId attribute, mediaTime element, 및/또는 currentTime element 중에서 적어도 하나를 포함할 수 있다.
serviceId attribute는 제1 수신기에서 현재 선택된 서비스의 고유한 식별자를 지시한다. 예를 들어, 서비스는 리니어 서비스 및/또는 Non-리니어 서비스 중에서 적어도 하나를 포함할 수 있다.
programId attribute는 현재 재생되고 있는 프로그램의 고유한 식별자를 지시한다. 예를 들어, 프로그램은 리니어 서비스 및/또는 Non-리니어 서비스에 포함되는 콘텐트를 포함할 수 있다.
mediaTime element는 현재 재생되고 있는 프로그램의 미디어 타임 정보를 지시할 수 있다. mediaTime element 는 mediaTime element 를 나타내기위해서 사용되는 프로토콜을 지시하는 mediaTimeProtocol attribute를 포함할 수 있다. 예를 들어, mediaTimeProtocol attribute는 timestamp를 지시할 수 있다.
currentTime element 는 현재 시각 정보(wall clock time)를 지시할 수 있다. currentTime element는 currentTime element 를 나타내기 위해서 사용되는 프로토콜을 지시하는 currentTimeProtocol attribute를 포함할 수 있다. 예를 들어, currentTimeProtocol attribute는 Network Time Protocol (NTP)을 지시할 수 있다.
방송 수신 장치는 이벤트(또는 트리거링 이벤트)를 실행하여(Eventing 방식) 방송 수신 장치와 컴패니언 스크린 디바이스 사이에 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 또한 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 377은 본 발명의 일 실시예에 따른 서비스 시간 정보의 XML 포맷을 나타낸 도면이다.
도면을 참고하면, 시비스 시간 정보는 serviceId attribute, programId attribute, mediaTime element, 및/또는 currentTime element 중에서 적어도 하나를 포함할 수 있다.
serviceId attribute 는 "11"을 지시할 수 있다. programId attribute 는 "1008"를 지시할 수 있다. mediaTime element 는 mediaTimeProtocol attribute를 포함할 수 있다. mediaTimeProtocol attribute는 "timestamp"를 지시할 수 있다. 또한, mediaTime element는 "77ee"를 지시할 수 있다. currentTime element 는 currentTimeProtocol attribute를 포함할 수 있다. currentTimeProtocol attribute는 "NTP"를 지시할 수 있다. currentTime element는 "88ee"를 지시할 수 있다.
방송 수신 장치는 서비스 식별자의 값이 "11"인 서비스에서, 프로그램 식별자의 값이 "1008"인 프로그램에 대하여, timestamp로서 "77ee"를 지시하는 미디어 타임 정보 및 NTP로서 "88ee"를 지시하는 현재 시각 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 378은 본 발명의 일 실시예에 따른 서비스 시간 정보를 전달하기 위해서 필요한 동작들을 나타낸 도면이다.
도면의 (a)를 참고하면, 서비스 시간 정보를 전달하기 위해서 필요한 동작들은 서비스 시간 정보 요청(GetServiceTimeInfo(), 또는 제1 요청), 전달 주기 정보 요청(GetUpdateDuration()), 또는 제2 요청), 및/또는 전달 주기 정보 설정 요청(SetUpdateDuration()), 또는 제3 요청) 중에서 적어도 하나를 포함할 수 있다.
서비스 시간 정보 요청(GetServiceTimeInfo(), 또는 제1 요청)은 컴패니언 스크린 디바이스가 방송 수신 장치로 시간 동기화를 위한 서비스 시간 정보의 획득을 요청하는 동작이다.
전달 주기 정보 요청(GetUpdateDuration())은, 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에, 컴패니언 스크린 디바이스가 방송 수신 장치로 전달 주기 정보의 획득을 요청하는 동작이다.
전달 주기 정보 설정 요청(SetUpdateDuration(), 또는 제3요청)은, 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에, 컴패니언 스크린 디바이스가 방송 수신 장치로 전달 주기 정보의 설정을 요청하는 동작이다.
각각의 서비스 시간 정보 요청, 전달 주기 정보 요청, 및/또는 전달 주기 정보 설정 요청은 필수적인 동작일 수도 있고 선택적인 동작일 수도 있다.
도면의 (b)를 참고하면, 서비스 시간 정보 요청과 관련된 Argument가 나타나 있다.
서비스 시간 정보 요청(GetServiceTimeInfo())는 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 요청할 때 사용될 수 있다. 컴패니언 스크린 디바이스는 서비스 시간 정보 요청을 기초로 방송 수신 장치로 시간 동기화를 위한 서비스 시간 정보를 요청할 수 있다. 컴패니언 스크린 디바이스로부터의 서비스 시간 정보 요청에 대한 응답으로, 방송 수신 장치는 컴패니언 스크린 인터페이스를 사용하여 서비스 시간 정보의 획득을 요청하는 서비스 시간 정보 요청(또는 제1 요청)을 기초로 서비스 시간 정보(ServiceTimeInfo Argument)를 컴패니언 스크린 디바이스로 전달할 수 있다. 서비스 시간 정보(ServiceTimeInfo Argument)는 ServiceTimeInfo state variable와 관련된 정보이다.
즉, 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도면의 (c)를 참고하면, 전달 주기 정보 요청과 관련된 Argument가 나타나 있다.
전달 주기 정보 요청(GetUpdateDuration())은 컴패니언 스크린 디바이스가 방송 수신 장치로부터 방송 수신 장치의 현재의 전달 주기 정보를 요청할 때 사용될 수 있다. 컴패니언 스크린 디바이스는 전달 주기 정보 요청을 기초로 방송 수신 장치로 방송 수신 장치의 현재의 전달 주기 정보를 요청할 수 있다.
전달 주기 정보는 서비스 시간 정보가 이벤팅되는 주기를 나타낸다. 컴패니언 디바이스로부터의 전달 주기 정보 요청에 대한 응답으로, 방송 수신 장치는 월-클럭 시간(wall clock time, 또는 현재)이 지시하는 시점에서의 전달 주기 정보의 값을 지시하는 현재 전달 주기 정보(CurrentUpdateDuration Argument)를 컴패니언 스크린 디바이스로 전달할 수 있다. 현재 전달 주기 정보(CurrentUpdateDuration Argument)는 UpdateDuration state variable과 관련된 정보이다.
즉, 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 현재의 전달 주기 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 방송 수신 장치 및/또는 컴패니언 스크린 디바이스는 현재 전달 주기 정보를 확인 후 필요에 따라서 전달 주기 정보의 설정(또는 변경)을 요청할 수 있다.
도면의 (d)를 참고하면, 전달 주기 정보 설정 요청과 관련된 Argument들이 나타나 있다.
전달 주기 정보 설정 요청(SetUpdateDuration())는 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에 전달 주기 정보를 설정 및/또는 변경하기 위해서 사용될 수 있다. 컴패니언 스크린 디바이스는 전달 주기 정보 설정 요청을 기초로, 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에, 전달 주기 정보를 설정 및/또는 변경할 수 있다.
방송 수신 장치에서 컴패니언 스크린 디바이스로 eventing 방식으로 시간 동기화를 위한 서비스 시간 정보를 전달할 경우, 방송 수신 장치는 일정한 주기로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 예를 들어, 방송 수신 장치는 미디어 타임(media time) 및/또는 현재 시간(current time, wall-clock time)이 변할 때마다(예를 들어, 매 초) 서비스 시간 정보를 전달할 수 있다. 이 경우, 서비스 시간 정보의 전달 주기가 너무 짧거나 혹은 너무 길 수 있다. 방송 수신 장치는 기본적으로 디폴트 값으로 설정된 전달 주기 정보(예를 들어, 매 초)를 설정해 놓을 수 있다. 그리고, 컴패니언 스크린 디바이스가 방송 수신 장치와 연동되어 제공하려는 서비스 및/또는 어플리케이션의 특성 및/또는 종류에 따라서, 전달 주기 정보 설정 요청은 컴패니언 스크린 디바이스에 의하여 전달 주기 정보(UpdateDuration)를 설정하기 위하여 사용될 수 있다.
전달 주기 정보 설정 요청과 관련된 Argument들은 요청된 전달 주기 정보(ReqestedUpdateDuration Argument) 및/또는 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument) 중에서 적어도 하나를 포함할 수 있다.
컴패니언 스크린 디바이스가 전달 주기 정보 설정 요청(SetUpdateDuration() action)을 기초로 시간 동기화를 위한 서비스 시간 정보의 특정한 전달 주기 정보(UpdateDuration)를 요청할 경우, 컴패니언 스크린 디바이스는 요청하는 전달 주기 정보의 값을 지시하는 요청된 전달 주기 정보(RequestedUpdateDuration Argument)를 input argument로 방송 수신 장치로 전달할 수 있다. 요청된 전달 주기 정보(RequestedUpdateDuration Argument)는 A_ARG_TYPE_UpdateDuration state variable과 관련된 정보이다.
컴패니언 스크린 디바이스로부터의 전달 주기 정보 설정 요청(SetUpdateDuration() action)에 대한 응답으로, 방송 수신 장치는 확인된 전달 주기 정보(ConfirmedUpdateDuration argument)를 output argument로 컴패니언 스크린 디바이스로 전달할 수 있다. 확인된 전달 주기 정보(ConfirmedUpdateDuration variable)는 UpdateDuration state variable과 관련된 정보이다.
컴패니언 스크린 디바이스가 요청한 요청된 전달 주기 정보(RequestedUpdateDuration Argument)로 방송 수신 장치가 컴패니언 스크린 디바이스로 서비스 시간 정보를 정상적으로 전달할 수 있으면, 방송 수신 장치는 확인된 전달 주기 정보를 요청된 전달 주기 정보와 동일한 값으로 설정할 수 있다. 그리고 나서, 방송 수신 장치는 요청된 전달 주기 정보가 지시하는 전달 주기 정보를 포함하는 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument)를 output argument로 반환한다. 그리고 나서, 방송 수신 장치는 확인된 전달 주기 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
컴패니언 스크린 디바이스가 요청한 요청된 전달 주기 정보(RequestedUpdateDuration Argument)로 방송 수신 장치가 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 없으면, 방송 수신 장치는 전달 주기 정보를 요청된 전달 주기 정보에 가장 가까운 값(또는 default value, 최소의 값)로 설정(혹은 유지)할 수 있다. 그리고 나서, 방송 수신 장치는 요청된 전달 주기 정보에 가장 가까운 값을 지시하는 전달 주기 정보를 포함하는 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument)를 output argument로 반환한다. 그리고 나서, 방송 수신 장치는 확인된 전달 주기 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
예를 들어, 컴패니언 스크린 디바이스가 "매 초" 단위의 전달 주기 정보(UpdateDuration)를 지시하는 요청된 전달 주기 정보를 방송 수신 장치로 전달했으나(RequestedUpdateDuration=1), 방송 수신 장치에서는 해당 프로그램 혹은 어플리케이션이 최 소 "매 분(default 값)" 단위로만 전달 주기 정보(UpdateDuration)를 설정할 경우가 있을 수 있다. 이 경우에는, 방송 수신 장치는 "매 분" 단위의 전달 주기 정보를 지시하는 확인된 전달 주기 정보를 output argument로 반환한다(ConfirmedUpdateDuration=60). 확인된 전달 주기 정보의 전달 주기 정보(UpdateDuration)는 방송 수신 장치의 default 값인 "매 분"으로 유지될 수 있다(UpdateDuration=60). 그리고 나서, 방송 수신 장치는 "매 분" 단위의 전달 주기 정보를 지시하는 확인된 전달 주기 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
만약 방송 수신 장치가 "매 초(또는, 매 1초)" 단위의 전달 주기 정보(UpdateDuration)를 설정(또는 변경)할 수 있다면, 방송 수신 장치는 "매 초" 단위의 전달 주기 정보를 지시하는 확인된 전달 주기 정보를 Output argument로 반환한다(ConfirmedUpdateDuration=1). 그리고 나서, 방송 수신 장치는 "매 초" 단위의 전달 주기 정보를 지시하는 확인된 전달 주기 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
도 379은 본 발명의 일 실시예에 따른 전달 빈도 정보를 나타낸 도면이다.
본 발명의 일 실시예에 따르면, 주기(Duration)은 빈도(Frquency)로 대체 가능하다. 이 경우, 주기(Duration)=1/빈도(Frequency) 이다. 여기서, 주기(Duration)의 단위는 second이고, 빈도(Frequency)의 단위는 1/second 이다. 즉, 주기(Duratioin)의 값이 "2 (second)"이면, 빈도(Frquency)는 "0.5(1/second)"이다.
주기(Duration) 대신 빈도(Frquency)를 사용할 경우, state variable과 동작(action)의 이름이 도면과 같이 변경될 수 있다.
도면의 (a)를 참조하면, 전달 주기 정보(UpdateDuration state variable)는 전달 빈도 정보(UpdateFrequency state variable)로 변경될 수 있다. 전달 빈도 정보는 방송 수신 장치가 컴패니언 스크린 디바이스에게 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달할 경우에 전달 빈도를 지시할 수 있다.
요청된 전달 주기 정보(A_ARG_TYPE_UpdateDuration state variable)는 요청된 전달 빈도 정보(A_ARG_TYPE_UpdateFrequency state variable)로 변경될 수 있다. 요청된 전달 빈도 정보는 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달받을 경우에, 컴패니언 스크린 디바이스가 요청하는 전달 빈도 정보의 값을 지시하는 정보이다.
도면의 (b)를 참조하면, 서비스 시간 정보를 전달하기 위해서 필요한 동작들은 서비스 시간 정보 요청, 전달 빈도 정보 요청, 및/또는 전달 빈도 정보 설정 요청 중에서 적어도 하나를 포함할 수 있다.
서비스 시간 정보 요청은 컴패니언 스크린 디바이스가 방송 수신장치로부터 시간 동기화를 위한 서비스 시간 정보를 요청하는 동작이다.
전달 주기 정보 요청(GetUpdateDuration())은 전달 빈도 정보 요청(GetUpdateFrequency())으로 변경될 수 있다.
전달 빈도 정보 요청(GetUpdateFrequency())은 컴패니언 스크린 디바이스가 방송 수신 장치로부터 방송 수신 장치의 현재의 전달 빈도 정보를 요청할 때 사용될 수 있다. 컴패니언 스크린 디바이스는 전달 빈도 정보 요청을 기초로 방송 수신 장치로 방송 수신 장치의 현재의 전달 빈도 정보를 요청할 수 있다.
전달 빈도 정보는 서비스 시간 정보가 이벤팅되는 빈도를 나타낸다. 컴패니언 디바이스로부터의 전달 빈도 정보 요청에 대한 응답으로, 방송 수신 장치는 월-클럭 시간(wall clock time, 또는 현재)이 지시하는 시점에서의 전달 빈도 정보의 값을 지시하는 현재 전달 빈도 정보(CurrentUpdateFrequency Argument)를 컴패니언 스크린 디바이스로 전달할 수 있다. 현재 전달 빈도 정보(CurrentUpdateFrequency Argument)는 UpdateFrequency state variable과 관련된 정보이다.
즉, 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 현재의 전달 빈도 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 방송 수신 장치 및/또는 컴패니언 스크린 디바이스는 현재 전달 빈도 정보를 확인 후 필요에 따라서 전달 빈도 정보의 설정(또는 변경)을 요청할 수 있다.
전달 주기 정보 설정 요청(SetUpdateDuration())은 전달 빈도 정보 설정 요청(SetUpdateFrequency())으로 변경될 수 있다.
전달 빈도 정보 설정 요청(SetUpdateFrequency())은 컴패니언 스크린 디바이스가 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에 전달 빈도 정보를 설정 및/또는 변경하기 위해서 사용될 수 있다. 컴패니언 스크린 디바이스는 전달 빈도 정보 설정 요청을 기초로, 방송 수신 장치로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에, 전달 빈도 정보를 설정 및/또는 변경할 수 있다.
전달 빈도 정보 설정 요청과 관련된 Argument들은 요청된 전달 빈도 정보(ReqestedUpdateFrequency Argument) 및/또는 확인된 전달 빈도 정보(ConfirmedUpdateFrequency Argument) 중에서 적어도 하나를 포함할 수 있다.
컴패니언 스크린 디바이스가 전달 빈도 정보 설정 요청(SetUpdateFrequency() action)을 기초로 시간 동기화를 위한 서비스 시간 정보의 특정한 전달 빈도 정보(UpdateFrequency)를 요청할 경우, 컴패니언 스크린 디바이스는 요청하는 전달 빈도 정보의 값을 지시하는 요청된 전달 빈도 정보(RequestedUpdateFrequency Argument)를 input argument로 방송 수신 장치로 전달할 수 있다. 요청된 전달 빈도 정보(RequestedUpdateFrequency Argument)는 A_ARG_TYPE_UpdateFrequency state variable과 관련된 정보이다.
컴패니언 스크린 디바이스로부터의 전달 빈도 정보 설정 요청(SetUpdateFrequency() action)에 대한 응답으로, 방송 수신 장치는 확인된 전달 빈도 정보(ConfirmedUpdateFrequency argument)를 output argument로 컴패니언 스크린 디바이스로 전달할 수 있다. 확인된 전달 빈도 정보(ConfirmedUpdateFrequency variable)는 UpdateFrequency state variable과 관련된 정보이다.
컴패니언 스크린 디바이스가 요청한 요청된 전달 빈도 정보(RequestedUpdateFrequency Argument)로 방송 수신 장치가 컴패니언 스크린 디바이스로 서비스 시간 정보를 정상적으로 전달할 수 있으면, 방송 수신 장치는 확인된 전달 빈도 정보를 요청된 전달 빈도 정보와 동일한 값으로 설정할 수 있다. 그리고 나서, 방송 수신 장치는 요청된 전달 빈도 정보가 지시하는 전달 빈도 정보를 포함하는 확인된 전달 빈도 정보(ConfirmedUpdateFrequency Argument)를 output argument로 반환한다. 그리고 나서, 방송 수신 장치는 확인된 전달 빈도 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
컴패니언 스크린 디바이스가 요청한 요청된 전달 빈도 정보(RequestedUpdateFrequency Argument)로 방송 수신 장치가 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 없으면, 방송 수신 장치는 전달 빈도 정보를 요청된 전달 빈도 정보에 가장 가까운 값(또는 default value, 최소의 값)로 설정(혹은 유지)할 수 있다. 그리고 나서, 방송 수신 장치는 요청된 전달 빈도 정보에 가장 가까운 값을 지시하는 전달 빈도 정보를 포함하는 확인된 전달 빈도 정보(ConfirmedUpdateFrequency Argument)를 output argument로 반환한다. 그리고 나서, 방송 수신 장치는 확인된 전달 빈도 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달한다.
주기(Duration)가 빈도(Frquency)로 변경된 경우의 방송 수신 장치 및/또는 컴패니언 스크린 디바이스의 구체적인 동작은 전술한 내용을 모두 포함할 수 있다.
도 380는 본 발명의 일 실시예에 따른 방송 수신 장치가 eventing 방식으로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치/콘텐트 서버(C10), 방송 수신 장치(C100), 및/또는 컴패니언 스크린 디바이스(C200) 중에서 적어도 하나를 포함할 수 있다.
방송 전송 장치/콘텐트 서버(C10)는 방송 서비스를 제공할 수 있다. 예를 들어, 방송 서비스는 콘텐트(또는, 리니어 서비스), 어플리케이션(또는, Non-리니어 서비스), 및/또는 시그널링 정보 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치/콘텐트 서버(C10)는 전술한 방송 전송 장치(미도시), 컨텐츠 제공자(미도시), 콘텐트 서버(미도시), 제어부(미도시), 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치(C100)는 방송망 및/또는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 방송 수신 장치(C100)는 TV Receiver 및/또는 PD로 지칭될 수 있다.
컴패니언 스크린 디바이스(C200)는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 컴패니언 스크린 디바이스는 Mobile Phone 및/또는 CD로 지칭될 수 있다.
이하에서는, 방송 수신 장치가 eventing 방식으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달하는 방법을 설명한다.
먼저, 방송 수신 장치(C100)는 방송 전송 장치/콘텐트 서버(C10)로부터 방송 신호를 수신한다. 방송 수신 장치(C100)는 방송 신호에 기초하여 시그널링 정보를 획득할 수 있다. 구체적으로, 방송 수신 장치(C100)는 시그널링 정보에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 앞서 설명한 바와 같이, 수신기(C100)는 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 시그널링 정보를 획득할 수 있다. 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보(또는, TPT) 중 적어도 어느 하나를 포함할 수 있다. 사용자가 채널을 선택하면, 방송 수신 장치(C100)는 시그널링 정보를 기초로 특정 프로그램을 사용자에게 제공(또는 방송) 할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)와 discovery 및/또는 pairing 단계를 수행한다. 예를 들어, 제공하는 프로그램에 따라서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스를 발견(discover)하고, 데이터를 주고 받을 수 있도록 컴패니언 스크린 디바이스와 전기적으로 연결(pair)할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)로부터 시간 동기화 서비스의 구독(subscribe)을 요청받을 수 있다. 또는 컴패니언 스크린 디바이스(C200)는 시간 동기화 서비스의 구독을 방송 수신 장치(C100)에게 요청할 수 있다. 시간 동기화 서비스는 방송 수신 장치(C100)에서 디스플레이되는 A/V 콘텐트와 컴패니언 스크린 디바이스(C200)에서 디스플레이되는 콘텐트의 시간 동기화를 제공하는 서비스 시간 정보를 생성하고, 방송 수신 장치(C100)에서 컴패니언 스크린 디바이스(C200)로 서비스 시간 정보를 전달하는 서비스를 나타낸다. 서비스 시간 정보는 전술한 미디어 타임라인 체크포인트(Media Timeline Checkpoint)를 포함할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 재생되는 A/V 콘텐트의 미디어 타임 정보를 포함하는 시그널링 정보를 방송 전송 장치/콘텐트 서버(C10)로부터 수신할 수 있다. 시그널링 정보는 미디어 타임 정보(media time) 및/또는 현재 시각 정보(wall clock) 중에서 적어도 하나를 포함할 수 있다. 앞서 설명한 바와 같이, 방송 수신 장치(C100)는 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 시그널링 정보를 수신할 수 있다. 방송 수신 장치(C100)는 프로그램의 방송하는 도중에 미리 설정된 시간 간격으로 미디어 타임 정보를 포함하는 시그널링 정보를 수신할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 서비스 시간 정보(ServiceTimeInfo)를 eventing 방식으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 예를 들어, 방송 수신 장치(C100)는 서비스 시간 정보를 디폴트 값으로 설정된 전달 주기 정보(예를 들어, 매 분)를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 방송 수신 장치(C100)의 현재의 전달 주기 정보의 획득을 요청하는 전달 주기 정보 요청(GetUpdateDuration()), 또는 제2 요청)을 상기 컴패니언 스크린 디바이스(C200)로부터 수신할 수 있다.
컴패니언 스크린 디바이스(C200)는 전달 주기 정보 요청을 기초로 방송 수신 장치(C100)의 현재의 전달 주기 정보를 방송 수신 장치(C100)에게 요청할 수 있다. 컴패니언 스크린 디바이스(C200)로부터의 전달 주기 정보 요청에 대한 응답으로, 전달 주기 정보 요청을 기초로 월-클럭 시간(wall clock time)이 지시하는 시점에서의 전달 주기 정보의 값을 지시하는 현재 전달 주기 정보를 생성하고, 현재 전달 주기 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)의 요청에 대한 응답(Requesting 방식)으로 현재 전달 주기 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 컴패니언 스크린 디바이스(C200)는 전달 주기 정보 요청을 기초로 방송 수신 장치(C100)의 현재의 전달 주기 정보를 확인할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 전달 주기 정보의 설정을 요청하는 전달 주기 정보 설정 요청(SetUpdateDuration()), 또는 제3 요청)을 컴패니언 스크린 디바이스(C200)로부터 수신할 수 있다.
예를 들어, 방송 수신 장치(C100)는, 컴패니언 스크린 디바이스(C200)가 방송 수신 장치(C100)로부터 시간 동기화를 위한 서비스 시간 정보를 eventing 방식으로 전달 받을 경우에, 전달 주기를 설정(또는 변경)하는 전달 주기 정보 설정 요청(SetUpdateDuration() action)을 컴패니언 스크린 디바이스(C200)로부터 수신할 수 있다. 예를 들어, 컴패니언 스크린 디바이스(C200)는 요청하는 전달 주기 정보의 값을 지시하는 요청된 전달 주기 정보(RequestedUpdateDuration Argument)를 방송 수신 장치로 전달할 수 있다.
예를 들어, 요청된 전달 주기 정보(RequestedUpdateDuration Argument)는 "1초"를 지시할 수 있다. 컴패니언 스크린 디바이스(C200)는 전달 주기 정보 설정 요청(SetUpdateDuration() action)을 사용하여 1초로 전달 주기를 설정하는 것을 요청할 수 있다.
그리고 나서, 방송 수신 장치는 요청된 전달 주기 정보(RequestedUpdateDuration Argument)를 기초로 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument)를 생성할 수 있다. 또한, 방송 수신 장치(C100)는 확인된 전달 주기 정보를 컴패니언 스크린 디바이스로 전송할 수 있다. 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument)는 요청된 전달 주기 정보(RequestedUpdateDuration Argument)와 동일한 값 및/또는 방송 수신 장치(C100)에서 제공할 수 있는 전달 주기 정보들 중에서 요청된 전달 주기 정보(RequestedUpdateDuration Argument)에 가장 가까운 값을 지시할 수 있다. 예를 들어, 확인된 전달 주기 정보(ConfirmedUpdateDuration Argument)는 "10초"를 지시할 수 있다. 방송 수신 장치(C100)는 "10초"가 가능한 가장 가까운 값(또는 최소의 전달 주기 정보의 값)이기 때문에, 확인된 전달 주기 정보를 "10초"로 설정할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 확인된 전달 주기 정보를 기초로 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스로 전달할 수 있다. 예를 들어, 제1 수신기는 10초 마다 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
방송 전송 장치/콘텐트 서버(C10)는 프로그램의 종류 및/또는 특성에 따라서 미디어 타임 정보(또는 미디어 타임 업데이트)를 포함하는 시간 정보(또는 시그널링 정보)를 프로그램의 특정 시점 및/또는 주기적으로 방송 수신 장치로 전달할 수 있다.
도 381는 본 발명의 일 실시예에 따른 방송 수신 장치가 request 방식으로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치/콘텐트 서버(C10), 방송 수신 장치(C100), 및/또는 컴패니언 스크린 디바이스(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 방송 시스템의 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
이하에서는, 방송 수신 장치(C100)가 requesting 방식으로 시간 동기화를 위한 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달하는 방법을 설명한다.
먼저, 방송 수신 장치(C100)는 방송 전송 장치/콘텐트 서버(C10)로부터 방송 신호를 수신한다. 방송 수신 장치(C100)는 방송 신호에 기초하여 시그널링 정보를 획득할 수 있다. 사용자가 채널을 선택하면, 방송 수신 장치(C100)는 시그널링 정보를 기초로 특정 프로그램을 사용자에게 제공(또는 방송) 할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)와 discovery 및/또는 pairing 단계를 수행한다. 예를 들어, 제공하는 프로그램에 따라서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스를 발견(discover)하고, 데이터를 주고 받을 수 있도록 컴패니언 스크린 디바이스(C200)와 전기적으로 연결(pair)할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)로부터 서비스 시간 정보의 획득을 요청하는 서비스 시간 정보 요청(또는 GetServiceTimeInfo(), 제1 요청) 을 수신할 수 있다. 서비스 시간 정보 요청(GetServiceTimeInfo() action)은 컴패니언 스크린 디바이스(C200)가 방송 수신 장치(C100)로부터 시간 동기화를 위한 서비스 시간 정보를 요청하는 동작이다. 예를 들어, 컴패니언 스크린 디바이스(C200)는 필요한 시점마다 서비스 시간 정보 요청(GetServiceTimeInfo() action)을 사용하여 방송 수신 장치(C100)에게 서비스 시간 정보를 요청할 수 있다.
그리고 나서, 컴패니언 스크린 디바이스(C200)의 요청에 대한 응답으로, 방송 수신 장치(C100)는 최신의 서비스 시간 정보를 캄패니언 스크린 디바이스(C200)로 전달할 수 있다. 예를 들어, 방송 수신 장치(C100)는 서비스 시간 정보를 획득하는 요청을 기초로 서비스 시간 정보를 requesting 방식으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
방송 전송 장치/콘텐트 서버(C10)는 프로그램의 종류 및/또는 특성에 따라서 미디어 타임 정보(또는 미디어 타임 업데이트)를 포함하는 시간 정보(또는 시그널링 정보)를 프로그램의 특정 시점 및/또는 주기적으로 방송 수신 장치로 전달할 수 있다.
도 382는 본 발명의 일 실시예에 따른 방송 수신 장치의 동작을 나타낸 흐름도이다.
방송 신호 수신 장치는 브로드캐스트 인터페이스를 이용하여 방송 신호를 수신할 수 있다(CS3100). 예를 들어, 방송 신호 수신 장치는 브로드캐스트 인터페이스를 이용하여 오디오/비디오(A/V) 프로그램을 포함하는 서비스 및 시그널링 정보를 수신할 수 있다. 예를 들어, 프로그램은 콘텐트를 지칭할 수 있다. 즉, 오디오/비디오(A/V) 프로그램은 A/V 콘텐트를 지칭할 수 있다.
예를 들어, 시그널링 정보는 재생되는 A/V 프로그램의 미디어 타임 정보를 포함할 수 있다.
그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 컴패니언 스크린 디바이스를 발견할 수 있다(CS3200). 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 컴패니언 스크린 디바이스로 데이터 및/또는 시그널링 정보를 전달하거나 컴패니언 스크린 디바이스로부터 데이터 및/또는 시그널링 정보를 수신할 수 있다.
그리고 나서, 방송 수신 장치는 제어부를 이용하여 브로드캐스트 인터페이스 및 컴패니언 스크린 인터페이스를 동작시킬 수 있다. 제어부는 시간 동기화 서비스 프로세서를 포함할 수 있다.
그리고 나서, 방송 수신 장치는 제어부 및/또는 시간 동기화 서비스 프로세서를 이용하여 시그널링 정보를 기초로 A/V 프로그램과 컴패니언 스크린 디바이스에서 디스플레이되는 A/V 프로그램 사이에 시간 동기화와 관련된 데이터를 제공하는 서비스 시간 정보를 생성할 수 있다(CS3300).
그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다(CS3400).
본 발명의 일 실시예에 따른 서비스 시간 정보는 서비스의 식별자를 지시하는 serviceId attribute, 서비스에서 재생되고 있는 프로그램의 식별자를 지시하는 programId attribute, 프로그램의 미디어 타임 정보를 지시하는 mediaTime element, 및/또는 월-클럭 시간(wall clock time)을 지시하는 currentTime element 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 requesting 방식을 이용하여 서비스 시간 정보를 전달할 수 있다. 방송 신호 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 컴패니언 스크린 디바이스로부터 수신한 서비스 시간 정보의 획득을 요청하는 제1 요청을 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 eventing 방식을 이용하여 서비스 시간 정보를 전달 할 수 있다. 방송 수신 장치는 시간 동기화 서비스 프로세서를 이용하여 서비스 시간 정보를 전달하는 간격(interval)을 지시하는 전달 간격 정보(update interval information)을 생성할 수 있다. 그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 전달 간격 정보를 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
본 발명의 일 실시예에 따른 전달 간격 정보는 서비스 시간 정보를 전달하는 주기를 지시하는 전달 주기 정보 및 서비스 시간 정보를 전달하는 빈도를 지시하는 전달 빈도 정보 중에서 하나일 수 있다. 예를 들어, 간격(interval)은 주기(duration) 및/또는 빈도(frequency)를 포함할 수 있다. 또한, 전달 간격 정보(update interval information)는 전달 주기 정보(update duration information) 및/또는 전달 빈도 정보(update frequency information)을 포함할 수 있다.
방송 수신 장치는 전달 간격 정보의 획득을 요청할 수 있다. 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 전달 간격 정보의 획득을 요청하는 제2 요청(또는 전달 간격 정보 요청)을 컴패니언 스크린 디바이스로부터 수신할 수 있다. 그리고 나서, 방송 수신 장치는 시간 동기화 서비스 프로세서를 이용하여 제2 요청을 기초로 월-클럭 시간(wall clock time)이 지시하는 시점에서의 전달 간격 정보의 값을 지시하는 현재 전달 간격 정보를 생성할 수 있다. 그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 현재 전달 간격 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
예를 들어, 전달 간격 정보 요청은 전달 주기 정보 요청 및/또는 전달 빈도 정보 요청을 포함할 수 있다. 현재 전달 간격 정보는 현재 전달 주기 정보 및/또는 현재 전달 빈도 정보를 포함할 수 있다.
방송 수신 장치는 전달 간격 정보의 설정을 요청할 수 있다. 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 전달 간격 정보의 설정을 요청하는 제3 요청(또는 전달 간격 정보 설정 요청)을 컴패니언 스크린 디바이스로부터 수신할 수 있다. 제3 요청은 컴패니언 스크린 디바이스가 요청하는 전달 간격 정보의 값을 지시하는 요청된 전달 간격 정보를 포함할 수 있다. 그리고 나서, 방송 수신 장치는 시간 동기화 서비스 프로세서를 이용하여 요청된 전달 간격 정보와 동일한 값 및 요청된 전달 간격 정보에 가장 가까운 값 중에서 하나를 지시하는 확인된 전달 간격 정보를 생성할 수 있다. 그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 확인된 전달 간격 요청 정보를 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
예를 들어, 전달 간격 정보 설정 요청은 전달 주기 정보 설정 요청 및/또는 전달 빈도 정보 설정 요청을 포함할 수 있다. 요청된 전달 간격 정보는 요청된 전달 주기 정보 및/또는 요청된 전달 빈도 정보를 포함할 수 있다. 확인된 전달 간격 정보는 확인된 전달 주기 정보 및/또는 확인된 전달 빈도 정보를 포함할 수 있다.
도 383은 본 발명의 일 실시 예에 따른 방송 수신 장치와 컴패니언 스크린 디바이스가 동기화된 도면을 나타낸다.
다음과 같은 상황을 가정할 수 있다. 사용자는 방송 수신 장치(또는 PD)를 통해서 드라마 프로그램을 시청 중이다. 이 드라마는 컴패니언 스크린 디바이스(또는 CD)의 어플리케이션을 통해서 장면(scene) 별로 등장인물의 생각에 대한 내용, twitter 메시지, pop-up 퀴즈 등과 같은 부가정보를 사용자에게 제공할 수 있다. 사용자는 자신의 컴패니언 스크린 디바이스(또는 CD)를 방송 수신 장치와 연결(또는 paring) 해놓은 상태이다. 드라마의 오디오/비디오 콘텐트는 방송망을 통해서 방송 수신 장치로 전달될 수 있다. 부가정보는 인터넷망을 통해서 방송 수신 장치 및/또는 컴패니언 스크린 디바이스로 전달될 수 있다. 방송 전송 장치 및/또는 콘텐트 제공자는 드라마의 미디어 타임에 따라서 컴패니언 스크린 디바이스가 특정 부가정보를 디스플레이하도록 할 수 있다. 방송 수신 장치 및/또는 컴패니언 스크린 디바이스는 드라마의 미디어 타임에 따라서 특정 부가정보를 디스플레이할 수 있다.
도면을 참고하면, 방송 수신 장치와 컴패니언 스크린 디바이스가 동기화되어 있다.
방송 수신 장치는 컴패니언 스크린 디바이스와 연결되어 있다. 또한, 방송 수신 장치는 오디오/비디오 콘텐트를 포함하는 프로그램을 방송망을 통하여 수신할 수 있다. 또한 방송 수신 장치는 부가정보를 포함하는 어플리케이션 데이터를 방송망 및/또는 인터넷망을 통하여 수신할 수 있다. 부가정보는 이벤트 A 및/또는 이벤트 B를 포함할 수 있다.
방송 수신 장치는 이벤트 A(event A)를 프로그램의 장면 A(scene A)에 해당하는 미디어 타임(media time 1200 sec)에 실행할 수 있다. 또한, 방송 수신 장치는 이벤트 B(event B)를 장면 B(scene B)에 해당하는 미디어 타임(media time 4200 sec)에 실행할 수 있다.
컴패니언 스크린 디바이스는 부가정보를 포함하는 어플리케이션 데이터를 인터넷망을 통하여 수신할 수 있다. 부가정보는 이벤트 A 및/또는 이벤트 B를 포함할 수 있다.
컴패니언 스크린 디바이스는 이벤트 A를 프로그램의 장면 A(scene A)에 해당하는 미디어 타임(media time 1200 sec)에 실행할 수 있다. 또한, 컴패니언 스크린 디바이스는 이벤트 B(event B)를 장면 B(scene B)에 해당하는 미디어 타임(media time 4200 sec)에 실행할 수 있다.
방송 수신 장치와 컴패니언 스크린 디바이스가 동기화되어 있으므로, 방송 수신 장치의 이벤트 A와 컴패니언 스크린 디바이스의 이벤트 A는 동시에 실행될 수 있다. 즉, 방송 수신 장치에서 이벤트 A가 실행되는 월-클럭(wall-clock)과 컴패니언 스크린 디바이스에서 이벤트 A가 실행되는 월-클럭(wall-clock)은 동일하다. 또한, 방송 수신 장치의 이벤트 B와 컴패니언 스크린 디바이스의 이벤트 B는 동시에 실행될 수 있다. 즉, 방송 수신 장치에서 이벤트 B가 실행되는 월-클럭(wall-clock)과 컴패니언 스크린 디바이스에서 이벤트 B가 실행되는 월-클럭(wall-clock)은 동일하다.
도 384은 본 발명의 일 실시 예에 따른 방송 수신 장치와 컴패니언 스크린 디바이스가 동기화되지 않은 도면을 나타낸다.
도면을 참조하면, 방송 수신 장치와 컴패니언 스크린 디바이스가 동기화되어 있지 않다.
방송 수신 장치와 컴패니언 스크린 디바이스가 동기화되어 있지않으므로, 방송 수신 장치의 이벤트 A와 컴패니언 스크린 디바이스의 이벤트 A는 동시에 실행되지 않는다. 즉, 방송 수신 장치에서 이벤트 A가 실행되는 월-클럭(wall-clock)과 컴패니언 스크린 디바이스에서 이벤트 A가 실행되는 월-클럭(wall-clock)은 다르다. 또한, 방송 수신 장치의 이벤트 B와 컴패니언 스크린 디바이스의 이벤트 B는 동시에 실행되지 않는다. 즉, 방송 수신 장치에서 이벤트 B가 실행되는 월-클럭(wall-clock)과 컴패니언 스크린 디바이스에서 이벤트 B가 실행되는 월-클럭(wall-clock)은 다르다.
방송 수신 장치와 컴패니언 스크린 디바이스가 동기화되지 않은 원인은 아래와 같다.
첫째는, 방송 수신 장치와 컴패니언 스크린 디바이스는 기기 및/또는 어플리케이션의 특성에 따라 서로 다른 시스템 클록(system clock)을 가질 수 있다. 비록 방송 수신 장치에서 미디어 타임의 시작점의 월-클럭(wall-clock)과 컴패니언 스크린 디바이스에서 미디어 타임의 시작점의 월-클럭(wall-clock)은 동일하더라도, 시스템 클록(system clock)의 속도에 따라서 방송 수신 장치에서 이후의 미디어 타임에 해당하는 월-클록(wall-clock)과 컴패니언 스크린 디바이스에서 이후의 미디어 타임에 해당하는 월-클록(wall-clock)은 달라질 수 있다.
둘째는, 방송 수신 장치와 컴패니언 스크린 디바이스 사이의 이벤트(event, 또는 트리거링 이벤트)의 전달에 있어서 네트워크 딜레이(network delay)에 의하여 동기화가 어긋날 수 있다.
이와 같은 요인에 의해서, 특정 월-클럭(wall-clock)에 방송 수신 장치에서의 미디어 타임과 컴패니언 스크린 디바이스에서의 미디어 타임이 서로 다를 수 있다. 따라서, 특정 월-클럭(wall-clock)에 방송 수신 장치에서 디스플레이되는 장면과 컴패니언 스크린 디바이스에서 디스플레이되는 부가정보가 서로 일치하지 않을 수 있다.
도 385은 본 발명의 일 실시 예에 따른 방송 수신 장치와 컴패니언 스크린 디바이스를 동기화시키기 위한 방법을 나타낸 도면이다.
특정 월-클럭(wall-clock)에서, 서로 다른 방송 수신 장치(PD)의 미디어 타임과 컴패니언 스크린 디바이스(CD)의 미디어 타임을 동기화 시키기 위해서, 방송 수신 장치는 미디어 타임 정보 및 월-클럭 정보(또는 현재 시간, 절대 시간)를 페어(pair)로서 컴패니언 스크린 디바이스로 전달할 수 있다. 서비스 시간 정보는 미디어 타임 정보 및 월-클럭 정보를 포함할 수 있다. 방송 수신 장치는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
방송 수신 장치는 서비스 시간 정보를 주기적으로 컴패니언 스크린 디바이스로 전달할 수 있다(eventing 방식). 예를 들어, 방송 수신 장치(PD)는 미디어 타임 정보 및 월-클럭 정보를 함께 주기적으로 컴패니언 스크린 디바이스(CD)로 전달할 수 있다. 또한, 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답으로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다(requesting 방식). 예를 들어, 방송 수신 장치는 미디어 타임 정보 및 월-클럭 정보를 함께 컴패니언 스크린 디바이스로부터의 요청에 대한 응답으로 컴패니언 스크린 디바이스로 전달할 수 있다.
도면을 참고하면, 방송 수신 장치(PD)와 컴패니언 스크린 디바이스(CD)가 동기화를 이루는 방법이 나타나있다. 예를 들어, 방송 수신 장치(PD)는 eventing 방식으로 미디어 타임 정보 및 월-클럭 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(CD)로 전달할 수 있다.
방송 수신 장치(PD)는 500(sec)를 지시하는 미디어 타임 정보 및 13:30:30을 지시하는 월-클럭 정보를 포함하는 서비스 시간 정보를 13:30:30에 컴패니언 스크린 디바이스로 전달할 수 있다. 또한, 방송 수신 장치는 2000(sec)를 지시하는 미디어 타임 정보 및 14:00:25를 지시하는 월-클럭 정보를 포함하는 서비스 시간 정보를 14:00:25에 컴패니언 스크린 디바이스로 전달할 수 있다.
방송 수신 장치(PD)에서 컴패니언 스크린 디바이스로 서비스 시간 정보를 전달할 때 발생하는 지연 시간(delay)는 1(sec)라고 가정한다. 또한, 방송 수신 장치(PD)의 월-클럭과 컴패니언 스크린 디바이스(CD)의 월-클럭은 서로 동기되어 있다고 가정한다.
월-클럭이 13:30:30인 시점에서, 방송 수신 장치에서의 미디어 타임은 500(sec)이고 컴패니언 스크린 디바이스에서의 미디어 타임은 599(sec)일 수 있다. 따라서, 컴패니언 스크린 디바이스(CD)는 서비스 시간 정보를 월-클럭이 13:30:31인 시점에 방송 수신 장치(PD)로부터 수신할 수 있다. 즉, 컴패니언 스크린 디바이스가 방송 수신 장치로부터 전달 받은 미디어 타임 500(sec)와 월-클럭 13:30:30의 정보를 이용하여, 미디어 타임의 오차를 계산할 수 있다. 월-클럭이 13:30:30일 때, 방송 수신 장치의 미디어 타임은 500(sec)이고 컴패니언 스크린 디바이스의 미디어 타임은 599(sec)이다. 따라서 컴패니언 스크린 디바이스의 미디어 타임이 +99(sec)만큼 오차가 있음을 알 수 있다.
월-클럭이 14:00:25인 시점에서, 방송 수신 장치에서의 미디어 타임은 2000(sec)이고 컴패니언 스크린 디바이스에서의 미디어 타임은 2099(sec)일 수 있다. 따라서, 컴패니언 스크린 디바이스(CD)는 서비스 시간 정보를 월-클럭이 14:00:26인 시점에 방송 수신 장치(PD)로부터 수신할 수 있다. 앞서 기술한 내용과 동일한 방식으로 컴패니언 스크린 디바이스(CD)는 서비스 시간 정보를 기초로 방송 수신 장치(PD)의 미디어 타임과 컴패니언 스크린 디바이스(CD)의 미디어 타임 사이의 오차를 계산할 수 있다.
그리고 나서, 컴패니언 스크린 디바이스(CD)는 서비스 시간 정보를 기초로 방송 수신 장치(PD)에 동기시킬 수 있다. 예를 들어, 컴패니언 스크린 디바이스(CD)는 오차를 기초로 컴패니언 스크린 디바이스(CD)의 미디어 타임을 방송 수신 장치(PD)의 미디어 타임과 동일하게 할 수 있다.
본 발명의 일 실시예에 따르면, 방송 수신 장치(PD)가 서비스 시간 정보를 requesting 방식으로 컴패니언 스크린 디바이스(CD)로 전달하는 경우에, 컴패니언 스크린 디바이스(CD)는 네트워크 딜레이(network delay)를 보정할 수 있다.
방송 수신 장치(PD)가 미디어 타임 정보 및 월-클럭 정보를 함께 컴패니언 스크린 디바이스(CD)로 보냄으로서, 방송 수신 장치(PD)가 서비스 시간 정보를 보낸 시각과 컴패니언 스크린 디바이스(CD)가 서비스 시간 정보를 받은 시각이 다른 경우에도, 컴패니언 스크린 디바이스(CD)는 방송 수신 장치(PD)와 동기를 이룰 수 있다. 예를 들어, 컴패니언 스크린 디바이스(CD)는 월-클럭 정보를 기준으로 미디어 타임 정보를 계산하고, 방송 수신 장치(PD)에 동기를 이룰 수 있다.
또한, 컴패니언 스크린 디바이스(CD)에서 방송 수신 장치(PD)로 request 방식으로 미디어 타임 정보를 업데이트할 경우에, request와 response간에 네트워크 딜레이(network delay)를 고려하여, 컴패니언 스크린 디바이스(CD)는 Cristian's Algorithm 및/또는 NTP를 이용하여 네트워크 딜레이(network delay)를 보정할 수 있다. 물론, 방송 수신 장치(PD)도 네트워크 딜레이(network delay)를 보정할 수 있다.
도 386은 본 발명의 일 실시 예에 따른 플레이백 상태 정보를 포함하는 서비스 시간 정보을 나타낸 도면이다.
비실시간 방송 프로그램과 같은 OnDemand 서비스에서 제공하는 프로그램의 경우, 사용자는 프로그램의 플레이백(playback)을 조정(trick play)할 수 있다. 이 경우, 방송 수신 장치(PD)는 페어링(pairing)되어 있는 컴패니언 스크린 디바이스(CD)에게도 플레이백 상태(playback state)에 대한 정보를 전달할 필요가 있다.
이하에서는, 방송 수신 장치(PD)가 플레이백 상태 정보를 컴패니언 스크린 디바이스(CD)로 전달하는 방법을 설명한다. 플레이백 상태 정보는 방송 수신 장치(PD)에서 플레이백되는 프로그램의 상태를 지시할 수 있다.
첫 번째 방법으로, 방송 수신 장치(PD)는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(CD)로 전달할 수 있다. 방송 수신 장치(PD)는 미디어 타임 정보, 월-클럭 정보, 및/또는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 주기적으로 컴패니언 스크린 디바이스(CD)로 전달할 수 있다.
두 번째 방법으로, 방송 수신 장치(PD)는 플레이백 상태 정보를 위한 별도의 state variable을 정의하여 플레이백 상태 정보를 컴패니언 스크린 디바이스(CD)로 전달할 수 있다.
도면을 참고하면, 본 발명의 일 실시예에 따른 플레이백 상태 정보를 포함하는 서비스 시간 정보가 나타나 있다.
본 발명의 일 실시예에 따른 서비스 시간 정보는 방송 수신 장치와 컴패니언 스크린 디바이스 사이에 시간 동기화를 위한 정보이다. 서비스 시간 정보는 방송 수신 장치에서 재생 또는 서비스 중인 프로그램의 미디어 타임 정보, 월-클럭 정보(또는 절대 시간 정보, 현재 시각 정보) 중에서 적어도 하나를 포함할 수 있다. 또한, 서비스 시간 정보는 전술한 미디어 타임라인 체크포인트(Media Timeline Checkpoint)를 포함할 수 있다.
구체적으로, 서비스 시간 정보는 serviceId attribute, programId attribute, mediaTime element, 및/또는 currentTime element 중에서 적어도 하나를 포함할 수 있다.
serviceId attribute는 제1 수신기에서 현재 선택된 서비스의 고유한 식별자를 지시한다. 예를 들어, 서비스는 리니어 서비스 및/또는 Non-리니어 서비스 중에서 적어도 하나를 포함할 수 있다.
programId attribute는 현재 재생되고 있는 프로그램의 고유한 식별자를 지시한다. 예를 들어, 프로그램은 리니어 서비스 및/또는 Non-리니어 서비스에 포함되는 콘텐트를 포함할 수 있다.
mediaTime element는 현재 재생되고 있는 프로그램의 미디어 타임 정보를 지시할 수 있다. mediaTime element 는 mediaTime element 를 나타내기위해서 사용되는 프로토콜을 지시하는 mediaTimeProtocol attribute를 포함할 수 있다. 예를 들어, mediaTimeProtocol attribute는 timestamp를 지시할 수 있다.
currentTime element 는 현재 시각 정보(wall clock time)를 지시할 수 있다. currentTime element는 currentTime element 를 나타내기 위해서 사용되는 프로토콜을 지시하는 currentTimeProtocol attribute를 포함할 수 있다. 예를 들어, currentTimeProtocol attribute는 Network Time Protocol (NTP)을 지시할 수 있다.
본 발명의 일 실시예에 따른 서비스 시간 정보는 playbackState element를 더 포함할 수 있다. playbackState element는 플레이백 상태 정보라고 지칭될 수 있다.
playbackState element는 방송 수신 장치(PD)에서 플레이백(playback)되는 프로그램의 현재의 플레이백(playback) 상태를 지시할 수 있다. 예를 들어, 플레이백 상태는 플레이(playing), 일시 중지(paused), 종료(stopped), 고속 앞으로 감기(fastforward), 및/또는 고속 되감기(fastbackward) 중에서 적어도 하나를 포함할 수 있다. playbackState element는 speed attribute를 포함할 수 있다.
speed attribute는 방송 수신 장치(PD)에서 프로그램의 현재의 플레이백 속도를 지시할 수 있다. 프로그램이 고속 앞으로 감기(fastforward) 및/또는 고속 되감기(fastbackward) 되는 경우, speed attribute는 프로그램의 현재의 플레이백 속도를 지시할 수 있다.
예를 들어, speed attribute가 지시하는 값에 해당하는 각 integer 값은 하기 실시 예와 같이 표현할 수 있다. speed attribute가 '1'을 지시하면, 플레이백 속도는 'normal playing speed'일 수 있다. speed attribute가 '2'을 지시하면, 플레이백 속도는 '2x of the normal playing speed'일 수 있다. speed attribute가 '3'을 지시하면, 플레이백 속도는 '3x of the normal playing speed'일 수 있다. speed attribute가 '4'를 지시하면, 플레이백 속도는 '4x of the normal playing speed'일 수 있다. speed attribute는 디폴트 값으로 '1'을 지사할 수 있다.
방송 수신 장치는 이벤트(또는 트리거링 이벤트)를 실행하여(Eventing 방식) 방송 수신 장치(PD)에서 플레이백되는 프로그램의 상태를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 또한 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 방송 수신 장치(PD)에서 플레이백되는 프로그램의 상태를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 387는 본 발명의 일 실시예에 따른 서비스 시간 정보의 XML 포맷을 나타낸 도면이다.
도면을 참고하면, 시비스 시간 정보는 serviceId attribute, programId attribute, mediaTime element, currentTime element, 및/또는 playbackState element 중에서 적어도 하나를 포함할 수 있다.
serviceId attribute 는 "11"을 지시할 수 있다. programId attribute 는 "1008"를 지시할 수 있다. mediaTime element 는 mediaTimeProtocol attribute를 포함할 수 있다. playbackState element는 '고속 앞으로 감기(fastforward)'를 지시할 수 있다. 또한, playbackState element 에 포함된 speed attribute는 '3'을 지시할 수 있다. mediaTimeProtocol attribute는 "timestamp"를 지시할 수 있다. 또한, mediaTime element는 "77ee"를 지시할 수 있다. currentTime element 는 currentTimeProtocol attribute를 포함할 수 있다. currentTimeProtocol attribute는 "NTP"를 지시할 수 있다. currentTime element는 "88ee"를 지시할 수 있다.
방송 수신 장치는 서비스 식별자의 값이 "11"인 서비스에서, 프로그램 식별자의 값이 "1008"인 프로그램에 대하여, timestamp로서 "77ee"를 지시하는 미디어 타임 정보, NTP로서 "88ee"를 지시하는 월-클럭 정보(또는 현재 시각 정보), 및/또는 프로그램이 '3배속'으로 '고속 앞으로 감기'되고 있다는 것을 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 388는 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
도면을 참고하면, 방송 수신 장치(PD)는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 주기적으로 컴패니언 스크린 디바이스(CD)로 전달할 수 있다.
예를 들어, 방송 수신 장치(PD)는 서비스 시간 정보를 30초 간격으로 컴패니언 스크린 디바이스(CD)로 전달할 수 있다.
월-클럭이 '13:39:30'인 시점에서, 방송 수신 장치는 '500(sec)'를 지시하는 미디어 타임 정보, '13:39:30'을 지시하는 월-클럭 정보, 및/또는 '1 배속으로 플레이'를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
월-클럭이 '13:40:00'인 시점에서, 방송 수신 장치는 '530(sec)'를 지시하는 미디어 타임 정보, '13:40:00'을 지시하는 월-클럭 정보, 및/또는 '1 배속으로 플레이'를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
월-클럭이 '13:40:30'인 시점에서, 방송 수신 장치는 '700(sec)'를 지시하는 미디어 타임 정보, '13:40:30'을 지시하는 월-클럭 정보, 및/또는 '3 배속으로 고속 앞으로감기'를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
비록 방송 수신 장치는 월-클럭이 '13:40:30'를 지시하는 시점 이전에 '고속 앞으로감기' 동작을 수행하지만, 일정한 주기로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 389는 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
도면을 참고하면, 방송 수신 장치(PD)는 플레이백 상태 정보에 변경이 생긴 경우에 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(CD)로 전달할 수 있다.
예를 들어, 플레이백 상태 정보가 '1 배속으로 플레이'에서 '3 배속으로 고속 앞으로감기'로 변경되면, 방송 수신 장치(PD)는 변경된 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(CD)로 전달할 수 있다.
월-클럭이 '13:39:30'인 시점에서, 방송 수신 장치는 '500(sec)'를 지시하는 미디어 타임 정보, '13:39:30'을 지시하는 월-클럭 정보, 및/또는 '1 배속으로 플레이'를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
월-클럭이 '13:40:30'인 시점에서, 플레이백 상태 정보가 '1 배속으로 플레이'에서 '3 배속으로 고속 앞으로감기'로 변경될 수 있다.
월-클럭이 '13:40:30'인 시점에서, 방송 수신 장치는 '560(sec)'를 지시하는 미디어 타임 정보, '13:40:30'을 지시하는 월-클럭 정보, 및/또는 '3 배속으로 고속 앞으로감기'를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
방송 수신 장치는 서비스 시간 정보를 주기적으로 컴패니언 스크린 디바이스로 전달할 필요가 없이, 플레이백 상태 정보에 변경이 생긴 경우에만 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 390는 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
도면을 참고하면, 방송 수신 장치(PD)는 주기적으로 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(CD)로 전달하고, 플레이백 상태 정보에 변경이 생긴 경우에도 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(CD)로 전달할 수 있다.
예를 들어, 방송 수신 장치(PD)는 서비스 시간 정보를 30초 간격으로 컴패니언 스크린 디바이스(CD)로 전달할 수 있다. 또한, 플레이백 상태 정보가 '1 배속으로 플레이'에서 '3 배속으로 고속 앞으로감기'로 변경되면, 방송 수신 장치(PD)는 변경된 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(CD)로 전달할 수 있다.
월-클럭이 '13:39:30'인 시점에서, 방송 수신 장치는 '500(sec)'를 지시하는 미디어 타임 정보, '13:39:30'을 지시하는 월-클럭 정보, 및/또는 '1 배속으로 플레이'를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
월-클럭이 '13:40:00'인 시점에서, 방송 수신 장치는 '530(sec)'를 지시하는 미디어 타임 정보, '13:40:00'을 지시하는 월-클럭 정보, 및/또는 '1 배속으로 플레이'를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
월-클럭이 '13:40:20'인 시점에서, 플레이백 상태 정보가 '1 배속으로 플레이'에서 '3 배속으로 고속 앞으로감기'로 변경될 수 있다.
월-클럭이 '13:40:20'인 시점에서, 방송 수신 장치는 '550(sec)'를 지시하는 미디어 타임 정보, '13:40:20'을 지시하는 월-클럭 정보, 및/또는 '3 배속으로 고속 앞으로감기'를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
월-클럭이 '13:40:30'인 시점에서, 방송 수신 장치는 '580(sec)'를 지시하는 미디어 타임 정보, '13:40:30'을 지시하는 월-클럭 정보, 및/또는 '3 배속으로 고속 앞으로감기'를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
방송 수신 장치는 일정한 주기로 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있을 뿐만 아니라, 플레이백 상태 정보에 변경이 생긴 경우에도 서비스 시간 정보를 컴패니언 스크린 디바이스로 추가적으로 전달할 수 있다.
도 391는 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
도면을 참고하면, 방송 수신 장치(PD)는 주기적으로 플레이백 상태 정보를 포함하지 않는 서비스 시간 정보를 컴패니언 스크린 디바이스(CD)로 전달하고, 플레이백 상태 정보에 변경이 생긴 경우에는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(CD)로 전달할 수 있다. 플레이백 상태 정보를 포함하지 않는 서비스 시간 정보는 디폴트 값을 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 나타낼 수 있다.
예를 들어, 방송 수신 장치(PD)는 플레이백 상태 정보를 포함하지 않는 서비스 시간 정보를 30초 간격으로 컴패니언 스크린 디바이스(CD)로 전달할 수 있다. 또한, 플레이백 상태 정보가 '1 배속으로 플레이'에서 '3 배속으로 고속 앞으로감기'로 변경되면, 방송 수신 장치(PD)는 변경된 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(CD)로 전달할 수 있다.
월-클럭이 '13:39:30'인 시점에서, 플레이백 상태 정보가 어떤 상태에서 '1 배속으로 플레이'로 변경될 수 있다. 또는, '13:39:30'인 시점에서, 플레이백 상태 정보가 디폴트 값을 지시할 수 있다. 디폴트 값은 '1 배속으로 플레이'를 지시할 수 있다.
월-클럭이 '13:39:30'인 시점에서, 방송 수신 장치는 '500(sec)'를 지시하는 미디어 타임 정보, '13:39:30'을 지시하는 월-클럭 정보, 및/또는 '1 배속으로 플레이'를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
월-클럭이 '13:40:00'인 시점에서, 방송 수신 장치는 '530(sec)'를 지시하는 미디어 타임 정보 및 '13:40:00'을 지시하는 월-클럭 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 이때, 서비스 시간 정보는 플레이백 상태 정보를 포함하지 않을 수 있다.
월-클럭이 '13:40:20'인 시점에서, 플레이백 상태 정보가 '1 배속으로 플레이'에서 '3 배속으로 고속 앞으로감기'로 변경될 수 있다.
월-클럭이 '13:40:20'인 시점에서, 방송 수신 장치는 '550(sec)'를 지시하는 미디어 타임 정보, '13:40:20'을 지시하는 월-클럭 정보, 및/또는 '3 배속으로 고속 앞으로감기'를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
또한, 월-클럭이 '13:40:30'인 시점에서, 방송 수신 장치는 '580(sec)'를 지시하는 미디어 타임 정보 및 '13:40:30'을 지시하는 월-클럭 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 이때, 서비스 시간 정보는 플레이백 상태 정보를 포함하지 않을 수 있다.
방송 수신 장치는 일정한 주기로 플레이백 상태 정보를 포함하지 않는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있을 뿐만 아니라, 플레이백 상태 정보에 변경이 생긴 경우에는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스로 추가적으로 전달할 수 있다.
도 392은 본 발명의 일 실시예에 따른 플레이백 정보의 전달을 위한 state variable들을 나타낸 도면이다.
이하에서는, 방송 수신 장치(PD)가 플레이백 상태 정보를 위한 별도의 state variable을 정의하여 플레이백 상태 정보를 컴패니언 스크린 디바이스(CD)로 전달하는 방법을 설명한다. 앞서 기술한 시간 동기화 서비스의 state variable에 플레이백 상태 정보를 위한 state variable 및 action을 추가할 수 있다.
도면을 참고하면, 플레이백 정보의 전달을 위한 state variable들이 나타나있다. 플레이백 정보는 플레이백 상태 정보를 포함할 수 있다. 플레이백 정보의 전달을 위한 state variable들은 플레이백 정보를 포함하는 PlaybackInfo state variable, 및/또는 요청된 플레이백 정보를 포함하는 A_ARG_TYPE_PlaybackInfo state variable 중에서 적어도 하나를 포함할 수 있다. PlaybackInfo state variable 및/또는 A_ARG_TYPE_PlaybackInfo state variable은 required state variable일 수 있다. PlaybackInfo state variable은 방송 수신 장치가 컴패니언 스크린 디바이스에게 플레이백 정보를 eventing 방식으로 전달할 경우 플레이백 정보를 나타내는 variable이다. A_ARG_TYPE_PlaybackInfo state variable는 방송 수신 장치가 컴패니언 스크린 디바이스에게 플레이백 정보를 requesting 방식으로 전달할 경우 플레이백 정보를 요청 및/또는 응답하기 위해서 사용될 수 있는 variable이다.
도 393은 본 발명의 일 실시예에 따른 플레이백 정보를 나타낸 도면이다.
플레이백 정보는 방송 수신 장치에서 플레이백(playback)되는 프로그램의 플레이백 상태와 관련된 데이터를 포함하는 정보이다.
구체적으로, 플레이백 정보는 serviceId attribute, programId attribute, 및/또는 playbackState element 중에서 적어도 하나를 포함할 수 있다.
serviceId attribute는 방송 수신 장치에서 현재 선택된 서비스의 고유한 식별자를 지시한다. 예를 들어, 서비스는 리니어 서비스 및/또는 Non-리니어 서비스 중에서 적어도 하나를 포함할 수 있다.
programId attribute는 현재 재생되고 있는 프로그램의 고유한 식별자를 지시한다. 예를 들어, 프로그램은 리니어 서비스 및/또는 Non-리니어 서비스에 포함되는 콘텐트를 포함할 수 있다.
playbackState element는 방송 수신 장치(PD)에서 플레이백(playback)되는 프로그램의 현재의 플레이백(playback) 상태를 지시할 수 있다. 예를 들어, 플레이백 상태는 플레이(playing), 일시 중지(paused), 종료(stopped), 고속 앞으로 감기(fastforward), 및/또는 고속 되감기(fastbackward) 중에서 적어도 하나를 포함할 수 있다. playbackState element는 speed attribute를 포함할 수 있다.
speed attribute는 방송 수신 장치(PD)에서 프로그램의 현재의 플레이백 속도를 지시할 수 있다. 프로그램이 고속 앞으로 감기(fastforward) 및/또는 고속 되감기(fastbackward) 되는 경우, speed attribute는 프로그램의 현재의 플레이백 속도를 지시할 수 있다.
예를 들어, speed attribute가 지시하는 값에 해당하는 각 integer 값은 하기 실시 예와 같이 표현할 수 있다. speed attribute가 '1'을 지시하면, 플레이백 속도는 'normal playing speed'일 수 있다. speed attribute가 '2'을 지시하면, 플레이백 속도는 '2x of the normal playing speed'일 수 있다. speed attribute가 '3'을 지시하면, 플레이백 속도는 '3x of the normal playing speed'일 수 있다. speed attribute가 '4'를 지시하면, 플레이백 속도는 '4x of the normal playing speed'일 수 있다. speed attribute는 디폴트 값으로 '1'을 지사할 수 있다.
방송 수신 장치는 이벤트(또는 트리거링 이벤트)를 실행하여(Eventing 방식) 방송 수신 장치(PD)에서 플레이백되는 프로그램의 상태를 지시하는 플레이백 상태 정보를 포함하는 플레이백 정보를 컴패니언 스크린 디바이스로 전달할 수 있다. 또한 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 방송 수신 장치(PD)에서 플레이백되는 프로그램의 상태를 지시하는 플레이백 상태 정보를 포함하는 플레이백 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 394는 본 발명의 일 실시예에 따른 플레이백 정보의 XML 포맷을 나타낸 도면이다.
도면을 참고하면, 플레이백 정보는 serviceId attribute, programId attribute, 및/또는 playbackState element 중에서 적어도 하나를 포함할 수 있다.
serviceId attribute 는 "11"을 지시할 수 있다. programId attribute 는 "1008"를 지시할 수 있다. playbackState element는 '고속 앞으로 감기(fastforward)'를 지시할 수 있다. 또한, playbackState element 에 포함된 speed attribute는 '3'을 지시할 수 있다.
방송 수신 장치는 서비스 식별자의 값이 "11"인 서비스에서, 프로그램 식별자의 값이 "1008"인 프로그램에 대하여, 프로그램이 '3배속'으로 '고속 앞으로 감기'되고 있다는 것을 지시하는 플레이백 상태 정보를 포함하는 플레이백 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 395은 본 발명의 일 실시예에 따른 플레이백 정보를 전달하기 위해서 필요한 동작들을 나타낸 도면이다.
도면의 (a)를 참고하면, 플레이백 정보를 전달하기 위해서 필요한 동작들은 플레이백 정보 요청(GetPlaybackInfo())을 포함할 수 있다.
플레이백 정보 요청(GetPlaybackInfo())은 컴패니언 스크린 디바이스가 방송 수신 장치로 방송 수신 장치에서 플레이백(playback)되는 프로그램의 현재 플레이백 상태를 지시하는 플레이백 상태 정보를 포함하는 플레이백 정보의 획득을 요청하는 동작이다.
플레이백 정보 요청은 필수적인 동작일 수도 있고 선택적인 동작일 수도 있다.
도면의 (b)를 참고하면, 플레이백 정보 요청과 관련된 Argument가 나타나 있다.
플레이백 정보 요청(GetPlaybackInfo())는 컴패니언 스크린 디바이스가 방송 수신 장치로 방송 수신 장치에서 플레이백(playback)되는 프로그램의 현재 플레이백 상태를 지시하는 플레이백 상태 정보를 포함하는 플레이백 정보를 요청할 때 사용될 수 있다. 컴패니언 스크린 디바이스는 플레이백 정보 요청을 기초로 방송 수신 장치로 플레이백 정보를 요청할 수 있다. 컴패니언 스크린 디바이스로부터의 플레이백 정보 요청에 대한 응답으로, 방송 수신 장치는 컴패니언 스크린 인터페이스를 사용하여 플레이백 정보 요청을 기초로 플레이백 상태 정보를 포함하는 플레이백 정보(PlaybackInfo Argument)를 컴패니언 스크린 디바이스로 전달할 수 있다. 플레이백 정보(PlaybackInfo Argument)는 PlaybackInfo state variable와 관련된 정보이다.
즉, 방송 수신 장치는 컴패니언 스크린 디바이스의 요청에 대한 응답(Requesting 방식)으로 방송 수신 장치에서 플레이백(playback)되는 프로그램의 현재 플레이백 상태를 지시하는 플레이백 상태 정보를 포함하는 플레이백 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
도 396은 본 발명의 일 실시예에 따른 방송 수신 장치가 eventing 방식으로 플레이백 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치/콘텐트 서버(C10), 방송 수신 장치(C100), 및/또는 컴패니언 스크린 디바이스(C200) 중에서 적어도 하나를 포함할 수 있다.
방송 전송 장치/콘텐트 서버(C10)는 방송 서비스를 제공할 수 있다. 예를 들어, 방송 서비스는 콘텐트(또는, 리니어 서비스), 어플리케이션(또는, Non-리니어 서비스), 및/또는 시그널링 정보 중에서 적어도 하나를 포함할 수 있다. 방송 전송 장치/콘텐트 서버(C10)는 전술한 방송 전송 장치(미도시), 컨텐츠 제공자(미도시), 콘텐트 서버(미도시), 제어부(미도시), 및/또는 전송부(미도시) 중에서 적어도 하나를 포함할 수 있다.
방송 수신 장치(C100)는 방송망 및/또는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 방송 수신 장치(C100)는 TV Receiver 및/또는 PD로 지칭될 수 있다.
컴패니언 스크린 디바이스(C200)는 인터넷망을 통하여 방송 서비스를 수신할 수 있다. 컴패니언 스크린 디바이스는 Mobile Phone 및/또는 CD로 지칭될 수 있다.
이하에서는, 방송 수신 장치가 eventing 방식으로 방송 수신 장치에서 플레이백(playback)되는 프로그램의 플레이백 상태와 관련된 데이터를 포함하는 플레이백 정보를 컴패니언 스크린 디바이스로 전달하는 방법을 설명한다. 플레이백 정보는 방송 수신 장치에서 플레이백되는 프로그램의 현재 플레이백 상태를 지시할 수 있다.
먼저, 방송 수신 장치(C100)는 방송 전송 장치/콘텐트 서버(C10)로부터 방송 서비스를 포함하는 방송 신호를 수신할 수 있다. 방송 서비스는 온-디맨드(On-Demand) 스트리밍 서비스 및/또는 비실시간(Non Real Time, NRT) 서비스 중에서 적어도 하나를 포함할 수 있다. 비실시간 서비스의 경우, 방송 수신 장치는 비실시간 서비스에 포함되는 적어도 하나의 프로그램을 저장할 수 있다. 예를 들어, 사용자가 On-Demand 서비스를 이용하여 방송 수신 장치에서 특정 프로그램을 시청할 수 있다.
또한, 방송 수신 장치(C100)는 방송 신호에 기초하여 시그널링 정보를 획득할 수 있다. 시그널링 정보는 온-디맨드(On-Demand) 스트리밍 서비스 및/또는 비실시간(Non Real Time, NRT) 서비스와 관련된 시그널링 정보일 수 있다. 방송 수신 장치는 수신한 시그널링 정보를 저장할 수 있다.
구체적으로, 방송 수신 장치(C100)는 시그널링 정보에 기초하여 어플리케이션 시그널링 정보를 획득할 수 있다. 앞서 설명한 바와 같이, 수신기(C100)는 MPEG-DASH 프로토콜 및/또는 MMT 프로토콜에 기초하여 시그널링 정보를 획득할 수 있다. 어플리케이션 시그널링 정보는 어플리케이션의 동작을 트리거링하는 트리거와 트리거링되는 어플리케이션에 관한 정보를 시그널링하는 트리거링 어플리케이션 정보(또는, TPT) 중 적어도 어느 하나를 포함할 수 있다. 사용자가 특정 채널 및/또는 특정 프로그램을 선택하면, 방송 수신 장치(C100)는 시그널링 정보를 기초로 특정 프로그램을 사용자에게 제공(또는 방송) 할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)와 discovery 및/또는 pairing 단계를 수행한다. 예를 들어, 제공되는 프로그램에 따라서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스를 발견(discover)하고, 데이터를 주고 받을 수 있도록 컴패니언 스크린 디바이스와 전기적으로 연결(pair)할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)로부터 플레이백 상태 서비스의 구독(subscribe)을 요청받을 수 있다. 또는 컴패니언 스크린 디바이스(C200)는 플레이백 상태 서비스의 구독을 방송 수신 장치(C100)에게 요청할 수 있다. 플레이백 상태 서비스는 방송 수신 장치(C100)에서 플레이백(playback)되는 프로그램(또는 A/V 콘텐트)의 플레이백 상태와 관련된 데이터를 포함하는 플레이백 정보를 생성하고, 방송 수신 장치(C100)에서 컴패니언 스크린 디바이스(C200)로 플레이백 정보를 전달하는 서비스를 나타낸다.
방송 수신 장치(C100)는 선택된 특정 프로그램을 플레이백(playback)할 수 있다.
방송 수신 장치(C100)의 플레이백 상태는 사용자 및/또는 기타의 원인에 의하여 변경될 수 있다.
방송 수신 장치(C100)는 플레이백되는 프로그램의 플레이백 상태를 지시하는 플레이백 상태 정보를 생성할 수 있다.
방송 수신 장치(C100)는 eventing 방식으로 플레이백 상태 정보를 포함하는 플레이백 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 방송 수신 장치(C100)는 eventing 방식으로 플레이백 정보를 주기적으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 또는, 방송 수신 장치(C100)는 eventing 방식으로 플레이백 상태 정보에 변경이 생긴 경우에 플레이백 상태 정보를 포함하는 플레이백 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
또는, 방송 수신 장치(C100)는 eventing 방식으로 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
예를 들어, 방송 수신 장치(C100)는 eventing 방식을 이용하여 플레이백 상태 정보를 포함하는 서비스 시간 정보를 주기적으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 또한, 방송 수신 장치(C100)는 eventing 방식을 이용하여 플레이백 상태 정보에 변경이 생긴 경우에 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 또한, 방송 수신 장치(C100)는 eventing 방식을 이용하여 주기적으로 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달하고, 플레이백 상태 정보에 변경이 생긴 경우에도 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 또한, 방송 수신 장치(C100)는 eventing 방식을 이용하여 주기적으로 플레이백 상태 정보를 포함하지 않는 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달하고, 플레이백 상태 정보에 변경이 생긴 경우에는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 플레이백 상태 정보를 포함하지 않는 서비스 시간 정보는 디폴트 값을 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 나타낼 수 있다.
방송 수신 장치(C100)는 전달 간격 정보(예를 들어, 전달 주기 정보, 전달 빈도 정보)를 기초로 플레이백 정보 및/또는 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
방송 수신 장치(C100)는 방송 수신 장치(C100)의 현재의 전달 간격 정보의 획득을 요청하는 전달 간격 정보 요청을 컴패니언 스크린 디바이스(C200)로부터 수신할 수 있다.
방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)의 요청에 대한 응답(Requesting 방식)으로 현재 전달 간격 정보를 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 컴패니언 스크린 디바이스(C200)는 전달 간격 정보 요청을 기초로 방송 수신 장치(C100)의 현재의 전달 간격 정보를 확인할 수 있다.
방송 수신 장치(C100)는 전달 간격 정보의 설정을 요청하는 전달 간격 정보 설정 요청을 컴패니언 스크린 디바이스(C200)로부터 수신할 수 있다.
방송 수신 장치는 요청된 전달 간격 정보를 기초로 확인된 전달 간격 정보를 생성할 수 있다. 또한, 방송 수신 장치(C100)는 확인된 전달 간격 정보를 컴패니언 스크린 디바이스로 전송할 수 있다.
방송 수신 장치(C100)는 확인된 전달 간격 정보를 기초로 플레이백 정보 및/또는 서비스 시간 정보를 eventing 방식으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
방송 전송 장치/콘텐트 서버(C10)는 프로그램의 종류 및/또는 특성에 따라서 미디어 타임 정보(또는 미디어 타임 업데이트)를 포함하는 시간 정보(또는 시그널링 정보)를 프로그램의 특정 시점 및/또는 주기적으로 방송 수신 장치(C100)로 전달할 수 있다.
도 397는 본 발명의 일 실시예에 따른 방송 수신 장치가 request 방식으로 플레이백 정보를 컴패니언 스크린 디바이스로 전달하는 Flow Diagram을 나타낸 도면이다.
도면을 참고하면, 본 발명의 일 실시예에 따른 방송 시스템은 방송 전송 장치/콘텐트 서버(C10), 방송 수신 장치(C100), 및/또는 컴패니언 스크린 디바이스(C200) 중에서 적어도 하나를 포함할 수 있다. 본 발명의 일 실시예에 따른 방송 시스템의 구체적인 내용은 전술한 내용을 모두 포함할 수 있다.
이하에서는, 방송 수신 장치(C100)가 requesting 방식으로 플레이백 정보를 컴패니언 스크린 디바이스(C200)로 전달하는 방법을 설명한다.
먼저, 방송 수신 장치(C100)는 방송 전송 장치/콘텐트 서버(C10)로부터 방송 서비스를 포함하는 방송 신호를 수신할 수 있다. 방송 서비스는 온-디맨드(On-Demand) 스트리밍 서비스 및/또는 비실시간(Non Real Time, NRT) 서비스 중에서 적어도 하나를 포함할 수 있다. 비실시간 서비스의 경우, 방송 수신 장치는 비실시간 서비스에 포함되는 적어도 하나의 프로그램을 저장할 수 있다. 예를 들어, 사용자가 On-Demand 서비스를 이용하여 방송 수신 장치에서 특정 프로그램을 시청할 수 있다.
또한, 방송 수신 장치(C100)는 방송 신호에 기초하여 시그널링 정보를 획득할 수 있다. 시그널링 정보는 온-디맨드(On-Demand) 스트리밍 서비스 및/또는 비실시간(Non Real Time, NRT) 서비스와 관련된 시그널링 정보일 수 있다. 방송 수신 장치는 수신한 시그널링 정보를 저장할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)와 discovery 및/또는 pairing 단계를 수행한다. 예를 들어, 제공하는 프로그램에 따라서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스를 발견(discover)하고, 데이터를 주고 받을 수 있도록 컴패니언 스크린 디바이스(C200)와 전기적으로 연결(pair)할 수 있다.
그리고 나서, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)로부터 플레이백 정보의 획득을 요청하는 플레이백 정보 요청을 수신할 수 있다. 플레이백 정보 요청(GetPlaybackInfo())은 컴패니언 스크린 디바이스가 방송 수신 장치로 방송 수신 장치에서 플레이백(playback)되는 프로그램의 현재 플레이백 상태를 지시하는 플레이백 상태 정보를 포함하는 플레이백 정보의 획득을 요청하는 동작이다.
그리고 나서, 컴패니언 스크린 디바이스(C200)의 요청에 대한 응답으로, 방송 수신 장치(C100)는 플레이백 정보를 생성하고, 컴패니언 스크린 디바이스(C200)로 전달할 수 있다. 예를 들어, 방송 수신 장치(C100)는 플레이백 정보를 획득하는 요청을 기초로 플레이백 정보를 requesting 방식으로 컴패니언 스크린 디바이스(C200)로 전달할 수 있다.
방송 수신 장치(C100)의 플레이백 상태는 사용자 및/또는 기타의 원인에 의하여 변경될 수 있다.
이 경우, 방송 수신 장치(C100)는 컴패니언 스크린 디바이스(C200)로부터 플레이백 정보의 획득을 요청하는 플레이백 정보 요청을 수신할 수 있다. 예를 들어, 컴패니언 스크린 디바이스(C200)는 필요한 시점 및/또는 주기적으로 플레이백 정보 요청(GetPlaybackInfo() action)을 사용하여 방송 수신 장치(C100)에게 플레이백 정보를 요청할 수 있다.
도 398은 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
플레이백 상태 정보는 서비스 시간 정보에 포함되어 전달되거나 별도의 state variable을 통해서 전달될 수 있다.
예를 들어, 두 명의 사용자는 방송 수신 장치(PD)를 통해 On-Demand 서비스를 이용하여 영화를 시청하고 있다. 방송 전송 장치/콘텐트 제공자는 방송망을 통하여 영화와 관련된 하나의 비디오 콘텐트와 제1 오디오 콘텐트(영어음성)를 방송 수신 장치로 제공하고 있다. 또한, 콘텐트 서버는 인터넷망을 통하여 영화와 관련된 제2 오디오 콘텐트(한국어음성)을 방송 수신 장치 및/또는 컴패니언 스크린 디바이스(CD)로 제공하고 있다. 즉, 방송 수신 장치(PD)와 pairing되어 있는 컴패니언 스크린 디바이스(CD)는 인터넷망을 통해서 제2 오디오 콘텐트를 수신할 수 있다. 제1 사용자는 방송 수신 장치를 이용하여 비디오 콘테트 및 제1 오디오 콘텐트(영어음성)을 포함하는 영화(또는 프로그램)을 시청할 수 있다. 제2 사용자는 방송 수신 장치를 이용하여 영화와 관련된 비디오 콘텐트를 시청하고, 자신의 컴패니언 스크린 디바이스를 이용하여 영화와 관련된 제2 오디오 콘텐트를 청취할 수 있다. 두 사용자는 영화를 시청하면서, 고속 되감기(fastbackward) 및/또는 고속 앞으로 감기(fastforward) 등과 같이 trick play를 이용할 수 있다.
각각의 플레이백 상태의 경우에 대해서, 컴패니언 스크린 디바이스는 아래와 같이 동작할 수 있다. 방송 수신 장치(PD)의 플레이백 상태가 "일시정지(paused)"인 경우, 컴패니언 스크린 디바이스(CD)의 제2 오디오 콘텐트도 일시 정지될 수 있다. 방송 수신 장치(PD)의 플레이백 상태가 "종료(stopped)"인 경우, 컴패니언 스크린 디바이스(CD)의 제2 오디오 콘텐트도 종료될 수 있다. 방송 수신 장치(PD)의 플레이백 상태가 "고속 앞으로 감기(fastforward)"인 경우, 컴패니언 스크린 디바이스(CD)의 제2 오디오 콘텐트도 같은 속도로 고속 앞으로 감기(fastforward)될 수 있다. 방송 수신 장치(PD)는 고속 앞으로 감기(Fastforward) 중에도 주기적으로 미디어 타임 정보 및/또는 월-클럭 정보를 컴패니언 스크린 디바이스로 전달할 수 있으므로, 방송 수신 장치(PD)와 컴패니언 스크린 디바이스(CD)는 동기화될 수 있다. 방송 수신 장치(PD)의 플레이백 상태가 다시 "플레이(playing)" 이 되었을 때에도, 방송 수신 장치(PD)는 미디어 타임 정보 및/또는 월-클럭 정보를 함께 컴패니언 스크린 디바이스(CD)로 전달할 있으므로, 방송 수신 장치(PD)와 컴패니언 스크린 디바이스(CD)는 동기화될 수 있다. 방송 수신 장치(PD)의 플레이백 상태가 "고속 되감기(fastbackward)"인 경우, 컴패니언 스크린 디바이스(CD)의 제2 오디오 콘텐트도 같은 속도로 고속 되감기될 수 있다. 기타의 내용은 고속 앞으로 감기(fastforward)의 내용과 동일하다.
도면을 참고하면, 방송 수신 장치의 플레이백 상태가 고속 앞으로 감기(fastforward)인 경우, 방송 수신 장치와 컴패니언 스크린 디바이스의 동기화를 위한 방법이 나타나있다.
사용자가 영화를 시청하고 있을 경우 플레이백 상태 정보(playbackState)는 "플레이(playing)"를 지시하고, speed attribute는 "1"일 수 있다. 방송 수신 장치는 플레이백 상태 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
그리고 나서, 방송 수신 장치는 사용자에 의하여 방송 수신 장치의 플레이백 상태를 '3배속으로 고속 앞으로 감기(Fastforward)'로 변경할 수 있다.
그리고 나서, 방송 수신 장치는 방송 수신 장치의 플레이백 상태가 "고속 앞으로 감기(fastforward)"로 변했다는 정보와 speed attribute가 '3'이라는 정보를 포함하는 플레이백 상태 정보를 생성하고, 플레이백 상태 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
그리고 나서, 방송 수신 장치는 사용자에 의하여 방송 수신 장치의 플레이백 상태를 다시 '일반 플레이(normal play)'로 변경할 수 있다.
그리고 나서, 방송 수신 장치는 방송 수신 장치의 플레이백 상태가 '일반 플레이(normal play)'로 변했다는 정보와 speed attribute가 '3'이라는 정보를 포함하는 플레이백 상태 정보를 생성하고, 플레이백 상태 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
방송 수신 장치는 "고속 앞으로 감기(fastforward)" 중인 상태에도 eventing 방식을 이용하여 컴패니언 스크린 디바이스로 주기적으로 미디어 타임 정보 및/또는 월-클럭 정보를 포함하는 서비스 시간 정보를 전달할 수 있다.
컴패니언 스크린 디바이스는 방송 수신 장치로부터 플레이백 상태 정보를 수신하고, 방송 수신 장치와 동기화를 이룰 수 있다.
도 399는 본 발명의 일 실시예에 따른 플레이백 상태 정보의 전달을 나타낸 도면이다.
도면을 참고하면, 방송 수신 장치(PD)는 eventing 방식을 이용하여 주기적으로 플레이백 상태 정보를 포함하지 않는 서비스 시간 정보를 주기적으로 컴패니언 스크린 디바이스(CD)로 전달하고, 플레이백 상태 정보에 변경이 생긴 경우에는 플레이백 상태 정보를 컴패니언 스크린 디바이스(CD)로 전달할 수 있다. 플레이백 상태 정보를 포함하지 않는 서비스 시간 정보는 디폴트 값을 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 나타낼 수 있다.
방송 수신 장치는 일정한 주기로 플레이백 상태 정보를 포함하지 않는 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있을 뿐만 아니라, 플레이백 상태 정보에 변경이 생긴 경우에는 플레이백 상태 정보를 컴패니언 스크린 디바이스로 추가적으로 전달할 수 있다.
도 400는 본 발명의 일 실시예에 따른 방송 수신 장치의 동작을 나타낸 흐름도이다.
방송 신호 수신 장치는 브로드캐스트 인터페이스를 이용하여 오디오/비디오(A/V) 프로그램을 포함하는 서비스 및/또는 시그널링 정보를 포함하는 방송 신호를 수신할 수 있다(CS5100). 예를 들어, 프로그램은 콘텐트를 지칭할 수 있다. 즉, 오디오/비디오(A/V) 프로그램은 A/V 콘텐트를 지칭할 수 있다.
예를 들어, 시그널링 정보는 서비스 및 서비스에 포함되는 적어도 하나의 콘텐트 컴포넌트의 발견 및 획득을 제공하는 서비스 레이어 시그널링(또는 제1 정보)를 포함할 수 있다. 또한 시그널링 정보는 빠른 채널 참가 및 스위칭과 관련된 데이터를 포함하는 서비스 리스트 테이블(또는 FIC, 제2 정보)를 포함할 수 있다. 서비스 리스트 테이블은 서비스의 리스트를 빌딩하고 서비스 레이어 시그널링의 부트스트랩 디스커버리를 제공할 수 있다. FIC는 방송 수신 장치가 기본적인 서비스 리스트를 만들고(build), 각각의 서비스를 위한 서비스 레이어 시그널링의 발견(discovery)을 부트스트랩(bootstrap)할 수 있도록 한다. 실시예에 따라, FIC는 서비스 리스트 테이블(Service List Table, SLT)로 표현할 수도 있다. FIC(또는, SLT)는 링크 레이어 시그널링을 통해서 전송될 수 있다. 또한, FIC(또는, SLT)는 신속한 획득을 위해서 각각의 물리적 레이어 프레임 내에서 전송될 수 있다. 실시예에 따라, FIC(또는, SLT)는 Physical Layer Frame, signaling을 전송하는 PLP, 및/또는 방송국마다 할당된 PLP 중에서 적어도 하나를 통해서 전송될 수 있다.
또한, 시그널링 정보는 재생되는 A/V 프로그램의 미디어 타임 정보를 포함할 수 있다.
또한, 시그널 정보는 시그널링 정보가 분할되었는지 여부를 지시하는 fragmentation_indicator, 시그널링 정보의 헤더 부분에 페이로드 포멧에 대한 정보를 포함하는지 여부를 지시하는 payload_format_indicator, 및 시그널링 정보의 헤더 부분에 시그널링 정보의 유효 시간을 포함하는지 여부를 지시하는 expiration _indicator, 분할된 시그널링 정보의 번호를 지시하는 fragment_number attribute, 분할된 시그널링 정보의 번호들 중에서 마지막 번호를 지시하는 last_fragment_number attribute, 시그널링 정보의 페이로드 포멧을 지시하는 payload_format attribute, 시그널링 정보의 유효 시간을 지시하는 expiration attribute 중에서 적어도 하나를 포함할 수 있다.
그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 컴패니언 스크린 디바이스를 발견할 수 있다(CS5200). 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 컴패니언 스크린 디바이스로 데이터 및/또는 시그널링 정보를 전달하거나 컴패니언 스크린 디바이스로부터 데이터 및/또는 시그널링 정보를 수신할 수 있다.
그리고 나서, 방송 수신 장치는 제어부를 이용하여 브로드캐스트 인터페이스 및 컴패니언 스크린 인터페이스를 동작시킬 수 있다.
제어부는 플레이백 상태 서비스 프로세서(미도시)를 포함할 수 있다. 방송 수신 장치는 제어부 및/또는 플레이백 상태 서비스 프로세서를 이용하여 시그널링 정보를 기초로 프로그램의 플레이백 상태를 지시하는 플레이백 상태 정보를 생성할 수 있다(CS5300). 플레이백 상태 정보는 상기 프로그램의 플레이백 속도를 지시하는 speed attribute를 포함할 수 있다.
그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 플레이백 상태 정보를 컴패니언 스크린 디바이스로 전달할 수 있다(CS5400).
본 발명의 일 실시예에 따른 방송 수신 장치는 requesting 방식을 이용하여 플레이백 상태 정보를 전달할 수 있다. 예를 들어, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 플레이백 정보의 획득을 요청하는 플레이백 정보 요청을 상기 컴패니언 스크린 디바이스로부터 수신할 수 있다. 또한, 방송 수신 장치는 제어부(또는 플레이백 상태 서비스 프로세서)를 이용하여 플레이백(playback)되는 프로그램의 플레이백 상태를 지시하는 플레이백 상태 정보를 포함하는 플레이백 정보를 생성할 수 있다. 그리고나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 플레이백 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 eventing 방식을 이용하여 서비스 시간 정보를 전달할 수 있다. 예를 들어, 방송 수신 장치는 제어부(또는 플레이백 상태 서비스 프로세서)를 이용하여 프로그램의 플레이백 상태에 변경이 있으면 프로그램의 플레이백 상태를 지시하는 플레이백 상태 정보를 포함하는 플레이백 정보를 생성할 수 있다. 그리고나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 이벤트를 발생시켜서 플레이백 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
또한, 방송 수신 장치의 제어부는 시간 동기화 서비스 프로세서(미도시)를 포함할 수 있다. 방송 수신 장치는 제어부 및/또는 시간 동기화 서비스 프로세서를 이용하여 시그널링 정보를 기초로 A/V 프로그램과 컴패니언 스크린 디바이스에서 디스플레이되는 A/V 프로그램 사이에 시간 동기화와 관련된 데이터를 제공하는 서비스 시간 정보를 생성할 수 있다. 서비스 시간 정보는 플레이백 상태 정보를 포함할 수 있다. 그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
본 발명의 일 실시예에 따른 서비스 시간 정보는 서비스의 식별자를 지시하는 serviceId attribute, 서비스에서 재생되고 있는 프로그램의 식별자를 지시하는 programId attribute, 프로그램의 미디어 타임 정보를 지시하는 mediaTime element, 및/또는 월-클럭 시간(wall clock time)을 지시하는 currentTime element 중에서 적어도 하나를 포함할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 requesting 방식을 이용하여 서비스 시간 정보를 전달할 수 있다. 방송 신호 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 컴패니언 스크린 디바이스로부터 수신한 서비스 시간 정보의 획득을 요청하는 제1 요청을 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 eventing 방식을 이용하여 서비스 시간 정보를 전달 할 수 있다. 예를 들어, 방송 수신 장치는 제어부(또는 시간 동기화 서비스 프로세서)를 이용하여 프로그램의 플레이백 상태에 변경이 있으면 프로그램의 플레이백 상태를 지시하는 플레이백 상태 정보를 포함하는 서비스 시간 정보를 생성할 수 있다. 그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 이벤트를 발생시켜서 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
또한, 방송 수신 장치는 제어부를 이용하여 서비스 시간 정보를 전달하는 간격(interval)을 지시하는 전달 간격 정보(update interval information)을 생성할 수 있다. 그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 전달 간격 정보를 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
본 발명의 일 실시예에 따른 전달 간격 정보는 서비스 시간 정보를 전달하는 주기를 지시하는 전달 주기 정보 및 서비스 시간 정보를 전달하는 빈도를 지시하는 전달 빈도 정보 중에서 하나일 수 있다. 예를 들어, 간격(interval)은 주기(duration) 및/또는 빈도(frequency)를 포함할 수 있다. 또한, 전달 간격 정보(update interval information)는 전달 주기 정보(update duration information) 및/또는 전달 빈도 정보(update frequency information)을 포함할 수 있다.
방송 수신 장치는 전달 간격 정보의 획득을 요청할 수 있다. 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 전달 간격 정보의 획득을 요청하는 제2 요청(또는 전달 간격 정보 요청)을 컴패니언 스크린 디바이스로부터 수신할 수 있다. 그리고 나서, 방송 수신 장치는 제어부(또는 시간 동기화 서비스 프로세서)를 이용하여 제2 요청을 기초로 월-클럭 시간(wall clock time)이 지시하는 시점에서의 전달 간격 정보의 값을 지시하는 현재 전달 간격 정보를 생성할 수 있다. 그리고 나서, 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 현재 전달 간격 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
예를 들어, 전달 간격 정보 요청은 전달 주기 정보 요청 및/또는 전달 빈도 정보 요청을 포함할 수 있다. 현재 전달 간격 정보는 현재 전달 주기 정보 및/또는 현재 전달 빈도 정보를 포함할 수 있다.
방송 수신 장치는 전달 간격 정보의 설정을 요청할 수 있다. 방송 수신 장치는 컴패니언 스크린 인터페이스를 이용하여 전달 간격 정보의 설정을 요청하는 제3 요청(또는 전달 간격 정보 설정 요청)을 컴패니언 스크린 디바이스로부터 수신할 수 있다. 제3 요청은 컴패니언 스크린 디바이스가 요청하는 전달 간격 정보의 값을 지시하는 요청된 전달 간격 정보를 포함할 수 있다. 그리고 나서, 방송 수신 장치는 시간 동기화 서비스 프로세서를 이용하여 요청된 전달 간격 정보와 동일한 값 및 요청된 전달 간격 정보에 가장 가까운 값 중에서 하나를 지시하는 확인된 전달 간격 정보를 생성할 수 있다. 그리고 나서, 방송 수신 장치는 제어부(또는 시간 동기화 서비스 프로세서)를 이용하여 확인된 전달 간격 요청 정보를 기초로 서비스 시간 정보를 컴패니언 스크린 디바이스로 전달할 수 있다.
예를 들어, 전달 간격 정보 설정 요청은 전달 주기 정보 설정 요청 및/또는 전달 빈도 정보 설정 요청을 포함할 수 있다. 요청된 전달 간격 정보는 요청된 전달 주기 정보 및/또는 요청된 전달 빈도 정보를 포함할 수 있다. 확인된 전달 간격 정보는 확인된 전달 주기 정보 및/또는 확인된 전달 빈도 정보를 포함할 수 있다.
도 401 은 본 발명의 또 다른 실시예에 따른, JSON 포맷의 서비스 시간 정보(ServiceTimeInfo) 를 도시한 도면이다.
전술한 바와 같이, 서비스 시간 정보(ServiceTimeInfo)는 TV 수신기와 CD (Companion Device) 에서 재생되는 서비스/컨텐츠 간의 시간 동기화 관련 데이터를 제공하는 정보일 수 있다. 서비스 시간 정보는 전술한 ServiceTimeInfo 상태변수 (state variable) 형태를 가질 수 있다. 서비스 시간 정보는 TV 수신기에서 CD 로 미디어 타임 등의 정보를 전달하는데 사용될 수 있다.
ServiceTimeInfo 상태변수는 전술한 바와 같이 XML 포맷을 가질 수도 있지만, JSON 포맷을 가질 수도 있다. 본 도면에 도시된 XML 포맷은 전술한 ServiceTimeInfo 상태변수의 XML 포맷의 일 실시예와 같을 수 있다. 이 XML 포맷으로된 ServiceTimeInfo 상태변수는, 도시된 것과 같은 JSON 포맷으로도 나타낼 수 있다.
먼저, ServiceTimeInfo 상태변수를 JSON 포맷으로 나타낼 때, 도시된 JSON #1 와 같은 실시예로 나타낼 수 있다. 이 서비스 시간 정보는 VariableName, serviceId, programId, mediaTime 및/또는 currentTime 정보를 가질 수 있다. VariableName 은 해당 JSON 포맷이 담고 있는 상태변수의 이름을 나타낼 수 있다. 여기서는 ServiceTimeInfo 의 값을 가질 수 있다. serviceId 는 해당 상태변수와 관련된 서비스의 식별자를 나타낼 수 있다. 도시된 실시예에서 serviceId 정보는 "11" 의 값을 가질 수 있다. 이는 해당 서비스의 채널 넘버 내지 채널 식별자일 수 있다. programId 는 해당 상태변수와 관련된 프로그램의 식별자를 나타낼 수 있다. 도시된 실시예에서 programId 정보는 "1008" 값을 가질 수 있다. 이는 해당 프로그램(컨텐츠)의 식별자 값일 수 있다.
mediaTime 정보는 mediaTimeprotocol 정보 및/또는 value 정보를 가질 수 있다. mediaTimeProtocol 정보는 전술한 @mediaTimeProtocol 과 같이 미디어 타임을 나타내는데 사용되는 프로토콜을 지시할 수 있다. 여기서는 본 정보가 timestamp 값을 가지는데, 미디어 타임이 timestamp 형태를 가짐을 알 수 있다. value 정보는 미디어 타임의 값을 나타낼 수 있다. 본 실시예에서는 미디어 타임이 77ee 의 값을 가짐을 알 수 있다.
currentTime 정보는 currentTimeProtocol 정보 및/또는 value 정보를 가질 수 있다. currentTimeProtocol 정보는 전술한 @currentTimeProtocol 과 같이 현재 시각을 나타내는데 사용되는 프로토콜을 지시할 수 있다. 여기서는 본 정보가 NTP 값을 가지는데, 이는 현재 시각이 NTP 형태로 표현되고 있음을 지시할 수 있다. value 정보는 현재 시각을 나타내는 값을 가질 수 있다. 본 실시예에서는 현재 시각이 88ee 의 값을 가짐을 알 수 있다.
또한, ServiceTimeInfo 상태변수를 JSON 포맷으로 나타낼 때, 도시된 JSON #2 와 같은 실시예로 나타낼 수도 있다. JSON #2 실시예에서의 각 정보들은 전술한 JSON #1 에서 설명한 바와 같다. 단, JSON #2 의 실시예에서는 mediaTime 정보, currentTime 정보가 생략되어, 이에 따른 정보들간의 하이라키 구조가 없을 수 있다. mediaTime 정보와 currentTime 정보의 value 정보들은 각각 mediaTiemvalue, currentTimevalue 정보로 이름이 바뀔 수 있다.
JSON 포맷 또는 XML 포맷에 따른 상태변수의 내부 정보 구조는, 실시예에 따라 다르게 구성/조합될 수 있다.
도 402 는 본 발명의 또 다른 실시예에 따른, 플레이백 상태 정보를 더 포함하는 JSON 포맷의 서비스 시간 정보(ServiceTimeInfo) 를 도시한 도면이다.
전술한 바와 같이 서비스 시간 정보는 playbackState 엘레멘트를 더 포함할 수 있다. PlaybackState 엘레멘트는 플레이백 상태 정보를 포함할 수 있다. 플레이백 상태 정보는 PD 에서 재생중인 서비스/컨텐츠의 플레이백(playback) 상태를 CD 측에 전달하는데 사용될 수 있다. 플레이백 상태를 CD 에 전달함으로써, PD와 CD 간의 동기화가 효율적으로 수행될 수 있다.
playbackState 엘레멘트를 더 포함하는 서비스 시간 정보에 대해서는 전술한 바와 같다. 이러한 서비스 시간 정보는 전술한 바와 같이 XML 포맷을 가질 수도 있지만, JSON 포맷을 가질 수도 있다. 본 도면에 도시된 XML 포맷은 전술한 playbackSate 엘레멘트를 포함하는 ServiceTimeInfo 상태변수의 XML 포맷의 일 실시예와 같을 수 있다. 이 XML 포맷으로된 ServiceTimeInfo 상태변수는, 도시된 것과 같은 JSON 포맷으로도 나타낼 수 있다.
먼저, ServiceTimeInfo 상태변수를 JSON 포맷으로 나타낼 때, 도시된 JSON #1 와 같은 실시예로 나타낼 수 있다. JSON #1 실시예의 각 정보들(variableName, serviceId 등)은 전술한 바와 같다. 해당 JSON 포맷은 playbackState 정보를 더 포함할 수 있다. 이 playbackState 정보는 speed 정보 및/또는 value 정보를 더 포함할 수 있다. speed 정보는 PD 에서 재생중인 서비스/컨텐츠의 재생 속도를 나타내는 정보를 가질 수 있다. 본 실시예에서 speed 정보는 3 의 값을 가질 수 있다. 이는 PD 에서 재생중인 서비스/컨텐츠가 3의 속도로 재생되고 있음을 나타낼 수 있다. 3 의 값이란, 실시예에 따라 다르게 정의할 수 있지만, 일반적인 재생속도의 3배속을 의미할 수도 있다. value 정보는 PD 에서 재생중인 서비스/컨텐츠의 플레이백 상태를 나타내는 정보를 가질 수 있다. 본 실시예에서 value 정보는 fastforward, backward, pause, stop 등의 값을 가질 수 있다. 이는 PD 에서 재생중인 서비스/컨텐츠가 빨리감기(fastforward)되고 있는 상태임을 나타낼 수 있다.
또한, ServiceTimeInfo 상태변수를 JSON 포맷으로 나타낼 때, 도시된 JSON #2 와 같은 실시예로 나타낼 수도 있다. JSON #2 실시예에서의 각 정보들은 전술한 JSON #1 에서 설명한 바와 같다. 단, JSON #2 의 실시예에서는 playbackState 정보, mediaTime 정보, currentTime 정보가 생략되어, 이에 따른 정보들간의 하이라키 구조가 없을 수 있다. mediaTime 정보와 currentTime 정보의 value 정보들은 각각 mediaTiemvalue, currentTimevalue 정보로 이름이 바뀔 수 있다. playbackState 정보의 speed, value 정보는 각각 playbackSpeed, playbackState 정보로 이름이 바뀔 수 있다.
JSON 포맷 또는 XML 포맷에 따른 상태변수의 내부 정보 구조는, 실시예에 따라 다르게 구성/조합될 수 있다.
도 403 은 본 발명의 또 다른 실시예에 따른, 복수의 영상에 대한 플레이백 상태 정보를 더 포함하는 JSON 포맷의 서비스 시간 정보(ServiceTimeInfo) 를 도시한 도면이다.
PIP 의 경우와 같이, PD 가 복수개의 영상을 동시에 재생할 수도 있다. 이 경우, PD 가 CD 로 플레이백 상태 정보를 전달할 때, 어느 영상에 대한 플레이백 상태 정보인지가 식별되어야할 수 있다. 따라서, 전술한 서비스 시간 정보는 도시된 바와 같이 확장될 수 있다.
서비스 시간 정보는, mediaURL 정보, mediaId 정보 및/또는 mediaRole 정보를 더 포함할 수 있다. 이 정보들은 해당 플레이백 상태 정보가 플레이백 상태를 지시하는 대상이 되는 영상을 식별하는데 사용될 수 있다. mediaURL 정보는 해당 영상의 미디어 URL 정보를, mediaId 정보는 해당 영상의 식별자 정보를 나타낼 수 있다. mediaRole 정보는 해당 영상의 역할(role) 을 지시할 수 있다. 예를 들어, mediaRole 정보는 해당 영상이 메인 영상인지 세컨더리 영상인지를 지시할 수 있다.
도시된 XML 포맷에 따른 서비스 시간 정보는, 전술한 확장된 영상 식별 정보들을 더 포함할 수 있다. 이 XML 포맷의 서비스 시간 정보는 mediaURL 정보, mediaId 정보 및/또는 mediaRole 정보를 더 포함할 수 있다. 본 실시예에서, mediaURL 정보는 http://www.example.com/media01 의 값을 가질 수 있다. 이는 식별대상이 되는 영상의 미디어 URL 일 수 있다. 본 실시예에서, mediaId 정보는 examplemedia002 의 값을 가질 수 있고, 이 값은 해당 영상의 식별자일 수 있다. 본 실시예의 mediaRole 정보는 해당 영상이 메인 영상인지 세컨더리 영상인지를 지시할 수 있다.
본 실시예에 따른 서비스 시간 정보는, 마찬가지로 JSON 포맷으로도 기술될 수 있다. 먼저, 복수의 영상에 대한 플레이백 상태 정보의 전달이 필요한 상황에서, 서비스 시간 정보는 도시된 JSON #1 와 같은 실시예로 나타낼 수 있다. JSON #1 실시예에 따른 서비스 시간 정보는 전술한 mediaURL 정보, mediaId 정보 및/또는 mediaRole 정보를 더 포함할 수 있다. 각 정보들의 값은 전술한 XML 포맷에 따른 서비스 시간 정보의 실시예에서와 같을 수 있다. 다른 정보들(VariableName 등)에 대해서는 전술한 바와 같을 수 있다.
또한, 본 실시예에 따른 서비스 시간 정보는 JSON #2 와 같은 실시예로 나타낼 수도 있다. 이 실시예에 따른 서비스 시간 정보 역시 mediaURL 정보, mediaId 정보 및/또는 mediaRole 정보를 더 포함할 수 있다. 이 정보들 및 다른 정보들(VariableName 등)에 대해서는 전술한 바와 같을 수 있다.
JSON 포맷 또는 XML 포맷에 따른 상태변수의 내부 정보 구조는, 실시예에 따라 다르게 구성/조합될 수 있다.
도 404 는 본 발명의 또 다른 실시예에 따른, JSON 포맷의 플레이백 상태 정보(PlaybackInfo) 를 도시한 도면이다.
PD 에서 재생중인 서비스/컨텐츠의 플레이백 상태 정보는, 전술한 바와 같이 서비스 시간 정보에 해당 정보를 포함시켜 CD 로 전달할 수 있다. 그러나 실시예에 따라, 플레이백 상태 정보를 별개의 상태변수를 정의하여, 그 상태변수를 이용해 CD 로 플레이백 상태 정보를 전달할 수도 있다. 이 상태변수는 전술한 PlaybackInfo 상태변수와 같이 정의될 수 있다. 이에 대해서는 전술한 바와 같다.
전술한 PlaybackInfo 상태변수는 XML 또는 JSON 포맷으로 기술될 수 있다. XML 포맷에 따른 PlaybackInfo 상태변수는 전술한 바와 같을 수 있다. 본 도면에서는 플레이백 상태 정보를 JSON 포맷으로 기술한 실시예가 도시되었다.
JSON 포맷에 따른 플레이백 상태 정보는 VariableName 정보, serviceID 정보 등의 정보를 더 포함할 수 있다. 이 정보들은 전술한 바와 같다. 플레이백 상태 정보를 별개의 상태변수로 정의하였으므로, VariableName 정보는 ServiceTimeInfo 가 아닌 PlaybackInfo 를 그 값으로 가질 수 있다.
도시된 실시예에 따른 JSON 포맷의 플레이백 상태 정보는, 서비스 "11" 의 프로그램 "1008" 에 대한 플레이백 상태 정보를 전달하고 있으며, 해당 컨텐츠가 3배속으로 빨리감기 되고 있음을 나타낼 수 있다.
도 405 는 본 발명의 일 실시예에 따른, UPnP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
메인 피지컬 디바이스(Main Physical Device) 는 TV 수신기(방송 수신 장치, PD)에 해당할 수 있다. 컴패니언 피지컬 디바이스(Companion Physical Device) 는 전술한 CD (Companion Device) 에 해당할 수 있다. 이 두 장치는 피지컬 디바이스로서, 물리적인 의미에서의 PD 또는 CD 를 의미할 수 있다.
본 실시예에서 메인 피지컬 디바이스는 메인 디바이스(Main Device) 를 포함할 수 있다. 여기서 메인 디바이스란 UPnP 에서 정의되고 있는 컨트롤드 디바이스(Controlled Device) 에 해당할 수 있다. 이하 설명의 편의를 위해 메인 디바이스를 컨트롤드 디바이스라 부른다.
본 실시예에서 컴패니언 피지컬 디바이스는 메인 컨트롤 포인트(Main Control Point) 를 포함할 수 있다. 여기서 메인 컨트롤 포인트란 UPnP 에서 정의되고 있는 컨트롤 포인트(Control Point) 에 해당할 수 있다. 메인 컨트롤 포인트는 메인 컨트롤드 디바이스와 커뮤니케이션하는 컨트롤 포인트를 지칭할 수 있다.
컨트롤드 디바이스는 UPnP 아키텍쳐 상에서 주로 TV 수신기 측에 위치하여 다양한 동작을 수행할 수 있다. TV 수신기가 홈 네트워크 등에 조인한 경우, 컨트롤드 디바이스는 Advertisement 메시지를 멀티캐스트하거나, PD 가 제공하는 UPnP 서비스의 디스크립션을 컨트롤 포인트 측에 전달할 수 있다. 또한 컨트롤드 디바이스는 Event 방식에 따라 상태변수 값등을 컨트롤 포인트로 전달하거나, Action 방식에 의해 컨트롤 포인트가 특정 동작을 요청하면, 그에 따라 컨트롤 포인트로 정보를 전달하는 등의 동작을 수행할 수 있다. TV 수신기 등의 PD 를 컨트롤드 디바이스라 부를수도 있다.
컨트롤드 디바이스는 어플리케이션 매니지먼트 서비스(Application Management Service) 및/또는 커넥션 생성 서비스(Connection Establishment Service) 등을 제공할 수 있다. 이 들을 컨트롤드 디바이스가 제공하는 UPnP 서비스들 중 하나일 수 있다. 어플리케이션 매니지먼트 서비스는 컨트롤드 디바이스와 컨트롤 포인트에서 실행중인 앱들을 매니지먼트하는 것과 관련된 서비스들을 의미할 수 있다. 앱 투 앱 커뮤니케이션이나, 특정 정보를 앱으로 전달하는 등의 서비스들이 이 서비스에 해당할 수 있다. 도시된 실시예에서 PD 측의 앱(App#1, App#2) 과 CD 측의 앱(App#1, App#3) 등의 앱등이 이 서비스에 의해 서로 통신하는 등의 동작을 할 수 있다.
커넥션 생성 서비스는 컨트롤드 디바이스와 컨트롤 포인트 간의 연결을 생성하고 관리하는 것과 관련된 서비스일 수 있다. 컨트롤드 디바이스와 컨트롤 포인트 간의 디스커버리 과정은 UPnP 에서 정의된 디스커버리 과정을 따를 수 있다.
먼저 PD 가 홈 네트워크 등에 조인하게 되면 PD 는 자신을 어드버타이징하는 디스커버리 메시지를 멀티캐스트할 수 있다. CD 가 홈 네트워크에 나중에 조인하는 경우에는 CD 가 임의의 PD를 대상으로, 서치 메시지를 멀티캐스트 할 수 있다. 이 서치 메시지를 수신한 PD는 그 응답 메시지를 그 CD에게 유니캐스트할 수도 있다. 이러한 어드버타이징 메시지와 서치 메시지는 PD, CD의 홈 네트워크 조인 시간이나 순서에 상관없이 교환될 수 있으며, 주기적으로 교환될 수 있다.
PD 의 어드버타이징 메시지나 서치 메시지에 대한 응답 메시지를 받은 CD 는 HTTP GET 요청 메시지를 보내, PD 가 제공하는 UPnP 서비스 등에 대한 정보를 요청할 수 있다. 이에 대한 응답으로, PD 는 서비스들에 대한 디스크립션 정보를 CD 로 전달해줄 수 있다. 이 후 CD 는 PD 의 서비스에 서브스크립션(subscription) 할 수 있다. CD 는 Action 을 이용해 원하는 정보를 얻거나, 정보를 전송하거나, Event 방식으로 정보 등을 전달받을 수 있게 된다.
실시예에 따라 메인 디바이스, 메인 컨트롤 포인트를 각각 스크린 디바이스, 스크린 컨트롤 포인트라 부를 수도 있다.
도 406 은 본 발명의 다른 실시예에 따른, UPnP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
본 실시예에서 메인 피지컬 디바이스(PD) 는 메인 컨트롤드 디바이스 및/또는 컴패니언 컨트롤 포인트를 포함할 수 있다. 또한 컴패니언 피지컬 디바이스(CD) 는 메인 컨트롤 포인트 및/또는 컴패니언 컨트롤드 디바이스를 포함할 수 있다.
일반적으로 UPnP 아키텍쳐의 경우, 컨트롤드 디바이스 측과 컨트롤 포인트 측의 동작이나 역할이 비대칭적이다. 즉, 컨트롤드 디바이스 측에서 수행 가능한 동작이 컨트롤 포인트 측에서는 불가능할 수 있다.
이를 보완하기 위하여 메인 피지컬 디바이스(PD) 가 메인 컨트롤드 디바이스를 가지는 것과 마찬가지로, 컴패니언 피지컬 디바이스(CD) 가 컴패니언 컨트롤드 디바이스를 가질 수 있다. 각각의 컨트롤드 디바이스와 대응되도록 메인 피지컬 디바이스는 컴패니언 컨트롤 포인트를 가질 수 있고, 컴패니언 피지컬 디바이스는 메인 컨트롤 포인트를 가질 수 있다. 메인 컨트롤드 디바이스는 메인 컨트롤 포인트와 통신하고, 컴패니언 컨트롤드 디바이스는 컴패니언 컨트롤 포인트와 통신할 수 있다.
컴패니언 컨트롤드 디바이스와 컴패니언 컨트롤 포인트 역시 상호간에 디스커버리 메시지를 주고받고, 이벤트/액션 등의 동작을 수행할 수 있다. 이를 통해 CD 측에서도 주도적으로 커뮤니케이션이 수행될 수 있다. 그러나, 컴패니언 컨트롤드 디바이스와 컴패니언 컨트롤 포인트는 메인 컨트롤드 디바이스/컨트롤 포인트와 그 동작이나 역할, 권한 등에 있어서 차이가 있을 수 있다. 자세한 동작이나 권한의 범위 등은 설계자의 의도에 따라 다르게 설정될 수 있다.
실시예에 따라 컴패니언 컨트롤드 디바이스, 컴패니언 컨트롤 포인트를 각각 스크린 (컨트롤드) 디바이스, 스크린 컨트롤 포인트라 부를 수도 있다.
도 407 은 본 발명의 또 다른 실시예에 따른, UPnP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
본 실시예에서 메인 피지컬 디바이스(PD) 는 메인 컨트롤드 디바이스 및/또는 메인 컨트롤 포인트를 포함할 수 있다. 또한 컴패니언 피지컬 디바이스(CD) 역시 메인 컨트롤 포인트 및/또는 메인 컨트롤드 디바이스를 포함할 수 있다.
전술한 바와 같이, UPnP 아키텍쳐 상에서 PD 와 CD 측은 그 동작 등에 있어 비대칭적인 역할을 수행할 수 있다. 이를 해소하기 위하여, PD 가 메인 컨트롤드 디바이스, CD 가 메인 컨트롤 포인트를 가지는 것외에, 각각 메인 컨트롤 포인트, 메인 컨트롤드 디바이스 쌍을 더 가지는 아키텍쳐를 구성할 수도 있다. 이 경우, 전술한 실시예에서 컴패니언 컨트롤드 디바이스/컨트롤 포인트가 메인 컨트롤드 디바이스/컨트롤 포인트 와는 다른 역할을 수행했던 것과 달리, 양 측에서 동등한 메인 컨트롤드 디바이스/컨트롤 포인트를 가질 수 있다. 이에 따라 TV 수신기와 컴패니언 피지컬 디바이스는 상호간의 커뮤니케이션 등에 있어서 동등한 지위를 가지도록 아키텍쳐가 구성될 수 있다.
도 408 은 본 발명의 일 실시예에 따른, UPnP 기반의 PD-CD 아키텍쳐에서의 인터랙션 다이어그램을 도시한 도면이다.
도시된 다이어그램들은, 전술한 UPnP 기반의 PD-CD 아키텍쳐의 각 실시예들을, 차례대로 도시하고 있다. 첫번째 실시예(t408010) 는 전술한 PD 가 컨트롤드 디바이스를, CD 가 컨트롤 포인트를 각각 가지는 실시예일 수 있다. 두번째 실시예(t408020) 는 전술한 PD 가 메인 컨트롤드 디바이스, 컴패니언 컨트롤 포인트를, CD 가 메인 컨트롤 포인트, 컴패니언 컨트롤드 디바이스를 각각 가지는 실시예일 수 있다. 세번째 실시예(t408030) 는 전술한 PD 가 메인 컨트롤드 디바이스, 메인 컨트롤 포인트를, CD 가 메인 컨트롤 포인트, 메인 컨트롤드 디바이스를 각각 가지는 실시예일 수 있다.
첫번째 실시예(t408010) 에서, 컨트롤드 디바이스는 UPnP 이벤팅을 통하여 상태변수 등의 정보를 컨트롤 포인트 측으로 전달할 수 있다. 동시에 컨트롤 포인트는 UPnP 액션을 통하여 컨트롤드 디바이스에 정보 내지 특정 동작 등을 요청할 수 있다. 가장 기본적인 형태의 아키텍쳐일 수 있다.
두번째 실시예(t408020) 에서, 메인 컨트롤드 디바이스는 메인 컨트롤 포인트와, 컴패니언 컨트롤드 디바이스는 컴패니언 컨트롤 포인트와 통신할 수 있다. 메인 컨트롤드 디바이스는 UPnP 이벤팅을 통하여 상태변수 등의 정보를 메인 컨트롤 포인트 측으로 전달할 수 있다. 동시에 메인 컨트롤 포인트는 UPnP 액션을 통하여 메인 컨트롤드 디바이스에 정보 내지 특정 동작 등을 요청할 수 있다. 또한, 컴패니언 컨트롤드 디바이스는 UPnP 이벤팅을 통하여 상태변수 등의 정보를 컴패니언 컨트롤 포인트 측으로 전달할 수 있다. 동시에 컴패니언 컨트롤 포인트는 UPnP 액션을 통하여 컴패니언 컨트롤드 디바이스에 정보 내지 특정 동작 등을 요청할 수 있다. 전술한 바와 같이 컴패니언 컨트롤드 디바이스와 컴패니언 컨트롤 포인트는 메인 컨트롤드 디바이스/컨트롤 포인트와 그 동작이나 역할, 권한 등에 있어서 차이가 있을 수 있다.
세번째 실시예(t408030) 에서, 양측의 메인 컨트롤드 디바이스는 각각 해당되는 메인 컨트롤 포인트와 통신할 수 있다. 메인 컨트롤드 디바이스는 UPnP 이벤팅을 통하여 상태변수 등의 정보를 메인 컨트롤 포인트 측으로 전달할 수 있다. 동시에 메인 컨트롤 포인트는 UPnP 액션을 통하여 메인 컨트롤드 디바이스에 정보 내지 특정 동작 등을 요청할 수 있다. 이를 통해 상호간의 앱 커뮤니케이션이 수행될 수 있다.
도 409 는 본 발명의 일 실시예에 따른, Websocket 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
Websocket 기반의 아키텍쳐에서, PD 와, CD 측에서 실행중인 앱 간에 커뮤니케이션이 수행될 수 있다. Websocket 기반의 아키텍쳐에서 PD 는 Websocket 서버를 포함할 수 있고, CD 는 각각의 앱들을 포함할 수 있다. 여기서 CD 의 각각의 앱들은 Websocket 클라이언트라 부를 수도 있다.
PD 내의 Websocket 서버는 PD 가 제공하는 각각의 동작/기능(function) 들에 대한 엔드포인트(endpoint) 들을 가질 수 있다. 엔드포인트들은 CD 측 앱과 연결되어 ESG 를 전달하거나, 미디어 타임 라인을 전달, PD 측 앱과 CD 측 앱 간의 통신을 하는 등의 역할을 수행할 수 있다.
먼저 PD 와, CD 측에서 실행중인 앱 간에 디스커버리 과정이 수행될 수 있다. 이 디스커버리 과정에 대해서는 후술한다. 이 과정에서 websocket 서버의 엔드포인트들에 대한 정보가 CD 측 앱으로 전달될 수 있다.
각각의 엔드포인트에 대해서, CD 측의 앱 과 PD 측의 websocket 서버는 핸드쉐이크(handshake) 과정을 수행할 수 있다. CD 측 앱이 먼저 핸드쉐이크의 오프닝을 요청하면, websocket 서버가 이에 대한 리스폰스(response)를 보낼 수 있다. 이를 통해 websocket 서버와 CD 측의 앱은 엔드포인트를 통하여 연결될 수 있다.
Websocket 아키텍쳐에서, 엔드포인트로 websocket 서버와 CD 측 앱이 연결되면, 엔드포인트를 통해 정보들이 오갈 수 있다. PD 측과 CD 측의 앱 간에는 2-웨이로 메시지들이 자유롭게 릴레잉(relaying) 될 수 있다.
이 후, 연결의 종료가 필요한 경우, CD 측 앱은 해당 엔드포인트에 대한 연결 종료를 요청할 수 있다(Disconnect Request). Websocket 서버는 요청에 대한 응답을하고(Disconnect Response), 해당 엔드포인트와의 연결은 종료될 수 있다. 연결의 종료는 PD 측에서 먼저 수행할 수도 있고, 다양한 상황에서 자동적으로 연결이 종료될 수도 있다.
전술한 과정은 하나의 websocket 엔드포인트와 인터랙션하는 과정일 수 있다. 복수개의 엔드포인트가 있는 경우, 각각의 엔드포인트들에 대하여 전술한 과정을 동일하게 개별적으로 수행하여, 각각의 필요한 엔드포인트들을 활성화시킬 수 있다. 이 과정은 복수개의 엔드포인트들에 대하여 동시에 또는 차례대로 수행될 수 있다.
본 실시예에서 websocket 서버는, 제공되는 각각의 기능에 대하여 각각의 엔드포인트를 가질 수 있다. 즉, 하나의 기능에 하나의 엔드포인트가 제공될 수 있다.
이 엔드포인트에는 서비스/컨텐트 식별 엔드포인트(Service/Content Identification Endpoint), ESG 정보 엔드포인트(ESG Information Endpoint), 서비스/쇼/세그먼트 데이터 엔드포인트(Service/Show/Segment Data Endpoint), 미디어 타임라인 엔드포인트(Media Timeline Endpoint), 미디어 플레이백 상태 엔드포인트(Media Playback State Endpoint), EAS 엔드포인트(EAS Endpoint) 및/또는 앱투앱 엔드포인트(ApptoApp Endpoint) 등이 있을 수 있다.
서비스/컨텐츠 식별 엔드포인트는 현재 PD 에서 재생중이거나, 재생될 예정인 서비스/컨텐츠를 식별하기 위한 정보를 전달하는 기능을 수행하는 엔드포인트일 수 있다. 이 엔드포인트를 통해 CD 측 앱은 해당 정보를 전달받을 수 있다.
ESG 정보 엔드포인트는 CD 가 ESG 를 전달받기 위하여 사용될 수 있는 엔드포인트일 수 있다. 이를 통해 CD 측 앱은 ESG 를 전달받을 수 있다. 서비스/쇼/세그먼트 데이터 엔드포인트는 서비스 등에 대한 각종 데이터를 전달받은 엔드포인트일 수 있다.
미디어 타임라인 엔드포인트는 현재 시각 및 현재 재생중인 서비스/컨텐츠의 미디어 타임 정보를 전달해주기 위한 엔드포인트일 수 있다. 전술한 서비스 시간 정보 등이 이 엔드포인트를 통해 전달될 수도 있다. 미디어 플레이백 상태 엔드포인트는 현재 재생중인 서비스/컨텐츠의 재생 관련 정보를 전달해주기 위한 엔드포인트일 수 있다. 재생 관련 정보는 현재 재생중인 서비스/컨텐츠가 일반적인 스피드로 재생중인지, 3배속으로 빨리감기 중인지, 되감기 중인지 등의 정보를 말할 수 있다. 전술한 플레이백 상태 정보 등이 이 엔트포인트를 통해 CD 측 앱으로 전달될 수 있다.
EAS 엔드포인트는 EAS 정보를 CD 측으로 전달해주기 위한 엔드포인트일 수 있다. EAS 정보를 TV 수신기가 전달받으면 이 정보를 CD 측으로 전달해줘 위험상황을 더 효율적으로 알릴 수 있다. 앱투앱 엔드포인트 PD 측에서 실행중인 앱과 CD 측에서 실행중인 앱 간의 커뮤니케이션을 위한 엔드포인트일 수 있다. 이 엔드포인트를 이용하여 PD 측 앱과 CD 측 앱이 서로 간이 2 웨이로 메시지를 주고 받으면서, 정보를 교환할 수 있다.
각 기능들에 대해 각각 엔드포인트가 제공되므로, CD 측 앱은 각 엔드포인트에 접근하여 연결 과정을 수행하고, 그 엔드포인트를 통하여 원하는 정보 등을 얻거나 PD 측 앱과 커뮤니케이션하는 등의 동작을 수행할 수 있다.
이하, 설명의 편의를 위하여, 이와 같은 아키텍쳐를 websocket 기반의 아키텍쳐 실시예 #1 이라 부를 수 있다. 이 실시예는 websocket 기반의 다른 아키텍쳐는 물론, UPnP 기반, HTTP 기반 아키텍쳐의 다양한 실시예들과 조합될 수 있다.
도 410 은 본 발명의 다른 실시예에 따른, Websocket 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도시된 본 실시예에서는, 전술한 바와 같이 각 기능들에 대해 각각 엔드포인트가 제공되지 않을 수 있다. 본 실시예에서는, PD 측의 websocket 서버에서 하나의 엔드포인트가 제공되고, 그 엔드포인트가 전술한 모든 기능들을 수행할 수 있다. 이 엔드포인트는 컴패니언 엔드포인트라 불릴 수 있다. 다른 기타 websocket 아키텍쳐의 구성은 전술한 실시예와 같을 수 있다.
이 하나의 엔드포인트는 전술한 실시예에서 여러 엔드포인트가 수행했던 기능들을 모두 수행할 수 있는 엔드포인트일 수 있다. 즉, 이 엔드포인트는 전술한 서비스/컨텐트 식별 엔드포인트, ESG 정보 엔드포인트, 서비스/쇼/세그먼트 데이터 엔드포인트 등의 엔드포인트들이 하던 역할들을 모두 수행할 수 있다. 따라서 CD 측 앱은 이 엔드포인트에 연결하는 것 만으로, ESG 를 전달받거나, 미디어 타임 정보를 전달받거나, PD 측 앱과 통신하는 등의 모든 동작을 수행할 수 있다. 단, 이 경우 CD 측 앱과 websocket 서버가 주고받는 메시지가, 어떤 기능을 위한 것인지 식별할 수 있어야 하므로, 좀 더 구체적인 정보를 담거나, 더 확장될 수 있다.
이 컴패니언 엔드포인트가 모든 기능을 수행하므로, 이 엔드포인트에 연결이 되면 모든 기능들이 수행될 수 있다. 이 엔드포인트에 연결하는 과정은 전술한 일반적인 엔드포인트에 연결되는 과정과 동일할 수 있다. 이 경우 엔드포인트가 하나이므로, 어느 한 기능에 대한 액세스가 불필요한 상황이라 할 지라도, 엔드포인트의 연결을 일부 종료하거나 할 수 없다. 반대로, 어느 하나의 기능만이 필요한 상황이라할 지라도, 이 컴패니언 엔드포인트에 연결해야만 할 수 있다.
이하, 설명의 편의를 위하여, 이와 같은 아키텍쳐를 websocket 기반의 아키텍쳐 실시예 #2 이라 부를 수 있다. 이 실시예는 websocket 기반의 다른 아키텍쳐는 물론, UPnP 기반, HTTP 기반 아키텍쳐의 다양한 실시예들과 조합될 수 있다.
도 411 은 본 발명의 또 다른 실시예에 따른, Websocket 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도시된 본 실시예에서는, n 개의 엔드포인트가 제공되고, 이 n 개의 엔드포인트가 총 m 개의 기능(function)을 수행할 수 있다. 여기서, n 은 m 보다 작거나 같을 수 있으며, n 과 m 은 모두 정수일 수 있다. 즉, 이 경우는 하나의 엔드포인트가 하나 또는 그 이상의 기능을 수행할 수 있으며, 이러한 엔드포인트가 복수개(n) 제공될 수 있다.
도시된 실시예에서, 서비스/컨텐츠 식별 기능, ESG 전달 기능 등의 기능을 수행하는 엔드포인트는 컴패니언 엔드포인트로서 제공되고, 이와 동시에 앱투앱 기능을 수행하는 엔드포인트는 별도의 "앱투앱 엔드포인트"로서 제공될 수 있다.
본 실시예의 아키텍쳐는 전술한 websocket 기반 아키텍쳐 #1 과 #2 의 조합된 형태로 볼 수 있다. n, m 의 값에 따라 다양한 아키텍쳐가 구성될 수 있다. 다양한 개수의 엔드포인트가 제공되고, 각 엔드포인트는 다양한 개수의 기능을 제공할 수 있다.
전술한 엔드포인트에의 연결 및 연결 종료 과정은, 각각의 엔드포인트에 행해져야할 수 있다. 즉, n 개의 엔드포인트에 대해서는 그 과정이 n 번 수행되어야 할 수 있다.
이하, 설명의 편의를 위하여, 이와 같은 아키텍쳐를 websocket 기반의 아키텍쳐 실시예 #3 이라 부를 수 있다. 이 실시예는 websocket 기반의 다른 아키텍쳐는 물론, UPnP 기반, HTTP 기반 아키텍쳐의 다양한 실시예들과 조합될 수 있다.
도 412 는 본 발명의 일 실시예에 따른, Websocket 기반의 PD-CD 아키텍쳐에서의 앱 투 앱 커뮤니케이션(App to app communication) 을 도시한 도면이다.
PD 에서 실행중인 앱과 CD 에서 실행중인 앱 간에, 앱 투 앱 커뮤니케이션이 가능할 수 있다. websocket 기반의 아키텍쳐에서, 각 앱들은 weboscket 서버를 통하여 커뮤니케이션할 수 있다. 여기서 전술한 앱투앱 엔드포인트가 활용될 수 있다. 또는 실시예에 따라 앱투앱 커뮤니케이션 기능 및 다른 기능들을 병행하는 컴패니언 앤드포인트가 활용될 수도 있다.
CD 측 앱은 전술한 것과 같은 과정을 통하여 weboscket 서버의 앱투앱 커뮤니케이션 엔드포인트에 연결할 수 있다. PD 측에서 실행중인 앱들도 역시 websocket 클라이언트에 해당하는데, PD 측 앱도 websocket server 의 앱투앱 커뮤니케이션 엔드포인트에 연결할 수 있다. websocket 서버는 전달받은 연결 요청에 대하여, 서로 매칭되는 연결 요청이 오면, 양 측을 연결하여 메시지를 주고 받게 할 수 있다.
양 측의 앱이 연결되면, 앱들은 websocket 서버를 통하여 메시지들을 주고 받을 수 있다. 이 메시지는 양방향(2 way)으로 전달될 수 있다. websocket 서버는 어느 한 측이 보내온 메시지를, 다른 측 앱으로 전달(relaying)해줄 수 있다.
도 413 은 본 발명의 일 실시예에 따른, HTTP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
HTTP 기반의 아키텍쳐에서, PD 와, CD 측에서 실행중인 앱 간에 커뮤니케이션이 수행될 수 있다. HTTP 기반의 아키텍쳐에서 PD 는 HTTP 서버를 포함할 수 있고, CD 는 각각의 앱들을 포함할 수 있다. 여기서 CD 의 각각의 앱들은 HTTP 클라이언트라 부를 수도 있다.
PD 내의 HTTP 서버는 다양한 동작/기능(function) 들을 수행하기 위한 서버일 수 있다. 이 서버의 각 기능들에 접근하기 위해서는, 해당 서비스에 대한 서비스 URL 이 필요할 수 있다. CD 측 앱은 해당 서비스 URL 에 요청(request)을 보냄으로써, 원하는 정보를 전달받거나 할 수 있다.
먼저 PD 와, CD 측에서 실행중인 앱 간에 디스커버리 과정이 수행될 수 있다. 이 과정에서 HTTP 서버의 URL 들에 관한 정보가 CD 측 앱으로 전달될 수 있다. CD 측의 HTTP 클라이언트들은, 전달받은 URL 정보를 이용하여, 해당 URL 에 접근하여 필요한 정보 등을 전달받을 수 있다.
본 실시예에서 HTTP 서버는, 각각의 기능에 대하여 각각의 서로 다른 URL 들을 가질 수 있다. 즉, 하나의 기능에 하나의 URL 이 제공될 수 있다.
이 서비스 URL 들을 통해 제공되는 서비스들은 전술한 websocket 서버가 제공하는 기능들과 유사할 수 있다. 예를 들어, 서비스/컨텐트 식별 서비스 URL 에 접근하는 경우, CD 측 앱은 현재 PD 에서 재생중이거나, 재생될 예정인 서비스/컨텐츠를 식별하기 위한 정보를 전달받을 수 있다. 즉 CD 측 앱은 서비스/컨텐트 식별 서비스 URL 로 서비스/컨텐츠 식별 정보를 요청(request)할 수 있고, PD 측의 HTTP 서버는 요청된 정보를 CD 측 앱으로 전달해줄 수 있다. 전술한 ESG 정보 엔드포인트, 미디어 타임라인 엔드포인트 등등이 제공하는 기능과 같은, ESG 정보 서비스, 미디어 타임라인 서비스 등등이 정의될 수 있다. CD 측 앱은 각각의 서비스 URL 에 요청함으로써, 원하는 정보를 전달받을 수 있다.
각 서비스들에 대하여 각각 서비스 URL 이 제공되므로, CD 측 앱은 각 URL 정보를 알고, 해당 URL 에 접근해야만 원하는 정보를 얻거나 PD 측 앱과 커뮤니케이션하는 등의 동작을 수행할 수 있다.
이하, 설명의 편의를 위하여, 이와 같은 아키텍쳐를 HTTP 기반의 아키텍쳐 실시예 #1 이라 부를 수 있다. 이 실시예는 HTTP 기반의 다른 아키텍쳐는 물론, UPnP 기반, websocket 기반 아키텍쳐의 다양한 실시예들과 조합될 수 있다.
도 414 는 본 발명의 다른 실시예에 따른, HTTP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
도시된 본 실시예에서는, 전술한 바와 같이 각 서비스들에 대해 각각 서비스 URL 이 제공되는 것이 아닐 수 있다. 본 실시예에서는, PD 측의 HTTP 서버에서 하나의 서비스 URL 이 제공되고, 그 서비스 URL 이 전술한 모든 기능들을 수행할 수 있다. 이 서비스 URL 은, 컴패니언 서비스 URL 이라 불릴 수 있다. 다른 기타 HTTP 아키텍쳐의 구성은 전술한 실시예와 같을 수 있다.
이 하나의 서비스 URL는 전술한 실시예에서 여러 서비스 URL가 수행했던 기능들을 모두 수행할 수 있는 서비스 URL일 수 있다. 즉, 이 서비스 URL는 전술한 서비스/컨텐트 식별 서비스 URL, ESG 정보 서비스 URL, 서비스/쇼/세그먼트 데이터 서비스 URL 등의 서비스 URL들이 하던 역할들을 모두 수행할 수 있다. 따라서 CD 측 앱은 이 서비스 URL 에 요청을 보내는 것 만으로, ESG 를 전달받거나, 미디어 타임 정보를 전달받을 수 있다.
이 경우, HTTP 서버로 요청을 보낼 때, 그 쿼리(query) 텀에 새로운 변수가 붙는 등, 그 요청 메시지가 확장될 수 있다. 이는 어떠한 정보를 전달받기 위해 컴패니언 서비스 URL 에 요청을 보내는 것인지 식별될 필요가 있기 때문이다. HTTP 서버는 요청을 분석하여, CD 측 앱이 원하는 정보를 전달해 줄 수 있다.
이하, 설명의 편의를 위하여, 이와 같은 아키텍쳐를 HTTP 기반의 아키텍쳐 실시예 #2 이라 부를 수 있다. 이 실시예는 HTTP 기반의 다른 아키텍쳐는 물론, UPnP 기반, Websocket 기반 아키텍쳐의 다양한 실시예들과 조합될 수 있다.
도 415 는 본 발명의 일 실시예에 따른, Websocket & HTTP 기반의 PD-CD 아키텍쳐를 도시한 도면이다.
전술한 UPnP 기반 아키텍쳐, Websocket 기반 아키텍쳐, HTTP 기반 아키텍쳐는 서로 조합될 수 있다. 예를 들어 PD 는 HTTP 서버와 Websocket 서버를 동시에 가질 수 있다. 실시예에 따라 PD 는 HTTP 서버와 Websocket 서버를 가짐과 동시에, UPnP 아키텍쳐 상의 컨트롤드 디바이스 역할을 수행할 수도 있다.
또한, 조합되는 UPnP 아키텍쳐는 전술한 UPnP 아키텍쳐의 첫번째, 두번째, 세번째 실시예 중 하나일 수 있다. 조합되는 websocket 아키텍쳐는 websocket 기반 아키텍쳐 #1, #2, #3 중 하나일 수 있고, HTTP 아키텍쳐는 HTTP 기반 아키텍쳐 #1, #2 중 하나일 수 있다.
본 실시예에서는 PD 가 HTTP 서버와 Websocket 서버를 동시에 가지고 있으며, HTTP 아키텍쳐는 HTTP 기반 아키텍쳐 #2, Weboscket 아키텍쳐는 websocket 기반 아키텍쳐 #3 가 사용될 수 있다. 즉, HTTP 서버에 있어서 하나의 서비스 URL 주소가 복수개의 기능을 수행할 수 있다. websocket 서버는 n 개의 엔드포인트를 제공하고, 이 n 개의 엔드포인트들이 복수개의 기능을 수행할 수 있다. 구체적으로 본 실시예에서는 2 개의 엔드포인트가 제공되고, 하나의 엔드포인트는 앱투앱 커뮤니케이션을 위한 엔드포인트의 역할을 하고, 나머지 하나의 엔드포인트는 다른 모든 기능들을 수행하는 엔드포인트의 역할을 할 수 있다.
여기서는 설명을 위하여 전술한 것과 같은 실시예만을 설명하나, 본 발명의 기술적 사상은 다른 모든 조합을 일 실시예로서 포함한다. 이러한 조합들에 의해 다양한 아키텍쳐의 설계가 가능하며, 이는 설계자의 의도에 따라 선택되어 활용될 수 있다.
본 실시예와 같은 아키텍쳐에서, 각각의 기능들은 HTTP 서버 및 Websocket 서버에 의해 분담될 수 있다. 즉, HTTP 서버는 특정 기능들을 수행하는데 사용되어 HTTP 의 단일 서비스 URL 은 그 기능들을 수행하기 위한 요청을 받기 위해 사용될 수 있다. 또한 Websocket 서버는 그 외의 다른 기능들을 수행하기 위한 엔드포인트들을 제공할 수 있다.
이러한 기능의 분담은 해당 기능의 특성에 따라 이루어질 수 있다. HTTP 는 비동기적(asynchronous)인 커뮤니케이션을 위해 사용될 수 있고, websocket 은 동기적(synchronous)인 커뮤니케이션을 위해 사용될 수 있다.
실시예에 따라, ESG 정보 전달 기능, 서비스/쇼/세그먼트 데이터 전달 기능 등은 HTTP 에 의해 수행될 수 있다. 즉, HTTP 서버의 서비스 URL 에 요청을 보냄으로써, ESG 또는 서비스 데이터 등의 정보 등이 획득될 수 있다.
또한, 서비스/컨텐트 식별 기능, 미디어 플레이백 상태 기능, 앱투앱 커뮤니케이션 기능 등은 websocket 에 의해 수행될 수 있다. websocket 서버는 서비스/컨텐트 식별 기능, 미디어 플레이백 상태 기능을 수행할 수 있는 컴패니언 엔드포인트와, 앱투앱 커뮤니케이션 기능을 수행할 수 있는 앱투앱 엔드포인트를 제공할 수 있다.
실시예에 따라 미디어 타임라인 기능을 HTTP 및/또는 websocket 에 의해 수행될 수 있다. 양자 모두에 의해 제공되거나 어느 하나에 의해 해당 기능이 제공될 수 있다. EAS 정보 전달 기능은 weboscket 를 통해 수행되거나, PD 내의 멀티캐스트 센더(multicast sender) 에 의해 수행될 수 있다. 멀티캐스트 센더가 활용되는 경우, PD 내의 멀티캐스트 센더는 EAS 정보를 멀티캐스트 그룹 내의 장치들에 멀티캐스트 할 수 있다.
도 416 은 본 발명의 일 실시예에 따른, PD (Primary Device) 의 디스커버리를 위해 사용되는 메시지들의 포맷을 도시한 도면이다.
PD 는 CD 또는 CD 에서 실행중인 앱에 의해 디스커버리될 수 있다. 이 과정에서 SSDP (Simple Service Discovery Protocol) 이 사용될 수 있다. PD 는 PD 가 따르는 기술표준 등을 식별하기 위하여 ST (Search Target) 값을 가질 수 있다. 예를 들어, PD 는 urn:atsc:device:atsccompanion:3 또는 urn:atsc:service:atsccompanion:3 값을 자신의 디바이스 타입 또는 서비스 타입으로서 사용할 수 있다. 이 값들은 ST 매칭을 통하여 디스커버리 과정에서 활용될 수 있다.
디스커버리 과정을 위하여, PD 는 자기자신을 CD 들에게 어드버타이징(advertising) 할 수 있다. 또는 CD 는 PD 를 서치하여 찾을 수도 있다.
먼저, PD 가 CD 들에게 자신을 어드버타이징하는 경우, PD 는 디스커버리 메시지를 멀티캐스트할 수 있다. 이 디스커버리 메시지는 NOTIFY 메쏘드를 통하여 전송될 수 있다. PD 의 어드버타이징을 위한 디스커버리 메시지는 도시된 실시예(t413010) 와 같을 수 있다.
CD 가 PD 를 서치하여 찾는 경우, CD 내지 CD 에서 실행중인 앱은 디스커버리 메시지를 멀티캐스트할 수 있다. 이 디스커버리 메시지는 M-SEARCH 메쏘드를 통하여 전송될 수 있다. CD 의 서칭을 위한 디스커버리 메시지는 도시된 실시예(t413020)와 같을 수 있다.
전술한 ST 값을 이용하여, CD 측 앱은 특정 기술 표준에 맞는 PD 들을 찾을 수 있다. PD 는 전술한 서치 메시지를 수신할 수 있다. PD 자신의 ST 값과, 해당 메시지의 ST 값이 매칭되는 경우, PD 는 그 메시지를 보내온 CD 측 앱에게 응답(response)를 보낼 수 있다(200 OK). 이 응답 메시지는 도시된 실시예(t413030)와 같을 수 있다.
도시된 메시지 포맷들은 본 발명의 일 실시예들일 뿐이며, 메시지에 포함되는 변수들은 실시예에 따라 다른 값을 가질 수 있다.
설명된 디스커버리 과정은 websocket 뿐 아니라 HTTP 아키텍쳐의 경우에도 적용될 수 있다.
도 417 은 본 발명의 일 실시예에 따른, DDD (Device Description Document) 를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정을 도시한 도면이다.
전술한 바와 같이, PD 는 자신을 어드버타이징하는 디스커버리 메시지를 멀티캐스팅하거나, 수신된 M-SEARCH 메시지에 대한 응답 메시지를 CD 로 전송할 수 있다. CD 측 앱은 멀티캐스팅된 디스커버리 메시지 또는 M-SEARCH 메시지에 대한 응답 메시지의 LOCATION 헤더로부터 URL 을 얻을 수 있다. 이 URL 은 DDD (Device Description Document) 를 획득할 수 있는 URL 일 수 있다. CD 측 앱은 이 URL 을 이용하여 DDD 를 획득해, 디바이스 디스크립션 정보 등을 얻을 수 있다.
먼저 전술한 바와 같이 PD 는 어드버타이징하기 위한 디스커버리 메시지를 NOTIFY 메쏘드를 통해 멀티캐스팅할 수 있다. 이 과정에서 DDD 를 획득하기 위한 URL 정보가 CD 에서 실행중인 앱으로 전달될 수 있다. 또는 CD 측 앱이 먼저 서칭을 위한 디스커버리 메시지를 M-SEARCH 메쏘드를 통해 멀티캐스팅하면, PD 를 이에 대한 응답 메시지를 CD 로 보낼 수 있다. 역시 이 과정에서 DDD 를 획득하기 위한 URL 정보가 CD 측 앱으로 전달될 수 있다(t417010).
이 후 CD 측 앱은 획득된 URL 로 HTTP GET 을 이용해 DDD 를 요청할 수 있다. PD 는 HTTP 응답(response) 메시지를 통하여 DDD 를 CD 측 앱으로 전달해 줄 수 있다(t417020). 이 응답 메시지의 바디(body)에 DDD 가 포함될 수 있다.
DDD 를 통하여 websocket 엔드포인트들의 주소가 CD 측 앱으로 제공될 수 있다. 실시예에 따라 DDD 를 통하여 HTTP 아키텍쳐의 서비스 URL 들의 주소가 CD 측 앱으로 제공될 수 있다. 두 개 이상의 프로토콜이 조합된 형태의 아키텍쳐가 사용되는 경우, websocket 엔드포인트의 주소 및/또는 HTTP 의 서비스 URL 들의 주소가 CD 측 앱으로 DDD 를 통해 제공될 수도 있다.
도 418 은 본 발명의 일 실시예에 따른, DDD 를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, DDD 의 요청 메시지와 DDD 의 포맷을 도시한 도면이다.
전술한 바와 같이 CD 측 앱은 HTTP GET 을 이용해 DDD 를 요청할 수 있다. 이 때의 GET 메시지는 도시된 실시예(t418010)와 같을 수 있다. 이 때 GET 을 이용한 DDD 요청 메시지는 PD 로부터 획득된 DDD 의 URL 로 전송될 수 있다. 또한 디스크립션의 IP 주소/포트 의 호스트 정보가 활용될 수 있다. 또한 컨트롤 포인트에 의해 선호되는 언어가 사용될 수 있다.
전술한 바와 같이 DDD 의 요청메시지에 대한 응답 메시지가 리턴될 수 있다. 이 응답 메시지의 바디에는 DDD 가 포함될 수 있다. DDD 의 일반적인 포맷은 도시된 실시예(t418020)와 같을 수 있다.
DDD 는 스펙 버전 정보, 베이스 URL 정보, 디바이스 관련 정보 등이 포함될 수 있다. 스펙 버전 정보(specVersion)는 해당 DDD 스펙의 버전 정보를 메이저/마이너 버전으로 나타낼 수 있다. 베이스 URL 정보는 DDD 에 의해 전달되는 모든 관련된 URL 들에 대하여 사용될 수 있는 베이스 URL 정보를 포함할 수 있다.
디바이스 관련 정보는 DDD 가 기술하는 디바이스의 타입 정보, 유저가 읽을 수 있는 짧은 디바이스 이름 정보(friendlyName), 해당 디바이스의 제조사 정보(manufacturer), 서비스 리스트 정보 등을 포함할 수 있다.
서비스 리스트 정보는 해당 디바이스가 제공하는 각각의 서비스에 대하여, 그 타입을 나타내는 서비스 타입 정보, 그 서비스의 식별자를 나타내는 서비스 아이디 정보, 서비스 디스크립션과 관련된 URL 을 나타내는 서비스 디스크립션 URL 정보, 해당 서비스의 컨트롤을 위해 사용되는 컨트롤 URL 정보 및/또는 해당 서비스의 이벤팅을 위해 사용될 수 있는 URL 정보 등을 포함할 수 있다.
도시된 포맷들은 본 발명의 일 실시예들일 뿐이며, 그 구조 및 포함되는 엘레멘트, 엘레멘트의 값들은 실시예에 따라 다른 값을 가질 수 있다.
도 419 는 본 발명의 일 실시예에 따른, DDD 를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, DDD 의 포맷을 도시한 도면이다.
전술한 바와 같이 DDD 의 전달을 통해 websocket 엔드포인트들의 주소 내지는 HTTP 서비스 URL 들의 주소가 CD 측 앱으로 전달될 수 있다. CD 측 앱은 이 주소들을 이용하여 websocket 엔드포인트에 연결하거나, 서비스 URL 로 요청을 보낼 수 있다.
전술한 websocket 기반의 아키텍쳐 실시예 #1 에 있어서, 도시된 실시예(t419010)에 따른 DDD 포맷 또는 실시예(t419020)에 따른 DDD 포맷이 사용될 수 있다.
도시된 실시예(t419010)에서, DDD 의 디바이스 정보는 디바이스 타입 정보 외에도 다양한 websocket 엔드포인트의 주소 정보들을 포함할 수 있다. 도시된 바와 같이 서비스/컨텐츠 식별 엔드포인트, ESG 정보 엔드포인트 등등의 엔드포인트들에 대한 주소 정보가 DDD 의 디바이스 정보에 포함되어 있다. websocket 기반의 아키텍쳐 실시예 #1 에 있어 활용되는 DDD 포맷이므로, 각각의 엔드포인트들에 대한 주소 정보가 각각 나열되어 있을 수 있다. 도시된 실시예(t419020) 에 따른 DDD 포맷 역시 다양한 websocket 엔드포인트의 주소 정보들을 포함할 수 있다. 단 이 경우 DDD 의 서비스 정보 내에 해당 엔드포인트들의 주소 정보들이 포함될 수 있다.
여기서는 일 실시예로서 주소 정보들이 디바이스 정보, 서비스 정보 하위에 위치하는 것으로 도시되었으나, 주소 정보들이 DDD 내의 다른 위치에 포함되는 실시예도 있을 수 있다. 도시된 DDD 의 실시예에서, 전술한 DDD 의 다른 엘레멘트들은 생략되었다. 다른 엘레멘트들은 다양한 실시예에 따라 구성이 가능할 수 있다.
도시된 실시예(t419010, t419020) 에 따른 DDD 포맷들은, 전술한 HTTP 기반의 아키텍쳐 실시예 #1 에 있어서도 사용될 수 있다. 단 이 경우 각각의 주소 정보들은 websocket 엔드포인트들의 주소 정보가 아닌, 각각 해당되는 서비스 URL 들의 URL 주소 정보로 대체될 수 있다. 이에 따라 엘레멘트 이름등이 변경될 수 있다. 마찬가지로, HTTP 기반의 아키텍쳐 실시예 #1 에 있어 활용되는 DDD 포맷이므로, 각각의 서비스 URL 들에 대한 주소 정보가 각각 나열되어 있을 수 있다.
websocket 엔드포인트의 주소는, ws://localhost:8030/ESGInformation, ws://localhost:8030/Data, ws://localhost:8030/MediaTimeline 등과 같이 구성될 수 있다. HTTP 서비스 URL 의 주소는, http://192.168.1.4:8080/serviceidentification, http://localhost:8030/ESGInformation, 등과 같이 구성될 수 있다.
도 420 은 본 발명의 다른 실시예에 따른, DDD 를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, DDD 의 포맷을 도시한 도면이다.
전술한 websocket 기반의 아키텍쳐 실시예 #2 에 있어서, 도시된 실시예(t420010)에 따른 DDD 포맷 또는 실시예(t420020)에 따른 DDD 포맷이 사용될 수 있다.
도시된 실시예(t420010)에서, DDD 의 디바이스 정보는 디바이스 타입 정보 외에도 websocket 엔드포인트의 주소를 포함할 수 있다. websocket 기반의 아키텍쳐 실시예 #2 에 있어 활용되는 DDD 포맷이므로, 하나의 컴패니언 엔드포인트에 대한 주소 정보만이 포함될 수 있다. 도시된 실시예(t420020) 에 따른 DDD 포맷 역시 하나의 컴패니언 엔드포인트에 대한 주소 정보를 포함할 수 있다. 단 이 경우 DDD 의 서비스 정보 내에 해당 엔드포인트의 주소 정보가 포함될 수 있다.
도시된 실시예(t420010, t420020) 에 따른 DDD 포맷들은, 전술한 HTTP 기반의 아키텍쳐 실시예 #2 에 있어서도 사용될 수 있다. 단 이 경우 주소 정보는 websocket 컴패니언 엔드포인트의 주소 정보가 아닌, 컴패니언 서비스 URL 의 주소 정보로 대체될 수 있다. 이에 따라 엘레멘트 이름 등이 변경될 수 있다. 마찬가지로, HTTP 기반의 아키텍쳐 실시예 #2 에 있어 활용되는 DDD 포맷이므로, 하나의 서비스 URL 에 대한 주소 정보만이 포함될 수 있다.
전술한 websocket 기반의 아키텍쳐 실시예 #3 에 있어서, 도시된 실시예(t420030)에 따른 DDD 포맷 또는 실시예(t420040)에 따른 DDD 포맷이 사용될 수 있다.
도시된 실시예(t420030)에서, DDD 의 디바이스 정보는 디바이스 타입 정보 외에도 제공되는 n 개의 websocket 엔드포인트의 주소 정보들을 포함할 수 있다. 예를 들어 서비스/컨텐츠 식별 기능, ESG 정보 전달 기능 등등의 역할을 수행하는 컴패니언 엔드포인트에 대한 주소 정보 및 앱투앱 커뮤니케이션 엔드포인트에 대한 주소 정보가 포함될 수 있다. 도시된 실시예(t420040) 에 따른 DDD 포맷 역시 제공되는 n 개의 websocket 엔드포인트의 주소 정보들을 포함할 수 있다. 단 이 경우 DDD 의 서비스 정보 내에 해당 엔드포인트들의 주소 정보들이 포함될 수 있다.
여기서는 일 실시예로서 주소 정보가 디바이스 정보, 서비스 정보 하위에 위치하는 것으로 도시되었으나, 주소 정보가 DDD 내의 다른 위치에 포함되는 실시예도 있을 수 있다. 도시된 DDD 의 실시예에서, 전술한 DDD 의 다른 엘레멘트들은 생략되었다. 다른 엘레멘트들은 다양한 실시예에 따라 구성이 가능할 수 있다.
도 421 은 본 발명의 일 실시예에 따른, DDD 요청에 대한 응답(response) 헤더를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정을 도시한 도면이다.
전술한 바와 같이, PD 는 자신을 어드버타이징하는 디스커버리 메시지를 멀티캐스팅하거나, 수신된 M-SEARCH 메시지에 대한 응답 메시지를 CD 로 전송할 수 있다. CD 측 앱은 멀티캐스팅된 디스커버리 메시지 또는 M-SEARCH 메시지에 대한 응답 메시지의 LOCATION 헤더로부터 URL 을 얻을 수 있다. 이 과정(t421010)은 전술한 실시예에서와 같을 수 있다.
이 URL 은 DDD 를 획득할 수 있는 URL 로서, CD 측 앱은 이 URL 로 HTTP GET 을 이용해 DDD 를 요청하는 메시지를 보낼 수 있다. 이에 대한 응답 메시지의 바디를 통해 DDD 가 전달되어 CD 측 앱은 디바이스 디스크립션 정보 등을 얻을 수 있다(t421020).
전술한 실시예에서는 이 응답메시지의 DDD 를 통해 websocket 엔드포인트의 주소 내지는 HTTP 서비스 URL 의 주소 정보가 전달되어 왔다. 본 실시예에서는 이 응답메시지의 헤더를 통해 해당 주소 정보들이 전달될 수 있다. 이 경우 응답 메시지의 바디는 비어 있는 채로 아무런 정보도 전달하지 않을 수도 있고, DDD 를 포함할 수도 있다.
도 422 는 본 발명의 일 실시예에 따른, DDD 요청에 대한 응답(response) 헤더를 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, 응답 헤더의 포맷을 도시한 도면이다.
전술한 바와 같이 CD 측 앱은 HTTP GET 을 이용해 DDD 를 요청할 수 있다. 이 때의 GET 메시지는 도시된 실시예(t422010) 와 같을 수 있다. 이 때 GET 을 이용한 DDD 요청 메시지는 PD 로부터 획득된 DDD 의 URL 로 전송될 수 있다. 또한 디스크립션의 IP 주소/포트 의 호스트 정보가 활용될 수 있다. 또한 컨트롤 포인트에 의해 선호되는 언어가 사용될 수 있다. 이 GET 메시지는 전술한 실시예에 따른 메시지와 같을 수 있다.
전술한 바와 같이 DDD 의 요청메시지에 대한 응답 메시지가 리턴될 수 있다. 이 응답 메시지의 헤더를 통해 주소 정보가 전달될 수 있다.
전술한 websocket 기반의 아키텍쳐 실시예 #1 에 있어서, 도시된 실시예(t422020)에 따른 응답 헤더 포맷이 사용될 수 있다. 이 실시예의 응답 헤더는 기본적인 200 OK 메시지의 정보 외에도 다양한 websocket 엔드포인트의 주소 정보들을 포함할 수 있다. 도시된 바와 같이 서비스/컨텐츠 식별 엔드포인트, ESG 정보 엔드포인트 등등의 엔드포인트들에 대한 주소 정보가 응답 헤더에 포함될 수 있다. websocket 기반의 아키텍쳐 실시예 #1 에 있어 활용되는 응답 헤더 포맷이므로, 각각의 엔드포인트들에 대한 주소 정보가 각각 나열되어 있을 수 있다. 여기서 주소 정보들이 응답 헤더에 포함되는 구조 및 형태는 실시예에 따라 다양하게 구성될 수 있다.
도시된 실시예(t422020) 에 따른 응답 헤더 포맷은, 전술한 HTTP 기반의 아키텍쳐 실시예 #1 에 있어서도 사용될 수 있다. 단 이 경우 각각의 주소 정보들은 websocket 엔드포인트들의 주소 정보가 아닌, 각각 해당되는 서비스 URL 들의 URL 주소 정보로 대체될 수 있다. 이에 따라 엘레멘트 이름 등이 변경될 수 있다. 마찬가지로, HTTP 기반의 아키텍쳐 실시예 #1 에 있어 활용되는 응답 헤더 포맷이므로, 각각의 서비스 URL 들에 대한 주소 정보가 각각 나열되어 있을 수 있다.
전술한 websocket 기반의 아키텍쳐 실시예 #2 에 있어서, 도시된 실시예(t422030)에 따른 응답 헤더 포맷이 사용될 수 있다. 이 실시예의 응답 헤더는 기본적인 200 OK 메시지의 정보 외에도 websocket 엔드포인트의 주소 정보를 포함할 수 있다. websocket 기반의 아키텍쳐 실시예 #2 에 있어 활용되는 응답 헤더 포맷이므로, 하나의 컴패니언 엔드포인트에 대한 주소 정보만이 포함될 수 있다. 여기서 주소 정보가 응답 헤더에 포함되는 구조 및 형태는 실시예에 따라 다양하게 구성될 수 있다.
도시된 실시예(t422030) 에 따른 응답 헤더 포맷은, 전술한 HTTP 기반의 아키텍쳐 실시예 #2 에 있어서도 사용될 수 있다. 단 이 경우 주소 정보는 websocket 컴패니언 엔드포인트의 주소 정보가 아닌, 컴패니언 서비스 URL 의 주소 정보로 대체될 수 있다. 이에 따라 엘레멘트 이름 등이 변경될 수 있다. 마찬가지로, HTTP 기반의 아키텍쳐 실시예 #2 에 있어 활용되는 응답 헤더 포맷이므로, 컴패니언 서비스 URL 에 대한 주소 정보만이 포함될 수 있다.
전술한 websocket 기반의 아키텍쳐 실시예 #3 에 있어서, 도시된 실시예(t422040)에 따른 응답 헤더 포맷이 사용될 수 있다. 이 실시예의 응답 헤더는 기본적인 200 OK 메시지의 정보 외에도 제공되는 n 개의 websocket 엔드포인트의 주소 정보들을 포함할 수 있다. 예를 들어 서비스/컨텐츠 식별 기능, ESG 정보 전달 기능 등등의 역할을 수행하는 컴패니언 엔드포인트에 대한 주소 정보 및 앱투앱 커뮤니케이션 엔드포인트에 대한 주소 정보가 포함될 수 있다. 여기서 주소 정보들이 응답 헤더에 포함되는 구조 및 형태는 실시예에 따라 다양하게 구성될 수 있다.
도 423 은 본 발명의 일 실시예에 따른, DDD 요청에 대한 응답(response) 헤더의 URL 을 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정을 도시한 도면이다.
전술한 바와 같이, PD 는 자신을 어드버타이징하는 디스커버리 메시지를 멀티캐스팅하거나, 수신된 M-SEARCH 메시지에 대한 응답 메시지를 CD 로 전송할 수 있다. CD 측 앱은 멀티캐스팅된 디스커버리 메시지 또는 M-SEARCH 메시지에 대한 응답 메시지의 LOCATION 헤더로부터 URL 을 얻을 수 있다. 이 URL 은 DDD 를 획득하기 위한 URL 로서, CD 측 앱은 URL 로 HTTP GET 요청을 보낼 수 있다. 이 과정(t423010, t423020)은 전술한 실시예에서와 같을 수 있다.
여기서 HTTP GET 요청에 대한 응답으로 응답 메시지가 수신될 수 있다. 전술한 실시예에서는 이 응답 메시지 바디의 DDD 또는 응답 메시지 헤더를 통해 주소 정보가 전달되었다. 본 실시예에서는 이 응답 메시지 헤더를 통해 주소 정보를 획득할 수 있는 URL 이 전달될 수 있다. 이 경우 응답 메시지의 바디는 비어 있는 채로 아무런 정보도 전달하지 않을 수도 있고, DDD 를 포함할 수도 있다(t423020).
CD 측 앱은 전달받은 주소 정보를 위한 URL 로, HTTP GET 요청을 보내 주소 정보를 요청할 수 있다. PD 는 CD 측 앱으로 응답 메시지를 보낼 수 있다. 이 응답 메시지를 통하여 주소 정보가 CD 측으로 전달될 수 있다(t423030). 이 주소 정보는 해당 응답 메시지의 바디를 통해 전달될 수 있다. 실시예에 따라 주소정보는 응답 메시지의 헤더를 통해서 전달될 수도 있다.
도 424 는 본 발명의 일 실시예에 따른, DDD 요청에 대한 응답(response) 헤더의 URL 을 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, GET 요청 및 그에 따른 응답 메시지 포맷들을 도시한 도면이다.
전술한 바와 같이 CD 측 앱은 HTTP GET 을 이용해 DDD 를 요청할 수 있다. 이 때의 GET 메시지는 도시된 실시예(t424010) 와 같을 수 있다. 이 때 GET 을 이용한 DDD 요청 메시지는 PD 로부터 획득된 DDD 의 URL 로 전송될 수 있다. 이 GET 메시지는 전술한 실시예에 따른 메시지와 같을 수 있다.
이 HTTP GET 요청에 따라 응답메시지가 수신될 수 있다. 이 응답 메시지 포맷은 도시된 실시예(t424020) 와 같을 수 있다. 이 응답 메시지는 기본적인 200 OK 메시지의 정보 외에도 주소 정보를 획득할 수 있는 URL 정보를 포함할 수 있다. 이 URL 은 websocket 엔드포인트의 주소를 획득하기 위한 URL 정보일 수도 있고, HTTP 서비스 URL 의 주소를 획득하기 위한 URL 정보일 수도 있다. 혹은 양자 모두를 얻기 위한 URL 정보일 수도 있다. 도시된 포맷에서는 websocket 엔드포인트의 주소를 얻기 위한 URL 정보가 포함되어 있다.
CD 측 앱은 HTTP GET 을 이용해, 주소 정보를 위한 URL 로 주소 정보들을 요청할 수 있다. 이 때의 GET 메시지는 도시된 실시예(t424030) 와 같을 수 있다. 이 때 GET 을 이용한 요청 메시지는 PD 로부터 획득된 주소 정보의 URL 로 전송될 수 있다. 또한 디스크립션의 IP 주소/포트 의 호스트 정보가 활용될 수 있다. 또한 컨트롤 포인트에 의해 선호되는 언어가 사용될 수 있다.
예를 들어 주소정보를 획득하기 위한 URL 이 http://192.168.1.10:8080/WSEndpoints 와 같은 경우(websocket 가정), 이 URL 을 이용한 GET 메시지는 실시예(t424040)와 같이 구성할 수 있다.
이 후, 전술한 바와 같이 주소 정보의 요청메시지에 대한 응답 메시지가 리턴될 수 있다. 이 응답 메시지는 주소 정보들을 포함할 수 있다. 이 주소 정보는 websocket 엔드포인트의 주소 내지 HTTP 서비스 URL 의 주소일 수 있다.
도 425 는 본 발명의 다른 실시예에 따른, DDD 요청에 대한 응답(response) 헤더의 URL 을 이용한 Websocket 엔드포인트 또는 HTTP 서비스 URL 의 디스커버리 과정에 있어서, 주소 정보를 전달하는 응답 메시지의 포맷을 도시한 도면이다.
전술한 websocket 기반의 아키텍쳐 실시예 #1 에 있어서, 도시된 실시예(t425010)에 따른 응답 메시지 포맷이 사용될 수 있다.
도시된 바와 같이 서비스/컨텐츠 식별 엔드포인트, ESG 정보 엔드포인트 등등의 엔드포인트들에 대한 주소 정보가 메시지에 포함될 수 있다. websocket 기반의 아키텍쳐 실시예 #1 에 있어 활용되는 메시지 포맷이므로, 각각의 엔드포인트들에 대한 주소 정보가 각각 나열되어 있을 수 있다.
도시된 실시예(t425010) 에 따른 메시지 포맷은, 전술한 HTTP 기반의 아키텍쳐 실시예 #1 에 있어서도 사용될 수 있다. 단 이 경우 각각의 주소 정보들은 websocket 엔드포인트들의 주소 정보가 아닌, 각각 해당되는 서비스 URL 들의 URL 주소 정보로 대체될 수 있다. 이에 따라 엘레멘트 이름 등이 변경될 수 있다. 마찬가지로, HTTP 기반의 아키텍쳐 실시예 #1 에 있어 활용되는 메시지 포맷이므로, 각각의 서비스 URL 들에 대한 주소 정보가 각각 나열되어 있을 수 있다.
전술한 websocket 기반의 아키텍쳐 실시예 #2 에 있어서, 도시된 실시예(t425020)에 따른 메시지 포맷이 사용될 수 있다.
도시된 실시예(t425020) 에 따른 메시지 포맷은, 전술한 HTTP 기반의 아키텍쳐 실시예 #2 에 있어서도 사용될 수 있다. 단 이 경우 주소 정보는 websocket 컴패니언 엔드포인트의 주소 정보가 아닌, 컴패니언 서비스 URL 의 주소 정보로 대체될 수 있다. 이에 따라 엘레멘트 이름 등이 변경될 수 있다. 마찬가지로, HTTP 기반의 아키텍쳐 실시예 #2 에 있어 활용되는 메시지 포맷이므로, 컴패니언 서비스 URL 에 대한 주소 정보만이 포함될 수 있다.
전술한 websocket 기반의 아키텍쳐 실시예 #3 에 있어서, 도시된 실시예(t425030)에 따른 메시지 포맷이 사용될 수 있다.
도시된 실시예(t425030) 에 따른 메시지 포맷은 n 개의 websocket 엔드포인트의 주소 정보들을 포함할 수 있다. 예를 들어 서비스/컨텐츠 식별 기능, ESG 정보 전달 기능 등등의 역할을 수행하는 컴패니언 엔드포인트에 대한 주소 정보 및 앱투앱 커뮤니케이션 엔드포인트에 대한 주소 정보가 포함될 수 있다.
도시된 포맷들은 additionalData 엘레멘트 내에 주소 정보들을 포함하고 있으나, 실시예에 따라 이 메시지는 다른 정보들도 포함할 수 있다. 여기서 주소 정보들이 메시지에 포함되는 구조 및 형태는 실시예에 따라 다양하게 구성될 수 있다.
도 426 은 본 발명의 일 실시예에 따른, Websocket 기반의 핸드쉐이크(Handshake) & 연결 과정을 도시한 도면이다 (디스커버리 이후).
전술한 바와 같이 PD 는 websocket 서버의 역할을 수행하고, CD 는 websocket 클라이언트에 해당할 수 있다. PD 는 websocket 서버 및/또는 컴패니언 서비스 모듈을 포함할 수 있다. 컴패니언 서비스 모듈은 TV 수신기 등에서 컴패니언 디바이스에 필요한 정보를 제공하거나, 컴패니언 서비스 관련 전반적인 매니징을 수행하는 모듈일 수 있다. 컴패니언 서비스 모듈은 하드웨어 모듈일 수 있다.
PD 측 websocket 서버는 websocket 엔드포인트들을 제공할 수 있다. CD 측 웹브라우저에서 이용될 수 있는 앱이 실행중일 수 있다. 웹브라우저는 또한 websocket 클라이언트를 제공할 수 있다.
먼저, PD 측의 컴패니언 서비스 모듈은 websocket 엔드포인트를 생성하도록 websocket 서버에 요청할 수 있다(t426010). 예를 들어 Java 형식의 @ServerEndpoint("/WS_AA") 와 같은 형식의 요청이 전달될 수 있다. 여기서 "/WS_AA" 는 관련된 URL 을 의미할 수 있다. 이 과정을 통해 websocket 서버에서 websocket 엔드포인트가 생성될 수 있다.
CD 측 앱은 websocket 오브젝트를 생성하기 위한 API 를 호출할 수 있다(t426020). 이 API 는 newWebsocket 이라는 이름의 API 로 websocket 엔드포인트의 주소를 그 변수로 가질 수 있다. 예를 들어, ex_websocket = newWebSocket(ws://192.168.1.11:8080/WS_AA) 와 같은 형태로 ex_websocket 이 정의될 수 있다. 이 과정을 통해 CD 측에서 websocket 오브젝트가 생성될 수 있다. 여기서 PD 측 websocket 서버의 엔드포인트와 CD 측 websocket 오브젝트간의 핸드쉐이크가 수행될 수 있다(t426030).
CD 측 앱은 OpenEventHandler 를 추가하기 위한 API 를 호출할 수 있다(t426040). 이 API 는, WebSocketObject.onopen() 일 수 있다. 예를 들어, ex_websocket.onopen(…) 와 같은 방식으로 핸들러가 추가될 수 있다. 이 과정에서 weboscket 서버와 클라이언트가 연결될 수 있다(t426050). Websocket 클라이언트는 연결이 열렸음을 CD 측 앱에 알려줄 수 있다(t426060).
도 427 은 본 발명의 일 실시예에 따른, Websocket 기반의 앱투앱 커뮤니케이션을 위한 핸드쉐이크(Handshake) & 연결 과정을 도시한 도면이다(디스커버리 이후).
websocket 기반의 아키텍쳐에서 PD 측에서 실행 중인 앱과 CD 측에서 실행중인 앱간에 앱투앱 커뮤니케이션이 가능할 수 있다. 전술한 바와 같이, PD 측 앱이 websocket 서버에 연결되고, CD 측 앱 또한 websocket 서버에 연결되고 나면, websocket 서버는 양자 간의 메시지, 데이터 등을 릴레이해줄 수 있다.
먼저, PD 측 앱은 PD 내의 websocket 클라이언트에 새로운 websocket 오브젝트를 생성하기 위해 API 를 호출할 수 있다. 전술한 newWebsocket API 가 활용될 수 있다. 예를 들어 local_websocket = new WebSocket(ws://localhost:8080/ApptoApp) 와 같이 API 가 활용될 수 있다. 이 과정에서 PD 측 앱을 위한 websocket 오브젝트가 생성될 수 있다.
PD 측의 컴패니언 서비스 모듈은 websocket 서버에 API 를 호출하여 websocket 엔드포인트를 생성할 수 있다(t427020, t427030). 이 과정은 전술한 바와 같으며, 이 경우에는 앱 투 앱 커뮤니케이션을 위한 엔드포인트가 생성되어야 하므로, 변수로 앱투앱 커뮤니케이션과 관련된 URL (예를 들어 /ApptoApp) 이 활용될 수 있다. 이 후 PD 의 로컬 websocket 클라이언트와 websocket 서버는 핸드쉐이크 과정을 수행할 수 있다(t427040).
CD 측 앱 도 마찬가지로 websocket 오브젝트를 생성할 수 있다(t427050). 그 과정은 전술한 바와 같으며, 단 이 경우는 앱 투 앱 커뮤니케이션을 위한 websocket 오브젝트 이므로, remote_websocket = newWebSocket(ws://192.168.1.11:8080/ApptoApp) 와 같은 형태로 websocket 오브젝트가 정의될 수 있다. 이 후, 마찬가지로, PD 의 websocket 서버와 CD 측의 websocket 오브젝트는 핸드쉐이크 과정을 수행할 수 있다(t427060).
PD 측의 websocket 클라이언트와 CD 측의 websocket 클라이언트는 OpenEventHandler 를 추가하기 위해 API 를 호출할 수 있다(t427091, t427090). 이 과정은 전술한 바와 같다. 이를 통해 각각의 websocket 클라이언트는 websocket 서버와 연결될 수 있다(t427070, t427100). 연결되면, 각각의 websocket 클라이언트는 각각의 앱들에 연결이 오픈되었음을 이벤트로 알릴 수 있다(t427080, t427110).
전술한 과정들이 완료되면, CD 측 앱과 PD 측 앱은 서로 커뮤니케이션할 수 있다(t427120). 양 측 앱은 websocket 서버를 통하여 한쪽에 다른쪽으로 메시지를 전달할 수 있다. 즉, websocket 서버는 한 쪽의 클라이언트에서 보내온 메시지를 다른 쪽 클라이언트로 릴레이해줄 수 있다. 이러한 2 웨이 커뮤니케이션 과정에 대해서는 자세히 후술한다.
도 428 은 본 발명의 일 실시예에 따른, Websocket 기반의 2 웨이(way) 커뮤니케이션 과정을 도시한 도면이다 (연결 이후).
전술한 과정들을 통하여 CD 측 앱과 PD 측의 websocket 서버가 연결된 경우를 가정한다(t428010). 전술한 바와 같이 websocket 클라이언트는 CD 측 앱으로 연결이 오픈되었음을 알려줄 수 있다(t428020).
컴패니언 서비스 모듈은 메시지를 수신하기 위해 API 를 호출할 수 있다(t428030). 예를 들어 Java 형식의 @OnMessage 와 같은 API 가 활용될 수 있다. 이를 통해 websocket 서버는 메시지를 수신할 준비가 될 수 있다(ready receive).
CD 측 앱은 MessageEventHandler 를 추가하기 위한 API 를 호출할 수 있다(t428040). 예를 들어 WebSocketObject.onmessage() 와 같은 API 가 호출될 수 있다. 전술한 예시의 ex_websocket 같은 오브젝트의 경우, ex_websocket.onmessage(…) 와 같은 방식으로 API 가 호출될 수 있다. 이 과정을 통해 CD 측의 websocket 클라이언트는 메시지를 송/수신하기 위한 준비가 될 수 있다.
CD 측 앱은 메시지를 보내기 위한 API 를 호출할 수 있다(t428050). 예를 들어 WebSocketObject.send(message1) 과 같은 API 가 호출될 수 있다. 전술한 예시의 ex_websocket 같은 오브젝트의 경우, ex_websocket.send(message1) 과 같은 방식으로 API 가 호출될 수 있다. 이를 통해 weboscket 서버로 메시지(message 1) 이 전달될 수 있다(t428060).
weboscket 서버는 수신한 메시지(message 1) 을 컴패니언 서비스 모듈로 전달할 수 있다(t428070). 컴패니언 서비스 모듈은 이에 대응하여 메시지(message 2) 를 전달할 수 있다(t428080, t428090, t428100). 컴패니언 서비스 모듈은 메시지를 보내기 위한 API 를 호출할 수 있다(t428080). 텍스트 또는 JSON 포맷의 오브젝트를 전송하기 위하여, session.getBasicRemote().sendText(message2) 또는 session.getBasicRemote().sendObject(message2) 와 같은 Java API 가 호출될 수 있다.
도 429 는 본 발명의 일 실시예에 따른, Websocket 기반의 앱투앱 2 웨이(way) 커뮤니케이션 과정을 도시한 도면이다 (연결 이후 / CD to PD).
전술한 과정들을 통하여 CD 측 앱과 PD 측의 websocket 서버, 그리고 PD 측에서 실행중인 앱이 연결된 경우를 가정한다. 각 앱들은 websocket 클라이언트로부터 연결이 오픈되었음을 이벤트로 전달받은 상태일 수 있다.
전술한 것과 같이 컴패니언 서비스 모듈은 메시지를 수신하기 위해 API 를 호출할 수 있고, 이를 통해 websocket 서버는 메시지를 수신받기 위한 준비가 될 수 있다(t429030). PD 측 앱 은 MessageEventHandler 를 추가하기 위해 API 를 호출하고, PD 측 websocket 클라이언트 역시 메시지를 수신받기 위한 준비가 될 수 있다(t429040). CD 측 앱도 마찬가지로 API 호출을 통해 websocket 클라이언트를 메시지 수신을 위한 준비가 되게 할 수 있다(t429020). 자세한 과정은 전술한 바와 같다.
CD 측 앱은 메시지를 보내기 위해 API 를 호출할 수 있다(t429050). 이는 전술한 API 로서, 예를 들어, remote_websocket.send(message1) 등과 같이 활용될 수 있다. 이를 통해 메시지가 websocket 서버로 전달될 수 있다(t429060). websocket 서버는 이 메시지(message 1) 를 컴패니언 서비스 모듈로 전달해줄 수 있다(t429070).
컴패니언 서비스 모듈은 이를 PD 측의 로컬 websocket 클라이언트로 전달해주기 위하여, 로컬 websocket 세션을 서치할 수 있다. 컴패니언 서비스 모듈은 로컬 websocket 세션을 찾으면, 메시지(message 1) 을 전달해주기 위하여 API 를 호출할 수 있다(t429080). 이 때, 전술한 바와 같이, 텍스트 또는 JSON 포맷의 오브젝트를 전송하기 위하여, session.getBasicRemote().sendText(message1) 또는 session.getBasicRemote().sendObject(message1) 와 같은 Java API 가 호출될 수 있다.
websocket 서버는 이 메시지(message 1)을 websocket 클라이언트로 전달하고(t429090), websocket 클라이언트는 이를 다시 PD 측 앱으로 전달해줄 수 있다(t429100).
도 430 은 본 발명의 일 실시예에 따른, Websocket 기반의 앱투앱 2 웨이(way) 커뮤니케이션 과정을 도시한 도면이다 (연결 이후 / PD to CD).
전술한 과정들을 통하여 CD 측 앱과 PD 측의 websocket 서버, 그리고 PD 측에서 실행중인 앱이 연결된 경우를 가정한다. 각 앱들은 websocket 클라이언트로부터 연결이 오픈되었음을 이벤트로 전달받은 상태일 수 있다.
websocket 서버와 각각의 websocket 클라이언트들은, 전술한 과정과 동일한 과정에 의하여, 메시지를 송/수신하기에 준비된 상태일 수 있다.
PD 측 앱은 메시지를 보내기 위해 API 를 호출할 수 있다(t430010). 이는 전술한 API 로서, 예를 들어, local_websocket.send(message2) 등과 같이 활용될 수 있다. 이를 통해 메시지가 websocket 서버로 전달될 수 있다(t430020). websocket 서버는 이 메시지(message 2) 를 컴패니언 서비스 모듈로 전달해줄 수 있다(t430030).
컴패니언 서비스 모듈은 이를 CD 측의 리모트 websocket 클라이언트로 전달해주기 위하여, 리모트 websocket 세션을 서치할 수 있다. 컴패니언 서비스 모듈은 리모트 websocket 세션을 찾으면, 메시지(message 2) 을 전달해주기 위하여 API 를 호출할 수 있다(t430040). 이 때, 전술한 바와 같이, 텍스트 또는 JSON 포맷의 오브젝트를 전송하기 위하여, session.getBasicRemote().sendText(message2) 또는 session.getBasicRemote().sendObject(message2) 와 같은 Java API 가 호출될 수 있다.
websocket 서버는 이 메시지(message 2)을 websocket 클라이언트로 전달하고(t430050), websocket 클라이언트는 이를 다시 CD 측 앱으로 전달해줄 수 있다(t430060).
도 431 은 본 발명의 일 실시예에 따른, HTTP 기반의 요청-응답(Request-Response) 과정을 도시한 도면이다 (디스커버리 이후).
전술한 HTTP 기반의 아키텍쳐에서의 디스커버리 과정에 의해, HTTP 서비스 URL 들은 모두 디스커버되었다고 가정한다(t431010).
CD 측 앱은 HTTP 클라이언트에 API 를 호출하여 메시지 요청을 보낼 수 있다(t431020). HTTP 클라이언트는 디스커버리 과정에서 알게된 HTTP 서비스 URL 중, 요청에 따른 적절한 URL 로 메시지 요청을 보낼 수 있다(t431030). 또는 전술한 실시예에 따라 하나의 컴패니언 서비스 URL 로 메시지 요청을 보낼 수 있다. 이 경우 요청의 쿼리 텀(query term) 등에 의해 요청의 내용이 식별될 수 있다.
HTTP 서버는 PD 내의 컴패니언 서비스 모듈로 요청 메시지를 전달할 수 있다(t431040). 컴패니언 서비스 모듈은 요청된 메시지(message1) 을 CD 측에 전달해주기 위하여 API 를 호출할 수 있다(t431050).
HTTP 서버는 이에 따라 메시지(message 1) 을 HTTP 클라이언트로 전달해주고(t431060), HTTP 클라이언트는 CD 측 앱으로 메시지를 전달해줄 수 있다(t431070).
도 432 는 본 발명의 일 실시예에 따른 PD 에서 방송 서비스를 제공하는 방법을 도시한 도면이다.
본 발명의 일 실시예에 따른 PD 에서 방송 서비스를 제공하는 방법은 CD 앱(application) 과 디스커버리 과정을 수행하는 단계, 웹소켓 커넥션을 구축하는(establishing) 단계, EA (Emergency Alert) 메시지를 수신하는 단계 및/또는 EA 메시지를 웹소켓 커넥션을 통하여 CD 로 전달하는 단계를 포함할 수 있다.
먼저 PD 로서 동작하는 방송 수신 장치의 컴패니언 모듈은 CD (Companion Device) 에서 실행중인 CD 앱(application) 과 디스커버리 과정을 수행할 수 있다. 이 디스커버리 과정은 전술한 바와 같을 수 있다. 여기서 CD 앱은 PD 에 의해서 실행(launch) 되지 않았다고 가정한다. CD 는 M-SEARCH 메시지를 멀티캐스팅할 수 있다. 이 메시지를 수신한 PD 는 200 OK 메시지로 응답할 수 있다. 이 200 OK 메시지의 헤더에는 PD 의 LOCATION URL 정보가 포함될 수 있다.
CD 측 앱은 이 Location URL 로 디바이스 디스크립션을 요청할 수 있다. 이 요청은 HTTP GET 메쏘드를 이용해 수행될 수 있다. 이 요청을 전달받은 PD 내지 PD 의 컴패니언 모듈은 제 1 응답메시지를 CD 측 앱으로 전송할 수 있다. 여기서 제 1 응답 메시지는 그 헤더에 제 1 URL 을 포함할 수 있다. 이 제 1 URL 은 PD 가 제공하는 웹서버의 엔드포인트로 사용될 수 있다. 여기서 웹서버의 엔드포인트란 전술한 웹서버가 제공하는 서비스 URL 을 의미할 수 있다. 제 1 URL 은 전술한 HTTP 기반의 아키텍쳐에서 사용되는 컴패니언 서비스 URL 에 해당할 수 있다. 실시예에 따라 각각의 기능에 따라 각각의 서비스 URL 이 존재할 수도 있다. 그 경우 제 1 URL 은 여러 개여 HTTP 서비스 URL 중 하나일 수 있다.
PD 의 컴패니언 모듈은 CD 앱으로부터 어플리케이션 정보 요청을 수신할 수 있다. CD 측 앱은 제 1 URL 로 어플리케이션 정보를 요청할 수 있다. 컴패니언 모듈은 이에 대한 응답으로 제 2 응답 메시지를 전송할 수 있다. 제 2 응답 메시지는 제 2 URL 정보를 응답 메시지 바디(body)에 포함할 수 있다. 제 2 URL은 PD 가 제공하는 웹소켓 서버의 엔드포인트로 사용될 수 있다. 여기서 해당 웹소켓 엔드포인트의 주소 정보인 제 2 URL 은 컴패니언 웹소켓 엔드포인트일 수도 있고, 앱투앱 웹소켓 엔드포인트일 수도 있다.
본 실시예는 전술한 실시예 중, HTTP 기반의 웹 서버와 웹소켓 기반의 웹소켓 서버가 함께 PD 에서 제공되는 실시예에 해당할 수 있다. 그 중에서도, HTTP 서비스 URL 은 컴패니언 서비스 URL 하나만 제공되고, 웹소켓 서버 엔드포인트는 컴패니언 엔드포인트 1개 와 앱투앱 엔드포인트 1 개가 제공되는 실시예에 해당할 수 있다. 여기서 웹소켓 컴패니언 엔드포인트는 앱투앱 커뮤니케이션을 제외한 다른 기능을 제공하는 엔드포인트일 수 있다. PD 와 CD 간의 통신들은 각각 역할이 분담되어 웹서버(HTTP) 또는 웹소켓 서버(Websocket) 에 의해 수행될 수 있다. 예를 들어, ESG 의 전달은 웹서버를 통하여, 서비스&컨텐츠 식별, EA(Emergency Alert) 메시지 전달 및 미디어 플레이백 정보 전달은 웹소켓 서버를 통하여 수행될 수 있다. 미디어 타임라인 정보는 웹서버 및/또는 웹소켓 서버를 통하여 전달될 수 있다.
이 후 PD 의 컴패니언 모듈은 웹소켓 서버와 CD 앱 간의 웹소켓 커넥션을 구축할 수 있다. 이 과정에서 제 2 URL 정보가 활용될 수 있다. 웹소켓 커넥션(세션) 을 구축하는 방법은 자세히 전술하였다. 여기서의 웹소켓 커넥션은 앱투앱 커뮤니케이션을 위해 PD 측 앱과 CD 측 앱을 이어주는 웹소켓 커넥션일 수도 있고, PD 에서 CD 측 앱으로 정보를 주고받기 위한 웹소켓 커넥션일 수도 있다.
PD 의 수신 모듈은 긴급 경보 정보를 포함하는 EA (Emergency Alert) 메시지를 방송망 또는 브로드밴드를 통해 수신할 수 있다. 수신 모듈은 방송망을 통해 데이터를 수신하는 튜너 또는 브로드밴드를 통해 데이터를 수신하는 네트워크 인터페이스 중 하나이거나, 양자 모두를 포함하는 개념일 수 있다. EA 메시지는 긴급 상황을 알리기 위한 재난 경보 등의 정보를 포함하는 메시지를 의미할 수 있다. 이에 대해서는 전술하였다.
PD 의 웹소켓 서버는 수신한 EA 메시지를 웹소켓 커넥션을 통하여 CD 로 전달할 수 있다. 자세한 전달 과정은 후술한다. 여기서 웹소켓 서버는, 전술한 웹소켓 서버에 해당하는 동작을 수행하는 하드웨어 모듈 내지 프로세서를 의미할 수도 있다.
본 발명의 다른 실시예에 따른 PD 에서 방송 서비스를 제공하는 방법에서, EA 메시지를 CD 측으로 전달하는 단계는, 긴급 경보 정보를 처리하는 PD 앱을 실행시키는 단계, PD 앱이 CD 측의 EA 앱을 실행시키는 단계 및/또는 웹소켓 커넥션을 통해 PD 앱이 CD 측의 EA 앱으로 EA 메시지를 전달하는 단계를 더 포함할 수 있다.
PD 의 내부 컨트롤 모듈은 EA 메시지를 수신하면, 이와 관련된 PD 측의 앱을 실행시킬 수 있다. 이 PD 측의 앱은 EA 메시지를 렌더링하고 EA 메시지를 CD 측으로 전달하는 과정을 매니징하는 등의 동작을 수행할 수 있다. 이 PD 측 앱은 CD 내의 EA 앱을 실행시킬 수 있다. 이 EA 앱은 CD 측에서 EA 메시지를 렌더링하고 처리하는 역할을 가진 앱일 수 있다. EA 앱이 CD 에서 실행되면, EA 앱과 상기 PD 측 앱 간의 앱투앱 웹소켓 커넥션이 수립될 수 있다. 이 과정은 전술한 바와 같다. PD 측 앱은 EA 앱으로 수신된 EA 메시지를 전달할 수 있다. EA 앱은 CD 측에서 EA 메시지를 렌더링하고 처리할 수 있다.
본 발명의 또 다른 실시예에 따른 PD 에서 방송 서비스를 제공하는 방법에서, EA 메시지는 해당EA 메시지를 식별하는 ID 정보, EA 메시지가 만료되는 시점을 지시하는 만료시점 정보 및/또는 해당 EA 메시지가 지시하는 긴급 경보의 타입을 지시하는 카테고리 정보를 포함할 수 있다. EA 메시지에 포함될 수 있는 정보에 대해서는 전술하였다.
본 발명의 또 다른 실시예에 따른 PD 에서 방송 서비스를 제공하는 방법은, CD 측 앱이 HTTP GET 메쏘드를 이용하여 타임라인 정보를 요청하는 단계 및/또는 PD 가 HTTP 응답 메시지를 CD 측 앱으로 전달하는 단계를 더 포함할 수 있다. 타임라인 정보는 전술한 PD 의 웹서버로 요청될 수 있다. 여기서 타임라인 정보는 PD 에서 제공중인 방송 서비스의 미디어 타임라인에 관한 정보를 의미할 수 있다. PD 의 웹서버는 이에 대한 응답 메시지를 CD 앱으로 전송하는뎅, 이 응답 메시지는 UTC 정보와 미디어 타임 정보가 페어로 포함될 수 있다. UTC 정보는 현재의 UTC 시각 정보로 절대 시각 정보를 의미하고, 미디어 타임 정보는 해당 UTC 시각에서의 미디어 타임 정보를 의미할 수 있다.
본 발명의 또 다른 실시예에 따른 PD 에서 방송 서비스를 제공하는 방법은, CD 측 앱이 PD 의 웹소켓 서버로 서비스 식별 메시지를 요청하는 단계 및/또는 웹소켓 서버가 서비스 식별 메시지를 CD 측 앱으로 전달하는 단계를 더 포함할 수 있다. 요청 및 그에 대한 응답은 웹소켓 커넥션을 통하여 수행될 수 있다. 여기서 실시예에 따라 CD 측 앱의 요청이 없이도, 알림(notification) 형식으로 PD 가 CD 측 앱으로 서비스 식별 메시지를 전달해 줄 수도 있다. 서비스 식별 메시지는 ESG (Electronic Service Guide) 데이터로부터 획득된 적어도 하나 이상의 서비스 관련 정보 또는 적어도 하나 이상의 컨텐츠 관련 정보를 포함할 수 있다. 서비스 관련 정보는 서비스 엘레멘트, 컨텐츠 관련 정보는 컨텐츠 엘레멘트의 형태로 서비스 식별 메시지에 나타날 수 있다.
본 발명의 또 다른 실시예에 따른 PD 에서 방송 서비스를 제공하는 방법에서, 서비스 식별 메시지는 각각의 컨텐츠에 관련된 컴포넌트 정보들 및/또는 컨텐트 아이템 정보들을 포함할 수 있다. 서비스 식별 메시지의 컨텐츠 엘레멘트는, 해당 컨텐츠에 포함되는 컴포넌트들을 기술하는 컴포넌트 엘레멘트들 및/또는 해당 컨텐츠와 관련된 파일/데이터를 기술하는 컨텐트 아이템 엘레멘트들을 포함할 수 있다. 여기서 컨텐츠는 해당 방송 서비스(채널) 의 프로그램에 해당할 수 있다.
여기서 각각의 컴포넌트 정보는 해당 컨텐트의 연속적이고 프리젠터블한 (Continous, Presentable) 데이터를 가지는 컴포넌트에 관한 정보를 포함할 수 있다. 예를 들어 오디오 컴포넌트, 비디오 컴포넌트, 클로즈드 캡션 컴포넌트 등이 이 컴포넌트에 해당할 수 있다. 또한, 각각의 컴포넌트 정보는 해당 컴포넌트에 접근하기 위한 URL 정보를 포함할 수 있다. 이 URL 정보는 PD 의 서비스 URL 정보일 수도 있고, 서비스 프로바이더가 제공하는 서버의 URL 정보일 수도 있다.
각각의 컨텐트 아이템 정보는 해당 컨텐트의 부가데이터 컴포넌트에 관한 정보를 포함할 수 있다. 여기서 부가 데이터 컴포넌트란 전술한 앱 기반 인핸스먼트 컴포넌트 또는 앱, 앱과 관련된 시그널링 정보 등의 데이터를 의미할 수 있다. 또한, 각각의 컨텐트 아이템 정보는 해당 데이터에 접근하기 위한 URL 정보를 포함할 수 있다. 이 URL 정보는 PD 의 서비스 URL 정보일 수도 있고, 서비스 프로바이더가 제공하는 서버의 URL 정보일 수도 있다.
본 발명의 또 다른 실시예에 따른 PD 에서 방송 서비스를 제공하는 방법에서, 부가데이터 컴포넌트에 접근하기 위한 URL 정보는 방송 서비스에 대한 앱 기반 인핸스먼트(App-based Enhancement) 를 제공하기 위한 데이터를 획득하기 위해 사용될 수 있다.
본 발명의 일 실시예에 따른 CD 에서 방송 서비스를 제공하는 방법을 설명한다. 이 방법은 도면에 도시되지 아니하였다.
본 발명의 일 실시예에 따른 CD 에서 방송 서비스를 제공하는 방법은 CD 의 런쳐(launcher) 가 CD 의 앱을 실행시키는 단계, CD 의 앱이 CD 의 네트워크 인터페이스를 이용하여 PD 와 디스커버리 과정을 수행하는 단계, CD 의 웹소켓 클라이언트를 이용하여 CD 의 앱이 PD 의 웹소켓 서버와 웹소켓 커넥션을 구축하는 단계 및/또는 CD 앱이 CD 의 웹소켓 클라이언트를 이용하여 EA 메시지를 전달받는 단계를 포함할 수 있다. CD 앱과 PD 간의 디스커버리 과정은 CD 의 컴패니언 모듈에 의해 수행될 수 있다. CD 앱은 컴패니언 모듈을 이용하여 디바이스 디스크립션을 요청하고, 전술한 제 1 URL 로 어플리케이션 정보를 요청하고, 요청들에 대한 응답을 획득할 수 있다. 또한 CD 의 EA 앱은 PD 앱에 의해 실행되어 웹소켓 커넥션을 통해 앱투앱 커뮤니케이션을 수행할 수 있다. 이 앱투앱 커뮤니케이션을 통해 EA 앱은 EA 메시지를 전달받을 수 있다.
본 발명의 실시예들에 따른 CD 에서 방송 서비스를 제공하는 방법들은, 전술한 본 발명의 실시예들에 따른 PD 에서 방송 서비스를 제공하는 방법들에 대응될 수 있다. CD 에서 방송 서비스를 제공하는 방법들은, PD 에서 방송 서비스를 제공하는 방법에서 사용되는 모듈들(예를 들어, 컴패니언 모듈, 수신 모듈, 내부 컨트롤 모듈, 웹서버, 웹소켓 서버 등)에 대응되는 하드웨어 모듈들에 의해 수행될 수 있다. CD 에서 방송 서비스를 제공하는 방법은, 전술한 PD 에서 방송 서비스를 제공하는 방법의 실시예들에 대응되는 실시예들을 가질 수 있다.
전술한 단계들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 단계에 의해 대체될 수 있다.
도 433 는 본 발명의 일 실시예에 따른 PD 로서 동작하는 방송 수신 장치를 도시한 도면이다.
본 발명의 일 실시예에 따른 PD 로서 동작하는 방송 수신 장치는 전술한 컴패니언 모듈, 수신 모듈, 내부 컨트롤 모듈, 웹서버 및/또는 웹소켓 서버를 포함할 수 있다. 각각의 블락, 모듈들은 전술한 바와 같다. 여기서 웹서버/웹소켓 서버는, 전술한 웹 서버/웹소켓 서버에 해당하는 동작을 수행하는 하드웨어 모듈 내지 프로세서를 의미할 수 있다.
본 발명의 일 실시예에 따른 PD 로서 동작하는 방송 수신 장치 및 그 내부 모듈/블락들은, 전술한 본 발명의 PD 에서 방송 서비스를 제공하는 방법의 실시예들을 수행할 수 있다.
본 발명의 일 실시예에 따른 CD 로서 동작하는 장치를 설명한다. 이 장치는 도면에 도시되지 아니하였다.
본 발명의 일 실시예에 따른 CD 로서 동작하는 장치는 전술한 런쳐, 컴패니언 모듈 및/또는 네트워크 인터페이스를 포함할 수 있다. 각각의 블락, 모듈들은 전술한 바와 같다.
본 발명의 일 실시예에 따른 CD 로서 동작하는 장치 및 그 내부 모듈/블락들은, 전술한 본 발명의 CD 에서 방송 서비스를 제공하는 방법의 실시예들을 수행할 수 있다.
전술한 장치 내부의 블락/모듈 등은 메모리에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있고, 실시예에 따라 장치 내/외부에 위치하는 하드웨어 엘레멘트들일 수 있다.
전술한 모듈들은 실시예에 따라 생략되거나, 유사/동일한 동작을 수행하는 다른 모듈에 의해 대체될 수 있다.
도 434 은 본 발명의 다른 실시예에 따른 XML 형식의 ESGData 상태변수를 JSON 형식의 ESGData 상태변수로 변환한 도면이다.
본 발명의 일 실시예에 따른 방송 수신 장치는, 기기간 컨뮤니케이션 시 사용되는 메시지에 다양한 정보(예를 들어,ESG data)를 담아서 다양한 목적으로 전달하기 위해, HTTP (Hypertext Transfer Protocol), RTP (Real-time Transport Protocol), XMPP (Extensible Messaging and Presence Protocol), FTP (File Transfer Protocol), WebSocket 등의 다양한 프로토콜을 적용할 수 있다.
본 발명의 일 실시예에 따른 방송 수신 장치는 기기간 커뮤니케이션 시 사용되는 메시지를 상기의 다양한 프로토콜을 통해 전달할 때, 전달할 데이터를 각 프로토콜에서 정의하는 다양한 타입(예를 들어, string, integer, floating point, boolean, character, array, list 등)으로 전달할 수 있다. 방송 수신 장치는 복잡한 내용의 데이터를 더 구조적으로 표현하고, 전달하고, 저장하기 위해 XML (Extensible Markup Language), HTML (Hypertext Markup Language), XHTML (Extensible Hypertext Markup Language), JSON (JavaScript Object Notation) 등의 Markup 방식 혹은 text, image format 등을 적용할 수 있으며 특정 방식에 국한하여 적용하지 않는다.
이하에서는, 방송 수신 장치가, WebSocket 프로토콜을 이용하여, ESG 데이터를 포함하는 메시지(예를 들어, 상태변수)를 컴패니언 디바이스로 전달하는 방법을 설명한다. 이 경우, 방송 수신 장치는 ESG 데이터를 포함하는 ESGData 상태변수를 JSON 형식의 ESGData 상태변수로 변환하고, JSON 형식의 ESGData 상태변수를 WebSocket 프로토콜을 이용하여 컴패니언 스크린 디바이스로 전달할 수 있다.
도(a)는 전술한 ESG data를 XML 형식(또는 XML data structure)의 ESGData 상태변수에 세팅한 실시예이다. ESGData 상태 변수의 구체적인 내용은 전술한 바와 동일하다.
도(b)를 참조하면, 도(a)의 XML 형식의 ESGData 상태변수는 JSON 형식(또는 JSON format)의 ESGData 상태변수로 변환될 수 있다. JSON 형식의 ESGData 상태변수의 구체적인 내용은 XML 형식의 ESGData 상태변수의 구체적인 내용과 동일하다.
이와 같이, 모든 XML 형식(XML data structure)의 데 이터는 JSON 형식(JSON format)의 데이터로 변환될 수 있다. JSON 형식의 데이터는 JSON 오브젝트라고 지칭될 수 있다. 이 JSON 오브젝트는 웹소켓 프로토콜(WebSocket protocol)을 통해 방송 수신 장치(예를 들어, 프라이머리 디바이스)에서 컴패니언 디바이스로 전달될 수 있다.
도 435 은 본 발명의 다른 실시예에 따른 JSON 형식의 ESGData 상태변수를 웹소켓 프로트콜을 사용하여 컴패니언 디바이스에 전달하는 과정을 도시한 도면이다.
먼저 도시된 CD(Companion Device) 는 컴패니언 디바이스, PD(Primary Device) 는 수신기 내지 방송 수신 장치를 의미할 수 있다.
컴패니언 디바이스는, 아래의 신텍스를 이용하여, 웹소켓 API를 콜링(calling)함으로써 웹소켓 오브젝트(WebSocket Object)를 생성할 수 있다(C58003).
[Construct WebSocket Object]
Websocketobjectname = new WebSocket(Websocket address)
Ex) WS_ESG = new WebSocket("ws://Tvhost:8080/ESGServer")
여기서, 생성되는 웹소켓 오브젝트의 이름은 "WS_ESG"이고, 콜링되는 웹소켓 API는 새로운 웹소켓을 생성하는 "new WebSocket"이고, 웹소켓 서버의 주소는 "ws://Tvhost:8080/ESGServer"일 수 있다.
그리고 나서, 컴패니언 디바이스는, 아래의 신텍스를 이용하여, 웹소켓 API를 콜링(calling)함으로써 웹소켓 연결(Websocket connection)을 개방(open)할 수 있다(C58005).
[Open a Websocket connection]
Ex) WS_ESG.onopen = function { ~~~ }
여기서, "WS_ESG.onopen"은 웹소켓을 개방하는 개방 이벤트 핸들러일 수 있다. "function { ~~~ }"은 웹소켓 연결(Websocket connection)을 개방(open)하는 웹소켓 API일 수 있다.
이 상태(C58010)에서 방송 수신 장치의 ESGData 상태변수는 아무런 값을 가지지 않을 수 있다.
서비스/컨텐츠프로바이더는 ESG 데이터를 방송망 또는 브로드밴드 채널을 통해 전송할 수 있다(C58020). ESG 데이터는 방송 수신 장치의 수신 유닛 또는 네트워크 인터페이스를 통해 수신될 수 있다. 여기서 수신 유닛은 전술한 브로드캐스트 인터페이스 내지 튜너일 수 있다.
방송 수신 장치는 수신한 ESG 데이터를 시그널링할 수 있다(C58030).
그리고 나서, 방송 수신 장치와 컴패니언 디바이스는 서로 웹소켓 연결(Websocket Connection)을 개방할 수 있다(C58035).
웹소켓 연결을 개방하는 방법에 대하여는 전술한 방법과 동일하다. 예를 들어, 방송 수신 장치에 포함된 어플리케이션 프로세서(미도시)는 네트워크 프로세서(미도시)로 컴패니언 디바이스와 연결을 요청할 수 있다. 이후에 네트워크 프로세서는 컴패니언 디바이스로부터 연결 요청을 수신할 수 있다. 네트워크 프로세서는 컴패니언 디바이스로부터 수신한 정보를 기초로 매칭되는 어플리케이션 프로세서의 연결 요청을 검색할 수 있다. 네트워크 프로세서는 매칭되는 연결 요청을 검색하면 컴패니언 디바이스와 방송 수신 장치의 어플리케이션 프로세서를 연결할 수 있다. 여기서, 어플리케이션 프로세서는 어플리케이션 모듈, 어플리케이션 브라우저일 수 있다. 네트워크 프로세서는 웹소켓 서버(WebSocket Server)일 수 있다.
방송 수신 장치와 컴패니언 디바이스 사이에 웹소켓 연결이 개방되면, 서로 간에 메시지를 송신 및/또는 수신이 가능한 상태가 된다.
그리고 나서, 컴패니언 디바이스는, 아래의 이벤트 핸들러를 이용하여, 다양한 메시지를 방송 수신 장치로 송신 및/또는 수신할 수 있다(C58037).
예를 들어, 이벤트 핸들러는 메시지 이벤트 핸들러(Message Event Handler), 에러 이벤트 핸들러(Error Event Handler), 및/또는 폐쇄 이벤트 핸들러(Close Event Handler)를 포함할 수 있다.
여기서, 메시지 이벤트 핸들러(Message Event Handler)는 방송 수신 장치와 컴패니언 스크린 사이에서 메시지를 전송 및/또는 수신하기 위한 이벤트 핸들러이고, 신텍스는 아래와 같다.
[Message Event Handler]
EX) WS_ESG.onmessage = function { ~~~ }
여기서, 에러 이벤트 핸들러(Error Event Handler)는 웹소켓 연결, 방송 수신 장치, 및/또는 컴패니언 디바이스의 에러와 관련된 메시지의 전송 및/또는 수신을 위한 이벤트 핸들러이고, 신텍스는 아래와 같다.
[Error Event Handler]
EX) WS_ESG.onerror = function { ~~~ }
여기서, 폐쇄 이벤트 핸들러(Close Event Handler)는 웹소켓 연결의 폐쇄를 위한 이벤트 핸들러이고, 신텍스는 아래와 같다.
[Close Event Handler]
EX) WS_ESG.onclose = function { ~~~ }
그리고 나서, 방송 수신 장치는 ESG 데이터를 ESGData 상태 변수에 저장(또는 세팅)할 수 있다(C58040).
예를 들어, ESGData 상태변수는 XML 형식 및 JSON 형식 중에서 하나일 수 있다. 방송 수신 장치가 ESG 데이터를 XML 형식의 ESGData 상태변수에 먼저 세팅한 경우, 방송 수신 장치는 XML 형식의 상태변수를 JSON 형식의 상태변수로 변환할 수 있다.
그리고 나서, 방송 수신 장치는 웹소켓(WebSocket) 프로토콜을 통해 ESGData 상태변수의 JSON 오브젝트를 컴패니언 디바이스로 전달할 수 있다(C58050).
ESGData 상태변수를 전달받은 컴패니언 디바이스는 이를 파싱한 후(C58060), 파싱된 값에 따라 ESG 데이터를 UI 를 통해 노출할 수 있다(C56070).
이 때, 사용자에게 ESG 데이터를 보여주기 위해, 컴패니언 디바이스는 네이티브 레벨에서 UI 를 표현해주거나, 어플리케이션에서 표현해줄 수도 있다.
컴패니언 디바이스에서 ESG 데이터가 표현되는 방식에는 다양한 실시예가 존재할 수 있다. 실시예에 따라, ESG 데이터가 수신되면 컴패니언 디바이스는 어떠한 형태로든지 사용자에게 ESG 데이터를 바로 노출할 수 있다. 다른 실시예에 따라, ESG 데이터가 수신되면 컴패니언 디바이스는 사용자에게 알림(notification) 메시지를 보내고 사용자가 실행한 경우에 ESG 데이터를 노출할 수 있다. 또 다른 실시예에 따라, ESG 데이터가 수신되면 컴패니언 디바이스는 백그라운드에서 ESG 정보를 가지고 있다가, 사용자가 직접 원하는 때에 ESG 데이터를 볼 수 있는 어플리케이션을 실행하면, 그 때서야 ESG 데이터를 사용자에게 노출할 수도 있다.
모듈 또는 유닛은 메모리(또는 저장 유닛)에 저장된 연속된 수행과정들을 실행하는 프로세서들일 수 있다. 전술한 실시예에 기술된 각 단계들은 하드웨어/프로세서들에 의해 수행될 수 있다. 전술한 실시예에 기술된 각 모듈/블락/유닛들은 하드웨어/프로세서로서 동작할 수 있다. 또한, 본 발명이 제시하는 방법들은 코드로서 실행될 수 있다. 이 코드는 프로세서가 읽을 수 있는 저장매체에 쓰여질 수 있고, 따라서 장치(apparatus)가 제공하는 프로세서에 의해 읽혀질 수 있다.
설명의 편의를 위하여 각 도면을 나누어 설명하였으나, 각 도면에 서술되어 있는 실시 예들을 병합하여 새로운 실시 예를 구현하도록 설계하는 것도 가능하다. 그리고, 통상의 기술자의 필요에 따라, 이전에 설명된 실시 예들을 실행하기 위한 프로그램이 기록되어 있는 컴퓨터에서 판독 가능한 기록 매체를 설계하는 것도 본 발명의 권리범위에 속한다.
본 발명에 따른 장치 및 방법은 상술한 바와 같이 설명된 실시 예들의 구성과 방법이 한정되게 적용될 수 있는 것이 아니라, 상술한 실시 예들은 다양한 변형이 이루어질 수 있도록 각 실시 예들의 전부 또는 일부가 선택적으로 조합되어 구성될 수도 있다.
한편, 본 발명이 제안하는 방법을 네트워크 디바이스에 구비된, 프로세서가 읽을 수 있는 기록매체에, 프로세서가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 프로세서가 읽을 수 있는 기록매체는 프로세서에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 프로세서가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한, 인터넷을 통한 전송 등과 같은 캐리어 웨이브의 형태로 구현되는 것도 포함한다. 또한, 프로세서가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 프로세서가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시 예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해돼서는 안 될 것이다.
그리고, 당해 명세서에서는 물건 발명과 방법 발명이 모두 설명되고 있으며, 필요에 따라 양 발명의 설명은 보충적으로 적용될 수가 있다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 이해된다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.
본 명세서에서 장치 및 방법 발명이 모두 언급되고, 장치 및 방법 발명 모두의 설명은 서로 보완하여 적용될 수 있다.
다양한 실시예가 본 발명을 실시하기 위한 최선의 형태에서 설명되었다.
본 발명은 일련의 방송 신호 제공 분야에서 이용된다.
본 발명의 사상이나 범위를 벗어나지 않고 본 발명에서 다양한 변경 및 변형이 가능함은 당업자에게 자명하다. 따라서, 본 발명은 첨부된 청구항 및 그 동등 범위 내에서 제공되는 본 발명의 변경 및 변형을 포함하는 것으로 의도된다.

Claims (14)

  1. CD (Companion Device) 에서 실행중인 CD 앱(application) 과 디스커버리 과정을 수행하는 단계,여기서 상기 디스커버리 과정을 수행하는 단계는:
    상기 CD 앱으로부터 디바이스 디스크립션의 요청을 수신하고 제 1 응답메시지를 전송하는 단계; 및
    상기 CD 앱으로부터 제 1 URL 로 요청된 어플리케이션 정보 요청을 수신하고 제 2 응답메시지를 전송하는 단계를 포함하고,
    여기서 상기 제 1 응답메시지의 헤더는 PD (Primary Device) 의 웹서버 엔드포인트로 사용되는 상기 제 1 URL 을 포함하고, 상기 제 2 응답 메시지는 상기 PD 의 웹소켓 서버 엔드포인트로 사용되는 제 2 URL 을 포함하고;
    상기 제 2 URL 을 이용하여 상기 웹소켓 서버와 상기 CD 앱 간의 웹소켓 커넥션을 구축하는(establishing) 단계;
    긴급 경보 정보를 포함하는 EA (Emergency Alert) 메시지를 방송망 또는 브로드밴드를 통해 수신하는 단계; 및
    상기 EA 메시지를 상기 웹소켓 커넥션을 통하여 상기 CD 로 전달하는 단계; 를 포함하는 PD 에서 방송 서비스를 제공하는 방법.
  2. 제 1 항에 있어서, 상기 EA 메시지를 상기 CD 측으로 전달하는 단계는:
    상기 PD 에서 상기 긴급 경보 정보를 처리하는 PD 앱을 실행시키는 단계,
    상기 PD 앱이 상기 CD 에서 상기 EA 메시지를 처리하는 EA 앱을 실행시키는 단계,
    상기 웹소켓 커넥션을 통하여 상기 PD 앱이 상기 EA 메시지를 상기 CD 에서 실행중인상기 EA 앱으로 전달하는 단계;
    를 더 포함하는 PD 에서 방송 서비스를 제공하는 방법.
  3. 제 1 항에 있어서,
    상기 EA 메시지는 상기 EA 메시지를 식별하는 ID 정보, 상기 EA 메시지가 만료되는 시점을 지시하는 만료시점 정보 또는 상기 EA 메시지가 지시하는 긴급 경보의 타입을 지시하는 카테고리 정보를 포함하는 PD 에서 방송 서비스를 제공하는 방법.
  4. 제 1 항에 있어서, 상기 PD 에서 방송 서비스를 제공하는 방법은:
    상기 PD 에서 제공중인 방송 서비스의 미디어 타임라인 정보를 요청하는 HTTP GET 메시지를 상기 웹 서버로 수신하는 단계, 및
    상기 HTTP GET 메시지에 대한 응답 메시지를 상기 CD 앱으로 전송하는 단계를 포함하고,
    상기 응답 메시지는 현재의 UTC (Universal Time Coordinated) 시각 정보 및 상기 현재 UTC 시각에서의 상기 방송 서비스의 미디어 타임 정보를 포함하는 PD 에서 방송 서비스를 제공하는 방법.
  5. 제 1 항에 있어서, 상기 PD 에서 방송 서비스를 제공하는 방법은:
    상기 CD 앱으로부터 상기 웹소켓 커넥션을 통하여 서비스 식별 메시지를 요청받는 단계, 및
    상기 웹소켓 커넥션을 통하여 상기 CD 앱으로 상기 서비스 식별 메시지를 전달하는 단계를 더 포함하고,
    상기 서비스 식별 메시지는 ESG (Electronic Service Guide) 데이터로부터 획득된 적어도 하나 이상의 서비스 관련 정보 또는 적어도 하나 이상의 컨텐츠 관련 정보를 포함하는 PD 에서 방송 서비스를 제공하는 방법.
  6. 제 5 항에 있어서,
    상기 서비스 식별 메시지는 각각의 상기 컨텐츠에 관련된 컴포넌트 정보들 및 컨텐트 아이템 정보들을 포함하고,
    각각의 상기 컴포넌트 정보는 관련 컨텐트의 A/V (Audio/Video) 컴포넌트에 관한 정보 및 상기 A/V 컴포넌트에 접근하기 위한 URL 정보를 포함하고,
    각각의 상기 컨텐트 아이템 정보는 관련 컨텐트의 부가데이터 컴포넌트에 관한 정보 및 상기 부가데이터 컴포넌트에 접근하기 위한 URL 정보를 포함하는 PD 에서 방송 서비스를 제공하는 방법.
  7. 제 6 항에 있어서,
    상기 부가데이터 컴포넌트에 접근하기 위한 URL 정보는 상기 방송 서비스에 대한 앱 기반 인핸스먼트(App-based Enhancement) 를 제공하기 위한 데이터를 획득하기 위해 사용되는 것을 특징으로 하는 PD 에서 방송 서비스를 제공하는 방법.
  8. CD (Companion Device) 에서 실행중인 CD 앱(application) 과 디스커버리 과정을 수행하는 컴패니언 모듈, 여기서 상기 컴패니언 모듈은 상기 CD 앱으로부터 디바이스 디스크립션의 요청을 수신하고 제 1 응답메시지를 전송하고, 상기 컴패니언 모듈은 상기 CD 앱으로부터 제 1 URL 로 요청된 어플리케이션 정보 요청을 수신하고 제 2 응답메시지를 전송하고,
    상기 제 1 응답메시지의 헤더는 PD (Primary Device) 의 웹서버 엔드포인트로 사용되는 상기 제 1 URL 을 포함하고, 상기 제 2 응답 메시지는 상기 PD 의 웹소켓 서버 엔드포인트로 사용되는 제 2 URL 을 포함하고,
    상기 컴패니언 모듈은 상기 제 2 URL 을 이용하여 상기 웹소켓 서버와 상기 CD 앱 간의 웹소켓 커넥션을 구축하고;
    긴급 경보 정보를 포함하는 EA (Emergency Alert) 메시지를 방송망 또는 브로드밴드를 통해 수신하는 수신 모듈; 및
    상기 EA 메시지를 상기 웹소켓 커넥션을 통하여 상기 CD 로 전달하는 상기 웹소켓 서버; 를 포함하는 PD 로서 동작하는 방송 수신 장치.
  9. 제 8 항에 있어서, 상기 방송 수신 장치는:
    상기 PD 에서 상기 긴급 경보 정보를 처리하는 PD 앱을 실행시키는 내부 컨트롤 모듈을 더 포함하고,
    상기 PD 앱은 상기 CD 에서 상기 EA 메시지를 처리하는 EA 앱을 실행시키고,
    상기 PD 앱은 상기 웹소켓 커넥션을 통하여 상기 EA 메시지를 상기 CD 에서 실행중인 상기 EA 앱으로 전달하는 것을 특징으로 하는 PD 로서 동작하는 방송 수신 장치.
  10. 제 8 항에 있어서,
    상기 EA 메시지는 상기 EA 메시지를 식별하는 ID 정보, 상기 EA 메시지가 만료되는 시점을 지시하는 만료시점 정보 또는 상기 EA 메시지가 지시하는 긴급 경보의 타입을 지시하는 카테고리 정보를 포함하는 것을 특징으로 하는 PD 로서 동작하는 방송 수신 장치.
  11. 제 8 항에 있어서,
    상기 방송 수신 장치는 상기 웹서버를 더 포함하고,
    상기 웹서버는 상기 PD 에서 제공중인 방송 서비스의 미디어 타임라인 정보를 요청하는 HTTP GET 메시지를 수신하고,
    상기 웹서버는 상기 HTTP GET 메시지에 대한 응답 메시지를 상기 CD 앱으로 전송하고,
    상기 응답 메시지는 현재의 UTC (Universal Time Coordinated) 시각 정보 및 상기 현재 UTC 시각에서의 상기 방송 서비스의 미디어 타임 정보를 포함하는 것을 특징으로 하는 PD 로서 동작하는 방송 수신 장치.
  12. 제 8 항에 있어서,
    상기 웹소켓 서버는 상기 웹소켓 커넥션을 통하여 상기 CD 앱으로부터 서비스 식별 메시지를 요청받고,
    상기 웹소켓 서버는 상기 웹소켓 커넥션을 통하여 상기 CD 앱으로 상기 서비스 식별 메시지를 전달하고,
    상기 서비스 식별 메시지는 ESG (Electronic Service Guide) 데이터로부터 획득된 적어도 하나 이상의 서비스 관련 정보 또는 적어도 하나 이상의 컨텐츠 관련 정보를 포함하는 것을 특징으로 하는 PD 로서 동작하는 방송 수신 장치.
  13. 제 12 항에 있어서,
    상기 서비스 식별 메시지는 각각의 상기 컨텐츠에 관련된 컴포넌트 정보들 및 컨텐트 아이템 정보들을 포함하고,
    각각의 상기 컴포넌트 정보는 관련 컨텐트의 A/V (Audio/Video) 컴포넌트에 관한 정보 및 상기 A/V 컴포넌트에 접근하기 위한 URL 정보를 포함하고,
    각각의 상기 컨텐트 아이템 정보는 관련 컨텐트의 부가데이터 컴포넌트에 관한 정보 및 상기 부가데이터 컴포넌트에 접근하기 위한 URL 정보를 포함하는 것을 특징으로 하는 PD 로서 동작하는 방송 수신 장치.
  14. 제 13 항에 있어서,
    상기 부가데이터 컴포넌트에 접근하기 위한 URL 정보는 상기 방송 서비스에 대한 앱 기반 인핸스먼트(App-based Enhancement) 를 제공하기 위한 데이터를 획득하기 위해 사용되는 것을 특징으로 하는 PD 로서 동작하는 방송 수신 장치.
PCT/KR2016/001995 2015-03-01 2016-02-29 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법 WO2016140479A1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020187003286A KR101853670B1 (ko) 2015-03-01 2016-02-29 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US15/543,041 US10637595B2 (en) 2015-03-01 2016-02-29 Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
KR1020167020603A KR101827277B1 (ko) 2015-03-01 2016-02-29 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
US15/885,274 US10790917B2 (en) 2015-03-01 2018-01-31 Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201562126704P 2015-03-01 2015-03-01
US201562126707P 2015-03-01 2015-03-01
US201562126693P 2015-03-01 2015-03-01
US62/126,704 2015-03-01
US62/126,693 2015-03-01
US62/126,707 2015-03-01
US201562144311P 2015-04-07 2015-04-07
US62/144,311 2015-04-07

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US15/543,041 A-371-Of-International US10637595B2 (en) 2015-03-01 2016-02-29 Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
US15/885,274 Continuation US10790917B2 (en) 2015-03-01 2018-01-31 Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal

Publications (1)

Publication Number Publication Date
WO2016140479A1 true WO2016140479A1 (ko) 2016-09-09

Family

ID=56848090

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2016/001995 WO2016140479A1 (ko) 2015-03-01 2016-02-29 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법

Country Status (3)

Country Link
US (2) US10637595B2 (ko)
KR (2) KR101853670B1 (ko)
WO (1) WO2016140479A1 (ko)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019094748A1 (en) * 2017-11-10 2019-05-16 Qualcomm Incorporated Interfaces between dash aware application and dash client for service interactivity support
CN110086978A (zh) * 2018-01-25 2019-08-02 浙江宇视科技有限公司 多路音频传输方法、装置及终端设备
CN110572690A (zh) * 2019-09-29 2019-12-13 腾讯科技(深圳)有限公司 用在直播中的方法、装置及计算机可读存储介质
US10743069B2 (en) 2018-12-10 2020-08-11 Sony Corporation Delivery of information related to digital rights management (DRM) in a terrestrial broadcast system
US11044294B2 (en) 2018-01-03 2021-06-22 Sony Group Corporation ATSC 3.0 playback using MPEG media transport protocol (MMTP)
US11606528B2 (en) 2018-01-03 2023-03-14 Saturn Licensing Llc Advanced television systems committee (ATSC) 3.0 latency-free display of content attribute
US11706465B2 (en) 2019-01-15 2023-07-18 Sony Group Corporation ATSC 3.0 advertising notification using event streams
EP4254970A3 (en) * 2016-11-09 2023-12-27 Sony Semiconductor Solutions Corporation Reception device, reception method, transmission device, and transmission method

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016170783A1 (en) * 2015-04-21 2016-10-27 Sharp Kabushiki Kaisha Methods for media playback state information exchange
US9736259B2 (en) 2015-06-30 2017-08-15 Iheartmedia Management Services, Inc. Platform-as-a-service with proxy-controlled request routing
MX2018003911A (es) * 2015-10-05 2018-05-30 Sony Corp Aparato de recepcion, aparato de transmision y metodo de procesamiento de datos.
US10355923B2 (en) 2015-11-02 2019-07-16 Mobitv, Inc. Self-configuration of wireless connections
JP6733479B2 (ja) * 2016-03-17 2020-07-29 株式会社リコー 情報処理システム、情報処理装置、画像形成装置、情報処理方法およびプログラム
US10033898B2 (en) 2016-03-17 2018-07-24 Ricoh Company, Ltd. Information processing system, image forming apparatus, and method of processing information
BR112018070379A2 (pt) * 2016-04-07 2019-02-12 Ericsson Telefon Ab L M alocação de sessão de sinalização de aplicativo
KR102080726B1 (ko) * 2016-04-28 2020-02-24 샤프 가부시키가이샤 비상 경보의 시그널링을 위한 시스템 및 방법
US20180014171A1 (en) * 2016-07-05 2018-01-11 Qualcomm Incorporated Management of emergency alert wake up bits
DK3497831T3 (da) 2016-08-11 2021-10-04 Ericsson Telefon Ab L M Forbedret adaptiv bithastighedsstreaming af live indhold
EP3497909B1 (en) * 2016-08-11 2022-06-01 Telefonaktiebolaget LM Ericsson (publ) Improved adaptive bit rate streaming of live content with manifest update push notification or long poll
CA3033176A1 (en) * 2016-08-12 2018-02-15 Sharp Kabushiki Kaisha Systems and methods for signaling of emergency alert messages
WO2018043111A1 (ja) * 2016-08-29 2018-03-08 ソニー株式会社 情報処理装置、情報処理方法、及び、情報処理システム
US10284605B2 (en) * 2016-09-30 2019-05-07 Samsung Electronics Co., Ltd Method and terminal for providing MCPTT service
JPWO2018066355A1 (ja) * 2016-10-04 2019-07-25 ソニー株式会社 受信装置、送信装置、及び、データ処理方法
US10367874B2 (en) * 2016-11-04 2019-07-30 Verizon Patent And Licensing Inc. MPEG-DASH delivery over multicast
CN107040648A (zh) * 2016-11-30 2017-08-11 阿里巴巴集团控股有限公司 信息展示方法及装置
BR112019015810A2 (pt) * 2017-02-06 2020-03-31 Qualcomm Incorporated Determinação de capacidade e cobertura para serviço de difusão e multidifusão de multimídia
US10111063B1 (en) * 2017-03-31 2018-10-23 Verizon Patent And Licensing Inc. System and method for EUICC personalization and network provisioning
US20180324231A1 (en) * 2017-05-08 2018-11-08 Alcatel-Lucent Usa Inc. Multicast adaptive bitrate channel selection in access networks
FR3071688B1 (fr) * 2017-09-22 2019-09-27 Thales Procede de syncronisation d'un ensemble de dispositifs, programme d'ordinateur et systeme de syncronisation associes
US10404766B2 (en) * 2017-12-07 2019-09-03 Mcom Media Communications Dmcc Managing content casting
US20190246148A1 (en) * 2018-02-05 2019-08-08 Digicap Co., Ltd. Method and system for scrambling broadcast with low latency
US10826634B2 (en) 2018-05-04 2020-11-03 Ibiquity Digital Corporation System and method for in-vehicle live guide generation
WO2020001652A1 (en) * 2018-06-29 2020-01-02 Yunding Network Technology (Beijing) Co., Ltd. Systems and methods for informarion management
US11018754B2 (en) * 2018-08-07 2021-05-25 Appareo Systems, Llc RF communications system and method
EP3876547A4 (en) * 2018-10-29 2021-09-08 Sony Group Corporation INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHODS AND INFORMATION PROCESSING SYSTEM
JP7210272B2 (ja) * 2018-12-28 2023-01-23 株式会社東芝 放送システム、エンコーダ、多重化装置、多重化方法、系統切替装置、および同期制御装置
CN110662088B (zh) * 2019-09-24 2020-05-15 广州优视云集科技有限公司 一种防止视频重复转码的去重方法及处理终端
KR102631741B1 (ko) 2019-10-15 2024-02-01 한국전자통신연구원 방송 신호 검출 장치 및 방법
CN111031002B (zh) * 2019-11-20 2022-06-10 北京小米移动软件有限公司 广播发现方法、广播发现装置及存储介质
WO2021164043A1 (zh) * 2020-02-20 2021-08-26 深圳市昊一源科技有限公司 音视频传输装置及音视频传输系统
US11316912B2 (en) * 2020-05-26 2022-04-26 Grass Valley Canada System and method for synchronizing transmission of media content using timestamps
US11477848B2 (en) * 2020-06-29 2022-10-18 At&T Intellectual Property I, L.P. Disseminating alerts or other notifications using ProSe direct discovery signaling
US11917019B2 (en) * 2020-09-14 2024-02-27 Nippon Telegraph And Telephone Corporation Information processing system, information processing method and program
US11659373B2 (en) * 2020-10-30 2023-05-23 At&T Intellectual Property I, L.P. Wireless emergency alert message failure notification and targeted retry
KR102562344B1 (ko) * 2020-12-30 2023-08-01 주식회사 쿠오핀 네트워크 프로세서와 컨볼루션 처리기를 갖는 디바이스용 신경망 처리기
US11825163B2 (en) * 2021-03-30 2023-11-21 Dish Network L.L.C. Forced update of meta-programming data using digital video broadcast service information
US20220360853A1 (en) * 2021-05-05 2022-11-10 Samsung Electronics Co., Ltd. Mmt based drm operation for atsc 3.0
US11799943B2 (en) * 2021-10-06 2023-10-24 Tencent America LLC Method and apparatus for supporting preroll and midroll during media streaming and playback
CN113645326B (zh) * 2021-10-13 2021-12-24 北京英迪瑞讯网络科技有限公司 用于IPv4/IPv6访问的准无状态自适应映射方法
US11889147B2 (en) * 2021-11-04 2024-01-30 Sony Group Corporation Display of signing video through an adjustable user interface (UI) element
WO2023195986A1 (en) * 2022-04-07 2023-10-12 Zeku, Inc. Hybrid rohc-rtp stack for small packet applications

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100186029A1 (en) * 2009-01-18 2010-07-22 Lg Electronics Inc. IPTV and method for controlling emergency alert system widget in IPTV
WO2014119961A1 (ko) * 2013-02-03 2014-08-07 엘지전자 주식회사 방송 시스템을 통하여 긴급 경보 서비스를 제공하는 장치 및 방법
WO2014148813A1 (ko) * 2013-03-19 2014-09-25 엘지전자 주식회사 신호 송신 장치, 신호 송신 방법 및 신호 송수신 시스템
WO2014207305A1 (en) * 2013-06-24 2014-12-31 Cassidian Finland Oy Mobile device management using websocket
US20150058905A1 (en) * 2012-10-18 2015-02-26 Lg Electronics Inc. Apparatus and method for processing an interactive service

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013031556A1 (ja) * 2011-08-26 2013-03-07 日本放送協会 受信機および受信方法
US9712864B2 (en) 2011-10-20 2017-07-18 Lg Electronics Inc. Broadcast service receiving method and broadcast service receiving apparatus
KR102114625B1 (ko) 2012-03-02 2020-05-25 엘지전자 주식회사 모바일 방송을 통하여 긴급 경보 서비스를 제공하는 장치 및 방법
US20140013342A1 (en) * 2012-07-05 2014-01-09 Comcast Cable Communications, Llc Media Content Redirection
US9769503B2 (en) * 2012-11-14 2017-09-19 Saturn Licensing Llc Information processor, information processing method and program
EP2858310A1 (en) 2013-10-07 2015-04-08 Alcatel Lucent Association of a social network message with a related multimedia flow
CN106797262A (zh) * 2014-10-21 2017-05-31 夏普株式会社 具有伴随设备和主设备的系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100186029A1 (en) * 2009-01-18 2010-07-22 Lg Electronics Inc. IPTV and method for controlling emergency alert system widget in IPTV
US20150058905A1 (en) * 2012-10-18 2015-02-26 Lg Electronics Inc. Apparatus and method for processing an interactive service
WO2014119961A1 (ko) * 2013-02-03 2014-08-07 엘지전자 주식회사 방송 시스템을 통하여 긴급 경보 서비스를 제공하는 장치 및 방법
WO2014148813A1 (ko) * 2013-03-19 2014-09-25 엘지전자 주식회사 신호 송신 장치, 신호 송신 방법 및 신호 송수신 시스템
WO2014207305A1 (en) * 2013-06-24 2014-12-31 Cassidian Finland Oy Mobile device management using websocket

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4254970A3 (en) * 2016-11-09 2023-12-27 Sony Semiconductor Solutions Corporation Reception device, reception method, transmission device, and transmission method
WO2019094748A1 (en) * 2017-11-10 2019-05-16 Qualcomm Incorporated Interfaces between dash aware application and dash client for service interactivity support
CN111316655A (zh) * 2017-11-10 2020-06-19 高通股份有限公司 在dash感知应用与dash客户端之间用于服务互动性支持的接口
CN111316655B (zh) * 2017-11-10 2021-11-02 高通股份有限公司 在dash感知应用与dash客户端之间用于服务互动性支持的接口
US11310540B2 (en) 2017-11-10 2022-04-19 Qualcomm Incorporated Interfaces between dash aware application and dash client for service interactivity support
US11044294B2 (en) 2018-01-03 2021-06-22 Sony Group Corporation ATSC 3.0 playback using MPEG media transport protocol (MMTP)
US11606528B2 (en) 2018-01-03 2023-03-14 Saturn Licensing Llc Advanced television systems committee (ATSC) 3.0 latency-free display of content attribute
CN110086978A (zh) * 2018-01-25 2019-08-02 浙江宇视科技有限公司 多路音频传输方法、装置及终端设备
US10743069B2 (en) 2018-12-10 2020-08-11 Sony Corporation Delivery of information related to digital rights management (DRM) in a terrestrial broadcast system
US11706465B2 (en) 2019-01-15 2023-07-18 Sony Group Corporation ATSC 3.0 advertising notification using event streams
CN110572690A (zh) * 2019-09-29 2019-12-13 腾讯科技(深圳)有限公司 用在直播中的方法、装置及计算机可读存储介质

Also Published As

Publication number Publication date
KR101827277B1 (ko) 2018-02-08
US10637595B2 (en) 2020-04-28
KR101853670B1 (ko) 2018-05-02
KR20160116335A (ko) 2016-10-07
US20180026733A1 (en) 2018-01-25
US20180159644A1 (en) 2018-06-07
KR20180016622A (ko) 2018-02-14
US10790917B2 (en) 2020-09-29

Similar Documents

Publication Publication Date Title
WO2016140479A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016114559A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016140478A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016140483A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016140477A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016153326A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016036077A1 (ko) 방송 수신 장치, 방송 수신 장치의 동작 방법, 방송 수신 장치와 연동하는 연동 장치 및 연동 장치의 동작 방법
WO2016018077A1 (ko) 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
WO2016105090A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2017007224A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016111526A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016093576A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016153241A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016003137A1 (ko) 방송 수신 장치, 방송 수신 장치의 동작 방법, 방송 수신 장치와 연동하는 연동 장치 및 연동 장치의 동작 방법
WO2016068564A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2015088217A1 (en) A receiver and a method for processing a broadcast signal including a broadcast content and an application related to the broadcast content
WO2016163772A2 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016122269A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2015137669A1 (en) Broadcast reception device and operating method thereof, and companion device interoperating with the broadcast reception device and operating method thereof
WO2017209514A1 (ko) 방송 신호 송수신 장치 및 방법
WO2016190662A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2017026714A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016190720A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2016114510A1 (ko) 방송 신호 송신 장치, 방송 신호 수신 장치, 방송 신호 송신 방법, 및 방송 신호 수신 방법
WO2017043898A1 (ko) 방송 신호 송수신 장치 및 방법

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 20167020603

Country of ref document: KR

Kind code of ref document: A

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

Ref document number: 16759115

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 15543041

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

Country of ref document: EP

Kind code of ref document: A1