KR101727050B1 - 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치 - Google Patents
미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치 Download PDFInfo
- Publication number
- KR101727050B1 KR101727050B1 KR1020167035531A KR20167035531A KR101727050B1 KR 101727050 B1 KR101727050 B1 KR 101727050B1 KR 1020167035531 A KR1020167035531 A KR 1020167035531A KR 20167035531 A KR20167035531 A KR 20167035531A KR 101727050 B1 KR101727050 B1 KR 101727050B1
- Authority
- KR
- South Korea
- Prior art keywords
- media
- time
- playback
- time stamp
- reproduction
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 239000012092 media component Substances 0.000 claims description 20
- 230000001360 synchronised effect Effects 0.000 claims description 17
- 238000013507 mapping Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 18
- 239000012634 fragment Substances 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 230000011664 signaling Effects 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 239000000284 extract Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- AWSBQWZZLBPUQH-UHFFFAOYSA-N mdat Chemical compound C1=C2CC(N)CCC2=CC2=C1OCO2 AWSBQWZZLBPUQH-UHFFFAOYSA-N 0.000 description 4
- 230000006978 adaptation Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000001094 photothermal spectroscopy Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/235—Processing of additional data, e.g. scrambling of additional data or processing content descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling 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/23608—Remultiplexing multiplex streams, e.g. involving modifying time stamps or remapping the packet identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/2381—Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising 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/43072—Synchronising 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/4302—Content synchronisation processes, e.g. decoder synchronisation
- H04N21/4307—Synchronising 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/43076—Synchronising 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/438—Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
- H04N21/4385—Multiplex stream processing, e.g. multiplex stream decrypting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management 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/462—Content 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/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
- H04N21/23439—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
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 실시예를 나타내는 블록도이다.
도 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에서, 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이 구해질 수 있다.
한편, 미디어 재생 시간이 클럭이 아닌 초(second) 단위로 표현되는 경우, 상기 수학식 2는 다음의 수학식 3과 같이 간략화될 수 있다.
본 발명의 실시예에 따르면, 송신 장치(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에서, 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 (8)
- MPEG2 TS(Transport Stream) 기반 미디어 컴포넌트를 송신하는 방법에 있어서,
다른 미디어 컴포넌트들과의 동기화를 위해 제1 재생 유닛(Presentation Unit, PU)의 제1 재생 시간 스탬프(Presentation Time Stamp, PTS)를 미디어 프리젠테이션 타임라인에 매핑하는 단계; 및
상기 제1 재생 유닛의 제1 미디어 프리젠테이션 타임을 포함하는 타이밍 정보 및 상기 미디어 컴포넌트를 전송하는 단계를 포함하는 미디어 컴포넌트 송신 방법으로써,
상기 미디어 컴포넌트의 제2 재생 유닛의 제2 미디어 프리젠테이션 타임은,
상기 제2 재생 유닛의 제2 재생 시간 스탬프와 상기 제1 재생 시간 스탬프 사이의 재생 시간 스탬프 차이를 구하고,
상기 재생 시간 스탬프 차이를 재생 시간 스탬프의 제1 타임 스케일로 나누고,
상기 제1 타임 스케일에 의해 나누어진 재생 시간 스탬프 차이를 상기 미디어 프리젠테이션 타임라인의 제2 타임 스케일로 곱하고,
상기 제2 타임 스케일에 의해 곱해진 재생 시간 스탬프 차이에 상기 제1 재생 유닛의 상기 제1 미디어 프리젠테이션 타임을 더하여 계산되는 미디어 컴포넌트 송신 방법. - 제1항에 있어서,
미디어 스트림에 불연속이 발생한 경우, 상기 제2 미디어 프리젠테이션 타임은 조정된 재생 시간 스탬프에 기초하여 획득되는 미디어 컴포넌트 송신 방법. - MPEG2 TS(Transport Stream) 기반 미디어 컴포넌트를 송신하는 장치에 있어서,
다른 미디어 컴포넌트들과의 동기화를 위해 제1 재생 유닛(Presentation Unit, PU)의 제1 재생 시간 스탬프(Presentation Time Stamp, PTS)를 미디어 프리젠테이션 타임라인에 매핑하는 프로세서; 및
상기 제1 재생 유닛의 제1 미디어 프리젠테이션 타임을 포함하는 타이밍 정보 및 상기 미디어 컴포넌트를 전송하는 트랜스미터를 포함하는 미디어 컴포넌트 송신 장치로써,
상기 미디어 컴포넌트의 제2 재생 유닛의 제2 미디어 프리젠테이션 타임은,
상기 제2 재생 유닛의 제2 재생 시간 스탬프와 상기 제1 재생 시간 스탬프 사이의 재생 시간 스탬프 차이를 구하고,
상기 재생 시간 스탬프 차이를 재생 시간 스탬프의 제1 타임 스케일로 나누고,
상기 제1 타임 스케일에 의해 나누어진 재생 시간 스탬프 차이를 상기 미디어 프리젠테이션 타임라인의 제2 타임 스케일로 곱하고,
상기 제2 타임 스케일에 의해 곱해진 재생 시간 스탬프 차이에 상기 제1 재생 유닛의 상기 제1 미디어 프리젠테이션 타임을 더하여 계산되는 미디어 컴포넌트 송신 장치. - 제3항에 있어서,
미디어 스트림에 불연속이 발생한 경우, 상기 제2 미디어 프리젠테이션 타임은 조정된 재생 시간 스탬프에 기초하여 획득되는 미디어 컴포넌트 송신 장치. - MPEG2 TS(Transport Stream) 기반 미디어 컴포넌트를 수신하는 방법에 있어서,
제1 재생 유닛의 제1 미디어 프리젠테이션 타임을 포함하는 타이밍 정보 및 상기 미디어 컴포넌트를 전송하는 단계, 여기서 상기 제1 미디어 프리젠테이션 타임은 다른 미디어 컴포넌트들과의 동기화를 위해, 상기 제1 재생 유닛의 제1 재생 시간 스탬프가 미디어 프리젠테이션 타임라인에 매핑된 것 시간임; 및
제2 미디어 프리젠테이션 타임을 이용하여 상기 미디어 컴포넌트를 디코딩하고 출력하는 단계를 포함하는 미디어 컴포넌트 수신 방법으로써,
상기 미디어 컴포넌트의 제2 재생 유닛의 상기 제2 미디어 프리젠테이션 타임은,
상기 제2 재생 유닛의 제2 재생 시간 스탬프와 상기 제1 재생 시간 스탬프 사이의 재생 시간 스탬프 차이를 구하고,
상기 재생 시간 스탬프 차이를 재생 시간 스탬프의 제1 타임 스케일로 나누고,
상기 제1 타임 스케일에 의해 나누어진 재생 시간 스탬프 차이를 상기 미디어 프리젠테이션 타임라인의 제2 타임 스케일로 곱하고,
상기 제2 타임 스케일에 의해 곱해진 재생 시간 스탬프 차이에 상기 제1 재생 유닛의 상기 제1 미디어 프리젠테이션 타임을 더하여 계산되는 미디어 컴포넌트 수신 방법. - 제5항에 있어서,
미디어 스트림에 불연속이 발생한 경우, 상기 제2 미디어 프리젠테이션 타임은 조정된 재생 시간 스탬프에 기초하여 획득되는 미디어 컴포넌트 수신 방법. - MPEG2 TS(Transport Stream) 기반 미디어 컴포넌트를 수신하는 장치에 있어서,
제1 재생 유닛의 제1 미디어 프리젠테이션 타임을 포함하는 타이밍 정보 및 상기 미디어 컴포넌트를 전송하는 네트워크 인터페이스, 여기서 상기 제1 미디어 프리젠테이션 타임은 다른 미디어 컴포넌트들과의 동기화를 위해, 상기 제1 재생 유닛의 제1 재생 시간 스탬프가 미디어 프리젠테이션 타임라인에 매핑된 것 시간임; 및
제2 미디어 프리젠테이션 타임을 이용하여 상기 미디어 컴포넌트를 디코딩하고 출력하는 디코더를 포함하는 미디어 컴포넌트 수신 장치로써,
상기 미디어 컴포넌트의 제2 재생 유닛의 상기 제2 미디어 프리젠테이션 타임은,
상기 제2 재생 유닛의 제2 재생 시간 스탬프와 상기 제1 재생 시간 스탬프 사이의 재생 시간 스탬프 차이를 구하고,
상기 재생 시간 스탬프 차이를 재생 시간 스탬프의 제1 타임 스케일로 나누고,
상기 제1 타임 스케일에 의해 나누어진 재생 시간 스탬프 차이를 상기 미디어 프리젠테이션 타임라인의 제2 타임 스케일로 곱하고,
상기 제2 타임 스케일에 의해 곱해진 재생 시간 스탬프 차이에 상기 제1 재생 유닛의 상기 제1 미디어 프리젠테이션 타임을 더하여 계산되는 미디어 컴포넌트 수신 장치. - 제7항에 있어서,
미디어 스트림에 불연속이 발생한 경우, 상기 제2 미디어 프리젠테이션 타임은 조정된 재생 시간 스탬프에 기초하여 획득되는 미디어 컴포넌트 수신 장치.
Applications Claiming Priority (5)
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 | ||
PCT/KR2011/005307 WO2012011724A2 (ko) | 2010-07-19 | 2011-07-19 | 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020167022031A Division KR101689616B1 (ko) | 2010-07-19 | 2011-07-19 | 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020177009516A Division KR101759959B1 (ko) | 2010-07-19 | 2011-07-19 | 미디어 컴포넌트 송수신 방법 및 그를 이용한 송수신 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20160150111A KR20160150111A (ko) | 2016-12-28 |
KR101727050B1 true KR101727050B1 (ko) | 2017-04-14 |
Family
ID=45497289
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137001532A KR101476934B1 (ko) | 2010-07-19 | 2011-07-19 | 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치 |
KR1020177009516A KR101759959B1 (ko) | 2010-07-19 | 2011-07-19 | 미디어 컴포넌트 송수신 방법 및 그를 이용한 송수신 장치 |
KR1020167022031A KR101689616B1 (ko) | 2010-07-19 | 2011-07-19 | 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치 |
KR1020147000387A KR20140008478A (ko) | 2010-07-19 | 2011-07-19 | 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치 |
KR1020167035531A KR101727050B1 (ko) | 2010-07-19 | 2011-07-19 | 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치 |
KR1020147020005A KR101651137B1 (ko) | 2010-07-19 | 2011-07-19 | 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치 |
Family Applications Before (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020137001532A KR101476934B1 (ko) | 2010-07-19 | 2011-07-19 | 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치 |
KR1020177009516A KR101759959B1 (ko) | 2010-07-19 | 2011-07-19 | 미디어 컴포넌트 송수신 방법 및 그를 이용한 송수신 장치 |
KR1020167022031A KR101689616B1 (ko) | 2010-07-19 | 2011-07-19 | 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치 |
KR1020147000387A KR20140008478A (ko) | 2010-07-19 | 2011-07-19 | 미디어 파일 송수신 방법 및 그를 이용한 송수신 장치 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020147020005A KR101651137B1 (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) | CN103109540B (ko) |
WO (1) | WO2012011724A2 (ko) |
Families Citing this family (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2597870B1 (en) | 2010-07-19 | 2019-05-22 | LG Electronics Inc. | Method for transmitting media files |
US9137555B2 (en) * | 2010-10-05 | 2015-09-15 | Telefonaktiebolaget L M Ericsson (Publ) | Client, a content creator entity and methods thereof for media streaming |
WO2012109425A1 (en) * | 2011-02-11 | 2012-08-16 | Interdigital Patent Holdings, Inc. | Method and apparatus for updating metadata cross reference to related applications |
US9860293B2 (en) | 2011-03-16 | 2018-01-02 | Electronics And Telecommunications Research Institute | Apparatus and method for providing streaming content using representations |
KR102023788B1 (ko) * | 2011-07-29 | 2019-09-20 | 소니 주식회사 | 스트리밍 배신 장치 및 방법, 스트리밍 수신 장치 및 방법, 스트리밍 시스템, 프로그램과 기록 매체 |
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 |
EP2793479A4 (en) * | 2011-12-12 | 2015-07-01 | Lg Electronics Inc | DEVICE AND METHOD FOR RECEIVING MULTIMEDIA CONTENT |
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 |
EP2988519A4 (en) * | 2013-04-16 | 2017-01-11 | LG Electronics Inc. | Broadcasting transmission device, broadcasting reception device, operating method of broadcasting transmission device and operating method of broadcasting reception device |
KR102210509B1 (ko) * | 2013-06-24 | 2021-02-01 | 삼성전자주식회사 | 멀티미디어 시스템에서 컨텐츠를 변환하는 방법 및 장치 |
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 |
US10326816B2 (en) | 2014-01-13 | 2019-06-18 | Lg Electronics Inc. | Apparatuses and methods for transmitting or receiving a broadcast content via one or more networks |
WO2015115171A1 (ja) * | 2014-01-31 | 2015-08-06 | ソニー株式会社 | 送信装置、送信方法、受信装置および受信方法 |
US20170188062A1 (en) * | 2014-04-09 | 2017-06-29 | Lg Electronics Inc. | Method and apparatus for transmitting/receiving broadcast signal |
CN104079957B (zh) * | 2014-06-25 | 2017-09-01 | 广东欧珀移动通信有限公司 | 一种多媒体设备同步操作的方法及系统 |
KR102379530B1 (ko) * | 2015-01-07 | 2022-03-29 | 삼성전자주식회사 | 통신 시스템에서 미디어 정보를 송수신하는 방법 및 장치 |
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 | 中兴通讯股份有限公司 | 自适应流媒体处理方法及装置 |
CN113259750B (zh) * | 2015-08-06 | 2023-02-03 | 麦克赛尔株式会社 | 影像显示装置 |
CN106470291A (zh) * | 2015-08-19 | 2017-03-01 | 飞思卡尔半导体公司 | 从音频/视频解码器中的时间同步中的中断中恢复 |
EP3387835A1 (en) * | 2015-12-11 | 2018-10-17 | VID SCALE, Inc. | 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)
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 | 한국전자통신연구원 | 오디오/비디오 서비스와 데이터 서비스의 동기화를 위한지상파 디지털멀티미디어방송 송/수신 시스템 |
KR100837720B1 (ko) | 2005-05-26 | 2008-06-13 | 한국전자통신연구원 | 디지털 멀티미디어 방송에서 비디오 서비스와 동기화된 데이터 서비스를 제공하는 방법 및 그 장치와 데이터 서비스의 실행 방법 |
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 | 上海瑞高信息技术有限公司 | 广播数据在卫星同步分配网中的同步适配方法及装置 |
US20100135646A1 (en) * | 2007-04-04 | 2010-06-03 | Gun Bang | Storage/playback method and apparatus for mpeg-2 transport stream based on iso base media file format |
CN101282230B (zh) | 2007-04-05 | 2011-04-20 | 中兴通讯股份有限公司 | 广播数据全网同步的实现方法 |
KR101580516B1 (ko) * | 2008-04-07 | 2015-12-28 | 엘지전자 주식회사 | 방송 신호 수신 방법 및 방송 신호 수신 장치 |
EP2597870B1 (en) | 2010-07-19 | 2019-05-22 | LG Electronics Inc. | Method for transmitting media files |
-
2011
- 2011-07-19 EP EP11809851.6A patent/EP2597870B1/en active Active
- 2011-07-19 KR KR1020137001532A patent/KR101476934B1/ko active IP Right Grant
- 2011-07-19 KR KR1020177009516A patent/KR101759959B1/ko active IP Right Grant
- 2011-07-19 WO PCT/KR2011/005307 patent/WO2012011724A2/ko active Application Filing
- 2011-07-19 KR KR1020167022031A patent/KR101689616B1/ko active IP Right Grant
- 2011-07-19 CN CN201180044822.4A patent/CN103109540B/zh active Active
- 2011-07-19 KR KR1020147000387A patent/KR20140008478A/ko not_active Application Discontinuation
- 2011-07-19 US US13/811,198 patent/US9131274B2/en active Active
- 2011-07-19 KR KR1020167035531A patent/KR101727050B1/ko active IP Right Grant
- 2011-07-19 KR KR1020147020005A patent/KR101651137B1/ko active IP Right Grant
- 2011-07-19 CN CN201610186917.4A patent/CN105611320B/zh active Active
-
2015
- 2015-07-28 US US14/811,321 patent/US9699521B2/en active Active
- 2015-11-17 US US14/943,346 patent/US9699522B2/en active Active
-
2017
- 2017-06-05 US US15/613,723 patent/US10129609B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR101689616B1 (ko) | 2016-12-26 |
US20130125187A1 (en) | 2013-05-16 |
KR101651137B1 (ko) | 2016-08-25 |
CN105611320B (zh) | 2018-10-19 |
US9699521B2 (en) | 2017-07-04 |
KR20160150111A (ko) | 2016-12-28 |
KR20140093763A (ko) | 2014-07-28 |
KR101759959B1 (ko) | 2017-07-20 |
CN103109540A (zh) | 2013-05-15 |
KR101476934B1 (ko) | 2014-12-30 |
US9699522B2 (en) | 2017-07-04 |
US10129609B2 (en) | 2018-11-13 |
KR20130050953A (ko) | 2013-05-16 |
EP2597870A4 (en) | 2014-01-22 |
KR20160099736A (ko) | 2016-08-22 |
CN103109540B (zh) | 2016-04-27 |
EP2597870B1 (en) | 2019-05-22 |
CN105611320A (zh) | 2016-05-25 |
EP2597870A2 (en) | 2013-05-29 |
US20170272840A1 (en) | 2017-09-21 |
US20160029068A1 (en) | 2016-01-28 |
KR20170042811A (ko) | 2017-04-19 |
US9131274B2 (en) | 2015-09-08 |
US20160073178A1 (en) | 2016-03-10 |
KR20140008478A (ko) | 2014-01-21 |
WO2012011724A2 (ko) | 2012-01-26 |
WO2012011724A3 (ko) | 2012-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101727050B1 (ko) | 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치 | |
US10009660B2 (en) | Media content transceiving method and transceiving apparatus using same | |
KR101649533B1 (ko) | 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치 | |
KR101927145B1 (ko) | 다른 네트워크들을 통해 수신된 콘텐츠의 렌더링을 동기화하기 위한 디코더 및 이러한 디코더에서의 방법 | |
Howson et al. | Second screen TV synchronization | |
EP2814256B1 (en) | Method and apparatus for modifying a stream of digital content | |
Veenhuizen et al. | Frame accurate media synchronization of heterogeneous media sources in an HBB context | |
Köhnen et al. | A DVB/IP streaming testbed for hybrid digital media content synchronization | |
GB2499539A (en) | Method for transreceiving media content and device for transreceiving using same |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A107 | Divisional application of patent | ||
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
A107 | Divisional application of patent | ||
GRNT | Written decision to grant |