KR20220165693A - Method and apparatus for digital broadcast services - Google Patents

Method and apparatus for digital broadcast services Download PDF

Info

Publication number
KR20220165693A
KR20220165693A KR1020220162229A KR20220162229A KR20220165693A KR 20220165693 A KR20220165693 A KR 20220165693A KR 1020220162229 A KR1020220162229 A KR 1020220162229A KR 20220162229 A KR20220162229 A KR 20220162229A KR 20220165693 A KR20220165693 A KR 20220165693A
Authority
KR
South Korea
Prior art keywords
event
mmt
information
event information
message
Prior art date
Application number
KR1020220162229A
Other languages
Korean (ko)
Other versions
KR102598237B1 (en
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 삼성전자주식회사
Publication of KR20220165693A publication Critical patent/KR20220165693A/en
Application granted granted Critical
Publication of KR102598237B1 publication Critical patent/KR102598237B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4345Extraction or processing of SI, e.g. extracting service information from an MPEG stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • 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/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • 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/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. 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/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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

A method of operating a receiving device in a multimedia system is disclosed. The method includes a step of receiving event information related to an event that includes a notification to an application, indicating that an action is to occur. When the event information indicates a first event for dynamic adaptive streaming over hypertext transfer protocol (DASH)-based services, the event information is received in a first event information box included in a media presentation description (MPD). When the event information indicates a second event for moving picture experts group media transport (MMT)-based services, the event information is received in a second event information box included in a media processing unit (MPU) in the MMT payload. If the event information indicates the second event for the MMT-based services, the event information includes a value of the event, an identifier (ID) of the event, a start time of the event, a duration of the event, and event data of the event. The present invention is to support an application program service.

Description

디지털 방송 서비스 방법 및 장치{METHOD AND APPARATUS FOR DIGITAL BROADCAST SERVICES}Digital broadcast service method and apparatus {METHOD AND APPARATUS FOR DIGITAL BROADCAST SERVICES}

본 발명은 디지털 방송 서비스에서 애플리케이션 프로그램 서비스 정보 및 이벤트의 전송을 위한 방법 및 장치에 관한 것이다.The present invention relates to a method and apparatus for transmitting application program service information and events in a digital broadcast service.

멀티미디어 서비스란 화상전화와 같은 대화형 서비스, 주문형 비디오(Video On Demand: VOD) 서비스와 같은 스트리밍 서비스, 또는 멀티캐스트 및 브로드캐스트 서비스 등의 서비스를 의미한다. 실시간 멀티미디어 서비스는 서비스의 형태에 따라 대화형 서비스, 인터랙티브 서비스, 스트리밍 서비스로 나눌 수 있으며, 참여하는 사용자의 수에 따라 유니캐스트, 멀티캐스트, 브로드캐스트로 나눌 수도 있다.The multimedia service refers to an interactive service such as a video phone, a streaming service such as a Video On Demand (VOD) service, or a multicast and broadcast service. Real-time multimedia services can be divided into interactive services, interactive services, and streaming services according to the type of service, and can also be divided into unicast, multicast, and broadcast according to the number of participating users.

MPEG-2 TS (Moving Picture Experts Group-2 Transport Stream)는 멀티미디어 컨텐츠의 전송을 위해 사용되는 기술로서, 오류가 있는 전송 환경에서 복수의 방송 프로그램(부호화된 다수의 비디오 비트 열)이 다중화된 비트 열을 전송하기 위한 대표적인 전송 기술로 사용되고 있다. MPEG 기술을 기반으로 멀티미디어 서비스를 지원하기 위한 멀티미디어 전송 기술 중 하나로 MMT (MPEG MEDIA Transport) 표준이 제안된 바 있다. MMT 기술은 여러 종류의 네트워크 환경에서 TV(Television)나 모바일 기기 등과 같은 다양한 사용자 단말을 통해 다양한 형태의 멀티미디어 서비스를 원활하게 제공하기 위한 MPEG의 새로운 표준 기술로서, 예컨대 MMT 표준은 이종(heterogeneous) 네트워크를 통해 복합 컨텐츠를 효율적으로 전송하기 위해 적용될 수 있다. 여기서 복합 컨텐츠는 비디오(Video)/오디오(Audio)/애플리케이션(Application) 등에 의한 멀티미디어 요소를 가지는 컨텐츠의 집합을 의미한다. 그리고 이종 네트워크는 일 예로서 방송 네트워크와 이동 통신 네트워크 등이 혼재하는 네트워크가 될 수 있다.MPEG-2 TS (Moving Picture Experts Group-2 Transport Stream) is a technology used to transmit multimedia contents. It is a bit stream in which a plurality of broadcast programs (a plurality of coded video bit streams) are multiplexed in a transmission environment with errors. It is used as a representative transmission technology for transmitting. As one of the multimedia transmission technologies for supporting multimedia services based on MPEG technology, the MMT (MPEG MEDIA Transport) standard has been proposed. MMT technology is a new standard technology of MPEG for smoothly providing various types of multimedia services through various user terminals such as TV (Television) or mobile devices in various types of network environments. For example, the MMT standard is a heterogeneous network It can be applied to efficiently transmit complex contents through. Here, the composite content refers to a set of content having multimedia elements such as video/audio/application. Also, the heterogeneous network may be, for example, a network in which a broadcasting network and a mobile communication network are mixed.

방송 네트워크와 통신 네트워크를 유기적으로 연동하는 하이브리드 전송 기술을 바탕으로 애플리케이션 프로그램 서비스를 지원하기 위해서는, 방송 네트워크 또는 통신 네트워크를 이용하여 애플리케이션 프로그램 서비스를 실행하는데 필요한 데이터 또는 파일 수신과 더불어, 단말에서 애플리케이션 프로그램 서비스 및 관련 데이터를 인식하고 선택하도록 하기 위한 시그널링 정보가 필요하다. 따라서 MPEG 미디어 전송 기술을 사용하는 통신 시스템에서 애플리케이션 프로그램 서비스를 제공하기 위한 효과적인 시그널링 정보의 전송 기술을 필요로 하게 되었다.In order to support an application program service based on a hybrid transmission technology that organically interlocks a broadcast network and a communication network, in addition to receiving data or files necessary to execute an application program service using a broadcast network or a communication network, the terminal receives the application program Signaling information is needed to recognize and select services and related data. Therefore, there is a need for an effective signaling information transmission technology for providing application program services in a communication system using MPEG media transmission technology.

본 발명은 디지털 방송 서비스를 지원하기 위한 방법 및 장치를 제공한다. The present invention provides a method and apparatus for supporting a digital broadcasting service.

본 발명은 미디어 전송 기술을 사용하여 전송되는 방송 프로그램과 연동하거나 또는 독립적으로 동작하는 애플리케이션 프로그램 서비스를 지원하기 위한 방법 및 장치를 제공한다.The present invention provides a method and apparatus for supporting an application program service that operates in conjunction with or independently of a broadcast program transmitted using media transmission technology.

본 발명은 디지털 방송 서비스를 위한 애플리케이션 프로그램 서비스를 지원하기 위한 시그널링 정보 전송 방법 및 그 장치를 제공한다.The present invention provides a signaling information transmission method and apparatus for supporting an application program service for digital broadcasting service.

본 발명에서 해결하고자 하는 기술적 과제는 MMT 전송 기술을 사용하여 애플리케이션 프로그램 서비스 관련 정보 및 애플리케이션 프로그램 서비스의 동작을 제어하기 위한 이벤트 정보를 전송하는 방법 및 그 장치를 고안하는데 목적을 두고 있다.An object of the present invention is to devise a method and device for transmitting application program service related information and event information for controlling the operation of an application program service using MMT transmission technology.

본 발명의 일 실시예에 따른 멀티미디어 시스템에서 수신 장치를 동작시키는 방법은, 액션이 발생할 것임을 나타내는 어플리케이션으로의 통지를 포함하는 이벤트와 관련된 이벤트 정보를 수신하는 단계를 포함하고, 상기 이벤트 정보가 DASH(dynamic adaptive streaming over hypertext transfer protocol)-기반 서비스들에 대한 제1 이벤트를 나타내는 경우, 상기 이벤트 정보는 MPD(media presentation description)에 포함되는 제1 이벤트 정보 박스 내에서 수신되고, 상기 이벤트 정보가 MMT(moving picture experts group media transport)-기반 서비스들에 대한 제2 이벤트를 나타내는 경우, 상기 이벤트 정보는 MMT 페이로드 내의 MPU(media processing unit)에 포함되는 제2 이벤트 정보 박스 내에서 수신되고, 그리고 상기 이벤트 정보가 상기 MMT-기반 서비스들에 대한 상기 제2 이벤트를 나타내는 경우, 상기 이벤트 정보는 상기 이벤트에 대한 값(value), 상기 이벤트의 식별자(ID), 상기 이벤트의 시작 시간, 상기 이벤트의 지속 시간, 및 상기 이벤트의 이벤트 데이터를 포함한다.A method of operating a receiving device in a multimedia system according to an embodiment of the present invention includes receiving event information related to an event including a notification to an application indicating that an action will occur, wherein the event information is DASH ( dynamic adaptive streaming over hypertext transfer protocol)-based services, the event information is received in a first event information box included in a media presentation description (MPD), and the event information is MMT ( When indicating a second event for moving picture experts group media transport)-based services, the event information is received in a second event information box included in a media processing unit (MPU) in the MMT payload, and the event information When the information indicates the second event for the MMT-based services, the event information includes a value for the event, an identifier (ID) of the event, a start time of the event, and a duration of the event. , and event data of the event.

본 발명의 일 실시예에 따른 멀티미디어 시스템에서의 수신 장치는; 송수신기; 및 상기 송수신기에 연결된 제어기를 포함한다. 상기 제어기는 액션이 발생할 것임을 나타내는 어플리케이션으로의 통지를 포함하는 이벤트와 관련된 이벤트 정보를 수신하도록 구성되고, 상기 이벤트 정보가 DASH(dynamic adaptive streaming over hypertext transfer protocol)-기반 서비스들에 대한 제1 이벤트를 나타내는 경우, 상기 이벤트 정보는 MPD(media presentation description)에 포함되는 제1 이벤트 정보 박스 내에서 수신되고, 상기 이벤트 정보가 MMT(moving picture experts group media transport)-기반 서비스들에 대한 제2 이벤트를 나타내는 경우, 상기 이벤트 정보는 MMT 페이로드 내의 MPU(media processing unit)에 포함되는 제2 이벤트 정보 박스 내에서 수신되고, 그리고 상기 이벤트 정보가 상기 MMT-기반 서비스들에 대한 상기 제2 이벤트를 나타내는 경우, 상기 이벤트 정보는 상기 이벤트에 대한 값(value), 상기 이벤트의 식별자(ID), 상기 이벤트의 시작 시간, 상기 이벤트의 지속 시간, 및 상기 이벤트의 이벤트 데이터를 포함한다.A receiving device in a multimedia system according to an embodiment of the present invention; transceiver; and a controller coupled to the transceiver. The controller is configured to receive event information related to an event including a notification to an application indicating that an action is to occur, the event information indicating a first event for dynamic adaptive streaming over hypertext transfer protocol (DASH)-based services. When indicated, the event information is received within a first event information box included in a media presentation description (MPD), wherein the event information indicates a second event for moving picture experts group media transport (MMT)-based services. case, the event information is received in a second event information box included in a media processing unit (MPU) in the MMT payload, and the event information indicates the second event for the MMT-based services, The event information includes a value of the event, an identifier (ID) of the event, a start time of the event, a duration of the event, and event data of the event.

본 발명의 특정한 바람직한 실시예들의 상기에서 설명한 바와 같은 또한 다른 측면들과, 특징들 및 이득들은 첨부 도면들과 함께 처리되는 하기의 설명으로부터 보다 명백하게 될 것이다.
도 1은 본 발명의 일 실시예에 따른 MMT 시스템의 계층 구조를 도시한 도면이다.
도 2는 본 발명의 일 실시예에 따른 MMT 페이로드의 구성을 도식화한 것이다.
도 3은 본 발명의 일 실시예에 따른 MMT 패키지의 논리적 구조를 나타낸 것이다.
도 4는 본 발명의 일 실시예에 따라 애플리케이션 프로그램 서비스를 실행하기 위한 단말의 개략적인 동작 과정을 나타낸 것이다.
도 5는 본 발명의 일 실시예에 따라 애플리케이션 프로그램 서비스에 관련된 정보를 수신하는 장치를 도식화한 것이다.
도 6은 본 발명의 일 실시예에 따라 MMT 시그널링 메시지를 이용한 이벤트 정보의 처리 절차를 나타낸 흐름도이다.
도 7은 본 발명의 일 실시예에 따라 MPU를 이용한 이벤트 정보의 처리 절차를 나타낸 흐름도이다.
상기 도면들을 통해, 유사 참조 번호들은 동일한 혹은 유사한 엘리먼트들과, 특징들 및 구조들을 도시하기 위해 사용된다는 것에 유의해야만 한다.
Also other aspects as described above, features and benefits of certain preferred embodiments of the present invention will become more apparent from the following description taken in conjunction with the accompanying drawings.
1 is a diagram showing a hierarchical structure of an MMT system according to an embodiment of the present invention.
2 is a schematic diagram of the configuration of an MMT payload according to an embodiment of the present invention.
3 shows a logical structure of an MMT package according to an embodiment of the present invention.
4 illustrates a schematic operation process of a terminal for executing an application program service according to an embodiment of the present invention.
5 is a schematic diagram of a device for receiving information related to an application program service according to an embodiment of the present invention.
6 is a flowchart illustrating a process of processing event information using an MMT signaling message according to an embodiment of the present invention.
7 is a flowchart illustrating a process of processing event information using an MPU according to an embodiment of the present invention.
It should be noted that throughout the drawings, like reference numbers are used to show the same or similar elements, features and structures.

이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

실시예를 설명함에 있어서 본 발명이 속하는 기술 분야에 익히 알려져 있고 본 발명과 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 발명의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.In describing the embodiments, descriptions of technical contents that are well known in the technical field to which the present invention pertains and are not directly related to the present invention will be omitted. This is to more clearly convey the gist of the present invention without obscuring it by omitting unnecessary description.

마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.For the same reason, in the accompanying drawings, some components are exaggerated, omitted, or schematically illustrated. Also, the size of each component does not entirely reflect the actual size. In each figure, the same reference number is assigned to the same or corresponding component.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.Advantages and features of the present invention, and methods for achieving them, will become clear with reference to the embodiments described below in detail in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various different forms, and only the present embodiments make the disclosure of the present invention complete, and common knowledge in the art to which the present invention belongs It is provided to fully inform the holder of the scope of the invention, and the present invention is only defined by the scope of the claims. Like reference numbers designate like elements throughout the specification.

이때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.At this time, it will be understood that each block of the process flow chart diagrams and combinations of the flow chart diagrams can be performed by computer program instructions. These computer program instructions may be embodied in a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment, so that the instructions executed by the processor of the computer or other programmable data processing equipment are described in the flowchart block(s). It creates means to perform functions. These computer program instructions may also be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular way, such that the computer usable or computer readable memory The instructions stored in are also capable of producing an article of manufacture containing instruction means that perform the functions described in the flowchart block(s). The computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operational steps are performed on the computer or other programmable data processing equipment to create a computer-executed process to generate computer or other programmable data processing equipment. Instructions for performing processing equipment may also provide steps for performing the functions described in the flowchart block(s).

또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.Additionally, each block may represent a module, segment, or portion of code that includes one or more executable instructions for executing specified logical function(s). It should also be noted that in some alternative implementations it is possible for the functions mentioned in the blocks to occur out of order. For example, two blocks shown in succession may in fact be executed substantially concurrently, or the blocks may sometimes be executed in reverse order depending on their function.

이 때, 본 실시 예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field-Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit)과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.At this time, the term '~unit' used in this embodiment means software or a hardware component such as a field-programmable gate array (FPGA) or application specific integrated circuit (ASIC), and what role does '~unit' have? perform them However, '~ part' is not limited to software or hardware. '~bu' may be configured to be in an addressable storage medium and may be configured to reproduce one or more processors. Therefore, as an example, '~unit' refers to components such as software components, object-oriented software components, class components, and task components, processes, functions, properties, and procedures. , subroutines, segments of program code, drivers, firmware, microcode, circuitry, data, databases, data structures, tables, arrays, and variables. Functions provided within components and '~units' may be combined into smaller numbers of components and '~units' or further separated into additional components and '~units'. In addition, components and '~units' may be implemented to play one or more CPUs in a device or a secure multimedia card.

