WO2013077670A1 - Method and apparatus for streaming service for providing scalability and view information - Google Patents

Method and apparatus for streaming service for providing scalability and view information Download PDF

Info

Publication number
WO2013077670A1
WO2013077670A1 PCT/KR2012/009978 KR2012009978W WO2013077670A1 WO 2013077670 A1 WO2013077670 A1 WO 2013077670A1 KR 2012009978 W KR2012009978 W KR 2012009978W WO 2013077670 A1 WO2013077670 A1 WO 2013077670A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
scalable
information
header
mmt
Prior art date
Application number
PCT/KR2012/009978
Other languages
French (fr)
Korean (ko)
Inventor
이진영
이봉호
윤국진
정원식
허남호
김재곤
백두산
Original Assignee
한국전자통신연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국전자통신연구원 filed Critical 한국전자통신연구원
Priority to JP2014543422A priority Critical patent/JP2015503281A/en
Priority to US14/360,174 priority patent/US20140344470A1/en
Priority claimed from KR1020120133477A external-priority patent/KR102003925B1/en
Publication of WO2013077670A1 publication Critical patent/WO2013077670A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2368Multiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440227Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by decomposing into layers, e.g. base layer and one or more enhancement layers

Definitions

  • the following embodiments are directed to a method and apparatus for a streaming service.
  • An apparatus and method for providing a stream comprising scalability and view information is disclosed.
  • MPEG-2 systems perform packetization and multiplexing to store or transmit an elementary stream (ES) generated from a video part and an audio part.
  • ES elementary stream
  • the above process can be divided into two types.
  • One is a process of creating a program stream (PS) to be stored in a storage medium.
  • PS program stream
  • the other is a process of creating a transport stream (TS) for transmission or broadcasting in a network.
  • TS transport stream
  • the scalability information of the scalable video in the payload of the TS may be grasped through the program specific information (PSI).
  • PSI program specific information
  • the MPEG-2 system In order to use the scalability information, the MPEG-2 system must periodically synchronize with the PSI information and analyze the PSI information every time.
  • PSI Program Specific Information
  • PID Packet Identifier
  • a separate ES should be configured for each scalable layer to be identified at the TS level, and a PID should be allocated.
  • ESs In order to identify various scalable layers at the TS level, a large number of ESs must be configured. The need for a large number of ESs complicates the structure of the TS generator (ie, multiplexer) and the TS demultiplexer.
  • digital broadcasting is expected to evolve from current stereo 3D video broadcasting to ultra high definition (UHD) broadcasting and multiview 3D video broadcasting. According to this expectation, more transmission amount is required for digital broadcasting.
  • UHD ultra high definition
  • a packet of a conventional MPEG-2 Transport Stream has a limited size of 188 bytes. Therefore, as a packet of MPEG-2 TS, a new transport packet needs to be defined. Research on a transmission format that is more effective than the existing MPEG-2 TS is required. As the above studies, standardization of MPEG Media Transport (MMT), which replaces the existing MPEG-2 TS, is being conducted.
  • MMT MPEG Media Transport
  • One embodiment may provide an apparatus and a method for providing information of scalable video and multi-view video through MPEG-2 TS.
  • the embodiment can provide a streaming apparatus and a method for providing information of scalable video and multi-view video through MMT.
  • the MPEG-2 transport The stream includes a scalable video stream
  • the header of the MPEG-2 transport stream packet includes the scalability information of the scalable video stream.
  • the scalable video stream may be divided in a payload of the MPEG-2 transport stream packet.
  • the scalability information may be present in private transport data of the header.
  • the private transmission data may be present in an optional field in an adaptation field of the header.
  • the header may include a scalability information flag indicating the presence or absence of the scalability information and a view information flag indicating the presence or absence of view information of the scalable video stream.
  • the header may include a private data flag indicating the presence or absence of the scalability information flag and the view information flag.
  • the scalability information may include spatial scalability information of the scalable video, temporal scalability information of the scalable video, and image quality scalability information of the scalable video.
  • the view information may exist in private transmission data of the header.
  • the packet generator may generate the view information using second view information in a network abstraction layer unit (NALU) header of multi-view video coding (MVC).
  • NALU network abstraction layer unit
  • MVC multi-view video coding
  • the packet generator may generate the scalability information using second scalability information in a network abstraction layer unit header of scalable video coding (SVC).
  • SVC scalable video coding
  • the packet generator may generate the scalability information only when data of the network abstraction layer unit header exists in the MPEG-2 transport stream packet.
  • the packet generation unit includes the scalability information only in the MPEG-2 transport stream packet having data of the network abstraction unit header among one or more MPEG-2 transport stream packets having the same packet identifier (PID). Can be generated.
  • PID packet identifier
  • the packet generator may include a scalability information inserter for inserting the scalability information into the MPEG-2 transport stream packet.
  • the MPEG-2 transport stream is a scale
  • a streaming client comprising a flexible video stream, wherein the header of the MPEG-2 transport stream packet includes the scalability information of the scalable video stream.
  • the packet processor may determine whether the scalability information and the view information exist in the packet based on the view information flag in the header.
  • the packet processor may generate scalability information in a network abstraction layer unit header of scalable video coding based on the scalability information.
  • the packet processor may extract the scalability information only when data of the network abstraction layer unit header exists in the MPEG-2 transport stream packet.
  • the packet processor may extract the scalability information only from the MPEG-2 transport stream packet having data of a network abstraction unit header among one or more MPEG-2 transport stream packets having the same packet identifier.
  • the packet processing unit may include a second MPEG-2 transport stream packet of a previous time closest to the transport stream packet including the scalability information among the one or more MPEG-2 transport stream packets having the same packet identifier.
  • the scalability information of the MPEG-2 transport stream packet may be extracted.
  • a packet generation operation for generating an MPEG-2 transport stream packet and a transmission operation for transmitting the MPEG-2 transport stream generated by using the MPEG-2 transport stream packet
  • An MPEG-2 transport stream includes a scalable video stream
  • a header of the MPEG-2 transport stream packet includes scalability information of the scalable video stream.
  • the scalable video information and the multiview video information or the scalable multiview video information may be selectively present in the MFU header.
  • the header may include scalable video information, multiview video information, and combined scalability information of scalable multiview video according to the layer type information.
  • MMT MPEG Media Transport
  • a streaming server is provided that includes one or more of video and scalable multiview video.
  • the media fragment unit (MFU) in the MMT packet may include one or more of the scalable video, the multiview video, and the scalable multiview video.
  • the header of the MFU may include a priority identifier (ID).
  • ID priority identifier
  • the priority ID may indicate a priority of the multiview layer of the multiview video included in the MFU.
  • the header of the MFU may include a view ID, an inter-view prediction flag, and an anchor picture flag.
  • the view ID may indicate a unique ID of the multiview video.
  • the inter-view prediction flag may indicate whether the current view component may be predicted by another view component in the current access unit (AU).
  • the anchor picture flag may be used for random access to the multiview video.
  • the header of the MFU may include a priority ID.
  • the priority ID may indicate a priority of the scalable layer of the scalable video included in the MFU.
  • the header of the MFU may include a spatial ID, a temporal ID, and an image quality ID.
  • the spatial ID may indicate a spatial level of the scalable video.
  • the temporal ID may indicate a temporal level of the scalable video.
  • the quality ID may indicate the quality level of the scalable video.
  • the header of the MFU may include a priority ID.
  • the priority ID may indicate a priority of the multiview scalable video included in the MFU.
  • the header of the MFU may include a view ID, a spatial ID, a temporal ID, and an image quality ID.
  • the view ID may indicate a unique ID of the scalable multiview video.
  • the spatial ID may indicate a spatial level of the scalable multiview video.
  • the temporal ID may indicate a temporal level of the scalable multiview video.
  • the quality ID may indicate a quality level of the scalable multiview video.
  • the header of the MFU may include a layer information flag.
  • the layer information flag may indicate the presence or absence of information on at least one of the scalable video, the multiview video, and the scalable multiview video.
  • the header may include information of a type of one or more layers of the header scalable video, the multiview video, and the scalable multiview video through the layer information flag.
  • the header may include one or more of the information of the multiview video, the information of the scalable video, and the information of the multiview scalable video according to the information of the type of the layer.
  • One or more of the scalable video, the multiview video, and the scalable multiview video may be divided in an MFU payload in the MMT packet.
  • generating an MPEG Media Transport (MMT) packet and transmitting the MMT stream using the MMT packet the MMT packet is multi-view video
  • scalable A streaming service method is provided that includes one or more of video and scalable multiview video.
  • a network unit for receiving an MPEG Media Transport (MPT) stream and a processing unit for processing MMT packets in the MMT stream, wherein the MMT packet is multi-view video, scalable video And a scalable client comprising one or more of scalable multiview video.
  • MPT MPEG Media Transport
  • the media fragment unit (MFU) in the MMT packet may include one or more of the scalable video, the multiview video, and the scalable multiview video.
  • the header of the MFU may include a priority identifier (ID).
  • ID priority identifier
  • the priority ID may indicate a priority of the multiview layer of the multiview video included in the MFU.
  • the header of the MFU may include a view ID, an inter-view prediction flag, and an anchor picture flag.
  • the view ID may indicate a unique ID of the multiview video.
  • the inter-view prediction flag may indicate whether the current view component may be predicted by another view component in the current access unit (AU).
  • the anchor picture flag may be used for random access to the multiview video.
  • the header of the MFU may include a priority ID.
  • the priority ID may indicate a priority of the scalable layer of the scalable video included in the MFU.
  • the header of the MFU may include a spatial ID, a temporal ID, and an image quality ID.
  • the spatial ID may indicate a spatial level of the scalable video.
  • the temporal ID may indicate a temporal level of the scalable video.
  • the quality ID may indicate the quality level of the scalable video.
  • the header of the MFU may include a priority ID.
  • the priority ID may indicate a priority of the multiview scalable video included in the MFU.
  • the method includes receiving an MPEG Media Transport (MMT) stream and processing an MMT packet in the MMT stream, wherein the MMT packet includes: multiview video, scalable video, and the like.
  • MMT MPEG Media Transport
  • a streaming service method is provided that includes one or more of scalable multiview video.
  • Scalability information at the TS level can be provided by extending the TS header and inserting the scalability information into the extended TS header.
  • Scalability information and view information may be transmitted using a TS header without changing the existing syntax and meaning.
  • the overhead of the TS header can be reduced by inserting the scalability information only in the TS packet header in which the NALU header exists.
  • scalability information By inserting scalable video information and multiview video information into an MFU header of an MMT packet, scalability information, view information, inter-view prediction flag information, and anchor picture flag information for random access may be provided in MMT.
  • 1 is an extended configuration diagram of a TS header according to an example.
  • FIG. 2 is a diagram illustrating an additional field according to an example.
  • FIG. 3 illustrates syntax of extending private transmission data of a TS header for transmitting scalability information according to an embodiment.
  • FIG. 4 is a structural diagram of an adaptation field in which private transmission data exists according to an embodiment.
  • FIG. 5 illustrates scalability information being inserted into a TS header by using scalability information present in a Network Abstraction Layer Unit (NALU) header of Scalable Video Coding (SVC) according to an example. The method is shown.
  • NALU Network Abstraction Layer Unit
  • SVC Scalable Video Coding
  • FIG. 6 is a structural diagram of a streaming server according to an embodiment.
  • FIG. 7 is a structural diagram of a streaming client according to an embodiment.
  • FIG. 8 is a flowchart of a streaming service method according to an exemplary embodiment.
  • FIG 9 illustrates a media fragment unit according to an example.
  • FIG. 10 illustrates a single M-unit case of an M-unit according to an example.
  • FIG. 11 illustrates a fragmented M-unit case of an M-unit according to an example.
  • FIG 12 illustrates an MMT asset according to an example.
  • FIG 13 illustrates an MMT package according to an example.
  • FIG. 14 illustrates an MMT-PL format for a control type packet according to an example.
  • FIG. 15 illustrates an MMT-PL format for a packet of a media type according to an example.
  • 16 illustrates an MMT-PL format for a packet of a control type according to an example.
  • FIG. 17 illustrates a first MMT packet according to an example.
  • 19 illustrates a syntax for providing scalable video or multiview video information according to an embodiment.
  • 20 is a structural diagram of a streaming server according to an embodiment.
  • 21 is a structural diagram of a streaming client according to an embodiment.
  • FIG. 22 is a flowchart of a streaming service method according to an embodiment.
  • FIG. 1 is an enlarged configuration diagram of a TS header 112 according to an example.
  • the TS packet stream 100 is composed of TS packets 110.
  • the TS packet constitutes a header (ie, a TS header) 112 and a payload 114.
  • the length of the TS packet 110 is fixed length and is 188 bytes.
  • the header 112 includes a sync byte 122, a transport error indicator 124, a payload unit start indicator 126, and a transport priority. 128, Packet Identifier (PID) 130, Transport Scrambling Control 132, Adaptation Field Control 134, Continuity Counter 136 ) And an adaptation field 138.
  • PID Packet Identifier
  • each field ie the bits that make up each field
  • the length of each field is indicated as a number at the bottom of the field.
  • the sync byte 122 is eight bits.
  • Sink byte 122 is byte-aligned. Therefore, when the sync byte 122 is retrieved from the TS stream 100 through byte alignment, the TS packet 110 may be extracted.
  • Each TS packet 110 contains a different payload 114.
  • a PID 130 is present in the header 112.
  • adaptation field control 134 in the header 112 to indicate the presence or absence of a payload.
  • the adaptation field control 134 indicates the presence or absence of the adaptation field 138.
  • the adaptation field control 134 is in the payload 114 of the TS packet 110.
  • the adaptation field 138 includes an adaptation field length 142, a discontinuity indicator 144, a random access indicator 146, and an elementary stream priority indicator.
  • Stream Priority Indicator 148 five Flags 150, an Optional Field 152, and Stuffing Bytes 154.
  • Five flags 150 in the adaptation field 138 may indicate the presence or absence of various information in the additional field 152.
  • FIG. 2 is a diagram illustrating an additional field 152 according to an example.
  • Additional fields 152 include Program Clock Reference (PCR) 212, Original Program Clock Reference (OPCR) 214, Splice Countdown ( 216, Transport Private Data Length 218, Transport Private Data 220, Adaptation Field Extension Length 222, 3 Flags 224 and Optional Field 226.
  • PCR Program Clock Reference
  • OPCR Original Program Clock Reference
  • Splice Countdown Splice Countdown
  • scalability information is inserted into private transmission data 220.
  • the five flags 150 described above may indicate whether scalable video is in payload 114 by indicating the presence or absence of private transmission data 220.
  • Additional fields 226 include Legal Time Window (LTW) valid flag (ltw_valid flag) 232, Legal Time Window Offset (LTW Offset) 234, Reserved 236, Piece Piecewise Rate 238, Splice Type 240, and Decoding Time Stamp (DTS) _next_au (DTS_next_au) 242.
  • FIG. 3 illustrates syntax of extending private transmission data 220 of the TS header 112 for transmitting scalability information according to an embodiment.
  • the transport private data flag (transport_private_data_flag) 300 indicates that a transport private data length (transport_private_data_length) 310, a view information flag (view_info_flag) 320, and a scalable information flag (scalable_info_flag) 330 exist.
  • View information flag 320 is used to indicate that view information exists.
  • the scalable information flag 330 indicates that scalability information exists.
  • the information of the view information flag 320 and the scalable information flag 330 determines what information is transmitted and determines what information is included.
  • the view information (view_id) 340, the spatial scalability information (spatial_scalability) (or spatial_id) 350, the temporal Scalability information (temporal_scalability) (or temporal_id) 360, quality scalability information (quality_scalability) (or quality_id) 370 may be transmitted, and 2 bits may be reserved.
  • the view information 340 and the temporal scalability information may be transmitted.
  • the spatial scalability information (spatial_id) 350, the temporal scalability information (temporal_id) 360, and the image quality scalability information 370 may be transmitted. 4 bits can be secured.
  • FIG. 4 is a structural diagram of an adaptation field 138 in which private transmission data 220 is present, according to an exemplary embodiment.
  • the TS header 112 generally has a size of 4 bytes and transmits necessary information by using the adaptation field 138 as needed.
  • the adaptation field length 142 represents the length of the entire adaptation field 138.
  • the use of the five flags 412 allows the use of the option field 414 present after the five flags 412. You can decide.
  • the two flags 422 in the option field 414 can be viewed through the privately transmitted data 220 field to view information and scalability information. And whether to transmit private data 424.
  • the view information 340 is transmitted.
  • the value of the scalable information flag 330 is '1', the information of the spatial scalability 350, the information of the temporal scalability 360, and the information of the image quality scalability 370 are transmitted.
  • the scalability information and the view information can be transmitted without changing the existing syntax and meaning.
  • FIG. 5 illustrates scalability information by using scalability information present in a Network Abstraction Layer Unit (NALU) header of Scalable Video Coding (SVC) according to an example. It shows how to insert in.
  • NALU Network Abstraction Layer Unit
  • SVC Scalable Video Coding
  • SVC is one of the scalable video standards.
  • the scalability information 540 includes a dependency identifier (dependency_id), a temporal identifier (temporal_id), and a quality identifier (quality_id).
  • dependency_id dependency identifier
  • temporal identifier temporal identifier
  • quality_id quality identifier
  • the dependency identifier is indicated by D1, D2, etc. in order.
  • the temporal identifiers are indicated by T1, T2, etc. in order.
  • the image quality identifiers are indicated by Q1, Q2, etc. in order.
  • One NALU is packetized to the PES 510.
  • the PES 510 may be packetized into several TS packets 520 having the same PID.
  • scalability information of the corresponding NALU may be inserted into the header 112 of each TS packet 110.
  • the scalability information may be inserted only in the TS packet header in which the NALU header 530 exists among the TS packets having the same PID. And the overhead of the TS header 112 can be reduced.
  • the NALU scalability information 540 may be inserted only in the header 112 of the TS packet 110 in which the NALU header 530 is inserted into the payload 114 of the TS packet.
  • the NALU scalability information 540 may also be applied to the view information of the NALU.
  • the NALU may be a NALU of multi-view video coding (MVC).
  • view information of the corresponding NALU may be inserted into the header 112 of each TS packet 110.
  • view information of the corresponding NALU may be inserted only in the header 112 of the TS packet 110 in which the NALU header 530 is inserted into the payload 114 of the TS packet.
  • FIG. 6 is a structural diagram of a streaming server 600 according to an embodiment.
  • the streaming server 600 may represent an MPEG-2 TS generating apparatus that generates an MPEG-2 TS.
  • the streaming server 600 includes a packet generator 610 and a transmitter 620.
  • the packet generator 610 generates the aforementioned TS packet 110.
  • the transmitter 620 transmits the TS stream 100 using the TS packet 110.
  • the TS stream 100 may include a scalable video stream.
  • the scalable video stream may be divided in the payload 114 of the TS packet 110. That is, one or more TS packets 110 constituting the TS stream 100 may include a scalable video stream in the payloads 114.
  • the transmitter 620 may transmit the TS stream 100 to another streaming client 700 such as a video player through the network interface 630.
  • the transmitter 620 may store the TS stream 100 in the storage 640 inside the streaming server 600.
  • the header 112 of the TS packet 110 includes scalability information of the scalable video stream.
  • the packet generator 610 may include a scalability information inserter 650.
  • the scalability information inserter 650 inserts (or adds) scalability information into the already generated TS packet 110.
  • the above-described scalability information may be generated by the packet generator 610 and inserted into the TS packet 110 by the scalability information inserter 650.
  • the scalability information may be present in the private transmission data 220. That is, the packet generator 610 may generate scalability information in the private transmission data 220. In addition, the scalability information insertion unit 650 may change the private transmission data 220 and other parts in the TS packet 110 associated with it in order to insert the scalability information into the TS packet 110.
  • the packet generator 610 may include a scalability information flag 330 indicating presence of scalability information and a view information flag 320 indicating presence of view information of the scalable video stream.
  • the packet generator 610 may generate the scalability information flag 330 and the view information flag 320 in the header 112.
  • the scalability information insertion unit 650 may set the value of the scalability information flag 330 according to the presence or absence of the scalability information, and may set the value of the view information flag 320 according to the presence or absence of the view information. .
  • Scalability information may be present in the adaptation field 138 in the private transmission data 220 of the TS header 112. In addition, scalability information may be present in additional fields 152 in the adaptation field 138.
  • the view information may be present in the adaptation field 138 in the private transmission data 220 of the TS header 112.
  • scalability information may be present in additional fields 152 in the adaptation field 138.
  • the transport historic data flag 310 of the TS header 112 may indicate the presence or absence of the scalability information flag 330 and the view information flag 320.
  • the packet generator 610 may generate a private data flag 310 in the header 112.
  • the scalability information insertion unit 650 may set the value of the private data flag 310 according to the presence or absence of the scalability information flag 330 and the view information flag 320.
  • the scalability information may include one or more of spatial scalability information 350, temporal scalability information 360, and quality scalability information 370 of the scalable video.
  • the packet generator 610 may generate view information using the view information in the NALU header 530 of the MVC.
  • the scalability information inserter 650 may insert the view information into the TS header 112 using the view information in the NALU header 530 of the multi-view video coding.
  • the packet generator 610 may generate scalability information using the scalability information in the NALU header 530 of the SVC.
  • the scalability information inserter 650 may insert scalability information into the TS header 112 using the scalability information in the NALU header 530 of the SVC.
  • the packet generator 610 may generate scalability information only when data of the NALU header 530 exists in the TS packet 110.
  • the scalability information insertion unit 650 may insert scalability information only in the TS packet 110 having data of the NALU header 530.
  • MPEG-2 transport stream packets There may be one or more MPEG-2 transport stream packets with the same PID.
  • the packet generator 610 may generate scalability information only in the TS packet 110 in which data of the NALU header 530 exists among one or more MPEG-2 transport stream packets having the same PID.
  • the scalability information inserter 650 may insert scalability information only in the TS packet 110 in which data of the NALU header 530 exists among one or more MPEG-2 transport stream packets having the same PID.
  • FIG. 7 is a structural diagram of a streaming client 700 according to an embodiment.
  • the streaming client 700 may be an MPEG-2 TS processing apparatus that processes the MPEG-2 TS generated by the streaming server 600.
  • the streaming client 700 is a device that receives and processes the TS stream 100 generated by the aforementioned streaming server 600.
  • the TS stream 100 includes a scalable video stream, and the header of the TS packet 110 includes scalability information of the scalable video stream.
  • the streaming client 700 includes a receiver 710 and a packet processor 720.
  • the receiver 710 receives the TS stream 100.
  • the packet processor 720 processes the TS packet 110 in the TS stream 100.
  • the operation of the packet processor 720 corresponds to the operation of the packet generator 610.
  • the packet processor 720 may determine the presence or absence of the scalability information and the view information in the TS packet 110 based on the view information flag 320 in the TS header 112.
  • the packet processor 720 may generate scalability information in the NALU header 530 of the SVC based on the scalability information.
  • the packet processor 720 may extract scalability information only when data of the NALU header 530 exists in the TS packet 110.
  • the packet processor 720 may extract scalability information only in the TS packet 110 in which data of the NALU header 530 exists among one or more TS packets 110 having the same PID 130.
  • a specific TS packet may not include scalability information.
  • the packet processing unit 720 includes 1) scalability information among one or more TS packets 110 having the same PID 130 as the specific TS packet, 2) closest to the specific TS packet.
  • the scalability information can be extracted from the TS packet of the previous time, and the extracted scalability information can be used as the scalability information of the specific TS packet.
  • FIG. 8 is a flowchart of a streaming service method 800 according to an embodiment.
  • the streaming service method 800 may be a method for processing the MPEG-2 TS described above with reference to FIG. 6.
  • the TS packet 110 is generated by the packet generator 610 of the streaming server 600.
  • the TS stream 100 generated by using the TS packet 110 is transmitted, for example, by the transmitting unit 620 of the streaming server 600.
  • the TS stream 100 includes a scalable video stream, and the header of the TS packet 110 includes scalability information of the scalable video stream.
  • the TS stream 100 is received by the receiving unit 710 of the streaming client 700.
  • the TS packet 110 in the TS stream 100 is processed, for example, by the processing unit 720 of the streaming client 700.
  • the existing MPEG-2 system may be extended through the streaming server 600, the streaming client 700, and the streaming service method 800 described above.
  • scalable video multiplexed by the TS packet 110 may be adapted in a form suitable for various terminal capabilities, network conditions, user preferences, and the like.
  • the TS packet 110 may be efficiently extracted from the TS stream 100.
  • Embodiments or examples described with reference to FIGS. 1 to 8 may be applied in MMT.
  • the MPEG2 TS described in FIGS. 1 to 8 may be replaced with an MMT or MMT stream.
  • the scalable video information and the multiview video information may be inserted into a media fragment unit (MFU) header which is the smallest unit constituting the MMT packet.
  • MFU media fragment unit
  • the scalable video and the multiview video may be divided and present in the MFU payload. Accordingly, scalable video information, multiview video information, and scalable multiview video information may be provided by dividing layer type information for each video.
  • the information provided for the scalable video may include scalability information in terms of spatial, temporal, and image quality.
  • priority information of a layer for scalable video may be provided.
  • the information provided for the multiview video may include view information and scalability information in terms of time.
  • priority information of the layer for the multiview video may be provided.
  • flag information allowing inter-view prediction, which is a feature of multiview video, and anchor picture flag information for random access may be provided.
  • the information provided for the scalable multiview video may include not only view information but also combined scalability information such as spatial-view scalability.
  • MMT packetized scalable video and multiview video can be efficiently adapted to terminals of various capabilities, various network characteristics and specific user preferences, and the like.
  • FIG 9 illustrates a media fragment unit according to an example.
  • the MFU 900 may be abbreviated as a media fragment.
  • the MFU 900 may be in a generic container format, independent of a particular codec.
  • MFU 900 may include coded media data.
  • the coded media data can be consumed independently by the media decoder.
  • Coded media data may be abbreviated as coded data.
  • the MFU 900 may include a complete or partial Access Unit (AU) and may include information that may be utilized by the transport layers.
  • AU Access Unit
  • the AU may be the smallest data entity that may have timing information as an attribute.
  • the MFU 900 may define a format for encapsulating a fragment of an Access Unit (AU) to perform adaptive delivery at the boundary of MFUs.
  • the MFU 900 may carry several types of coded media to allow fragments to be independently decoded or discarded.
  • the MFU 900 may include a Media Fragment Unit Header (MFUH) 910 and coded data 920.
  • MFUH Media Fragment Unit Header
  • the MFUH 910 may include a fragment 911 and a common 912.
  • the MFU 900 may include an identifier that distinguishes one MFU from another MFU, and may include generalized relationship information between MFUs within a single AU. Fragment 911 may be the above identifier.
  • the common 912 may be the above generalized relationship information.
  • the fragment-generating encoder may generate the MFU 900.
  • FIG. 10 illustrates a single M-unit case of an M-unit according to an example.
  • M-units may be in a generic container format, independent of a particular codec.
  • the M-Unit may carry one or more AUs.
  • the M-unit may comprise one or more MFUs.
  • the M-unit may include timed data or non-timed data.
  • the M-unit may include data of the MFU 900 and additional information.
  • the additional information may be a timestamp for synchronization.
  • the M-Unit may be a data entity for handling MMT encapsulation functions.
  • the timed data may be a data element associated with a particular time of day in decoding and presentation.
  • Data that is not timed may be data elements that are consumed at non-specific times.
  • Data that is not timed may have a time range when the data is available to be executed or launched.
  • the M-unit 1000 of a single M-unit case may include an M-Unit Header (MUH) 1010 and an MFU 900.
  • M-Unit Header M-Unit Header
  • FIG. 11 illustrates a fragmented M-unit case of an M-unit according to an example.
  • the M-unit 1100 of the fragmented M-unit case may include one or more MFUs.
  • the M-unit 1100 of the fragmented M-unit case includes three MFUs and three MUHs corresponding to three MFUs, respectively.
  • M-Unit Generation Encoder may generate M-units.
  • FIG 12 illustrates an MMT asset according to an example.
  • the MMT asset 1200 may be a logical data entity that includes one or more Media Processing Units (MPUs) having the same MMT asset ID.
  • MPUs Media Processing Units
  • the MMT asset 1200 may be the largest data unit to which the same composition information and transport characteristics are applied.
  • the MPU may be a comprehensive container for timed or non-timed data, independent of a particular media codec.
  • the MPU may include one or more AUs for timed data.
  • the MPU may include a portion of data without AU boundaries for data that is not timed.
  • the MPU may include additional delivery and consumption related information.
  • the MPU may be a coded media data unit that can be processed completely and independently. In this context, processing may mean packetization for encapsulation or delivery to an MMT package.
  • the MMT asset 1200 may be a data entity that includes one or more M-units.
  • the MMT asset 1200 may be a data unit in which composition information and transport characteristics are defined.
  • the MMT asset 1200 may include asset information 1210 and one or more M-units. As one or more M-units, a first M-unit 1220, a second M-unit 1230 and a third M-unit 1230 are shown. One or more M-units may each be an M-unit 1000 in a single M-unit case or an M-unit 1100 in a fragmented M-unit case. Alternatively, the MMT asset 1200 may include asset information 1210 and one or more MFUs. One or more MFUs may each be an MFU 900.
  • Asset information 1210 may be asset-specific information. Asset information 1210 may not be delivered in streaming.
  • Asset information 1210 may be used for capability exchange and / or (re) allocation of resources within the underlying layer.
  • FIG 13 illustrates an MMT package according to an example.
  • the MMT package 1300 may be a logically structured collection of data.
  • the MMT package 1300 may include one or more MMT assets, MMT composition information, MMT asset delivery characteristics, and descriptive information.
  • MMT asset delivery characteristics may include a description of the required Quality of Service (QoS) for delivery of MMT assets.
  • QoS Quality of Service
  • MMT asset delivery characteristics may be represented by parameters that are agnostic for a particular delivery environment.
  • the MMT package 1300 may include package information 1310.
  • the MMT package 1300 may include composition information 1320.
  • the composition information may correspond to MMT composition information.
  • MMT composition information may be a description of spatial and temporal relationships between MMT assets.
  • the MMT package 1300 may include transport characteristics (Tx. Char.) 1330.
  • the MMT package 1300 may include one or more assets.
  • Each of the one or more assets may be the MMT asset 1200 described above with reference to FIG. 12.
  • a first asset 1340, a second asset 1350, and a third asset 1360 are shown.
  • One or more assets in the MMT package 1300 may be multiplexed or concatenated.
  • the MMT package 1300 may be used for archiving.
  • the MMT package 1300 may be a unit for storage.
  • MMT PayLoad Format MMT PL-Format
  • the MMT payload may be a formatted unit of data carrying an MMT package or MMT signaling message using the MMT protocol or Internet Application Layer protocols.
  • the internet application layer protocol may be RTP.
  • the MMT protocol may be an application layer protocol for delivering the MMT payload through an Internet Protocol (IP) network.
  • IP Internet Protocol
  • the MMT payload format may be a generic payload format for carrying MMT assets and other information for consumption by MMT application protocols or other existing application transport protocols.
  • another existing application transport protocol may be a Realtime Transport Protocol (RTP).
  • RTP Realtime Transport Protocol
  • the MMT payload format may include fragments of the MFU 900.
  • the MMT payload format may include other information such as Application Layer Forward Error Correction (AL-FEC) along with the fragments of the MFU 900.
  • A-FEC Application Layer Forward Error Correction
  • FIG. 14 illustrates an MMT-PL format for a control type packet according to an example.
  • the first MMT-PL format 1400 for a control type packet may include a payload header (PLH) 1410 and composition information 1420.
  • the composition information 1420 may correspond to the composition information 1320 of the MMT package 1300 described above with reference to FIG. 13.
  • FIG. 15 illustrates an MMT-PL format for a packet of a media type according to an example.
  • the second MMT-PL format 1520 for packets of the media type and the third MMT-PL format 1530 for packets of the media type include MTU 1510 packet-level aggregation and / or fragmentation. Fragmentation may be applied.
  • Data of the M-unit 1510 may be divided into a second MMT-PL format 1520 and a third MMT-PL format 1530.
  • the M-unit 1510 may correspond to an MFU 900, an M-unit 1000 in a single M-unit case, an M-unit 1100 in a fragmented M-unit case or an M-unit in an MMT asset 1200. Can be.
  • the second MMT-PL format 1520 may include a PLH 1522 and a portion 1524 of the M-unit.
  • Portion 1524 of the M-unit may include a portion of the MUH, MFUM and coded data.
  • the third MMT-PL format 1530 may include a PLH 1532 and a portion 1534 of the M-unit. Portion 1534 of the M-unit may include a portion of coded data.
  • 16 illustrates an MMT-PL format for a packet of a control type according to an example.
  • the fourth MMT-PL format 1600 for a packet of a control type may include a PLH 1610 and control information 1620.
  • the MMT packet may be a formatted unit of data generated or consumed by the MMT protocol.
  • the MMT packet may be an MMT transport packet.
  • the MMT transport packet may be a data format used by an application transport protocol for MMT.
  • FIG. 17 illustrates a first MMT packet according to an example.
  • the first MMT packet 1700 may include a Realtime Transport Protocol Header 1720, a PLH 1720, and a portion 1730 of the M-Unit.
  • a portion 1730 of the M-unit may correspond to a portion 1524 of the M-unit described above with reference to FIG. 15.
  • Portion 1730 of M-unit may include MUH 1732, MFUH 1734, and coded data 1736.
  • the PLM 1720 and a portion 1730 of the M-unit may correspond to the second MMT-PL format 1520 described above with reference to FIG. 15.
  • the PLM 1720 and a portion 1730 of the M-unit may be data in the second MMT-PL format 1520.
  • the second MMT packet 1800 may include an MMP Packet Header (MMTPH) 1810, a PLH 1820, and a portion 1830 of the M-Unit.
  • MMTPH MMP Packet Header
  • a portion 1830 of the M-unit may correspond to a portion 1524 of the M-unit described above with reference to FIG. 15.
  • Portion 1830 of M-unit may include MUH 1832, MFUH 1834 and coded data 1836.
  • the PLM 1820 and a portion 1830 of the M-unit may correspond to the second MMT-PL format 1520 described above with reference to FIG. 15.
  • the PLM 1820 and a portion 1830 of the M-unit may be data in the second MMT-PL format 1520.
  • An MMT packet may be generated for the data or units described above with reference to FIGS. 9 through 18.
  • 9 to 18 may illustrate a packetization process of generating an MMT packet 920 including an MFU 900.
  • the MFU 900 may be the smallest unit constituting the MMT packet.
  • the MFU 900 may be a unit capable of payloading units of each layer when there is video information including a plurality of layers such as scalable video and multiview video.
  • the header of the MFU 900 may include header information present in the NALU header of the scalable video or the multiview video.
  • data of scalable video and multi-view video may be divided.
  • data of scalable multiview video may be divided in the payload of the MFU 900.
  • 19 illustrates a syntax for providing scalable video or multiview video information according to an embodiment.
  • the header of the MFU 900 of the MMT may provide layer information for MVC and SVC encoded data.
  • combined scalability may be provided that uses a view point of multiview video and video that is scalable in time, space, and quality.
  • the MMT may use a case document.
  • the case document can include a case scenario for adaptive content consumption.
  • Adaptive content consumption may be based on network conditions and / or user preferences, based on terminal capability.
  • the viewpoint adaptation information of the MVC and the scalable layer information of the SVC may be used independently, and may be used in a combined mode for scalable multiview video.
  • MFU 900 may be the smallest decodable data unit.
  • the MFU 900 may be an E.3 layer.
  • the syntax of FIG. 10 may be applied to the E.3 layer header field.
  • E.3 The layer header may include view point information.
  • the E.3 layer header may provide temporal, spatial and quality layer information of the layered coded data.
  • Data of the syntax of FIG. 19 may provide one or more of information of scalable video and information of multiview video.
  • the syntax data may optionally be present in the header of the MFU 900.
  • One or more of the information of the scalable video and the information of the multiview video may optionally be present in the MFU 900 header.
  • the header of the MFU 900 may include one or more of the flags of the syntax to be described below.
  • the MFU 900 may be the smallest unit constituting the MMT packet.
  • the layer information flag 1910 may be a flag indicating whether scalable video or multiview video exists in a payload of the MFU 900.
  • the value of the layer information flag 1910 may indicate that the payload includes layered video data encoded in MVC, SVC, or combined MVC / SVC.
  • the scalable video and the multiview video or the scalable multiview video may be distinguished through the layer type 1920.
  • the layer type indicates the type of layered data in the payload of the MFU 900 as specified in Table 1 below.
  • the value of the layer type 1920 is 0, information on the multiview video is provided. If the value of the layer type 1920 is 1, information on scalable video is provided. If the value of the layer type 1920 is 2, information on scalable multiview video is provided.
  • the grammatical elements for multiview video with a value of layer type 1920 are as follows. For example, when the layer type 1920 has a value of 0, information about the multiview video is provided as follows.
  • a priority ID (1931) indicating a priority of the multiview video layer currently existing in the MFU 900
  • a view ID indicating a unique ID of the view of the multiview video.
  • the multiview layer or layer may represent a multiview layer of the multiview video.
  • the multiview video may be MVC video.
  • the priority ID 1931 may be priority information of each layer existing in the MFU payload of the multiview video.
  • the priority ID 1931 may indicate the priority of the multiview layer currently included in the MFU 900.
  • a low value of priority ID 1931 may indicate a high priority.
  • the view ID 1932 may point to a unique view ID of the MVC video.
  • Temporal ID 1933 may indicate a temporal level of MVC video.
  • the value '1' of the inter-view prediction flag 1934 may indicate that the current view component may be predicted by other view components in the current AU.
  • the view component may be a coded representation of the view within a single access unit.
  • a value '1' of the anchor picture flag 1935 may indicate that the current AU is an anchor AU.
  • the inter-view prediction flag 1934 may indicate whether the current view component may be predicted by other view components in the current AU.
  • the inter-view prediction flag 1934 may allow inter-view prediction.
  • An anchor picture flag 1935 may be used for random access to the MVC video.
  • the grammatical elements for multiview video having a value of layer type 1920 are as follows.
  • information about scalable video may be provided as follows.
  • the scalable layer or layer may represent a scalable layer of scalable video.
  • the scalable video may be SVC video.
  • id 1943 and quality id 1944 may be present.
  • the priority ID 1941 may be priority information of each layer existing in the MFU payload of the scalable video.
  • the priority ID 1941 may indicate the priority of the scalable layer currently included in the MFU 900.
  • a low value of priority ID may indicate a high priority.
  • Spatial ID 1942 may indicate a spatial level of SVC video.
  • Temporal ID 1943 may indicate a temporal level of SVC video.
  • the quality ID 1944 can indicate the quality level of the SVC video.
  • the grammatical elements for scalable multiview video with a value of layer type 1920 are as follows.
  • information about scalable multiview video may be provided as follows.
  • the information may be provided as combined scalability information.
  • a priority id (1951), a view id (1952), and a spatial ID indicating a priority of the scalable multiview video layer currently existing in the MFU 900 There may be an ID (spatial id) 1953, a temporal id 1954, and a quality id 1955.
  • the priority ID 1951 may indicate the priority of the scalable multiview video currently included in the MFU 900.
  • a low value of priority ID may indicate a high priority.
  • the view ID 1952 may point to a unique view ID of the scalable multiview video.
  • the spatial ID 1953 may indicate a spatial level of scalable multiview video.
  • Temporal ID 1954 may indicate a temporal level of scalable multiview video.
  • the quality ID 1955 may indicate the quality level of the scalable multiview video.
  • priority identifier 1931 priority identifier 1941, and priority identifier 1951 may be defined by an application, respectively.
  • 20 is a structural diagram of a streaming server according to an embodiment.
  • the streaming server 2000 may include a processor 2010, a networking 2020, and a storage 2030.
  • the processor 2010 may correspond to the packet generator 610 described above with reference to FIG. 6.
  • the networking unit 2020 may correspond to the transmission unit 620 and the network interface unit 630 described above with reference to FIG. 6.
  • the storage unit 2030 may correspond to the storage unit 640 described above with reference to FIG. 6.
  • the processor 2010 may generate a packet.
  • the packet may be an MPEG-2 TS packet or an MMT packet.
  • the networking unit 2020 may transmit a stream using the generated packet.
  • the stream may be an MPEG-2 TS stream or an MMT stream.
  • the MMT stream may be a stream using MMT packets.
  • the stream may include one or more of a multiview video stream, a scalable video stream, and a multiview scalable video stream.
  • the header of the packet may include scalability information of the scalable video stream.
  • the scalable video stream may be divided in the payload of the packet.
  • the scalability information may be present in private transport data of the header. Private transmission data may exist in an optional field in an adaptation field of a header.
  • the header may include a scalability information flag indicating presence or absence of scalability information and a view information flag indicating presence or absence of view information of the scalable video stream.
  • the header may include a private data flag indicating the presence or absence of the scalability information flag and the view information flag.
  • the scalability information may include spatial scalability information of the scalable video, temporal scalability information of the scalable video, and image quality scalability information of the scalable video.
  • the view information may be present in private transmission data of the header.
  • the processor 2010 may generate view information by using second view information in a network abstraction layer unit (NALU) header of multi-view video coding (MVC).
  • NALU network abstraction layer unit
  • MVC multi-view video coding
  • the processor 2010 may generate the scalability information by using the second scalability information in the network abstraction layer unit header of scalable video coding (SVC).
  • SVC network abstraction layer unit header of scalable video coding
  • the processor 2010 may generate scalability information only when data of the network abstraction layer unit header exists in the stream packet.
  • the processor 2010 may generate scalability information only in stream packets in which data of a network abstraction unit header exists among one or more stream packets having the same packet identifier (PID).
  • PID packet identifier
  • the processor 2010 may include a scalability information inserter that inserts scalability information into a stream packet.
  • the processor 2010 may generate an MPEG Media Transport (MMT) packet.
  • MMT MPEG Media Transport
  • the processor 2010 may generate the MFU, the M-unit, the MMT asset, the MMT package, and the MMT packet described above with reference to FIGS. 9 through 18.
  • the processor 2010 may store an MFU, an M-unit, an MMT asset, an MMT package, and an MMT packet in the storage 2030.
  • the networking unit 2020 may transmit an MMT stream using an MMT packet.
  • the MMT stream may include one or more MMT packets.
  • the MMT packet may include one or more of multiview video, scalable video, and scalable multiview video.
  • the networking unit 2020 may transmit the stream to another streaming client 2100 such as a video player.
  • the Media Fragment Unit (MFU) in the MMT packet may include one or more of scalable video, multiview video, and scalable multiview video.
  • the Media Fragment Unit (MFU) in the MMT packet may include one or more of scalable video, multiview video, and scalable multiview video.
  • the header of the MFU may include a priority identifier (ID).
  • ID may indicate the priority of the multiview layer of the multiview video included in the MFU.
  • the header of the MFU may include a view ID, an inter-view prediction flag, and an anchor picture flag.
  • the view ID may indicate a unique ID of the multiview video.
  • the inter-view prediction flag may indicate whether the current view component may be predicted by another view component in the current access unit (AU).
  • the anchor picture flag can be used for random access to multiview video.
  • the priority ID may indicate the priority of the scalable layer of the scalable video included in the MFU.
  • the header of the MFU may include a spatial ID, a temporal ID, and an image quality ID.
  • the spatial ID may indicate a spatial level of scalable video.
  • the temporal ID may indicate a temporal level of the scalable video.
  • the quality ID may indicate the quality level of the scalable video.
  • the priority ID may indicate the priority of the multiview scalable video included in the MFU.
  • the header of the MFU may include a view ID, a spatial ID, a temporal ID, and an image quality ID.
  • the view ID may indicate a unique ID of the scalable multiview video.
  • the spatial ID may indicate a spatial level of the scalable multiview video.
  • the temporal ID may indicate a temporal level of the scalable multiview video.
  • the quality ID may indicate the quality level of the scalable multiview video.
  • the header of the MFU may include a layer information flag.
  • the layer information flag may indicate the presence or absence of information on at least one of header scalable video, multiview video, and scalable multiview video.
  • the header may include information of a type of one or more layers of scalable video, multiview video, and scalable multiview video through the layer information flag.
  • the header may include one or more of the information of the multiview video, the information of the scalable video, and the information of the multiview scalable video according to the information of the type of the layer.
  • One or more of scalable video, multiview video, and scalable multiview video may be split and present in an MFU payload in an MMT packet.
  • 21 is a structural diagram of a streaming client according to an embodiment.
  • the streaming client 2100 may include a processor 2110 and a networking 2120.
  • the networking unit 2120 may correspond to the receiver 710 described above with reference to FIG. 7.
  • the processor 2110 may correspond to the packet processor 720 described above with reference to FIG. 7.
  • the networking unit 2120 may receive a stream.
  • the stream may be an MPEG-2 TS stream or an MMT stream.
  • the MMT stream may be a stream using MMT packets.
  • the processor 2110 may process a packet of a stream.
  • the packet may be an MPEG-2 TS packet or an MMT packet.
  • the stream may comprise a scalable video stream.
  • the header of the stream packet may include scalability information of the scalable video stream.
  • the processor 2110 may determine whether the scalability information in the packet is present and view information of the scalable video stream based on the scalability information flag and the view information flag in the header.
  • the processor 2110 may generate scalability information in the network abstraction layer unit header of scalable video coding based on the scalability information.
  • the processor 2110 may extract scalability information only when data of the network abstraction layer unit header exists in the stream packet.
  • the processor 2110 may extract the scalability information only from stream packets in which data of a network abstraction unit header exists among one or more stream packets having the same packet identifier.
  • the processor 2110 may extract the scalability information of the packet from a packet of a previous time closest to the packet including the scalability information among one or more stream packets having the same packet identifier.
  • the networking unit 2120 may receive an MMT stream.
  • the processor 2210 may process the MFU, M-unit, MMT asset, MMT package, and MMT packet described above with reference to FIGS. 9 to 18.
  • the processor 2210 may reproduce the contents of the MMT stream by processing the MFU, the M-unit, the MMT asset, the MMT package, and the MMT packet.
  • FIG. 22 is a flowchart of a streaming service method according to an embodiment.
  • the processing unit 2010 of the streaming server 2000 may generate a package.
  • the package may be an MMT package.
  • the processor 2010 may generate a packet.
  • the packet may be an MMT packet.
  • the networking unit 2020 of the streaming server 2000 may transmit the stream.
  • the stream may be a bit stream.
  • the stream may be an MMT stream.
  • the networking unit 2120 of the streaming client 2100 may receive a stream.
  • the processor 2110 of the streaming client 2100 may process a packet in the stream.
  • the x axis may represent a spatial ID.
  • the y axis may represent the view ID.
  • V0 may represent the base view.
  • MVC provides three views
  • SVC provides three levels of spatial scalability.
  • 23 illustrates combined scalability through view and spatial scalabilities.
  • the priority ID has a value of P0 to P3.
  • the value of the priority ID may be arbitrarily assigned by an operator having a predefined priority assignment policy.
  • the combined scalability option can provide users with more flexible adaptation scenarios in terms of screen size and viewpoint.
  • Method according to an embodiment is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium.
  • the computer readable medium may include program instructions, data files, data structures, etc. alone or in combination.
  • Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Abstract

