WO2012011724A2 - 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치 - Google Patents

미디어 파일 송수신 방법 및 그를 이용한 송수신 장치 Download PDF

Info

Publication number
WO2012011724A2
WO2012011724A2 PCT/KR2011/005307 KR2011005307W WO2012011724A2 WO 2012011724 A2 WO2012011724 A2 WO 2012011724A2 KR 2011005307 W KR2011005307 W KR 2011005307W WO 2012011724 A2 WO2012011724 A2 WO 2012011724A2
Authority
WO
WIPO (PCT)
Prior art keywords
media
pts
unit
playback
time
Prior art date
Application number
PCT/KR2011/005307
Other languages
English (en)
French (fr)
Other versions
WO2012011724A3 (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
Priority to KR1020177009516A priority Critical patent/KR101759959B1/ko
Priority to KR1020137001532A priority patent/KR101476934B1/ko
Priority to US13/811,198 priority patent/US9131274B2/en
Priority to KR1020147020005A priority patent/KR101651137B1/ko
Priority to KR1020147000387A priority patent/KR20140008478A/ko
Priority to CN201180044822.4A priority patent/CN103109540B/zh
Priority to KR1020167022031A priority patent/KR101689616B1/ko
Priority to EP11809851.6A priority patent/EP2597870B1/en
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Priority to KR1020167035531A priority patent/KR101727050B1/ko
Publication of WO2012011724A2 publication Critical patent/WO2012011724A2/ko
Publication of WO2012011724A3 publication Critical patent/WO2012011724A3/ko
Priority to US14/811,321 priority patent/US9699521B2/en
Priority to US14/943,346 priority patent/US9699522B2/en
Priority to US15/613,723 priority patent/US10129609B2/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/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/23608Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43072Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of multiple content streams on the same device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43076Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • H04N21/4385Multiplex stream processing, e.g. multiplex stream decrypting
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions

Definitions

  • the present invention relates to a method and apparatus for transmitting and receiving a media file based on MPEG2 TS.
  • DMB digital multimedia broadcasting
  • TS MPEG-2 Transport Stream
  • Digital broadcasting includes stereo 3D video broadcasting, ultra high definition (UHD) broadcasting, and multi-view 3D. Increasing amounts of transmission are required, such as video broadcasting and hologram broadcasting.
  • MPEG-2 TS having a fixed length packet of 188 bytes may be inefficient to transmit contents having a higher resolution than existing HDTVs using an IP network.
  • One embodiment of the present invention is to provide a method and apparatus for transmitting and receiving a MPEG-2 TS-based media file to be reproduced in synchronization with other media.
  • a media file transmission method transmits an MPEG2 TS (Transport Stream) based media file and, for at least one program element constituting a program included in the media file, a presentation unit (PU) Mapping PTS) to a media presentation time (MPT) for synchronization with other media; And transmitting synchronization information including the mapped media playback time with the media file, wherein the media playback time is provided for a first playback unit of the segment of the transmitted media file.
  • MPEG2 TS Transport Stream
  • MPT media presentation time
  • a method for receiving a media file includes: receiving a media file with synchronization information; Extracting, from the synchronization information, media playback time of a playback unit, for at least one program element constituting a program included in the media file; And playing the media file using the extracted media playback time, wherein the media playback time is provided by mapping the PTS of the first playback unit of the segment of the received media file.
  • An apparatus for transmitting a media file is the first playback unit after the first playback unit or PTS discontinuity among the playback units included in each segment is generated for a program element constituting a program included in the media file.
  • a controller that maps the PTS to media playback time for synchronization with other media;
  • a network interface unit configured to transmit synchronization information including the mapped media play time together with the media file.
  • a media receiving apparatus includes: a network interface unit configured to receive a media file together with synchronization information; A decoding unit to decode the received media file; And a synchronizing unit for synchronizing the decoded media file with another media by using the media playing time included in the synchronization information, wherein the media playing time is after a first play unit or a PTS discontinuity of the segment of the received media file occurs.
  • the PTSs of the first playback unit are provided mapped.
  • the MPEG-2 TS-based media file by transmitting the MPEG-2 TS-based media file with the synchronization information including the media playback time, random access to the media file is possible and at the same time inside the receiving apparatus
  • the media file can be easily synchronized and played with other media stored in or received from the outside.
  • the media file can be played back in accordance with the media playback time.
  • FIG. 1 is a diagram illustrating a configuration of an ISO Base Media file format.
  • FIG. 2 is a diagram illustrating the structure of an MPEG2 PES packet.
  • FIG. 3 is a diagram illustrating a structure of an MPEG2 TS (Transport Stream).
  • FIG. 4 is a graph illustrating a presentation time stamp (PTS) and a media presentation time (MPT) of an MPEG2 TS.
  • PTS presentation time stamp
  • MPT media presentation time
  • FIG. 5 is a diagram illustrating an embodiment of a method of reproducing an arbitrary presentation unit (PU) included in an MPEG2 TS.
  • FIG. 6 is a block diagram showing a simplified configuration of a media file transmission apparatus according to an embodiment of the present invention.
  • FIG. 7 is a flowchart illustrating a method of transmitting a media file according to an embodiment of the present invention.
  • FIG. 8 is a diagram illustrating an embodiment of a method of playing an arbitrary playback unit included in an MPEG2 TS in synchronization with a media playback timeline.
  • FIGS. 9 and 10 are diagrams illustrating an embodiment of a configuration of a segment index box including synchronization information.
  • 11 and 12 illustrate an embodiment of a configuration of an xml (eXtensible Markup Language) file including synchronization information.
  • xml eXtensible Markup Language
  • FIG. 13 is a diagram illustrating an embodiment of a structure of a media file transmitted from a transmitting device according to an embodiment of the present invention.
  • FIG. 14 is a block diagram showing the configuration of a media file receiving apparatus according to an embodiment of the present invention.
  • 15 is a flowchart illustrating a method of receiving a media file according to an embodiment of the present invention.
  • FIG. 16 is a diagram illustrating an embodiment of a segment list generated using a media presentation description (MPD).
  • MPD media presentation description
  • 17 is a diagram illustrating an embodiment of a method of playing an MPEG2 TS based media file in synchronization with a 3GPP media file.
  • FIGS. 18 and 19 illustrate embodiments of a method of implementing a media file using MPD of MPEG Dynamic Adaptive Streaming over HTTP (DASH) according to an embodiment of the present invention.
  • DASH Dynamic Adaptive Streaming over HTTP
  • FIG. 20 is a block diagram showing a first embodiment of the configuration of the IPTV receiver according to the present invention.
  • 21 is a block diagram showing a second embodiment of the configuration of the IPTV receiver according to the present invention.
  • FIG. 1 illustrates the configuration of the ISO Base Media file format, and a "fragmented file" structure may be used to stream the ISO Base Media file format as shown.
  • the fragmented file physically divides media tracks into a plurality of fragments, and each fragment may include a moof (Movie Fragment) box and a mdat (media data) box.
  • moof Menovie Fragment
  • mdat media data
  • the mdat box after the moof box includes fragment media data, and thus the combined moof-mdat pairs may constitute one fragment.
  • timing fields may be provided by a stbl (Sample Table) box such as decoding time-to-sample (stts) or composition time to sample (ctts).
  • stts decoding time-to-sample
  • ctts composition time to sample
  • a movie fragment random access (mfra) box located at the end of the media file may be used to provide reference to fragments that include random access points.
  • the mfra box uses an absolute byte offset from the beginning of the file that references the fragments, and since it is not itself fragmented, it can store the timing information of the fragmented media file in a stored state such as the recording process. It can provide, but cannot be used for streaming applications.
  • the ISO Base Media file format as shown in FIG. 1 does not provide timing information for streaming fragmented tracks.
  • a segment is a unit through which a media file is transmitted and received, and the configuration of the segment may be variously defined.
  • the segment contains one or more movie fragments, within one period. Each segment may have approximately the same duration.
  • AHS the overall structure of the segment is defined and allows the downloading of portions of the segment using a segment as a fine download unit or using a byte range.
  • the 3GPP file format includes a sidx (Segment Index) box that provides track playback start times for tracks in the fragment, the playback times being from the decoded decoding times. Can be restored.
  • sidx Segment Index
  • the client of the "3GPP AHS” may fetch a segment using an approximately generated timeline and reconstruct the timing of each track using the sidx box.
  • the timing information may be embedded within the file for later use in playback.
  • the segment is defined as one fragment, and one fragment may include only one track.
  • the fragment is the basic unit for download, and the term segment is not used.
  • the "MS SS" provides a FragmentTime attribute for each fragment in the ManifestResponse file, and the information may be provided in the StreamFragmentElement.
  • the timing of the track fragment can be sufficiently represented by one FragmentTime.
  • the timing information may be required for each track to be played.
  • the timing information in order to store the " MS SS " media, the timing information must then be embedded inside the stored file, which can be performed by storing the file in MS PIFF or including the timing information in the mfra box.
  • FIG. 2 illustrates the structure of an MPEG2 Packetized Elementary Stream (PES) packet
  • FIG. 3 illustrates the structure of an MPEG2 TS.
  • PES Packetized Elementary Stream
  • an MPEG-2 video stream compressed by an MPEG2 encoder may be packetized into a PES packet having a predetermined size.
  • the PES packet includes a PES header and a PES packet data field, and the PES header may include an optional PES HEADER.
  • the optional PES HEADER includes an optional field 510, and the optional field includes a PTS field and a DTS field.
  • PTS Presentation Time Stamp
  • DTS Decoding Time Stamp
  • Synchronization between the video stream and the audio stream may be achieved by a time stamp, which is time information indicating when to play each decoding unit called an access unit of video and audio.
  • PTS for audio and PTS and DTS for video may be provided as time information.
  • the video stream and the audio stream may be synchronized with each other by determining whether the time stamp is compared with the STC (System Time Clock) that is the time reference of the decoder.
  • STC System Time Clock
  • a transport packet of an MPEG2 TS consists of a header of 4 bytes and a payload of 184 bytes following the header, and has a size of 188 bytes regardless of the intended transmission mechanism.
  • the payload includes a PES packet, a program association table (PAT), a program map table (PMT), and the like, and the header may include a plurality of fields such as an adaptation field starting from a sync byte.
  • PES program association table
  • PMT program map table
  • the Adaptation field includes an optional field, and the optional field includes a PCR field in which PCR (Program Clock Reference) information, which is time reference information, is recorded.
  • PCR Program Clock Reference
  • the PCR is a reference clock for the PTS and the STS, and is inserted into the header of the MPEG2 TS for synchronization between the encoder and the decoder.
  • the PTS is used to synchronize and play the elementary streams included in one program, and does not have an association for synchronization with an external clock such as universal time coordinated (UTC).
  • UTC universal time coordinated
  • the discontinuity of the PTS may be delivered by PCR and discontinuity indicator as shown in FIG. 3 immediately before the corresponding event occurs.
  • the PTS may be used for synchronized playback of a program, but may not be used to synchronize playback with a normal playback timeline (e.g., a media presentation timeline used in HTTP streaming services). Not full yet.
  • a normal playback timeline e.g., a media presentation timeline used in HTTP streaming services
  • FIG. 4 is a graph showing the relationship between the PTS of the MPEG2 TS and the media presentation time (MPT).
  • the solid line shown in FIG. 4 represents a media playback timeline in which playback of the entire media is synchronized, and the dotted line represents a PTS timeline representing local playback time within the program.
  • the media playback time (MPT), as defined in the ISO Base Media file format, means times within the file and starts from '0'.
  • the PTS may be represented by a time-scaled PTS timeline representing a value measured by a clock of 90 kHz in a length of 33 bits.
  • the media playback timeline may start at a presentation start offset provided in a manifest file such as an MPD.
  • the PTS timeline starts at an arbitrary point, and in some cases, a discontinuity d may occur.
  • MPEG2 TS allows for direct fragmentation within the range that fragments have a size of 188 bytes.
  • “Apple HTTP Streaming" or “OIPF HAS” based on MPEG2 TS streaming uses the same method of dividing the MPEG2 TS into segments of a given period.
  • the duration of the segment is generally inaccurate for each media component, and the media component of one program included in the MPEG2 TS divides the segments into approximate periods using PCR or PTS as a reference, so that other tracks It may not match with them.
  • MS SS does not mention delivery of MPEG2 TS media files, and direct application of "MS SS” for transmission of the MPEG2 TS may be difficult.
  • MS SS allows only one track per fragment and thus may not be suitable for transport streams having a plurality of multiplexed programs.
  • the file is stored as an adjacent MPEG2 TS file, and the timing information must be valid for future playback, so that media playback is required for the transfer of MPEG2 TS files using " MS SS ".
  • Full synchronization with the timeline can be difficult to achieve.
  • FIG. 5 illustrates an embodiment of a method of reproducing an arbitrary presentation unit (PU) included in an MPEG2 TS.
  • MPEG-2 TS packets each have a fixed bit rate of 188 bytes, and may be transmitted in a segment unit including one or more packets (eg, three MPEG-2 TS packets). have.
  • the client side (for example, the receiving device) may want to receive an arbitrary segment and play the arbitrary playback unit PU y in synchronization with the media playback timeline.
  • PTS discontinuity may occur in a previous segment of the segment including the reproduction unit PU y to be reproduced, and in case of random access, the receiving device may not effectively receive the corresponding segment due to PTS discontinuity.
  • the media is different from the MPEG2 TS based media that is stored or streamed internally (for example, ISO Base Media file format media or another MPEG2 TS based media). Media) may be impossible to play in sync.
  • the MPEG2 TS based media file can be synchronized with other media.
  • the transmitting apparatus maps the PTS of the playback unit to the media playback time for at least one program element constituting the program included in the media file, and reproduces the mapped media.
  • Sync information including time may be transmitted along with the media file.
  • FIG. 6 is a block diagram illustrating a simple configuration of a media file transmission apparatus according to an embodiment of the present invention.
  • the illustrated transmission apparatus 100 may include a controller 110 and a network interface unit 120.
  • the controller 110 maps a PTS of a playback unit to a media playback time for a program element constituting a program included in an MPEG2 TS-based media file, to a client side (for example, a receiving device). Synchronization information to be provided may be generated.
  • the network interface unit 120 may transmit synchronization information including the mapped media playback time to the receiving device together with the MPEG2 TS-based media file.
  • the synchronization information delivered to the client side may be provided for the first playback unit of each of the segments included in either program element.
  • the synchronization information can be used to recover the playback time for all playback units included in the MPEG2 TS from the first playback unit of a particular segment to the next PTS discontinuous occurrence point.
  • the synchronization information may be provided for the first playback unit after the PTS discontinuity has occurred within the segment, which is for all playback units included in the MPEG2 TS from the PTS discontinuity point to the next PTS discontinuity point. It can be used to recover the play time.
  • the synchronization information may be used to recover the playback time for the playback units included in the MPEG2 TS from the point of occurrence of the PTS discontinuity to the end of the segment.
  • MPEG-2 TS based playback may have a plurality of program elements belonging to one program, and synchronization information as described above may be delivered to the client side only for any one of the program elements.
  • FIG. 7 is a flowchart illustrating a media file transmission method according to an embodiment of the present invention.
  • control unit 110 of the transmitting apparatus 100 selects one program element among programs included in a media file to be transmitted as a reference (S200).
  • the controller 110 may select video tracks of the video tracks and the audio tracks constituting the program as the reference program element.
  • controller 110 maps the PTS of the playback unit to the media playback time for the selected program element (step S210).
  • media play times (eg, MPT 1 , MPT n ) for the first play unit of a segment of play units belonging to a particular program element may be delivered as synchronization information to the client side.
  • the media playback time MPT o for the PU y may be obtained by mapping the PTS of the playback unit using Equation 1 below.
  • PTS 1 is PTS of PU y
  • PTS k is PTS of PU x
  • MPT n is media playback time for PU x .
  • timescale PTS represents the clock of the PTS (eg, 90 kHz)
  • timescale represents the clock of the media playback time (MPT).
  • the controller 110 of the transmitting apparatus 100 first recovers PTSs (ie, PTS 1 and PTS k ) for each of PU y and PU x , and then uses Equation PTS 1 and PTS k to recover the equation.
  • the next media play time MPT o can be calculated by linear interpolation equal to one.
  • the media play time (eg, MPT m ) for the first play unit after the discontinuity of the PTS in the segment occurs may be delivered as synchronization information to the client side.
  • the media play time for the specific playback unit can be calculated by linear interpolation as described with reference to Equation 1 above.
  • a method of mapping a PTS of a playback unit to a media playback time has been described with reference to FIG. 8 as an example in which PU y and PU x belong to one program element, but PU y and PU x are mutually different. Each may belong to different program elements, and in this case, media playback time for a specific playback unit can be obtained using the method as described above.
  • the network interface unit 120 transmits the synchronization information including the media play times obtained as described above to the client side together with the media file (S220).
  • mapping method as described above a specific playback unit can be found based on the PTS for a given media playback time, which can be used for random access or stream switching.
  • a corresponding PTS value PTS 1 may be obtained for an arbitrary media play time MPT o .
  • Equation 2 when the media play time is expressed in units of seconds rather than a clock, Equation 2 may be simplified as in Equation 3 below.
  • the transmitting device 100 is the media playback time (MPT 1 , MPT m) for the first playback unit after the first playback unit or PTS discontinuity among the playback units included in the segment shown in FIG. 8 occurs.
  • MPT n to the client side (e.g., the receiving device), or to obtain the media playback time (MPT o ) for any other playback units according to the mapping method as described above, You can also pass it on.
  • the synchronization information may be structured in the following manner.
  • any one of a plurality of program elements included in a program of an MPEG2 TS media file is selected as a reference, and the media playback time for the first playback unit of the selected reference program element is provided to the client side.
  • the duration of the client from the first playback unit of the reference program element to the time of the next PTS discontinuity Is provided on the side.
  • the PTS of the playback unit of the reference program element immediately after the PTS discontinuity may be provided to the client side.
  • media playback time for all playback units included in the segment can be recovered.
  • the period before and after the PTS discontinuity may be further divided into smaller periods, and such additional signaling is utilized by the client side for random access or the like. Can be.
  • signaling of playback time for any of the program elements of a program may be necessary and sufficient to synchronize any program element to the media playback timeline, but the syntax of the synchronization information may be a plurality of programs. Signaling of the playback time for the elements may also be enabled.
  • the client may want to play only L1 of the audio tracks.
  • the client extracts PTS information from L1 to recover the playback times. As such, if signaling for media play time is provided for both L1 and L2, the client may not need to extract extra PTS information to recover play times.
  • the media file is roughly divided according to the duration of the reference track as required by the transport protocol, and the boundary of the segment can be fitted to MPEG2 TS packets. .
  • the synchronization information as described above may be represented in a binary coded format or an xml (eXtensible Markup Language) file.
  • 9 and 10 illustrate an embodiment of a configuration of a segment index box including synchronization information, and is an example in which the synchronization information is expressed in a binary format.
  • the synchronization information as described with reference to FIGS. 6 to 8 may be represented in a binary format based on general ISO Base Media file format data types, which is sidx used in 3GPP AHS. It may have a structure similar to a box.
  • the synchronization information may be configured as an MPEG-2 Segment Index Box (m2si), and one or more m2si boxes may be included for a specific segment.
  • m2si MPEG-2 Segment Index Box
  • the m2si box may provide, for one or more program elements of the MPEG2 TS, media playback time for the playback units included in the MPEG2 TS.
  • each of the MPEG2 TS packet groups may be composed of a set of adjacent MPEG2 TS packets.
  • the playback time for at least the first sample of the reference program element may be provided in the first loop.
  • the second loop may be performed for each MPEG2 TS packet group (MTPG) included in the segment starting from the first MPEG2 TS packet group (MTPG).
  • the presentation durations of reference program elements for each of the MPEG2 TS packet groups (MTPGs) of the segment range from the first byte of the MPEG2 TS in the segment to the corresponding MPEG2 TS packet group (MTPG). It can be provided with a byte offset of.
  • the reproduction period of the MPEG2 TS packet group may be the sum of the reproduction periods of all reproduction units of the reference program element in the group.
  • the second loop information about whether a random access point (RAP) is included in a reference program element of the MPEG2 TS packet group (MTPG) may be provided, and if the random access point (RAP) is included, The play time offset thereof may be further provided from the play time for the first sample inside the segment.
  • RAP random access point
  • the m2si box can be located at the beginning of the segment and can facilitate the removal of the m2si box on the client side by not allowing a hierarchical structure.
  • flags are 24-bit integers having flags and may be defined as the following values.
  • the timescale-present indicates whether a time scale of a media play time exists in a corresponding box, and a flag value may have '0x000001'.
  • pts-present indicates whether or not the PTS of the first playback unit of the reference track is embedded in all recorded MPEG2 TS packet groups (MTPGs), and a flag value may have '0x000002'.
  • the timescale is the time scale of the media playback timeline, where its value may be the same for the entire playback when provided more than once in one media presentation.
  • reference_PID provides a PID of MPEG2 TS packets carrying a reference program element.
  • program_element_count represents the number of program elements indexed in the next loop and may be designated as 1 or greater.
  • reference_count represents the number of elements indexed by the second loop, and may have a value of 1 or greater.
  • PID represents the PID of MPEG2 TS packets that transmit a program element provided with a presentation time (presentation_time), and one PID in a corresponding loop is the same as the reference_PID.
  • presentation_time may indicate a reproduction time for the first sample in the program element identified by the PID represented by the timescale.
  • reference_offset may indicate a byte distance from the first byte of the MPEG2 TS segment to the first byte of the MPEG2 TS packet group (MPTG) referred to by repetition of the corresponding loop.
  • MTPG_duration provides a reproduction period of a reference program element for the referenced MPEG2 TS packet group (MPTG) and may be expressed in a time scale of a corresponding track.
  • the PTS may indicate the MPEG2 TS PTS of the first playback unit of the reference program element of the corresponding MPEG2 TS packet group (MPTG).
  • contains_RAP may be set to '1' to indicate that the reference program element in the referenced MPEG2 TS packet group (MPTG) includes a random access point (RAP).
  • discontinuity may be set to '1' to indicate that the corresponding MPEG2 TS packet group (MPTG) starts with a PTS discontinuity.
  • MPTG MPEG2 TS packet group
  • the RAP_delta_time may provide a play time offset of a random access point (RAP) to correspond to a play time for a first sample of a reference program element in the segment. Meanwhile, when the contains_RAP is '0', the RAP_delta_time may be maintained at a value of '0'.
  • RAP random access point
  • 11 and 12 illustrate an embodiment of a configuration of an xml (eXtensible Markup Language) file including synchronization information.
  • xml eXtensible Markup Language
  • an xml file may include media playback time for playback units of one or more program elements of an MPEG2 TS, and the segment may be subdivided into groups of adjacent MPEG2 TS packets (MTPGs). .
  • MTPGs MPEG2 TS packets
  • At least the playback time for the first sample (ie, playback unit) of the reference program element may be provided in the first element.
  • the second element is for each MPEG2 TS packet group (MTPG) included in the segment starting from the first MPEG2 TS packet group (MTPG).
  • the second element may provide the reproduction periods of the reference program element for each MTPGs of the segment, together with the byte offset from the first byte of the MPEG2 TS in the segment to the corresponding MTPG.
  • the reproduction period of the MPEG2 TS packet group may be the sum of the reproduction periods of all reproduction units of the reference program element in the group.
  • the second element may provide information about whether a random access point (RAP) is included in a reference program element of an MPEG2 TS packet group (MTPG), and if the random access point (RAP) is included, It may further provide its playback time offset from the playback time for the first sample inside the segment.
  • RAP random access point
  • FIG. 11 is a diagram illustrating a schema of synchronization information having a configuration as shown in FIG. 10. A detailed description of the schema is the same as described above with reference to FIGS. 9 to 10, and will be omitted below. Shall be.
  • FIG. 13 illustrates an embodiment of a structure of a media file transmitted from a transmitting device according to an embodiment of the present invention.
  • the m2si box as described with reference to FIGS. 9 and 10 may be attached to the MPEG2 TS data divided in segments. Meanwhile, the MPEG2 TS data may be selectively encapsulated in an mdat box for easy access and demarcation.
  • the m2si box may be attached in front of the mdat box.
  • the format of the media file may start with a segment type box (styp, segment type box), the styp box, the box type (boxtype) is set to 'styp', the brand of 'etsf' It has the same syntax structure as the file type box (ftyp, file type box) defined in the ISO / IEC 14496-12 ISO Base Media file format, except that minor_version is set to '1'.
  • Receiving apparatus 300 receives the media file with the synchronization information, and after extracting the media playback time of the playback unit from the received synchronization information, the media using the extracted media playback time You can play the file.
  • the configuration of the synchronization information received by the reception device 300 may be as described with reference to FIGS. 6 to 13, a detailed description thereof will be omitted below.
  • the illustrated receiving apparatus 300 includes a network interface unit 310, a decoding unit 320, and a synchronization unit 330. It may be configured to include.
  • the network interface 310 of the receiving apparatus 300 receives a media file together with the synchronization information, and the decoding unit 320 decodes the received media file. You can print
  • the synchronizer 330 may synchronize the decoded media file to a media playback timeline using the media playback time included in the synchronization information.
  • the network interface unit 310 may receive, from the transmitting apparatus 100, the synchronization information (Sync Info.) Having the configuration described with reference to FIGS. 6 to 13 together with the MPEG2 TS.
  • the synchronization information Synchronization information
  • the decoding unit 320 may include a second decoder 322 for decoding the MPEG2 TS, and the second decoder 322 may be a general MPEG2 TS decoder.
  • the second decoder 322 may receive and decode the MPEG2 TS from the network interface 310, and then output the decoded playback units and their PTSs.
  • the synchronizer 330 may identify a play unit provided with a media play time through the received sync information. For that purpose, the network interface 310 should recover the PTS of the playback units provided with the playback time and transfer it to the synchronization unit 330, or the PTS of the playback unit together with the playback time should be provided from the transmitting device 100 as well. do.
  • Elementary stream time recovery may be used for the PTS recovery.
  • the decoder 320 may further include a first decoder 321 for decoding another media received through the network interface 310, and the first decoder 321 may be It may be a decoder for decoding media of another format, such as a 3GPP file format, or the same MPEG2 TS decoder as the second decoder 322.
  • the synchronizer 330 removes the MPEG2 TS-based media output from the second decoder 322 by using encoding information (for example, media playback times for the playback units) transmitted from the transmission apparatus 100. 1 may be synchronized with other media output from the decoder (321).
  • the reception device 300 may play the MPEG2 TS-based media and the other media synchronized by the synchronization unit 330 together.
  • the decoded MPEG2 TS may be stored in a memory (not shown) included in the receiving device 300, and may be included in an m2si box as described above or included in an xml file.
  • the received synchronization information may also be stored by the receiving device 300 which is a client side.
  • the stored synchronization information can then be used for synchronized presentation with other media components.
  • byte offsets for PTS discontinuities may be stored as attributes in an m2si box or xml file containing the synchronization information.
  • FIG. 16 is a diagram illustrating an embodiment of a segment list generated using a media presentation description (MPD).
  • MPD media presentation description
  • a client performing HTTP streaming may access the MPD and generate a segment list as shown in FIG. 16 from the MPD at a particular client-local time "NOW".
  • the "NOW" may indicate a current value of a clock at the reference client when performing configuration of an MPD instance from an MPD.
  • HTTP streaming clients that are not synchronized with an HTTP streaming server but synchronized to UTC may experience problems accessing segments because of their validity. On the other hand, HTTP streaming clients must synchronize their clocks to the correct time standard worldwide.
  • FIG. 17 illustrates an embodiment of a method of playing an MPEG2 TS based media file in synchronization with a 3GPP media file.
  • the specific playback unit PU y included in the MPEG2 TS media file is compared with a corresponding sample of the 3GPP media file. Synchronized playback
  • an m2si box including MPD information, 3GPP FF information for segment, and synchronization information may be given as follows.
  • SegmentInfo duration PT2S (Segment boundary shown is for segment # 32)
  • composition_offset 1602
  • UTC for rendering PU y which is a reproduction unit to be reproduced, may be calculated as in Equation 4 below.
  • PTS 1 is substituted with "43249500", which is the PTS of PU y
  • PTS k is substituted with "43245300", which is the PTS of the playback unit provided with the media playing time "29977120”, and the presentation time is provided above.
  • Assigns the media playback time "29977120” substitutes "90000” which is the clock of the PTS in time_scale_ext, substitutes "48000” given in the 3GPP file format information in time_scale, and "2010-05 given in the MDP information in availabilityStartTime Substituting -30T 09: 30: 10Z "," 2010-05-30T 09: 31: 02.07Z "which is UTC for rendering the PU y can be obtained.
  • FIGS. 18 and 19 illustrate embodiments of a method of implementing a media file using MPD of MPEG Dynamic Adaptive Streaming over HTTP (DASH) according to an embodiment of the present invention.
  • DASH Dynamic Adaptive Streaming over HTTP
  • index segments which are synchronization information as described with reference to FIGS. 6 through 17, may exist separately.
  • the structure of the media file as described with reference to FIG. 13 may be implemented in the same syntax, and the index data may be stored by being stored in the MPEG2 TS media.
  • the number of files can be greatly reduced.
  • the client can also determine how many bytes of the file are the index data and how many tailings are the media data.
  • the client may recognize that, except for adjacent byte ranges, the URL for the media segment matches the URL of the corresponding index segment, thus splitting the segment on the client side in a single request. can do.
  • a typical client may not use this optimization, or may have the same effect through two ttp requests.
  • a method of receiving and processing MPEG2 TS based media files as described with reference to FIGS. 1 through 19 may be performed by an IPTV receiver according to an embodiment of the present invention.
  • the IPTV receiver may receive a media file transmitted from a transmitting side (eg, a media server), and the format of the media file may have a configuration as described with reference to FIGS. 6 to 19. .
  • a transmitting side eg, a media server
  • the IPTV receiver may play the MPEG2 TS in synchronization with other media using the synchronization information received from the transmitter.
  • the IPTV receiver may perform the media file reception method as described with reference to FIGS. 14 and 15.
  • FIG. 20 is a block diagram illustrating an IPTV receiver configuration according to an embodiment of the present invention.
  • the IPTV receiver according to an embodiment of the present invention may include a separate tuner or the like for receiving terrestrial broadcasting, cable broadcasting, satellite broadcasting, or the like.
  • a separate tuner or the like for receiving terrestrial broadcasting, cable broadcasting, satellite broadcasting, or the like.
  • a description will be given of the configuration of receiving an IPTV service provided using an IP network.
  • ITF represents an Open IPTV Terminal Function, which may mean a receiver composed of a function module required to support the IPTV service.
  • the IPTV receiver includes a network interface unit 501, a TCP / IP manager 502, a service delivery manager 504, a PVR manager 505, Demultiplexer (508), Data Decoder (507), Audio / Video Decoder (512), A / V Display & OSD Module (515), Application Manager ( Application Manager (513, 514), Service Information Database (SI & Metadata DB) 511, Service Discovery Manager (509), Service Control Manager (503), Metadata Manager (Metadata Manager) 510 and a content database unit (Content DB) 506.
  • a network interface unit 501 a TCP / IP manager 502, a service delivery manager 504, a PVR manager 505, Demultiplexer (508), Data Decoder (507), Audio / Video Decoder (512), A / V Display & OSD Module (515), Application Manager ( Application Manager (513, 514), Service Information Database (SI & Metadata DB) 511, Service Discovery Manager (509), Service Control Manager (503), Metadata Manager (Metadata Manager) 510
  • the network interface unit 501 receives packets received from a network and transmits the packets to the network. That is, the network interface unit 501 receives a service, media content, etc. from a service provider through a network.
  • the TCP / IP manager 502 is involved in packet forwarding from the source to the destination for packets received by the IPTV receiver and packets transmitted by the IPTV receiver. In addition, the TCP / IP manager 502 classifies the received packet to correspond to an appropriate protocol, and sends it to the service delivery manager 504, the service discovery manager 509, the service control manager 503, and the metadata manager 510. Output sorted packets.
  • the service delivery manager 504 is responsible for controlling the received service data.
  • RTP / RTCP can be used to control real-time streaming data.
  • the service delivery manager 504 parses the received data packet according to the RTP and transmits it to the demultiplexer 508 or under the control of the service manager 514.
  • the content database unit 506 stores the content.
  • the service delivery manager 504 feeds back the network reception information to a server that provides a service using RTCP.
  • the demultiplexer 508 demultiplexes the received packet into audio, video, PSI (Program Specific Information) data, and the like, and transmits the demultiplexer 508 to the audio / video decoder 512 and the data decoder 507, respectively.
  • PSI Program Specific Information
  • the data decoder 507 decodes service information such as, for example, program specific information (PSI). That is, the data decoder 507 receives and decodes the demultiplexed PSI section, the Program and Service Information Protocol (PSIP) section, or the Service Information (DVB-SI) section from the demultiplexer 508.
  • PSI program specific information
  • PSIP Program and Service Information Protocol
  • DVB-SI Service Information
  • the data decoder 507 decodes the received sections to create a database of service information, and stores the database of the service information in the service information database unit 511.
  • An audio / video decoder 512 decodes the video data and audio data received at the demultiplexer 508.
  • the audio data and the video data decoded by the audio / video decoder 512 are provided to the user through the display unit 515.
  • the application manager manages the overall state of the IPTV receiver, provides a user interface, and manages other managers.
  • the application manager includes a user interface manager 513 and a service manager 514.
  • the user interface manager 513 provides a graphical user interface (GUI) for a user using an OSD (On Screen Display), etc., and receives a key input from a user to perform a receiver operation according to the input. For example, upon receiving a key input related to channel selection from a user, the key input signal is transmitted to the service manager 514.
  • GUI graphical user interface
  • the service manager 514 controls a manager associated with a service, such as a service delivery manager 504, a service discovery manager 509, a service control manager 503, and a metadata manager 510.
  • the service manager 514 creates a channel map and selects a channel using the channel map according to a key input received from the user interface manager 513.
  • the service manager 514 receives service information of a channel from the data decoder 507 and sets an audio / video packet identifier (PID) of the selected channel to the demultiplexer 508.
  • PID audio / video packet identifier
  • the service discovery manager 509 provides information necessary to select a service provider that provides a service. Upon receiving a signal regarding channel selection from the service manager 514, the service discovery manager 509 uses the information to find a service.
  • the service control manager 503 is responsible for selecting and controlling a service.
  • the service control manager 503 uses IGMP or RTSP when the user selects a Live Broadcasting service such as a conventional broadcasting method, and uses RTSP when selecting a service such as Video On Demand (VOD). Can be used to select and control services.
  • IGMP Live Broadcasting service
  • RTSP Video On Demand
  • the RTSP protocol may provide a trick mode for real time streaming.
  • the service control manager 503 may initiate and manage a session through the IMC gateway using an IP multimedia subsystem (IMS) or a session initiation protocol (SIP).
  • IMS IP multimedia subsystem
  • SIP session initiation protocol
  • the protocols are one embodiment, and other protocols may be used depending on implementation.
  • the metadata manager 510 manages metadata associated with a service and stores the metadata in the service information database unit 511.
  • the service information database unit 511 stores service information decoded by the data decoder 507, metadata managed by the metadata manager 510, and information necessary to select a service provider provided by the service discovery manager 509. do. In addition, the service information database unit 511 may store setup data for the system.
  • the service information database unit 511 and the content database unit 506 may be implemented using nonvolatile memory (NVRAM) or flash memory, respectively, and are two logically separated areas on the same storage area. Can be implemented.
  • NVRAM nonvolatile memory
  • flash memory flash memory
  • the PVR manager 505 is a module for recording and playing back live streaming content.
  • the PVR manager 505 may collect metadata about the recorded content and generate additional information provided to a user such as a thumbnail image or an index.
  • the function of the control unit of the IPTV receiver is a TCP / IP manager 502, a service delivery manager 504, a PVR manager 505, an application manager 513, 514, service discovery shown in FIG.
  • the manager 509, the service control manager 503, and the metadata manager 510 may be divided into a plurality of modules and implemented.
  • the TCP / IP manager 502 filters the SD & S information by using the target package information as described above, so that the network interface unit 501 corresponds to a specific package (for example, a package to which an IPTV receiver is subscribed). Only the payload or segment may be requested to the server and received.
  • the TCP / IP manager 502 filters the SD & S information received by the multicast method using the target package information so that only payloads or segments corresponding to a specific package are parsed and processed by the data decoder 507. can do.
  • FIG. 21 is a block diagram showing another embodiment of the configuration of the IPTV receiver according to the present invention, and shows the configuration of the IPTV receiver in functional blocks.
  • the solid line arrow shown in FIG. 21 corresponds to the data path, and the dotted line arrow corresponds to the control signal path.
  • Cable modem, DSL modem, etc (601) is an interface that allows ITF to be connected to IP network at the physical level, and demodulates the signal transmitted through the physical medium to restore the digital signal.
  • the Ethernet NIC 602 restores the signal received through the physical interface to IP data, and the IP Network Stack 607 processes each layer according to the IP Protocol stack.
  • the XML Parser 609 parses an XML Document among received IP data
  • the File Handler 608 processes data transmitted in the form of File through FLUTE among the received IP data.
  • the SI Handler 611 processes the part corresponding to the IPTV service information among the received File type data and stores it in the storage 612, and the EPG Handler 610 corresponds to the IPTV EPG information among the received File type data.
  • the portion can be processed and stored in Storage 612.
  • the storage 612 stores various data such as the SI and the EPG.
  • the SI Decoder 613 receives the SI data from the storage 612 and analyzes it to obtain channel map information.
  • the EPG Decoder 614 analyzes the EPG data stored in the storage 612 to restore necessary information for the EPG configuration. do.
  • the ITF Operation Controller 615 is a main controller that controls the operation of an ITF such as a channel change or an EPG display.
  • the channel service manager 616 performs an operation such as changing a channel according to a user input
  • the application manager 617 may perform an application service such as an EPG display according to the user input.
  • the MPEG-2 Demultiplexer 603 may extract MPEG-2 Transport Stream data from the received IP datagram and transmit the MPEG-2 Transport Stream data to the corresponding module according to the packet identification information (PID).
  • PID packet identification information
  • the MPEG-2 PSI / PSIP Parser 604 extracts and parses PSI / PSIP data including packet identification information (PID) of A / V data or access information about a program element from the MPEG-2 Transport Stream. Can be.
  • PID packet identification information
  • the A / V Decoder 605 decodes the input audio and video data and transmits the decoded audio and video data to the display module 606.
  • the display module 606 may output decoded A / V data or an application.
  • a media transmission / reception method and apparatus have been described using an example in which a media file transmitted / received between the transmitting device 100 and the receiving device 300 includes MPEG-2 TS data.
  • the present invention is not limited thereto, and may be applied to various transport stream formats in addition to the MPEG-2 TS.
  • the above-described media transmission / reception method according to the present invention may be stored in a computer-readable recording medium that is produced as a program to be executed in a computer.
  • Examples of the computer-readable recording medium may include ROM, RAM, CD-ROM, Magnetic tapes, floppy disks, optical data storage devices, and the like, and also include those implemented in the form of carrier waves (eg, transmission over the Internet).
  • the computer readable recording medium can be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
  • functional programs, codes, and code segments for implementing the method can be easily inferred by programmers in the art to which the present invention belongs.

Abstract

본 발명은 MPEG2 TS(Transport Stream) 기반 미디어 파일을 송수신하는 방법 및 장치에 관한 것으로, 그 송신 방법은 미디어 파일에 포함된 프로그램을 구성하는 적어도 하나의 프로그램 엘리먼트에 대해 재생 유닛(PU, Presentation Unit)의 PTS를 다른 미디어와의 동기화를 위한 미디어 재생 시간(MPT, Media Presentation Time)에 매핑하는 단계; 및 매핑된 미디어 재생 시간을 포함하는 동기화 정보를 미디어 파일과 함께 전송하는 단계를 포함한다.

Description

미디어 파일 송수신 방법 및 그를 이용한 송수신 장치
본 발명은 MPEG2 TS(Transport Stream) 기반의 미디어 파일을 송수신하는 방법 및 장치에 관한 것이다.
현재, 지상파, 케이블, 위성 또는 DMB(Digital Multimedia Broadcasting) 등과 같은 디지털 방송들은 대부분 MPEG-2 TS(Transport Stream)을 이용하여 AV 컨텐츠를 스트리밍하고 있다.
또한, 최근 인터넷의 빠른 성장에 따라 IP(Internet Protocol) 네트워크를 주 전송망으로 하여 컨텐츠를 제공하는 멀티미디어 서비스가 활성화되고 있으며, 디지털 방송은 스테레오 3D 비디오 방송, UHD(Ultra High Definition) 방송, 다시점 3D 비디오 방송, 홀로그램 방송 등과 같이 보다 많은 전송량이 요구되는 방향으로 발전해 나가고 있다.
그러나, 188 바이트의 고정 길이 패킷을 가지는 MPEG-2 TS는 IP 네트워크를 이용하여 기존 HDTV보다 높은 해상도를 가지는 컨텐츠를 전송하기에는 비효율적일 수 있다.
본 발명의 일실시예는 MPEG-2 TS 기반의 미디어 파일을 다른 미디어와 동기화하여 재생할 수 있도록 송수신하는 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 실시예에 따른 미디어 파일 송신 방법은 MPEG2 TS(Transport Stream) 기반 미디어 파일을 송신하며, 상기 미디어 파일에 포함된 프로그램을 구성하는 적어도 하나의 프로그램 엘리먼트에 대해, 재생 유닛(PU, Presentation Unit)의 PTS를 다른 미디어와의 동기화를 위한 미디어 재생 시간(MPT, Media Presentation Time)에 매핑하는 단계; 및 상기 매핑된 미디어 재생 시간을 포함하는 동기화 정보를 상기 미디어 파일과 함께 전송하는 단계를 포함하고, 상기 미디어 재생 시간은 상기 전송되는 미디어 파일의 세그먼트 중 첫번째 재생 유닛에 대하여 제공된다.
본 발명의 실시예에 따른 미디어 파일 수신 방법은, 미디어 파일을 동기화 정보와 함께 수신하는 단계; 상기 미디어 파일에 포함된 프로그램을 구성하는 적어도 하나의 프로그램 엘리먼트에 대해, 재생 유닛의 미디어 재생 시간을 상기 동기화 정보로부터 추출하는 단계; 및 상기 추출된 미디어 재생 시간을 이용해 상기 미디어 파일을 재생하는 단계를 포함하고, 상기 미디어 재생 시간은 상기 수신되는 미디어 파일의 세그먼트 중 첫번째 재생 유닛의 PTS가 매핑되어 제공된다.
본 발명의 실시예에 따른 미디어 파일 송신 장치는, 상기 미디어 파일에 포함된 프로그램을 구성하는 프로그램 엘리먼트에 대해, 각각의 세그먼트에 포함된 재생 유닛들 중 첫번째 재생 유닛 또는 PTS 불연속이 발생한 후 첫번째 재생 유닛의 PTS를 다른 미디어와의 동기화를 위한 미디어 재생 시간에 매핑하는 제어부; 및 상기 매핑된 미디어 재생 시간을 포함하는 동기화 정보를 상기 미디어 파일과 함께 전송하는 네트워크 인터페이스부를 포함한다.
본 발명의 실시예에 따른 미디어 수신 장치는, 미디어 파일을 동기화 정보와 함께 수신하는 네트워크 인터페이스부; 상기 수신된 미디어 파일을 복호화하는 디코딩부; 및 상기 동기화 정보에 포함된 미디어 재생 시간을 이용해 상기 복호화된 미디어 파일을 다른 미디어와 동기화시키는 동기화부를 포함하고, 상기 미디어 재생 시간은 상기 수신되는 미디어 파일의 세그먼트 중 첫번째 재생 유닛 또는 PTS 불연속이 발생한 후 첫번째 재생 유닛의 PTS가 매핑되어 제공된다.
본 발명의 일실시예에 따르면, MPEG-2 TS 기반의 미디어 파일을 미디어 재생 시간을 포함하는 동기화 정보와 함께 전송함으로써, 상기 미디어 파일에 대한 랜덤 액세스(random access)가 가능함과 동시에 수신 장치의 내부에 저장되어 있거나 또는 외부로부터 수신되는 다른 미디어와 상기 미디어 파일을 용이하게 동기화하여 재생할 수 있다.
또한, PTS 불연속이 발생한 시점에 대한 미디어 재생 시간을 수신 장치측으로 제공함으로써, 상기 PTS 불연속이 발생하는 경우에도 상기 미디어 파일을 미디어 재생 시간에 맞추어 재생할 수 있다.
도 1은 ISO Base Media 파일 포맷의 구성을 나타내는 도면이다.
도 2는 MPEG2 PES(Packetized Elementary Stream) 패킷의 구조를 나타내는 도면이다.
도 3은 MPEG2 TS(Transport Stream)의 구조를 나타내는 도면이다.
도 4는 MPEG2 TS의 PTS(Presentation Time Stamp)와 미디어 재생 시간(MPT, Media Presentation Time)을 나타내는 그래프이다.
도 5는 MPEG2 TS에 포함된 임의의 재생 유닛(PU, Presentation Unit)을 재생하는 방법에 대한 일실시예를 나타내는 도면이다.
도 6은 본 발명의 일실시예에 따른 미디어 파일 송신 장치의 간략한 구성을 나타내는 블록도이다.
도 7은 본 발명의 일실시예에 따른 미디어 파일 송신 방법을 나타내는 흐름도이다.
도 8은 MPEG2 TS에 포함된 임의의 재생 유닛을 미디어 재생 타임라인(timeline)에 동기화하여 재생하는 방법에 대한 일실시예를 나타내는 도면이다.
도 9 및 도 10은 동기화 정보를 포함하는 세그먼트 인덱스 박스(Segment Index Box)의 구성에 대한 일실시예를 나타내는 도면들이다.
도 11 및 도 12는 동기화 정보를 포함하는 xml(eXtensible Markup Language) 파일의 구성에 대한 일실시예를 나타내는 도면들이다.
도 13은 본 발명의 일실시예에 따른 송신 장치로부터 전송되는 미디어 파일의 구조에 대한 일실시예를 나타내는 도면이다.
도 14는 본 발명의 일실시예에 따른 미디어 파일 수신 장치의 구성을 나타내는 블록도이다.
도 15는 본 발명의 일실시예에 따른 미디어 파일 수신 방법을 나타내는 흐름도이다
도 16은 MPD(Media Presentation Description)를 이용하여 생성되는 세그먼트 리스트(segment list)에 대한 일실시예를 나타내는 도면이다.
도 17은 MPEG2 TS 기반 미디어 파일을 3GPP 미디어 파일과 동기화하여 재생하는 방법에 대한 일실시예를 나타내는 도면이다.
도 18 및 도 19는 본 발명의 일실시예에 따른 미디어 파일을 MPEG DASH(Dynamic Adaptive Streaming over HTTP)의 MPD를 이용하여 구현하는 방법에 대한 실시예들을 나타내는 도면들이다.
도 20은 본 발명에 따른 IPTV 수신기의 구성에 대한 제1 실시예를 나타내는 블록도이다.
도 21은 본 발명에 따른 IPTV 수신기의 구성에 대한 제2 실시예를 나타내는 블록도이다.
이하, 첨부된 도 1 내지 도 21을 참조하여 본 발명의 실시예에 따른 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치에 대하여 상세히 설명하기로 한다.
이하에서 본 발명의 실시예를 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1은 ISO Base Media 파일 포맷의 구성을 도시한 것으로, 도시된 바와 같은 ISO Base Media 파일 포맷을 스트리밍(streaming) 하기 위하여 "단편화된 파일(fragmented file)" 구조가 이용될 수 있다.
도 1을 참조하면, 상기 단편화된 파일은 미디어 트랙들을 물리적으로 복수의 프래그먼트들로 나누며, 각각의 프래그먼트는 moof(Movie Fragment) 박스와 mdat(media data) 박스로 구성될 수 있다.
상기 moof 박스 이후의 mdat 박스는 프래그먼트 미디어 데이터를 포함하여, 이와 같이 조합된 moof-mdat 쌍은 하나의 프래그먼트를 구성할 수 있다.
단편화된 ISO Base Media 파일 포맷에서, 일반적인 타이밍(timing) 필드들은 stts(decoding time-to-sample) 또는 ctts(composition time to sample) 등과 같은 stbl(Sample Table) 박스에 의해 제공될 수 있다. 그러나, 상기와 같은 타이밍 필드들은 moov(Movie) 박스에 존재하기 때문에, 타이밍 정보를 전달하기 위해 주로 사용되지 않는다.
한편, 상기 moov 박스가 미세하게 인코딩되므로, 원하는 샘플에 접근하기 위해서는 이전의 모든 샘플들이 클라이언트 측(예를 들어, 수신 장치)에 유효하여야 하나, 상기와 같은 가정은 스트리밍 애플리케이션에는 적절하지 않기 때문이다.
또한, 랜덤 액서스 포인트(random access point)를 포함하는 프래그먼트들에 대해 래퍼런스를 제공하기 위해, 미디어 파일의 끝에 위치하는 mfra(Movie Fragment Random Access) 박스가 이용될 수 있다.
그러나, 상기 mfra 박스는 프래그먼트들을 참조하는 파일의 시작 부분으로부터의 절대적인 바이트 오프셋(byte offset)을 이용하며, 그 자체는 단편화되지 않기 때문에, 레코딩 프로세스와 같은 저장된 상태에서 단편화된 미디어 파일의 타이밍 정보를 제공할 수는 있으나, 스트리밍 애플리케이션에 이용될 수는 없다.
따라서, 도 1에 도시된 바와 같은 ISO Base Media 파일 포맷은 단편화된 트랙들을 스트리밍하기 위한 타이밍 정보를 제공하지 않는다.
한편, 세그먼트(segment)는 미디어 파일이 송수신되는 단위로서, 상기 세그먼트의 구성은 다양하게 정의될 수 있다.
예를 들어, "3GPP Adaptive HTTP Streaming(AHS)", "OIPF HTTP Adaptive Streaming(HAS)" 및 "HTTP Streaming of MPEG media"에서는, 상기 세그먼트가 하나 또는 그 이상의 무비 프래그먼트들을 포함하며, 한 주기 내에서 각 세그먼트는 대략적으로 동일한 기간(duration)을 가질 수 있다. "3GPP AHS"에서는, 상기 세그먼트의 전체 구조가 정의되며, 미세한 다운로드 유닛으로 세그먼트를 이용하거나 바이트 범위(byte range)를 사용하여 세그먼트의 일부분들을 다운로드하도록 허용한다.
또한, 사라진 트랙에 대한 타이밍 정보를 제공하기 위해, 3GPP 파일 포맷은 프래그먼트 내의 트랙들에 대한 트랙 재생 시작 시간들을 제공하는 sidx(Segment Index) 박스를 포함하며, 상기 재생 시간들은 시그널링되는 디코딩 타임들로부터 복구될 수 있다.
상기 "3GPP AHS"의 클라이언트는 근사적으로 생성된 타임라인을 이용하여 세그먼트를 페치(fetch)하고, 상기 sidx 박스를 이용하여 각 트랙의 타이밍을 재구성할 수 있다. 한편, 세그먼트의 전체 또는 일부가 다운로드된 후, 상기 타이밍 정보는 이후 재생에 이용될 수 있도록 파일 내부에 임베디드될 수 있다.
한편, "Microsoft Smooth Streaming(MS SS)"에서는, 상기 세그먼트가 하나의 프래그먼트로 정의되며, 하나의 프래그먼트는 하나의 트랙만을 포함할 수 있다. 상기 프래그먼트가 다운로드를 위한 기본 유닛이며, 세그먼트라는 용어는 사용되지 않는다.
상기 "MS SS"는 ManifestResponse 파일 내부에서 각 프래그먼트에 대한 FragmentTime 속성을 제공하며, 상기 정보는 StreamFragmentElement에서 제공될 수 있다.
또한, 상기 "MS SS"에서는, 트랙 프래그먼트 내부에 하나의 트랙만이 존재하므로, 하나의 FragmentTime으로 트랙 프래그먼트의 타이밍을 충분히 표현할 수 있다. 랜덤 액세스 이후의 동기화된 재생을 시작하고 대체 가능한 재생들 사이의 전환을 가능케하기 위하여, 상기 타이밍 정보는 재생되는 각 트랙에 대해 요구될 수 있다.
한편, 상기 "MS SS" 미디어를 저장하기 위해, 상기 타이밍 정보가 저장된 파일 내부에 이후 임베디드되어야 하며, 이는 MS PIFF에 파일을 저장하거 mfra 박스에 상기 타이밍 정보를 포함시킴으로써 수행될 수 있다.
도 2는 MPEG2 PES(Packetized Elementary Stream) 패킷의 구조를 도시한 것이며, 도 3은 MPEG2 TS(Transport Stream)의 구조를 도시한 것이다.
도 2를 참조하면, MPEG2 인코더에 의하여 압축된 MPEG-2 비디오 스트림은 소정의 크기를 갖는 PES 패킷으로 패킷화될 수 있다.
상기 PES 패킷은 PES 헤더와 PES packet data 필드로 구성되며, 상기 PES 헤더는 optional PES HEADER를 포함할 수 있다. 또한, 상기 optional PES HEADER에는 optional 필드(510)가 포함되며, optional 필드에 PTS 필드와 DTS 필드가 포함된다.
한편, PTS 필드에는 PTS(Presentation Time Stamp) 정보가, DTS 필드에는 DTS(Decoding Time Stamp) 정보가 기록될 수 있다.
비디오 스트림과 오디오 스트림 사이의 동기는 비디오, 오디오의 엑세스 단위라 불리는 디코딩 단위마다 언제 재생해야 하는지를 나타내는 시간 정보인 타임 스탬프(Time Stamp)에 의해 이루어질 수 있다.
예를 들어, 오디오의 경우 PTS, 비디오의 경우 PTS와 DTS가 시간 정보로서 제공될 수 있다. 또한, 상기와 같은 타임 스탬프를 디코더의 시각 기준이 되는 STC(System Time Clock)와 비교하여 재생 여부를 판단함으로써, 비디오 스트림과 오디오 스트림이 서로 동기화될 수 있다.
도 3을 참조하면, MPEG2 TS의 트랜스포트 패킷은 4바이트의 헤더와, 상기 헤더에 뒤이어지는 184바이트의 페이로드로 이루어져, 의도되는 전송 매커니즘에 관계없이 188바이트의 크기를 가진다.
상기 페이로드에는 PES 패킷이나, PAT(Program Association Table), PMT(Program Map Table) 등이 기록되며, 상기 헤더에는 sync byte를 시작으로 adaptation 필드 등과 같은 복수의 필드들이 포함될 수 있다.
상기 Adaptation 필드는 optional 필드를 포함하며, 상기 optional 필드는 시각 기준 정보인 PCR(Program Clock Reference) 정보가 기록된 PCR 필드를 포함한다.
상기 PCR은 PTS와 STS를 위한 기준 클락으로서, 인코더와 디코더간의 동기화를 위해 MPEG2 TS의 헤더에 삽입된다.
상기 PTS는 하나의 프로그램에 포함된 엘리먼터리 스트림들을 동기화하여 재생하기 위해 사용되는 것으로, UTC(Universal Time Coordinated) 등과 같은 외부 클락과의 동기화를 위한 연관성을 가지지 않는다.
또한, 상기 PTS의 연속성(continuity)이 보장되지 않으므로, 상기 PTS의 불연속(discontinuity)이나 리셋(reset)이 발생할 수 있다.
예를 들어, 디지털 비디오 방송과 같은 MPEG2 TS의 이용 분야에서, 상기와 같은 PTS의 불연속은 해당 이벤트가 발생하기 직전에 도 3에 도시된 바와 같은 PCR과 discontinuity indicator에 의해 전달될 수 있다.
상기 PTS가 하나의 프로그램의 동기화된 재생을 위해 사용될 수 있으나, 일반적인 재생 타임라인(예를 들어, HTTP 스트리밍 서비스에서 사용되는 미디어 재생 타임라인(media presentation timeline))과 재생을 동기화하기 위해 사용되기에는 충분하지 않다.
상기 PTS가 상기 일반적인 재생 타임라인과의 동기화에 이용되기 위해서는, 최초의 동기화, 랜덤 액세스 이후의 동기화 및 PTS 불연속 이우희 동기화가 고려되어야 한다.
도 4는 MPEG2 TS의 PTS와 미디어 재생 시간(MPT, Media Presentation Time)사이의 관계를 그래프로 도시한 것이다.
도 4에 도시된 실선은 전체적인 미디어의 재생이 동기화되는 미디어 재생 타임라인을 나타내며, 점선은 프로그램 내부의 로컬(local) 재생 시간을 나타내는 PTS 타임라인을 나타낸다.
상기 미디어 재생 시간(MPT)은, ISO Base Media 파일 포맷에서 정의된 바와 같이, 해당 파일 내부의 시간들을 의미하며, '0'으로부터 시작된다.
한편, 상기 PTS는 90kHz의 클럭으로 계측한 값을 33비트의 길이로 나타낸 time-scaled PTS 타임라인으로 표현될 수 있다.
도 4를 참조하면, 상기 미디어 재생 타임라인은 MPD와 같은 매니페스트(manifest) 파일에서 제공되는 재생 시작 오프셋(presentation start offset)에서 시작될 수 있다.
한편, 상기 PTS 타임라인은 임의의 지점에서 시작하며, 경우에 따라 불연속(d)이 발생할 수 있다.
ISO Base Media 파일 포맷과 달리, MPEG2 TS는 프래그먼트들이 188 바이트의 크기를 가지는 범위 내에서 직접적인 단편화(direc fragmentation)을 허용한다. 또한, MPEG2 TS 스트리밍에 기반을 둔 "Apple HTTP Streaming"이나 "OIPF HAS"는 상기 MPEG2 TS를 주어진 기간의 세그먼트들로 분할하는 동일한 방법을 이용한다.
이 경우, 상기 세그먼트의 기간은 각 미디어 컨포넌트에 대해 일반적으로 정확하지 아니하며, MPEG2 TS에 포함된 하나의 프로그램의 미디어 컴포넌트는 레퍼런스로서 PCR 또는 PTS를 이용하여 세그먼트들을 대략적인 기간으로 분할하므로, 다른 트랙들과 맞춰지지 않을 수 있다.
또한, "Apple HTTP Streaming"과 "OIPF HAS"는MPEG2 TS를 위한 타이밍 정보를 나타내는 추가적인 수단을 지정하거나 참조하지 않으며, 그를 위해서는 대략적인 타임라인을 이용하여 MPEG2 TS를 다운로드한 후 세그먼트의 시작 시간이 상기 대략적인 타임라인에 맞춰진 것으로 추정하여야 한다.
한편, "MS SS"는 MPEG2 TS 미디어 파일들의 전달에 대해 언급하지 않으며, 상기 MPEG2 TS의 전송을 위한 "MS SS"의 직접적인 적용은 어려울 수 있다. 또한, "MS SS"는 프래그먼트 당 하나의 트랙만을 허용하므로, 복수의 다중화된 프로그램들을 가지는 전송 스트림에는 적합하지 않을 수 있다.
그리고, 일부 또는 전체의 다운로드 이후에, 해당 파일이 인접한 MPEG2 TS 파일로 저장되고, 타이밍 정보가 향후 재생을 위해 유효하게되어야 하므로, "MS SS"를 잉ㅇ한 MPEG2 TS 파일의 전송에 있어 미디어 재생 타임라인과의 완전한 동기화는 달성되기 어려울 수 있다.
도 5는 MPEG2 TS에 포함된 임의의 재생 유닛(PU, Presentation Unit)을 재생하는 방법에 대한 일실시예를 도시한 것이다.
도 5를 참조하면, MPEG-2 TS 패킷들은 각각 188바이트의 고정 비트율을 가지며, 1 또는 그 이상의 패킷들(예를 들어, 3개의 MPEG-2 TS 패킷들)을 포함하는 세그먼트 단위로 전송될 수 있다.
한편, 클라이언트 측(예를 들어, 수신 장치)가 임의의 세그먼트를 수신하여 임의의 재생 유닛(PUy)을 미디어 재생 타임라인과 동기화하여 재생하고자 할 수 있다.
이 때, 상기 재생되고자 하는 재생 유닛(PUy)이 포함된 세그먼트의 이전 세그먼트에서 PTS 불연속이 발생할 수 있으며, 랜덤 액세스의 경우 상기 수신 장치는 PTS 불연속에 의해 해당 세그먼트를 유효하게 수신하지 못할 수 있다.
즉, MPEG2 TS 기반의 미디어 파일에서는, 세그먼트 내에서의 랜덤 또는 연속적인 액세스를 위해 재생 유닛에 대한 정확한 미디어 재생 시간 정보가 제공되지 않으며, 이는 상기 PTS 불연속의 경우에 더욱 문제가 될 수 있다.
한편, 상기한 바와 같이 MPEG2 TS가 미디어 재생 시간과 동기화되지 않음에 의해, 내부에 저장되거나 스트리밍되는 MPEG2 TS 기반의 미디어와 다른 미디어(예를 들어, ISO Base Media 파일 포맷 미디어 또는 또 다른 MPEG2 TS 기반 미디어)를 동기화하여 재생하는 것이 불가능할 수 있다.
본 발명의 실시예에 따르면, MPEG2 TS 기반 미디어 파일의 타임라인을 상기 미디어 재생 시간에 매핑하기 위한 시그널링(signaling)을 제공함으로써, MPEG2 TS 기반 미디어 파일이 다른 미디어와 동기화될 수 있도록 할 수 있다.
예를 들어, 본 발명의 일실시예에 따른 송신 장치는 상기 미디어 파일에 포함된 프로그램을 구성하는 적어도 하나의 프로그램 엘리먼트에 대해 재생 유닛의 PTS를 상기 미디어 재생 시간에 매핑하고, 상기 매핑된 미디어 재생 시간을 포함하는 동기화 정보(sync information)를 미디어 파일과 함께 전송할 수 있다.
도 6은 본 발명의 일실시예에 따른 미디어 파일 송신 장치의 간략한 구성을 블록도로 도시한 것으로, 도시된 송신 장치(100)는 제어부(110) 및 네트워크 인터페이스부(120)를 포함할 수 있다.
도 6을 참조하면, 제어부(110)는 MPEG2 TS 기반 미디어 파일에 포함된 프로그램을 구성하는 프로그램 엘리먼트에 대해, 재생 유닛의 PTS를 미디어 재생 시간에 매핑하여 클라이언트 측(예를 들어, 수신 장치)에 제공될 동기화 정보를 생성할 수 있다.
한편, 네트워크 인터페이스부(120)는 상기 매핑된 미디어 재생 시간을 포함하는 동기화 정보를 MPEG2 TS 기반 미디어 파일과 함께 상기 수신 장치로 전송할 수 있다.
본 발명의 일실시예에 따르면, 상기 클라이언트 측에 전달되는 동기화 정보는 어느 한 프로그램 엘리먼트에 포함된 세그먼트들 각각의 첫번째 재생 유닛에 대해 제공될 수 있다.
이 경우, 상기 동기화 정보는 특정 세그먼트의 첫번째 재생 유닛으로부터 다음의 PTS 불연속 발생 지점까지의 MPEG2 TS에 포함된 모든 재생 유닛들에 대한 재생 시간을 복구하는데 이용될 수 있다.
또한, 상기 동기화 정보는 세그먼트 내부에서 PTS 불연속이 발생한 이후 첫번째 재생 유닛에 대해 제공될 수 있으며, 이는 상기 PTS 불연속 발생 지점으로부터 다음의 PTS 불연속 발생 지점까지의 MPEG2 TS에 포함된 모든 재생 유닛들에 대한 재생 시간을 복구하는데 이용될 수 있다.
한편, 더 이상의 PTS 불연속이 발생하지 않는 경우, 상기 동기화 정보는 상기 PTS 불연속 발생 지점으로부터 해당 세그먼트 끝까지의 MPEG2 TS에 포함된 재생 유닛들에 대한 재생 시간을 복구하는데 이용될 수 있다.
MPEG2 TS 기반의 재생은 하나의 프로그램에 속하는 복수의 프로그램 엘리먼트들을 가질 수 있으며, 상기 프로그램 엘리먼트들 중 어느 하나에 대해서만 상기한 바와 같은 동기화 정보가 클라이언트 측에 전달될 수 있다.
즉, 어느 한 프로그램 엘리먼트가 미디어 재생 시간과 동기화되면, 나머지 프로그램 엘리먼트들은 MPEG2 TS에서 제공되는 동기화 매커니즘을 이용하여 하나의 프로그램으로 동기화될 수 있다.
이하, 도 7 내지 도 13을 참조하여 본 발명의 실시예에 따른 미디어 파일 송신 방법에 대해 상세히 설명하기로 한다.
도 7은 본 발명의 일실시예에 따른 미디어 파일 송신 방법을 흐름도로 도시한 것으로, 도시된 송신 방법을 도 6에 도시된 본 발명의 일실시예에 따른 미디어 파일 송신 장치의 구성을 나타내는 블록도와 결부시켜 설명하기로 한다.
도 7을 참조하면, 송신 장치(100)의 제어부(110)는 전송하고자하는 미디어 파일에 포함된 프로그램 중 하나의 프로그램 엘리먼트를 레퍼런스로 선택한다(S200 단계).
예를 들어, 제어부(110)는 상기 프로그램을 구성하는 비디오 트랙들과 오디오 트랙들 중 비디어 트랙들을 상기 레퍼런스 프로그램 엘리먼트로 선택할 수 있다.
그 후, 제어부(110)는 상기 선택된 프로그램 엘리먼트에 대해, 재생 유닛의 PTS를 미디어 재생 시간에 매핑한다(S210 단계).
도 8을 참조하면, 특정 프로그램 엘리먼트에 속하는 재생 유닛들 중 세그먼트의 첫번째 재생 유닛에 대한 미디어 재생 시간들(예를 들어, MPT1, MPTn)이 클라이언트 측에 동기화 정보로서 전달될 수 있다.
한편, 특정 재생 유닛(PUy)이 재생되고자 하는 경우, 상기 PUy에 대한 미디어 재생 시간(MPTo)는 다음의 수학식 1을 이용해 재생 유닛의 PTS를 매핑함으로써 구해질 수 있다.
수학식 1
Figure PCTKR2011005307-appb-M000001
상기 수학식 1에서, PTS1은 상기 PUy의 PTS이고, PTSk는 상기 PUy 이전에 위치하는 재생 유닛인 PUx의 PTS이며, 상기 MPTn은 상기 PUx에 대한 미디어 재생 시간이다.
또한, timescalePTS은 PTS의 클럭(clock)을 나타내며(예를 들어, 90kHz), timescale은 미디어 재생 시간(MPT)의 클럭을 나타낸다.
예를 들어, 송신 장치(100)의 제어부(110)는 먼저 PUy 및 PUx 각각에 대해 PTS(즉, PTS1 및 PTSk)를 복구하고, 상기 복구된 PTS1 및 PTSk를 이용해 수학식 1과 같은 선형 보간(linear interpolation)에 의해 다음의 미디어 재생 시간(MPTo)을 계산할 수 있다.
한편, 도 8에 도시된 바와 같이, 세그먼트 중 PTS의 불연속이 발생한 후 첫번째 재생 유닛에 대한 미디어 재생 시간(예를 들어, MPTm)이 클라이언트 측에 동기화 정보로서 전달될 수 있다.
그에 따라, 특정 세그먼트 내에서 PTS의 불연속이 발생한 경우에도, 특정 재생 유닛에 대한 미디어 재생 시간이 상기 수학식 1을 참조하여 설명한 바와 같은 선형 보간에 의해 계산될 수 있다.
한편, 상기에서는 도 8을 참조하여 PUy 및 PUx이 하나의 프로그램 엘리먼트에 속하는 경우를 예로 들어 재생 유닛의 PTS를 미디어 재생 시간에 매핑하는 방법에 대해 설명하였으나, 상기 PUy 및 PUx는 서로 다른 프로그램 엘리먼트들에 각각 속할 수도 있으며, 이 경우에도 상기한 바와 같은 방법을 이용하여 특정 재생 유닛에 대한 미디어 재생 시간이 구해질 수 있다.
네트워크 인터페이스부(120)는 상기와 같이 구해진 미디어 재생 시간들을 포함하는 동기화 정보를 상기 미디어 파일과 함께 클라이언트 측으로 전송한다(S220 단계).
또한, 상기한 바와 같은 매핑 방법에 의해, 주어진 미디어 재생 시간에 대해 PTS에 기반하여 특정 재생 유닛을 찾을 수 있으며, 이는 랜덤 액세스나 스트팀 스위칭(stream switching) 등에 이용될 수 있다.
예를 들어, 다음의 수학식 2와 같이 계산하여, 임의의 미디어 재생 시간(MPTo)에 대해 그에 상응하는 PTS 값인 PTS1이 구해질 수 있다.
수학식 2
Figure PCTKR2011005307-appb-M000002
한편, 미디어 재생 시간이 클럭이 아닌 초(second) 단위로 표현되는 경우, 상기 수학식 2는 다음의 수학식 3과 같이 간략화될 수 있다.
수학식 3
Figure PCTKR2011005307-appb-M000003
본 발명의 실시예에 따르면, 송신 장치(100)는 도 8에 도시된 세그먼트에 포함된 재생 유닛들 중 첫번째 재생 유닛 또는 PTS 불연속이 발생한 후 첫번째 재생 유닛에 대한 미디어 재생 시간(MPT1, MPTm, MPTn)을 클라이언트 측(예를 들어 수신 장치)으로 전송하거나, 또는 상기한 바와 같은 매핑 방법에 따라 임의의 다른 재생 유닛들에 대한 미디어 재생 시간(MPTo)을 구하여 상기 동기화 정보로서 클라이언트 측에 전달할 수도 있다.
이하, 도 9 내지 도 12를 참조하여 클라이언트 측으로 전달되는 동기화 정보의 구성에 대해 보다 상세히 설명하기로 한다.
상기 동기화 정보는 다음과 같은 방식으로 구조화될 수 있다.
먼저, MPEG2 TS 미디어 파일의 프로그램에 포함된 복수의 프로그램 엘리먼트들 중 어느 하나가 레퍼런스로 선택되고, 상기 선택된 레퍼런스 프로그램 엘리먼트의 첫번째 재생 유닛에 대한 미디어 재생 시간이 클라이언트 측에 제공된다.
또한, 세그먼트에 포함된 PTS 불연속을 처리하기 위해, 상기 레퍼런스 프로그램 엘리먼트의 첫번째 재생 유닛으로부터 다음의 PTS 불연속 발생한 시점까지(PTS 불연속이 발생하지 않는 경우, 해당 세그먼트의 끝까지)의 기간(duration)이 클라이언트 측에 제공된다.
그리고, 2 이상의 PTS 불연속이 발생하는 경우, 어느 하나의 PTS 불연속으로부터 다음의 PTS 불연속까지(PTS 불연속이 발생하지 않는 경우, 해당 세그먼트의 끝까지)의 기간이 클라이언트 측에 제공된다.
또한, PTS 불연속이 발생한 직후의 레퍼런스 프로그램 엘리먼트의 재생 유닛의 PTS가 클라이언트 측에 제공될 수 있다.
상기한 바와 같이 구성되는 동기화 정보를 이용하여, 세그먼트에 포함된 모든 재생 유닛들에 대한 미디어 재생 시간이 복구될 수 있다.
그러나, 상기한 바와 같이 동기화된 재생을 위해 시그널링되는 정보에 부가하여, PTS 불연속 전후의 기간이 보다 작은 기간들로 더 분할될 수 있으며, 이러한 부가적인 시그널링은 랜덤 액세스 등을 위해 클라이언트 측에 의해 활용될 수 있다.
상기한 바와 같이, 프로그램 중 어느 하나의 프로그램 엘리먼트에 대한 재생 시간의 시그널링이 임의의 프로그램 엘리먼트를 미디어 재생 타임라인에 동기화하기 위해 필요하고 충분할 수 있으나, 상기 동기화 정보의 신텍스(syntax)는 복수의 프로그램 엘리먼트들에 대한 재생 타임의 시그널링도 가능하게 할 수 있다.
이는 클라이언트가 프로그램 엘리먼트들을 선택적으로 재생하고자 하는 경우에 유익할 수 있다.
예를 들어, MPEG2 TS의 프로그램이 서로 다른 언어의 두 오디오 트랙들(L1, L2)을 포함하는 경우, 클라이언트는 상기 오디오 트랙들 중 L1만을 재생하고자 할 수 있다.
이 때, 미디어 재생 시간에 대한 시그널링이 L2에 대해서만 제공되는 경우, 클라이언트는 재생 시간들을 복구하기 위해 L1으로부터 PTS 정보를 추출하여 한다. 그런, 미디어 재생 시간에 대한 시그널링이 L1 및 L2 모두에 대해 제공되면, 상기 클라이언트는 재생 시간들을 복구하기 위해 별도의 PTS 정보를 추출할 필요가 없을 수 있다.
한편, 전송되는 MPEG2 TS 미디어 파일을 세그먼트하기 위해, 상기 미디어 파일은 전송 프로토콜에서 요구하는 대로 레퍼런스 트랙의 기간에 따라 대략적으로 분할되며, 상기 세그먼트의 경계(boundary)는 MPEG2 TS 패킷들에 맞춰질 수 있다.
본 발명의 일실시예에 따르면, 상기한 바와 같은 동기화 정보는 바이너리 포맷(binary coded format) 또는 xml(eXtensible Markup Language) 파일로 표현될 수 있다.
도 9 및 도 10은 동기화 정보를 포함하는 세그먼트 인덱스 박스(Segment Index Box)의 구성에 대한 일실시예를 도시한 것으로, 상기 동기화 정보를 바이너리 포맷으로 표현한 일예이다.
본 발명의 제1 실시예에 따르면, 도 6 내지 도 8을 참조하여 설명한 바와 같은 동기화 정보는 일반적인 ISO Base Media 파일 포맷 데이터 타입들에 기반한 바이너리 포맷으로 표현될 수 있으며, 이는 3GPP AHS에서 이용되는 sidx 박스와 유사한 구조를 가질 수 있다.
도 9를 참조하면, 상기 동기화 정보는 MPEG2 세그먼트 인덱스 박스(m2si, MPEG-2 Segment Index Box)로 구성될 수 있으며, 상기 m2si 박스는 특정 세그먼트에 대해 하나 또는 그 이상 포함될 수 있다.
상기 m2si 박스는, MPEG2 TS의 하나 또는 그 이상의 프로그램 엘리먼트들에 대해, MPEG2 TS에 포함된 재생 유닛들에 대한 미디어 재생 시간을 제공할 수 있다.
한편, 세그먼트는 복수의 MPEG2 TS 패킷 그룹들(MTPGs)로 세분화되며, 상기 MPEG2 TS 패킷 그룹들(MTPGs)은 각각 인접한 MPEG2 TS 패킷들의 집합으로 구성될 수 있다.
하나의 프로그램 엘리먼트(예를 들어, 비디오 프로그램 엘리먼트)가 레퍼런스 프로그램 엘리먼트로 선택되면, 적어도 상기 레퍼런스 프로그램 엘리먼트의 첫번째 샘플(즉, 재생 유닛)에 대한 재생 시간이 첫번째 루프(loop)에서 제공될 수 있다.
또한, 두번째 루프는 첫번째 MPEG2 TS 패킷 그룹(MTPG)으로부터 시작하여 세그먼트에 포함된 각각의 MPEG2 TS 패킷 그룹(MTPG)에 대해 수행될 수 있다. 상기 두번째 루프에서는, 상기 세그먼트의 MPEG2 TS 패킷 그룹들(MTPGs) 각각에 대한 레퍼런스 프로그램 엘리먼트의 재생 기간(presentaion duration)들이, 상기 세그먼트에 있는 MPEG2 TS의 첫번째 바이트로부터 해당 MPEG2 TS 패킷 그룹(MTPG)까지의 바이트 오프셋과 함께 제공될 수 있다.
한편, 상기 MPEG2 TS 패킷 그룹(MTPG)의 재생 기간은 해당 그룹에 있는 레퍼런스 프로그램 엘리먼트의 모든 재생 유닛들의 재생 기간들의 합일 수 있다.
상기 두번째 루프에서는, MPEG2 TS 패킷 그룹(MTPG)의 레퍼런스 프로그램 엘리먼트에 랜덤 액세스 포인트(RAP)가 포함되어 있는 여부에 대한 정보가 제공될 수 있으며, 상기 랜덤 액세스 포인트(RAP)가 포함되어 있는 경우 해당 세그먼트 내부의 첫번째 샘플에 대한 재생 시간으로부터 그의 재생 시간 오프셋이 더 제공될 수 있다.
3GPP AHS의 sidx 박스와 달리, 상기한 m2si 박스는 세그먼트의 시작 부분에 위치할 수 있으며, 계층적인 구조를 허용하지 않음으로써 클라이언트 측에서 상기 m2si 박스의 제거를 용이하게 할 수 있다.
도 10에 도시된 m2si 박스의 신텍스 구조를 참조하면, flags는 플래그들을 가지는 24-비트의 정수로서, 이하의 값들로 정의될 수 있다.
timescale-present는 해당 박스에 미디어 재생 시간의 타임 스케일(time scale)이 존재하는지 여부를 나타내며, 플래그 값은 '0x000001'을 가질 수 있다.
pts-present는 기록된 모든 MPEG2 TS 패킷 그룹들(MTPGs)에 대해 레퍼런스 트랙의 첫번째 재생 유닛의 PTS가 임베디드되어 있는지 여부를 나타내며, 플래그 값은 '0x000002'를 가질 수 있다.
timescale은 미디어 재생 타임라인의 타임 스케일로서, 하나의 미디어 재생(media presentation) 내에서 한번 이상 제공되는 경우 그의 값은 전체 재생에 대해 동일할 수 있다.
reference_PID는 레퍼런스 프로그램 엘리먼트를 전송하는 MPEG2 TS 패킷들의 PID를 제공한다.
program_element_count는 다음의 루프에서 인덱스되는 프로그램 엘리먼트들의 수를 나타내며, 1 또는 그 보다 큰 값으로 지정될 수 있다.
reference_count는 두번째 루프에 의해 인덱스되는 엘리먼트들의 개수를 나타내며, 1 또는 그 보다 큰 값으을 가질 수 있다.
PID는 재생 시간(presentation_time)이 제공되는 프로그램 엘리먼트를 전송하는 MPEG2 TS 패킷들의 PID를 나타내며, 해당 루프에 있는 하나의 PID는 상기 reference_PID과 동일하다.
presentation_time은 상기 timescale로 표현되는 PID에 의해 식별되는 프로그램 엘리먼트 내의 첫번째 샘플에 대한 재생 시간을 나타낼 수 있다.
reference_offset은 MPEG2 TS 세그먼트의 첫번째 바이트로부터 해당 루프의 반복에 의해 참조되는 MPEG2 TS 패킷 그룹(MPTG)의 첫번째 바이트까지의 바이트 거리를 나타낼 수 있다.
MTPG_duration은 상기 참조되는 MPEG2 TS 패킷 그룹(MPTG)에 대한 레퍼런스 프로그램 엘리먼트의 재생 기간을 제공하며, 해당 트랙의 타임 스케일로 표현될 수 있다.
PTS는 해당 MPEG2 TS 패킷 그룹(MPTG)의 레퍼런스 프로그램 엘리먼트의 첫번째 재생 유닛의 MPEG2 TS PTS를 나타낼 수 있다.
contains_RAP은 상기 참조되는 MPEG2 TS 패킷 그룹(MPTG)에 있는 레퍼런스 프로그램 엘리먼트가 랜덤 액세스 포인트(RAP)를 포함함을 나타내기 위해 '1'로 설정될 수 있다.
discontinuity는 해당 MPEG2 TS 패킷 그룹(MPTG)이 PTS 불연속으로 시작됨을 나타기 위해 '1'로 설정될 수 있다.
RAP_delta_time은, 상기 contains_RAP이 '1'로 설정되는 경우, 상기 세그먼트에 있는 레퍼런스 프로그램 엘리먼트의 첫번째 샘플에 대한 재생 시간에 대응되도록 랜덤 액세스 포인트(RAP)의 재생 시간 오프셋을 제공할 수 있다. 한편, 상기 contains_RAP이 '0'인 경우, 상기 RAP_delta_time은 '0'의 값으로 유지될 수 있다.
도 11 및 도 12는 동기화 정보를 포함하는 xml(eXtensible Markup Language) 파일의 구성에 대한 일실시예를 도시한 것이다.
도 11을 참조하면, xml 파일이 MPEG2 TS의 하나 또는 그 이상의 프로그램 엘리먼트들의 재생 유닛들에 대한 미디어 재생 시간을 포함할 수 있으며, 세그먼트는 인접한 MPEG2 TS 패킷들의 그룹들(MTPGs)로 세분화될 수 있다.
하나의 프로그램 엘리먼트(예를 들어, 비디오 프로그램 엘리먼트)가 레퍼런스 프로그램 엘리먼트로 선택되면, 적어도 상기 레퍼런스 프로그램 엘리먼트의 첫번째 샘플(즉, 재생 유닛)에 대한 재생 시간이 첫번째 엘리먼트(element)에서 제공될 수 있다.
또한, 두번째 엘리먼트는 첫번째 MPEG2 TS 패킷 그룹(MTPG)으로부터 시작하여 세그먼트에 포함된 각각의 MPEG2 TS 패킷 그룹(MTPG)에 대한 것이다. 상기 두번째 엘리먼트는, 상기 세그먼트에 있는 MPEG2 TS의 첫번째 바이트로부터 해당 MTPG까지의 바이트 오프셋과 함께, 상기 세그먼트의 MTPGs 각각에 대한 레퍼런스 프로그램 엘리먼트의 재생 기간들을 제공할 수 있다.
한편, 상기 MPEG2 TS 패킷 그룹(MTPG)의 재생 기간은 해당 그룹에 있는 레퍼런스 프로그램 엘리먼트의 모든 재생 유닛들의 재생 기간들의 합일 수 있다.
상기 두번째 엘리먼트는, MPEG2 TS 패킷 그룹(MTPG)의 레퍼런스 프로그램 엘리먼트에 랜덤 액세스 포인트(RAP)가 포함되어 있는 여부에 대한 정보를 제공될 수 있으며, 상기 랜덤 액세스 포인트(RAP)가 포함되어 있는 경우 해당 세그먼트 내부의 첫번째 샘플에 대한 재생 시간으로부터 그의 재생 시간 오프셋을 더 제공할 수 있다.
도 11은 도 10에 도시된 바와 같은 구성을 가지는 동기화 정보의 스키마(schema)를 나타낸 것으로, 도시된 스키마에 대한 구체적인 설명은 도 9 내지 도 10을 참조하여 상기에서 설명한 것과 동일하므로 이하에서는 생략하기로 한다.
도 13은 본 발명의 일실시예에 따른 송신 장치로부터 전송되는 미디어 파일의 구조에 대한 일실시예를 도시한 것이다.
도 13을 참조하면, 도 9 및 도 10을 참조하여 설명한 바와 같은 m2si 박스는 세그먼트 단위로 분할된 MPEG2 TS 데이터의 앞에 붙여질 수 있다. 한편, 상기 MPEG2 TS 데이터는 엑세스 및 구분(demarcation)이 용이하기 위해 선택적으로 mdat 박스에 인켑슐레이션될 수도 있다.
도 13에 도시된 바와 같이, 상기 동기화 정보가 바이너리 포맷으로 첨부되는 경우, 상기 m2si 박스는 mdat 박스의 앞에 붙여질 수 있다.
한편, 상기 미디어 파일의 포맷은 세그먼트 타입 박스(styp, segment type box)로 시작될 수 있으며, 상기 styp 박스는, 박스 타입(boxtype)이 'styp'으로 설정되고, 'etsf'의 브랜드(brand)를 가지며, minor_version이 '1'로 설정되는 것을 제외하고는, ISO/IEC 14496-12 ISO Base Media 파일 포맷에서 정의된 파일 타입 박스(ftyp, file type box)와 동일한 신택스 구조를 가질 수 있다.
이하에서는 도 14 및 도 15를 참조하여 본 발명에 따른 미디어 파일 수신 방법 및 장치에 대한 실시예들에 대해 상세히 설명하기로 한다.
본 발명의 일실시예에 따른 수신 장치(300)는 미디어 파일을 동기화 정보와 함께 수신하고, 상기 수신되는 동기화 정보로부터 재생 유닛의 미디어 재생 시간을 추출한 후, 상기 추출된 미디어 재생 시간을 이용하여 미디어 파일을 재생할 수 있다.
수신 장치(300)가 수신하는 동기화 정보의 구성은 도 6 내지 도 13을 참조하여 설명한 바와 같을 수 있으므로, 그에 대한 구체적인 설명은 이하 생략하기로 한다.
도 14는 본 발명의 일실시예에 따른 미디어 파일 수신 장치의 구성을 블록도로 도시한 것으로, 도시된 수신 장치(300)는 네트워크 인터페이스부(310), 디코딩부(320) 및 동기화부(330)를 포함하여 구성될 수 있다.
도 14를 참조하면, 수신 장치(300)의 네트워크 인터페이스부(310), 예를 들어 HTTP 인터페이스는 미디어 파일을 상기 동기화 정보와 함께 수신하고, 디코딩부(320)는 상기 수신된 미디어 파일을 복호화하여 출력할 수 있다.
한편, 동기화부(330)는 상기 동기화 정보에 포함된 미디어 재생 시간을 이용해 상기 복호화된 미디어 파일을 미디어 재생 타임라인에 동기화시킬 수 있다.
예를 들어, 네트워크 인터페이스부(310)는 MPEG2 TS와 함께 도 6 내지 도 13을 참조하여 설명한 바와 같은 구성을 가지는 동기화 정보(Sync Info.)를 송신 장치(100)로부터 수신할 수 있다.
디코딩부(320)는 MPEG2 TS를 복호화하기 위한 제2 디코더(322)를 포함할 수 있으며, 상기 제2 디코더(322)는 일반적인 MPEG2 TS 디코더일 수 있다.
제2 디코더(322)는 네트워크 인터페이스부(310)로부터 MPEG2 TS를 입력받아 복호화한 후, 복호화된 재생 유닛들과 그들의 PTS들을 출력할 수 있다.
한편, 동기화부(330)는 상기 수신되는 동기화 정보를 통해 미디어 재생 시간이 제공된 재생 유닛을 식별할 수 있다. 그를 위해, 네트워크 인터페이스부(310)가 재생 시간이 제공된 재생 유닛들의 PTS를 복구하여 동기화부(330)로 전달하거나, 또는 상기 재생 시간과 함께 해당 재생 유닛의 PTS도 송신 장치(100)로부터 제공되어야 한다.
상기 PTS 복구를 위해, 엘리먼터리 스트림 시간 복구(elementary stream time recovery)가 이용될 수도 있다.
또한, 디코딩부(320)는 네트워크 인터페이스부(310)를 통해 수신되는 또 다른 미디어(other media)를 복호화하기 위한 제1 디코더(321)를 더 포함할 수 있으며, 상기 제1 디코더(321)는 3GPP 파일 포맷 등과 같은 다른 포맷의 미디어를 복호화하기 위한 디코더이거나 또는 제2 디코더(322)와 동일한 MPEG2 TS 디코더일 수도 있다.
동기화부(330)는 송신 장치(100)로부터 전달되는 부호화 정보(예를 들어, 재생 유닛들에 대한 미디어 재생 시간들)를 이용하여 제2 디코더(322)로부터 출력되는 MPEG2 TS 기반의 미디어를 제1 디코더(321)로부터 출력되는 다른 미디어와 동기화시킬 수 있다.
한편, 수신 장치(300)는 동기화부(330)에 의해 동기화된 상기 MPEG2 TS 기반 미디어와 상기 다른 미디어를 함께 재생할 수 있다.
본 발명의 또 다른 실시예에 따르면, 상기 복호화된 MPEG2 TS는 수신 장치(300)에 구비된 메모리(미도시)에 저장될 수 있으며, 상기한 바와 같은 m2si 박스에 포함되었거나 또는 xml 파일에 포함되어 수신된 동기화 정보도 클라이언트 측인 수신 장치(300)에 의해 저장될 수 있다.
상기 저장된 동기화 정보는 다른 미디어 컨포넌트들과의 동기 재생(synchronized presentation)을 위해 이후 사용될 수 있다.
또한, PTS 불연속들에 대한 바이트 오프셋들은 상기 동기화 정보를 포함하는 m2si 박스 또는 xml 파일 내의 속성들(attributes)로 저장될 수 있다.
이 경우, MPEG2 TS 데이터의 모든 세그먼트들이 함께 겹합되기 때문에, 상기 동기화 박스 또는 파일에서 제공되는 바이트 오프셋들은 상기 MPEG2 TS 파일의 시작에 대응되어야 한다.
도 16은 MPD(Media Presentation Description)를 이용하여 생성되는 세그먼트 리스트(segment list)에 대한 일실시예를 나타내는 도면이다.
HTTP 스트리밍을 수행하는 클라이언트는 MPD에 엑세스할 수 있으며, 특정 클라이언트-로컬 타임 "NOW"에서 MPD로부터 도 16에 도시된 바와 같은 세그먼트 리스트를 생성할 수 있다.
상기 "NOW"는 MPD로부터 MPD 인스턴스(intance)의 구성을 수행할 때 상기 레퍼런스 클라이언트에서 클럭의 현재 값을 나타낼 수 있다.
HTTP 스트리밍 서버와 동기화되지 않고 UTC에 동기화되어 있는 클라이언트는 유효성 때문에 세그먼트들에 접근하는 문제들을 경험할 수 있다. 한편, HTTP 스트리밍 클라이언트들은 그들의 클럭들을 전세계적으로 정확한 시간 표준에 동기화하여야 한다.
도 17은 MPEG2 TS 기반 미디어 파일을 3GPP 미디어 파일과 동기화하여 재생하는 방법에 대한 일실시예를 도시한 것이다.
도 17을 참조하면, 도 6 내지 도 12를 참조하여 설명한 바와 같은 동기화 정보(sync information)를 이용하여, MPEG2 TS 미디어 파일에 포함된 특정 재생 유닛(PUy)을 3GPP 미디어 파일의 대응되는 샘플과 동기화하여 재생할 수 있다.
도 17에 도시된 실시예에 있어서, MPD 정보(MPD Information), 3GPP 파일 포맷 정보(3GPP FF Information for segment) 및 동기화 정보를 포함하는 m2si 박스는 다음과 같이 주어질 수 있다.
- MPD Information:
availabilityStartTime = 2010-05-30T 09:30:10Z
SegmentInfo duration = PT2S (Segment boundary shown is for segment # 32)
- 3GPP FF Information for segment:
time_scale = 48000
track_ID 1 = (Video)
decode_time = 2974186
composition_offset = 1602
track_ID 2 = (Audio)
decode_time = 2976000
- m2si (corresponding)
PID = 101
presentation_time = 2977120
이 경우, 도 5 내지 도 8을 참조하여 설명한 바와 같은 매핑 방법에 따라, 재생되는 재생 유닛인 PUy를 랜더링하기 위한 UTC는 다음의 수학식 4와 같이 계산될 수 있다.
수학식 4
Figure PCTKR2011005307-appb-M000004
상기 수학식 4에서, PTS1에 상기 PUy의 PTS인 "43249500"을 대입하고, PTSk에 미디어 재생 시간 "29977120"이 제공된 재생 유닛의 PTS인 "43245300"을 대입하며,presentation time에 상기 제공된 미디어 재생 시간 "29977120"을 대입하고, time_scale_ext에 PTS의 클럭인 "90000"을 대입하며, time_scale에 상기 3GPP 파일 포맷 정보에서 주어진 "48000"을 대입하고, availabilityStartTime에 상기 MDP 정보에서 주어진 "2010-05-30T 09:30:10Z"을 대입하면, 상기 PUy를 랜더링하기 위한 UTC인 "2010-05-30T 09:31:02.07Z"를 구할 수 있다.
도 18 및 도 19는 본 발명의 일실시예에 따른 미디어 파일을 MPEG DASH(Dynamic Adaptive Streaming over HTTP)의 MPD를 이용하여 구현하는 방법에 대한 실시예들을 도시한 것이다.
도 18에 도시된 바와 같이, MPEG-DASH에서는, 도 6 내지 도 17을 참조하여 설명한 바와 같은 동기화 정보인 인덱스 세그먼트(index segment)가 분리되어 하나로 존재할 수 있다.
한편, 도 19에 도시된 바와 같은 개선된 구조를 이용하여, 도 13을 참조하여 설명한 바와 같은 미디어 파일의 구조가 동일한 신텍스로 구현될 수 있으며, 상기 인덱스 데이터는 MPEG2 TS 미디어에 이어져 저장됨으로써 저장되는 파일들의 개수의 크게 감소될 수 있다.
또한, 클라이언트는 파일 중 얼마 만큼의 바이트 범위가 상기 인덱스 데이터이고 얼마 만큼의 테일링(tailing) 범위가 미디어 데이터인지를 확인할 수 있다.
이 경우, 클라이언트는, 인접한 바이트 범위들을 제외하고는, 미디어 세그먼트에 대한 URL이 그에 대응되는 인덱스 세그먼트의 URL과 일치함을 인식할 수 있으며, 그에 따라 하나의 요청에 결합하여 클라이언트 측에서 세그먼트를 분할할 수 있다.
일반적인 클라이언트는 이러한 최적화를 사용하지 않을 수도 있으며, 두번의 ttp 요청을 통해 동일한 효과를 거둘 수도 있다.
한편, 상기 인덱스 데이터를 사용할 수 없는 또 다른 클라이언트는 그를 무시하고 단지 미디어 데이터를 패치할 수도 있다.
도 1 내지 도 19를 참조하여 설명한 바와 같은 MPEG2 TS 기반 미디어 파일의 수신 및 처리 방법은 본 발명의 실시예에 따른 IPTV 수신기에 의해 수행될 수 있다.
그를 위해, 상기 IPTV 수신기는 송신 측(예를 들어, 미디어 서버)로부터 전송되는 미디어 파일을 수신할 수 있으며, 상기 미디어 파일의 포맷은 도 6 내지 도 19를 참조하여 설명한 바와 같은 구성을 가질 수 있다.
또한, 상기 IPTV 수신기는 상기 송신 측으로부터 수신되는 상기 동기화 정보를 이용하여 MPEG2 TS을 다른 미디어와 동기화하여 재생할 수 있다.
한편, 상기 IPTV 수신기는, 도 14 및 도 15를 참조하여 설명한 바와 같은 미디어 파일 수신 방법을 수행할 수 있다.
이하, 도 20 및 도 21을 참조하여 본 발명의 실시예에 따른 IPTV 수신기의 구성에 대해 보다 상세히 설명하기로 한다.
도 20은 본 발명의 일실시예에 의한 IPTV 수신기 구성을 블록도로 도시한 것이다.
본 발명의 일실시예에 따른 IPTV 수신기는, 지상파 방송, 케이블 방송, 위성 방송 등을 수신할 수 있도록 별도의 튜너 등을 구비할 수도 있다. 그러나, 본 발명에서는 설명의 편의를 위해 IP 네트워크를 이용하여 제공되는 IPTV 서비스를 수신하는 구성을 중심으로 설명하기로 한다.
한편, ITF는 Open IPTV Terminal Function을 나타내는 것으로, IPTV 서비스를 지원하는데 필요한 기능 모듈로 구성된 수신기를 의미할 수 있다.
IPTV 수신기는 네트워크 인터페이스부(Network Interface)(501), TCP/IP 매니저(TCP/IP Manager)(502), 서비스 전달 매니저(Service Delivery Manager)(504), PVR 매니저(PVR Manager)(505), 디멀티플렉서(Demux)(508), 데이터 디코더(Data Decoder)(507), 오디오/비디오 디코더(Audio/Video Decoder)(512), 디스플레이부(A/V Display & OSD Module)(515), 애플리케이션 매니저(Application Manager)(513, 514), 서비스 정보 데이터베이스부(SI & Metadata DB)(511), 서비스 디스커버리 매니저(Service Discovery Manager)(509), 서비스 제어 매니저(Service Control Manager)(503), 메타데이터 매니저(Metadata Manager)(510) 및 컨텐츠 데이터베이스부(Content DB)(506)를 포함할 수 있다.
도 20을 참조하면, 네트워크 인터페이스부(501)는 네트워크 망으로부터 수신되는 패킷(packet)들을 수신하고, 네트워크 망으로 패킷을 전송한다. 즉 네트워크 인터페이스부(501)는 네트워크 망을 통해 서비스 프로바이더로부터 서비스, 미디어 컨텐츠 등을 수신한다.
TCP/IP 매니저(502)는, IPTV 수신기로 수신되는 패킷과 IPTV 수신기에서 전송하는 패킷에 대하여, 소스로부터 목적지까지의 패킷 전달에 관여한다. 또한, TCP/IP 매니저(502)는 수신된 패킷을 적절한 프로토콜에 대응되도록 분류하고, 서비스 전달 매니저(504), 서비스 디스커버리 매니저(509), 서비스 제어 매니저(503) 및 메타데이터 매니저(510)로 분류된 패킷을 출력한다.
서비스 전달 매니저(504)는 수신되는 서비스 데이터의 제어를 담당한다. 예를 들어, 실시간 스트리밍(realtime streaming) 데이터를 제어하는 경우 RTP/RTCP를 사용할 수 있다.
상기 실시간 스트리밍 데이터를 RTP를 사용하여 전송하는 경우, 서비스 전달 매니저(504)는 상기 수신된 데이터 패킷을 RTP에 따라 파싱(parsing)하여 디멀티플렉서(508)에 전송하거나 서비스 매니저(514)의 제어에 따라 컨텐츠 데이터베이스부(506)에 저장한다. 또한, 서비스 전달 매니저(504)는 RTCP를 이용하여 상기 네트워크 수신 정보를 서비스를 제공하는 서버측에 피드백(feedback)한다.
디멀티플렉서(508)는 수신된 패킷을 오디오, 비디오, PSI(Program Specific Information) 데이터 등으로 역다중화하여 각각 오디오/비디오 디코더(512), 데이터 디코더(507)에 전송한다.
데이터 디코더(507)는 예를 들어, PSI(Program Specific Information) 등의 서비스 정보를 디코딩한다. 즉, 데이터 디코더(507)는 상기 디멀티플렉서(508)에서 역다중화된 PSI 섹션, PSIP(Program and Service Information Protocol) 섹션 또는 DVB-SI(Service Information) 섹션 등을 수신하여 디코딩한다.
또한, 데이터 디코더(507)는 상기 수신된 섹션들을 디코딩하여 서비스 정보에 관한 데이터베이스를 만들고, 상기 서비스 정보에 관한 데이터베이스는 서비스 정보 데이터베이스부(511)에 저장한다.
오디오/비디오 디코더(512)는 상기 디멀티플렉서(508)에서 수신된 비디오 데이터와 오디오 데이터를 디코딩한다. 상기 오디오/비디오 디코더(512)에서 디코딩된 오디오 데이터 및 비디오 데이터는 디스플레이부(515)를 통하여 사용자에게 제공된다.
애플리케이션 매니저는 IPTV 수신기의 전반적인 상태를 관리하고 유저 인터페이스를 제공하며, 다른 매니저를 관리한다. 이를 위해 애플리케이션 매니저는 유저 인터페이스 매니저(User Interface Manager)(513) 및 서비스 매니저(514)를 포함한다.
유저 인터페이스 매니저(513)는 사용자를 위한 GUI(Graphic User Interface)를 OSD(On Screen Display) 등을 이용하여 제공하며, 사용자로부터 키 입력을 받아 상기 입력에 따른 수신기 동작을 수행한다. 예를 들어, 사용자로부터 채널선택에 관한 키 입력을 받으면 상기 키 입력신호를 서비스 매니저(514)에 전송한다.
서비스 매니저(514)는 서비스 전달 매니저(504), 서비스 디스커버리 매니저(509), 서비스 제어 매니저(503) 및 메타데이터 매니저(510) 등 서비스와 연관된 매니저를 제어한다.
또한, 서비스 매니저(514)는 채널 맵(Channel Map)을 만들고 상기 유저 인터페이스 매니저(513)로부터 수신한 키 입력에 따라 상기 채널 맵을 이용하여 채널을 선택하다. 그리고 상기 서비스 매니저(514)는 데이터 디코더(507)로부터 채널의 서비스 정보를 전송받아 선택된 채널의 오디오/비디오 PID(Packet Identifier)를 디멀티플렉서(508)에 설정한다.
서비스 디스커버리 매니저(509)는 서비스를 제공하는 서비스 프로바이더를 선택하는데 필요한 정보를 제공한다. 상기 서비스 매니저(514)로부터 채널선택에 관한 신호를 수신하면, 서비스 디스커버리 매니저(509)는 상기 정보를 이용하여 서비스를 찾는다.
서비스 제어 매니저(503)는 서비스의 선택과 제어를 담당한다. 예를 들어, 서비스 제어 매니저(503)는 사용자가 기존의 방송방식과 같은 Live Broadcasting 서비스를 선택하는 경우 IGMP 또는 RTSP 등을 사용하고, VOD(Video On Demand)와 같은 서비스를 선택하는 경우에는 RTSP를 사용하여 서비스의 선택, 제어를 수행할 수 있다.
상기 RTSP 프로토콜은 실시간 스트리밍에 대해 트릭 모드(trick mode)를 제공할 수 있다. 또한, 서비스 제어 매니저(503)는 IMS(IP Multimedia Subsystem), SIP(Session Initiation Protocol)를 이용하여 IMC 게이트웨이를 통하 세션을 초기화하고 관리할 수 있다. 상기 프로토콜들은 일 실시예이며, 구현 예에 따라 다른 프로토콜을 사용할 수도 있다.
메타데이터 매니저(510)는 서비스와 연관된 메타데이터를 관리하고 상기 메타데이터를 서비스 정보 데이터베이스부(511)에 저장한다.
서비스 정보 데이터베이스부(511)는 데이터 디코더(507)가 디코딩한 서비스 정보, 메타데이터 매니저(510)가 관리하는 메타데이터 및 서비스 디스커버리 매니저(509)가 제공하는 서비스 프로바이더를 선택하는데 필요한 정보를 저장한다. 또한, 서비스 정보 데이터베이스부(511)는 시스템에 대한 셋업 데이터 등을 저장할 수 있다.
서비스 정보 데이터베이스부(511) 및 컨텐츠 데이터베이스부(506)는 각각 비휘발성 메모리(NonVolatile RAM : NVRAM) 또는 플래쉬 메모리 등을 사용하여 구현될 수 있으며, 동일한 저장영역 상에 논리적으로 분리된 두 개의 영역으로 구현될 수 있다.
PVR 매니저(505)는 라이브 스트리밍 컨텐츠를 레코딩 하고 재생하기 위한 모듈로서, 녹화된 컨텐츠에 관한 메타데이터를 수집하고, thumbnail image나 index와 같은 사용자에게 제공되는 부가 정보를 생성할 수 있다.
본 발명의 실시예에 따른 IPTV 수신기의 제어부의 기능은 도 20에 도시된 TCP/IP 매니저(502), 서비스 전달 매니저(504), PVR 매니저(505), 애플리케이션 매니저(513, 514), 서비스 디스커버리 매니저(509), 서비스 제어 매니저(503) 및 메타데이터 매니저(510)와 같이 복수의 모듈들로 분할되어 구현될 수 있다.
예를 들어, TCP/IP 매니저(502)는 상기한 바와 같은 타켓 패키지 정보를 이용해 SD&S 정보를 필터링하여, 네트워크 인터페이스부(501)가 특정 패키지(예를 들어, IPTV 수신기가 가입된 패키지)에 해당하는 페이로드 또는 세그먼트만을 서버로 요청하여 수신하도록 제어할 수 있다.
또는, TCP/IP 매니저(502)는 멀티캐스트 방식으로 수신되는 SD&S 정보를 상기 타켓 패키지 정보를 이용해 필터링하여, 특정 패키지에 해당하는 페이로드 또는 세그먼트만이 데이터 디코더(507)에 의해 파싱되어 처리되도록 할 수 있다.
도 21은 본 발명에 따른 IPTV 수신기의 구성에 대한 또 다른 실시예를 블록도로 도시한 것으로, IPTV 수신기의 구성을 기능적인 블록들로 나타낸 것이다. 도 21에 도시된 실선 화살표는 data path에 대응하며, 점선 화살표는 control signal path에 대응한다.
Cable modem, DSL modem, etc(601)는 physical level에서 ITF가 IP Network와 연결될 수 있도록하는 Interface로서, physical medium을 통해 전송된 신호를 Demodulate하여 Digital 신호를 복원한다.
Ethernet NIC(602)는 상기 physical interface를 통해 수신한 신호를 IP 데이터로 복원하며, IP Network Stack(607)은 IP Protocol stack에 따라 각 layer를 처리한다.
한편, XML Parser(609)는 수신되는 IP 데이터 중 XML Document를 파싱하며, File Handler(608)는 수신되는 IP 데이터 중 FLUTE 등을 통해 File 형태로 전송되는 데이터를 처리한다.
SI Handler(611)은 수신되는 File 형태의 데이터 중 IPTV 서비스 정보에 해당하는 부분을 처리하여 Storage(612)에 저장하며, EPG Handler(610)는 수신되는 File 형태의 데이터 중 IPTV EPG 정보에 해당하는 부분을 처리하여 Storage(612)에 저장할 수 있다.
Storage(612)는 상기 SI 및 EPG 등의 다양한 데이터를 저장한다.
SI Decoder(613)는 Storage(612)로부터 SI 데이터를 입력받아 분석하여 채널 맵 정보를 획득하고, EPG Decoder(614)는 Storage(612)에 저장된 EPG 데이터를 분석하여 EPG 구성을 위한 필요한 정보를 복원한다.
ITF Operation Controller(615)는 Channel 변경 또는 EPG Display 등의 ITF의 동작을 제어하는 main controller이다.
Channel Service Manager(616)는 사용자 입력에 따라 Channel 변경 등의 동작을 수행하며, Application Manager(617)는 사용자 입력에 따라 EPG Display 등의 Application 서비스를 수행할 수 있다.
MPEG-2 Demultiplexer(603)는 수신되는 IP 데이터그램(Datagram)으로부터 MPEG-2 Transport Stream 데이터를 추출하여 패킷 식별 정보(PID)에 따라 해당 모듈로 전달할 수 있다.
또한, MPEG-2 PSI/PSIP Parser(604)는 상기 MPEG-2 Transport Stream으로부터 A/V 데이터의 패킷 식별 정보(PID) 또는 program element에 대한 접속 정보를 포함하는 PSI/PSIP 데이터를 추출하여 파싱할 수 있다.
한편, A/V Decoder(605)는 입력되는 Audio 및 Video 데이터를 디코딩하여 Display 모듈(606)로 전달하며, Display 모듈(606)은 디코딩된 A/V 데이터 또는 application을 출력할 수 있다.
상기에서는 송신 장치(100)와 수신 장치(300) 사이에 송수신되는 미디어 파일이 MPEG-2 TS 데이터를 포함하는 경우를 예로 들어 본 발명의 실시예에 따른 미디어 송수신 방법 및 장치에 대해 설명하였으나, 본 발명은 이에 한정되지 아니하며, 상기 MPEG-2 TS 이외에 다양한 전송 스트림 포맷들에 적용될 수 있다.
상술한 본 발명에 따른 미디어 송수신 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (27)

  1. MPEG2 TS(Transport Stream) 기반 미디어 파일을 송신하는 방법에 있어서,
    상기 미디어 파일에 포함된 프로그램을 구성하는 적어도 하나의 프로그램 엘리먼트에 대해, 재생 유닛(PU, Presentation Unit)의 PTS를 다른 미디어와의 동기화를 위한 미디어 재생 시간(MPT, Media Presentation Time)에 매핑하는 단계; 및
    상기 매핑된 미디어 재생 시간을 포함하는 동기화 정보를 상기 미디어 파일과 함께 전송하는 단계를 포함하고,
    상기 미디어 재생 시간은 상기 전송되는 미디어 파일의 세그먼트 중 첫번째 재생 유닛에 대하여 제공되는 미디어 파일 송신 방법.
  2. 제1항에 있어서, 상기 매핑 단계는
    상기 세그먼트에 포함된 제1 재생 유닛 및 제2 재생 유닛에 각각 대응되는 제1 PTS 및 제2 PTS를 획득하는 단계; 및
    상기 획득된 제1, 2 PTS 사이의 차를 이용하여 상기 제1 재생 유닛에 대한 미디어 재생 시간을 구하는 단계를 포함하는 미디어 파일 송신 방법.
  3. 제2항에 있어서,
    상기 매핑 단계는 아래의 수학식을 이용하여 수행되며,
    Figure PCTKR2011005307-appb-I000001
    상기 수학식에서 상기 MPTO는 상기 제1 재생 유닛에 대한 미디어 재생 시간이며, 상기 PTS1은 상기 제1 PTS이고, 상기 PTSk는 상기 제2 PTS이며, 상기 timescalePTS은 상기 PTS의 클럭(clock)을 나타내고, 상기 timescale은 상기 미디어 재생 시간의 클럭을 나타내며, 상기 MPTn은 상기 제2 재생 유닛에 대한 미디어 재생 시간을 나타내는 미디어 파일 송신 방법.
  4. 제2항에 있어서, 상기 제1, 2 재생 유닛은
    상기 프로그램에 속하는 서로 다른 프로그램 엘리먼트들에 각각 포함되는 미디어 파일 송신 방법.
  5. 제1항에 있어서, 상기 미디어 재생 시간은
    상기 세그먼트 중 PTS의 불연속이 발생한 후 첫번째 재생 유닛에 대하여 더 제공되는 미디어 파일 송신 방법.
  6. 제1항에 있어서, 상기 동기화 정보는
    상기 세그먼트의 첫번째 재생 유닛으로부터 PTS의 불연속이 발생한 시점까지의 기간(duration)을 더 포함하는 미디어 파일 송신 방법.
  7. 제1항에 있어서, 상기 동기화 정보는
    상기 세그먼트에서 2 이상의 PTS 불연속이 발생하는 경우, 연속하는 두 PTS 불연속 시점들 사이의 기간을 더 포함하는 미디어 파일 송신 방법.
  8. 제1항에 있어서, 상기 동기화 정보는
    상기 세그먼트 중 PTS의 불연속이 발생한 후 첫번째 재생 유닛의 PTS를 더 포함하는 미디어 파일 송신 방법.
  9. 제1항에 있어서,
    상기 프로그램에 속하는 프로그램 엘리먼트들 중 상기 매핑 단계를 수행할 하나의 프로그램 엘리먼트를 선택하는 단계를 더 포함하는 미디어 파일 송신 방법.
  10. 제1항에 있어서, 상기 전송 단계는
    상기 동기화 정보를 포함하는 세그먼트 인덱스 박스(Segment Index Box)를 MPEG2 TS 데이터 이전에 위치시켜 전송하는 미디어 파일 송신 방법.
  11. 제10항에 있어서, 상기 전송되는 미디어 파일은
    상기 MPEG2 TS 데이터 이전에 위치하는 세그먼트 타입 박스(styp) 및 엠뎃 박스(mdat)를 더 포함하고,
    상기 세그먼트 인덱스 박스는 상기 세그먼트 타입 박스(styp)와 엠뎃 박스(mdat) 사이에 위치되는 미디어 파일 송신 방법.
  12. 제1항에 있어서, 상기 전송 단계는
    상기 동기화 정보를 포함하는 xml(eXtensible Markup Language) 파일을 전송하는 단계를 포함하는 미디어 파일 송신 방법.
  13. MPEG2 TS 기반 미디어 파일을 수신하는 방법에 있어서,
    미디어 파일을 동기화 정보와 함께 수신하는 단계;
    상기 미디어 파일에 포함된 프로그램을 구성하는 적어도 하나의 프로그램 엘리먼트에 대해, 재생 유닛의 미디어 재생 시간을 상기 동기화 정보로부터 추출하는 단계; 및
    상기 추출된 미디어 재생 시간을 이용하여 상기 미디어 파일을 재생하는 단계를 포함하고,
    상기 미디어 재생 시간은 상기 수신되는 미디어 파일의 세그먼트 중 첫번째 재생 유닛의 PTS가 매핑되어 제공되는 미디어 파일 수신 방법.
  14. 제13항에 있어서, 상기 미디어 재생 시간은
    아래의 수학식을 이용하여 매핑되며,
    Figure PCTKR2011005307-appb-I000002
    상기 수학식에서 상기 MPTO는 제1 재생 유닛에 대한 미디어 재생 시간이며, 상기 PTS1은 상기 제1 재생 유닛의 PTS이고, 상기 MPTn은 제2 재생 유닛에 대한 미디어 재생 시간이며, 상기 PTSk는 상기 제2 재생 유닛의 PTS이고, 상기 timescalePTS은 상기 PTS의 클럭(clock)을 나타내며, 상기 timescale은 상기 미디어 재생 시간의 클럭을 나타내는 미디어 파일 수신 방법.
  15. 제14항에 있어서, 상기 제1 재생 유닛은
    재생하고자 하는 임의의 재생 유닛인 미디어 파일 수신 방법.
  16. 제13항에 있어서, 상기 동기화 정보는
    상기 세그먼트 중 PTS의 불연속이 발생한 시점에 대한 미디어 재생 시간을 더 포함하는 미디어 파일 수신 방법.
  17. 제13항에 있어서, 상기 수신되는 미디어 파일은
    MPEG2 TS 데이터 이전에, 세그먼트 타입 박스, 상기 동기화 정보를 포함하는 세그먼트 인덱스 박스 및 엠뎃 박스를 순차적으로 포함하는 미디어 파일 수신 방법.
  18. 제13항에 있어서, 상기 수신 단계는
    상기 동기화 정보를 포함하는 xml 파일을 수신하는 단계를 포함하는 미디어 파일 수신 방법.
  19. 제13항에 있어서, 상기 재생 단계는
    상기 미디어 재생 시간을 이용하여 상기 미디어 파일을 다른 미디어와 동기화시키는 단계를 포함하는 미디어 파일 수신 방법.
  20. MPEG2 TS 기반 미디어 파일을 송신하는 장치에 있어서,
    상기 미디어 파일에 포함된 프로그램을 구성하는 프로그램 엘리먼트에 대해, 각각의 세그먼트에 포함된 재생 유닛들 중 첫번째 재생 유닛 또는 PTS 불연속이 발생한 후 첫번째 재생 유닛의 PTS를 다른 미디어와의 동기화를 위한 미디어 재생 시간에 매핑하는 제어부; 및
    상기 매핑된 미디어 재생 시간을 포함하는 동기화 정보를 상기 미디어 파일과 함께 전송하는 네트워크 인터페이스부를 포함하는 미디어 파일 송신 장치.
  21. 제20항에 있어서, 상기 제어부는
    아래의 수학식을 상기 재생 유닛의 PTS를 상기 미디어 재생 시간에 매핑하며,
    Figure PCTKR2011005307-appb-I000003
    상기 수학식에서 상기 MPTO는 제1 재생 유닛에 대한 미디어 재생 시간이며, 상기 PTS1은 상기 제1 재생 유닛의 PTS이고, 상기 MPTn은 제2 재생 유닛에 대한 미디어 재생 시간이며, 상기 PTSk는 상기 제2 재생 유닛의 PTS이고, 상기 timescalePTS은 상기 PTS의 클럭(clock)을 나타내며, 상기 timescale은 상기 미디어 재생 시간의 클럭을 나타내는 미디어 파일 송신 장치.
  22. 제20항에 있어서, 상기 네트워크 인터페이스부는
    상기 동기화 정보를 포함하는 세그먼트 인덱스 박스를 MPEG2 TS 데이터 이전에 위치시켜 전송하는 미디어 파일 송신 장치.
  23. 제20항에 있어서, 상기 네트워크 인터페이스부는
    상기 동기화 정보를 포함하는 xml 파일을 전송하는 미디어 파일 송신 장치.
  24. MPEG2 TS 기반 미디어 파일을 수신하는 장치에 있어서,
    미디어 파일을 동기화 정보와 함께 수신하는 네트워크 인터페이스부;
    상기 수신된 미디어 파일을 복호화하는 디코딩부; 및
    상기 동기화 정보에 포함된 미디어 재생 시간을 이용해 상기 복호화된 미디어 파일을 다른 미디어와 동기화시키는 동기화부를 포함하고,
    상기 미디어 재생 시간은 상기 수신되는 미디어 파일의 세그먼트 중 첫번째 재생 유닛 또는 PTS 불연속이 발생한 후 첫번째 재생 유닛의 PTS가 매핑되어 제공되는 미디어 파일 수신 장치.
  25. 제24항에 있어서, 상기 미디어 재생 시간은
    아래의 수학식을 이용하여 매핑되며,
    Figure PCTKR2011005307-appb-I000004
    상기 수학식에서 상기 MPTO는 제1 재생 유닛에 대한 미디어 재생 시간이며, 상기 PTS1은 상기 제1 재생 유닛의 PTS이고, 상기 MPTn은 제2 재생 유닛에 대한 미디어 재생 시간이며, 상기 PTSk는 상기 제2 재생 유닛의 PTS이고, 상기 timescalePTS은 상기 PTS의 클럭(clock)을 나타내며, 상기 timescale은 상기 미디어 재생 시간의 클럭을 나타내는 미디어 파일 수신 장치.
  26. 제24항에 있어서, 상기 네트워크 인터페이스부는
    상기 미디어 재생 시간이 제공되는 재생 유닛의 PTS를 복구하는 미디어 파일 수신 장치.
  27. 제24항에 있어서, 상기 동기화부는
    상기 미디어 재생 시간이 제공되는 재생 유닛을 식별하는 미디어 파일 수신 장치.
PCT/KR2011/005307 2010-07-19 2011-07-19 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치 WO2012011724A2 (ko)

Priority Applications (12)

Application Number Priority Date Filing Date Title
KR1020167022031A KR101689616B1 (ko) 2010-07-19 2011-07-19 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치
US13/811,198 US9131274B2 (en) 2010-07-19 2011-07-19 Method for transceiving media files and device for transmitting/receiving using same
KR1020147020005A KR101651137B1 (ko) 2010-07-19 2011-07-19 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치
KR1020147000387A KR20140008478A (ko) 2010-07-19 2011-07-19 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치
CN201180044822.4A CN103109540B (zh) 2010-07-19 2011-07-19 收发媒体文件的方法以及使用该方法发送/接收的装置
KR1020177009516A KR101759959B1 (ko) 2010-07-19 2011-07-19 미디어 컴포넌트 송수신 방법 및 그를 이용한 송수신 장치
EP11809851.6A EP2597870B1 (en) 2010-07-19 2011-07-19 Method for transmitting media files
KR1020137001532A KR101476934B1 (ko) 2010-07-19 2011-07-19 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치
KR1020167035531A KR101727050B1 (ko) 2010-07-19 2011-07-19 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치
US14/811,321 US9699521B2 (en) 2010-07-19 2015-07-28 Method for transceiving media files and device for transmitting/receiving using same
US14/943,346 US9699522B2 (en) 2010-07-19 2015-11-17 Method for transceiving media files and device for transmitting/receiving using same
US15/613,723 US10129609B2 (en) 2010-07-19 2017-06-05 Method for transceiving media files and device for transmitting/receiving using same

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US36574610P 2010-07-19 2010-07-19
US61/365,746 2010-07-19
US201161453948P 2011-03-17 2011-03-17
US61/453,948 2011-03-17

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US13/811,198 A-371-Of-International US9131274B2 (en) 2010-07-19 2011-07-19 Method for transceiving media files and device for transmitting/receiving using same
US14/811,321 Continuation US9699521B2 (en) 2010-07-19 2015-07-28 Method for transceiving media files and device for transmitting/receiving using same

Publications (2)

Publication Number Publication Date
WO2012011724A2 true WO2012011724A2 (ko) 2012-01-26
WO2012011724A3 WO2012011724A3 (ko) 2012-05-03

Family

ID=45497289

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2011/005307 WO2012011724A2 (ko) 2010-07-19 2011-07-19 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치

Country Status (5)

Country Link
US (4) US9131274B2 (ko)
EP (1) EP2597870B1 (ko)
KR (6) KR101476934B1 (ko)
CN (2) CN105611320B (ko)
WO (1) WO2012011724A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014171718A1 (ko) * 2013-04-16 2014-10-23 엘지전자 주식회사 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
WO2015156607A1 (ko) * 2014-04-09 2015-10-15 엘지전자 주식회사 방송 신호 송/수신 처리 방법 및 장치

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101476934B1 (ko) * 2010-07-19 2014-12-30 엘지전자 주식회사 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치
CN103141115B (zh) * 2010-10-05 2016-07-06 瑞典爱立信有限公司 用于媒体流传送的客户端、内容创建器实体及其方法
TW201246873A (en) * 2011-02-11 2012-11-16 Interdigital Patent Holdings Method and apparatus for updating metadata cross reference to related applications
WO2012125006A2 (ko) * 2011-03-16 2012-09-20 한국전자통신연구원 레프리젠테이션을 사용하는 스트리밍 콘텐츠 제공 장치 및 방법
RU2618373C2 (ru) * 2011-07-29 2017-05-03 Сони Корпорейшн Устройство и способ распределения потоковой передачи данных, устройство и способ приема потоковой передачи данных, система потоковой передачи данных, программа и носитель записи
US9590814B2 (en) * 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
US9286384B2 (en) 2011-09-21 2016-03-15 Sonos, Inc. Methods and systems to share media
WO2013089437A1 (ko) * 2011-12-12 2013-06-20 엘지전자 주식회사 미디어 컨텐트를 수신하는 장치 및 방법
US9425948B2 (en) * 2012-01-26 2016-08-23 Qualcomm Incorporated Techniques for synchronizing a clock of a wired connection when transmitted over a wireless channel
US9398351B2 (en) * 2013-06-24 2016-07-19 Samsung Electronics Co., Ltd. Method and apparatus for converting content in multimedia system
JP2015015706A (ja) * 2013-07-03 2015-01-22 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America データ送信方法、データ再生方法、データ送信装置およびデータ再生装置
JP6498882B2 (ja) * 2013-07-22 2019-04-10 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 蓄積方法、再生方法、蓄積装置、および再生装置
JP6510205B2 (ja) * 2013-10-11 2019-05-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置および受信装置
US9838729B2 (en) * 2013-11-06 2017-12-05 Avago Technologies General Ip (Singapore) Pte. Ltd. Recovering channel bonded program streams
US20150201253A1 (en) * 2014-01-10 2015-07-16 Samsung Electronics Co., Ltd. Methods and apparatus for universal presentation timeline alignment
JP6309639B2 (ja) 2014-01-13 2018-04-11 エルジー エレクトロニクス インコーポレイティド 1つ以上のネットワークを介して放送コンテンツを送信又は受信するための方法及び装置
CA2937293C (en) * 2014-01-31 2021-05-18 Sony Corporation Transmission device, transmitting method, reception device, and receiving method
CN104079957B (zh) * 2014-06-25 2017-09-01 广东欧珀移动通信有限公司 一种多媒体设备同步操作的方法及系统
US10645432B2 (en) 2015-01-07 2020-05-05 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving media information in communication system
US10085051B2 (en) * 2015-02-13 2018-09-25 Samsung Electronics Co., Ltd. Method and apparatus for converting MMTP stream to MPEG-2TS
CN106034262B (zh) * 2015-03-13 2021-01-22 中兴通讯股份有限公司 自适应流媒体处理方法及装置
CN107925784B (zh) * 2015-08-06 2021-07-09 麦克赛尔株式会社 广播接收装置、输出影像信息生成方法、广播接收方法和录像方法
CN106470291A (zh) * 2015-08-19 2017-03-01 飞思卡尔半导体公司 从音频/视频解码器中的时间同步中的中断中恢复
EP3968645A1 (en) * 2015-12-11 2022-03-16 InterDigital Madison Patent Holdings, SAS Scheduling multiple-layer video segments
US10098082B2 (en) * 2015-12-16 2018-10-09 Sonos, Inc. Synchronization of content between networked devices
TWI559753B (zh) * 2016-03-16 2016-11-21 晶睿通訊股份有限公司 傳輸隨選影音檔案的方法
CN105872484B (zh) * 2016-06-04 2017-07-21 武汉诚迈科技有限公司 一种监控录像异常的保护方法
US9967689B1 (en) 2016-09-29 2018-05-08 Sonos, Inc. Conditional content enhancement
KR102090070B1 (ko) * 2018-10-31 2020-03-17 카테노이드 주식회사 스트리밍 서버, 클라이언트 단말 및 이를 이용한 av 라이브 스트리밍 시스템

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100482287B1 (ko) * 2002-10-26 2005-04-14 한국전자통신연구원 디지털 데이터 방송을 위한 동기화 스트림 데이터 삽입장치 및 그 방법
DE10355345A1 (de) * 2003-11-25 2005-06-23 Deutsche Thomson-Brandt Gmbh Verfahren und Vorrichtung zum Speichern oder Wiederfinden von definierten Positionen in einem Datenstrom
KR100646851B1 (ko) * 2004-11-03 2006-11-23 한국전자통신연구원 오디오/비디오 서비스와 데이터 서비스의 동기화를 위한지상파 디지털멀티미디어방송 송/수신 시스템
WO2006126852A1 (en) 2005-05-26 2006-11-30 Electronics And Telecommunications Research Institute Method and apparatus for synchronizing data service with video service in digital multimedia broadcasting
KR20060131502A (ko) * 2005-06-16 2006-12-20 삼성전자주식회사 멀티미디어 데이터 서비스 방법 및 이를 위한 장치
KR100724867B1 (ko) * 2005-07-28 2007-06-04 삼성전자주식회사 디지털 멀티미디어 방송 시스템에서 멀티 채널 전송을 위한멀티 채널 생성 및 재생 방법
US9209934B2 (en) * 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
CN101188589B (zh) * 2006-11-15 2012-06-06 上海瑞高信息技术有限公司 广播数据在卫星同步分配网中的同步适配方法及装置
KR101516325B1 (ko) * 2007-04-04 2015-05-04 한국전자통신연구원 Iso 기반 미디어 파일 포맷으로 mpeg-2전송스트림을 저장 및 재생하는 방법 및 장치
CN101282230B (zh) * 2007-04-05 2011-04-20 中兴通讯股份有限公司 广播数据全网同步的实现方法
KR101580516B1 (ko) * 2008-04-07 2015-12-28 엘지전자 주식회사 방송 신호 수신 방법 및 방송 신호 수신 장치
KR101476934B1 (ko) 2010-07-19 2014-12-30 엘지전자 주식회사 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014171718A1 (ko) * 2013-04-16 2014-10-23 엘지전자 주식회사 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
WO2015156607A1 (ko) * 2014-04-09 2015-10-15 엘지전자 주식회사 방송 신호 송/수신 처리 방법 및 장치

Also Published As

Publication number Publication date
CN103109540B (zh) 2016-04-27
KR20160150111A (ko) 2016-12-28
US9699521B2 (en) 2017-07-04
EP2597870B1 (en) 2019-05-22
US9131274B2 (en) 2015-09-08
CN103109540A (zh) 2013-05-15
US20170272840A1 (en) 2017-09-21
CN105611320B (zh) 2018-10-19
KR101651137B1 (ko) 2016-08-25
US20130125187A1 (en) 2013-05-16
US20160073178A1 (en) 2016-03-10
KR20140093763A (ko) 2014-07-28
US20160029068A1 (en) 2016-01-28
KR101689616B1 (ko) 2016-12-26
KR20130050953A (ko) 2013-05-16
US9699522B2 (en) 2017-07-04
KR101727050B1 (ko) 2017-04-14
KR101759959B1 (ko) 2017-07-20
KR20170042811A (ko) 2017-04-19
WO2012011724A3 (ko) 2012-05-03
KR101476934B1 (ko) 2014-12-30
EP2597870A4 (en) 2014-01-22
KR20160099736A (ko) 2016-08-22
EP2597870A2 (en) 2013-05-29
CN105611320A (zh) 2016-05-25
US10129609B2 (en) 2018-11-13
KR20140008478A (ko) 2014-01-21

Similar Documents

Publication Publication Date Title
WO2012011724A2 (ko) 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치
WO2012060581A2 (ko) 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치
WO2012177041A2 (ko) 미디어 컨텐트 송수신 방법 및 그를 이용한 송수신 장치
WO2011059291A2 (en) Method and apparatus for transmitting and receiving data
WO2011105811A2 (en) Method and apparatus for transmitting and receiving data
WO2011071290A2 (en) Streaming method and apparatus operating by inserting other content into main content
WO2013169084A1 (ko) Mmt 패킷 포맷 확장을 통한 하이브리드 전송 방법
WO2013025035A9 (ko) 송신 장치, 수신 장치 및 그 송수신 방법
WO2013089437A1 (ko) 미디어 컨텐트를 수신하는 장치 및 방법
WO2015002500A1 (ko) 실시간 전송 프로토콜 기반의 방송 시스템에서 미디어 방송 신호의 송수신 방법 및 장치
WO2012099359A2 (ko) 복수의 실시간 전송 스트림을 수신하는 수신 장치와 그 송신 장치 및 멀티미디어 컨텐츠 재생 방법
WO2009125961A1 (en) Method of transmitting and receiving broadcasting signal and apparatus for receiving broadcasting signal
WO2013141666A1 (ko) Mmt 패키지화된 svc 비디오 콘텐츠의 하이브리드 전송 방법 및 수신 방법
WO2011062385A2 (ko) 방송 신호 송수신 방법 및 그를 이용한 방송 수신 장치
WO2009134105A2 (en) Method of receiving broadcasting signal and apparatus for receiving broadcasting signal
WO2015012605A1 (ko) 3차원 콘텐츠의 부호화 방법 및 장치
WO2011093676A2 (en) Method and apparatus for generating data stream for providing 3-dimensional multimedia service, and method and apparatus for receiving the data stream
WO2012077982A2 (ko) 멀티미디어 컨텐츠를 송수신하는 송신 장치 및 수신 장치와, 그 재생 방법
WO2011132883A2 (ko) 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치
WO2014171718A1 (ko) 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
WO2013055164A1 (ko) 콘텐츠 디스플레이 방법, 콘텐츠 동기화 방법, 방송 콘텐츠 디스플레이 방법 및 디스플레이 장치
WO2012011735A2 (en) Method and apparatus for transmitting and receiving adaptive streaming mechanism-based content
WO2011059273A2 (en) Method and apparatus for adaptive streaming using segmentation
WO2012011722A2 (ko) 미디어 송수신 방법 및 그를 이용한 송수신 장치
WO2012128563A2 (ko) 이종망 기반 연동형 방송콘텐츠 송수신 장치 및 방법

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201180044822.4

Country of ref document: CN

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

Ref document number: 11809851

Country of ref document: EP

Kind code of ref document: A2

ENP Entry into the national phase

Ref document number: 20137001532

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13811198

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2011809851

Country of ref document: EP