본 개시의 실시예들을 구체적으로 설명함에 있어서, OFDM 기반의 무선통신 시스템을 주된 대상으로 할 것이지만, 본 명세서에서 청구하고자 하는 주요한 요지는 유사한 기술적 배경을 가지는 여타의 통신 시스템 및 서비스에도 본 명세서에 개시된 범위를 크게 벗어나지 아니하는 범위에서 적용 가능하며, 이는 당해 기술분야에서 숙련된 기술적 지식을 가진 자의 판단으로 가능할 것이다. In the detailed description of the embodiments of the present disclosure, the OFDM-based wireless communication system will be the main target, but the main subject matter to be claimed in this specification is disclosed in this specification to other communication systems and services having a similar technical background. It can be applied within a range that does not greatly deviate from the scope, and this will be possible with the judgment of a person skilled in the art.

MMT 프로토콜(MMT Protocol: MMTP)은 IP(Internet Protocol) 네트워크를 통해 MMT 페이로드 포맷(Payload Format: PF)로 구성된 전달 프레임을 전달하기 위한 애플리케이션 계층 프로토콜을 정의한다. MMT 페이로드는 MMT 페이로드 포맷으로 구성되어 효율적으로 전달할 수 있도록 디자인된다. 이종(heterogeneous) IP 네트워크들을 통해 MPEG 미디어 데이터를 효율적으로 전달하기 위해서, MMT는 캡슐화 포맷들(Encapsulation Formats)과, 전달 프로토콜들(Delivery Protocols)과, 시그널링 메시지 포맷(signaling message format)들을 정의한다. The MMT Protocol (MMTP) defines an application layer protocol for transporting transport frames composed of an MMT Payload Format (PF) over an Internet Protocol (IP) network. The MMT payload is designed to be efficiently delivered in an MMT payload format. In order to efficiently deliver MPEG media data over heterogeneous IP networks, MMT defines encapsulation formats, delivery protocols, and signaling message formats.

MMT 기술에서는 패키지(Package)와 애셋(Asset) 등의 데이터 모델을 정의하고 있다. 패키지는 영화 한편과 같은 하나의 독립적 콘텐츠를 의미하며, 애셋은 콘텐츠를 구성하는 영상, 음성 또는 데이터 등과 같은 요소를 구분하는 논리적 개체로서 하나의 패키지는 복수의 애셋으로 구성될 수 있다.MMT technology defines data models such as packages and assets. A package means one independent piece of content, such as a movie, and an asset is a logical entity that classifies elements such as video, audio, or data constituting the content, and one package may consist of a plurality of assets.

도 1은 본 발명의 일 실시예에 따른 MMT 시스템의 계층 구조를 도시한 도면이다.1 is a diagram showing a hierarchical structure of an MMT system according to an embodiment of the present invention.

도 1을 참조하면, 멀티미디어 데이터 패킷을 구성하고 이를 전송하기 위한 미디어 부호화 계층(Media Coding Layer)(110)과 캡슐화 기능 계층(Encapsulation Function Layer: Layer E)(120)과 전달 기능 계층(Delivery Function Layer: Layer D)(130)과 전송 프로토콜 계층(transport Protocol Layer)(140)과 인터넷 프로토콜(IP) 계층(150) 및 제어 기능 계층(Control Function Layer: Layer C)(100)이 도시되었다. Referring to FIG. 1, a media coding layer 110, an encapsulation function layer (Layer E) 120, and a delivery function layer for constructing and transmitting a multimedia data packet : Layer D) 130, transport protocol layer 140, Internet Protocol (IP) layer 150, and Control Function Layer (Layer C) 100 are shown.

일 실시예에 따르면, 미디어 부호화 계층(110)과 캡슐화 기능 계층(120)은 멀티미디어 컨텐츠 및/또는 멀티미디어 서비스에 따른 멀티미디어 데이터를 생성하는 멀티미디어 데이터 생성부로서 동작한다. 또한 전달 기능 계층(130)는 데이터 생성부로부터 입력된 멀티미디어 데이터를 기반으로 멀티미디어 데이터 패킷을 구성하는 멀티미디어 데이터 구성부로서 동작한다. 멀티미디어 데이터 구성부에 해당하는 전달 기능 계층(130)은 멀티미디어 데이터 생성부로부터 제공된 적어도 하나의 멀티미디어 데이터를 식별하여 헤더 정보를 구성하고, 헤더 정보와 적어도 하나의 멀티미디어 데이터를 결합하여 멀티미디어 데이터 패킷을 구성한다.According to an embodiment, the media encoding layer 110 and the encapsulation function layer 120 operate as a multimedia data generation unit that generates multimedia data according to multimedia contents and/or multimedia services. In addition, the delivery function layer 130 operates as a multimedia data configuration unit that configures multimedia data packets based on the multimedia data input from the data generation unit. The delivery function layer 130 corresponding to the multimedia data constructing unit identifies at least one piece of multimedia data provided from the multimedia data generating unit to construct header information, and configures a multimedia data packet by combining the header information and at least one multimedia data. do.

미디어 부호화 계층(110)에서 압축된 멀티미디어 데이터는 캡슐화(Encapsulation) 기능 계층(120)를 거쳐 파일 포맷과 유사한 형태로 패키지화되어 출력된다. 캡슐화 기능 계층(120)은 미디어 부호화 계층(110)으로부터 제공되는 코딩된 미디어 데이터 혹은 저장된 미디어 데이터를 입력으로 하여 MMT 서비스를 위한 작은 단위인 데이터 조각(segment)를 생성하며, 상기 데이터 조각을 사용하여 MMT 서비스를 위한 액세스 유닛(Access Unit)들을 생성한다. 또한 캡슐화 기능 계층(120)은 상기 액세스 유닛들을 결합 및/또는 분할함으로써 복합 컨텐츠의 생성 및 저장과 전송을 위한 패킷 포맷을 생성한다.The multimedia data compressed in the media encoding layer 110 is packaged in a form similar to a file format through an encapsulation function layer 120 and output. The encapsulation function layer 120 takes the coded media data or stored media data provided from the media encoding layer 110 as an input and generates a data segment, which is a small unit for the MMT service, and uses the data segment to Create access units for MMT service. Also, the encapsulation function layer 120 creates a packet format for generating, storing, and transmitting complex content by combining and/or dividing the access units.

전달 기능 계층(130)은 캡슐화 기능 계층(120)에서 출력되는 데이터 유닛(들)을 MMT 페이로드 포맷으로 변환화한 후 MMT 전송 패킷 헤더(MMT Transport Packet Header)를 부가하여 MMT 전송 패킷으로 구성하거나 또는 기존 전송 프로토콜인 RTP(Real-time Protocol)를 사용하여 RTP 패킷으로 구성한다. The delivery function layer 130 converts the data unit(s) output from the encapsulation function layer 120 into an MMT payload format, and then adds an MMT transport packet header to form an MMT transport packet, or Alternatively, it is composed of RTP packets using RTP (Real-time Protocol), an existing transmission protocol.

전달 기능 계층(130)에서 구성된 패킷들은 UDP(User Datagram Protocol) 혹은 TCP(Transport Control Protocol)와 같은 전송 프로토콜 계층(140)을 거쳐 최종적으로 인터넷 프로토콜(IP) 계층(150)에서 IP 패킷화되어 전송된다. 전송 프로토콜 계층(140) 및 IP 계층(150)은 데이터 전송부로서 동작할 수 있다. 선택적으로 존재할 수 있는 제어 기능부(100)는 데이터의 전송에 필요한 제어 정보 혹은 시그널링 정보를 생성하여 데이터에 부가하여 전송하거나, 혹은 별도의 시그널링 수단을 통해 전송한다.Packets constructed in the delivery function layer 130 pass through a transport protocol layer 140 such as User Datagram Protocol (UDP) or Transport Control Protocol (TCP), and finally are IP packetized in the Internet Protocol (IP) layer 150 and transmitted. do. The transport protocol layer 140 and the IP layer 150 may operate as a data transmission unit. The control function unit 100, which may be selectively present, generates control information or signaling information required for data transmission and transmits it in addition to data or transmits it through a separate signaling means.

전달 기능 계층(130)에서 생성되는 MMT 페이로드 포맷은 MMT 프로토콜 혹은 RTP에 의해 전달될 미디어 유닛(들)의 논리 구조를 정의한다. MMT 페이로드는 캡슐화된 데이터 유닛 및 MMT 계층 프로토콜들 혹은 다른 기존 애플리케이션 전송 프로토콜들(Application Transport Protocols)에 의한 다른 정보를 전달하기 위한 페이로드 포맷에 의해 특정(specify)된다. MMT 페이로드는 스트리밍(streaming)에 대한 정보 및 파일 전달(file transfer)에 대한 정보를 제공한다. 스트리밍에서, 데이터 유닛은 MMT 미디어 프래그먼트 유닛(Media Fragment Unit: MFU) 혹은 MMT 프로세싱 유닛(MMT Processing Unit: MPU)이 될 수 있다. 파일 전달을 위한 경우, 데이터 유닛은 MMT 애셋(Asset) 및 MMT 패키지(Package)가 될 수 있다.The MMT payload format generated by the delivery function layer 130 defines the logical structure of media unit(s) to be delivered by the MMT protocol or RTP. The MMT payload is specified by a payload format for conveying an encapsulated data unit and other information by MMT layer protocols or other existing Application Transport Protocols. The MMT payload provides information on streaming and information on file transfer. In streaming, the data unit may be an MMT Media Fragment Unit (MFU) or an MMT Processing Unit (MPU). In the case of file delivery, data units may be MMT assets and MMT packages.

도 2는 본 발명의 일 실시예에 따른 MMT 페이로드의 구성을 도식화한 것이다. 2 is a schematic diagram of the configuration of an MMT payload according to an embodiment of the present invention.

도 2를 참조하면, MMT 페이로드(200)는 적어도 하나의 MMT MFU(210), 적어도 하나의 MPU(230), 적어도 하나의 MMT 애셋(230) 및 MMT 패키지 중 적어도 하나를 포함하여 구성될 수 있다.Referring to FIG. 2, the MMT payload 200 may include at least one of at least one MMT MFU 210, at least one MPU 230, at least one MMT asset 230, and an MMT package. there is.

MFU(210)은 어떤 특정 미디어 코덱(Media Codec)에도 독립적인, 미디어 디코더에 의해 독립적으로 처리 가능한 코딩된 미디어 데이터를 포함하는 일반적인 컨테이너 포맷을 의미한다. MFU(210)는 MPU(220)의 조각난 데이터의 일부분을 나타내는 것으로, 독자적으로 디코딩이 가능한 최소 단위가 된다. 일 예로서 하나의 프레임을 액세스 유닛으로 사용하여 부호화가 수행되는 경우 MFU(210)는 하나의 비디오 프레임이 될 수 있으며, 다른 경우 하나의 프레임 안에 포함된 하나의 슬라이스가 될 수 있다.The MFU 210 refers to a general container format including coded media data that can be independently processed by a media decoder independent of any specific media codec. MFU (210) is to represent a portion of the fragmented data of the MPU (220), and becomes the smallest unit that can be independently decoded. As an example, when encoding is performed using one frame as an access unit, the MFU 210 may be one video frame, and in other cases, one slice included in one frame.

MPU(220)는 하나 혹은 그 이상의 MFU들과 추가적인 전달 및 처리 관련 정보를 포함하는 컨테이너 포맷으로서, 복수의 서로 다른 액세스 유닛들로부터 생성된 다양한 개수의 MFU들을 포함할 수 있다. MPU(220)는 MMT 구현 개체(MMT compliant entity)에 의해서 완전하고 독립적으로 처리될 수 있는 부호화된 미디어 데이터 유닛을 의미하는 것으로서, 애플리케이션 환경에 따른 특정한 크기, 일 예로서 비디오의 경우 1 GOP(Group of Picture)의 크기를 가질 수 있다. 일 예로서 MPU(220)는 1 GOP(일 예로서 1초의 비디오)를 구성하는 복수의 픽쳐 프레임들로 구성될 수 있으며, MFU(220)는 각 픽쳐 프레임을 포함할 수 있다.The MPU 220 is a container format including one or more MFUs and additional delivery and processing related information, and may include various numbers of MFUs generated from a plurality of different access units. The MPU 220 means a coded media data unit that can be completely and independently processed by an MMT compliant entity, and has a specific size according to the application environment. For example, in the case of video, 1 GOP (Group of Picture). As an example, the MPU 220 may include a plurality of picture frames constituting 1 GOP (eg, 1 second video), and the MFU 220 may include each picture frame.

MMT 애셋(230)은 하나 혹은 그 이상의 MPU들로 구성되는 데이터 엔터티(data entity)로서, 동일한 합성 정보(Composition Information: CI) 및 트랜스포트(transport) 특성이 적용되는 가장 큰 데이터 유닛(data unit)이다. MMT 애셋(230)은 패키지된 혹은 다중화된 데이터를 포함하는 오직 한 가지 타입의 데이터만을 포함한다. 일 예로 오디오(audio)의 엘리멘터리 스트림(Elementary Stream: ES)의 적어도 일부와, 비디오(video)의 ES의 적어도 일부와, MPEG-U(User Interface) 위젯(Widget) 패키지와, MPEG-2 전송 스트림(Transport Stream: TS)의 적어도 일부와, MP4(MPEG-4) 파일의 적어도 일부와, MMT 패키지의 전체 혹은 적어도 일부가 각 MMT 애셋(230)이 될 수 있다.The MMT asset 230 is a data entity composed of one or more MPUs, and is the largest data unit to which the same Composition Information (CI) and transport characteristics are applied. to be. The MMT asset 230 includes only one type of data including packaged or multiplexed data. For example, at least a portion of an elementary stream (ES) of audio, at least a portion of an ES of video, an MPEG-U (User Interface) widget package, and an MPEG-2 At least a portion of a Transport Stream (TS), at least a portion of an MP4 (MPEG-4) file, and all or at least a portion of an MMT package may be each MMT asset 230 .

여기서 엘리멘터리 스트림(ES)은 특정 미디어 코덱에 의해 정의되는 것으로서, 논리적으로 하나 혹은 그 이상의 MMT 애셋들이 될 수 있다. 계층화 코덱 및 다시점 코덱을 지원하는 MMT 애셋(230)은 다른 MMT 애셋들과 오버랩(overlap)될 수 있다. Here, the elementary stream (ES) is defined by a specific media codec, and may logically be one or more MMT assets. The MMT asset 230 supporting the layered codec and the multi-view codec may overlap with other MMT assets.

MMT 합성 정보(MMT Composition Information: MMT-CI)는 MMT 애셋들의 공간 및 시간 관계(spatial and temporal relationship)을 정의하는 정보를 의미하며, MMT 트랜스포트 특성(MMT Transport Characteristics: MMT-TC)은 MMT 애셋들의 전달을 위해 요구되는 서비스 품질(Quality of Service: QoS)을 정의한다. MMT-TC는 특정 전달 환경에 대해 애셋 전달 특성들(Asset Delivery Characteristics: ADC)로 표현될 수 있다.MMT Composition Information (MMT-CI) refers to information defining the spatial and temporal relationship of MMT assets, and MMT Transport Characteristics (MMT-TC) refers to MMT assets Defines the Quality of Service (QoS) required for the delivery of MMT-TC may be expressed as Asset Delivery Characteristics (ADC) for a specific delivery environment.