Provided are a method and an apparatus for streaming service for providing scalability and view information. The scalability information or view information on a scalable video or a multi-view video existing in a payload can be used when the scalable video or multi-view video is transmitted through an MPEG-2 system. By using the scalability information or view information, packetized scalable video or multi-view video can be efficiently adapted to terminals having various performances, various network characteristics, specific user preference, etc.

Description

스케일러빌리티 및 뷰 정보를 제공하는 스트리밍 서비스를 위한 방법 및 장치Method and apparatus for streaming service that provides scalability and view information
아래의 실시예들은 스트리밍 서비스를 위한 방법 및 장치에 관한 것이다.The following embodiments are directed to a method and apparatus for a streaming service.
스케일러빌리티 및 뷰 정보를 포함하는 스트림을 제공하는 장치 및 방법이 개시된다.An apparatus and method for providing a stream comprising scalability and view information is disclosed.
MPEG-2 시스템(systems)은 비디오 파트 및 오디오 파트에서 생성한 기초 스트림(Element Stream; ES)을 저장 또는 전송하기 위해 패킷화하고 다중화하는 과정을 수행한다.MPEG-2 systems perform packetization and multiplexing to store or transmit an elementary stream (ES) generated from a video part and an audio part.
상기의 과정은 크게 두 가지로 구별될 수 있다.The above process can be divided into two types.
하나는, 저장매체에 저장될 프로그램 스트림(Program Stream; PS)을 만드는 과정이다.One is a process of creating a program stream (PS) to be stored in a storage medium.
다른 하나는, 네트워크에서 전송하거나 방송하기 위한 트랜스포트 스트림(Transport Stream; TS)을 만드는 과정이다.The other is a process of creating a transport stream (TS) for transmission or broadcasting in a network.
스케일러블(scalable) 비디오가 MPEG-2 시스템의 TS를 통해 전송될 때, TS 레벨(level)에서의 효율적인 스케일러빌리티(scalability)가 지원될 필요가 있다.When scalable video is transmitted through the TS of the MPEG-2 system, efficient scalability at the TS level needs to be supported.
기존의 방법에 따르면, 프로그램 부가 정보(Program Specific Information; PSI)를 통하여 TS의 페이로드(payload)에 있는 스케일러블 비디오의 스케일러빌리티 정보가 파악될 수 있다.According to the existing method, the scalability information of the scalable video in the payload of the TS may be grasped through the program specific information (PSI).
이러한 방법이 사용되는 경우, MPEG-2 시스템은 스케일러빌리티 정보를 이용하기 위해서, 주기적으로 PSI 정보와 동기화를 수행하여야 하며, PSI 정보를 매번 분석해야 한다.When this method is used, in order to use the scalability information, the MPEG-2 system must periodically synchronize with the PSI information and analyze the PSI information every time.
또한, 스케일러블 비디오에서 제공하는 여러 스케일러블 계층들이 효율적으로 사용되기 위해서는 패킷화된 기초 스트림(Packetized Elementary Stream; PES)의 오버헤드 및 PSI 정보의 증가가 불가피하다.In addition, in order to effectively use various scalable layers provided by scalable video, an overhead of a packetized elementary stream (PES) and an increase in PSI information are inevitable.
또한, TS로부터 프로그램 부가 정보(Program Specific Information; PSI)를 통하여, TS의 페이로드(payload)에 있는 스케일러블 비디오의 스케일러빌리티 정보는 패킷 식별자(Packet Identifier; PID)에 의해 제공된다.In addition, through Program Specific Information (PSI) from the TS, scalability information of scalable video in a payload of the TS is provided by a Packet Identifier (PID).
따라서, TS 레벨에서 식별하고자 하는 스케일러블 계층마다 별도의 ES가 구성되어야하고, PID가 할당되어야 한다.Therefore, a separate ES should be configured for each scalable layer to be identified at the TS level, and a PID should be allocated.
다양한 스케일러블 계층들을 TS 레벨에서 식별하고자 하는 경우, 많은 수의 ES가 구성되어야 한다. 많은 수의 ES가 구성되어야 하는 것은, TS 생성기(즉, 다중화기) 및 TS 역다중화기의 구조를 복잡하게 한다. In order to identify various scalable layers at the TS level, a large number of ESs must be configured. The need for a large number of ESs complicates the structure of the TS generator (ie, multiplexer) and the TS demultiplexer.
따라서, TS 레벨에서 효율적인 스케일러빌리티 정보를 이용하는 방법이 도입될 필요가 있다.Accordingly, a method of using efficient scalability information at the TS level needs to be introduced.
또한, 디지털 방송은 현재의 스테레오 3D 비디오 방송에서 초고선명(Ultra High Definition; UHD) 방송, 멀티뷰 3D 비디오 방송등으로 발전할 것으로 예상된다. 이러한 예상에 따라, 디지털 방송에 있어서 더 많은 전송량이 요구된다. In addition, digital broadcasting is expected to evolve from current stereo 3D video broadcasting to ultra high definition (UHD) broadcasting and multiview 3D video broadcasting. According to this expectation, more transmission amount is required for digital broadcasting.
기존의 MPEG-2 트랜스포트 스트림(Transport Stream; TS)의 패킷은 188바이트(byte)의 제한된 사이즈를 갖는다. 따라서, MPEG-2 TS의 패킷으로서, 새로운 전송 패킷이 정의될 필요가 있다. 기존 MPEG-2 TS보다 더 효과적인 전송 포맷에 대한 연구가 요구된다. 상기의 연구로서, 기존의 MPEG-2 TS를 대체하는 MPEG 미디어 트랜스포트(MPEG Media Transport ;MMT)에 대한 표준화가 진행되고 있다.A packet of a conventional MPEG-2 Transport Stream (TS) has a limited size of 188 bytes. Therefore, as a packet of MPEG-2 TS, a new transport packet needs to be defined. Research on a transmission format that is more effective than the existing MPEG-2 TS is required. As the above studies, standardization of MPEG Media Transport (MMT), which replaces the existing MPEG-2 TS, is being conducted.
따라서, 향후 MMT에서도 효율적인 스케일러빌리티 및 멀티뷰 비디오 정보의 제공을 가능하게 하는 방법이 도입될 필요가 있다.Therefore, there is a need for a method for enabling efficient scalability and multiview video information to be introduced in MMT in the future.
일 실시에는 MPEG-2 TS를 통해 스케일러블 비디오 및 멀티뷰 비디오의 정보를 제공하는 장치 및 방법을 제공할 수 있다.One embodiment may provide an apparatus and a method for providing information of scalable video and multi-view video through MPEG-2 TS.
실시예는 MMT를 통해 스케일러블 비디오 및 멀티뷰 비디오의 정보를 제공하는 스트리밍 장치 및 방법을 제공할 수 있다.The embodiment can provide a streaming apparatus and a method for providing information of scalable video and multi-view video through MMT.
일 측에 따르면, MPEG-2 트랜스포트 스트림 패킷을 생성하는 패킷 생성부 및 상기 MPEG-2 트랜스포트 스트림 패킷을 사용하여 MPEG-2 트랜스포트 스트림을 전송하는 전송부를 포함하고, 상기 MPEG-2 트랜스포트 스트림은 스케일러블 비디오 스트림을 포함하며, 상기 MPEG-2 트랜스포트 스트림 패킷의 헤더는 상기 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함하는, 스트리밍 서버가 제공된다.According to one side, including a packet generation unit for generating an MPEG-2 transport stream packet and a transmission unit for transmitting the MPEG-2 transport stream using the MPEG-2 transport stream packet, the MPEG-2 transport The stream includes a scalable video stream, and the header of the MPEG-2 transport stream packet includes the scalability information of the scalable video stream.
상기 스케일러블 비디오 스트림은 상기 MPEG-2 트랜스포트 스트림 패킷의 페이로드(payload) 내에 분할되어 존재할 수 있다.The scalable video stream may be divided in a payload of the MPEG-2 transport stream packet.
상기 스케일러빌리티 정보는 상기 헤더의 사적 전송 데이터(Transport Private Data) 내에 존재할 수 있다.The scalability information may be present in private transport data of the header.
상기 사적 전송 데이터는 상기 헤더의 적응 필드(Adaptation Field) 내의 부가적 필드(Optional Field) 내에 존재할 수 있다.The private transmission data may be present in an optional field in an adaptation field of the header.
상기 헤더는 상기 스케일러빌리티 정보의 유무를 나타내는 스케일러빌리티 정보 플래그 및 상기 스케일러블 비디오 스트림의 뷰(view) 정보의 유무를 나타내는 뷰 정보 플래그를 포함할 수 있다.The header may include a scalability information flag indicating the presence or absence of the scalability information and a view information flag indicating the presence or absence of view information of the scalable video stream.
상기 헤더는 상기 스케일러빌리티 정보 플래그 및 상기 뷰 정보 플래그의 유무를 나타내는 사적 데이터 플래그를 포함할 수 있다.The header may include a private data flag indicating the presence or absence of the scalability information flag and the view information flag.
상기 스케일러빌리티 정보는 상기 스케일러블 비디오의 공간적 스케일러빌리티 정보, 상기 스케일러블 비디오의 시간적 스케일러빌리티 정보 및 상기 스케일러블 비디오의 화질적 스케일러빌리티 정보를 포함할 수 있다.The scalability information may include spatial scalability information of the scalable video, temporal scalability information of the scalable video, and image quality scalability information of the scalable video.
상기 뷰 정보는 상기 헤더의 사적 전송 데이터 내에 존재할 수 있다.The view information may exist in private transmission data of the header.
상기 패킷 생성부는 멀티-뷰 비디오 코딩(Multi-view Video Coding; MVC)의 네트워크 추상화 계층 유닛(Network Abstraction Layer Unit; NALU) 헤더 내의 제2 뷰 정보를 사용하여 상기 뷰 정보를 생성할 수 있다.The packet generator may generate the view information using second view information in a network abstraction layer unit (NALU) header of multi-view video coding (MVC).
상기 패킷 생성부는 스케일러블 비디오 코딩(Scalable Video Coding; SVC) 의 네트워크 추상화 계층 유닛 헤더 내의 제2 스케일러빌리티 정보를 사용하여 상기 스케일러빌리티 정보를 생성할 수 있다.The packet generator may generate the scalability information using second scalability information in a network abstraction layer unit header of scalable video coding (SVC).
상기 패킷 생성부는 상기 MPEG-2 트랜스포트 스트림 패킷 내에 상기 네트워크 추상화 계층 유닛 헤더의 데이터가 존재할 경우에만 상기 스케일러빌리티 정보를 생성할 수 있다.The packet generator may generate the scalability information only when data of the network abstraction layer unit header exists in the MPEG-2 transport stream packet.
상기 패킷 생성부는 동일한 패킷 식별자(Packet Identifier; PID)를 갖는 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들 중 상기 네트워크 추상화 유닛 헤더의 데이터가 존재하는 상기 MPEG-2 트랜스포트 스트림 패킷 내에만 상기 스케일러빌리티 정보를 생성할 수 있다.The packet generation unit includes the scalability information only in the MPEG-2 transport stream packet having data of the network abstraction unit header among one or more MPEG-2 transport stream packets having the same packet identifier (PID). Can be generated.
상기 패킷 생성부는, 상기 MPEG-2 트랜스포트 스트림 패킷 내에 상기 스케일러빌리티 정보를 삽입하는 스케일러빌리티 정보 삽입부를 포함할 수 있다.The packet generator may include a scalability information inserter for inserting the scalability information into the MPEG-2 transport stream packet.
다른 일 측에 따르면, MPEG-2 트랜스포트 스트림을 수신하는 수신부 및 상기 MPEG-2 트랜스포트 스트림 내의 MPEG-2 트랜스포트 스트림 패킷을 처리하는 패킷 처리부를 포함하고, 상기 MPEG-2 트랜스포트 스트림은 스케일러블 비디오 스트림을 포함하며, 상기 MPEG-2 트랜스포트 스트림 패킷의 헤더는 상기 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함하는, 스트리밍 클라이언트가 제공된다.According to the other side, it comprises a receiving unit for receiving the MPEG-2 transport stream and a packet processing unit for processing the MPEG-2 transport stream packet in the MPEG-2 transport stream, the MPEG-2 transport stream is a scale A streaming client is provided, comprising a flexible video stream, wherein the header of the MPEG-2 transport stream packet includes the scalability information of the scalable video stream.
상기 패킷 처리부는 상기 헤더 내의 뷰 정보 플래그에 기반하여 상기 패킷 내의 상기 스케일러빌리티 정보의 유무 및 뷰 정보의 유무를 판단할 수 있다.The packet processor may determine whether the scalability information and the view information exist in the packet based on the view information flag in the header.
상기 패킷 처리부는 상기 스케일러빌리티 정보에 기반하여 스케일러블 비디오 코딩의 네트워크 추상화 계층 유닛 헤더 내의 스케일러빌리티 정보를 생성할 수 있다.The packet processor may generate scalability information in a network abstraction layer unit header of scalable video coding based on the scalability information.
상기 패킷 처리부는 상기 MPEG-2 트랜스포트 스트림 패킷 내에 상기 네트워크 추상화 계층 유닛 헤더의 데이터가 존재할 경우에만 상기 스케일러빌리티 정보를 추출할 수 있다.The packet processor may extract the scalability information only when data of the network abstraction layer unit header exists in the MPEG-2 transport stream packet.
상기 패킷 처리부는 동일한 패킷 식별자를 갖는 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들 중 네트워크 추상화 유닛 헤더의 데이터가 존재하는 상기 MPEG-2 트랜스포트 스트림 패킷에서만 상기 스케일러빌리티 정보를 추출할 수 있다.The packet processor may extract the scalability information only from the MPEG-2 transport stream packet having data of a network abstraction unit header among one or more MPEG-2 transport stream packets having the same packet identifier.
상기 패킷 처리부는 상기 동일한 패킷 식별자를 갖는 상기 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들 중 상기 스케일러빌리티 정보를 포함하는 상기 트랜스포트 스트림 패킷과 가장 가까운 이전 시간의 제2 MPEG-2 트랜스포트 스트림 패킷으로부터 상기 MPEG-2 트랜스포트 스트림 패킷의 스케일러빌리티 정보를 추출할 수 있다.The packet processing unit may include a second MPEG-2 transport stream packet of a previous time closest to the transport stream packet including the scalability information among the one or more MPEG-2 transport stream packets having the same packet identifier. The scalability information of the MPEG-2 transport stream packet may be extracted.
또 다른 일 측에 따르면, MPEG-2 트랜스포트 스트림 패킷을 생성하는 패킷 생성 동작 및 상기 MPEG-2 트랜스포트 스트림 패킷을 사용함으로써 생성된 MPEG-2 트랜스포트 스트림을 전송하는 전송 동작을 포함하고, 상기 MPEG-2 트랜스포트 스트림은 스케일러블 비디오 스트림을 포함하며, 상기 MPEG-2 트랜스포트 스트림 패킷의 헤더는 상기 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함하는, 스트리밍 서비스 방법이 제공된다.According to another aspect, a packet generation operation for generating an MPEG-2 transport stream packet and a transmission operation for transmitting the MPEG-2 transport stream generated by using the MPEG-2 transport stream packet, An MPEG-2 transport stream includes a scalable video stream, and a header of the MPEG-2 transport stream packet includes scalability information of the scalable video stream.
상기 스케일러블 비디오 정보 및 멀티뷰 비디오 정보 또는 스케일러블 멀티뷰 비디오 정보는 상기 MFU헤더에서 선택적으로 존재할 수 있다.The scalable video information and the multiview video information or the scalable multiview video information may be selectively present in the MFU header.
상기 헤더는 상기 계층 타입 정보에 따라 스케일러블 비디오 정보, 멀티뷰 비디오 정보, 그리고 스케일러블 멀티뷰 비디오의 컴바인드 스케일러빌리티(combined scalability) 정보를 포함할 수 있다.The header may include scalable video information, multiview video information, and combined scalability information of scalable multiview video according to the layer type information.
또 다른 일 측에 따르면, MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 패킷을 생성하는 처리부 및 상기 MMT 패킷을 사용하여 MMT 스트림을 전송하는 네트워킹부를 포함하고, 상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서버가 제공된다.According to another aspect, a processor for generating an MPEG Media Transport (MMT) packet and a network for transmitting the MMT stream using the MMT packet, the MMT packet is multi-view video, scalable A streaming server is provided that includes one or more of video and scalable multiview video.
상기 MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)은 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상을 포함할 수 있다.The media fragment unit (MFU) in the MMT packet may include one or more of the scalable video, the multiview video, and the scalable multiview video.
상기 MFU의 헤더는 우선순위 식별자(identifier; ID)를 포함할 수 있다.The header of the MFU may include a priority identifier (ID).
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 비디오의 상기 멀티뷰 계층의 우선순위를 나타낼 수 있다.The priority ID may indicate a priority of the multiview layer of the multiview video included in the MFU.
상기 MFU의 헤더는 뷰 ID, 뷰 간 예측 플래그 및 앵커 픽쳐 플래그를 포함할 수 있다.The header of the MFU may include a view ID, an inter-view prediction flag, and an anchor picture flag.
상기 뷰 ID는 상기 멀티뷰 비디오의 고유의 ID를 가리킬 수 있다.The view ID may indicate a unique ID of the multiview video.
상기 뷰 간 예측 플래그는 현재 뷰 컴포넌트가 현재 액세스 유닛(Access Unit; AU) 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타낼 수 있다.The inter-view prediction flag may indicate whether the current view component may be predicted by another view component in the current access unit (AU).
상기 앵커 픽쳐 플래그는 상기 멀티뷰 비디오로의 임의 접근(random access)을 위해 사용될 수 있다.The anchor picture flag may be used for random access to the multiview video.
상기 MFU의 헤더는 우선순위 ID를 포함할 수 있다.The header of the MFU may include a priority ID.
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 스케일러블 비디오의 상기 스케일러블 계층의 우선순위를 나타낼 수 있다.The priority ID may indicate a priority of the scalable layer of the scalable video included in the MFU.
상기 MFU의 헤더는 공간적 ID, 시간적 ID 및 화질적 ID를 포함할 수 있다.The header of the MFU may include a spatial ID, a temporal ID, and an image quality ID.
상기 공간적 ID는 상기 스케일러블 비디오의 공간적 레벨을 가리킬 수 있다.The spatial ID may indicate a spatial level of the scalable video.
상기 시간적 ID는 상기 스케일러블 비디오의 시간적 레벨을 가리킬 수 있다.The temporal ID may indicate a temporal level of the scalable video.
상기 화질적 ID는 상기 스케일러블 비디오의 화질적 레벨을 가리킬 수 있다.The quality ID may indicate the quality level of the scalable video.
상기 MFU의 헤더는 우선순위 ID를 포함할 수 있다.The header of the MFU may include a priority ID.
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 스케일러블 비디오의 우선순위를 나타낼 수 있다.The priority ID may indicate a priority of the multiview scalable video included in the MFU.
상기 MFU의 헤더는 뷰 ID, 공간적 ID, 시간적 ID 및 화질적 ID를 포함할 수 있다.The header of the MFU may include a view ID, a spatial ID, a temporal ID, and an image quality ID.
상기 뷰 ID는 상기 스케일러블 멀티뷰 비디오의 고유의 ID를 가리킬 수 있다.The view ID may indicate a unique ID of the scalable multiview video.
상기 공간적 ID는 상기 스케일러블 멀티뷰 비디오의 공간적 레벨을 가리킬 수 있다.The spatial ID may indicate a spatial level of the scalable multiview video.
상기 시간적 ID는 상기 스케일러블 멀티뷰 비디오의 시간적 레벨을 가리킬 수 있다.The temporal ID may indicate a temporal level of the scalable multiview video.
상기 화질적 ID는 상기 스케일러블 멀티뷰 비디오의 화질적 레벨을 가리킬 수 있다.The quality ID may indicate a quality level of the scalable multiview video.
상기 MFU의 헤더는 계층 정보 플래그를 포함할 수 있다.The header of the MFU may include a layer information flag.
상기 계층 정보 플래그는 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상에 대한 정보의 유무를 나타낼 수 있다.The layer information flag may indicate the presence or absence of information on at least one of the scalable video, the multiview video, and the scalable multiview video.
상기 헤더는 상기 계층 정보 플래그를 통해 상기 헤더 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상의 계층의 타입의 정보를 포함할 수 있다.The header may include information of a type of one or more layers of the header scalable video, the multiview video, and the scalable multiview video through the layer information flag.
상기 헤더는 상기 계층의 타입의 정보에 따라 상기 멀티뷰 비디오의 정보, 상기 스케일러블 비디오의 정보 및 상기 멀티뷰 스케일러블 비디오의 정보 중 하나 이상을 포함할 수 있다.The header may include one or more of the information of the multiview video, the information of the scalable video, and the information of the multiview scalable video according to the information of the type of the layer.
상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상은 상기 MMT 패킷 내의 MFU 페이로드(payload) 내에 분할되어 존재할 수 있다.One or more of the scalable video, the multiview video, and the scalable multiview video may be divided in an MFU payload in the MMT packet.
또 다른 일 측에 따르면, MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 패킷을 생성하는 단계 및 상기 MMT 패킷을 사용하여 MMT 스트림을 전송하는 단계를 포함하고, 상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서비스 방법이 제공된다.According to another aspect, generating an MPEG Media Transport (MMT) packet and transmitting the MMT stream using the MMT packet, the MMT packet is multi-view video, scalable A streaming service method is provided that includes one or more of video and scalable multiview video.
또 다른 일 측에 따르면, MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 스트림을 수신하는 네트워킹부 및 상기 MMT 스트림 내의 MMT 패킷을 처리하는 처리부를 포함하고, 상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 클라이언트가 제공된다.According to another aspect, a network unit for receiving an MPEG Media Transport (MPT) stream and a processing unit for processing MMT packets in the MMT stream, wherein the MMT packet is multi-view video, scalable video And a scalable client comprising one or more of scalable multiview video.
상기 MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)는 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상을 포함할 수 있다.The media fragment unit (MFU) in the MMT packet may include one or more of the scalable video, the multiview video, and the scalable multiview video.
상기 MFU의 헤더는 우선순위 식별자(identifier; ID)를 포함할 수 있다.The header of the MFU may include a priority identifier (ID).
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 비디오의 상기 멀티뷰 계층의 우선순위를 나타낼 수 있다.The priority ID may indicate a priority of the multiview layer of the multiview video included in the MFU.
상기 MFU의 헤더는 뷰 ID, 뷰 간 예측 플래그 및 앵커 픽쳐 플래그를 포함할 수 있다.The header of the MFU may include a view ID, an inter-view prediction flag, and an anchor picture flag.
상기 뷰 ID는 상기 멀티뷰 비디오의 고유의 ID를 가리킬 수 있다.The view ID may indicate a unique ID of the multiview video.
상기 뷰 간 예측 플래그는 현재 뷰 컴포넌트가 현재 액세스 유닛(Access Unit; AU) 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타낼 수 있다.The inter-view prediction flag may indicate whether the current view component may be predicted by another view component in the current access unit (AU).
상기 앵커 픽쳐 플래그는 상기 멀티뷰 비디오로의 임의 접근(random access)을 위해 사용될 수 있다.The anchor picture flag may be used for random access to the multiview video.
상기 MFU의 헤더는 우선순위 ID를 포함할 수 있다.The header of the MFU may include a priority ID.
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 스케일러블 비디오의 상기 스케일러블 계층의 우선순위를 나타낼 수 있다.The priority ID may indicate a priority of the scalable layer of the scalable video included in the MFU.
상기 MFU의 헤더는 공간적 ID, 시간적 ID 및 화질적 ID를 포함할 수 있다.The header of the MFU may include a spatial ID, a temporal ID, and an image quality ID.
상기 공간적 ID는 상기 스케일러블 비디오의 공간적 레벨을 가리킬 수 있다.The spatial ID may indicate a spatial level of the scalable video.
상기 시간적 ID는 상기 스케일러블 비디오의 시간적 레벨을 가리킬 수 있다.The temporal ID may indicate a temporal level of the scalable video.
상기 화질적 ID는 상기 스케일러블 비디오의 화질적 레벨을 가리킬 수 있다.The quality ID may indicate the quality level of the scalable video.
상기 MFU의 헤더는 우선순위 ID를 포함할 수 있다.The header of the MFU may include a priority ID.
상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 스케일러블 비디오의 우선순위를 나타낼 수 있다.The priority ID may indicate a priority of the multiview scalable video included in the MFU.
또 다른 일 측에 따르면, MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 스트림을 수신하는 단계 및 상기 MMT 스트림 내의 MMT 패킷을 처리하는 단계를 포함하고, 상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서비스 방법이 제공된다.According to yet another aspect, the method includes receiving an MPEG Media Transport (MMT) stream and processing an MMT packet in the MMT stream, wherein the MMT packet includes: multiview video, scalable video, and the like. A streaming service method is provided that includes one or more of scalable multiview video.
TS 헤더를 확장하고, 스케일러빌리티 정보를 확장된 TS 헤더에 삽입함으로써 TS 레벨에서의 스케일러빌리티 정보가 제공될 수 있다.Scalability information at the TS level can be provided by extending the TS header and inserting the scalability information into the extended TS header.
기존의 구문 및 의미를 변화하지 않은 채, TS 헤더를 사용하여 스케일러빌리티 정보 및 뷰 정보가 전송될 수 있다.Scalability information and view information may be transmitted using a TS header without changing the existing syntax and meaning.
NALU 헤더가 존재하는 TS 패킷 헤더에만 스케일러빌리티 정보를 삽입함으로써 TS 헤더의 오버헤드가 감소될 수 있다.The overhead of the TS header can be reduced by inserting the scalability information only in the TS packet header in which the NALU header exists.
MMT 패킷의 MFU 헤더에 스케일러블 비디오 정보 및 멀티뷰 비디오 정보를 삽입함으로써 MMT에서 스케일러빌리티 정보, 뷰 정보, 뷰 간 예측 플래그 정보 및 임의 접근을 위한 앵커 픽쳐 플래그 정보가 제공될 수 있다.By inserting scalable video information and multiview video information into an MFU header of an MMT packet, scalability information, view information, inter-view prediction flag information, and anchor picture flag information for random access may be provided in MMT.
도 1은 일 예에 따른 TS 헤더의 확장 구성도이다.1 is an extended configuration diagram of a TS header according to an example.
도 2는 일 예에 따른 부가적 필드의 구성도이다.2 is a diagram illustrating an additional field according to an example.
도 3은 일 예에 따른 스케일러빌리티 정보를 전송하기 위한 TS 헤더의 사적 전송 데이터를 확장한 구문을 나타낸다.3 illustrates syntax of extending private transmission data of a TS header for transmitting scalability information according to an embodiment.
도 4는 일 실시예에 따른 사적 전송 데이터가 존재하는 적응 필드의 구조도이다.4 is a structural diagram of an adaptation field in which private transmission data exists according to an embodiment.
도 5는 일 예에 따른 스케일러블 비디오 코딩(Scalable Video Coding; SVC)의 네트워크 추상화 계층 유닛(Network Abstraction Layer Unit; NALU) 헤더 내에 존재하는 스케일러빌리티 정보를 이용함으로써 스케일러빌리티 정보를 TS 헤더 내에 삽입하는 방법을 나타낸다.FIG. 5 illustrates scalability information being inserted into a TS header by using scalability information present in a Network Abstraction Layer Unit (NALU) header of Scalable Video Coding (SVC) according to an example. The method is shown.
도 6은 일 실시예에 따른 스트리밍 서버의 구조도이다.6 is a structural diagram of a streaming server according to an embodiment.
도 7은 일 실시예에 따른 스트리밍 클라이언트의 구조도이다.7 is a structural diagram of a streaming client according to an embodiment.
도 8은 일 실시예에 따른 스트리밍 서비스 방법의 흐름도이다.8 is a flowchart of a streaming service method according to an exemplary embodiment.
도 9는 일 예에 따른 미디어 프래그먼트 유닛(Media Fragment Unit)을 설명한다.9 illustrates a media fragment unit according to an example.
도 10은 일 예에 따른 M-유닛의 단일 M-유닛 케이스를 나타낸다.10 illustrates a single M-unit case of an M-unit according to an example.
도 11은 일 예에 따른 M-유닛의 프래그먼트된(fragmented) M-유닛 케이스를 나타낸다.11 illustrates a fragmented M-unit case of an M-unit according to an example.
도 12는 일 예에 따른 MMT 어셋(asset)을 나타낸다.12 illustrates an MMT asset according to an example.
도 13은 일 예에 따른 MMT 패키지(package)를 나타낸다.13 illustrates an MMT package according to an example.
도 14는 일 예에 따른 제어(control) 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.14 illustrates an MMT-PL format for a control type packet according to an example.
도 15는 일 예에 따른 미디어 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.15 illustrates an MMT-PL format for a packet of a media type according to an example.
도 16은 일 예에 따른 제어 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.16 illustrates an MMT-PL format for a packet of a control type according to an example.
도 17은 일 예에 따른 제1 MMT 패킷을 나타낸다.17 illustrates a first MMT packet according to an example.
도 18은 일 예에 따른 제2 MMT 패킷을 나타낸다.18 illustrates a second MMT packet according to an example.
도 19는 일 실시예에 따른 스케일러블 비디오 또는 멀티뷰 비디오 정보를 제공하기 위한 구문(syntax)을 설명한다.19 illustrates a syntax for providing scalable video or multiview video information according to an embodiment.
도 20은 일 실시예에 따른 스트리밍 서버의 구조도이다.20 is a structural diagram of a streaming server according to an embodiment.
도 21은 일 실시예에 따른 스트리밍 클라이언트의 구조도이다.21 is a structural diagram of a streaming client according to an embodiment.
도 22은 일 실시예에 따른 스트리밍 서비스 방법의 흐름도이다.22 is a flowchart of a streaming service method according to an embodiment.
도 23은 일 예에 따른 조합된 스케일러빌리티를 나타낸다.23 illustrates combined scalability according to an example.
이하에서, 실시예들을, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. However, the present invention is not limited or limited by the embodiments. Like reference numerals in the drawings denote like elements.
도 1은 일 예에 따른 TS 헤더(112)의 확장 구성도이다.1 is an enlarged configuration diagram of a TS header 112 according to an example.
TS 패킷 스트림(100)은 TS 패킷(110)으로 구성된다.The TS packet stream 100 is composed of TS packets 110.
TS 패킷은 헤더(Header)(즉, TS 헤더)(112) 및 페이로드(Payload)(114)를 구성한다.The TS packet constitutes a header (ie, a TS header) 112 and a payload 114.
TS 패킷(110)의 길이는, 고정 길이로, 188 바이트(byte)이다.The length of the TS packet 110 is fixed length and is 188 bytes.
헤더(112)는 싱크 바이트(Sync Byte)(122), 트랜스포트 에러 인디케이터(Transport Error Indicator)(124), 페이로드 유닛 스타트 인디케이터(Payload Unit Start Indicator)(126), 트랜스포트 우선순위(Transport Priority)(128), 패킷 식별자(Packet Identifier; PID)(130), 트렌스포트 스크램블링 컨트롤(Transport Scrambling Control)(132), 적응 필드 컨트롤(Adaptation Field Control)(134), 연속성 카운터(Continuity Counter)(136) 및 적응 필드(Adaptation Field)(138)를 포함한다.The header 112 includes a sync byte 122, a transport error indicator 124, a payload unit start indicator 126, and a transport priority. 128, Packet Identifier (PID) 130, Transport Scrambling Control 132, Adaptation Field Control 134, Continuity Counter 136 ) And an adaptation field 138.
각 필드의 길이(즉, 각 필드를 구성하는 비트들(bits))이 필드의 하단에 숫자로서 표시되었다. 예컨대, 싱크 바이트(122)는 8 비트들이다.The length of each field (ie the bits that make up each field) is indicated as a number at the bottom of the field. For example, the sync byte 122 is eight bits.
싱크 바이트(122)는 바이트 정렬되었다(byte-aligned). 따라서, 바이트 정렬을 통해 TS 스트림(100)에서 싱크 바이트(122)가 검색되면, TS 패킷(110)이 추출될 수 있다. Sink byte 122 is byte-aligned. Therefore, when the sync byte 122 is retrieved from the TS stream 100 through byte alignment, the TS packet 110 may be extracted.
각 TS 패킷(110)은 상이한 페이로드(114)를 담고 있다. 상이한 페이로드(114)를 구별하기 위해, PID(130)가 헤더(112) 내에 존재한다.Each TS packet 110 contains a different payload 114. To distinguish different payloads 114, a PID 130 is present in the header 112.
또한, 페이로드의 존재의 유무를 나타내기 위한 적응 필드 컨트롤(134)이 헤더(112) 내에 존재한다. 적응 필드 컨트롤(134)은 적응 필드(138)의 존재의 유무를 나타낸다. 적응 필드 컨트롤(134)은 TS 패킷(110)의 페이로드(114) 내에 있다.In addition, there is an adaptation field control 134 in the header 112 to indicate the presence or absence of a payload. The adaptation field control 134 indicates the presence or absence of the adaptation field 138. The adaptation field control 134 is in the payload 114 of the TS packet 110.
적응 필드(138)는 적응 필드 길이(Adaptation Field Length)(142), 디스컨티뉴어티 인디케이터(Discontinuity Indicator)(144), 랜덤 액세스 인디케이터(Random Access Indicator)(146), 엘리멘트리 스트림 우선순위 인디케이터(Elementary Stream Priority Indicator)(148), 5 개의 플래그들(5 Flags)(150), 부가적 필드(Optional Field)(152) 및 스터핑 바이트들(Stuffing Bytes)(154)을 포함한다.The adaptation field 138 includes an adaptation field length 142, a discontinuity indicator 144, a random access indicator 146, and an elementary stream priority indicator. Stream Priority Indicator 148, five Flags 150, an Optional Field 152, and Stuffing Bytes 154.
적응 필드(138) 내에 있는 5 개의 플래그들(150)을 통하여, 부가적 필드(152) 내에 있는 여러 정보의 존재의 유무를 나타낼 수 있다.Five flags 150 in the adaptation field 138 may indicate the presence or absence of various information in the additional field 152.
도 2는 일 예에 따른 부가적 필드(152)의 구성도이다.2 is a diagram illustrating an additional field 152 according to an example.
부가적 필드(152)는 프로그램 시각 기준 참조치(Program Clock Reference; PCR)(212), 원본 프로그램 시각 기준 참조치(Original Program Clock Reference; OPCR)(214), 스플라이스 카운트다운(Splice Countdown)(216), 사적 전송 데이터 길이(Transport Private Data Length)(218), 사적 전송 데이터(Transport Private Data)(220), 적응 필드 확장 길이(Adaptation Field Extension Length)(222), 3 개의 플래그들(3 Flags)(224) 및 부가적 필드(Optional Field)(226)를 포함한다. Additional fields 152 include Program Clock Reference (PCR) 212, Original Program Clock Reference (OPCR) 214, Splice Countdown ( 216, Transport Private Data Length 218, Transport Private Data 220, Adaptation Field Extension Length 222, 3 Flags 224 and Optional Field 226.
5 개의 플래그들(150)에 대한 부가적 필드(152) 내에, 표준에서 정의되지 않은 데이터를 전송하기 위한 사적 전송 데이터(220)가 있다.In the additional field 152 for the five flags 150, there is private transmission data 220 for transmitting data not defined in the standard.
스케일러블 비디오가 전송될 때, 스케일러빌리티 정보가 사적 전송 데이터(220)에 삽입된다.When scalable video is transmitted, scalability information is inserted into private transmission data 220.
전술된 5 개의 플래그들(150)을 통해 사적 전송 데이터(220)의 존재의 유무를 나타냄으로써 스케일러블 비디오가 페이로드(114) 내에 있는지가 나타내어질 수 있다.The five flags 150 described above may indicate whether scalable video is in payload 114 by indicating the presence or absence of private transmission data 220.
부가적 필드(226)는 리걸 타임 윈도우(Legal Time Window; LTW) 유효 플래그(ltw_valid flag)(232), 리걸 타임 윈도우 옵셋(LTW Offset)(234), 예약된 부분(Reserved)(236), 피스와이즈 비율(Piecewise Rate)(238), 스플라이스 타입(Splice Type)(240) 및 디코딩 타임 스템프(Decoding Time Stamp; DTS)_next_au(DTS_next_au)(242)를 포함한다. Additional fields 226 include Legal Time Window (LTW) valid flag (ltw_valid flag) 232, Legal Time Window Offset (LTW Offset) 234, Reserved 236, Piece Piecewise Rate 238, Splice Type 240, and Decoding Time Stamp (DTS) _next_au (DTS_next_au) 242.
도 3은 일 예에 따른 스케일러빌리티 정보를 전송하기 위한 TS 헤더(112)의 사적 전송 데이터(220)를 확장한 구문을 나타낸다.3 illustrates syntax of extending private transmission data 220 of the TS header 112 for transmitting scalability information according to an embodiment.
도 3에서, 사적 전송 데이터(220)에 대한 확장된 구문(syntax), 필드들 각각의 비트 개수(No. of Bits) 및 니모닉(mnemonic)이 개시되었다.In FIG. 3, an extended syntax, No. of Bits of each of the fields, and mnemonics for the private transmission data 220 are disclosed.
스케일러블 비디오 또는 멀티뷰(multi-view) 비디오에서, 사적 데이터 필드에 스케일러빌리티 및 뷰 정보가 포함되는 경우에는 기존의 사적 데이터 필드 신택스와 시맨틱스가 그대로 사용되고, 사적 데이터 필드만 도 3에서 도시된 것과 같이 확장되어 정의된다.In scalable video or multi-view video, when the private data field includes scalability and view information, the existing private data field syntax and semantics are used as it is, and only the private data field is shown in FIG. 3. Expanded and defined together.
따라서, 송신측 및 수신측에 있어서, 사적 데이터를 이용함으로써 스케일러빌리티 정보 및 뷰 정보를 삽입하는 규정이 요구된다. Therefore, on the transmitting side and the receiving side, a requirement to insert scalability information and view information by using private data is required.
트랜스포트 사적 데이터 플래그(transport_private_data_flag)(300)는 트랜스포트 사적 데이터 길이(transport_private_data_length)(310), 뷰 정보 플래그(view_info_flag)(320) 및 스케일러블 정보 플래그(scalable_info_flag)(330)가 존재한다는 것을 나타낸다.The transport private data flag (transport_private_data_flag) 300 indicates that a transport private data length (transport_private_data_length) 310, a view information flag (view_info_flag) 320, and a scalable information flag (scalable_info_flag) 330 exist.
뷰 정보 플래그(320)는 뷰 정보가 존재한다는 것을 나타내기 위해 사용된다.View information flag 320 is used to indicate that view information exists.
스케일러블 정보 플래그(330)는 스케일러빌리티 정보가 존재한다는 것을 나타낸다.The scalable information flag 330 indicates that scalability information exists.
뷰 정보 플래그(320) 및 스케일러블 정보 플래그(330)의 값에 의해 어떤 정보를 전송할지가 결정되며, 어떤 정보가 포함되어 있는지가 판별된다.The information of the view information flag 320 and the scalable information flag 330 determines what information is transmitted and determines what information is included.
뷰 정보 플래그(320) 및 스케일러블 정보 플래그(330)의 값들이 모두 "1"인 경우, 뷰 정보(view_id)(340), 공간적 스케일러빌리티 정보(spatial_scalability)(또는, spatial_id)(350), 시간적 스케일러빌리티 정보(temporal_scalability)(또는, temporal_id)(360), 화질적 스케일러빌리티 정보(quality_scalability)(또는, quality_id)(370))가 전송될 수 있고, 2 비트가 확보(reserve)될 수 있다.If the values of the view information flag 320 and the scalable information flag 330 are both "1", the view information (view_id) 340, the spatial scalability information (spatial_scalability) (or spatial_id) 350, the temporal Scalability information (temporal_scalability) (or temporal_id) 360, quality scalability information (quality_scalability) (or quality_id) 370 may be transmitted, and 2 bits may be reserved.
뷰 정보 플래그(320)의 값만이 "1"인 경우, 뷰 정보(340) 및 시간적 스케일러빌리티 정보가 전송될 수 있다.When only the value of the view information flag 320 is "1", the view information 340 and the temporal scalability information may be transmitted.
스케일러블 정보 플래그(330)의 값만이 "1"인 경우, 공간적 스케일러빌리티 정보(spatial_id)(350), 시간적 스케일러빌리티 정보(temporal_id)(360), 화질적 스케일러빌리티 정보(370)가 전송될 수 있고, 4 비트가 확보될 수 있다.When only the value of the scalable information flag 330 is "1", the spatial scalability information (spatial_id) 350, the temporal scalability information (temporal_id) 360, and the image quality scalability information 370 may be transmitted. 4 bits can be secured.
뷰 정보 플래그(320) 및 스케일러블 정보 플래그(330)의 값들이 모두 "1"이 아닌 경우, 6 비트가 확보될 수 있다.If the values of the view information flag 320 and the scalable information flag 330 are not all "1", 6 bits may be secured.
도 4는 일 실시예에 따른 사적 전송 데이터(220)가 존재하는 적응 필드(138)의 구조도이다.4 is a structural diagram of an adaptation field 138 in which private transmission data 220 is present, according to an exemplary embodiment.
TS 헤더(112)는 일반적으로 4 바이트의 크기를 가지며, 필요에 따라서 적응 필드(138)를 사용함으로써 필요한 정보를 전송한다.The TS header 112 generally has a size of 4 bytes and transmits necessary information by using the adaptation field 138 as needed.
적응 필드(138) 내에서는, 적응 필드 길이(142)가 적응 필드(138) 전체의 길이를 나타낸다.Within the adaptation field 138, the adaptation field length 142 represents the length of the entire adaptation field 138.
적응 필드(138) 내에 존재하는 사적 전송 데이터(220) 필드를 사용하기 위해서, 5 개의 플래그들(412)을 사용함으로써, 5 개의 플래그들(412) 뒤에 존재하는 옵션 필드(414)의 사용 유무를 정할 수 있다.In order to use the private transmission data 220 field present in the adaptation field 138, the use of the five flags 412 allows the use of the option field 414 present after the five flags 412. You can decide.
5 개의 플래그들(412) 중에서 사적 전송 데이터 플래그의 값이 '1'인 경우, 옵션 필드(414) 내의 2 개의 플래그들(422)이 사적 전송 데이터(220) 필드를 통해 뷰 정보, 스케일러빌리티 정보 및 사적 데이터(424)를 전송할지 여부를 결정한다.If the value of the privately transmitted data flag among the five flags 412 is '1', the two flags 422 in the option field 414 can be viewed through the privately transmitted data 220 field to view information and scalability information. And whether to transmit private data 424.
뷰 정보 플래그(320)의 값이 '1'인 경우, 뷰 정보(340)가 전송된다.When the value of the view information flag 320 is '1', the view information 340 is transmitted.
스케일러블 정보 플래그(330)의 값이 '1'인 경우, 공간적 스케일러빌리티(350)의 정보, 시간적 스케일러빌리티(360)의 정보 및 화질적 스케일리빌리티(370)의 정보가 전송된다.When the value of the scalable information flag 330 is '1', the information of the spatial scalability 350, the information of the temporal scalability 360, and the information of the image quality scalability 370 are transmitted.
이러한 구조를 갖는 TS 헤더(112)가 사용됨으로써 기존의 구문 및 의미가 변화되지 않은 채, 스케일러빌리티 정보 및 뷰 정보가 전송될 수 있다.By using the TS header 112 having such a structure, the scalability information and the view information can be transmitted without changing the existing syntax and meaning.
도 5는 일 예에 따른 스케일러블 비디오 코딩(Scalable Video Coding; SVC)의 네트워크 추상화 계층 유닛(Network Abstraction Layer Unit; NALU) 헤더 내에 존재하는 스케일러빌리티 정보를 이용함으로써 스케일러빌리티 정보를 TS 헤더(112) 내에 삽입하는 방법을 나타낸다.5 illustrates scalability information by using scalability information present in a Network Abstraction Layer Unit (NALU) header of Scalable Video Coding (SVC) according to an example. It shows how to insert in.
SVC는 스케일러블 비디오 표준들 중 하나이다.SVC is one of the scalable video standards.
스케일러빌리티 정보(540)는 의존도 식별자(dependency_id), 시간적 식별자(temporal_id) 및 화질적 식별자(quality_id)를 포함한다. 의존도 식별자는 순서에 따라 D1 및 D2 등으로 표시된다. 시간적 식별자는 순서에 따라 T1 및 T2 등으로 표시된다. 화질적 식별자는 순서에 따라 Q1 및 Q2 등으로 표시된다.The scalability information 540 includes a dependency identifier (dependency_id), a temporal identifier (temporal_id), and a quality identifier (quality_id). The dependency identifier is indicated by D1, D2, etc. in order. The temporal identifiers are indicated by T1, T2, etc. in order. The image quality identifiers are indicated by Q1, Q2, etc. in order.
하나의 NALU은 PES(510)로 패킷화된다.One NALU is packetized to the PES 510.
PES(510)는 동일한 PID를 갖는 여러 개의 TS 패킷들(520)로 패킷화될 수 있다.The PES 510 may be packetized into several TS packets 520 having the same PID.
하나의 NALU가 여러 개의 TS 패킷(110)으로 분할되어서 패킷화될 때, 각 TS 패킷(110)의 헤더(112)마다 해당 NALU의 스케일러빌리티 정보가 삽입될 수 있다.When one NALU is divided into several TS packets 110 and packetized, scalability information of the corresponding NALU may be inserted into the header 112 of each TS packet 110.
그러나, 모든 TS 패킷(110)에 스케일러빌리티 정보가 삽입되면, TS 헤더(112)의 오버헤드가 증가하며, 하나의 NALU에 대한 중복적인 정보가 삽입된다.However, when scalability information is inserted into all TS packets 110, the overhead of the TS header 112 is increased, and redundant information about one NALU is inserted.
따라서, 모든 TS 패킷(110)의 헤더(112)에 스케일러빌리티 정보를 삽입하는 대신, 동일한 PID를 갖는 TS 패킷들 중, NALU 헤더(530)가 존재하는 TS 패킷 헤더에만 스케일러빌리티 정보가 삽입될 수 있고, TS 헤더(112)의 오버헤드가 감소될 수 있다.Therefore, instead of inserting the scalability information into the header 112 of all the TS packets 110, the scalability information may be inserted only in the TS packet header in which the NALU header 530 exists among the TS packets having the same PID. And the overhead of the TS header 112 can be reduced.
따라서, NALU 헤더(530)가 TS 패킷의 페이로드(114)에 삽입된 TS 패킷(110)의 헤더(112)에만 해당 NALU의 스케일러빌리티 정보(540)가 삽입될 수 있다..Accordingly, the NALU scalability information 540 may be inserted only in the header 112 of the TS packet 110 in which the NALU header 530 is inserted into the payload 114 of the TS packet.
전술된 NALU의 스케일러빌리티 정보(540)에 대한 설명은 NALU의 뷰 정보에 대해서도 적용될 수 있다. 이 때, NALU는 멀티-뷰 비디오 코딩(Multi-view Video Coding; MVC)의 NALU일 수 있다.The above description of the NALU scalability information 540 may also be applied to the view information of the NALU. In this case, the NALU may be a NALU of multi-view video coding (MVC).
예컨대, 하나의 NALU가 여러 개의 TS 패킷(110)으로 분할되어서 패킷화될 때, 각 TS 패킷(110)의 헤더(112)마다 해당 NALU의 뷰 정보가 삽입될 수 있다. 또한, NALU 헤더(530)가 TS 패킷의 페이로드(114)에 삽입된 TS 패킷(110)의 헤더(112)에만 해당 NALU의 뷰 정보가 삽입될 수 있다.For example, when one NALU is divided into several TS packets 110 and packetized, view information of the corresponding NALU may be inserted into the header 112 of each TS packet 110. In addition, view information of the corresponding NALU may be inserted only in the header 112 of the TS packet 110 in which the NALU header 530 is inserted into the payload 114 of the TS packet.
도 6은 일 실시예에 따른 스트리밍 서버(600)의 구조도이다.6 is a structural diagram of a streaming server 600 according to an embodiment.
스트리밍 서버(600)는 MPEG-2 TS를 생성하는 MPEG-2 TS 생성 장치를 나타낼 수 있다.The streaming server 600 may represent an MPEG-2 TS generating apparatus that generates an MPEG-2 TS.
스트리밍 서버 (600)는 패킷 생성부(610) 및 전송부(620)를 포함한다.The streaming server 600 includes a packet generator 610 and a transmitter 620.
패킷 생성부(610)는 전술된 TS 패킷(110)을 생성한다.The packet generator 610 generates the aforementioned TS packet 110.
전송부(620)는 TS 패킷(110)을 사용하여 TS 스트림(100)을 전송한다. TS 스트림(100)은 스케일러블 비디오 스트림을 포함할 수 있다. 스케일러블 비디오 스트림은 TS 패킷(110)의 페이로드(114) 내에 분할되어 존재할 수 있다. 즉, TS 스트림(100)을 구성하는 하나 이상의 TS 패킷(110)은 페이로드(114)들 내에 스케일러블 비디오 스트림을 포함할 수 있다.The transmitter 620 transmits the TS stream 100 using the TS packet 110. The TS stream 100 may include a scalable video stream. The scalable video stream may be divided in the payload 114 of the TS packet 110. That is, one or more TS packets 110 constituting the TS stream 100 may include a scalable video stream in the payloads 114.
전송부(620)는 네트워크 인터페이스부(630)를 통해 TS 스트림(100)을 비디오 플레이어와 같은 다른 스트리밍 클라이언트(700)로 전송할 수 있다.The transmitter 620 may transmit the TS stream 100 to another streaming client 700 such as a video player through the network interface 630.
전송부(620)는 TS 스트림(100)을 스트리밍 서버(600) 내부의 저장부(640)에 저장할 수 있다.The transmitter 620 may store the TS stream 100 in the storage 640 inside the streaming server 600.
TS 패킷(110)의 헤더(112)는 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함한다.The header 112 of the TS packet 110 includes scalability information of the scalable video stream.
패킷 생성부(610)는 스케일러빌리티 정보 삽입부(650)를 포함할 수 있다.The packet generator 610 may include a scalability information inserter 650.
스케일러빌리티 정보 삽입부(650)는 이미 생성된 TS 패킷(110) 내에 스케일러빌리티 정보를 삽입(또는, 추가)한다.The scalability information inserter 650 inserts (or adds) scalability information into the already generated TS packet 110.
따라서, 전술된 스케일러빌리티 정보는 패킷 생성부(610)에 의해 생성될 수 있으며, 스케일러빌리티 정보 삽입부(650)에 의해 TS 패킷(110) 내에 삽입될 수 있다.Therefore, the above-described scalability information may be generated by the packet generator 610 and inserted into the TS packet 110 by the scalability information inserter 650.
스케일러빌리티 정보는 사적 전송 데이터(220) 내에 존재할 수 있다. 즉, 패킷 생성부(610)는 사적 전송 데이터(220) 내에 스케일러빌리티 정보를 생성할 수 있다. 또한, 스케일러빌리티 정보 삽입부(650)는 TS 패킷(110) 내에 스케일러빌리티 정보를 삽입하기 위해 사적 전송 데이터(220) 및 이에 연관된 TS 패킷(110) 내의 다른 부분을 변경할 수 있다.The scalability information may be present in the private transmission data 220. That is, the packet generator 610 may generate scalability information in the private transmission data 220. In addition, the scalability information insertion unit 650 may change the private transmission data 220 and other parts in the TS packet 110 associated with it in order to insert the scalability information into the TS packet 110.
패킷 생성부(610)는 스케일러빌리티 정보의 유무를 나타내는 스케일러빌리티 정보 플래그(330) 및 스케일러블 비디오 스트림의 뷰 정보의 유무를 나타내는 뷰 정보 플래그(320)를 포함할 수 있다. 패킷 생성부(610)는 헤더(112) 내에 스케일러빌리티 정보 플래그(330) 및 뷰 정보 플래그(320)를 생성할 수 있다. The packet generator 610 may include a scalability information flag 330 indicating presence of scalability information and a view information flag 320 indicating presence of view information of the scalable video stream. The packet generator 610 may generate the scalability information flag 330 and the view information flag 320 in the header 112.
스케일러빌리티 정보 삽입부(650)는 스케일러빌리티 정보의 유무에 따라 스케일러빌리티 정보 플래그(330)의 값을 세트할 수 있고, 뷰 정보의 유무에 따라 뷰 정보 플래그(320)의 값을 세트할 수 있다.The scalability information insertion unit 650 may set the value of the scalability information flag 330 according to the presence or absence of the scalability information, and may set the value of the view information flag 320 according to the presence or absence of the view information. .
스케일러빌리티 정보는 TS 헤더(112)의 사적 전송 데이터(220) 내의 적응 필드(138) 내에 존재할 수 있다. 또한, 스케일러빌리티 정보는 적응 필드(138) 내의 부가적 필드(152) 내에 존재할 수 있다.Scalability information may be present in the adaptation field 138 in the private transmission data 220 of the TS header 112. In addition, scalability information may be present in additional fields 152 in the adaptation field 138.
뷰 정보는 TS 헤더(112)의 사적 전송 데이터(220) 내의 적응 필드(138) 내에 존재할 수 있다. 또한, 스케일러빌리티 정보는 적응 필드(138) 내의 부가적 필드(152) 내에 존재할 수 있다.The view information may be present in the adaptation field 138 in the private transmission data 220 of the TS header 112. In addition, scalability information may be present in additional fields 152 in the adaptation field 138.
TS 헤더(112)의 트랜스포트 사적 데이터 플래그(310)는 스케일러빌리티 정보 플래그(330) 및 뷰 정보 플래그(320)의 유무를 나타낼 수 있다. 패킷 생성부(610)는 헤더(112) 내에 사적 데이터 플래그(310)를 생성할 수 있다. 스케일러빌리티 정보 삽입부(650)는 스케일러빌리티 정보 플래그(330) 및 뷰 정보 플래그(320)의 유무에 따라 사적 데이터 플래그(310)의 값을 세트할 수 있다.The transport historic data flag 310 of the TS header 112 may indicate the presence or absence of the scalability information flag 330 and the view information flag 320. The packet generator 610 may generate a private data flag 310 in the header 112. The scalability information insertion unit 650 may set the value of the private data flag 310 according to the presence or absence of the scalability information flag 330 and the view information flag 320.
스케일러빌리티 정보는 스케일러블 비디오의 공간적 스케일러빌리티 정보(350), 시간적 스케일러빌리티 정보(360) 및 화질적 스케일러빌리티 정보(370) 중 하나 이상을 포함할 수 있다.The scalability information may include one or more of spatial scalability information 350, temporal scalability information 360, and quality scalability information 370 of the scalable video.
패킷 생성부(610)는 MVC의 NALU 헤더(530) 내의 뷰 정보를 사용하여 뷰 정보를 생성할 수 있다. 또는, 스케일러빌리티 정보 삽입부(650)는 멀티-뷰 비디오 코딩의 NALU 헤더(530) 내의 뷰 정보를 사용하여 뷰 정보를 TS 헤더(112) 내에 삽입할 수 있다.The packet generator 610 may generate view information using the view information in the NALU header 530 of the MVC. Alternatively, the scalability information inserter 650 may insert the view information into the TS header 112 using the view information in the NALU header 530 of the multi-view video coding.
또한, 패킷 생성부(610)는 SVC의 NALU 헤더(530) 내의 스케일러빌리티 정보를 사용하여 스케일러빌리티 정보를 생성할 수 있다. 또는, 스케일러빌리티 정보 삽입부(650)는 SVC의 NALU 헤더(530) 내의 스케일러빌리티 정보를 사용하여 스케일러빌리티 정보를 TS 헤더(112) 내에 삽입할 수 있다.In addition, the packet generator 610 may generate scalability information using the scalability information in the NALU header 530 of the SVC. Alternatively, the scalability information inserter 650 may insert scalability information into the TS header 112 using the scalability information in the NALU header 530 of the SVC.
패킷 생성부(610)는 TS 패킷(110) 내에 NALU 헤더(530)의 데이터가 존재하는 경우에만 스케일러빌리티 정보를 생성할 수 있다. 스케일러빌리티 정보 삽입부(650)는 NALU 헤더(530)의 데이터를 갖는 TS 패킷(110)에만 스케일러빌리티 정보를 삽입할 수 있다.The packet generator 610 may generate scalability information only when data of the NALU header 530 exists in the TS packet 110. The scalability information insertion unit 650 may insert scalability information only in the TS packet 110 having data of the NALU header 530.
동일한 PID를 갖는 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들이 존재할 수 있다.There may be one or more MPEG-2 transport stream packets with the same PID.
패킷 생성부(610)는 동일한 PID를 갖는 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들 중 NALU 헤더(530)의 데이터가 존재하는 TS 패킷(110) 내에만 스케일러빌리티 정보를 생성할 수 있다. 스케일러빌리티 정보 삽입부(650)는 동일한 PID를 갖는 하나 이상의 MPEG-2 트랜스포트 스트림 패킷들 중 NALU 헤더(530)의 데이터가 존재하는 TS 패킷(110) 내에만 스케일러빌리티 정보를 삽입할 수 있다.The packet generator 610 may generate scalability information only in the TS packet 110 in which data of the NALU header 530 exists among one or more MPEG-2 transport stream packets having the same PID. The scalability information inserter 650 may insert scalability information only in the TS packet 110 in which data of the NALU header 530 exists among one or more MPEG-2 transport stream packets having the same PID.
앞서 도 1 내지 도 5를 참조하여 설명된 실시예들에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to the embodiments described above with reference to FIGS. 1 to 5 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.
도 7은 일 실시예에 따른 스트리밍 클라이언트(700)의 구조도이다.7 is a structural diagram of a streaming client 700 according to an embodiment.
스트리밍 클라이언트(700)는 스트리밍 서버(600)에 의해 생성된 MPEG-2 TS를 처리하는 MPEG-2 TS 처리 장치일 수 있다.The streaming client 700 may be an MPEG-2 TS processing apparatus that processes the MPEG-2 TS generated by the streaming server 600.
스트리밍 클라이언트(700)는 전술된 스트리밍 서버(600)에 의해 생성된 TS 스트림(100)을 수신하여 처리하는 장치이다. TS 스트림(100)은 스케일러블 비디오 스트림을 포함하며, TS 패킷(110)의 헤더는 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함한다.The streaming client 700 is a device that receives and processes the TS stream 100 generated by the aforementioned streaming server 600. The TS stream 100 includes a scalable video stream, and the header of the TS packet 110 includes scalability information of the scalable video stream.
스트리밍 클라이언트(700)는 수신부(710) 및 패킷 처리부(720)를 포함한다.The streaming client 700 includes a receiver 710 and a packet processor 720.
수신부(710)는 TS 스트림(100)을 수신한다.The receiver 710 receives the TS stream 100.
패킷 처리부(720)는 TS 스트림(100) 내의 TS 패킷(110)을 처리한다.The packet processor 720 processes the TS packet 110 in the TS stream 100.
패킷 처리부(720)의 동작은 패킷 생성부(610)의 동작에 대응한다.The operation of the packet processor 720 corresponds to the operation of the packet generator 610.
예컨대, 패킷 처리부(720)는 TS 헤더(112) 내의 뷰 정보 플래그(320)에 기반하여 TS 패킷(110) 내의 스케일러빌리티 정보 및 뷰 정보의 유무를 판단할 수 있다.For example, the packet processor 720 may determine the presence or absence of the scalability information and the view information in the TS packet 110 based on the view information flag 320 in the TS header 112.
또한, 패킷 처리부(720)는 스케일러빌리티 정보에 기반하여 SVC의 NALU 헤더(530) 내의 스케일러빌리티 정보를 생성할 수 있다.In addition, the packet processor 720 may generate scalability information in the NALU header 530 of the SVC based on the scalability information.
패킷 처리부(720)는 TS 패킷(110) 내에 NALU 헤더(530)의 데이터가 존재할 경우에만 스케일러빌리티 정보를 추출할 수 있다.The packet processor 720 may extract scalability information only when data of the NALU header 530 exists in the TS packet 110.
패킷 처리부(720)는 동일한 PID(130)를 갖는 하나 이상의 TS 패킷(110)들 중 NALU 헤더(530)의 데이터가 존재하는 TS 패킷(110)에서만 스케일러빌리티 정보를 추출할 수 있다.The packet processor 720 may extract scalability information only in the TS packet 110 in which data of the NALU header 530 exists among one or more TS packets 110 having the same PID 130.
또한, 특정한 TS 패킷은 스케일러빌리티 정보를 포함하지 않을 수 있다. 이러한 경우, 패킷 처리부(720)는 상기의 특정한 TS 패킷과 동일한 PID(130)를 갖는 하나 이상의 TS 패킷(110)들 중 1) 스케일러빌리티 정보를 포함하는, 2) 상기의 특정한 TS 패킷과 가장 가까운 이전 시간의 TS 패킷으로부터 스케일러빌리티 정보를 추출할 수 있고, 추출된 스케일러빌리티 정보를 상기의 특정한 TS 패킷의 스케일러빌리티 정보로서 사용할 수 있다.In addition, a specific TS packet may not include scalability information. In this case, the packet processing unit 720 includes 1) scalability information among one or more TS packets 110 having the same PID 130 as the specific TS packet, 2) closest to the specific TS packet. The scalability information can be extracted from the TS packet of the previous time, and the extracted scalability information can be used as the scalability information of the specific TS packet.
앞서 도 1 내지 도 6을 참조하여 설명된 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to the exemplary embodiment described above with reference to FIGS. 1 to 6 may be applied to the present exemplary embodiment. Therefore, more detailed description will be omitted below.
도 8은 일 실시예에 따른 스트리밍 서비스 방법(800)의 흐름도이다.8 is a flowchart of a streaming service method 800 according to an embodiment.
스트리밍 서비스 방법(800)은 도 6을 참조하여 전술된 MPEG-2 TS를 처리하기 위한 방법일 수 있다.The streaming service method 800 may be a method for processing the MPEG-2 TS described above with reference to FIG. 6.
동작(810)에서, 예컨대 스트리밍 서버(600)의 패킷 생성부(610)에 의해, TS 패킷(110)이 생성된다.In operation 810, for example, the TS packet 110 is generated by the packet generator 610 of the streaming server 600.
동작(820)에서, 예컨대 스트리밍 서버(600)의 전송부(620)에 의해, TS 패킷(110)을 사용함으로써 생성된 TS 스트림(100)이 전송된다.In operation 820, the TS stream 100 generated by using the TS packet 110 is transmitted, for example, by the transmitting unit 620 of the streaming server 600.
TS 스트림(100)은 스케일러블 비디오 스트림을 포함하며, TS 패킷(110)의 헤더는 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함한다.The TS stream 100 includes a scalable video stream, and the header of the TS packet 110 includes scalability information of the scalable video stream.
동작(830)에서, 예컨대 스트리밍 클라이언트(700)의 수신부(710)에 의해 TS 스트림(100)이 수신된다.In operation 830, for example, the TS stream 100 is received by the receiving unit 710 of the streaming client 700.
동작(840)에서, 예컨대 스트리밍 클라이언트(700)의 처리부(720)에 의해 TS 스트림(100) 내의 TS 패킷(110)이 처리된다.In operation 840, the TS packet 110 in the TS stream 100 is processed, for example, by the processing unit 720 of the streaming client 700.
앞서 도 1 내지 도 7을 참조하여 설명된 일 실시예에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to the exemplary embodiment described above with reference to FIGS. 1 to 7 may be applied to the present exemplary embodiment. Therefore, more detailed description will be omitted below.
전술된 스트리밍 서버(600), 스트리밍 클라이언트(700) 및 스트리밍 서비스 방법(800)을 통해 기존의 MPEG-2 시스템이 확장될 수 있다. 또한, TS 패킷(110)에 의해 다중화된 스케일러블 비디오는 다양한 단말 성능, 네트워크 상태 및 사용자 선호도 등에 적합한 형태로 적응될 수 있다. 이러한 TS 패킷(110)은 TS 스트림(100)으로부터 효율적으로 추출될 수 있다.The existing MPEG-2 system may be extended through the streaming server 600, the streaming client 700, and the streaming service method 800 described above. In addition, scalable video multiplexed by the TS packet 110 may be adapted in a form suitable for various terminal capabilities, network conditions, user preferences, and the like. The TS packet 110 may be efficiently extracted from the TS stream 100.
하기에서, MMT에서 스케일러블 비디오 및 멀티뷰 비디오를 제공하기 위한 장치 및 방법이 설명된다. 도 1 내지 도 8을 참조하여 설명된 실시예 또는 예들은 MMT에서 적용될 수 있다. 예컨대, 도 1 내지 도 8에서 설명된 MPEG2 TS는 MMT 또는 MMT 스트림으로 대체될 수 있다.In the following, an apparatus and method for providing scalable video and multiview video in MMT are described. Embodiments or examples described with reference to FIGS. 1 to 8 may be applied in MMT. For example, the MPEG2 TS described in FIGS. 1 to 8 may be replaced with an MMT or MMT stream.
스케일러블 비디오 정보 및 멀티뷰 비디오 정보는 MMT 패킷을 구성하는 가장 작은 단위인 미디어 프래그먼트 유닛(Media Fragment Unit; MFU) 헤더에 삽입될 수 있다.The scalable video information and the multiview video information may be inserted into a media fragment unit (MFU) header which is the smallest unit constituting the MMT packet.
MFU 헤더를 통해 스케일러블 비디오 및 멀티뷰 비디오에 대한 정보의 유무를 나타내는 계층 정보 플래그(layer info flag)를 둠으로써, 선택적으로 계층 정보를 제공할 수 있다.By providing a layer info flag indicating the presence or absence of information on scalable video and multi-view video through the MFU header, it is possible to selectively provide layer information.
스케일러블 비디오 및 멀티뷰 비디오는 MFU 페이로드(payload) 내에 분할되어 존재할 수 있다. 따라서 각 비디오에 대한 계층 타입(layer type) 정보를 구분함으로써 스케일러블 비디오 정보, 멀티뷰 비디오 정보 및 스케일러블 멀티뷰 비디오 정보가 제공될 수 있다. The scalable video and the multiview video may be divided and present in the MFU payload. Accordingly, scalable video information, multiview video information, and scalable multiview video information may be provided by dividing layer type information for each video.
스케일러블 비디오에 대해 제공되는 정보는 공간적, 시간적 및 화질적 측면에서의 스케일러빌리티 정보를 포함할 수 있다. 또한, 스케일러블 비디오에 대한 계층의 우선순위(priority) 정보가 제공될 수 있다.The information provided for the scalable video may include scalability information in terms of spatial, temporal, and image quality. In addition, priority information of a layer for scalable video may be provided.
멀티뷰 비디오에 대해 제공되는 정보는 뷰 정보 및 시간적 측면에서의 스케일러빌리티 정보를 포함할 수 있다. 또한, 멀티뷰 비디오에 대한 계층의 우선순위 정보가 제공될 수 있다. 또한, 멀티뷰 비디오의 특징인, 뷰 간 예측을 허용하는 플래그 정보 및 임의 접근을 위한 앵커 픽처 플래그 정보가 제공될 수 있다.The information provided for the multiview video may include view information and scalability information in terms of time. In addition, priority information of the layer for the multiview video may be provided. In addition, flag information allowing inter-view prediction, which is a feature of multiview video, and anchor picture flag information for random access may be provided.
스케일러블 멀티뷰 비디오에 대해 제공되는 정보는, 뷰 정보뿐만 아니라, 공간-뷰 스케일러빌리티(spatial-view scalability) 등과 같은 컴바인드 스케일러빌리티(combined scalability)정보를 포함할 수 있다.The information provided for the scalable multiview video may include not only view information but also combined scalability information such as spatial-view scalability.
상술된 정보를 이용함으로써, MMT 패킷화된(packetized) 스케일러블 비디오 및 멀티뷰 비디오가 다양한 성능의 단말, 다양한 네트워크 특성 및 특정한 사용자 선호도 등에 효율적으로 적응(adaptation)될 수 있다.By using the above-described information, MMT packetized scalable video and multiview video can be efficiently adapted to terminals of various capabilities, various network characteristics and specific user preferences, and the like.
하기에서, 도 9 내지 도 를 참조하여, MMT 패킷을 생성하는 과정이 설명된다.In the following, a process of generating an MMT packet is described with reference to FIGS.
도 9는 일 예에 따른 미디어 프래그먼트 유닛(Media Fragment Unit)을 설명한다.9 illustrates a media fragment unit according to an example.
MFU(900)는 미디어 프래그먼트(media fragment)로 약술될 수 있다.The MFU 900 may be abbreviated as a media fragment.
MFU(900)는, 특정한 코덱(codec)에 독립적인, 포괄적인(generic) 컨테이너 포멧일 수 있다. MFU(900)는 코드된(media) 미디어 데이터를 포함할 수 있다. 코드된 미디어 데이터는 미디어 디코더에 의해 독립적으로(independently) 소비될 수 있다(consumable). 코드된 미디어 데이터는 코드된 데이터로 약술될 수 있다. MFU(900)는 완전하거나 부분적인 액세스 유닛(Access Unit; AU)을 포함할 수 있으며, 전달 계층들에 의해 활용될 수 있는 정보를 포함할 수 있다.The MFU 900 may be in a generic container format, independent of a particular codec. MFU 900 may include coded media data. The coded media data can be consumed independently by the media decoder. Coded media data may be abbreviated as coded data. The MFU 900 may include a complete or partial Access Unit (AU) and may include information that may be utilized by the transport layers.
AU는 타이밍 정보를 속성으로 가질 수 있는 가장 작은 데이터 개체(entity)일 수 있다.The AU may be the smallest data entity that may have timing information as an attribute.
MFU(900)는 MFU들의 경계에서 적응적인 전달을 수행하기 위해 액세스 유닛(Access Unit; AU)의 프래그먼트를 캡슐화(encapsulate)하기 위한 포멧을 정의할 수 있다. MFU(900)는, 프래그먼트들이 독립적으로 디코드되거나 폐기될(discarded) 수 있게 하기 위해 코드된 미디어의 몇몇 타입을 나를(carry) 수 있다. The MFU 900 may define a format for encapsulating a fragment of an Access Unit (AU) to perform adaptive delivery at the boundary of MFUs. The MFU 900 may carry several types of coded media to allow fragments to be independently decoded or discarded.
MFU(900)는 미디어 프래그먼트 유닛 헤더(Media Fragment Unit Header; MFUH)(910) 및 코드된 데이터(920)를 포함할 수 있다.The MFU 900 may include a Media Fragment Unit Header (MFUH) 910 and coded data 920.
MFUH(910)는 프래그먼트(911) 및 공통(common)(912)을 포함할 수 있다. MFU(900)는 하나의 MFU를 다른 MFU로부터 구분(distinguish)하는 식별자를 포함할 수 있고, 단일한 AU 내의 MFU들 간의 일반화된(generalized) 관계(relationship) 정보를 포함할 수 있다. 프래그먼트(911)은 상기의 식별자일 수 있다. 공통(912)은 상기의 일반화된 관계 정보일 수 있다.The MFUH 910 may include a fragment 911 and a common 912. The MFU 900 may include an identifier that distinguishes one MFU from another MFU, and may include generalized relationship information between MFUs within a single AU. Fragment 911 may be the above identifier. The common 912 may be the above generalized relationship information.
프래그먼트-생성(generating) 인코더는 MFU(900)를 생성할 수 있다.The fragment-generating encoder may generate the MFU 900.
도 10은 일 예에 따른 M-유닛의 단일 M-유닛 케이스를 나타낸다.10 illustrates a single M-unit case of an M-unit according to an example.
M-유닛은, 특정한 코덱에 독립적인, 포괄적인 컨테이너 포멧일 수 있다. M-유닛은 하나 이상의 AU들을 나를 수 있다. M-유닛은 하나 이상의 MFU들을 포함할 수 있다. M-유닛은 시간에 맞춰진 데이터(timed data) 또는 시간에 맞춰지지 않은 데이터(non-timed data)를 포함할 수 있다. M-유닛은 MFU(900)의 데이터 및 추가적인 정보를 포함할 수 있다. 추가적인 정보는 동기화를 위한 타임스탬프(timestamp)일 수 있다. M-유닛은 MMT 캡슐화 기능들을 처리하기 위한 데이터 개체일 수 있다.M-units may be in a generic container format, independent of a particular codec. The M-Unit may carry one or more AUs. The M-unit may comprise one or more MFUs. The M-unit may include timed data or non-timed data. The M-unit may include data of the MFU 900 and additional information. The additional information may be a timestamp for synchronization. The M-Unit may be a data entity for handling MMT encapsulation functions.
시간에 맞춰진 데이터는 디코딩 및 프리젠테이션(presentation)에 있어서 특정한 시각과 연관된 데이터 요소(element)일 수 있다. 시간에 맞춰지지 않은 데이터는 비-특정 시각에 소비되는 데이터 요소일 수 있다. 시간에 맞춰지지 않은 데이터는 수행되거나(executed) 런치됨(lunched)에 있어서 데이터가 가용한 때의 시간 범위를 가질 수 있다.The timed data may be a data element associated with a particular time of day in decoding and presentation. Data that is not timed may be data elements that are consumed at non-specific times. Data that is not timed may have a time range when the data is available to be executed or launched.
단일 M-유닛 케이스의 M-유닛(1000)은 M-유닛 헤더(M-Unit Header; MUH)(1010) 및 MFU(900)를 포함할 수 있다.The M-unit 1000 of a single M-unit case may include an M-Unit Header (MUH) 1010 and an MFU 900.
도 11은 일 예에 따른 M-유닛의 프래그먼트된(fragmented) M-유닛 케이스를 나타낸다.11 illustrates a fragmented M-unit case of an M-unit according to an example.
프래그먼트된 M-유닛 케이스의 M-유닛(1100)은 하나 이상의 MFU들을 포함할 수 있다. 도 11에서, 프래그먼트된 M-유닛 케이스의 M-유닛(1100)은 3 개의 MFU들 및 3 개의 MFU들에 각각 대응하는 3 개의 MUH들을 포함한다.The M-unit 1100 of the fragmented M-unit case may include one or more MFUs. In FIG. 11, the M-unit 1100 of the fragmented M-unit case includes three MFUs and three MUHs corresponding to three MFUs, respectively.
M-유닛 생성 인코더는 M-유닛을 생성할 수 있다.M-Unit Generation Encoder may generate M-units.
도 12는 일 예에 따른 MMT 어셋(asset)을 나타낸다.12 illustrates an MMT asset according to an example.
MMT 어셋(1200)은 동일한 MMT 어셋 ID를 갖는 하나 이상의 미디어 프로세싱 유닛(Media Processing Unit; MPU)들을 포함하는 논리적인 데이터 개체일 수 있다. MMT 어셋(1200)은 동일한 컴퍼지션 정보 및 트랜스포트 특성들이 가하지는 가장 큰 데이터 단위일 수 있다.The MMT asset 1200 may be a logical data entity that includes one or more Media Processing Units (MPUs) having the same MMT asset ID. The MMT asset 1200 may be the largest data unit to which the same composition information and transport characteristics are applied.
MPU는, 특정한 미디어 코덱에 독립적인, 시간에 맞춰진 데이터 또는 시간에 맞춰지지 않은 데이터에 대한 포괄적인 컨테이너일 수 있다. MPU는 시간에 맞춰진 데이터를 위한 하나 이상의 AU들을 포함할 수 있다. MPU는 시간에 맞춰지지 않은 데이터를 위한 AU 경계들이 없는 데이터의 부분을 포함할 수 있다. MPU는 추가적인 전달 및 소비 관련 정보를 포함할 수 있다. MPU는 완전하고 독립적으로 처리될 수 있는 코드된 미디어 데이터 유닛일 수 있다. 이러한 문맥에 있어서, 처리는 MMT 패키지로의 캡슐화 또는 전달을 위한 패킷화(packetization)을 의미할 수 있다.The MPU may be a comprehensive container for timed or non-timed data, independent of a particular media codec. The MPU may include one or more AUs for timed data. The MPU may include a portion of data without AU boundaries for data that is not timed. The MPU may include additional delivery and consumption related information. The MPU may be a coded media data unit that can be processed completely and independently. In this context, processing may mean packetization for encapsulation or delivery to an MMT package.
MMT 어셋(1200)은 하나 이상의 M-유닛들을 포함하는 데이터 개체일 수 있다. MMT 어셋(1200)은 컴퍼지션 정보 및 트랜스포트 특성들이 정의되는 데이터 유닛일 수 있다.The MMT asset 1200 may be a data entity that includes one or more M-units. The MMT asset 1200 may be a data unit in which composition information and transport characteristics are defined.
MMT 어셋(1200)은 어셋 정보(1210) 및 하나 이상의 M-유닛들을 포함할 수 있다. 하나 이상의 M-유닛들로서, 제1 M-유닛(1220), 제2 M-유닛(1230) 및 제3 M-유닛(1230)이 도시되었다. 하나 이상의 M-유닛들은 각각 단일 M-유닛 케이스의 M-유닛(1000) 또는 프래그먼트된 M-유닛 케이스의 M-유닛(1100)일 수 있다. 또는, MMT 어셋(1200)은 어셋 정보(1210) 및 하나 이상의 MFU들을 포함할 수 있다. 하나 이상의 MFU들은 각각 MFU(900)일 수 있다.The MMT asset 1200 may include asset information 1210 and one or more M-units. As one or more M-units, a first M-unit 1220, a second M-unit 1230 and a third M-unit 1230 are shown. One or more M-units may each be an M-unit 1000 in a single M-unit case or an M-unit 1100 in a fragmented M-unit case. Alternatively, the MMT asset 1200 may include asset information 1210 and one or more MFUs. One or more MFUs may each be an MFU 900.
어셋 정보(1210)는 어셋-특정(asset-specific) 정보일 수 있다. 어셋 정보(1210)는 스트리밍에서는 전달되지 않을 수 있다. Asset information 1210 may be asset-specific information. Asset information 1210 may not be delivered in streaming.
어셋 정보(1210)는 능력(capability) 교환 및/또는 하위(underlying) 계층 내에서의 자원들의 (재)할당을 위해 사용될 수 있다. Asset information 1210 may be used for capability exchange and / or (re) allocation of resources within the underlying layer.
도 13은 일 예에 따른 MMT 패키지(package)를 나타낸다.13 illustrates an MMT package according to an example.
MMT 패키지(1300)는 데이터의 논리적으로 구조화된 컬렉션일 수 있다. MMT 패키지(1300)는 하나 이상의 MMT 어셋, MMT 컴퍼지션 정보 및 MMT 어셋 전달 특성들 및 설명적인(descriptive) 정보를 포함할 수 있다.The MMT package 1300 may be a logically structured collection of data. The MMT package 1300 may include one or more MMT assets, MMT composition information, MMT asset delivery characteristics, and descriptive information.
MMT 자산 전달 특성들은 MMT 어셋들의 전달에 대한 요구되는 서비스 품질(Quality of Service; QoS)에 대한 설명을 포함할 수 있다. MMT 자산 전달 특성들은 특정 전달 환경에 대해서는 불가지(agnostic)인 파라미터들에 의해 표현될 수 있다.MMT asset delivery characteristics may include a description of the required Quality of Service (QoS) for delivery of MMT assets. MMT asset delivery characteristics may be represented by parameters that are agnostic for a particular delivery environment.
MMT 패키지(1300)는 패키지 정보(1310)를 포함할 수 있다.The MMT package 1300 may include package information 1310.
MMT 패키지(1300)는 컴퍼지션 정보(1320)을 포함할 수 있다. 컴퍼지션 정보는 MMT 컴퍼지션 정보에 대응할 수 있다. MMT 컴퍼지션 정보는 MMT 자산들 간의 공간적 및 시간적 관계의 설명일 수 있다.The MMT package 1300 may include composition information 1320. The composition information may correspond to MMT composition information. MMT composition information may be a description of spatial and temporal relationships between MMT assets.
MMT 패키지(1300)는 전송 특성들(Transport Characteristics; Tx. Char.)(1330)를 포함할 수 있다.The MMT package 1300 may include transport characteristics (Tx. Char.) 1330.
MMT 패키지(1300)는 하나 이상의 어셋들을 포함할 수 있다. 하나 이상의 어셋들은 각각 도 12를 참조하여 전술된 MMT 어셋(1200)일 수 있다. 하나 이상의 어셋들로서 제1 어셋(1340), 제2 어셋(1350) 및 제3 어셋(1360)이 도시되었다.The MMT package 1300 may include one or more assets. Each of the one or more assets may be the MMT asset 1200 described above with reference to FIG. 12. As one or more assets, a first asset 1340, a second asset 1350, and a third asset 1360 are shown.
MMT 패키지(1300) 내의 하나 이상의 어셋들은 멀티플렉스(multiplex)되거나, 연쇄(concatenated)될 수 있다.One or more assets in the MMT package 1300 may be multiplexed or concatenated.
MMT 패키지(1300)는 아카이빙(achiving)을 위해 사용될 수 있다. 예컨대, MMT 패키지(1300)는 저장을 위한 단위일 수 있다.The MMT package 1300 may be used for archiving. For example, the MMT package 1300 may be a unit for storage.
하기에서 도 14 내지 도 16을 참조하여 MMT 페이로드 포멧(MMT PayLoad Format; MMT PL-Format)이 설명된다.Hereinafter, an MMT PayLoad Format (MMT PL-Format) will be described with reference to FIGS. 14 to 16.
MMT 페이로드는 MMT 프로토콜 또는 인터넷 어플리케이션 계층 프로토콜들을 사용하여 MMT 패키지 또는 MMT 시그널링(signaling) 메시지를 나르는 데이터의 포멧된 단위(unit)일 수 있다. 인터넷 어플리케이션 계층 프로토콜은 RTP일 수 있다.The MMT payload may be a formatted unit of data carrying an MMT package or MMT signaling message using the MMT protocol or Internet Application Layer protocols. The internet application layer protocol may be RTP.
MMT 프로토콜은 인터넷 프로토콜(Internet Protocol; IP) 네트워크를 통해 MMT 페이로드를 전달하기 위한 어플리케이션 계층 프로토콜일 수 있다.The MMT protocol may be an application layer protocol for delivering the MMT payload through an Internet Protocol (IP) network.
MMT 페이로드 포멧은, MMT 어플리케이션 프로토콜들 또는 다른 존재하는 어플리케이션 트랜스포트 프로토콜들에 의한 소비를 위해, MMT 어셋들 및 다른 정보를 나르기 위한 포괄적인 페이로드 포멧일 수 있다. 예컨대, 다른 존재하는 어플리케이션 트랜스포트 프로토콜은 실시간 트랜스포트 프로토콜(Realtime Transport Protocol; RTP)일 수 있다.The MMT payload format may be a generic payload format for carrying MMT assets and other information for consumption by MMT application protocols or other existing application transport protocols. For example, another existing application transport protocol may be a Realtime Transport Protocol (RTP).
MMT 페이로드 포멧은 MFU(900)의 프래그먼트들을 포함할 수 있다. MMT 페이로드 포멧은 MFU(900)의 프래그먼트들과 함께 어플리케이션 계층 전향 오류 정정(Application Layer Forward Error Correction; AL-FEC)와 같은 다른 정보를 포함할 수 있다.The MMT payload format may include fragments of the MFU 900. The MMT payload format may include other information such as Application Layer Forward Error Correction (AL-FEC) along with the fragments of the MFU 900.
도 14는 일 예에 따른 제어(control) 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.14 illustrates an MMT-PL format for a control type packet according to an example.
제어(control) 타입의 패킷을 위한 제1 MMT-PL 포멧(1400)는 페이로드 헤더(payload header; PLH)(1410) 및 컴퍼지션 정보(1420)를 포함할 수 있다. 컴퍼지션 정보(1420)는 도 13을 참조하여 전술된 MMT 패키지(1300)의 컴퍼지션 정보(1320)에 대응할 수 있다.The first MMT-PL format 1400 for a control type packet may include a payload header (PLH) 1410 and composition information 1420. The composition information 1420 may correspond to the composition information 1320 of the MMT package 1300 described above with reference to FIG. 13.
도 15는 일 예에 따른 미디어 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.15 illustrates an MMT-PL format for a packet of a media type according to an example.
미디어 타입의 패킷을 위한 제2 MMT-PL 포멧(1520) 및 미디어 타입의 패킷을 위한 제3 MMT-PL 포멧(1530)에는 MTU(1510) 패킷-레벨의 집성(aggregation) 및/또는 프래그맨테이션(fragmentation)이 적용될 수 있다.The second MMT-PL format 1520 for packets of the media type and the third MMT-PL format 1530 for packets of the media type include MTU 1510 packet-level aggregation and / or fragmentation. Fragmentation may be applied.
M-유닛(1510)의 데이터는 제2 MMT-PL 포멧(1520) 및 제3 MMT-PL 포멧(1530)으로 분할될 수 있다. M-유닛(1510)은 MFU(900), 단일 M-유닛 케이스의 M-유닛(1000), 프래그먼트된 M-유닛 케이스의 M-유닛(1100) 또는 MMT 어셋(1200)의 M-유닛에 대응할 수 있다.Data of the M-unit 1510 may be divided into a second MMT-PL format 1520 and a third MMT-PL format 1530. The M-unit 1510 may correspond to an MFU 900, an M-unit 1000 in a single M-unit case, an M-unit 1100 in a fragmented M-unit case or an M-unit in an MMT asset 1200. Can be.
제2 MMT-PL 포멧(1520)은 PLH(1522) 및 M-유닛의 일부(1524)를 포함할 수 있다. M-유닛의 일부(1524)는 MUH, MFUM 및 코드된 데이터의 일부를 포함할 수 있다.The second MMT-PL format 1520 may include a PLH 1522 and a portion 1524 of the M-unit. Portion 1524 of the M-unit may include a portion of the MUH, MFUM and coded data.
제3 MMT-PL 포멧(1530)은 PLH(1532) 및 M-유닛의 일부(1534)를 포함할 수 있다. M-유닛의 일부(1534)는 코드된 데이터의 일부를 포함할 수 있다.The third MMT-PL format 1530 may include a PLH 1532 and a portion 1534 of the M-unit. Portion 1534 of the M-unit may include a portion of coded data.
도 16은 일 예에 따른 제어 타입의 패킷을 위한 MMT-PL 포멧을 나타낸다.16 illustrates an MMT-PL format for a packet of a control type according to an example.
제어 타입의 패킷을 위한 제4 MMT-PL 포멧(1600)는 PLH(1610) 및 제어 정보(1620)를 포함할 수 있다.The fourth MMT-PL format 1600 for a packet of a control type may include a PLH 1610 and control information 1620.
하기에서 도 17 및 도 18을 참조하여 MMT 패킷이 설명된다.In the following, an MMT packet is described with reference to FIGS. 17 and 18.
MMT 패킷은 MMT 프로토콜에 의해 생성 또는 소비되는 데이터의 포멧된 유닛일 수 있다.The MMT packet may be a formatted unit of data generated or consumed by the MMT protocol.
MMT 패킷은 MMT 트랜스포트 패킷일 수 있다. MMT 트랜스포트 패킷은 MMT를 위한 어플리케이션 트랜스포트 프로토콜에 의해 사용되는 데이터 포멧일 수 있다.The MMT packet may be an MMT transport packet. The MMT transport packet may be a data format used by an application transport protocol for MMT.
도 17은 일 예에 따른 제1 MMT 패킷을 나타낸다.17 illustrates a first MMT packet according to an example.
제1 MMT 패킷(1700)은 실시간 트랜스포트 패킷 헤더(Realtime Transport Protocol Header)(1720), PLH(1720) 및 M-유닛의 일부(1730)을 포함할 수 있다. M-유닛의 일부(1730)는 도 15를 참조하여 전술된 M-유닛의 일부(1524)에 대응할 수 있다. M-유닛의 일부(1730)는 MUH(1732), MFUH(1734) 및 코드된 데이터(1736)를 포함할 수 있다.The first MMT packet 1700 may include a Realtime Transport Protocol Header 1720, a PLH 1720, and a portion 1730 of the M-Unit. A portion 1730 of the M-unit may correspond to a portion 1524 of the M-unit described above with reference to FIG. 15. Portion 1730 of M-unit may include MUH 1732, MFUH 1734, and coded data 1736.
PLM(1720) 및 M-유닛의 일부(1730)는 도 15를 참조하여 전술된 제2 MMT-PL 포멧(1520)에 대응할 수 있다. PLM(1720) 및 M-유닛의 일부(1730)는 제2 MMT-PL 포멧(1520)의 데이터일 수 있다.The PLM 1720 and a portion 1730 of the M-unit may correspond to the second MMT-PL format 1520 described above with reference to FIG. 15. The PLM 1720 and a portion 1730 of the M-unit may be data in the second MMT-PL format 1520.
도 18은 일 예에 따른 제2 MMT 패킷을 나타낸다.18 illustrates a second MMT packet according to an example.
제2 MMT 패킷(1800)은 MMP 패킷 헤더(MMP Packet Header; MMTPH)(1810), PLH(1820) 및 M-유닛의 일부(1830)을 포함할 수 있다. M-유닛의 일부(1830)는 도 15를 참조하여 전술된 M-유닛의 일부(1524)에 대응할 수 있다. M-유닛의 일부(1830)는 MUH(1832), MFUH(1834) 및 코드된 데이터(1836)를 포함할 수 있다.The second MMT packet 1800 may include an MMP Packet Header (MMTPH) 1810, a PLH 1820, and a portion 1830 of the M-Unit. A portion 1830 of the M-unit may correspond to a portion 1524 of the M-unit described above with reference to FIG. 15. Portion 1830 of M-unit may include MUH 1832, MFUH 1834 and coded data 1836.
PLM(1820) 및 M-유닛의 일부(1830)는 도 15를 참조하여 전술된 제2 MMT-PL 포멧(1520)에 대응할 수 있다. PLM(1820) 및 M-유닛의 일부(1830)는 제2 MMT-PL 포멧(1520)의 데이터일 수 있다.The PLM 1820 and a portion 1830 of the M-unit may correspond to the second MMT-PL format 1520 described above with reference to FIG. 15. The PLM 1820 and a portion 1830 of the M-unit may be data in the second MMT-PL format 1520.
도 9 내지 도 18을 참조하여 전술된 데이터 또는 유닛들을 위해 MMT 패킷이 생성될 수 있다. 도 9 내지 도 18은 MFU(900)를 포함하는 MMT 패킷(920)을 생성하는 패킷화 과정을 나타낼 수 있다. MFU(900)는 MMT 패킷을 구성하는 가장 작은 단위일 수 있다.An MMT packet may be generated for the data or units described above with reference to FIGS. 9 through 18. 9 to 18 may illustrate a packetization process of generating an MMT packet 920 including an MFU 900. The MFU 900 may be the smallest unit constituting the MMT packet.
MMT 패킷은 아카이빙 또는 스트리밍(streaming) 용으로 생성될 수 있다. MFU(900)는 스케일러블 비디오 및 멀티뷰 비디오와 같은 다수의 계층(layer)들을 포함하는 비디오 정보가 존재할 경우 각 계층의 단위를 페이로드(payload)할 수 있는 유닛일 수 있다. MFU(900)의 헤더에는 스케일러블 비디오 또는 멀티뷰 비디오의 NALU 헤더에 존재하는 헤더 정보가 존재할 수 있다.MMT packets may be generated for archiving or streaming. The MFU 900 may be a unit capable of payloading units of each layer when there is video information including a plurality of layers such as scalable video and multiview video. The header of the MFU 900 may include header information present in the NALU header of the scalable video or the multiview video.
MFU(900)의 페이로드에는 스케일러블 비디오 및 멀티뷰 비디오의 데이터가 분할되어 존재할 수 있다. 또한, MFU(900)의 페이로드에는 스케일러블 멀티뷰 비디오의 데이터가 분할되어 존재할 수 있다.In the payload of the MFU 900, data of scalable video and multi-view video may be divided. In addition, data of scalable multiview video may be divided in the payload of the MFU 900.
도 19는 일 실시예에 따른 스케일러블 비디오 또는 멀티뷰 비디오 정보를 제공하기 위한 구문(syntax)을 설명한다.19 illustrates a syntax for providing scalable video or multiview video information according to an embodiment.
MMT의 MFU(900)의 헤더는 MVC 및 SVC 인코드된 데이터를 위한 계층 정보를 제공할 수 있다. 또한, 멀티뷰 비디오의 시점(view point)과 시간적, 공간적 및 품질적으로 스케일러블한 비디오를 사용하는 조합된(combined) 스케일러빌리티가 제공될 수 있다.The header of the MFU 900 of the MMT may provide layer information for MVC and SVC encoded data. In addition, combined scalability may be provided that uses a view point of multiview video and video that is scalable in time, space, and quality.
MMT는 케이스 문서(case document)를 사용할 수 있다. 케이스 문서는 적응가능한(adaptive) 콘텐츠 소비에 대한 케이스 시나리오(scenario)를 포함할 수 있다. 적응가능한 콘텐츠 소비는 단말(terminal) 능력(capability)에 기반한, 네트워크 상태(condition) 및/또는 사용자 선호들(preferences)에 기반할 수 있다.The MMT may use a case document. The case document can include a case scenario for adaptive content consumption. Adaptive content consumption may be based on network conditions and / or user preferences, based on terminal capability.
하기에서, 효율적인 뷰 포인트 적응 및 스케일러블한 계층화된 비디오 적응(adaption)을 위한 MFU(900)의 헤더 필드가 설명될 수 있다. MVC의 시점 적응 정보 및 SVC의 스케일러블 계층 정보는 독립적으로 사용될 수 있으며, 스케일러블 멀티뷰 비디오를 위해 조합된 모드에서 사용될 수 있다.In the following, the header fields of the MFU 900 for efficient view point adaptation and scalable layered video adaptation can be described. The viewpoint adaptation information of the MVC and the scalable layer information of the SVC may be used independently, and may be used in a combined mode for scalable multiview video.
MMT에 있어서, MFU(900)는 가장 작은 디코딩가능한(decodable) 데이터 유닛일 수 있다. MFU(900)은 E.3 계층일 수 있다. 도 10의 구문은 E.3 계층 헤더 필드에 적용될 수 있다. E.3 계층 헤더는 시점(view point) 정보를 포함할 수 있다. 또한, E.3 계층 헤더는 계층화된 코드된 데이터의 시간적, 공간적 및 품질적 계층 정보를 제공할 수 있다.For MMT, MFU 900 may be the smallest decodable data unit. The MFU 900 may be an E.3 layer. The syntax of FIG. 10 may be applied to the E.3 layer header field. E.3 The layer header may include view point information. In addition, the E.3 layer header may provide temporal, spatial and quality layer information of the layered coded data.
도 19의 구문의 데이터는 스케일러블 비디오의 정보 및 멀티뷰 비디오의 정보 중 하나 이상을 제공할 수 있다. 구문의 데이터는 MFU(900)의 헤더에 선택적으로 존재할 수 있다.Data of the syntax of FIG. 19 may provide one or more of information of scalable video and information of multiview video. The syntax data may optionally be present in the header of the MFU 900.
스케일러블 비디오의 정보 및 멀티뷰 비디오의 정보 중 하나 이상은 MFU(900) 헤더에 선택적으로 존재할 수 있다. 말하자면, MFU(900)의 헤더는 하기에서 설명될 구문의 플래그들 중 하나 이상을 포함할 수 있다. MFU(900)는 MMT 패킷을 구성하는 가장 작은 단위일 수 있다.One or more of the information of the scalable video and the information of the multiview video may optionally be present in the MFU 900 header. In other words, the header of the MFU 900 may include one or more of the flags of the syntax to be described below. The MFU 900 may be the smallest unit constituting the MMT packet.
계층 정보 플래그(1910)는 MFU(900)의 페이로드(payload) 내에 스케일러블 비디오 또는 멀티뷰 비디오의 존재하는지 여부를 나타내는 플래그일 수 있다. 계층 정보 플래그(1910)의 값이 '1'인 것은 상기의 페이로드가 MVC, SVC 또는 조합된 MVC/SVC로 인코드된 계층화된(layered) 비디오 데이터를 포함한다는 것을 가리킬 수 있다.The layer information flag 1910 may be a flag indicating whether scalable video or multiview video exists in a payload of the MFU 900. The value of the layer information flag 1910 may indicate that the payload includes layered video data encoded in MVC, SVC, or combined MVC / SVC.
계층 정보 플래그(1910)가 존재하는 경우, 계층 타입(1920)을 통해 스케일러블 비디오 및 멀티뷰 비디오 또는 스케일러블 멀티뷰 비디오가 구분될 수 있다.When the layer information flag 1910 is present, the scalable video and the multiview video or the scalable multiview video may be distinguished through the layer type 1920.
계층 정보 플래그(1910)가 '1'일 때, 계층 타입은 하기의 표 1에서 명세된 것과 같이 MFU(900)의 페이로드 내의 계층화된 데이터의 타입을 가리킨다.When the layer information flag 1910 is '1', the layer type indicates the type of layered data in the payload of the MFU 900 as specified in Table 1 below.
Figure PCTKR2012009978-appb-I000001
Figure PCTKR2012009978-appb-I000001
Figure PCTKR2012009978-appb-I000002
Figure PCTKR2012009978-appb-I000002
계층 타입(1920)의 값이 0이면, 멀티뷰 비디오에 대한 정보가 제공된다. 계층 타입(1920)의 값이 1이면, 스케일러블 비디오에 대한 정보가 제공된다. 계층 타입(1920)의 값이 2이면, 스케일러블 멀티뷰 비디오에 대한 정보가 제공된다.If the value of the layer type 1920 is 0, information on the multiview video is provided. If the value of the layer type 1920 is 1, information on scalable video is provided. If the value of the layer type 1920 is 2, information on scalable multiview video is provided.
계층 타입(1920)의 값이 0인 멀티뷰 비디오에 대한 문법적 요소들은 하기와 같다. 예컨대, 계층 타입(1920)이 0의 값을 가지는 경우, 하기와 같은 멀티뷰 비디오에 대한 정보가 제공된다.The grammatical elements for multiview video with a value of layer type 1920 are as follows. For example, when the layer type 1920 has a value of 0, information about the multiview video is provided as follows.
멀티뷰 비디오에 대한 정보로서, 현재 MFU(900)내에 존재하는 멀티뷰 비디오 계층의 우선순위를 나타내는 우선순위 ID(priority id)(1931), 멀티뷰 비디오의 뷰의 고유 ID를 나타내는 뷰 ID(view id)(1932), 시간 ID(temporal id)(1933), 뷰 간 예측 플래그(interview prediction flag)(1934) 및 임의 접근을 위한 앵커 픽쳐 플래그(anchor picture flag)(1935)가 존재할 수 있다.As information about the multiview video, a priority ID (1931) indicating a priority of the multiview video layer currently existing in the MFU 900, and a view ID indicating a unique ID of the view of the multiview video. There may be an id 1932, a temporal id 1933, an interview prediction flag 1934, and an anchor picture flag 1935 for random access.
하기에서, 멀티뷰 계층 또는 계층은 멀티뷰 비디오의 멀티뷰 계층을 나타낼 수 있다. 멀티뷰 비디오는 MVC 비디오일 수 있다.In the following, the multiview layer or layer may represent a multiview layer of the multiview video. The multiview video may be MVC video.
우선순위 ID(1931)는 멀티뷰 비디오의 MFU 페이로드 내에 존재하는 각 계층의 우선순위 정보일 수 있다.The priority ID 1931 may be priority information of each layer existing in the MFU payload of the multiview video.
우선순위 ID(1931)는 현재 MFU(900) 내에 포함된 멀티뷰 계층의 우선순위를 가리킬 수 있다. 우선순위 ID(1931)의 낮은 값은 높은 우선순위를 가리킬 수 있다.The priority ID 1931 may indicate the priority of the multiview layer currently included in the MFU 900. A low value of priority ID 1931 may indicate a high priority.
뷰 ID(1932)는 MVC 비디오의 고유의 뷰 ID를 가리킬 수 있다.The view ID 1932 may point to a unique view ID of the MVC video.
시간적 ID(1933)는 MVC 비디오의 시간적 레벨을 가리킬 수 있다. Temporal ID 1933 may indicate a temporal level of MVC video.
뷰 간 예측 플래그(1934)의 값 '1'은 현재 뷰 컴포넌트(component)가 현재 AU 내의 다른 뷰 컴포넌트에 의해 예측될 수 있다는 것을 가리킬 수 있다. 뷰 컴포넌트는 단일 접근 유닛 내의 뷰의 코드된 레프리젠테이션(representation)일 수 있다.The value '1' of the inter-view prediction flag 1934 may indicate that the current view component may be predicted by other view components in the current AU. The view component may be a coded representation of the view within a single access unit.
앵커 픽쳐 플래그(1935)의 값 '1'은 현재의 AU가 앵커 AU라는 것을 가리킬 수 있다.A value '1' of the anchor picture flag 1935 may indicate that the current AU is an anchor AU.
뷰 간 예측 플래그(1934)는 현재 뷰 컴포넌트가 현재 AU 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타낼 수 있다. 뷰 간 예측 플래그(1934)는 뷰 간 예측을 허용할 수 있다.The inter-view prediction flag 1934 may indicate whether the current view component may be predicted by other view components in the current AU. The inter-view prediction flag 1934 may allow inter-view prediction.
앵커 픽처 플래그(1935)는 상기 MVC 비디오로의 임의 접근(random access)을 위해 사용될 수 있다.An anchor picture flag 1935 may be used for random access to the MVC video.
계층 타입(1920)의 값이 1인 멀티뷰 비디오에 대한 문법적 요소들은 하기와 같다. 예컨대, 계층 타입(1920)이 1의 값을 갖는 경우, 하기와 같은 스케일러블 비디오에 대한 정보가 제공될 수 있다.하기에서, 스케일러블 계층 또는 계층은 스케일러블 비디오의 스케일러블 계층을 나타낼 수 있다. 스케일러블 비디오는 SVC 비디오일 수 있다.The grammatical elements for multiview video having a value of layer type 1920 are as follows. For example, when the layer type 1920 has a value of 1, information about scalable video may be provided as follows. In the following, the scalable layer or layer may represent a scalable layer of scalable video. . The scalable video may be SVC video.
스케일러블 비디오에 대한 정보로서, 현재 MFU(900) 내에 존재하는 스케일러블 비디오 계층의 우선순위를 나타내는 우선순위 ID(priority id)(1941), 공간적 ID(spatial id)(1942), 시간적 ID(temporal id)(1943), 화질적 ID(quality id)(1944)가 존재할 수 있다.As information about scalable video, a priority id 1941, a spatial id 1942, and a temporal ID indicating a priority of a scalable video layer currently existing in the MFU 900. id 1943 and quality id 1944 may be present.
우선순위 ID(1941)는 스케일러블 비디오의 MFU 페이로드 내에 존재하는 각 계층의 우선순위 정보일 수 있다.The priority ID 1941 may be priority information of each layer existing in the MFU payload of the scalable video.
우선순위 ID(1941)는 현재 MFU(900) 내에 포함된 스케일러블 계층의 우선순위를 가리킬 수 있다. 우선순위 ID의 낮은 값은 높은 우선순위를 가리킬 수 있다.The priority ID 1941 may indicate the priority of the scalable layer currently included in the MFU 900. A low value of priority ID may indicate a high priority.
공간적 ID(1942)는 SVC 비디오의 공간적 레벨을 가리킬 수 있다. Spatial ID 1942 may indicate a spatial level of SVC video.
시간적 ID(1943)는 SVC 비디오의 시간적 레벨을 가리킬 수 있다. Temporal ID 1943 may indicate a temporal level of SVC video.
화질적 ID(1944)는 SVC 비디오의 화질적 레벨을 가리킬 수 있다.The quality ID 1944 can indicate the quality level of the SVC video.
계층 타입(1920)의 값이 2인 스케일러블 멀티뷰 비디오에 대한 문법적 요소들은 하기와 같다. 예컨대, 계층 타입(1920)이 2의 값을 갖는 경우, 하기와 같은 스케일러블 멀티뷰 비디오에 대한 정보가 제공될 수 있다. 스케일러블 멀티뷰 비디오는 정보는 컴바인드(combined) 스케일러빌리티 정보로서 제공될 수 있다.The grammatical elements for scalable multiview video with a value of layer type 1920 are as follows. For example, when the layer type 1920 has a value of 2, information about scalable multiview video may be provided as follows. In the scalable multiview video, the information may be provided as combined scalability information.
스케일러블 멀티뷰 비디오에 대한 정보로서, 현재 MFU(900)내에 존재하는 스케일러블 멀티뷰 비디오 계층의 우선순위를 나타내는 우선순위 ID(priority id, 1951), 뷰 ID(view id)(1952), 공간적 ID (spatial id, 1953), 시간적 ID(temporal id)(1954), 화질적 ID(quality id)(1955)가 존재할 수 있다.As information about scalable multiview video, a priority id (1951), a view id (1952), and a spatial ID indicating a priority of the scalable multiview video layer currently existing in the MFU 900. There may be an ID (spatial id) 1953, a temporal id 1954, and a quality id 1955.
우선순위 ID(1951)는 현재 MFU(900) 내에 포함된 스케일러블 멀티뷰 비디오의 우선순위를 가리킬 수 있다. 우선순위 ID의 낮은 값은 높은 우선순위를 가리킬 수 있다.The priority ID 1951 may indicate the priority of the scalable multiview video currently included in the MFU 900. A low value of priority ID may indicate a high priority.
뷰 ID(1952)는 스케일러블 멀티뷰 비디오의 고유의 뷰 ID를 가리킬 수 있다.The view ID 1952 may point to a unique view ID of the scalable multiview video.
공간적 ID(1953)는 스케일러블 멀티뷰 비디오의 공간적 레벨을 가리킬 수 있다.The spatial ID 1953 may indicate a spatial level of scalable multiview video.
시간적 ID(1954)는 스케일러블 멀티뷰 비디오의 시간적 레벨을 가리킬 수 있다. Temporal ID 1954 may indicate a temporal level of scalable multiview video.
화질적 ID(1955)는 스케일러블 멀티뷰 비디오의 화질적 레벨을 가리킬 수 있다.The quality ID 1955 may indicate the quality level of the scalable multiview video.
우선순위 식별자(1931), 우선순위 식별자(1941) 및 우선순위 식별자(1951)의 용도는 각각 어플리케이션에 의해 정의될 수 있다.The use of priority identifier 1931, priority identifier 1941, and priority identifier 1951 may be defined by an application, respectively.
도 20은 일 실시예에 따른 스트리밍 서버의 구조도이다.20 is a structural diagram of a streaming server according to an embodiment.
스트리밍 서버(2000)는 처리부(2010), 네트워킹부(2020) 및 저장부(2030)를 포함할 수 있다.The streaming server 2000 may include a processor 2010, a networking 2020, and a storage 2030.
처리부(2010)는 도 6을 참조하여 전술된 패킷 생성부(610)에 대응할 수 있다. 네트워킹부(2020)는 도 6을 참조하여 전술된 전송부(620) 및 네트워크 인터페이스부(630)에 대응할 수 있다. 저장부(2030)는 도 6을 참조하여 전술된 저장부(640)에 대응할 수 있다.The processor 2010 may correspond to the packet generator 610 described above with reference to FIG. 6. The networking unit 2020 may correspond to the transmission unit 620 and the network interface unit 630 described above with reference to FIG. 6. The storage unit 2030 may correspond to the storage unit 640 described above with reference to FIG. 6.
처리부(2010)는 패킷을 생성할 수 있다. 패킷은 MPEG-2 TS 패킷 또는 MMT 패킷일 수 있다. 네트워킹부(2020)는 생성된 패킷을 사용하여 스트림을 전송할 수 있다. 스트림은 MPEG-2 TS 스트림 또는 MMT 스트림일 수 있다. MMT 스트림은 MMT 패킷을 사용하는 스트림일 수 있다.The processor 2010 may generate a packet. The packet may be an MPEG-2 TS packet or an MMT packet. The networking unit 2020 may transmit a stream using the generated packet. The stream may be an MPEG-2 TS stream or an MMT stream. The MMT stream may be a stream using MMT packets.
스트림은 멀티뷰 비디오 스트림, 스케일러블 비디오 스트림 및 멀티뷰 스케일러블 비디오 스트림 중 하나 이상을 포함할 수 있다.The stream may include one or more of a multiview video stream, a scalable video stream, and a multiview scalable video stream.
패킷의 헤더는 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함할 수 있다. 스케일러블 비디오 스트림은 패킷의 페이로드(payload) 내에 분할되어 존재할 수 있다.The header of the packet may include scalability information of the scalable video stream. The scalable video stream may be divided in the payload of the packet.
스케일러빌리티 정보는 헤더의 사적 전송 데이터(Transport Private Data) 내에 존재할 수 있다. 사적 전송 데이터는 헤더의 적응 필드(Adaptation Field) 내의 부가적 필드(Optional Field) 내에 존재할 수 있다. 헤더는 스케일러빌리티 정보의 유무를 나타내는 스케일러빌리티 정보 플래그 및 스케일러블 비디오 스트림의 뷰(view) 정보의 유무를 나타내는 뷰 정보 플래그를 포함할 수 있다.The scalability information may be present in private transport data of the header. Private transmission data may exist in an optional field in an adaptation field of a header. The header may include a scalability information flag indicating presence or absence of scalability information and a view information flag indicating presence or absence of view information of the scalable video stream.
헤더는 스케일러빌리티 정보 플래그 및 뷰 정보 플래그의 유무를 나타내는 사적 데이터 플래그를 포함할 수 있다.The header may include a private data flag indicating the presence or absence of the scalability information flag and the view information flag.
스케일러빌리티 정보는 스케일러블 비디오의 공간적 스케일러빌리티 정보, 스케일러블 비디오의 시간적 스케일러빌리티 정보 및 스케일러블 비디오의 화질적 스케일러빌리티 정보를 포함할 수 있다.The scalability information may include spatial scalability information of the scalable video, temporal scalability information of the scalable video, and image quality scalability information of the scalable video.
뷰 정보는 헤더의 사적 전송 데이터 내에 존재할 수 있다.The view information may be present in private transmission data of the header.
처리부(2010)는 멀티-뷰 비디오 코딩(Multi-view Video Coding; MVC)의 네트워크 추상화 계층 유닛(Network Abstraction Layer Unit; NALU) 헤더 내의 제2 뷰 정보를 사용하여 뷰 정보를 생성할 수 있다.The processor 2010 may generate view information by using second view information in a network abstraction layer unit (NALU) header of multi-view video coding (MVC).
처리부(2010)는 스케일러블 비디오 코딩(Scalable Video Coding; SVC)의 네트워크 추상화 계층 유닛 헤더 내의 제2 스케일러빌리티 정보를 사용하여 스케일러빌리티 정보를 생성할 수 있다.The processor 2010 may generate the scalability information by using the second scalability information in the network abstraction layer unit header of scalable video coding (SVC).
처리부(2010)는 스트림 패킷 내에 네트워크 추상화 계층 유닛 헤더의 데이터가 존재할 경우에만 스케일러빌리티 정보를 생성할 수 있다.The processor 2010 may generate scalability information only when data of the network abstraction layer unit header exists in the stream packet.
처리부(2010)는 동일한 패킷 식별자(Packet Identifier; PID)를 갖는 하나 이상의 스트림 패킷들 중 네트워크 추상화 유닛 헤더의 데이터가 존재하는 스트림 패킷 내에만 스케일러빌리티 정보를 생성할 수 있다.The processor 2010 may generate scalability information only in stream packets in which data of a network abstraction unit header exists among one or more stream packets having the same packet identifier (PID).
처리부(2010)는 스트림 패킷 내에 스케일러빌리티 정보를 삽입하는 스케일러빌리티 정보 삽입부를 포함할 수 있다.The processor 2010 may include a scalability information inserter that inserts scalability information into a stream packet.
처리부(2010)는 MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 패킷을 생성할 수 있다.The processor 2010 may generate an MPEG Media Transport (MMT) packet.
처리부(2010)는 도 9 내지 도 18을 참조하여 전술된 MFU, M-유닛, MMT 어셋, MMT 패키지 및 MMT 패킷을 생성할 수 있다.The processor 2010 may generate the MFU, the M-unit, the MMT asset, the MMT package, and the MMT packet described above with reference to FIGS. 9 through 18.
처리부(2010)는 MFU, M-유닛, MMT 어셋, MMT 패키지 및 MMT 패킷을 저장부(2030) 내에 저장할 수 있다.The processor 2010 may store an MFU, an M-unit, an MMT asset, an MMT package, and an MMT packet in the storage 2030.
네트워킹부(2020)는 MMT 패킷을 사용하여 MMT 스트림을 전송할 수 있다. MMT 스트림은 하나 이상의 MMT 패킷들을 포함할 수 있다. MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함할 수 있다.The networking unit 2020 may transmit an MMT stream using an MMT packet. The MMT stream may include one or more MMT packets. The MMT packet may include one or more of multiview video, scalable video, and scalable multiview video.
네트워킹부(2020)는 스트림을 비디오 플레이어와 같은 다른 스트리밍 클라이언트(2100)로 전송할 수 있다.The networking unit 2020 may transmit the stream to another streaming client 2100 such as a video player.
MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)는 스케일러블 비디오, 멀티뷰 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함할 수 있다.The Media Fragment Unit (MFU) in the MMT packet may include one or more of scalable video, multiview video, and scalable multiview video.
MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)은 스케일러블 비디오, 멀티뷰 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함할 수 있다.The Media Fragment Unit (MFU) in the MMT packet may include one or more of scalable video, multiview video, and scalable multiview video.
MFU의 헤더는 우선순위 식별자(identifier; ID)를 포함할 수 있다. 우선순위 ID는 MFU 내에 포함된 멀티뷰 비디오의 멀티뷰 계층의 우선순위를 나타낼 수 있다.The header of the MFU may include a priority identifier (ID). The priority ID may indicate the priority of the multiview layer of the multiview video included in the MFU.
MFU의 헤더는 뷰 ID, 뷰 간 예측 플래그 및 앵커 픽쳐 플래그를 포함할 수 있다. 뷰 ID는 멀티뷰 비디오의 고유의 ID를 가리킬 수 있다. 뷰 간 예측 플래그는 현재 뷰 컴포넌트가 현재 액세스 유닛(Access Unit; AU) 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타낼 수 있다. 앵커 픽쳐 플래그는 멀티뷰 비디오로의 임의 접근(random access)을 위해 사용될 수 있다.The header of the MFU may include a view ID, an inter-view prediction flag, and an anchor picture flag. The view ID may indicate a unique ID of the multiview video. The inter-view prediction flag may indicate whether the current view component may be predicted by another view component in the current access unit (AU). The anchor picture flag can be used for random access to multiview video.
우선순위 ID는 MFU 내에 포함된 스케일러블 비디오의 스케일러블 계층의 우선순위를 나타낼 수 있다. MFU의 헤더는 공간적 ID, 시간적 ID 및 화질적 ID를 포함할 수 있다. 공간적 ID는 스케일러블 비디오의 공간적 레벨을 가리킬 수 있다. 시간적 ID는 스케일러블 비디오의 시간적 레벨을 가리킬 수 있다.The priority ID may indicate the priority of the scalable layer of the scalable video included in the MFU. The header of the MFU may include a spatial ID, a temporal ID, and an image quality ID. The spatial ID may indicate a spatial level of scalable video. The temporal ID may indicate a temporal level of the scalable video.
화질적 ID는 상기 스케일러블 비디오의 화질적 레벨을 가리킬 수 있다.The quality ID may indicate the quality level of the scalable video.
우선순위 ID는 MFU 내에 포함된 멀티뷰 스케일러블 비디오의 우선순위를 나타낼 수 있다. MFU의 헤더는 뷰 ID, 공간적 ID, 시간적 ID 및 화질적 ID를 포함할 수 있다. 뷰 ID는 스케일러블 멀티뷰 비디오의 고유의 ID를 가리킬 수 있다. 공간적 ID는 스케일러블 멀티뷰 비디오의 공간적 레벨을 가리킬 수 있다. 시간적 ID는 스케일러블 멀티뷰 비디오의 시간적 레벨을 가리킬 수 있다. 화질적 ID는 스케일러블 멀티뷰 비디오의 화질적 레벨을 가리킬 수 있다. The priority ID may indicate the priority of the multiview scalable video included in the MFU. The header of the MFU may include a view ID, a spatial ID, a temporal ID, and an image quality ID. The view ID may indicate a unique ID of the scalable multiview video. The spatial ID may indicate a spatial level of the scalable multiview video. The temporal ID may indicate a temporal level of the scalable multiview video. The quality ID may indicate the quality level of the scalable multiview video.
MFU의 헤더는 계층 정보 플래그를 포함할 수 있다. 계층 정보 플래그는 헤더 스케일러블 비디오, 멀티뷰 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상에 대한 정보의 유무를 나타낼 수 있다. 헤더는 계층 정보 플래그를 통해 스케일러블 비디오, 멀티뷰 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상의 계층의 타입의 정보를 포함할 수 있다.The header of the MFU may include a layer information flag. The layer information flag may indicate the presence or absence of information on at least one of header scalable video, multiview video, and scalable multiview video. The header may include information of a type of one or more layers of scalable video, multiview video, and scalable multiview video through the layer information flag.
헤더는 계층의 타입의 정보에 따라 멀티뷰 비디오의 정보, 스케일러블 비디오의 정보 및 멀티뷰 스케일러블 비디오의 정보 중 하나 이상을 포함할 수 있다. 스케일러블 비디오, 멀티뷰 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상은 MMT 패킷 내의 MFU 페이로드(payload) 내에 분할되어 존재할 수 있다.The header may include one or more of the information of the multiview video, the information of the scalable video, and the information of the multiview scalable video according to the information of the type of the layer. One or more of scalable video, multiview video, and scalable multiview video may be split and present in an MFU payload in an MMT packet.
앞서 도 1 내지 도 19를 참조하여 설명된 실시예들에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to the embodiments described above with reference to FIGS. 1 to 19 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.
도 21은 일 실시예에 따른 스트리밍 클라이언트의 구조도이다.21 is a structural diagram of a streaming client according to an embodiment.
스트리밍 클라이언트(2100)는 처리부(2110) 및 네트워킹부(2120)를 포함할 수 있다. 네트워킹부(2120)는 도 7을 참조하여 전술된 수신부(710)에 대응할 수 있다. 처리부(2110)는 도 7을 참조하여 전술된 패킷 처리부(720)에 대응할 수 있다.The streaming client 2100 may include a processor 2110 and a networking 2120. The networking unit 2120 may correspond to the receiver 710 described above with reference to FIG. 7. The processor 2110 may correspond to the packet processor 720 described above with reference to FIG. 7.
네트워킹부(2120)는 스트림을 수신할 수 있다. 스트림은 MPEG-2 TS 스트림 또는 MMT 스트림일 수 있다. MMT 스트림은 MMT 패킷을 사용하는 스트림일 수 있다.The networking unit 2120 may receive a stream. The stream may be an MPEG-2 TS stream or an MMT stream. The MMT stream may be a stream using MMT packets.
처리부(2110)는 스트림의 패킷을 처리할 수 있다. . 패킷은 MPEG-2 TS 패킷 또는 MMT 패킷일 수 있다.The processor 2110 may process a packet of a stream. . The packet may be an MPEG-2 TS packet or an MMT packet.
스트림은 스케일러블 비디오 스트림을 포함할 수 있다. 스트림 패킷의 헤더는 스케일러블 비디오 스트림의 스케일러빌리티 정보를 포함할 수 있다.The stream may comprise a scalable video stream. The header of the stream packet may include scalability information of the scalable video stream.
처리부(2110)는 헤더 내의 스케일러빌리티 정보 플래그 및 뷰 정보 플래그에 기반하여 패킷 내의 상기 스케일러빌리티 정보의 유무 및 스케일러블 비디오 스트림의 뷰 정보의 유무를 판단할 수 있다.The processor 2110 may determine whether the scalability information in the packet is present and view information of the scalable video stream based on the scalability information flag and the view information flag in the header.
처리부(2110)는 스케일러빌리티 정보에 기반하여 스케일러블 비디오 코딩의 네트워크 추상화 계층 유닛 헤더 내의 스케일러빌리티 정보를 생성할 수 있다.The processor 2110 may generate scalability information in the network abstraction layer unit header of scalable video coding based on the scalability information.
처리부(2110)는 스트림 패킷 내에 상기 네트워크 추상화 계층 유닛 헤더의 데이터가 존재할 경우에만 스케일러빌리티 정보를 추출할 수 있다.The processor 2110 may extract scalability information only when data of the network abstraction layer unit header exists in the stream packet.
처리부(2110)는 동일한 패킷 식별자를 갖는 하나 이상의 스트림 패킷들 중 네트워크 추상화 유닛 헤더의 데이터가 존재하는 스트림 패킷에서만 상기 스케일러빌리티 정보를 추출할 수 있다.The processor 2110 may extract the scalability information only from stream packets in which data of a network abstraction unit header exists among one or more stream packets having the same packet identifier.
처리부(2110)는 동일한 패킷 식별자를 갖는 하나 이상의 스트림 패킷들 중 스케일러빌리티 정보를 포함하는 패킷과 가장 가까운 이전 시간의 패킷으로부터 패킷의 스케일러빌리티 정보를 추출할 수 있다.The processor 2110 may extract the scalability information of the packet from a packet of a previous time closest to the packet including the scalability information among one or more stream packets having the same packet identifier.
네트워킹부(2120)는 MMT 스트림을 수신할 수 있다.The networking unit 2120 may receive an MMT stream.
처리부(2210)는 도 9 내지 도 18을 참조하여 전술된 MFU, M-유닛, MMT 어셋, MMT 패키지 및 MMT 패킷을 처리할 수 있다. 처리부(2210)는 MFU, M-유닛, MMT 어셋, MMT 패키지 및 MMT 패킷을 처리함으로써 MMT 스트림의 콘텐츠를 재생할 수 있다.The processor 2210 may process the MFU, M-unit, MMT asset, MMT package, and MMT packet described above with reference to FIGS. 9 to 18. The processor 2210 may reproduce the contents of the MMT stream by processing the MFU, the M-unit, the MMT asset, the MMT package, and the MMT packet.
앞서 도 1 내지 도 20을 참조하여 설명된 실시예들에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to the embodiments described above with reference to FIGS. 1 to 20 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.
도 22는 일 실시예에 따른 스트리밍 서비스 방법의 흐름도이다.22 is a flowchart of a streaming service method according to an embodiment.
단계(2210)에서, 스트리밍 서버(2000)의 처리부(2010)는 패키지를 생성할 수 있다. 패키지는 MMT 패키지일 수 있다.In operation 2210, the processing unit 2010 of the streaming server 2000 may generate a package. The package may be an MMT package.
단계(2220)에서, 처리부(2010)는 패킷을 생성할 수 있다. 패킷은 MMT 패킷일 수 있다.In operation 2220, the processor 2010 may generate a packet. The packet may be an MMT packet.
단계(2230)에서, 스트리밍 서버(2000)의 네트워킹부(2020)는 스트림을 전송할 수 있다. 스트림은 비트 스트림일 수 있다. 스트림은 MMT 스트림일 수 있다.In operation 2230, the networking unit 2020 of the streaming server 2000 may transmit the stream. The stream may be a bit stream. The stream may be an MMT stream.
단계(2240)에서, 스트리밍 클라이언트(2100)의 네트워킹부(2120)는 스트림을 수신할 수 있다.In operation 2240, the networking unit 2120 of the streaming client 2100 may receive a stream.
단계(2250)에서, 스트리밍 클라이언트(2100)의 처리부(2110)는 스트림 내의 패킷을 처리할 수 있다.In operation 2250, the processor 2110 of the streaming client 2100 may process a packet in the stream.
앞서 도 1 내지 도 21을 참조하여 설명된 실시예들에 따른 기술 적 내용들이 본 실시예에도 그대로 적용될 수 있다. 따라서 보다 상세한 설명은 이하 생략하기로 한다.Technical contents according to the embodiments described above with reference to FIGS. 1 to 21 may be applied to the present embodiment as it is. Therefore, more detailed description will be omitted below.
도 23은 일 예에 따른 조합된 스케일러빌리티를 나타낸다.23 illustrates combined scalability according to an example.
도 23에서, x 축은 공간적 ID를 나타낼 수 있다. y 축은 뷰 ID를 나타낼 수 있다. V0은 베이스 뷰를 나타낼 수 있다.In FIG. 23, the x axis may represent a spatial ID. The y axis may represent the view ID. V0 may represent the base view.
도 23에서, MVC는 3 개의 뷰들을 제공하고, SVC는 3 레벨 공간적 확장성을 제공한다. 도 23은 뷰 및 공간적 스케일러빌리티들을 통한 조합된 스케일러빌리티 도시한다. 도 23에서, 우선순위 ID는 P0 내지 P3의 값을 갖는다. 상기의 우선순위 ID의 값은 기정의된(predefined) 우선순위 할당 정책을 갖는 오퍼레이터(operator)에 의해 독단적으로(arbitrarily)으로 할당될 수 있다. 조합된 스케일러빌리티 옵션(option)은 스크린 크기 및 시점에 있어서 사용자들에게 더 유동적인(flexible) 적응 시나리오들을 제공할 수 있다.In FIG. 23, MVC provides three views, and SVC provides three levels of spatial scalability. 23 illustrates combined scalability through view and spatial scalabilities. In FIG. 23, the priority ID has a value of P0 to P3. The value of the priority ID may be arbitrarily assigned by an operator having a predefined priority assignment policy. The combined scalability option can provide users with more flexible adaptation scenarios in terms of screen size and viewpoint.
일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.Method according to an embodiment is implemented in the form of program instructions that can be executed by various computer means may be recorded on a computer readable medium. The computer readable medium may include program instructions, data files, data structures, etc. alone or in combination. Program instructions recorded on the media may be those specially designed and constructed for the purposes of the present invention, or they may be of the kind well-known and available to those having skill in the computer software arts. Examples of computer readable recording media include magnetic media such as hard disks, floppy disks and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks such as floppy disks. Magneto-optical media, and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like. Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like. The hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.As described above, the present invention has been described by way of limited embodiments and drawings, but the present invention is not limited to the above embodiments, and those skilled in the art to which the present invention pertains various modifications and variations from such descriptions. This is possible.
그러므로, 실시예들의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.Therefore, the scope of the embodiments should not be limited to the described embodiments, but should be defined by the claims below and equivalents thereof.

