KR20220165693A - Method and apparatus for digital broadcast services - Google Patents
Method and apparatus for digital broadcast services Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 44
- 238000012545 processing Methods 0.000 claims abstract description 23
- 238000012546 transfer Methods 0.000 claims abstract description 14
- 230000009471 action Effects 0.000 claims abstract description 7
- 230000003044 adaptive effect Effects 0.000 claims abstract description 6
- 230000011664 signaling Effects 0.000 description 71
- 230000005540 biological transmission Effects 0.000 description 25
- 230000006870 function Effects 0.000 description 22
- 238000005516 engineering process Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 17
- 238000004891 communication Methods 0.000 description 14
- 238000010586 diagram Methods 0.000 description 8
- 238000005538 encapsulation Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 238000007906 compression Methods 0.000 description 3
- 230000002452 interceptive effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing 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/434—Disassembling 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/4345—Extraction or processing of SI, e.g. extracting service information from an MPEG stream
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-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/4722—End-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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/63—Control 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/643—Communication protocols
- H04N21/64322—IP
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/654—Transmission by server directed to the client
- H04N21/6543—Transmission by server directed to the client for forcing some client operations, e.g. recording
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network 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/65—Transmission of management data between client and server
- H04N21/658—Transmission by the client directed to the server
- H04N21/6581—Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/81—Monomedia components thereof
- H04N21/8166—Monomedia components thereof involving executable data, e.g. software
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/84—Generation or processing of descriptive data, e.g. content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/858—Linking 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)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Description
본 발명은 디지털 방송 서비스에서 애플리케이션 프로그램 서비스 정보 및 이벤트의 전송을 위한 방법 및 장치에 관한 것이다.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,
일 실시예에 따르면, 미디어 부호화 계층(110)과 캡슐화 기능 계층(120)은 멀티미디어 컨텐츠 및/또는 멀티미디어 서비스에 따른 멀티미디어 데이터를 생성하는 멀티미디어 데이터 생성부로서 동작한다. 또한 전달 기능 계층(130)는 데이터 생성부로부터 입력된 멀티미디어 데이터를 기반으로 멀티미디어 데이터 패킷을 구성하는 멀티미디어 데이터 구성부로서 동작한다. 멀티미디어 데이터 구성부에 해당하는 전달 기능 계층(130)은 멀티미디어 데이터 생성부로부터 제공된 적어도 하나의 멀티미디어 데이터를 식별하여 헤더 정보를 구성하고, 헤더 정보와 적어도 하나의 멀티미디어 데이터를 결합하여 멀티미디어 데이터 패킷을 구성한다.According to an embodiment, the media encoding layer 110 and the
미디어 부호화 계층(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
전달 기능 계층(130)은 캡슐화 기능 계층(120)에서 출력되는 데이터 유닛(들)을 MMT 페이로드 포맷으로 변환화한 후 MMT 전송 패킷 헤더(MMT Transport Packet Header)를 부가하여 MMT 전송 패킷으로 구성하거나 또는 기존 전송 프로토콜인 RTP(Real-time Protocol)를 사용하여 RTP 패킷으로 구성한다. The
전달 기능 계층(130)에서 구성된 패킷들은 UDP(User Datagram Protocol) 혹은 TCP(Transport Control Protocol)와 같은 전송 프로토콜 계층(140)을 거쳐 최종적으로 인터넷 프로토콜(IP) 계층(150)에서 IP 패킷화되어 전송된다. 전송 프로토콜 계층(140) 및 IP 계층(150)은 데이터 전송부로서 동작할 수 있다. 선택적으로 존재할 수 있는 제어 기능부(100)는 데이터의 전송에 필요한 제어 정보 혹은 시그널링 정보를 생성하여 데이터에 부가하여 전송하거나, 혹은 별도의 시그널링 수단을 통해 전송한다.Packets constructed in the
전달 기능 계층(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
도 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
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
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
여기서 엘리멘터리 스트림(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 합성 정보(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
도 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 패키지(240)의 처리는 MPU의 단위로 적용되며, MMT 애셋(320)은 동일한 MMT 애셋 ID를 가지는 하나 혹은 그 이상의 MPU들의 집합체로서, 각 MMT 애셋(320)에 관련된 트랜스포트 특성은 ADC(330)에 의해 표현된다. ADC(330)는 MMT 패키지를 패킷화하는 개체에 의해, MMT 페이로드의 파라미터들과 MMT 패킷의 헤더 정보를 구성하는데 사용될 수 있다. The processing of the
상기와 같은 패키지의 구성 정보 및 이를 사용자 단말에서 수신하고 소비하기 위해 필요한 정보는 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
과정 415에서 단말은 상기 방송 프로그램을 재생하는 도중, 이벤트를 제공하는 채널인 이벤트 스트림(Event Stream)으로 전송되는 이벤트 정보를 수신하고, 이에 따른 동작을 수행한다. 도시된 예에서 단말은 Show X의 중간 부분, 즉 광고 시간이 시작되는 시점에서 광고 중인 제품의 추가적인 정보를 제공하는 애플리케이션 프로그램 서비스 Y의 실행에 관한 이벤트 정보를 수신한다. 과정 420에서 단말은 상기 이벤트 정보를 기반으로 상기 애플리케이션 프로그램 서비스 Y(즉 광고 서비스)를 실행한다. 일정 시간 후 과정 425에서 상기 애플리케이션 프로그램 서비스 Y의 종료 이벤트가 수신되면 단말은 상기 서비스 Y를 종료한다. In
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
파일 데이터 수신기(530)는 데이터 수신기(505)로부터 전달된 패킷을 처리하여 상기 패킷에 포함된 데이터를 파일 처리기(535)로 전달한다. 일 예로 파일 데이터 수신기(530)는 MMT에서 정의된 GFD(Generic File Delivery) 모드로 전송되는 MMTP (MMT Protocol) 패킷을 수신하여 MMTP 페이로드로 재구성한 뒤 파일 처리기(535)로 전달하거나, ROUTE를 포함한 다양한 파일 전송 프로토콜들 중 하나를 통해 전송되는 패킷을 수신하여 원하는 데이터를 추출한 뒤 파일 처리기(535)로 전달한다. 파일 처리기(535)는 파일 데이터 수신기(530)로부터 전달받은 데이터를 기반으로 개별 파일들을 재구성한다. The
미디어 데이터 수신기(540) 및 미디어 처리기(545)는 미디어 데이터를 처리하는 구성 요소들이다. 일 예로 미디어 데이터가 MMT에서 정의된 MPU(MMT Processing Unit)인 경우, 미디어 처리기(545)는 MMTP의 MPU 모드로 전송되는 미디어 데이터를 처리하는 구성 요소일 수 있다. 이 때 미디어 데이터 수신기(540)는 데이터 수신기(505) 내의 MMT 데이터 수신기(515)로부터 전달받은 MMTP 패킷을 바탕으로 MMTP 페이로드를 재구성하여 MPU를 생성하며, 미디어 처리기(545)는 상기 MPU를 전달받아 서비스 표시기(570)를 통해 재생하는 역할을 수행한다. The
미디어 데이터가 파일을 통해 전송되는 경우, 파일 처리기(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
미디어 데이터 수신기(540)는 MPU나 DASH 세그먼트와 같이 ISOBMFF(ISO Base Media File Format)을 따르는 미디어 파일의 전체를 생성한 이후에 상기 미디어 파일을 미디어 처리기(545)에 전달하거나, 또는 채널전환 시간 감소를 위하여 상기 미디어 파일의 전체가 생성되기 전에 생성된 일부를 미디어 처리기(545)에 전달할 수 있다.The
데이터 수신기(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
시그널링 처리기(555)는 파싱된 시그널링 정보를 바탕으로 다른 구성 요소들과 상호 작용하여 추가적인 동작을 수행한다. 예를 들어, 애플리케이션 프로그램 서비스에 관련된 시그널링 정보가 수신된 경우, 시그널링 처리기(555)는 상기 애플리케이션 프로그램 서비스의 실행에 필요한 데이터를 수신하기 위해 필요한 정보를 파일 데이터 수신기(530)로 전달하여 관련 데이터를 수신하도록 한다. The signaling
애플리케이션 프로그램 서비스의 제어와 관련된 이벤트 정보는 전용 시그널링 채널을 통해 전송되거나 또는 미디어 데이터에 내재되어 전송될 수 있다. 예를 들어 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
애플리케이션 프로그램 관리기(565)는 애플리케이션 프로그램 서비스에 관한 전반적인 정보를 저장 및 관리하며, 개별 애플리케이션 프로그램 서비스의 동작을 관리하고, 서비스 표시기(570)를 통해 각 애플리케이션 프로그램 서비스의 정보를 표시한다. 이를 위해 애플리케이션 프로그램 관리기(565)는 시그널링 처리기(555)와 파일 처리기(535)와 상호 연동하여 애플리케이션 프로그램 서비스의 제공에 필요한 데이터 및 시그널링 정보를 전달받게 된다. The
이하 애플리케이션 프로그램 서비스와 관련된 시그널링 정보 및 이벤트 정보를 전달하는 동작을 설명한다.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.
여기서 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.
여기서 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_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().
후술되는 실시예에서, 애플리케이션 프로그램 서비스에 관련된 정보는, 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.
여기서 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.
여기서 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.
여기서 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().
여기서 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.
여기서 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.
여기서 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
과정 630에서 단말은 이벤트 정보를 저장한 시그널링 메시지인 AEI 메시지가 수신되는지 판단하고, 상기 AEI 메시지에 포함되는 AE 테이블로부터 이벤트 적용 시간에 대한 정보를 획득하여 상기 이벤트 적용 시간에 도달하였는지를 판단한다. 상기 이벤트 적용 시간에 도달한 경우, 과정 635에서 해당하는 이벤트를 바탕으로 애플리케이션 프로그램 서비스를 제어(일 예로 개시 혹은 종료)한다. 상기 이벤트 적용 시간에 도달하기 전까지 단말은 과정 620에서 서비스를 재생할 수 있다.In
도 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
한편, 과정 715에서 단말은 상기 MMT 시그널링 메시지를 기반으로 MPU 내에 이벤트 정보가 내재하여 전송되는지를 확인한다. 즉, 단말은 MMT 시그널링 메시지 내의 MP 테이블에 포함된 애셋 레벨 디스크립터를 분석하여 해당 애셋을 전송하는 MPU 내에 이벤트 정보가 포함되는지 여부를 확인한다. 만일 상기 애셋 레벨 디스크립터가 MPU 내에 이벤트 정보가 포함됨을 지시하는 경우, 과정 720에서 단말은 해당 애셋의 MPU를 수신할 때마다 단말은 MPU에서 이벤트 정보를 추출하여 저장한다. 과정 740에서 단말은 서비스를 재생하는 중 주기적으로 이벤트 적용 시간에 도달하였는지를 확인한다. 일 예로 상기 이벤트 적용 시간에 대한 정보는 AEI 메시지 내의 AE 테이블로부터 획득될 수 있다. 상기 이벤트 적용 시간에 도달한 경우, 과정 745에서 단말은 해당하는 이벤트를 적용하여 애플리케이션 프로그램 서비스를 제어한다. Meanwhile, in
일 실시 예에서 시그널링 테이블 및 디스크립터들은 다음 <표 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.
상기 <표 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_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>.
여기서 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.
상기 이벤트의 시작 시간은 상기 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.
상기 이벤트 데이터는 상기 액션을 포함하는,
방법.
According to claim 1,
The event data includes the action,
method.
상기 이벤트 정보가 상기 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.
상기 이벤트의 시작 시간은 상기 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.
상기 이벤트 데이터는 상기 액션을 포함하는,
수신 장치.
According to claim 5,
The event data includes the action,
receiving device.
상기 제어기는 상기 이벤트 정보가 상기 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.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020150089353 | 2015-06-23 | ||
KR20150089353 | 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) | CN112738645B (en) |
Families Citing this family (5)
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)
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)
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 |
JP5671297B2 (en) * | 2009-11-16 | 2015-02-18 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method and system for optimizing multimedia services over an IMS network |
US9716920B2 (en) * | 2010-08-05 | 2017-07-25 | Qualcomm Incorporated | Signaling attributes for network-streamed video data |
WO2012099423A2 (en) * | 2011-01-19 | 2012-07-26 | 삼성전자 주식회사 | 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 |
EP2706755A4 (en) * | 2011-05-27 | 2014-07-16 | Huawei Tech Co Ltd | Media transmission method, media reception method, client and system thereof |
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 |
-
2015
- 2015-11-11 KR KR1020150158360A patent/KR102473346B1/en active IP Right Grant
-
2016
- 2016-06-23 CN CN202011447415.5A patent/CN112738645B/en active Active
- 2016-06-23 EP EP16814701.5A patent/EP3314906A4/en active Pending
- 2016-06-23 JP JP2017566110A patent/JP6728246B2/en not_active Expired - Fee Related
- 2016-06-23 CN CN201680036782.1A patent/CN107787586B/en active Active
-
2022
- 2022-11-29 KR KR1020220162229A patent/KR102598237B1/en active IP Right Grant
Patent Citations (8)
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 |
---|---|
EP3314906A1 (en) | 2018-05-02 |
EP3314906A4 (en) | 2018-07-11 |
KR20170000312A (en) | 2017-01-02 |
CN112738645A (en) | 2021-04-30 |
CN107787586B (en) | 2020-12-25 |
CN107787586A (en) | 2018-03-09 |
KR102598237B1 (en) | 2023-11-10 |
KR102473346B1 (en) | 2022-12-05 |
JP6728246B2 (en) | 2020-07-22 |
JP2018524904A (en) | 2018-08-30 |
CN112738645B (en) | 2023-05-30 |
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 | |
JP6545804B2 (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 | |
EP2784954A1 (en) | Method for linking mmt media and dash media | |
US12106747B2 (en) | Receiver, signaling device, and method for receiving emergency information time information | |
US10469919B2 (en) | Broadcast signal transmission apparatus, broadcast signal reception apparatus, broadcast signal transmission method, and broadcast signal reception method | |
JP2015527807A (en) | Apparatus and method for processing interactive services | |
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 |