MMT 패키지(240)는 MMT 구현 개체(MMT compliant entity)에 의해 처리되는, 부호화된 미디어 데이터와 관련 정보의 집합체(collection)로 정의된다.The MMT package 240 is defined as a collection of encoded media data and related information processed by an MMT compliant entity.

도 3은 본 발명의 일 실시예에 따른 MMT 패키지의 논리적 구조를 나타낸 것으로서, 도시한 바와 같이 MMT 패키지(300)는 하나 혹은 그 이상의 MMT 애셋들(320)과 MMT 합성 정보(310) 및 MMT 트랜스포트 특성을 나타내는 하나 혹은 그 이상의 ADC들(330)로 구성된다. MMT 패키지(240)는 식별자와 같은 설명 정보 및 MMT 애셋들(320)의 위치를 포함하며, MMT 패키지(240) 내의 MMT 애셋들(320)은 다중화되거나 혹은 연접될 수 있다. 3 shows the logical structure of an MMT package according to an embodiment of the present invention. As shown, the MMT package 300 includes one or more MMT assets 320, MMT synthesis information 310, and MMT trans. It consists of one or more ADCs 330 representing port characteristics. The MMT package 240 includes descriptive information such as an identifier and locations of the MMT assets 320, and the MMT assets 320 in the MMT package 240 may be multiplexed or concatenated.

MMT 패키지(240)의 처리는 MPU의 단위로 적용되며, MMT 애셋(320)은 동일한 MMT 애셋 ID를 가지는 하나 혹은 그 이상의 MPU들의 집합체로서, 각 MMT 애셋(320)에 관련된 트랜스포트 특성은 ADC(330)에 의해 표현된다. ADC(330)는 MMT 패키지를 패킷화하는 개체에 의해, MMT 페이로드의 파라미터들과 MMT 패킷의 헤더 정보를 구성하는데 사용될 수 있다. The processing of the MMT package 240 is applied in units of MPUs, and the MMT asset 320 is an aggregate of one or more MPUs having the same MMT asset ID, and the transport characteristics related to each MMT asset 320 are ADC ( 330). The ADC 330 may be used by an entity that packetizes the MMT package to configure parameters of the MMT payload and header information of the MMT packet.

상기와 같은 패키지의 구성 정보 및 이를 사용자 단말에서 수신하고 소비하기 위해 필요한 정보는 MMT 시그널링 메시지를 통해 전송된다. MMT 시그널링 기능 영역은 미디어 소비와 미디어 전달과 관련된 메시지 포맷을 정의하고 있다. 미디어 소비와 관련된 메시지들은 전송되는 미디어 데이터를 소비하기 위해 필요한 정보를 제공하며, 다음과 같이 정의되어 있다. Configuration information of the above package and information necessary for receiving and consuming it in a user terminal are transmitted through an MMT signaling message. The MMT signaling functional area defines message formats related to media consumption and media delivery. Messages related to media consumption provide information necessary for consuming transmitted media data, and are defined as follows.

MPEG-2 TS의 PMT(Program Map Table)와 유사한 역할을 하는 PA (Package Access) 메시지는 전송되는 패키지의 재생을 위해 필요한 모든 정보를 포함한다. PA 메시지는 패키지를 수신 및 소비하기 위해 가장 먼저 전송되어야 하는 메시지이며, 이후에 별도의 메시지로 개별 정보가 갱신될 수 있다. 표현 정보를 제공하는 MPI (Media Presentation Information) 메시지는 ISO/IEC 23008-11에서 정의하는 합성 정보(CI)나 ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) 23009-1에서 정의하는 미디어 프리젠테이션 설명(Media Presentation Description: MPD)와 같은 다양한 표현 정보를 전송하기 위해서 사용된다. MPT (MMT Package Table) 메시지는 전송되는 패키지에 대한 정보를 제공하는 메시지로서, 패키지의 ID와 패키지를 구성하는 애셋 정보 등을 제공한다. 그 외에도 애셋과 MPEG-2 ES 간의 동기화를 위해 NTP(Network Time Protocol) 타임스탬프와 MPEG-2의 STC(System Timing Clock) 간의 매핑 정보를 제공하기 위한 CRI (Clock Relation Information) 메시지, 미디어 소비를 위해 필요한 단말 성능 정보를 제공하는 DCI (Device Capability Information) 메시지가 정의되어 있다.A PA (Package Access) message similar to the PMT (Program Map Table) of MPEG-2 TS includes all information necessary for reproducing a transmitted package. The PA message is a message that must be transmitted first in order to receive and consume a package, and individual information can be updated as a separate message afterwards. The MPI (Media Presentation Information) message, which provides presentation information, is a composite information (CI) defined by ISO/IEC 23008-11 or a media presentation defined by ISO/IEC (International Organization for Standardization/International Electrotechnical Commission) 23009-1. It is used to transmit various presentation information such as Media Presentation Description (MPD). An MMT Package Table (MPT) message is a message that provides information about a package to be transmitted, and provides an ID of the package and asset information constituting the package. In addition, CRI (Clock Relation Information) messages to provide mapping information between Network Time Protocol (NTP) timestamps and MPEG-2's System Timing Clock (STC) for synchronization between assets and MPEG-2 ES, and for media consumption. A DCI (Device Capability Information) message providing necessary device capability information is defined.

방송통신 융합 및 전송 네트워크의 고도화와 더불어 UHDTV (Ultra High-Definition Television), 3DTV(3-Dimenstion TV), 다시점 TV (Multi-view TV) 등의 고화질 실감형 방송 서비스 기술, 다양한 유형의 고정형 및 휴대용 멀티미디어 기기를 유기적으로 활용하기 위한 N-스크린 서비스 기술 등 차세대 방송 및 멀티미디어 서비스를 가능하게 하는 혁신적인 기술이 지속적으로 시장에 선보이고 있다. 특히 방송 네트워크와 통신 네트워크를 유기적으로 연동하여 융합형 멀티미디어 서비스를 가능하도록 하는 하이브리드 전송 기술을 바탕으로 다양한 부가 정보를 방송 프로그램과 연동하거나 또는 독립적으로 제공하는 애플리케이션 프로그램 서비스는, 사실감과 현장감이 극대화된 영상 콘텐츠 제공과 더불어 차세대 방송 서비스의 핵심 성공 요소로 간주된다. 대표적인 애플리케이션 프로그램 서비스 모델로는 시청자 참여형 서비스 (단순문자메시지, 퀴즈, 투표(Poll), 설문조사, 인기투표), TV 전자상거래 (티켓예매, 경매, 전자쿠폰, 모바일 다운로드), 날씨, 스포츠, 게임과 같이 방송 프로그램과 독립적으로 제공될 수 있는 애플리케이션 프로그램 서비스 및 포털 서비스, 맞춤형 광고 등이 포함된다. In addition to the convergence of broadcasting and communications and the advancement of transmission networks, high-definition realistic broadcasting service technologies such as UHDTV (Ultra High-Definition Television), 3DTV (3-Dimension TV), and multi-view TV (Multi-view TV), various types of fixed and Innovative technologies that enable next-generation broadcasting and multimedia services, such as N-screen service technology to organically utilize portable multimedia devices, are continuously being introduced to the market. In particular, the application program service that provides various additional information in conjunction with broadcast programs or independently based on hybrid transmission technology that enables convergence multimedia services by organically linking broadcasting networks and communication networks, maximizes realism and realism. Along with the provision of video content, it is considered a key success factor for next-generation broadcasting services. Representative application program service models include viewer participation-type services (simple text messages, quizzes, polls, surveys, popularity votes), TV e-commerce (ticket reservations, auctions, electronic coupons, mobile downloads), weather, sports, and games. It includes application program services, portal services, and customized advertisements that can be provided independently of broadcasting programs, such as .

애플리케이션 프로그램 서비스를 지원하기 위해서는 방송 네트워크 또는 통신 네트워크를 이용하여 애플리케이션 프로그램 서비스를 실행하는데 필요한 데이터 또는 파일 수신과 더불어 단말에서 애플리케이션 프로그램 서비스 및 관련 데이터에 대한 인식과 선택을 위한 시그널링 정보가 필요하다. 애플리케이션 프로그램 서비스 관련 시그널링 정보에는 두 가지 유형이 존재한다. 즉 상기 시그널링 정보는, 이용 가능한 애플리케이션 프로그램 서비스 리스트, 애플리케이션 프로그램 서비스 이름 및 전송 정보 등 개별 서비스에 대한 전반적인 속성을 제공하는 시그널링 정보와, 애플리케이션 프로그램 서비스의 동작을 제어하는 이벤트 정보로 세분화될 수 있다. 특히 방송 프로그램에 연동되는 애플리케이션 프로그램 서비스의 경우 이벤트 정보를 함께 전송함으로써 좀 더 다양하고 풍부한 방송 서비스 제공이 가능해진다. In order to support an application program service, signaling information for recognizing and selecting an application program service and related data in a terminal is required along with reception of data or files necessary to execute an application program service using a broadcast network or a communication network. There are two types of signaling information related to application program services. That is, the signaling information may be subdivided into signaling information providing overall properties of individual services, such as available application program service lists, application program service names, and transmission information, and event information controlling the operation of application program services. In particular, in the case of an application program service linked to a broadcast program, it is possible to provide more diverse and abundant broadcast services by transmitting event information together.

도 4는 본 발명의 일 실시예에 따라 애플리케이션 프로그램 서비스를 실행하기 위한 단말의 개략적인 동작 과정을 나타낸 것이다. 여기에서는 방송 프로그램과 연동하여 특정 시간에 맞춤형 광고를 위한 애플리케이션 프로그램 서비스의 예를 도시하였다.4 illustrates a schematic operation process of a terminal for executing an application program service according to an embodiment of the present invention. Here, an example of an application program service for a customized advertisement at a specific time in conjunction with a broadcasting program is illustrated.

도 4를 참조하면, 과정 405에서 단말은 사용자가 요청한 방송 프로그램(도시된 예에서 Show X)의 오디오 및 비디오 스트림들을 서비스 공급자(Service Provider)로부터 수신하여 재생하며, 더불어 과정 410에서 애플리케이션 프로그램 서비스에 관련된 시그널링을 제공하는 채널인 애플리케이션 정보 스트림(Application Information Stream)을 통해 상기 방송 프로그램과 연계된 애플리케이션 프로그램 서비스에 대한 시그널링 정보를 획득하고, 필요 시 방송 네트워크 또는 통신 네트워크를 이용하여 상기 애플리케이션 프로그램 서비스의 실행에 필요한 데이터를 수신한다. 상기 시그널링 정보 및 데이터는 애플리케이션 정보라 통칭할 수 있다.Referring to FIG. 4, in step 405, the terminal receives and plays audio and video streams of a broadcast program (Show X in the illustrated example) requested by the user from a service provider, and in step 410, the terminal transmits the audio and video streams to the application program service. Signaling information about an application program service associated with the broadcast program is acquired through an application information stream, which is a channel that provides related signaling, and, if necessary, the application program service is executed using a broadcast network or a communication network. receive the necessary data. The signaling information and data may be collectively referred to as application information.

과정 415에서 단말은 상기 방송 프로그램을 재생하는 도중, 이벤트를 제공하는 채널인 이벤트 스트림(Event Stream)으로 전송되는 이벤트 정보를 수신하고, 이에 따른 동작을 수행한다. 도시된 예에서 단말은 Show X의 중간 부분, 즉 광고 시간이 시작되는 시점에서 광고 중인 제품의 추가적인 정보를 제공하는 애플리케이션 프로그램 서비스 Y의 실행에 관한 이벤트 정보를 수신한다. 과정 420에서 단말은 상기 이벤트 정보를 기반으로 상기 애플리케이션 프로그램 서비스 Y(즉 광고 서비스)를 실행한다. 일정 시간 후 과정 425에서 상기 애플리케이션 프로그램 서비스 Y의 종료 이벤트가 수신되면 단말은 상기 서비스 Y를 종료한다. In step 415, while playing the broadcast program, the terminal receives event information transmitted through an event stream, which is a channel providing events, and performs an operation accordingly. In the illustrated example, the terminal receives event information about the execution of an application program service Y that provides additional information on a product being advertised at the middle of Show X, that is, at the start of an advertisement time. In step 420, the terminal executes the application program service Y (ie, advertisement service) based on the event information. When an end event of the application program service Y is received in step 425 after a certain period of time, the terminal terminates the service Y.

MMT 기술은 미디어 소비와 미디어 전달과 관련된 다양한 시그널링 메시지를 정의하고 있으나, 이들 시그널링 메시지의 주요 역할은 패키지의 구성 정보 및 패키지를 구성하는 개별 애셋을 수신하기 위해 필요한 정보를 제공하는데 있다. 특히 MPT 메시지에서 사용되는 MP (MMT Package) 테이블은 패키지를 구성하는 애셋별 구성 정보 및 각 애셋을 수신하기 위해 필요한 위치 정보를 정의하고 있다. 이러한 기본 정보 외의 부가 정보는 디스크립터를 사용하여 제공하는 방식을 사용하고 있으며, MPT 메시지는 다양한 디스크립터를 저장할 수 있는 컨테이너 포맷을 정의한다.MMT technology defines various signaling messages related to media consumption and media delivery, but the main role of these signaling messages is to provide package configuration information and information necessary for receiving individual assets constituting the package. In particular, the MP (MMT Package) table used in the MPT message defines configuration information for each asset constituting the package and location information required to receive each asset. Additional information other than this basic information is provided using a descriptor, and the MPT message defines a container format capable of storing various descriptors.

MPI 테이블에서 사용될 수 있는 MPEG CI 정보는 패키지를 구성하는 개별 애셋의 단말의 논리적 화면에서의 위치 정보와 함께 해당 애셋의 재생과 관련된 시간 정보를 포함할 수 있다. 그러나 MPEG CI는 MMT로 전송되는 애셋에 대한 제어 정보를 제공하는데 주요 목적을 두고 있으며, 따라서 MMT가 아닌 전송 프로토콜로 전송되는 애플리케이션 프로그램 서비스에 적용하기에는 한계가 존재한다.MPEG CI information that can be used in the MPI table may include time information related to reproduction of the corresponding asset together with location information of an individual asset constituting a package on a logical screen of a terminal. However, the main purpose of MPEG CI is to provide control information for assets transmitted through MMT, and therefore, there are limitations in applying to application program services transmitted through a transport protocol other than MMT.

하기에서는 MMT 전송 기술을 이용하여 애플리케이션 프로그램 서비스의 관련 정보 및 애플리케이션 프로그램 서비스의 동작을 제어하기 위한 이벤트 정보를 전송하는 기술을 설명한다.Hereinafter, a technique for transmitting event information for controlling the operation of the application program service and the related information of the application program service using the MMT transmission technology will be described.

도 5는 본 발명의 일 실시예에 따라 애플리케이션 프로그램 서비스에 관련된 정보를 수신하는 장치를 도식화한 것이다. 5 is a schematic diagram of a device for receiving information related to an application program service according to an embodiment of the present invention.

도 5를 참조하면, 데이터 수신기(data receiver)(505)는 MMT, ROUTE, HTTP(Hyper Text Transfer Protocol)와 같은 전송 프로토콜들 중 적어도 하나를 사용하여 통신 네트워크 또는 방송 네트워크로 전송되는 패킷을 수신하기 위해 MMT 데이터 수신기(510), ROUTE 데이터 수신기(515), HTTP 데이터 수신기(520) 및 다른 데이터 수신기(525) 중 적어도 하나를 포함할 수 있으며, 상기 수신된 패킷을 그 종류에 따라 제어부(500) 내의 파일 데이터 수신기(530), 미디어 데이터 수신기(540), 또는 시그널링 데이터 수신기(550)로 전달한다. Referring to FIG. 5, a data receiver 505 receives a packet transmitted through a communication network or a broadcast network using at least one of transport protocols such as MMT, ROUTE, and HTTP (Hyper Text Transfer Protocol). It may include at least one of MMT data receiver 510, ROUTE data receiver 515, HTTP data receiver 520, and other data receiver 525, and the control unit 500 transmits the received packet according to its type. It is delivered to the file data receiver 530, the media data receiver 540, or the signaling data receiver 550 in