Claims (20)

  1. MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 패킷을 생성하는 처리부; 및A processor configured to generate an MPEG Media Transport (MMT) packet; And
    상기 MMT 패킷을 사용하여 MMT 스트림을 전송하는 네트워킹부Networking unit for transmitting the MMT stream using the MMT packet
    를 포함하고,Including,
    상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서버.The MMT packet includes one or more of multiview video, scalable video, and scalable multiview video.
  2. 제1항에 있어서,The method of claim 1,
    상기 MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)은 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서버.The Media Fragment Unit (MFU) in the MMT packet includes one or more of the scalable video, the multiview video, and the scalable multiview video.
  3. 제2항에 있어서,The method of claim 2,
    상기 MFU의 헤더는 우선순위 식별자(identifier; ID)를 포함하고,The header of the MFU includes a priority identifier (ID),
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 비디오의 상기 멀티뷰 계층의 우선순위를 나타내는 스트리밍 서버.The priority ID indicates a priority of the multiview layer of the multiview video included in the MFU.
  4. 제3항에 있어서,The method of claim 3,
    상기 MFU의 헤더는 뷰 ID, 뷰 간 예측 플래그 및 앵커 픽쳐 플래그를 포함하고,The header of the MFU includes a view ID, an inter-view prediction flag, and an anchor picture flag.
    상기 뷰 ID는 상기 멀티뷰 비디오의 고유의 ID를 가리키고,The view ID indicates a unique ID of the multiview video,
    상기 뷰 간 예측 플래그는 현재 뷰 컴포넌트가 현재 액세스 유닛(Access Unit; AU) 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타내고,The inter-view prediction flag indicates whether a current view component can be predicted by another view component in a current access unit (AU),
    상기 앵커 픽쳐 플래그는 상기 멀티뷰 비디오로의 임의 접근(random access)을 위해 사용되는 스트리밍 서버.And the anchor picture flag is used for random access to the multiview video.
  5. 제2항에 있어서,The method of claim 2,
    상기 MFU의 헤더는 우선순위 ID를 포함하고,The header of the MFU includes a priority ID,
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 스케일러블 비디오의 상기 스케일러블 계층의 우선순위를 나타내는 스트리밍 서버.And the priority ID indicates a priority of the scalable layer of the scalable video included in the MFU.
  6. 제5항에 있어서,The method of claim 5,
    상기 MFU의 헤더는 공간적 ID, 시간적 ID 및 화질적 ID를 포함하고,The header of the MFU includes a spatial ID, a temporal ID and an image quality ID,
    상기 공간적 ID는 상기 스케일러블 비디오의 공간적 레벨을 가리키고,The spatial ID indicates a spatial level of the scalable video,
    상기 시간적 ID는 상기 스케일러블 비디오의 시간적 레벨을 가리키고,The temporal ID indicates a temporal level of the scalable video,
    상기 화질적 ID는 상기 스케일러블 비디오의 화질적 레벨을 가리키는 스트리밍 서버.The quality ID is a streaming server indicating the quality level of the scalable video.
  7. 제2항에 있어서,The method of claim 2,
    상기 MFU의 헤더는 우선순위 ID를 포함하고,The header of the MFU includes a priority ID,
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 스케일러블 비디오의 우선순위를 나타내는 스트리밍 서버.And the priority ID indicates a priority of the multiview scalable video included in the MFU.
  8. 제7항에 있어서,The method of claim 7, wherein
    상기 MFU의 헤더는 뷰 ID, 공간적 ID, 시간적 ID 및 화질적 ID를 포함하고,The header of the MFU includes a view ID, a spatial ID, a temporal ID and an image quality ID,
    상기 뷰 ID는 상기 스케일러블 멀티뷰 비디오의 고유의 ID를 가리키고,The view ID indicates a unique ID of the scalable multiview video,
    상기 공간적 ID는 상기 스케일러블 멀티뷰 비디오의 공간적 레벨을 가리키고,The spatial ID indicates a spatial level of the scalable multiview video,
    상기 시간적 ID는 상기 스케일러블 멀티뷰 비디오의 시간적 레벨을 가리키고,The temporal ID indicates a temporal level of the scalable multiview video,
    상기 화질적 ID는 상기 스케일러블 멀티뷰 비디오의 화질적 레벨을 가리키는 스트리밍 서버The quality ID is a streaming server indicating the quality level of the scalable multiview video.
  9. 제2항에 있어서,The method of claim 2,
    상기 MFU의 헤더는 계층 정보 플래그를 포함하고,The header of the MFU includes a layer information flag,
    상기 계층 정보 플래그는 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상에 대한 정보의 유무를 나타내고,The layer information flag indicates whether information on at least one of the scalable video, the multiview video, and the scalable multiview video is present;
    상기 헤더는 상기 계층 정보 플래그를 통해 상기 헤더 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상의 계층의 타입의 정보를 포함하는 스트리밍 서버.The header includes information of a type of one or more layers of the header scalable video, the multiview video, and the scalable multiview video via the layer information flag.
  10. 제9항에 있어서,The method of claim 9,
    상기 헤더는 상기 계층의 타입의 정보에 따라 상기 멀티뷰 비디오의 정보, 상기 스케일러블 비디오의 정보 및 상기 멀티뷰 스케일러블 비디오의 정보 중 하나 이상을 포함하는 스트리밍 서버.The header includes one or more of the information of the multiview video, the information of the scalable video, and the information of the multiview scalable video according to the information of the type of the layer.
  11. 제1항에 있어서,The method of claim 1,
    상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상은 상기 MMT 패킷 내의 MFU 페이로드(payload) 내에 분할되어 존재하는 스트리밍 서버.At least one of the scalable video, the multiview video, and the scalable multiview video is divided and present in an MFU payload in the MMT packet.
  12. MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 패킷을 생성하는 단계; 및Generating an MPEG Media Transport (MMT) packet; And
    상기 MMT 패킷을 사용하여 MMT 스트림을 전송하는 단계Transmitting an MMT stream using the MMT packet
    를 포함하고,Including,
    상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서비스 방법.The MMT packet includes at least one of multiview video, scalable video, and scalable multiview video.
  13. MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 스트림을 수신하는 네트워킹부; 및A networking unit for receiving an MPEG Media Transport (MMT) stream; And
    상기 MMT 스트림 내의 MMT 패킷을 처리하는 처리부Processing unit for processing MMT packet in the MMT stream
    를 포함하고,Including,
    상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 클라이언트.The MMT packet includes one or more of multiview video, scalable video, and scalable multiview video.
  14. 제13항에 있어서,The method of claim 13,
    상기 MMT 패킷 내의 미디어 프래그먼트 유닛(Media Fragment Unit; MFU)는 상기 스케일러블 비디오, 상기 멀티뷰 비디오 및 상기 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 클라이언트.The Media Fragment Unit (MFU) in the MMT packet includes one or more of the scalable video, the multiview video, and the scalable multiview video.
  15. 제14항에 있어서,The method of claim 14,
    상기 MFU의 헤더는 우선순위 식별자(identifier; ID)를 포함하고,The header of the MFU includes a priority identifier (ID),
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 비디오의 상기 멀티뷰 계층의 우선순위를 나타내는 스트리밍 클라이언트.The priority ID indicates a priority of the multiview layer of the multiview video included in the MFU.
  16. 제15항에 있어서,The method of claim 15,
    상기 MFU의 헤더는 뷰 ID, 뷰 간 예측 플래그 및 앵커 픽쳐 플래그를 포함하고,The header of the MFU includes a view ID, an inter-view prediction flag, and an anchor picture flag.
    상기 뷰 ID는 상기 멀티뷰 비디오의 고유의 ID를 가리키고,The view ID indicates a unique ID of the multiview video,
    상기 뷰 간 예측 플래그는 현재 뷰 컴포넌트가 현재 액세스 유닛(Access Unit; AU) 내의 다른 뷰 컴포넌트에 의해 예측될 수 있는지 여부를 나타내고,The inter-view prediction flag indicates whether a current view component can be predicted by another view component in a current access unit (AU),
    상기 앵커 픽쳐 플래그는 상기 멀티뷰 비디오로의 임의 접근(random access)을 위해 사용되는 스트리밍 클라이언트.And the anchor picture flag is used for random access to the multiview video.
  17. 제14항에 있어서,The method of claim 14,
    상기 MFU의 헤더는 우선순위 ID를 포함하고,The header of the MFU includes a priority ID,
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 스케일러블 비디오의 상기 스케일러블 계층의 우선순위를 나타내는 스트리밍 클라이언트.The priority ID indicates a priority of the scalable layer of the scalable video included in the MFU.
  18. 제17항에 있어서,The method of claim 17,
    상기 MFU의 헤더는 공간적 ID, 시간적 ID 및 화질적 ID를 포함하고,The header of the MFU includes a spatial ID, a temporal ID and an image quality ID,
    상기 공간적 ID는 상기 스케일러블 비디오의 공간적 레벨을 가리키고,The spatial ID indicates a spatial level of the scalable video,
    상기 시간적 ID는 상기 스케일러블 비디오의 시간적 레벨을 가리키고,The temporal ID indicates a temporal level of the scalable video,
    상기 화질적 ID는 상기 스케일러블 비디오의 화질적 레벨을 가리키는 스트리밍 클라이언트.The quality ID is a streaming client indicating the quality level of the scalable video.
  19. 제14항에 있어서,The method of claim 14,
    상기 MFU의 헤더는 우선순위 ID를 포함하고,The header of the MFU includes a priority ID,
    상기 우선순위 ID는 상기 MFU 내에 포함된 상기 멀티뷰 스케일러블 비디오의 우선순위를 나타내는 스트리밍 클라이언트.And the priority ID is a priority of the multiview scalable video included in the MFU.
  20. MPEG 미디어 트랜스포트(MPEG Media Transport; MMT) 스트림을 수신하는 단계; 및Receiving an MPEG Media Transport (MMT) stream; And
    상기 MMT 스트림 내의 MMT 패킷을 처리하는 단계Processing an MMT packet in the MMT stream
    를 포함하고,Including,
    상기 MMT 패킷은 멀티뷰 비디오, 스케일러블 비디오 및 스케일러블 멀티뷰 비디오 중 하나 이상을 포함하는 스트리밍 서비스 방법.The MMT packet includes at least one of multiview video, scalable video, and scalable multiview video.