파일 데이터 수신기(530)는 데이터 수신기(505)로부터 전달된 패킷을 처리하여 상기 패킷에 포함된 데이터를 파일 처리기(535)로 전달한다. 일 예로 파일 데이터 수신기(530)는 MMT에서 정의된 GFD(Generic File Delivery) 모드로 전송되는 MMTP (MMT Protocol) 패킷을 수신하여 MMTP 페이로드로 재구성한 뒤 파일 처리기(535)로 전달하거나, ROUTE를 포함한 다양한 파일 전송 프로토콜들 중 하나를 통해 전송되는 패킷을 수신하여 원하는 데이터를 추출한 뒤 파일 처리기(535)로 전달한다. 파일 처리기(535)는 파일 데이터 수신기(530)로부터 전달받은 데이터를 기반으로 개별 파일들을 재구성한다. The file data receiver 530 processes the packet transmitted from the data receiver 505 and transfers the data included in the packet to the file processor 535. For example, the file data receiver 530 receives an MMTP (MMT Protocol) packet transmitted in the GFD (Generic File Delivery) mode defined in MMT, reconstructs it into an MMTP payload, and delivers it to the file handler 535, or ROUTE After receiving a packet transmitted through one of various file transfer protocols including the file transfer protocol, desired data is extracted and transmitted to the file processor 535. The file processor 535 reconstructs individual files based on data received from the file data receiver 530 .

미디어 데이터 수신기(540) 및 미디어 처리기(545)는 미디어 데이터를 처리하는 구성 요소들이다. 일 예로 미디어 데이터가 MMT에서 정의된 MPU(MMT Processing Unit)인 경우, 미디어 처리기(545)는 MMTP의 MPU 모드로 전송되는 미디어 데이터를 처리하는 구성 요소일 수 있다. 이 때 미디어 데이터 수신기(540)는 데이터 수신기(505) 내의 MMT 데이터 수신기(515)로부터 전달받은 MMTP 패킷을 바탕으로 MMTP 페이로드를 재구성하여 MPU를 생성하며, 미디어 처리기(545)는 상기 MPU를 전달받아 서비스 표시기(570)를 통해 재생하는 역할을 수행한다. The media data receiver 540 and the media processor 545 are elements that process media data. For example, when media data is an MMT Processing Unit (MPU) defined in MMT, the media processor 545 may be a component that processes media data transmitted in the MPU mode of MMTP. At this time, the media data receiver 540 reconstructs the MMTP payload based on the MMTP packet received from the MMT data receiver 515 in the data receiver 505 to generate an MPU, and the media processor 545 transmits the MPU It plays a role of receiving and playing through the service indicator 570.

미디어 데이터가 파일을 통해 전송되는 경우, 파일 처리기(535)는 미디어 처리기(545)에 미디어 파일을 전달하고 미디어 처리기(545)는 상기 미디어 파일을 서비스 표시기(570)로 재생하게 된다. 다른 예로 미디어 데이터가 ISO/IEC 23009-1에서 정의된 DASH (Dynamic Adaptive Streaming over HTTP) 형식을 따를 경우에 미디어 처리기(545)는 ROUTE 프로토콜로 전송된 미디어 데이터를 처리하는 구성 요소일 수 있다. 이 때 미디어 처리기(545)는 ROUTE 데이터 수신기(515)로부터 전달받은 ROUTE 패킷을 처리하여 DASH 세그먼트(Segment)를 생성하며, 미디어 처리기(545)는 전달받은 DASH 세그먼트를 서비스 표시기(570)로 재생하는 역할을 수행한다. If the media data is transmitted via a file, the file handler 535 passes the media file to the media processor 545 and the media processor 545 plays the media file to the service indicator 570 . As another example, when media data conforms to the Dynamic Adaptive Streaming over HTTP (DASH) format defined in ISO/IEC 23009-1, the media processor 545 may be a component that processes media data transmitted through the ROUTE protocol. At this time, the media processor 545 processes the ROUTE packet received from the ROUTE data receiver 515 to generate a DASH segment, and the media processor 545 plays the received DASH segment to the service indicator 570. play a role

미디어 데이터 수신기(540)는 MPU나 DASH 세그먼트와 같이 ISOBMFF(ISO Base Media File Format)을 따르는 미디어 파일의 전체를 생성한 이후에 상기 미디어 파일을 미디어 처리기(545)에 전달하거나, 또는 채널전환 시간 감소를 위하여 상기 미디어 파일의 전체가 생성되기 전에 생성된 일부를 미디어 처리기(545)에 전달할 수 있다.The media data receiver 540 generates the entire media file conforming to the ISO Base Media File Format (ISOBMFF), such as MPU or DASH segments, and then transfers the media file to the media processor 545, or reduces channel switching time. For this purpose, a part of the media file generated before the entire media file is generated may be transmitted to the media processor 545.

데이터 수신기(505)로부터 전달받은 패킷이 시그널링 정보를 포함할 경우, 상기 패킷은 시그널링 데이터 수신기(550)로 전달되어 시그널링 정보를 재구성하는데 사용된다. 재구성된 시그널링 정보는 시그널링 처리기(555)에게 전달되며 시그널링 정보의 내용에 따라 추가 동작이 수행된다. 일 예로 시그널링 정보가 MMTP를 통하여 전송될 경우 시그널링 데이터 수신기(550)는 MMT 데이터 수신기(510)로부터 시그널링 정보를 저장한 MMTP 패킷을 수신하여 MMTP 페이로드로 재구성하며, 시그널링 처리기(555)는 상기 MMTP 페이로드 내의 시그널링 정보를 파싱(parsing)하여 필요 정보를 시그널링 정보 DB(DataBase)(560)에 저장한다. 만약 시그널링 정보가 파일에 포함되어 전송될 경우, 시그널링 처리기(555)는 파일 처리기(535)로부터 시그널링 정보를 저장한 파일을 전달받아 상기 시그널링 정보를 파싱하여 필요 정보를 DB(560)에 저장한다. If the packet received from the data receiver 505 includes signaling information, the packet is transferred to the signaling data receiver 550 and used to reconstruct the signaling information. The reconstructed signaling information is delivered to the signaling processor 555, and an additional operation is performed according to the contents of the signaling information. For example, when signaling information is transmitted through MMTP, the signaling data receiver 550 receives an MMTP packet storing signaling information from the MMT data receiver 510 and reconstructs it into an MMTP payload, and the signaling processor 555 receives the MMTP packet Signaling information in the payload is parsed and required information is stored in the signaling information DB (DataBase) 560 . If the signaling information is included in a file and transmitted, the signaling processor 555 receives the file storing the signaling information from the file processor 535, parses the signaling information, and stores necessary information in the DB 560.

시그널링 처리기(555)는 파싱된 시그널링 정보를 바탕으로 다른 구성 요소들과 상호 작용하여 추가적인 동작을 수행한다. 예를 들어, 애플리케이션 프로그램 서비스에 관련된 시그널링 정보가 수신된 경우, 시그널링 처리기(555)는 상기 애플리케이션 프로그램 서비스의 실행에 필요한 데이터를 수신하기 위해 필요한 정보를 파일 데이터 수신기(530)로 전달하여 관련 데이터를 수신하도록 한다. The signaling processor 555 interacts with other components based on the parsed signaling information to perform additional operations. For example, when signaling information related to an application program service is received, the signaling processor 555 transfers information necessary for receiving data necessary for execution of the application program service to the file data receiver 530 to obtain the related data. to receive

애플리케이션 프로그램 서비스의 제어와 관련된 이벤트 정보는 전용 시그널링 채널을 통해 전송되거나 또는 미디어 데이터에 내재되어 전송될 수 있다. 예를 들어 MMT의 경우, 이벤트 정보는 시그널링 메시지를 통해 전송되거나 또는 미디어 데이터를 저장하는 MPU에 내재되어 전송될 수 있다. 이와 유사하게 DASH의 경우 시그널링 정보는 MPD(Media Presentation Description)에 포함되거나 또는 미디어 데이터를 포함하고 있는 DASH 세그먼트에 내재되어 전송될 수 있다. 따라서, 미디어 데이터 수신기(540)는 미디어 데이터 내에 이벤트 관련 정보가 내재된 경우 이를 추출하여 시그널링 처리기(555)로 전달하고 궁극적으로는 애플리케이션 프로그램 관리기(565)로 전달되도록 함으로써, 상기 이벤트 관련 정보가 애플리케이션 프로그램 서비스의 동작을 제어하는데 사용된다. Event information related to control of application program service may be transmitted through a dedicated signaling channel or embedded in media data. For example, in the case of MMT, event information may be transmitted through a signaling message or inherent in an MPU storing media data. Similarly, in the case of DASH, signaling information may be included in a Media Presentation Description (MPD) or embedded in a DASH segment including media data and transmitted. Accordingly, the media data receiver 540 extracts the event-related information when it is embedded in the media data, delivers it to the signaling processor 555, and ultimately transfers it to the application program manager 565, so that the event-related information is transmitted to the application program. Used to control the operation of program services.

애플리케이션 프로그램 관리기(565)는 애플리케이션 프로그램 서비스에 관한 전반적인 정보를 저장 및 관리하며, 개별 애플리케이션 프로그램 서비스의 동작을 관리하고, 서비스 표시기(570)를 통해 각 애플리케이션 프로그램 서비스의 정보를 표시한다. 이를 위해 애플리케이션 프로그램 관리기(565)는 시그널링 처리기(555)와 파일 처리기(535)와 상호 연동하여 애플리케이션 프로그램 서비스의 제공에 필요한 데이터 및 시그널링 정보를 전달받게 된다. The application program manager 565 stores and manages overall information about application program services, manages the operation of individual application program services, and displays information about each application program service through the service indicator 570 . To this end, the application program manager 565 interacts with the signaling processor 555 and the file processor 535 to receive data and signaling information necessary for providing application program services.

이하 애플리케이션 프로그램 서비스와 관련된 시그널링 정보 및 이벤트 정보를 전달하는 동작을 설명한다.Hereinafter, an operation of transmitting signaling information and event information related to an application program service will be described.

1) 애플리케이션 프로그램 서비스에 관련된 시그널링 정보의 전송1) Transmission of signaling information related to application program service

애플리케이션 프로그램 서비스에 관련된 정보는 애플리케이션 프로그램 서비스의 이름, 전송 방식, 생명 주기(life cycle) 등 애플리케이션 프로그램 서비스의 주요 속성들을 포함한다. Information related to the application program service includes main attributes of the application program service, such as the name, transmission method, and life cycle of the application program service.

일 실시예로서, 애플리케이션 프로그램 서비스에 관련된 정보를 전송하기 위해 MMT 시그널링 세션을 통해 전송되는 시그널링 메시지인 AIT (Application Information Table) 메시지가 사용될 수 있다. 하기의 <표 1>은 AIT 메시지 및 AIT 메시지에 포함되는 AI (Application Information) 테이블의 포맷의 일 예를 나타낸 것이다. As an embodiment, an AIT (Application Information Table) message, which is a signaling message transmitted through an MMT signaling session, may be used to transmit information related to an application program service. <Table 1> below shows an example of a format of an AIT message and an AI (Application Information) table included in the AIT message.

신택스syntax 비트수number of bits 포맷format AIT_message {AIT_message { message_id message_id 1616 uimsbfuimsbf version version 88 uimsbfuimsbf lengthlength 1616 uimsbfuimsbf extension { extension { } } message_payload { message_payload { AI_table() AI_table() } } }}

여기서 message_id 필드는 AIT 메시지의 ID를 의미하고, version 필드는 AIT 메시지의 버전을 나타내며, length 필드는 AIT 메시지의 바이트 크기로서, length 필드의 다음 위치에서부터 AIT 메시지의 끝까지의 길이를 나타내고, AI_table() 필드는 AI 테이블을 포함한다.Here, the message_id field means the ID of the AIT message, the version field indicates the version of the AIT message, the length field is the byte size of the AIT message, and indicates the length from the next position of the length field to the end of the AIT message, AI_table() The field contains the AI table.

AIT 메시지는 extension 부분에 AIT 메시지가 적용되는 서비스를 식별하기 위한 식별자(identifier)를 더 포함할 수 있다. 또한 AIT 메시지를 식별(identify)하기 위한 URI(Uniform Resource Identifier)의 존재 유무를 나타내기 위한 1비트 플래그가 더 포함될 수 있으며, 상기 1 비트 플래그가 온되어 있을 경우 URI를 나타내는 필드가 AIT 메시지에 더 포함될 수 있다.The AIT message may further include an identifier for identifying a service to which the AIT message is applied in the extension part. In addition, a 1-bit flag for indicating the presence or absence of a Uniform Resource Identifier (URI) for identifying the AIT message may be further included. When the 1-bit flag is on, a field representing the URI is further included in the AIT message. can be included

MMT 패키지에 포함된 모든 애플리케이션 프로그램 서비스들에 관한 정보는 하나의 AI 테이블을 이용하여 전송되거나(i.e., Complete AI Table) 또는 다수의 AI 테이블들에 분할되어(i.e., Subset AI Table) 전송될 수 있다. 후자의 경우 각 Subset AI 테이블은 독립적인 AIT 메시지에 포함되어 전송된다.Information on all application program services included in the MMT package may be transmitted using one AI table (i.e., Complete AI Table) or divided into multiple AI tables (i.e., Subset AI Table) and transmitted. . In the latter case, each Subset AI table is included in an independent AIT message and transmitted.

하기 <표 2>는 AI 테이블의 상세 포맷의 일 예를 나타낸 것이다.Table 2 below shows an example of a detailed format of the AI table.

신택스syntax value 비트수number of bits 포맷format AI_table {AI_table { table_id table_id 88 uimsbfuimsbf version version 88 uimsbfuimsbf lengthlength N1N1 1616 uimsbfuimsbf reserved reserved '1111''1111' 44 bslbfbslbf AI_table_mode AI_table_mode 22 uimsbfuimsbf reserved reserved '11''11' 22 bslbfbslbf AI_table_descriptors { AI_table_descriptors { AI_table_descriptor_length AI_table_descriptor_length N2N2 1616 uimsbfuimsbf for (i = 0; i < N2; ++i) for (i = 0; i < N2; ++i) AI_table_descriptor_bytes AI_table_descriptor_bytes 88 uimsbfuimsbf } } AI_count AI_count N3N3 88 uimsbfuimsbf for (i = 0; i < N3; ++i) { for (i = 0; i < N3; ++i) { application_attributes() application_attributes() } } }}

여기서 table_id 필드는 AI 테이블의 ID를 나타낸다. Complete AI 테이블과 Subset AI 테이블은 서로 다른 table_id를 가질 수 있다. table_id의 값은 순차적으로 할당되며 따라서 Subset AI 테이블의 번호는 table_id 필드로부터 계산될 수 있다. 즉, Subset AI 테이블의 번호는 "table_id - Base Subset AI 테이블의 table_id"로 계산된다. 여기서 Base Subset AI 테이블은 번호가 0인 Subset AI 테이블을 지칭한다. 1에서 14의 번호들은 그 외의(base가 아닌) Subset AI 케이블들을 가리키며, 15는 Complete AI 테이블을 가리킨다.Here, the table_id field represents the ID of the AI table. The Complete AI table and the Subset AI table may have different table_ids. Values of table_id are assigned sequentially, so the number of the Subset AI table can be calculated from the table_id field. That is, the number of the Subset AI table is calculated as "table_id - table_id of the Base Subset AI table". Here, the Base Subset AI table refers to a Subset AI table numbered 0. Numbers 1 to 14 indicate other (non-base) Subset AI cables, and 15 indicates the Complete AI table.

version 필드는 AI 테이블의 버전을 나타내며, 신규 버전의 AI 테이블은 수신 즉시 이전 버전의 AI 테이블을 대체함. version 필드는 기존의 MMT 시그널링 테이블의 MPI 테이블과 동일하게 해석될 수 있다. (If table_id indicates a complete AI table, if Subset-0 AI table has the same version value as this field (when AI_table_mode is '1'), or if all AI table subsets with lower-subset number have the same version value as this field (when AI_table_mode is '0'), or if processing of the AI table subsets are independent (when AI_table_mode is '2'). If Subset-0 AI table has a newer version, all AI table subsets with higher subset number up to 14 previously stored within an MMT receiving entity are treated as outdated except for the case when AI_table_mode is independent mode. When the AI table subset number is not 0 and AI_table_mode is '1', the contents of the AI table subset with version different from that of subset-0 AI table stored in an MMT receiving entity shall be ignored. Also when the AI table subset number is not 0 and AI_table_mode is '0', the contents of the AI table subset with version different from that of lower-subset AI table subsets stored in an MMT receiving entity shall be ignored. It shall be modulo-256 incremented per version change.)The version field indicates the version of the AI table, and the new version of the AI table replaces the previous version of the AI table upon receipt. The version field can be interpreted the same as the MPI table of the existing MMT signaling table. (If table_id indicates a complete AI table, if Subset-0 AI table has the same version value as this field (when AI_table_mode is '1'), or if all AI table subsets with lower-subset number have the same version value as this field (when AI_table_mode is '0'), or if processing of the AI table subsets are independent (when AI_table_mode is '2'). If Subset-0 AI table has a newer version, all AI table subsets with higher subset number up to 14 previously stored within an MMT receiving entity are treated as outdated except for the case when AI_table_mode is independent mode. When the AI table subset number is not 0 and AI_table_mode is '1', the contents of the AI table subset with version different from that of subset-0 AI table stored in an MMT receiving entity shall be ignored. Also when the AI table subset number is not 0 and AI_table_mode is '0', the contents of the AI table subset with version different from that of lower-subset AI table subsets stored in an MMT receiving entity shall be ignored. It shall be modulo-256 incremented per version change.)

length 필드는 AI 테이블의 바이트 크기로서, length 필드의 다음 위치에서 AI 테이블의 끝까지의 길이를 나타낸다. The length field is the byte size of the AI table and indicates the length from the position next to the length field to the end of the AI table.

AI_table_mode 필드는, AI 테이블이 분할되어 전송될 경우 분할된 AI 테이블의 처리 방식을 지정하는 것으로서, 기존 MMT 시그널링 테이블 중 MPI 테이블의 PI_mode와 유사한 방식으로 사용된다. (In "sequential_order_processing_mode" and with a non-zero subset number of this AI table, an MMT receiving entity shall receive all AT tables with lower subset number that have the same version as this AI table before it processes this AI table. For example, an MMT receiving entity can't process subset-3 AI table, if it have not received subset-2 AI table with the same version. In "order_irrelevant_processing_mode" and with the subset number of this AI table subset set to non-zero, an MMT receiving entity should process a AI table right after it receives the AI table as long as the subset-0 AI table stored in an MMT receiving entity has the same version as this AI table. In "independent_processing_mode", versions of each subset of AI tables are managed individually. Fragmented AI table is adapted in this mode). The AI_table_mode field specifies a processing method of the divided AI table when the AI table is divided and transmitted, and is used in a manner similar to PI_mode of the MPI table among existing MMT signaling tables. (In "sequential_order_processing_mode" and with a non-zero subset number of this AI table, an MMT receiving entity shall receive all AT tables with lower subset number that have the same version as this AI table before it processes this AI table. For example, an MMT receiving entity can't process subset-3 AI table, if it have not received subset-2 AI table with the same version.In "order_irrelevant_processing_mode" and with the subset number of this AI table subset set to non-zero, an MMT receiving entity should process a AI table right after it receives the AI table as long as the subset-0 AI table stored in an MMT receiving entity has the same version as this AI table. tables are managed individually. Fragmented AI table is adapted in this mode).

AI_table_mode 필드에서 사용되는 값 및 설명의 예는 다음 <표 3>과 같다.Examples of values and descriptions used in the AI_table_mode field are shown in <Table 3>.

AI_table_modeAI_table_mode DescriptionDescription 0000 "sequential_order_processing_mode""sequential_order_processing_mode" 0101 "order_irrelevant_processing_mode""order_irrelevant_processing_mode" 1010 "independent_processing_mode""independent_processing_mode" 1111 ReservedReserved

AI_table_descriptor_bytes 필드는 AI 테이블의 디스크립터이며, AI_count 필드는 AI 테이블에 포함된 애플리케이션 프로그램 서비스들의 개수를 나타내고, application_attributes() 필드는 각 애플리케이션 프로그램 서비스의 속성을 나타낸다.The AI_table_descriptor_bytes field is a descriptor of the AI table, the AI_count field represents the number of application program services included in the AI table, and the application_attributes() field represents attributes of each application program service.

앞서 기술한 바와 같이, AI 테이블은 애플리케이션 프로그램 서비스와 관련된 다양한 속성들을 포함할 수 있으며, application_attributes() 필드에 해당 속성들이 포함된다. 이러한 속성들에는 애플리케이션 프로그램 서비스의 이름, 애플리케이션 프로그램 서비스에 관련된 데이터의 전송 정보와 우선 순위 등이 포함될 수 있다. 하기 <표 4>는 application_attributes()의 한 예를 나타낸 것이다.As described above, the AI table may include various attributes related to application program services, and the corresponding attributes are included in the application_attributes() field. These attributes may include the name of the application program service, transmission information and priority of data related to the application program service. Table 4 below shows an example of application_attributes().

신택스syntax 설명Explanation application_attributes() {application_attributes() { app_nameapp_name 애플리케이션 프로그램 서비스 이름Application program service name app_id app_id 애플리케이션 프로그램 서비스 IDApplication program service ID related_MMT_assets_count related_MMT_assets_count 해당 애플리케이션 프로그램 서비스와 연계된 MMT 패키지 내 Asset의 수 (N1). 0으로 설정된 경우 패키지와 연동되지 않고 독립적으로 실행 가능한 애플리케이션 프로그램 서비스임The number of assets (N1) in the MMT package associated with the application program service. If set to 0, it is an application program service that can be executed independently without interlocking with the package. for (i = 0; i < N1; ++i)for (i = 0; i < N1; ++i) asset_id asset_id Asset IDAsset ID application_transport_methods_count application_transport_methods_count 애플리케이션 프로그램 서비스 실행에 필요한 데이터 또는 파일 전송 방법의 수 (N2)Number of data or file transfer methods required to run application program services (N2) for (i = 0; i < N2; ++i) for (i = 0; i < N2; ++i) application_transport application_transport 방송 네트워크 또는 통신 네트워크를 이용한 애플리케이션 프로그램 서비스 관련 데이터 또는 파일 전송에 대한 상세 정보. Detailed information about the transmission of data or files related to application program services using broadcast networks or communication networks. application_priority application_priority 애플리케이션 프로그램 서비스 우선 순위Application program service priority application_control_code application_control_code 애플리케이션 프로그램 서비스의 생명 주기 (e.g., AutoStart/Present/Kill/Suspend/Prefetch/Destroy/Disabled 등). 생명 주기의 의미는 ETSI TS 102 809 규격에 따름Application program service lifecycle (e.g., AutoStart/Present/Kill/Suspend/Prefetch/Destroy/Disabled, etc.). Meaning of life cycle according to ETSI TS 102 809 standard application_type application_type 애플리케이션 프로그램 서비스 종류Type of application program service AI_ descriptor_length AI_ descriptor_length for (i = 0; i < N6; ++i) for (i = 0; i < N6; ++i) AI_ descriptor_bytes AI_ descriptor_bytes 애플리케이션 프로그램 서비스 디스크립터Application program service descriptor }} }}

후술되는 실시예에서, 애플리케이션 프로그램 서비스에 관련된 정보는, MMT 패키지에 관련된 시그널링 메시지인 MPT 메시지를 통해 전송될 수 있다. 구체적으로 MPT 메시지는 MMT 패키지에 애플리케이션 프로그램 서비스가 존재하는지 유무를 알려주는 디스크립터를 포함한다. 단말은 MMT로 전송되는 방송 서비스를 재생하기 위해서는 반드시 MPT 메시지를 수신해야 되며 따라서 애플리케이션 프로그램 서비스의 유무에 대한 디스크립터를 MPT 메시지에 포함시킴으로써 단말에서는 좀 더 빨리 애플리케이션 프로그램 서비스의 존재 유무를 확인할 수 있다. In an embodiment described below, information related to an application program service may be transmitted through an MPT message that is a signaling message related to an MMT package. Specifically, the MPT message includes a descriptor indicating whether an application program service exists in the MMT package. A terminal must receive an MPT message to play a broadcast service transmitted through MMT. Therefore, by including a descriptor for the presence or absence of an application program service in the MPT message, the terminal can more quickly check the existence of an application program service.

MPT 메시지를 통해 MMT 패키지 내에 애플리케이션 프로그램 서비스가 존재한다고 파악이 되면, 단말은 앞서 설명한 바와 같은 AIT 메시지를 수신함으로써 애플리케이션 프로그램 서비스에 관련된 상세 정보를 획득할 수 있다. MPT 메시지는, 단순히 애플리케이션 프로그램 서비스의 존재 유무만을 알려주는 것에서 벗어나, 필요에 따라 AIT에 포함되어 전송되는 정보 중에서 단말에게 우선적으로 제공하고자 하는 정보를 추가적으로 포함할 수 있다. 상기 우선적으로 제공하고자 하는 정보는 단말의 성능 개선 또는 QoE(Quality of Experience) 개선 등에 도움이 되는 정보가 될 수 있다.If it is determined through the MPT message that the application program service exists in the MMT package, the terminal can acquire detailed information related to the application program service by receiving the AIT message as described above. The MPT message may additionally include information to be preferentially provided to the terminal among information included in the AIT and transmitted as necessary, in addition to simply notifying only the presence or absence of the application program service. The information to be preferentially provided may be information helpful in improving the performance of the terminal or improving the quality of experience (QoE).

하기의 <표 5>는 MPT 메시지에 포함될 수 있는 디스크립터인 application_service_descriptor의 상세 포맷의 일 예를 나타낸 것이다.Table 5 below shows an example of a detailed format of application_service_descriptor, which is a descriptor that can be included in an MPT message.

신택스syntax value 비트수number of bits 포맷format application_service_descriptor() {application_service_descriptor() { descriptor_tag descriptor_tag 1616 uimsbfuimsbf descriptor_length descriptor_length 88 uimsbfuimsbf application_service_available application_service_available 1One bslbfbslbf }}

여기서 descriptor_tag 필드는 inband_event_descriptor 필드를 식별할 수 있는 태그를 나타내며, descriptor_length 필드는 inband_event_descriptor 필드의 크기를 나타내고, application_service_descriptor 필드는 패키지 내에 애플리케이션 프로그램 서비스의 존재 유무를 알려준다. 상기 application_service_descriptor 필드의 값이 0인 경우 애플리케이션 프로그램 서비스가 없음을 의미하며, 1인 경우 애플리케이션 프로그램 서비스가 존재함을 의미하고, 상기 애플리케이션 프로그램 서비스에 관련된 상세 정보는 AIT 메시지를 통해 전송된다.Here, the descriptor_tag field represents a tag capable of identifying the inband_event_descriptor field, the descriptor_length field represents the size of the inband_event_descriptor field, and the application_service_descriptor field informs whether an application program service exists in the package. If the value of the application_service_descriptor field is 0, it means that there is no application program service, and if it is 1, it means that there is an application program service, and detailed information related to the application program service is transmitted through an AIT message.

2) 이벤트 정보의 전송2) Transmission of event information

이벤트 정보는 방송 프로그램 내에서 해당 이벤트의 발생 시점을 미리 알 수 있는지 여부에 따라 크게 두 가지 방식으로 전송될 수 있다. 첫번째로, 녹화 방송과 같이 특정 이벤트가 발생하는 시점을 미리 알 수 있는 경우에는 정적 이벤트 전송 방식이 사용되며, 두번째로, 생방송과 같이 특정 이벤트가 발생하는 시점을 미리 알 수 없는 경우 동적 이벤트 전송 방식이 사용된다. 이벤트 정보는 애플리케이션 프로그램 서비스에게 통보된다. Event information can be transmitted in two major ways depending on whether the occurrence time of a corresponding event can be known in advance in a broadcast program. First, a static event transmission method is used when the time when a specific event occurs is known in advance, such as in a recorded broadcast. Second, a dynamic event transmission method is used when the time when a specific event occurs is unknown, such as in a live broadcast. this is used Event information is notified to the application program service.

일 실시예로서 이벤트 정보는 MMT 시그널링 채널을 통해 전송되는 MMT 시그널링 메시지, 즉 AEI (Application Event Information) 메시지를 통해 전달될 수 있다. AEI 메시지는 정적 이벤트 및 동적 이벤트 전송에 모두 사용될 수 있다. 동적 이벤트의 경우 이벤트 정보는 해당 이벤트가 발생되는 미디어 데이터, 즉 MPU 내에 포함되어 전송될 수도 있다.As an embodiment, the event information may be delivered through an MMT signaling message transmitted through an MMT signaling channel, that is, an Application Event Information (AEI) message. AEI messages can be used for both static and dynamic event transmission. In the case of a dynamic event, event information may be included in media data where the corresponding event occurs, that is, the MPU and transmitted.

하기 <표 6> 및 <표 7>은 이벤트 정보를 포함하는 MMT 시그널링 메시지, 즉 AEI 메시지와 AEI 메시지에 포함되는 AE 테이블의 상세 포맷의 일 예를 나타낸 것이다.<Table 6> and <Table 7> show an example of a detailed format of an MMT signaling message including event information, that is, an AEI message and an AE table included in the AEI message.

신택스syntax 비트수number of bits 포맷format AEI_message {AEI_message { message_id message_id 1616 uimsbfuimsbf version version 88 uimsbfuimsbf length length 1616 uimsbfuimsbf extension { extension { } } message_payload { message_payload { AE_table() AE_table() } } }}

여기서 message_id 필드는, AEI 메시지의 ID를 나타내고, version 필드는 AEI 메시지의 버전을 나타내고, length 필드는 AEI 메시지의 바이트 크기로서, length 필드의 다음 위치에서부터 AEI 메시지의 끝까지의 길이를 나타낸다. AE_table() 필드는 AE 테이블을 포함한다.Here, the message_id field represents the ID of the AEI message, the version field represents the version of the AEI message, and the length field represents the byte size of the AEI message, representing the length from the position next to the length field to the end of the AEI message. The AE_table() field includes an AE table.

일 실시예로서 AEI 메시지는 extension 부분에 AEI 메시지가 적용되는 서비스를 식별하기 위한 식별자를 더 포함할 수 있다. 또한 상기 AEI 메시지를 식별하기 위한 URI의 존재 유무를 나타내기 위한 1 비트 플래그가 더 포함될 수 있으며, 상기 1 비트 플래그가 온되어 있을 경우 URI를 나타내는 필드가 AEI 메시지에 더 포함될 수 있다.As an embodiment, the AEI message may further include an identifier for identifying a service to which the AEI message is applied in the extension part. In addition, a 1-bit flag for indicating the presence or absence of a URI for identifying the AEI message may be further included, and when the 1-bit flag is turned on, a field indicating a URI may be further included in the AEI message.