PCT/KR2012/009978 2011-11-23 2012-11-23 Method and apparatus for streaming service for providing scalability and view information WO2013077670A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2014543422A JP2015503281A (en) 2011-11-23 2012-11-23 Method and apparatus for a streaming service providing scalability and view information
US14/360,174 US20140344470A1 (en) 2011-11-23 2012-11-23 Method and apparatus for streaming service for providing scalability and view information

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
KR10-2011-0122994 2011-11-23
KR20110122994 2011-11-23
KR10-2012-0133477 2012-11-23
KR1020120133477A KR102003925B1 (en) 2011-11-23 2012-11-23 Method and apparatus for streaming service providing scalability and view information

Publications (1)

Publication Number Publication Date
WO2013077670A1 true WO2013077670A1 (en) 2013-05-30

Family

ID=48470048

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2012/009978 WO2013077670A1 (en) 2011-11-23 2012-11-23 Method and apparatus for streaming service for providing scalability and view information

Country Status (1)

Country Link
WO (1) WO2013077670A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015034306A1 (en) * 2013-09-09 2015-03-12 엘지전자 주식회사 Method and device for transmitting and receiving advanced uhd broadcasting content in digital broadcasting system
WO2015072754A1 (en) * 2013-11-13 2015-05-21 엘지전자 주식회사 Broadcast signal transmission method and apparatus for providing hdr broadcast service
WO2015107786A1 (en) * 2014-01-17 2015-07-23 ソニー株式会社 Communication apparatus, communication data generation method, and communication data processing method
WO2015107785A1 (en) * 2014-01-17 2015-07-23 ソニー株式会社 Communication apparatus, communication data generation method, and communication data processing method
JP2016027705A (en) * 2013-06-05 2016-02-18 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Regeneration method, regeneration apparatus, generation method and generation apparatus
CN105934952A (en) * 2014-01-09 2016-09-07 三星电子株式会社 Method and apparatus for transmitting and receiving media data in multimedia system
JP2017528025A (en) * 2014-07-04 2017-09-21 サムスン エレクトロニクス カンパニー リミテッド Packet transmission / reception apparatus and method in multimedia communication system
US9973740B2 (en) 2013-07-24 2018-05-15 Electronics And Telecommunications Research Institute Method and apparatus for encoding three-dimensional (3D) content

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070035409A (en) * 2005-09-27 2007-03-30 한국전자통신연구원 Apparatus for Transmitting and Receiving Digital Multimedia Broadcasting for Providing High Quality Video Service
KR20090079838A (en) * 2008-01-17 2009-07-22 엘지전자 주식회사 An iptv receiving system and a method for processing data thereof
KR20100132985A (en) * 2008-04-25 2010-12-20 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. Flexible sub-stream referencing within a transport data stream

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070035409A (en) * 2005-09-27 2007-03-30 한국전자통신연구원 Apparatus for Transmitting and Receiving Digital Multimedia Broadcasting for Providing High Quality Video Service
KR20090079838A (en) * 2008-01-17 2009-07-22 엘지전자 주식회사 An iptv receiving system and a method for processing data thereof
KR20100132985A (en) * 2008-04-25 2010-12-20 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. Flexible sub-stream referencing within a transport data stream

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016027705A (en) * 2013-06-05 2016-02-18 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Regeneration method, regeneration apparatus, generation method and generation apparatus
US9973740B2 (en) 2013-07-24 2018-05-15 Electronics And Telecommunications Research Institute Method and apparatus for encoding three-dimensional (3D) content
US10375373B2 (en) 2013-07-24 2019-08-06 Ideahub Method and apparatus for encoding three-dimensional (3D) content
US9973764B2 (en) 2013-09-09 2018-05-15 Lg Electronics Inc. Method and device for transmitting and receiving advanced UHD broadcasting content in digital broadcasting system
WO2015034306A1 (en) * 2013-09-09 2015-03-12 엘지전자 주식회사 Method and device for transmitting and receiving advanced uhd broadcasting content in digital broadcasting system
KR101733504B1 (en) * 2013-09-09 2017-05-10 엘지전자 주식회사 Method and device for transmitting and receiving advanced uhd broadcasting content in digital broadcasting system
WO2015072754A1 (en) * 2013-11-13 2015-05-21 엘지전자 주식회사 Broadcast signal transmission method and apparatus for providing hdr broadcast service
US9736507B2 (en) 2013-11-13 2017-08-15 Lg Electronics Inc. Broadcast signal transmission method and apparatus for providing HDR broadcast service
CN105934952A (en) * 2014-01-09 2016-09-07 三星电子株式会社 Method and apparatus for transmitting and receiving media data in multimedia system
CN105900446A (en) * 2014-01-17 2016-08-24 索尼公司 Communication apparatus, communication data generation method, and communication data processing method
EP3096525A4 (en) * 2014-01-17 2017-08-23 Sony Corporation Communication apparatus, communication data generation method, and communication data processing method
WO2015107785A1 (en) * 2014-01-17 2015-07-23 ソニー株式会社 Communication apparatus, communication data generation method, and communication data processing method
US10178417B2 (en) 2014-01-17 2019-01-08 Saturn Licensing Llc Communication apparatus, communication data generation method, and communication data processing method
US10298975B2 (en) 2014-01-17 2019-05-21 Saturn Licensing Llc Communication apparatus, communication data generation method, and communication data processing method
WO2015107786A1 (en) * 2014-01-17 2015-07-23 ソニー株式会社 Communication apparatus, communication data generation method, and communication data processing method
CN105900446B (en) * 2014-01-17 2019-11-05 索尼公司 Communication device, communication data generation method and processing method of communication data
US10820024B2 (en) 2014-01-17 2020-10-27 Saturn Licensing Llc Communication apparatus, communication data generation method, and communication data processing method
US11284135B2 (en) 2014-01-17 2022-03-22 Saturn Licensing Llc Communication apparatus, communication data generation method, and communication data processing method
JP2017528025A (en) * 2014-07-04 2017-09-21 サムスン エレクトロニクス カンパニー リミテッド Packet transmission / reception apparatus and method in multimedia communication system
US10476994B2 (en) 2014-07-04 2019-11-12 Samsung Electronics Co., Ltd. Devices and methods for transmitting/receiving packet in multimedia communication system