신택스syntax value 비트수number of bits 포맷format AE_table {AE_table { table_id table_id 1616 uimsbfuimsbf version version 88 uimsbfuimsbf length length 1616 uimsbfuimsbf reserved reserved 111111111111 66 bslbfbslbf number_of_app_events number_of_app_events N1N1 88 uimsbfuimsbf for (i=0; i<N1;++i) { for (i=0; i<N1;++i) { AE_descriptor() AE_descriptor() } } }}

여기서 table_id 필드는 AE 테이블의 ID를 나타낸다. version 필드는 AE 테이블의 버전을 나타내고, length 필드는 AE 테이블의 바이트 크기로서, length 필드의 다음 위치에서 AE 테이블의 끝까지의 크기를 나타낸다. number_of_app_events 필드는 AE 테이블에 포함된 이벤트들의 개수를 나타내고, AE_descriptor() 필드는 각 이벤트의 상세 정보를 포함한다.Here, the table_id field represents the ID of the AE table. The version field represents the version of the AE table, and the length field represents the byte size of the AE table, from the position next to the length field to the end of the AE table. The number_of_app_events field indicates the number of events included in the AE table, and the AE_descriptor() field includes detailed information of each event.

이벤트의 상세 정보는 AE_descriptor() 디스크립터에 저장되며, 이벤트와 연계된 애플리케이션 프로그램 서비스 ID, 이벤트가 적용되는 시간 및 기간, 이벤트 동작 등 이벤트와 관련된 다양한 정보를 포함할 수 있다. 다음 <표 8>은 AE_descriptor()의 일 예를 나타낸 것이다.Detailed information of the event is stored in the AE_descriptor() descriptor, and may include various information related to the event, such as an application program service ID associated with the event, time and period to which the event is applied, event operation, and the like. The following <Table 8> shows an example of AE_descriptor().

신택스syntax value 비트수number of bits 포맷format AE_descriptor() {AE_descriptor() { descriptor_tag descriptor_tag 1616 uimsbfuimsbf descriptor_length descriptor_length 88 uimsbfuimsbf application_identifier() application_identifier() scheme_id_uri_length scheme_id_uri_length N1N1 88 uimsbfuimsbf for (i=0;i<N1;++i) for (i=0;i<N1;++i) scheme_id_uri_byte scheme_id_uri_byte 88 uimsbfuimsbf event_value_length event_value_length N2N2 88 UimsbfUimsbf for (i=0;i<N2;++i) for (i=0;i<N2;++i) event_value_byte event_value_byte 88 uimsbfuimsbf event_id event_id 3232 uimsbfuimsbf event_presentation_time event_presentation_time 6464 uimsbfuimsbf event_duration event_duration 3232 uimsbfuimsbf event_data event_data }}

여기서 descriptor_tag 필드는 AE_descriptor()를 식별할 수 있는 태그를 의미하고, descriptor_length 필드는 AE_descriptor()의 크기를 의미하며, application_identifier() 필드는 이벤트가 적용될 애플리케이션의 고유 ID이다. 다음 <표 9>는 application_identifier() 필드의 상세 포맷의 일 예를 나타낸 것이다.Here, the descriptor_tag field means a tag capable of identifying AE_descriptor(), the descriptor_length field means the size of AE_descriptor(), and the application_identifier() field is a unique ID of an application to which an event is applied. The following <Table 9> shows an example of a detailed format of the application_identifier() field.

신택스syntax 비트수number of bits 포맷format application_identifier() {application_identifier() { organization_id organization_id 3232 uimbsfuimbsf application_id application_id 1616 uimbsfuimbsf }}

여기서 scheme_id_uri_length 필드는 scheme_id_uri의 바이트 크기를 나타내며, scheme_id_uri 필드는 event_data 필드에 전송되는 값의 의미 및 문법을 정의하며, event_value_length 필드는 event_data 필드의 바이트 크기를 나타내고, event_value 필드는 이벤트 값을 나타낸다. 이벤트 값의 범위 및 의미는 scheme_id_uri에 의해 결정된다. event_id 필드는 이벤트의 고유한 ID를 나타내고, event_presentation_time 필드는 이벤트가 적용될 미디어 재생 시간을 나타내고, event_duration 필드는 이벤트가 유효한 미디어 재생 시간을 나타내고, event_data 필드는 이벤트 내용을 나타낸다.Here, the scheme_id_uri_length field represents the byte size of scheme_id_uri, the scheme_id_uri field defines the meaning and grammar of the value transmitted to the event_data field, the event_value_length field represents the byte size of the event_data field, and the event_value field represents an event value. The range and meaning of event values are determined by scheme_id_uri. The event_id field represents a unique ID of an event, the event_presentation_time field represents a media presentation time to which an event is applied, the event_duration field represents a media presentation time for which an event is valid, and the event_data field represents event content.

일 실시예로서, 이벤트 정보는 미디어 데이터를 통해 전달될 수 있다.As an embodiment, event information may be delivered through media data.

MMT 전송 프로토콜에서 미디어 데이터는 MPU에 포함되어 전송되며, MPU는 ISOBMFF 구조를 따른다. 이벤트 정보는 MPU 내의 evti 박스에 포함될 수 있으며, 상기 evti 박스의 상세 포맷의 일 예는 다음과 같다.In the MMT transport protocol, media data is included in the MPU and transmitted, and the MPU follows the ISOBMFF structure. Event information may be included in an evti box in the MPU, and an example of a detailed format of the evti box is as follows.

Box Type: "evti"Box Type: "evti"

Container: MPUContainer: MPU

Mandatory: NoMandatory: No

Quantity: Zero or moreQuantity: Zero or more

Syntax:Syntax:

aligned (8) class EventInformationBox extends FullBox('evti', version=0, flags=0) {aligned (8) class EventInformationBox extends FullBox('evti', version=0, flags=0) {

string scheme_id_uristring scheme_id_uri

string event_valuestring event_value

unsigned int(32) event_idunsigned int(32) event_id

unsigned int(32) event_presentation_time_deltaunsigned int(32) event_presentation_time_delta

unsigned int(32) event_durationunsigned int(32) event_duration

unsigned int(32) event_dataunsigned int(32) event_data

string application_identifierstring application_identifier

}}

여기서 scheme_id_uri 필드는 event_data 필드에 전송되는 값의 의미 및 문법을 정의하며, event_value 필드는 이벤트 값을 포함한다. 이벤트 값의 범위 및 의미는 scheme_id_uri에 의해 결정된다. event_id 필드는 이벤트의 고유한 ID를 나타내고, event_presentation_time_delta 필드는 MPU의 재생 시간과 이벤트가 적용될 미디어의 재생 시간 간의 차이를 나타내며, event_duration 필드는 이벤트가 유효한 미디어의 재생 시간을 나타내고, event_data 필드는 이벤트 내용을 나타낸다. application_identifier 필드는 이벤트가 적용될 애플리케이션 프로그램 서비스의 ID를 나타낸다.Here, the scheme_id_uri field defines the meaning and grammar of values transmitted to the event_data field, and the event_value field includes event values. The range and meaning of event values are determined by scheme_id_uri. The event_id field represents a unique ID of an event, the event_presentation_time_delta field represents the difference between the playback time of the MPU and the media to which the event is applied, the event_duration field represents the playback time of media for which the event is valid, and the event_data field represents the content of the event. indicate The application_identifier field represents an ID of an application program service to which an event is applied.

일 실시예로서, 이벤트 정보는 특정 애셋의 MPU를 통해 전송되며, MMT 시그널링 정보는 상기 애셋의 MPU 내에 이벤트 정보가 내재되어 있음을 알리는데 사용될 수 있다. 이를 위해 MMT 패키지 정보를 전송하는 MP(MMT Package) 테이블은 애셋 레벨에서 사용되는 디스크립터인 inband_event_descriptor를 포함한다. 단말은 MP 테이블을 통해 inband_event_descriptor를 수신하여, 특정 애셋의 MPU 내에 이벤트 정보가 내재되어 전송되고 있음을 확인하면, 상기 애셋의 MPU를 수신하고 상기 MPU 내의 evti 박스로부터 이벤트 정보를 추출하게 된다. 하기 <표 10>은 inband_event_descriptor의 상세 포맷의 일 예를 나타낸 것이다.As an embodiment, event information is transmitted through the MPU of a specific asset, and MMT signaling information may be used to inform that event information is inherent in the MPU of the asset. To this end, an MMT Package (MP) table that transmits MMT package information includes inband_event_descriptor, which is a descriptor used at the asset level. When the terminal receives inband_event_descriptor through the MP table and confirms that event information is embedded in the MPU of a specific asset and transmitted, it receives the MPU of the asset and extracts event information from the evti box in the MPU. Table 10 below shows an example of a detailed format of inband_event_descriptor.

신택스syntax value 비트수number of bits 포맷format inband_event__descriptor() {inband_event__descriptor() { descriptor_tag descriptor_tag 1616 UimsbfUimsbf descriptor_length descriptor_length 88 UimsbfUimsbf scheme_id_uri_length scheme_id_uri_length N1N1 88 UimsbfUimsbf for (i=0;i<N1;++i) for (i=0;i<N1;++i) scheme_id_uri_byte scheme_id_uri_byte 88 UimsbfUimsbf event_value_length event_value_length N2N2 88 UimsbfUimsbf for (i=0;i<N2;++i) for (i=0;i<N2;++i) event_value_byte event_value_byte 88 UimsbfUimsbf }}

여기서 descriptor_tag 필드는 inband_event_descriptor를 식별할 수 있는 태그이며, descriptor_length 필드는 inband_event_descriptor의 크기를 나타내고, scheme_id_uri_length 필드는 scheme_id_uri의 바이트 크기를 나타내고, scheme_id_uri 필드는 event_data 필드에 전송되는 값의 의미 및 문법을 정의한다. event_value_length 필드는 event_data 필드의 바이트 크기를 나타내고, event_value 필드는 이벤트 값을 포함한다. 이벤트 값의 범위 및 의미는 scheme_id_uri에 의해 결정된다. Here, the descriptor_tag field is a tag that identifies the inband_event_descriptor, the descriptor_length field indicates the size of the inband_event_descriptor, the scheme_id_uri_length field indicates the byte size of scheme_id_uri, and the scheme_id_uri field defines the meaning and grammar of the value transmitted to the event_data field. The event_value_length field represents the byte size of the event_data field, and the event_value field includes an event value. The range and meaning of event values are determined by scheme_id_uri.

도 6은 본 발명의 일 실시예에 따라 MMT 시그널링 메시지를 이용한 이벤트 정보의 처리 절차를 나타낸 흐름도이다.6 is a flowchart illustrating a process of processing event information using an MMT signaling message according to an embodiment of the present invention.

도 6을 참조하면, 과정 605에서 단말은 사용자에 의한 서비스의 선택 입력을 수신하고, 과정 610에서 상기 서비스와 관련된 MMT 시그널링 메시지의 수신을 모니터링하고 수신된 MMT 시그널링 메시지를 파싱한다. 과정 615에서 단말은 상기 MMT 시그널링 메시지에 AIT 메시지가 포함되어 있는지 확인하고, AIT 메시지가 없을 경우 과정 620에서 상기 선택된 서비스의 비디오/오디오 스트림을 재생한다. 반면 AIT 메시지가 존재할 경우, 과정 625에서 단말은 상기 AIT 메시지에 포함된 AI 테이블의 내용을 이용하여 애플리케이션 프로그램 서비스와 관련된 데이터를 수신한다. 단말은 상기 AI 테이블에 포함된 애플리케이션 프로그램의 속성들 및 사용자 선택 사항에 따라, 애플리케이션 프로그램 서비스에 관련된 데이터의 수신 시작 시간, 애플리케이션 프로그램 서비스의 즉시 실행 여부 등을 결정할 수 있다. Referring to FIG. 6 , in step 605, the terminal receives a user's input for selecting a service, and in step 610, it monitors reception of an MMT signaling message related to the service and parses the received MMT signaling message. In step 615, the terminal checks whether the AIT message is included in the MMT signaling message, and if there is no AIT message, in step 620, the video/audio stream of the selected service is reproduced. On the other hand, if the AIT message exists, in step 625, the terminal receives data related to the application program service by using the contents of the AI table included in the AIT message. The terminal may determine a reception start time of data related to the application program service, whether to immediately execute the application program service, etc., according to attributes of the application program included in the AI table and user selection.

과정 630에서 단말은 이벤트 정보를 저장한 시그널링 메시지인 AEI 메시지가 수신되는지 판단하고, 상기 AEI 메시지에 포함되는 AE 테이블로부터 이벤트 적용 시간에 대한 정보를 획득하여 상기 이벤트 적용 시간에 도달하였는지를 판단한다. 상기 이벤트 적용 시간에 도달한 경우, 과정 635에서 해당하는 이벤트를 바탕으로 애플리케이션 프로그램 서비스를 제어(일 예로 개시 혹은 종료)한다. 상기 이벤트 적용 시간에 도달하기 전까지 단말은 과정 620에서 서비스를 재생할 수 있다.In step 630, the terminal determines whether an AEI message, which is a signaling message storing event information, is received, obtains information on the event application time from the AE table included in the AEI message, and determines whether the event application time has been reached. When the event application time is reached, in step 635, the application program service is controlled (eg start or end) based on the corresponding event. Until the event application time is reached, the terminal may reproduce the service in step 620.

도 7은 본 발명의 일 실시예에 따라 MPU를 이용한 이벤트 정보의 처리 절차를 나타낸 흐름도이다. 7 is a flowchart illustrating a process of processing event information using an MPU according to an embodiment of the present invention.

도 7을 참조하면, 과정 705에서 단말은 사용자에 의한 서비스의 선택 입력을 수신하고, 과정 710에서 상기 서비스와 관련된 MMT 시그널링 메시지의 수신을 모니터링하고 수신된 MMT 시그널링 메시지를 파싱한다. 과정 715에서 단말은 상기 MMT 시그널링 메시지에 AIT 메시지가 포함되어 있는지 확인하고, AIT 메시지가 없을 경우 과정 730에서 상기 선택된 서비스의 비디오/오디오 스트림을 재생한다. 반면 AIT 메시지가 존재할 경우, 과정 735에서 단말은 상기 AIT 메시지에 포함된 AI 테이블의 내용을 이용하여 애플리케이션 프로그램 서비스와 관련된 데이터를 수신한다. 단말은 상기 AI 테이블에 포함된 애플리케이션 프로그램의 속성들 및 사용자 선택 사항에 따라, 애플리케이션 프로그램 서비스에 관련된 데이터의 수신 시작 시간, 애플리케이션 프로그램 서비스의 즉시 실행 여부 등을 결정할 수 있다. Referring to FIG. 7 , in step 705, the terminal receives a user's input for selecting a service, and in step 710, it monitors reception of an MMT signaling message related to the service and parses the received MMT signaling message. In step 715, the terminal checks whether the AIT message is included in the MMT signaling message, and if there is no AIT message, in step 730, the video/audio stream of the selected service is reproduced. On the other hand, if the AIT message exists, in step 735, the terminal receives data related to the application program service by using the contents of the AI table included in the AIT message. The terminal may determine a reception start time of data related to the application program service, whether to immediately execute the application program service, etc., according to attributes of the application program included in the AI table and user selection.

한편, 과정 715에서 단말은 상기 MMT 시그널링 메시지를 기반으로 MPU 내에 이벤트 정보가 내재하여 전송되는지를 확인한다. 즉, 단말은 MMT 시그널링 메시지 내의 MP 테이블에 포함된 애셋 레벨 디스크립터를 분석하여 해당 애셋을 전송하는 MPU 내에 이벤트 정보가 포함되는지 여부를 확인한다. 만일 상기 애셋 레벨 디스크립터가 MPU 내에 이벤트 정보가 포함됨을 지시하는 경우, 과정 720에서 단말은 해당 애셋의 MPU를 수신할 때마다 단말은 MPU에서 이벤트 정보를 추출하여 저장한다. 과정 740에서 단말은 서비스를 재생하는 중 주기적으로 이벤트 적용 시간에 도달하였는지를 확인한다. 일 예로 상기 이벤트 적용 시간에 대한 정보는 AEI 메시지 내의 AE 테이블로부터 획득될 수 있다. 상기 이벤트 적용 시간에 도달한 경우, 과정 745에서 단말은 해당하는 이벤트를 적용하여 애플리케이션 프로그램 서비스를 제어한다. Meanwhile, in step 715, the terminal checks whether event information is included in the MPU and transmitted based on the MMT signaling message. That is, the terminal analyzes the asset level descriptor included in the MP table in the MMT signaling message to determine whether event information is included in the MPU transmitting the corresponding asset. If the asset level descriptor indicates that event information is included in the MPU, in step 720, the terminal extracts and stores event information from the MPU whenever the terminal receives the MPU of the corresponding asset. In step 740, the terminal periodically checks whether the event application time has been reached while playing the service. For example, information on the event application time may be obtained from an AE table in an AEI message. When the event application time is reached, in step 745, the terminal controls the application program service by applying the corresponding event.

일 실시 예에서 시그널링 테이블 및 디스크립터들은 다음 <표 11>과 같이 구성될 수 있는 mmt_atsc3_message()로 캡슐화되어 MMTP의 Signaling Message 모드로 전송될 수 있다.In one embodiment, the signaling table and descriptors can be encapsulated with mmt_atsc3_message(), which can be configured as shown in Table 11 below, and transmitted in the signaling message mode of MMTP.

SyntaxSyntax No. of BitsNo. of Bits FormatFormat mmt_atsc3_message() {mmt_atsc3_message() { message_idmessage_id 1616 uimsbfuimsbf versionversion 88 uimsbfuimsbf lengthlength 3232 uimsbfuimsbf message payload { message payload { service_idservice_id 1616 uimsbfuimsbf atsc3_message_content_typeatsc3_message_content_type 1616 uimbsfuimbsf atsc3_message_content_versionatsc3_message_content_version 88 uimbsfuimbsf atsc3_message_content_compressionatsc3_message_content_compression 88 uimbsfuimbsf URI_lengthURI_length 88 uimbsfuimbsf for (i=0;i< URI_length;i++) { for (i=0;i< URI_length;i++) { URI_byteURI_byte 88 uimsbfuimsbf } } atsc3_message_content_lengthatsc3_message_content_length 3232 uimsbfuimsbf for (i=0;i<atsc3_message_content_length;i++) { for (i=0;i<atsc3_message_content_length;i++) { atsc3_message_content_byteatsc3_message_content_byte 88 uimsbfuimsbf } } for (i=0;i<length-10-URI_length-atsc3_message_content_length) { for (i=0;i<length-10-URI_length-atsc3_message_content_length) { reservedreserved 88 uimsbfuimsbf } } } } }}

상기 <표 11>에서 각 필드의 의미는 하기와 같다.The meaning of each field in <Table 11> is as follows.

message_id - mmt_atsc3_message()임을 식별하기 위한 16-bit 식별자 message_id - 16-bit identifier to identify mmt_atsc3_message()

version - mmt_atsc3_message()의 version을 식별하기 위한 8-bit 식별자 version - 8-bit identifier to identify the version of mmt_atsc3_message()

length - mmt_atsc3_message()의 byte 단위 길이를 나타내는 32-bit 필드. 상기 mmt_atsc3_message()의 길이는 length field의 다음 바이트부터 mmt_atsc3_message()의 마지막 바이트까지의 바이트 수 일수 있다. length - 32-bit field indicating the length in bytes of mmt_atsc3_message(). The length of the mmt_atsc3_message() may be the number of bytes from the next byte of the length field to the last byte of mmt_atsc3_message().

service_id - mmt_atsc3_message()의 payload로 전송되는 정보가 적용되는 서비스를 식별하기 위한 16-bit 식별자. 후술할 USD의 atsc:serviceId attribute와 동일한 값을 설정한다. service_id - 16-bit identifier for identifying the service to which the information transmitted as the payload of mmt_atsc3_message() is applied. Set the same value as the atsc:serviceId attribute of USD to be described later.

atsc3_message_content_type - mmt_atsc3_message()의 payload로 전송되는 정보의 종류를 식별하기 위한 16-bit 식별자. 일 예로 atsc3_message_content_type 필드는 다음 <표 12>와 같은 값을 사용할 수 있다. atsc3_message_content_type - 16-bit identifier for identifying the type of information transmitted as the payload of mmt_atsc3_message(). For example, the atsc3_message_content_type field may use the values shown in the following <Table 12>.

atsc3_message_content_typeatsc3_message_content_type MeaningMeaning 0x00000x0000 ReservedReserved 0x00010x0001 userServiceDescriptionuserServiceDescription 0x00020x0002 MPDMPD 0x00030x0003 Application Information TableApplication Information Table 0x00040x0004 Application Event InformationApplication Event Information 0x00050x0005 Video Stream Properties DescriptorVideo Stream Properties Descriptor 0x00060x0006 ATSC Staggercast Descriptor() ATSC Staggercast Descriptor() 0x007~0xFFFF0x007~0xFFFF Reserved for future useReserved for future use

atsc3_message_content_version - mmt_atsc3_message()의 message payload로 전송되는 정보의 버전을 식별하기 위한 8-bit 식별자. 상기 message payload는 상기 service_id와 상기 atsc3_message_content_type의 조합으로 구별될 수 있다. atsc3_message_content_version - 8-bit identifier to identify the version of information transmitted as message payload of mmt_atsc3_message(). The message payload may be distinguished by a combination of the service_id and the atsc3_message_content_type.

atsc3_message_content_compression - mmt_atsc3_message()의 message payload에 포함된 atsc3_message_content_byte에 적용된 압축 방식을 나타내는 8-bit 필드. atsc3_message_content_compression - 8-bit field indicating the compression method applied to atsc3_message_content_byte included in the message payload of mmt_atsc3_message().

URI_length - 상기 message payload를 식별하기 위하여 사용되는 URI의 길이를 나타내는 8-bit필드. URI를 제공하지 않을 경우에는 0의 값을 가진다. URI_length - An 8-bit field indicating the length of the URI used to identify the message payload. If no URI is provided, it has a value of 0.

URI_byte - 상기 message payload를 식별하기 위하여 사용되는 URI의 각 바이트를 나타내는 8-bit 필드. UTF-8 캐릭터로 표현되며, terminating null character는 포함하지 않는다. URI_byte - An 8-bit field indicating each byte of the URI used to identify the message payload. It is expressed as a UTF-8 character, and does not include a terminating null character.

atsc3_message_content_byte - message payload로 전송되는 정보의 각 바이트를 나타내는 8- bit 필드 atsc3_message_content_byte - 8-bit field representing each byte of information transmitted in the message payload

상기 <표 10>에 나타낸 mmt_atsc3_message()는 XML, binary 형식을 포함하는 모든 형식의 시그널링 정보를 message payload로 전송할 수 있으며, 각 시그널링 정보의 형식은 상기 atsc3_message_content_type을 사용하여 판별할 수 있다. mmt_atsc3_message() shown in <Table 10> can transmit all types of signaling information including XML and binary formats as a message payload, and the format of each signaling information can be determined using the atsc3_message_content_type.

일의 실시 예에 따라 상술한 inband_event_descriptor가 상기 <표 11>의 mmt_atsc3_message()의 payload로 전송될 경우에, inband_event_descriptor는 다음 <표 13>과 같은 형식을 가질 수 있다.According to one embodiment, when the above-described inband_event_descriptor is transmitted as the payload of mmt_atsc3_message() in <Table 11>, the inband_event_descriptor may have a format as shown in the following <Table 13>.

신택스syntax value 비트수number of bits 포맷format inband_event__descriptor() {inband_event__descriptor() { descriptor_tagdescriptor_tag 1616 UimsbfUimsbf descriptor_lengthdescriptor_length 88 UimsbfUimsbf number_of_assetsnumber_of_assets N1N1 88 UimsbfUimsbf for (i=0;i<N1;++i) { for (i=0;i<N1;++i) { asset_id_lengthasset_id_length N2N2 88 UimsbfUimsbf for (j=0;j<N2;++j) { for (j=0;j<N2;++j) { asset_id_byteasset_id_byte 88 UimsbfUimsbf } } scheme_id_uri_lengthscheme_id_uri_length N3N3 88 UimsbfUimsbf for (j=0;j<N3;++j) { for (j=0;j<N3;++j) { scheme_id_uri_bytescheme_id_uri_byte 88 UimsbfUimsbf } } event_value_lengthevent_value_length N4N4 88 UimsbfUimsbf for (j=0;i<N4;++j) { for (j=0;i<N4;++j) { event_value_byteevent_value_byte 88 UimsbfUimsbf } } } } }}

여기서 descriptor_tag 필드는 inband_event_descriptor를 식별할 수 있는 태그이며, descriptor_length 필드는 inband_event_descriptor의 크기를 나타내며, number_of_assets 필드는 inband_event_descriptor에 기술된 어셋의 개수를 나타낸다. asset_id_length 필드는 asset 식별자의 바이트 크기를 나타내며, asset_id_byte는 상기 asset 식별자의 각 바이트를 나타낸다. scheme_id_uri_length 필드는 scheme_id_uri의 바이트 크기를 나타내고, scheme_id_uri 필드는 event_data 필드에 전송되는 값의 의미 및 문법을 정의한다. event_value_length 필드는 event_data 필드의 바이트 크기를 나타내고, event_value 필드는 이벤트 값을 포함한다. 이벤트 값의 범위 및 의미는 scheme_id_uri에 의해 결정된다. Here, the descriptor_tag field is a tag for identifying the inband_event_descriptor, the descriptor_length field indicates the size of the inband_event_descriptor, and the number_of_assets field indicates the number of assets described in the inband_event_descriptor. The asset_id_length field represents the byte size of an asset identifier, and the asset_id_byte represents each byte of the asset identifier. The scheme_id_uri_length field represents the byte size of scheme_id_uri, and the scheme_id_uri field defines the meaning and grammar of a value transmitted to the event_data field. The event_value_length field represents the byte size of the event_data field, and the event_value field includes an event value. The range and meaning of the event value is determined by scheme_id_uri.

일 실시예로서, 이벤트 정보는 특정 애셋의 MPU를 통해 전송되며, MMT 시그널링 정보는 상기 애셋의 MPU 내에 이벤트 정보가 내재되어 있음을 알리는데 사용될 수 있다. 이를 위해 mmt_atsc3_message()이 애셋 레벨에서 사용되는 디스크립터인 inband_event_descriptor를 페이로드에 포함하여 전송한다. 단말은 mmt_atsc3_message()를 통해 inband_event_descriptor를 수신하여, 특정 애셋의 MPU 내에 이벤트 정보가 내재되어 전송되고 있음을 확인하면, 상기 애셋의 MPU를 수신하고 상기 MPU 내의 evti 박스로부터 이벤트 정보를 추출하게 된다.As an embodiment, event information is transmitted through the MPU of a specific asset, and MMT signaling information may be used to inform that event information is inherent in the MPU of the asset. To this end, mmt_atsc3_message() transmits the inband_event_descriptor, which is a descriptor used at the asset level, in the payload. When the terminal receives inband_event_descriptor through mmt_atsc3_message() and confirms that event information is embedded in the MPU of a specific asset and transmitted, it receives the MPU of the asset and extracts event information from the evti box in the MPU.

본 발명의 다양한 실시예들은 특정 관점에서 컴퓨터 리드 가능 기록 매체(computer readable recording medium)에서 컴퓨터 리드 가능 코드(computer readable code)로서 구현될 수 있다. 컴퓨터 리드 가능 기록 매체는 컴퓨터 시스템에 의해 리드될 수 있는 데이터를 저장할 수 있는 임의의 데이터 저장 디바이스이다. 컴퓨터 리드 가능 기록 매체의 예들은 읽기 전용 메모리(read only memory: ROM: ROM)와, 랜덤-접속 메모리(random access memory: RAM: 'RAM)와, 컴팩트 디스크- 리드 온니 메모리(compact disk-read only memory: CD-ROM)들과, 마그네틱 테이프(magnetic tape)들과, 플로피 디스크(floppy disk)들과, 광 데이터 저장 디바이스들, 및 캐리어 웨이브(carrier wave)들(인터넷을 통한 데이터 송신 등)을 포함할 수 있다. 컴퓨터 리드 가능 기록 매체는 또한 네트워크 연결된 컴퓨터 시스템들을 통해 분산될 수 있고, 따라서 컴퓨터 리드 가능 코드는 분산 방식으로 저장 및 실행된다. 또한, 본 발명의 다양한 실시예들을 성취하기 위한 기능적 프로그램들, 코드, 및 코드 세그먼트(segment)들은 본 발명이 적용되는 분야에서 숙련된 프로그래머들에 의해 쉽게 해석될 수 있다.Various embodiments of the present invention may be implemented as computer readable code in a computer readable recording medium from a specific point of view. A computer readable recording medium is any data storage device capable of storing data readable by a computer system. Examples of computer readable recording media include read only memory (ROM), random access memory (RAM: 'RAM), and compact disk-read only memory. memory: CD-ROMs, magnetic tapes, floppy disks, optical data storage devices, and carrier waves (data transmission over the Internet, etc.) can include The computer readable recording medium may also be distributed across networked computer systems, so that computer readable code is stored and executed in a distributed manner. In addition, functional programs, code, and code segments for achieving various embodiments of the present invention can be easily interpreted by programmers skilled in the field to which the present invention is applied.

또한 본 발명의 다양한 실시예들에 따른 장치 및 방법은 하드웨어, 소프트웨어 또는 하드웨어 및 소프트웨어의 조합의 형태로 실현 가능하다는 것을 알 수 있을 것이다. 이러한 소프트웨어는 예를 들어, 삭제 가능 또는 재기록 가능 여부와 상관없이, ROM 등의 저장 장치와 같은 휘발성 또는 비휘발성 저장 장치, 또는 예를 들어, RAM, 메모리 칩, 장치 또는 집적 회로와 같은 메모리, 또는 예를 들어 콤팩트 디스크(compact disk: CD), DVD, 자기 디스크 또는 자기 테이프 등과 같은 광학 또는 자기적으로 기록 가능함과 동시에 기계(예를 들어, 컴퓨터)로 읽을 수 있는 저장 매체에 저장될 수 있다. 본 발명의 다양한 실시예들에 따른 방법은 제어부 및 메모리를 포함하는 컴퓨터 또는 휴대 단말에 의해 구현될 수 있고, 이러한 메모리는 본 발명의 실시예들을 구현하는 명령들을 포함하는 프로그램 또는 프로그램들을 저장하기에 적합한 기계로 읽을 수 있는 저장 매체의 한 예임을 알 수 있을 것이다. It will also be appreciated that the apparatus and method according to various embodiments of the present invention can be realized in the form of hardware, software, or a combination of hardware and software. Such software may include, for example, volatile or non-volatile storage devices such as ROM, whether removable or rewritable, or memory, such as RAM, memory chips, devices or integrated circuits, or For example, it may be stored in an optically or magnetically recordable and machine (eg, computer) readable storage medium such as a compact disk (CD), DVD, magnetic disk, or magnetic tape. Methods according to various embodiments of the present invention may be implemented by a computer or portable terminal including a control unit and a memory, and such a memory is suitable for storing a program or programs including instructions for implementing the embodiments of the present invention. It will be appreciated that this is an example of a suitable machine-readable storage medium.