Similar Documents

Publication Publication Date Title
WO2013077670A1 (en) Method and apparatus for streaming service for providing scalability and view information
WO2014209057A1 (en) Method and device for transmitting and receiving broadcast service in hybrid broadcast system on basis of connection of terrestrial broadcast network and internet protocol network
WO2014171718A1 (en) Broadcasting transmission device, broadcasting reception device, operating method of broadcasting transmission device and operating method of broadcasting reception device
WO2013048148A2 (en) Method and apparatus for transmitting and receiving content
WO2014003515A1 (en) Method and apparatus for transmitting adaptive media structure in multimedia system
WO2016018042A1 (en) Apparatus and method for transmitting/receiving processes of a broadcast signal
WO2009125961A1 (en) Method of transmitting and receiving broadcasting signal and apparatus for receiving broadcasting signal
WO2010058958A2 (en) Method for processing non-real time service and broadcast receiver
WO2015008986A1 (en) Method and apparatus for transmitting/receiving broadcast signal in hybrid broadcasting system
WO2014025207A1 (en) A method and an apparatus for processing a broadcast signal including an interactive broadcast service
WO2016072747A1 (en) Transmitting apparatus and receiving apparatus and signal processing method thereof
WO2012125006A2 (en) Apparatus and method for providing streaming content using representations
WO2015034306A1 (en) Method and device for transmitting and receiving advanced uhd broadcasting content in digital broadcasting system
WO2015167245A1 (en) Apparatus for transmitting broadcast signal, apparatus for receiving broadcast signal, method for transmitting broadcast signal and method for receiving broadcast signal
WO2012050405A2 (en) Digital receiver and method for processing 3d contents in digital receiver
WO2010082783A2 (en) Non-real-time service processing method and a broadcasting receiver
WO2016076631A1 (en) Transmitting apparatus, receiving apparatus and controlling method thereof
WO2011132883A2 (en) Method for transmitting/receiving internet-based content and transmitter/receiver using same
WO2011056025A9 (en) Mobile service reception method and mobile service receiver
WO2015152635A9 (en) Apparatus for transmitting and receiving signal and method for transmitting and receiving signal
WO2015126117A1 (en) Method and apparatus for transceiving broadcast signal
WO2011132879A2 (en) Method for transmitting/receving internet-based content and transmitter/receiver using same
EP3216191A1 (en) Transmitting apparatus and receiving apparatus and signal processing method thereof
WO2010068034A2 (en) Non-realtime service processing method and broadcasting receiver
WO2015009105A1 (en) Apparatus and method for sending/receiving packet in multimedia communication system

Legal Events

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

Ref document number: 12851995

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014543422

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14360174

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12851995

Country of ref document: EP

Kind code of ref document: A1