따라서, 본 발명은 본 명세서의 청구항에 기재된 장치 또는 방법을 구현하기 위한 코드를 포함하는 프로그램 및 이러한 프로그램을 저장하는 기계(컴퓨터 등)로 읽을 수 있는 저장 매체를 포함한다. 또한, 이러한 프로그램은 유선 또는 무선 연결을 통해 전달되는 통신 신호와 같은 임의의 매체를 통해 전자적으로 이송될 수 있고, 본 발명은 이와 균등한 것을 적절하게 포함한다Accordingly, the present invention includes a program including code for implementing the device or method described in the claims of this specification and a storage medium readable by a machine (such as a computer) storing such a program. In addition, such a program may be transmitted electronically through any medium, such as a communication signal transmitted through a wired or wireless connection, and the present invention appropriately includes equivalents thereto.

또한 본 발명의 다양한 실시예들에 따른 장치는 유선 또는 무선으로 연결되는 프로그램 제공 장치로부터 프로그램을 수신하여 저장할 수 있다. 프로그램 제공 장치는 프로그램 처리 장치가 기 설정된 컨텐츠 보호 방법을 수행하도록 하는 지시들을 포함하는 프로그램, 컨텐츠 보호 방법에 필요한 정보 등을 저장하기 위한 메모리와, 그래픽 처리 장치와의 유선 또는 무선 통신을 수행하기 위한 통신부와, 그래픽 처리 장치의 요청 또는 자동으로 해당 프로그램을 송수신 장치로 전송하는 제어부를 포함할 수 있다. In addition, a device according to various embodiments of the present invention may receive and store a program from a program providing device connected by wire or wirelessly. The program providing device includes a memory for storing a program including instructions for causing the program processing device to perform a preset content protection method, information necessary for the content protection method, and the like, and a wired or wireless communication with the graphic processing device. It may include a communication unit and a control unit that transmits the corresponding program to the transmitting/receiving device at the request of the graphic processing device or automatically.

본 명세서와 도면에 개시된 본 발명의 실시 예들은 본 발명의 기술 내용을 쉽게 설명하고, 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 또한 앞서 설명된 본 발명에 따른 실시예들은 예시적인 것에 불과하며, 당해 분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 범위의 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 다음의 특허청구범위에 의해서 정해져야 할 것이다.Embodiments of the present invention disclosed in the present specification and drawings are merely presented as specific examples to easily explain the technical content of the present invention and help understanding of the present invention, and are not intended to limit the scope of the present invention. In addition, the embodiments according to the present invention described above are merely exemplary, and those skilled in the art will understand that various modifications and embodiments of equivalent range are possible therefrom. Therefore, the true technical protection scope of the present invention should be defined by the following claims.

Claims (8)

멀티미디어 시스템에서 수신 장치를 동작시키는 방법으로서,
액션이 발생할 것임을 나타내는 어플리케이션으로의 통지를 포함하는 이벤트와 관련된 이벤트 정보를 수신하는 단계를 포함하고,
상기 이벤트 정보가 DASH(dynamic adaptive streaming over hypertext transfer protocol)-기반 서비스들에 대한 제1 이벤트를 나타내는 경우, 상기 이벤트 정보는 MPD(media presentation description)에 포함되는 제1 이벤트 정보 박스 내에서 수신되고,
상기 이벤트 정보가 MMT(moving picture experts group media transport)-기반 서비스들에 대한 제2 이벤트를 나타내는 경우, 상기 이벤트 정보는 MMT 페이로드 내의 MPU(media processing unit)에 포함되는 제2 이벤트 정보 박스 내에서 수신되고, 그리고
상기 이벤트 정보가 상기 MMT-기반 서비스들에 대한 상기 제2 이벤트를 나타내는 경우, 상기 이벤트 정보는 상기 이벤트에 대한 값(value), 상기 이벤트의 식별자(ID), 상기 이벤트의 시작 시간, 상기 이벤트의 지속 시간, 및 상기 이벤트의 이벤트 데이터를 포함하는,
방법.
A method of operating a receiving device in a multimedia system, comprising:
receiving event information related to an event that includes a notification to an application indicating that an action is to occur;
When the event information indicates a first event for dynamic adaptive streaming over hypertext transfer protocol (DASH)-based services, the event information is received in a first event information box included in a media presentation description (MPD),
When the event information indicates a second event for moving picture experts group media transport (MMT)-based services, the event information is displayed in a second event information box included in a media processing unit (MPU) in the MMT payload. received, and
When the event information indicates the second event for the MMT-based services, the event information includes a value for the event, an identifier (ID) of the event, a start time of the event, and duration, and event data of the event,
method.
제1 항에 있어서,
상기 이벤트의 시작 시간은 상기 MPU가 표현되는 시간과 상기 이벤트가 상기 MPU 내에서 적용되는 시간과의 차이를 포함하는,
방법.
According to claim 1,
The start time of the event includes the difference between the time at which the MPU is expressed and the time at which the event is applied within the MPU.
method.
제1 항에 있어서,
상기 이벤트 데이터는 상기 액션을 포함하는,
방법.
According to claim 1,
The event data includes the action,
method.
제1 항에 있어서,
상기 이벤트 정보가 상기 MMT-기반 서비스들에 대한 상기 제2 이벤트를 나타내는 경우, 상기 MPU 내의 상기 이벤트 정보의 존재를 나타내는 제1 정보를 수신하는 단계를 더 포함하는,
방법.
According to claim 1,
Further comprising, when the event information indicates the second event for the MMT-based services, receiving first information indicating the existence of the event information in the MPU.
method.
멀티미디어 시스템에서의 수신 장치로서,
송수신기; 및
상기 송수신기에 연결된 제어기를 포함하고,
상기 제어기는 액션이 발생할 것임을 나타내는 어플리케이션으로의 통지를 포함하는 이벤트와 관련된 이벤트 정보를 수신하도록 구성되고,
상기 이벤트 정보가 DASH(dynamic adaptive streaming over hypertext transfer protocol)-기반 서비스들에 대한 제1 이벤트를 나타내는 경우, 상기 이벤트 정보는 MPD(media presentation description)에 포함되는 제1 이벤트 정보 박스 내에서 수신되고,
상기 이벤트 정보가 MMT(moving picture experts group media transport)-기반 서비스들에 대한 제2 이벤트를 나타내는 경우, 상기 이벤트 정보는 MMT 페이로드 내의 MPU(media processing unit)에 포함되는 제2 이벤트 정보 박스 내에서 수신되고, 그리고
상기 이벤트 정보가 상기 MMT-기반 서비스들에 대한 상기 제2 이벤트를 나타내는 경우, 상기 이벤트 정보는 상기 이벤트에 대한 값(value), 상기 이벤트의 식별자(ID), 상기 이벤트의 시작 시간, 상기 이벤트의 지속 시간, 및 상기 이벤트의 이벤트 데이터를 포함하는,
수신 장치.
As a receiving device in a multimedia system,
transceiver; and
a controller connected to the transceiver;
the controller is configured to receive event information related to an event including a notification to an application indicating that an action is to occur;
When the event information indicates a first event for dynamic adaptive streaming over hypertext transfer protocol (DASH)-based services, the event information is received in a first event information box included in a media presentation description (MPD),
When the event information indicates a second event for moving picture experts group media transport (MMT)-based services, the event information is displayed in a second event information box included in a media processing unit (MPU) in the MMT payload. received, and
When the event information indicates the second event for the MMT-based services, the event information includes a value for the event, an identifier (ID) of the event, a start time of the event, and duration, and event data of the event,
receiving device.
제5 항에 있어서,
상기 이벤트의 시작 시간은 상기 MPU가 표현되는 시간과 상기 이벤트가 상기 MPU 내에서 적용되는 시간과의 차이를 포함하는,
수신 장치.
According to claim 5,
The start time of the event includes the difference between the time at which the MPU is expressed and the time at which the event is applied within the MPU.
receiving device.
제5 항에 있어서,
상기 이벤트 데이터는 상기 액션을 포함하는,
수신 장치.
According to claim 5,
The event data includes the action,
receiving device.
제5 항에 있어서,
상기 제어기는 상기 이벤트 정보가 상기 MMT-기반 서비스들에 대한 상기 제2 이벤트를 나타내는 경우, 상기 MPU 내의 상기 이벤트 정보의 존재를 나타내는 제1 정보를 수신하도록 구성되는,
수신 장치.
According to claim 5,
Wherein the controller is configured to receive first information indicating the existence of the event information in the MPU when the event information indicates the second event for the MMT-based services,
receiving device.
KR1020220162229A 2015-06-23 2022-11-29 Method and apparatus for digital broadcast services KR102598237B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20150089353 2015-06-23
KR1020150089353 2015-06-23
KR1020150158360A KR102473346B1 (en) 2015-06-23 2015-11-11 Method and apparatus for digital broadcast services

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020150158360A Division KR102473346B1 (en) 2015-06-23 2015-11-11 Method and apparatus for digital broadcast services

Publications (2)

Publication Number Publication Date
KR20220165693A true KR20220165693A (en) 2022-12-15
KR102598237B1 KR102598237B1 (en) 2023-11-10

Family

ID=57810628

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020150158360A KR102473346B1 (en) 2015-06-23 2015-11-11 Method and apparatus for digital broadcast services
KR1020220162229A KR102598237B1 (en) 2015-06-23 2022-11-29 Method and apparatus for digital broadcast services

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020150158360A KR102473346B1 (en) 2015-06-23 2015-11-11 Method and apparatus for digital broadcast services

Country Status (4)

Country Link
EP (1) EP3314906A4 (en)
JP (1) JP6728246B2 (en)
KR (2) KR102473346B1 (en)
CN (2) CN107787586B (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102546152B1 (en) * 2017-02-15 2023-06-22 한국전자통신연구원 Method and apparatus for signaling video enhancement information(vei) for video quality enhancement of fixed/mobile broadcating hybrid 3dtv
CN109818926B (en) * 2018-12-25 2020-10-09 西安长远电子工程有限责任公司 Communication method without preplanning
KR102176098B1 (en) * 2019-01-28 2020-11-10 김영언 Method and apparatus for recognizing sound source
CN113961156A (en) * 2020-07-20 2022-01-21 北京字节跳动网络技术有限公司 Multi-screen display method, device and system, electronic equipment and computer medium
CN113114655A (en) * 2021-04-07 2021-07-13 深圳市瑞驰信息技术有限公司 Binary data interaction protocol design method based on TCP/IP

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080064326A1 (en) * 2006-08-24 2008-03-13 Stephen Joseph Foster Systems and Methods for Casting Captions Associated With A Media Stream To A User
KR20130031767A (en) * 2011-09-21 2013-03-29 서울시립대학교 산학협력단 Method and apparatus for synchronizing media data of multimedia broadcast service
WO2013080450A1 (en) * 2011-12-02 2013-06-06 ソニー株式会社 Information processing device, information processing method, and program
KR20130085987A (en) * 2012-01-20 2013-07-30 한국전자통신연구원 A method of transporting media data which has access units with multiple media fragment units in heterogeneous ip network
KR20140004131A (en) * 2011-01-19 2014-01-10 삼성전자주식회사 Apparatus and method for providing an application service in a broadcast system
EP2712187A1 (en) * 2011-05-20 2014-03-26 Nippon Hoso Kyokai Broadcast/communication linking system, application management server, receiver, method for reception in receiver, and method for application management in application management server
WO2014045893A1 (en) * 2012-09-20 2014-03-27 ソニー株式会社 Reception apparatus, reception method, broadcast apparatus, broadcast method, program, and interlock application control system
JP2015015706A (en) * 2013-07-03 2015-01-22 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Data transmission method, data reproduction method, data transmitter and data reproducer

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070049042A (en) * 2005-11-07 2007-05-10 삼성전자주식회사 Method and apparatus for delivering service guide contents source and notification event information in mobile broadcast system
US8972519B2 (en) * 2009-11-16 2015-03-03 International Business Machines Corporation Optimization of multimedia service over an IMS network
US9226045B2 (en) * 2010-08-05 2015-12-29 Qualcomm Incorporated Signaling attributes for network-streamed video data
EP3829180A1 (en) * 2011-01-19 2021-06-02 Samsung Electronics Co., Ltd. Apparatus and method for configuring a control message in a broadcast system
KR20120119790A (en) * 2011-04-22 2012-10-31 삼성전자주식회사 Method and apparatus for media data transmission, and method and apparatus for media data reception
CN102217322B (en) * 2011-05-27 2013-10-09 华为技术有限公司 Media forwarding method, media receiving method, client, and system
US8924582B2 (en) * 2012-07-09 2014-12-30 Futurewei Technologies, Inc. Dynamic adaptive streaming over hypertext transfer protocol client behavior framework and implementation of session management
JP6616064B2 (en) * 2013-07-25 2019-12-04 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Transmission method and reception method
WO2015029401A1 (en) * 2013-08-29 2015-03-05 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Transmission method, receiving method, transmission device, and receiving device
US9930086B2 (en) * 2013-10-28 2018-03-27 Samsung Electronics Co., Ltd. Content presentation for MPEG media transport

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080064326A1 (en) * 2006-08-24 2008-03-13 Stephen Joseph Foster Systems and Methods for Casting Captions Associated With A Media Stream To A User
KR20140004131A (en) * 2011-01-19 2014-01-10 삼성전자주식회사 Apparatus and method for providing an application service in a broadcast system
EP2712187A1 (en) * 2011-05-20 2014-03-26 Nippon Hoso Kyokai Broadcast/communication linking system, application management server, receiver, method for reception in receiver, and method for application management in application management server
KR20130031767A (en) * 2011-09-21 2013-03-29 서울시립대학교 산학협력단 Method and apparatus for synchronizing media data of multimedia broadcast service
WO2013080450A1 (en) * 2011-12-02 2013-06-06 ソニー株式会社 Information processing device, information processing method, and program
KR20130085987A (en) * 2012-01-20 2013-07-30 한국전자통신연구원 A method of transporting media data which has access units with multiple media fragment units in heterogeneous ip network
WO2014045893A1 (en) * 2012-09-20 2014-03-27 ソニー株式会社 Reception apparatus, reception method, broadcast apparatus, broadcast method, program, and interlock application control system
JP2015015706A (en) * 2013-07-03 2015-01-22 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Data transmission method, data reproduction method, data transmitter and data reproducer

Also Published As

Publication number Publication date
CN107787586A (en) 2018-03-09
JP2018524904A (en) 2018-08-30
KR20170000312A (en) 2017-01-02
CN107787586B (en) 2020-12-25
CN112738645A (en) 2021-04-30
JP6728246B2 (en) 2020-07-22
KR102598237B1 (en) 2023-11-10
KR102473346B1 (en) 2022-12-05
EP3314906A1 (en) 2018-05-02
CN112738645B (en) 2023-05-30
EP3314906A4 (en) 2018-07-11

Similar Documents

Publication Publication Date Title
JP6441521B2 (en) Control message composition apparatus and method in broadcast system
KR102598237B1 (en) Method and apparatus for digital broadcast services
CN107113460B (en) Session description information for over-the-air broadcast media data
US9661371B2 (en) Method for transmitting a broadcast service, apparatus for receiving same, and method for processing an additional service using the apparatus for receiving same
KR101594351B1 (en) Streaming of multimedia data from multiple sources
JP6045692B2 (en) Apparatus and method for processing interactive services
EP2784954A1 (en) Method for linking mmt media and dash media
US11615778B2 (en) Method for receiving emergency information, method for signaling emergency information, and receiver for receiving emergency information
US10469919B2 (en) Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method
US10484747B2 (en) Reception device, reception method, transmission device, and transmission method
US10880596B2 (en) Method and apparatus for transmitting and receiving signal in multimedia system
KR20170138994A (en) Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method
WO2012071931A1 (en) Method and system for dynamically inserting cut-in program into segmented program
US11310094B2 (en) Apparatus and method for transmitting or receiving broadcast signal
KR20160033027A (en) The method for transmitting or receiving multimedia and apparatus thereof
CN107005745B (en) Method and apparatus for encapsulating a stream of audiovisual content

Legal Events

Date Code Title Description
A107 Divisional application of patent
E701 Decision to grant or registration of patent right
GRNT Written decision to grant