KR101649533B1 - 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치 - Google Patents

미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치 Download PDF

Info

Publication number
KR101649533B1
KR101649533B1 KR1020167009513A KR20167009513A KR101649533B1 KR 101649533 B1 KR101649533 B1 KR 101649533B1 KR 1020167009513 A KR1020167009513 A KR 1020167009513A KR 20167009513 A KR20167009513 A KR 20167009513A KR 101649533 B1 KR101649533 B1 KR 101649533B1
Authority
KR
South Korea
Prior art keywords
segment
sub
media content
segments
index
Prior art date
Application number
KR1020167009513A
Other languages
English (en)
Other versions
KR20160047585A (ko
Inventor
이현재
차이바카
홍호택
Original Assignee
엘지전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엘지전자 주식회사 filed Critical 엘지전자 주식회사
Publication of KR20160047585A publication Critical patent/KR20160047585A/ko
Application granted granted Critical
Publication of KR101649533B1 publication Critical patent/KR101649533B1/ko

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/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
    • 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/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • 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/242Synchronization processes, e.g. processing of PCR [Program Clock References]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • 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/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • 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

Abstract

본 발명은 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치에 관한 것으로, 그 방법은 미디어 콘텐트를 복수의 레프리젠테이션들(representations)로 구성하는 단계; 레프리젠테이션을 복수의 세그먼트들(segments)로 분할하는 단계; 세그먼트에 포함된 서브세그먼트들(subsegments)을 정렬하는 단계; 및 레프리젠테이션들 중 어느 하나를 전송하는 단계를 포함한다.

Description

미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치{METHOD FOR TRANSMITTING/RECEIVING MEDIA CONTENT AND TRANSMITTING/RECEIVING APPARATUS THEREOF}
본 발명은 미디어 콘텐트를 인터넷을 통해 송수신하는 방법 및 장치에 관한 것이다.
현재, 지상파, 케이블, 위성 또는 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보다 높은 해상도를 가지는 콘텐트를 전송하기에는 비효율적일 수 있다.
본 발명의 일실시예는 미디어 콘텐트를 네트워크 상태에 따라 효율적으로 스트리밍할 수 있도록 하는 송수신 방법 및 장치를 제공하는 것을 목적으로 한다.
본 발명의 실시예에 따른 미디어 콘텐트 전송 방법은, 미디어 콘텐트를 복수의 레프리젠테이션들(representations)로 구성하는 단계; 상기 구성된 레프리젠테이션을 복수의 세그먼트들(segments)로 분할하는 단계; 상기 세그먼트에 포함된 서브세그먼트들(subsegments)을 정렬하는 단계; 및 상기 레프리젠테이션들 중 어느 하나를 전송하는 단계를 포함하고, 상기 서브세그먼트들은 상기 레프리젠테이션들 중 제1 레프리젠테이션에 포함된 k 번째 서브세그먼트의 가장 빠른 재생 시간(the earliest presentation time)이 제2 레프리젠테이션에 포함된 k-1 번째 서브세그먼트의 가장 늦은 재생 시간(the latest presentation time)보다 늦도록 정렬된다.
본 발명의 실시예에 따른 미디어 콘텐트 수신 방법은, 상기 미디어 콘텐트를 포함하는 복수의 레프리젠테이션들 중 제1 레프리젠테이션을 수신하는 단계; 상기 수신되는 레프리젠테이션을 제2 레프리젠테이션으로 스위칭하는 단계; 및 상기 수신되는 레프리젠테이션을 재생하는 단계를 포함하고, 상기 레프리젠테이션은 복수의 세그먼트들로 분할되어 수신되며, 상기 세그먼트에 포함된 서브세그먼트들은 상기 제1, 2 레프리젠테이션 중 어느 하나에 포함된 k 번째 서브세그먼트의 가장 빠른 재생 시간이 또 다른 레프리젠테이션에 포함된 k-1 번째 서브세그먼트의 가장 늦은 재생 시간보다 늦도록 정렬되어 있다.
본 발명의 실시예에 따른 미디어 콘텐트 전송 장치는, 상기 미디어 콘텐트를 복수의 레프리젠테이션들로 구성하는 미디어 인코더; 상기 구성된 레프리젠테이션을 복수의 세그먼트들로 분할하는 세그멘터(segmenter)를 포함하고, 상기 세그먼트에 포함된 서브세그먼트들은 상기 레프리젠테이션들 중 제1 레프리젠테이션에 포함된 k 번째 서브세그먼트의 가장 빠른 재생 시간이 제2 레프리젠테이션에 포함된 k-1 번째 서브세그먼트의 가장 늦은 재생 시간보다 늦도록 정렬된다.
본 발명의 실시예에 따른 미디어 수신 장치는, 상기 미디어 콘텐트를 포함하는 복수의 레프리젠테이션들 중 어느 하나를 수신하는 수신부; 및 상기 수신되는 레프리젠테이션을 스위칭하는 제어부를 포함하고, 상기 레프리젠테이션은 복수의 세그먼트들로 분할되어 수신되며, 상기 세그먼트에 포함된 서브세그먼트들은 상기 레프리젠테이션들 중 제1 레프리젠테이션에 포함된 k 번째 서브세그먼트의 가장 빠른 재생 시간이 제2 레프리젠테이션에 포함된 k-1 번째 서브세그먼트의 가장 늦은 재생 시간보다 늦도록 정렬되어 있다.
한편, 상기 미디어 콘텐트 송수신 방법은 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체로 구현될 수 있다.
본 발명의 일실시예에 따르면, 미디어 콘텐트를 서로 다른 비트율 등을 가지는 복수의 레프리젠테이션들로 구성하여 세그먼트 단위로 송수신함에 있어, 레프리젠테이션의 재생 시간에 맞추어 상기 세그먼트에 포함된 서브세그먼트들을 정렬함으로써, 비트스트림 스위칭시 발생할 수 있는 데이터의 손실 또는 중복 수신을 방지할 수 있다.
또한, 미디어 콘텐트를 수신하는 클라이언트는 별도의 탐색이나 파싱없이RAP(Representation Access Point)를 포함하는 임의의 서브세그먼트에서 레프리젠테이션을 용이하게 스위칭할 수 있다.
그에 따라, 네트워크 상태의 변화 등에 의해 비트스트림을 스위칭하는 경우에도 미디어 콘텐트가 끈김없이 연속하여 재생될 수 있다.
도 1은 본 발명의 일실시예에 따른 미디어 콘텐트 송수신 시스템의 구성을 나타내는 블록도이다.
도 2는 MPEG2 TS(Transport Stream)의 구조를 나타내는 도면이다.
도 3은 본 발명의 실시예에 따른 미디어 콘텐트 전송 방법을 나타내는 흐름도이다.
도 4는 미디어 콘텐트를 포함하는 레프리젠테이션들의 구성에 대한 일실시예를 나타내는 도면이다.
도 5는 서브세그먼트의 구성에 대한 일실시예를 나타내는 도면이다.
도 6 및 도 7은 서브세그먼트에 포함되는 RAP의 위치를 결정하는 방법에 대한 일실시예를 설명하기 위한 도면들이다.
도 8 및 도 9는 서브세그먼트들을 정렬하는 방법에 대한 일실시예를 설명하기 위한 도면들이다.
도 10 및 도 11은 레프리젠테이션을 스위칭하는 방법에 대한 실시예들을 나타내는 도면들이다.
도 12 및 도 13은 미디어 콘텐트에 대한 메타 데이터를 제공하는 세그먼트 인덱스 박스(Segment Index Box)의 구성에 대한 제1 실시예를 나타내는 도면들이다.
도 14 및 도 15는 상기 세그먼트 인덱스 박스의 구성에 대한 제2 실시예를 나타내는 도면들이다.
도 16은 본 발명의 실시예에 따른 미디어 콘텐트 수신 장치의 구성을 나타내는 블록도이다.
도 17은 본 발명의 실시예에 따른 미디어 콘텐트 수신 방법을 나타내는 흐름도이다.
도 18은 본 발명에 따른 IPTV 수신기의 구성에 대한 제1 실시예를 나타내는 블록도이다.
도 19는 본 발명에 따른 IPTV 수신기의 구성에 대한 제2 실시예를 나타내는 블록도이다.
이하, 첨부된 도 1 내지 도 19를 참조하여 본 발명의 실시예에 따른 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치에 대하여 상세히 설명하기로 한다.
이하에서 본 발명의 실시예를 설명함에 있어, 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고, 후술 되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
본 발명의 실시예에 따른 송신 장치와 수신 장치는 IP(Internet Protocol) 기반의 전송 시스템을 이용하여 미디어 콘텐트를 송수신하며, 예를 들어 상기 미디어 콘텐트는 TCP(Transmission Control Protocol) 및 HTTP(Hypertext Transfer Protocol) 프로토콜을 이용하여 웹서버를 통해 스트리밍될 수 있다.
상기 송신 장치는 콘텐트 제공자로부터 콘텐트를 제공받아 이를 변환하여 전송하거나, 또는 미디어 DB(media DataBase)에 저장하여 보관할 수 있다.
예를 들어, 상기 콘텐트 제공자로부터 제공되는 미디어 콘텐트는 MPEG-2 Transport Stream(MPEG-2 TS) 포맷 또는 ISO Base Media 파일 포맷에 따른 것일 수 있으며, 송신 장치는 상기 미디어 콘텐트를 IP 기반 전송(IP-based delivery)에 용이한 포맷으로 변환한 후 인터넷(internet) 망 등의 네트워크(network)를 통해 전송하거나 또는 상기 미디어 DB에 저장할 수 있다.
한편, 상기 수신 장치는 IP 기반의 전송 시스템을 이용하여 송신 장치로부터 미디어 콘텐트를 수신하고, 상기 수신된 미디어 콘텐트를 변환한 후 재생하거나, 로컬 저장매체(local storage)에 저장할 수 있다.
예를 들어, 상기 수신 장치는 상기 송신 장치로부터 수신되는 미디어 콘텐트를 MPEG-2 TS 포맷 또는 ISO Base Media 파일 포맷으로 변환한 후 처리하여 재생하거나 또는 상기 로컬 저장 매체에 저장할 수 있다.
한편, HTTP를 이용한 IP 기반의 오픈 인터넷 환경은 QoS를 보장하지 않으므로, 네트워크 트래픽(network traffic)에 따라 수신 장치로 전송할 수 있는 대역폭이 동적으로 변화하여 콘텐트 파일의 전송을 위해 필요한 안정적이고 고정적인 대역폭을 확보하기 어려울 수 있다.
예를 들어, 사용자가 집에서 사용하는 PC 시스템에서 네트워크 전송이 빈번한 소프트웨어를 설치 또는 사용하는 경우, 네트워크 트래픽의 증가로 인해 안정적이고 고정적인 대역폭을 확보할 수 없으며, 이러한 문제의 해결을 위해인터넷 게이트웨이가 특정 소프트웨어에 대역폭을 할당하는 방법도 고안되어 있지만 현재까지는 널리 사용되지 못하고 있다.
또한, 수신 장치에 고정적인 대역폭이 보장되는 경우에도, 오픈 인터넷 환경에서 운영되는 송신 장치인 인터넷 서버는 여러 다른 네트워크들을 거쳐 서비스가 전송되므로, 여전히 QoS 보장에 어려움이 있을 수 있다.
예를 들어, 유튜브(Youtube) 등과 같은 서비스들은 특정 서비스 사업자 운영하는 다른 네트워크를 통하여 제공되어, 전송 과정에서 네트워크 설정이나 트래픽의 양이 증가함에 따라 콘텐트가 지연 전송되거나 전송 포기(drop) 또는 재전송될 가능성이 있다.
상기한 바와 같은 QoS 보장의 문제는 오픈 인터넷 환경에서 콘텐트 서비스를 제공하는 콘텐트 제공자들에게 어려움을 느끼게 하는 주요한 원인이 될 수 있다.
한편, 상기와 같은 콘텐트 전송의 어려움을 해결하기 위하여, M3U 형태의 플레이 리스트 파일을 이용하여 네트워크 대역폭에 따라 콘텐트를 적절하게 송수신할 수 있도록 하는 적응적 스트리밍(adaptive streaming) 방식이 이용될 수 있다.
상기 적응적 스트리밍(adaptive streaming) 방식은 하나의 콘텐트에 대하여 서로 다른 비트율(bitrate) 등을 가진 콘텐트 파일들을 만들어 두고 수신 장치의 대역폭에 따라 비트율을 선택하여 전송 요청할 수 있도록 하는 것으로, 오픈 인터넷 환경에서는 대부분 HTTP 프로토콜을 이용해 콘텐트를 전송하고 있기 때문에, HTTP Adaptive Streaming이라고 지칭된다.
도 1은 본 발명의 일실시예에 따른 콘텐트 송수신 시스템의 구성을 블록도로 도시한 것으로, 상기 적응적 스트리밍(adaptive streaming)을 위한 시스템의 구조에 대한 일예를 나타낸 것이다.
도 1을 참조하면, 적응적 스트리밍(adaptive streaming)을 위한 시스템은 서버(server, 10), 분배 서버(distribution, 20) 및 클라이언트(client, 30)를 포함하여 구성될 수 있다.
서버(10)가 AV(Audio/Video)를 미가공된 데이터(raw data)로 미디어 인코더(media encoder, 11)에 전달하면, 미디어 인코더(51)는 상기 AV 데이터를 MPEG-2 TS 형태의 스트리밍 파일 포맷(streaming File Format)으로 변환할 수 있다.
한편, 스트리밍 세그멘터(stream segmenter, 12)는 미디어 인코더(11)로부터 출력되는 MPEG-2 TS 스트리밍 파일을 복수의 세그먼트들로 분할할 수 있다.
예를 들어, 스트리밍 세그멘터(12)는 하나의 파일 또는 실시간 MPEG-2 TS 스트리밍 파일을 약 10초간 재생할 수 있는 크기의 세그멘트들로 분할한 후 분배 서버(20)에 저장시킬 수 있다.
클라이언트(30)는 HTTP 프로토콜을 이용해 분배 서버(20)에 저장되어 있는 분할된 파일들을 요청하여 전송받아 재생할 수 있다.
또한, 서로 다른 비트율을 가지는 MPEG-2 TS 파일 세그먼트들이 분배 서버(20)에 저장될 수 있으며, 그를 위해 각각 특정 비트율로 인코딩된 MPEG-2 TS 파일 세그먼트들이 저장된 웹 서버(web server, 21)가 분배 서버(20)에 여러개 존재할 수 있다.
예를 들어, 20kbps의 비트율로 인코딩된 MPEG-2 TS 파일 세그먼트들과 500kbps의 비트율로 인코딩된 MPEG-2 TS 파일 세그먼트들이 서로 다른 파일명으로 분배 서버(20)에 저장될 수 있다.
그에 따라, 클라이언트(30)는 수신 지역의 대역폭이 감소하는 경우, 20kbps의 비트율로 인코딩된 파일을 요청하여 10초간 재생하고, 상기 재생 시간인 10초가 경과하기 전에 다시 주기적으로 대역폭을 검사할 수 있다.
이 때, 상기 대역폭이 고용량, 고품질의 파일을 전송할 수 있을 정도로 증가하는 경우, 클라이언트(30)는 500kbps의 비트율로 인코딩된 파일의 전송을 요청할 수 있다.
그로 인해, 클라이언트(30)는 네트워크 대역폭에 따라 적응적으로 20kbps와 500kbps의 비트율들로 인코딩된 콘텐트들을 번갈아 수신하여 재생할 수 있으며, 대역폭이 좋지 않은 경우 재생하는 영상의 질이 저하될 수 있으나 영상이 끊어지는 현상이 최소화될 수 있다.
상기한 바와 같은 HTTP 프로토콜을 이용한 적응적 스트리밍을 위해, 미디어 콘텐트는 복수의 레프리젠테이션들(representations)로 구성될 수 있으며, 상기 레프리젠테이션들에 각각 포함된 미디어 콘텐트는 비트율(bitrate), 해상도(resolution), 언어(language) 또는 코덱(codec)이 서로 다를 수 있다.
상기 미디어 콘텐트는 오디오(audio), 비디오(video) 또는 텍스트(timed text) 등과 같은 미디어 컴포넌트들(media components)을 포함하며, 상기 레프리젠테이션은 하나 또는 그 이상의 미디어 컴포넌트들의 구조화된 모음(structured collection)일 수 있다.
이 경우, 클라이언트(30)는 상기한 바와 같이 서로 다른 비트율 등을 가지도록 구성된 복수의 레프리젠테이션들 중 어느 하나를 서버(20)에 요청하여 수신할 수 있다.
한편, 클라이언트(30)가 상기 세그먼트들에 액세스하여 사용자에게 스트리밍 서비스를 제공하기 위해, 서버(10)는 세그먼트 데이터와 함께 클라이언트(30)에 의해 요구되는 메타 데이터를 포함하는 MPD(Media Presentation Description)를 제공할 수 있다.
클라이언트(30)는 상기 MPD에 포함된 엘리먼트(element)를 이용해 상기 복수의 레프리젠테이션들 중 어느 하나를 선택하여 전송 요청할 수 있다.
상기 레프리젠테이션은 상기한 바와 같이 복수의 세그먼트들로 분할되며, HTTP 1.1(RFC 2616)에서 정의된 HTTP GET 또는 HTTP partial GET method를 이용한 클라이언트(30)의 요청에 따라 세크먼트 또는 세그먼트의 일부분으로 전송될 수 있다.
한편, 비트스트림 스위칭(bitstream switching)이 가능한 경우, 클라이언트(30)는 미디어 재생 도중 업데이트된 정보에 기초하여 수신되는 레프리젠테이션을 다른 레프리젠테이션으로 전환할 수 있다.
이 경우, 클라이언트(30)는 이전 레프리젠테이션이 재생되던 시점부터 새로운 레프리젠테이션을 수신하여 재생할 수 있다.
또한, 상기 세그먼트는 복수의 서브세그먼트들을 포함하여 구성될 수 있으며, 상기 서브세그먼트는 세그먼트 레벨에서 인덱스될 수 있는 가장 작은 단위(unit)를 의미할 수 있다.
도 2를 참조하면, MPEG-2 TS는 각각 188바이트의 고정 비트율을 가지는 복수의 MPEG-2 TS 패킷들을 포함할 수 있으며, 상기 서브세그먼트는 연속하는 MPEG-2 TS 패킷들의 집합으로 구성될 수 있다.
예를 들어, 하나의 샘플은 동일한 PID 값을 가지는 하나 또는 그 이상의 MPEG-2 TS 패킷들로 구성된 액세스 유닛이며, 상기 서브세그먼트는 복호화 순서로 연속되는 액세스 유닛들의 하나의 인덱스된 집합으로 정의될 수 있다.
한편, ISO Base Media 파일 포맷을 스트리밍(streaming) 하기 위하여 "단편화된 파일(fragmented file)" 구조가 이용될 수 있다.
예를 들어, 상기 단편화된 파일은 미디어 트랙들을 물리적으로 복수의 프래그먼트들로 나누며, 각각의 프래그먼트는 moof(Movie Fragment) 박스와 mdat(media data) 박스로 구성될 수 있다.
상기 moof 박스 이후의 mdat 박스는 프래그먼트 미디어 데이터를 포함하여, 이와 같이 조합된 moof-mdat 쌍은 하나의 프래그먼트를 구성할 수 있다.
이 경우, 상기 서브세그먼트는 연속되는 하나 또는 그 이상의 movie 프래그먼트들의 독립된(self-contained) 집합으로 정의될 수 있으며, 그에 따라 하나 이상의 moof(Movie Fragment) 박스들과 그에 대응되는 mdat(media data) 박스들을 포함할 수 있다.
본 발명의 실시예에 따르면, 상기한 바와 같이 MPEG2 TS 또는 ISO base 미디어 파일 포맷의 미디어 콘텐트를 복수의 레프리젠테이션들로 구성하여 세그먼트 단위로 전송함에 있어, 서버(10)는 클라이언트(30)에서의 비트스트림 스위칭이 효율적으로 수행되도록 상기 세그먼트에 포함된 서브세그먼트들을 정렬할 수 있다.
한편, 상기에서는 MPEG2 TS 또는 ISO base 미디어 파일 포맷의 미디어 콘텐트가 HTTP를 통해 인터넷으로 전송되는 경우를 예로 들어 설명하였으나, 본 발명은 이에 한정되지 아니하며, 본 발명의 실시예에 따른 미디어 콘텐트 송수신 방법 및 장치는 다양한 포맷의 미디어 콘텐트들에 대해 적용 가능하다.
이하, 도 3 내지 도 11을 참조하여 서브세그먼트들을 정렬하여 미디어 콘텐트를 전송하는 방법에 대한 실시예들에 대해 상세하게 설명하기로 한다.
도 3은 본 발명의 실시예에 따른 미디어 콘텐트 전송 방법을 흐름도로 도시한 것으로, 도시된 전송 방법 중 도 1 및 도 2를 참조하여 설명한 것과 동일한 것에 대한 설명은 이하 생략하기로 한다.
도 3을 참조하면, 송신 장치는 미디어 콘텐트를 복수의 레프리젠테이션들로 구성하고(S100 단계), 상기 구성된 레프리젠테이션을 복수의 세그먼트들로 분할한다(S110 단계).
예를 들어, 상기 복수의 레프리젠테이션들은 상기 전송되는 미디어 콘텐트의 비트율, 해상도, 언어 및 코덱 중 적어도 하나에 따라 상이하게 구성될 수 있으며, 각각의 레프리젠테이션은 HTTP 프로토콜을 이용한 전송을 위해 복수의 세그먼트들로 분할될 수 있다.
도 4를 참조하면, 송신 장치는 미디어 콘텐트를 서로 다른 비트율을 가지는 레프리젠테이션 A(Representation A)와 레프리젠테이션 B(Representation A)로 만들어 놓을 수 있으며, 상기 레프리젠테이션 A와 B는 하나의 그룹을 형성할 수 있다. 상기 그룹은 상기 레프리젠테이션 A와 B 이외에 다른 레프리젠테이션들을 더 포함할 수 도 있다.
한편, 상기 레프리젠테이션 A 및 B에 포함된 모든 서브세그먼트들에 대하여 인덱스(index) 정보가 존재하며, 상기 인덱스 정보는 클라이언트(30)가 partial HTTP GET method를 이용하여 세그먼트의 서브세그먼트들을 랜덤하게 액세스하기 위한 것일 수 있다.
예를 들어, 상기 서브세그먼트들이 각각 세그먼트 인덱스(segment index)를 포함하거나, 또는 상기 서브세그먼트에 대한 인덱스를 제공하는 인덱스 세그먼트(index segment)가 존재할 수도 있다.
상기 서브세그먼트들에 대한 인덱스 정보를 제공하는 방법에 대해서는, 도 12 내지 도 15를 참조하여 뒤에서 상세히 설명하기로 한다.
또한, 상기 서브세그먼트와 관련하여, 서브세그먼트(200)의 가장 빠른 재생 시간(TE, the earliest presentation time)과 가장 늦은 재생 시간(TL, the latest presentation time)이 정의될 수 있다.
도 5를 참조하면, 서브세그먼트(200)는 비디오(Video)와 오디오(Audio), 2개의 미디어 컴포넌트들을 포함할 수 있으며, 상기 미디어 컴포넌트들 중 어느 하나(예를 들어, 비디오)가 레퍼런스 스트림(reference stream)으로 지정될 수 있다.
즉, 상기 레퍼런스 스트림은 미디어 컴포넌트들 중 주된 미디어 컴포넌트(primary media component)의 연속하는 샘플들의 그룹을 의미할 수 있다.
이 경우, 서브세그먼트(200)의 가장 빠른 재생 시간(TE)은 레퍼런스 스트림에 존재하는 임의의 샘플의 가장 빠른 재생 시간으로 정의될 수 있으며, 그에 따라 비디오 샘플들 중 가장 빠른 샘플(201)의 재생 시간이 될 수 있다.
그리고, 서브세그먼트(200)의 가장 늦은 재생 시간(TL)은 레퍼런스 스트림에 존재하는 가장 늦은 샘플(204)의 재생 시간이 될 수 있다.
한편, 상기 샘플(204)은 서브세그먼트(200)(또는 세그먼트)의 스트림에 존재하는 액세스 유닛(access unit)을 의미할 수 있다.
도 4에 도시된 바와 같은 서브세그먼트들은 크기 또는 미디어 콘텐트의 지속 시간(duration)이 상이할 수 있다.
또한, 도 4에서는 서브세그먼트의 가장 늦은 재생 시간(TL)이 연속하는 서브세그먼트들 사이의 경계에 위치하는 것으로 도시되었으나, 상기 서브세그먼트의 가장 늦은 재생 시간(TL)은 상기 서브세그먼트들 사이의 경계보다 약간 앞설 수 있다.
즉, 상기 레프리젠테이션 A에서, K 번째 서브세그먼트의 가장 늦은 재생 시간(TL)은 K 번째 서브세그먼트와 K+1 번째 서브세그먼트 사이의 경계에 해당하는 시간보다 약간 앞설 수 있다.
도 6을 참조하면, 세그먼트는 하나 이상의 RAP(Representation Access Point)를 포함하며, 상기 RAP는 서브세그먼트 내에 포함되어 있을 수 있다.
클라이언트(30)는 서브세그먼트에 포함된 정보만을 이용하여 상기 RAP에 해당하는 위치로부터 앞으로 재생을 시작할 수 있으며, 상기 RAP은 바이트 인덱스(ILRAP)와 재생 시간(TRAP)을 포함할 수 있다.
상기 재생 시간(TRAP)은, TRAP보다 늦거나 또는 같은 재생 시간을 가지는 모든 액세스 유닛들이 올바르게 복호화될 수 있도록 하는 가장 빠른 재생 시간을 의미할 수 있다.
한편, 레프리젠테이션 A로부터 레프리젠테이션 B로 비트스트림 스위칭이 요구되면, 클라이언트(30)는 현재 재생 시간에 이후 가까운 재생 시간에 상기 레프리젠테이션 B에서 RAP를 탐색하여, K 번째 서브세그먼트(210)에 포함된 RAP(211) 까지는 상기 레프리젠테이션 A를 재생하며, 상기 탐색된 RAP(211) 이후로는 상기 레프리젠테이션 B를 재생할 수 있다.
도 6에서는 서브세그먼트가 RAP을 포함하지 않거나 하나의 RAP을 포함하는 것으로 도시되었으나, 상기 서브세그먼트는 2 이상의 RAP들을 포함할 수 있으며, 그러한 경우 도 6에 도시된 RAP은 서브세그먼트에 포함된 RAP들 중 가장 빠른 첫번째 RAP을 의미할 수 있다.
도 7을 참조하면, 서브세그먼트에 포함된 첫번째 RAP의 재생 시간(TRAP)은 해당 서브세그먼트의 가장 빠른 재생 시간(TE)과 일치할 수 있다.
이와 같이, RAP를 포함하는 모든 서브세그먼트들(contatins_RAP=1)에 대하여, 상기 서브세그먼트에 포함된 첫번째 RAP의 재생 시간(TRAP)이 해당 서브세그먼트의 가장 빠른 재생 시간(TE)이 되도록 함으로써, 클라이언트(30)가 연속하는 인덱스들을 가지는 연속한 서브세그먼트들 사이의 임의의 경계에서 레프리젠테이션들을 스위칭할 수 있도록 한다.
예를 들어, 도 7에 도시된 경우에 있어서, 클라이언트(30)는 비트스트림 스위칭이 요구된 후 K-1 번째 서브세그먼트(220)와 K 번째 서브세그먼트(210) 사이의 경계 또는 K 번째 서브세그먼트(210)와 K+1 번째 서브세그먼트(230) 사이의 경계 중 원하는 임의의 위치에서 레프리젠테이션을 스위칭하여 미디어 콘텐트를 끈김없이 재생할 수 있다.
이하에서는, 도 7를 참조하여 설명한 바와 같이, 서브세그먼트에 포함된 첫번째 RAP의 재생 시간(TRAP)이 해당 서브세그먼트의 가장 빠른 재생 시간(TE)과 일치하는 것으로 가정한다.
송신 장치는 상기 세그먼트에 포함된 서브세그먼트들을 정렬한다(S120 단계).
상기 S120 단계에서, 서버(10)는 비트스트림 스위칭시 클라이언트(30)로 제공되는 데이터가 중복 수신되거나 손실되지 않도록 상기 세그먼트에 포함된 서브세그먼트들을 정렬할 수 있다.
도 8의 (a)을 참조하면, 레프리젠테이션 A의 K 번째 서브세그먼트(200)의 가장 빠른 재생 시간(TE)이 레프리젠테이션 B의 K-1 번째 서브세그먼트(230)의 가장 늦은 재생 시간(TL) 보다 빠를 수 있다.
이 경우, 레프리젠테이션 A에서 B로의 비트스트림 스위칭이 요구되면, 클라이언트(30)는 레프리젠테이션 B의 K-1 번째 서브세그먼트(220)와 K 번째 서브세그먼트(210) 사이의 경계에서 스위칭을 하여, 그 후로는 상기 레프리젠테이션 B를 재생할 수 있다.
한편, 클라이언트(30)는 상기 스위칭 이전에 이미 레프리젠테이션 A의 K 번째 서브세그먼트(210)를 수신하였으므로, 상기 K 번째 서브세그먼트(200) 중 일부가 중복되어 클라이언트(30)로 제공될 수 있다.
예를 들어, 상기 중복된 데이터(Redundant data)는 상기 K 번째 서브세그먼트(200)에 포함된 레퍼런스 스트림 중 재생 시간이 빠른 일부 샘플들일 수 있다.
따라서 상기 스위칭 과정에서 중복된 데이터가 클라이언트(30)에 제공되지 않도록 하기 위해서는, 레프리젠테이션 A의 K 번째 서브세그먼트(200)의 가장 빠른 재생 시간(TE)이 레프리젠테이션 B의 K-1 번째 서브세그먼트(230)의 가장 늦은 재생 시간(TL) 보다 늦은 값을 가져야 한다.
도 8의 (b)을 참조하면, 레프리젠테이션 B의 K 번째 서브세그먼트(210)의 가장 빠른 재생 시간(TE)이 레프리젠테이션 A의 K-1 번째 서브세그먼트(240)의 가장 늦은 재생 시간(TL) 보다 작을 수 있다.
이 경우, 레프리젠테이션 A에서 B로의 비트스트림 스위칭이 요구되면, 클라이언트(30)는 레프리젠테이션 B의 K-1 번째 서브세그먼트(220)와 K 번째 서브세그먼트(210) 사이의 경계에서 스위칭을 하며, 그에 따라 상기 K-1 번째 서브세그먼트(240) 중 일부가 클라이언트(30)로 제공되지 않고 손실될수 있다.
예를 들어, 상기 손실된 데이터(Missin data)는 상기 K-1 번째 서브세그먼트(240)에 포함된 레퍼런스 스트림 중 재생 시간이 늦은 일부 샘플들일 수 있다.
따라서 상기 스위칭 과정에서 손실된 데이터가 존재하지 않도록 하기 위해서는, 레프리젠테이션 B의 K 번째 서브세그먼트(210)의 가장 빠른 재생 시간(TE)이 레프리젠테이션 A의 K-1 번째 서브세그먼트(240)의 가장 늦은 재생 시간(TL) 보다 늦은 값을 가져야 한다.
즉, 비트스트림 스위칭 과정에서 상기한 바와 같은 데이터의 중복이나 손실이 모두 발생하지 않도록 하기 위해서는, 레프리젠테이션 A 및 B 중 어느 하나에 포함된 k 번째 서브세그먼트의 가장 빠른 재생 시간(TE)이 또 다른 레프리젠테이션에 포함된 k-1 번째 서브세그먼트의 가장 늦은 재생 시간(TL)보다 늦도록, 서브세그먼트들이 정렬될 수 있다.
도 9에 도시된 바와 같이, 레프리젠테이션 A 및 B에 각각 포함된 서로 다른 인덱스를 가지는 두 서브세그먼트들이 서로 중첩되지 않도록(non-overlapping) 정렬될 수 있다.
상기한 바와 같이, 제1 서브세그먼트와 제2 서브세그먼트가 서로 중첩되지 않음(non-overlapping)은, 어느 한 미디어 컨포넌트의 모든 미디어 스트림들에 대해, 상기 제1 서브세그먼트의 가장 빠른 재생 시간(TE)이 상기 제2 서브세그먼트의 가장 늦은 재생 시간(TL)보다 늦거나 또는 상기 제1 서브세그먼트의 가장 늦은 재생 시간(TL)이 상기 제2 서브세그먼트의 가장 빠른 재생 시간(TE)보다 빠른 경우를 의미할 수 있다.
상기한 바와 같은 서브세그먼트 정렬 방식에 따라, 레프리젠테이션 A 및 B에 포함된 서브세그먼트들이 도 9에 도시된 바와 같이 정렬되면, 클라이언트(30)가 레프리젠테이션 B 중 RAP를 포함하는 임의의 서브세그먼트로 스위칭하여도, 중복된 데이터(Redundant data)가 제공되거나 데이터가 손실되지 않을 수 있다.
도 9에 도시된 바와 같이 서브세그먼트들이 정렬되면, 레프리젠테이션 B에서
A로의 스위칭이 요구되는 경우에도, 클라이언트(30)로 제공되는 데이터가 중복되거나 손실되는 일이 발생하지 않을 수 있다.
도 10을 참조하면, 레프리젠테이션 A에서 B로의 스위칭이 요구되는 경우, 클라이언트(30)는 현재 재생 시간에 이후에 위치하는 RAP을 상기 레프리젠테이션 B에서 탐색하여, K-1 번째 서브세그먼트(220)와 K 번째 서브세그먼트(210) 사이의 경계(B1)와 K 번째 서브세그먼트(210)와 K+1 번째 서브세그먼트(230) 사이의 경계(B2) 중 임의의 시점에서 레프리젠테이션을 스위칭할 수 있다.
한편, 도 11에 도시된 경우에 있어서는, 레프리젠테이션 B의 K-1 번째 서브세그먼트(220)가 RAP을 포함하지 않으므로, 클라이언트(30)는 K-1 번째 서브세그먼트(220) 이후 RAP을 포함하는 서브세그먼트들의 경계들(B1, B2) 중 임의의 경계에서 레프리젠테이션을 스위칭할 수 있다.
상기한 바와 같이 서브세그먼트들이 정렬되면, 송신 장치는 복수의 레프리젠테이션들 중 어느 하나를 전송한다(S130 단계).
예를 들어, 클라이언트(30)는 서버(10)로부터 제공되는 MPD(Media Presentation Description)을 이용하여 미디어 콘텐트의 비트율, 해상도, 언어 또는 코덱 등이 서로 상이한 복수의 레프리젠테이션들 어느 하나를 선택하고, HTTP 1.1(RFC 2616)에서 정의된 HTTP GET 또는 HTTP partial GET method를 이용해 상기 선택된 레프리젠테이션에 대응되는 세그먼트 또는 세그먼트의 일부를 요청할 수 있다.
한편, 상기 MPD는 레프리젠테이션들에 대한 비트스트림 스위칭 여부를 나타내는 비트스트림 스위칭 플래그(bitstream switching flag)와, 서브세그먼트들에 대한 정렬 여부를 나타내는 서브세그먼트 정렬 플래그(subsegment alignment flag)를 포함할 수 있다.
상기 MPD에 포함된 비트스트림 스위칭 플래그가 'true'인 경우, 클라이언트(30)는 상기한 바와 같은 비트스트림 스위칭 동작을 수행할 수 있다.
또한, 상기 MPD에 포함된 서브세그먼트 정렬 플래그가 'true'인 경우, 서브세그먼트들이 도 9 내지 도 11에 도시된 바와 같이 정렬되며, 그에 따라 클라이언트(30)는, 중복 또는 손실된 데이터 없이, 연속하는 서브세그먼트들에 의한 임의의 경계에서 레프리젠테이션를 스위칭할 수 있다.
본 발명의 실시예에 따르면, 모든 서브세그먼트들에 대한 인덱스 정보가 존재하고, 상기 서브세그먼트에 포함된 첫번째 RAP의 재생 시간(TRAP)에 해당 서브세그먼트의 가장 빠른 재생 시간(TE)이며, 복수의 레프리젠테이션들 중 임의의 제1 레프리젠테이션에 포함된 k 번째 서브세그먼트의 가장 빠른 재생 시간(TE)이 임의의 제2 레프리젠테이션에 포함된 k-1 번째 서브세그먼트의 가장 늦은 재생 시간(TL)보다 늦도록 정렬됨으로써, 비트스트림 스위칭시 발생할 수 있는 데이터의 손실 또는 중복 수신을 방지할 수 있다.
또한, 미디어 콘텐트를 수신하는 클라이언트는 별도의 탐색이나 파싱없이RAP를 포함하는 임의의 서브세그먼트에서 레프리젠테이션을 용이하게 스위칭할 수 있으며, 그에 따라 네트워크 상태의 변화 등에 의해 비트스트림을 스위칭하는 경우에도 미디어 콘텐트가 끈김없이 연속하여 재생될 수 있다.
한편, MPEG2 TS 미디어를 전송을 위한 세그먼트들로 분할하기 위해, 상기 미디어는 전송 프로토콜에 의해 요구되는 대로 레퍼런스 프로그램 엘리먼트(이는 상기한 레퍼런스 스트림과 동일한 의미일 수 있다)의 지속 시간(duration)에 따라 대략적으로 분할될 수 있다. 상기 세그먼트들 사이의 경계는 MPEG2 TS 패킷들에 맞추어 정렬될 수 있다.
상기 MPEG2 TS 미디어를 위해 전달되는 메타 데이터에서는, 프로그램에 속하는 어느 한 프로그램 엘리먼트가 레퍼런스로 선택되고, 세그먼트에서 상기 레퍼런스 프로그램 엘리먼트에 대한 재생 유닛(PU, Play Unit)을 위한 가장 빠른 재생 시간이 전달될 수 있다.
또한, 서브세그먼트들 각각에 대해, 데이터 오프셋(data offset)과 해당 서브세그먼트의 가장 빠른 재생 시간에 대한 스탬프(PTS)가 전달되며, 선택적으로 랜덤 액세스 포인트(random access point)의 재생 시간과 PTS 불연속(PTS discontinuity) 발생 여부가 전달될 수 있다.
한편, 상기 랜덤 액세스 포인트의 재생 시간과 PTS 불연속의 발생 여부는 클라이언트(30)가 PTS-PCR 기반 타임라인을 미디어 재생 타임 라인에 맞출 수 있도록 하기 위해 이용될 수 있다.
상기 메타 데이터는 일반적인 ISO Base Media 파일 포맷 데이터 타입들에 기반한 바이너리 포맷으로 표현될 수 있으며, 이는 Dynamic adaptive streaming over HTTP(DASH)에서 이용되는 'sidx' 박스와 유사한 구조를 가질 수 있다.
상기 'sidx' 박스의 기능에 추가하여, 본 발명의 일실시예에 따른 메타 데이터의 포맷은 클라이언트(30)가 MPEG2 PTS-PCR 기반 타임라인을 미디어 재생 타임라인에 맞출 수 있도록 할 수 있다.
이는 서브세그먼트에 있는 재생 유닛(PU)의 가장 빠른 PTS를 전달함에 의해 이루어 질 수 있으며, 또한 MPEG2 PTS 타임라인에 존재하는 불연속에 대한 정보가 전달될 수 있다.
도 12 및 도 13은 미디어 콘텐트에 대한 메타 데이터를 제공하는 세그먼트 인덱스 박스(Segment Index Box)의 구성에 대한 제1 실시예를 도시한 것이다.
도 12를 참조하면, 상기 메타 데이터는 MPEG2 세그먼트 인덱스 박스('m2si', MPEG-2 Segment Index Box)로 구성될 수 있으며, 상기 'm2si' 박스는 하나의 세그먼트 내의 서브세그먼트와 다른 MPEG2 세그먼트 인덱스 박스들에 대한 인덱스를 제공할 수 있다.
상기 인덱스는 서브세그먼트를 직접 참조하거나, 또는 서브세그먼트를 참조하는 세그먼트 인덱트들을 참조할 수 있으며, 상기 세그먼트 인덱스는 동일한 세그먼트 또는 서브세그먼트 내부의 다른 MPEG2 세그먼트 인덱스 박스에 대한 시간 및 바이트 오프셋을 전달하기 위해 계층적 또는 데이시-체인(dasy-chain)이나 다른 형태로 지정될 수 있다.
상기 세그먼트의 레퍼런스 프로그램 엘리먼트의 가장 빠른 재생 시간은 상기 세그먼트 인덱스에서 기록될 수 있다.
상기 레퍼런스 타입은 해당 레퍼런스가 서브세그먼트에 대한 것인지 또는 MPEG2 세그먼트 인덱스 박스에 대한 것인지 여부를 나타내며, 상기 오프셋은 해당 박스에서 인덱스되는 첫번째 서브세그먼트의 첫번째 바이트로부터 참조되는 엔티티(entity)의 첫번째 바이트까지의 거리를 바이트 단위로 제공할 수 있다.
상기 인덱스에서 기록된 첫번째 서브세그먼트의 가장 빠른 재생 시간(레퍼런스 프로그램 엘리먼트에 대해)이 제공되고, 상기 세그먼트 인덱스는 해당 인덱스에 의해 기록된 각 서브세그먼트에 대해 하나의 엔트리(entry)를 제공할 수 있다.
상기 각각의 서브세그먼트들에 대해, 서브세그먼트 지속 시간(duration)이 제공되며, 서브세그먼트의 가장 빠른 재생 시간이 이전 서브세그먼트들의 서브세그먼트 지속 시간과 상기 첫번째 서브세그먼트의 가장 빠른 재생 시간을 더함에 의해 계산될 수 있다.
상기 서브세그먼트의 가장 빠른 재생 시간은 해당 서브세그먼트의 레퍼런스 프로그램 엘리먼트에 있는 임의의 재생 유닛(PU)의 재생 타임스케일(timescale) 상의 가장 빠른 재생 시간을 의미할 수 있다.
선택적으로, 상기 레퍼런스 프로그램 엘리먼트의 가장 빠른 PTS는 서브세그먼트가 PTS 불연속으로 시작하는지를 나타내는 플래그(flag)와 함꼐 전달될 수 있다.
또한, 상기 세그먼트 인덱스 박스는 랜던 액세스 포인트(random access point)를 포함할 수 있다.
도 13에 도시된 'm2si' 박스의 신텍스 구조를 참조하면, flags는 플래그들을 가지는 24-비트의 정수로서, 이하의 값들로 정의될 수 있다.
timescale-present는 해당 박스에 미디어 재생 시간의 타임 스케일(time scale)이 존재하는지 여부를 나타내며, 플래그 값은 '0x000001'을 가질 수 있다.
timescale은 재생에 관한 타임스케일로서, 하나의 미디어 재생(media presentation) 내에서 한번 이상 제공되는 경우 그의 값은 전체 재생에 대해 동일할 수 있다.
reference_PID는 레퍼런스 프로그램 엘리먼트를 전송하는 MPEG2 TS 패킷들의 PID를 제공한다.
program_element_count는 다음의 루프에서 인덱스되는 프로그램 엘리먼트들의 수를 나타내며, 1 또는 그 보다 큰 값으로 지정될 수 있다.
reference_count는 두번째 루프에 의해 인덱스되는 엘리먼트들의 개수를 나타내며, 1 또는 그 보다 큰 값으을 가질 수 있다.
PID는 재생 시간(presentation_time)이 제공되는 프로그램 엘리먼트를 전송하는 MPEG2 TS 패킷들의 PID를 나타내며, 해당 루프에 있는 하나의 PID는 상기 reference_PID과 동일하다.
earlist_presentation_time은 PID에 의해 식별되는 프로그램 엘리먼트 내의 재생 유닛(PU)에 대한 가장 빠른 재생 시간을 나타낼 수 있다.
reference_type이 '0'으로 설정되면 레퍼런스가 서브세그먼트에 대한 것임으로 나타내며, '1'로 설정되면 레퍼런스가 MPEG2 세그먼트 인덱스('m2si) 박스에 대한 것임을 나타낸다.
discontinuity는 해당 서브세그먼트가 PTS 불연속으로 시작됨을 나타내기 위해 '1'로 설정될 수 있다.
contains_PTS는 해당 서브세그먼트에서 레퍼런스 프로그램 엘리먼트의 첫번째 재생 유닛(PU)의 PTS가 전달됨을 나타내기 위해 '1'로 설정될 수 있다.
contains_RAP은 상기 참조되는 서브세그먼트에 있는 레퍼런스 프로그램 엘리먼트가 랜덤 액세스 포인트(RAP)를 포함함을 나타내기 위해 '1'로 설정될 수 있다.
reference_offset은 해당 박스에서 인덱스되는 첫번째 서브세그먼트의 첫번째 바이트로부터 해당 루프의 반복(iteration)에 의해 참조되는 서브세그먼트의 첫번째 바이트까지의 거리를 바이트 단위로 나타낼 수 있다.
subsegment_duration은, 상기 레퍼런스가 MPEG2 세그먼트 인덱스('m2si) 박스에 대한 것일 때는 해당 박스에 존재하는 subsegment_duration 필드들의 합을 전달하며, 상기 레퍼런스가 서브세그먼트에 대한 것일 때는 다음 서브세그먼트에 있는 레퍼런스 프로그램 엘리먼트의 임의의 재생 유닛(PU)의 가장 빠른 재생 시간과 상기 참조되는 서브세그먼트에 있는 레퍼런스 프로그램 엘리먼트의 임의의 재생 유닛(PU)의 가장 빠른 재생 시간 사이의 차이를 전달할 수 있다. 상기 지속 시간(duration)은 시그널링되는 타임스케일(signaled timescale)로 표현될 수 있다.
PTS는 해당 서브세그먼트의 레퍼런스 프로그램 엘리먼트의 가장 빠른 MPEG2 TS PTS를 나타낼 수 있다.
RAP_delta_time은, 상기 contains_RAP이 '1'로 설정되는 경우, 레퍼런스 프로그램 엘리먼트의 earlist_presentation_time에 대한 랜덤 액세스 포인트(RAP)의 재생 시간 오프셋을 제공할 수 있다. 한편, 상기 contains_RAP이 '0'인 경우, 상기 RAP_delta_time은 '0'의 값으로 유지될 수 있다.
또한, 상기 contains_PTS가 '1'인 경우, 상기 PTS는 해당 서브세그먼트의 레퍼런스 프로그램 엘리먼트의 가장 빠른 PTS를 제공할 수 있다.
상기한 바와 같은 구성을 가지는 메타 데이터는 다양한 방법으로 클라이언트(30)에 전달될 수 있다.
예를 들어, 상기 바이너리 포맷으로 표현된 메타 데이터는 세그먼트들의 해더(header) 부분으로 MPEG2 TS의 앞에 불을 수 있다. 상기 박스들은 인덱스되는 서브세그먼트의 첫번째 바이트 이전에 위치될 수 있으며, 이 경우 상기 데이터 오프셋은 상기 메타 데이터 박스들의 크기를 포함할 수 있다.
또한, 서브세그먼트를 참조할 때, 서브세그먼트의 첫번째 바이트는 상기 서브세그먼트를 인덱스하는 메타 데이터 박스의 첫번째 바이트로 해석될 수 있다.
XML 또는 바이너티 포맷으로 표현된 메타 데이터는 별도의 파일로 클라이언트(30)에게 전달될 수도 있으며, 이는 클라이언트(30)를 위한 HTTP 자원 또는 제공된 대역 외(provided out-of-band)일 수 있다.
이 경우, HTTP 상에서 별도의 자원으로 제공되며, 클라이언트(30)는 해당 자원을 획득하기 위해 HTTP URL을 이용하여야 한다. 그에 따라, 이는 미디어 세그먼트들을 위한 URL 정보와 유사한 매커니즘으로 MPD(Media Presentation Description에서 제공될 수도 있다.
그러나, 상기와 같은 메타 데이터 박스들의 집합을 하나의 파일로 그룹화하는 것이 좋을 수 있으며, 그에 따라 저장매체의 오버헤드를 감소시키고 전달을 용이하게 할 수 있으며, 서로 다른 세그먼트 크기들에 적응적일 수 있다.
이를 위해, 주어진 레프리젠테이션의 세그먼트 레벨에서 상기 박스들의 집합을 인덱스하기 위해 수퍼-세그먼트(super-segment)에 기초한 추가적인 인덱싱 메커니즘이 필요할 수 있다.
도 14 및 도 15는 상기 세그먼트 인덱스 박스의 구성에 대한 제2 실시예를 도시한 것으로, 수퍼-세그먼트 인덱스 박스(Super-Segment Index Box)의 구성을 나타낸 것이다.
도 14를 참조하면, 상기 MPEG2 수퍼-세그먼트 인덱스 박스('mp2s', MPEG-2 Super-Segment Index Box)는 레프리젠테이션에 포함된 하나 또는 그 이상의 세그먼트들에 대한 MPEG2 세그먼트 인덱스 박스('m2si')들의 집합에 관한 인덱스를 제공할 수 있다.
도 15에 도시된 'mp2s' 박스의 신텍스 구조를 참조하면, reference_count는 해당 루프에 의해 인덱스되는 세그먼트들의 개수를 나타낸다.
segment_index는 세그먼트 리스트 생성에 의해 사용되는 세그먼트의 유일한 세그먼트 인덱스(unique segment index)이다.
m2si_count는 현재의 segment_index에 의해 식별되는 하나의 세그먼트에 속하는 MPEG2 세그먼트 인덱스 박스('m2si')들의 개수를 나타낸다.
offset은 해당 루프에 의해 인덱스되는 첫번째 MPEG2 세그먼트 인덱스 박스('m2si')의 첫번째 바이트로부터 상기 인덱스되는 세그먼트에 대한 첫번째 MPEG2 세그먼트 인덱스 박스('m2si')의 첫번째 바이트까지의 거리를 바이트 단위로 나타낸다.
본 발명의 일실시예에 따른 미디어 콘텐트 송신 장치는 도 1 내지 도 15를 참조하여 설명한 바와 같은 서버(10)의 동작 중 적어도 일부를 수행할 수 있으며, 그를 위해 미디어 콘텐트를 복수의 레프리젠테이션들로 구성하는 미디어 인코더(11)와 상기 구성된 레프리젠테이션을 복수의 세그먼트들로 분할하는 세그멘터(segmenter, 12)를 포함할 수 있다.
이하에서는 도 16 및 도 17을 참조하여 본 발명에 따른 미디어 콘텐트 수신 방법 및 장치에 대한 실시예들에 대해 설명하기로 한다.
본 발명의 일실시예에 따른 수신 장치(300)는 도 1 내지 도 15를 참조하여 설명한 바와 같은 클라이언트(30)의 동작을 수행할 수 있다.
또한, 수신 장치(300)가 수신하는 미디어 콘텐트의 구성, 예를 들어 레프리젠테이션, 세그먼트 및 서브세그먼트의 구성은 도 3 내지 도 11을 참조하여 설명한 바와 같을 수 있으므로, 그에 대한 구체적인 설명은 이하 생략하기로 한다.
도 16은 본 발명의 실시예에 따른 미디어 콘텐트 수신 장치의 구성을 블록도로 도시한 것으로, 도시된 수신 장치(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 기반 미디어와 상기 다른 미디어를 함께 재생할 수 있다.
도 17은 본 발명의 실시예에 따른 미디어 콘텐트 수신 방법을 흐름도로 도시한 것으로, 도시된 수신 방법 중 도 1 내지 도 16을 참조하여 설명한 것과 동일한 것에 대한 설명은 이하 생략하기로 한다.
도 17을 참조하면, 송신 장치(300)는 미디어 콘텐트를 포함하는 복수의 레프리젠테이션을 수신하여(S400 단계), 상기 수신되는 레프리젠테이션을 재생한다(S420 단계).
예를 들어, 송신 장치(300)의 네트워크 인터페이스부(310)에 구비된 수신부(미도시)는 HTTP 1.1(RFC 2616)에서 정의된 HTTP GET 또는 HTTP partial GET method를 이용해 세그먼트 또는 세그먼트의 일부에 대한 전송을 송신 장치에 요청할 수 있다.
한편, 네트워크 인터페이스부(310)에 구비된 제어부(미도시)는 송신 장치로부터 수신되는 MPD(Media Presentation Description)을 이용하여 미디어 콘텐트의 비트율, 해상도, 언어 또는 코덱 등이 서로 상이한 복수의 레프리젠테이션들 어느 하나를 상기 수신할 레프리젠테이션으로 선택할 수 잇다.
상기 수신되는 레프리젠테이션를 재생하는 동안, 상기 제어부는 비트스트림 스위칭이 요구되는지 여부를 확인한다(S410 단계).
비트스트림 스위칭이 요구되는 경우, 상기 제어부는 수신되는 레프리젠테이션를 새로운 레프리젠테이션으로 스위칭한다(S430 단계).
상기 송신 장치(300)의 제어부가 레프리젠테이션들을 스위칭하는 방법은 도 3 내지 도 11을 참조하여 설명한 클라이언트(30)의 스위칭 동작과 동일할 수 있다.
도 1 내지 도 17을 참조하여 설명한 바와 같은 미디어 콘텐트의 수신 및 처리 방법은 본 발명의 실시예에 따른 IPTV 수신기에 의해 수행될 수 있다.
이하, 도 18 및 도 19를 참조하여 본 발명의 실시예에 따른 IPTV 수신기의 구성에 대해 보다 상세히 설명하기로 한다.
도 18은 본 발명의 일실시예에 의한 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)를 포함할 수 있다.
도 18을 참조하면, 네트워크 인터페이스부(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 수신기의 제어부의 기능은 도 18에 도시된 TCP/IP 매니저(502), 서비스 전달 매니저(504), PVR 매니저(505), 애플리케이션 매니저(513, 514), 서비스 디스커버리 매니저(509), 서비스 제어 매니저(503) 및 메타데이터 매니저(510)와 같이 복수의 모듈들로 분할되어 구현될 수 있다.
예를 들어, TCP/IP 매니저(502)는 상기한 바와 같은 타켓 패키지 정보를 이용해 SD&S 정보를 필터링하여, 네트워크 인터페이스부(501)가 특정 패키지(예를 들어, IPTV 수신기가 가입된 패키지)에 해당하는 페이로드 또는 세그먼트만을 서버로 요청하여 수신하도록 제어할 수 있다.
또는, TCP/IP 매니저(502)는 멀티캐스트 방식으로 수신되는 SD&S 정보를 상기 타켓 패키지 정보를 이용해 필터링하여, 특정 패키지에 해당하는 페이로드 또는 세그먼트만이 데이터 디코더(507)에 의해 파싱되어 처리되도록 할 수 있다.
도 19는 본 발명에 따른 IPTV 수신기의 구성에 대한 또 다른 실시예를 블록도로 도시한 것으로, IPTV 수신기의 구성을 기능적인 블록들로 나타낸 것이다. 도 19에 도시된 실선 화살표는 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을 출력할 수 있다.
상술한 본 발명에 따른 미디어 콘텐트 송수신 방법은 컴퓨터에서 실행되기 위한 프로그램으로 제작되어 컴퓨터가 읽을 수 있는 기록 매체에 저장될 수 있으며, 컴퓨터가 읽을 수 있는 기록 매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피디스크, 광 데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다.
컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다. 그리고, 상기 방법을 구현하기 위한 기능적인(function) 프로그램, 코드 및 코드 세그먼트들은 본 발명이 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (12)

  1. 인터넷을 통해 미디어 콘텐트(media content)를 전송하는 방법에 있어서,
    상기 전송되는 미디어 콘텐트의 비트율(bitrate)에 따라 상이하게 구성되는 복수의 레프리젠테이션들(representations)을 가지고 상기 미디어 콘텐트를 생성하는 단계;
    상기 복수의 레프리젠테이션들을 복수의 세그먼트들(segments)로 분할하는 단계, 여기서 상기 복수의 세그먼트들에 포함된 복수의 서브세그먼트들(subsegments)은 상호 정렬됨; 및
    상기 복수의 세그먼트들을 이용하여 상기 미디어 콘텐트를 전송하는 단계를 포함하고,
    상기 복수의 서브세그먼트들은
    상기 레프리젠테이션들 중 제1 레프리젠테이션의 하나의 세그먼트에 포함된 m 번째 서브세그먼트와 제2 레프리젠테이션의 하나의 세그먼트에 포함된 n 번째 서브세그먼트가 중첩되지 않도록 정렬되고,
    상기 각 레프리젠테이션은 인덱스 박스 및 세그먼트 인덱스 박스들을 포함하는 인덱스 세그먼트를 포함하고, 상기 세그먼트 인덱스 박스들은 상기 세그먼트 내의 상기 복수의 서브 세그먼트들을 인덱싱하고, 상기 인덱스 박스는 상기 세그먼트 인덱스 박스들을 인덱싱하는
    미디어 콘텐트 전송 방법.
  2. 제1항에 있어서,
    상기 복수의 서브세그먼트들은
    상기 m번째 서브세그먼트의 가장 빠른 재생 시간이 상기 n번째 서브세그먼트의 가장 늦은 재생 시간보다 늦도록 정렬되는
    미디어 콘텐트 전송 방법.
  3. 제1항에 있어서,
    TL(m,i)<TE(n,i) 또는 TL(n,i)<TE(m,i)인 경우, 상기 m번째 서브세그먼트와 상기 n번째 서브세그먼트는 중첩되지 않도록 정렬되고,
    TE(S,i)는 서브세그먼트 S의 스트림 i에 포함된 엑세스 유닛의 가장 빠른 재생 시간이고, TL(S,i)는 서브세그먼트 S의 스트림 i에 포함된 엑세스 유닛의 가장 늦은 재생 시간이고, 상기 i는 같은 미디어 컨텐트를 의미하는
    미디어 콘텐트 전송 방법.
  4. 인터넷을 통해 복수의 레프리젠테이션을 포함하는 미디어 콘텐트를 수신하는 방법에 있어서,
    상기 복수의 레프리젠테이션들 중 제1 레프리젠테이션을 수신하는 단계;
    상기 수신되는 제1 레프리젠테이션을 상기 복수의 레프리젠테이션들 중 하나인 제2 레프리젠테이션으로 스위칭하는 단계; 및
    상기 수신되는 제2 레프리젠테이션을 재생하는 단계를 포함하고,
    상기 제1 레프리젠테이션과 상기 제2 레프리젠테이션 각각은 복수의 세그먼트들로 분할되어 수신되며,
    상기 세그먼트에 포함된 서브세그먼트들은
    상기 제1 레프리젠테이션의 하나의 세그먼트에 포함된 복수의 서브세그먼트 중 m 번째 서브세그먼트가 상기 제2 레프리젠테이션의 하나의 세그먼트에 포함된 복수의 서브세그먼트 중 n 번째 서브세그먼트와 중첩되지 않도록 정렬되어 있고,
    상기 각 레프리젠테이션은 인덱스 박스 및 세그먼트 인덱스 박스들을 포함하는 인덱스 세그먼트를 포함하고, 상기 세그먼트 인덱스 박스들은 상기 세그먼트 내의 상기 복수의 서브 세그먼트들을 인덱싱하고, 상기 인덱스 박스는 상기 세그먼트 인덱스 박스들을 인덱싱하며,
    상기 복수의 레프리젠테이션은 상기 미디어 콘텐트의 비트율(bitrate)에 따라 상이하게 구성되는
    미디어 콘텐트 수신 방법.
  5. 제4항에 있어서,
    상기 제1 레프리젠테이션의 하나의 세그먼트에 포함된 복수의 서브세그먼트와 상기 제2 레프리젠테이션의 하나의 세그먼트에 포함된 복수의 서브세그먼트는
    상기 m번째 서브세그먼트의 가장 빠른 재생 시간이 상기 n번째 서브세그먼트의 가장 늦은 재생 시간보다 늦도록 정렬되는
    미디어 콘텐트 수신 방법.
  6. 제4항에 있어서,
    TL(m,i)<TE(n,i) 또는 TL(n,i)<TE(m,i)인 경우, 상기 m번째 서브세그먼트와 상기 n번째 서브세그먼트는 중첩되지 않도록 정렬되고,
    TE(S,i)는 서브세그먼트 S의 스트림 i에 포함된 엑세스 유닛의 가장 빠른 재생 시간이고, TL(S,i)는 서브세그먼트 S의 스트림 i에 포함된 엑세스 유닛의 가장 늦은 재생 시간이고, 상기 i는 같은 미디어 컨텐트를 의미하는
    미디어 콘텐트 수신 방법.
  7. 인터넷을 통해 미디어 콘텐트를 전송하는 장치에 있어서,
    상기 전송되는 미디어 콘텐트의 비트율(bitrate)에 따라 상이하게 구성되는 복수의 레프리젠테이션들을 가지고 상기 미디어 콘텐트를 생성하는 미디어 인코더;
    상기 복수의 레프리젠테이션들을 복수의 세그먼트들로 분할하는 세그멘터(segmenter)를 포함하고,
    상기 복수의 세그먼트들에 포함된 복수의 서브세그먼트들은
    상기 레프리젠테이션들 중 제1 레프리젠테이션의 하나의 세그먼트에 포함된 m 번째 서브세그먼트가 제2 레프리젠테이션의 하나의 세그먼트에 포함된 n 번째 서브세그먼트와 중첩되지 않도록 정렬되고,
    상기 각 레프리젠테이션은 인덱스 박스 및 세그먼트 인덱스 박스들을 포함하는 인덱스 세그먼트를 포함하고, 상기 세그먼트 인덱스 박스들은 상기 세그먼트 내의 상기 복수의 서브 세그먼트들을 인덱싱하고, 상기 인덱스 박스는 상기 세그먼트 인덱스 박스들을 인덱싱하는
    미디어 콘텐트 전송 장치.
  8. 제7항에 있어서,
    상기 복수의 서브세그먼트들은
    상기 m번째 서브세그먼트의 가장 빠른 재생 시간이 상기 n번째 서브세그먼트의 가장 늦은 재생 시간보다 늦도록 정렬되는
    미디어 콘텐트 전송 장치.
  9. 제7항에 있어서,
    TL(m,i)<TE(n,i) 또는 TL(n,i)<TE(m,i)인 경우, 상기 m번째 서브세그먼트와 상기 n번째 서브세그먼트는 중첩되지 않도록 정렬되고,
    TE(S,i)는 서브세그먼트 S의 스트림 i에 포함된 엑세스 유닛의 가장 빠른 재생 시간이고, TL(S,i)는 서브세그먼트 S의 스트림 i에 포함된 엑세스 유닛의 가장 늦은 재생 시간이고, 상기 i는 같은 미디어 컨텐트를 의미하는
    미디어 콘텐트 전송 장치.
  10. 인터넷을 통해 미디어 콘텐트를 수신하는 미디어 수신 장치에 있어서,
    제1 레프리젠테이션과 제2 레프리젠테이션을 포함하는 복수의 레프리젠테이션을 포함하는 상기 미디어 콘텐트를 수신하는 수신부; 및
    상기 제1 레프리젠테이션과 상기 제2 레프리젠테이션 사이에서 스위칭하는 제어부를 포함하고,
    상기 제1 레프리젠테이션 및 상기 제2 레프리젠테이션 각각은 복수의 세그먼트로 분할되어 수신되며,
    상기 제1 레프리젠테이션의 하나의 세그먼트에 포함된 복수의 서브 세그멘트 중 m번째 서브세그먼트는 상기 제2 레프리젠테이션의 하나의 세그먼트에 포함된 복수의 서브 세그멘트 중 n번째 서브세그먼트와 중첩되지 않도록 정렬되고,
    상기 각 레프리젠테이션은 인덱스 박스 및 세그먼트 인덱스 박스들을 포함하는 인덱스 세그먼트를 포함하고, 상기 세그먼트 인덱스 박스들은 상기 세그먼트 내의 상기 복수의 서브 세그먼트들을 인덱싱하고, 상기 인덱스 박스는 상기 세그먼트 인덱스 박스들을 인덱싱하며,
    상기 복수의 레프리젠테이션은 상기 미디어 콘텐트의 비트율(bitrate)에 따라 상이하게 구성되는
    미디어 콘텐트 수신 장치.
  11. 제10항에 있어서,
    상기 제1 레프리젠테이션의 하나의 세그먼트에 포함된 복수의 서브세그먼트와 상기 제2 레프리젠테이션의 하나의 세그먼트에 포함된 복수의 서브세그먼트는
    상기 m번째 서브세그먼트의 가장 빠른 재생 시간이 상기 n번째 서브세그먼트의 가장 늦은 재생 시간보다 늦도록 정렬되는
    미디어 콘텐트 수신 장치.
  12. 제10항에 있어서,
    TL(m,i)<TE(n,i) 또는 TL(n,i)<TE(m,i)인 경우, 상기 m번째 서브세그먼트와 상기 n번째 서브세그먼트는 중첩되지 않도록 정렬되고,
    TE(S,i)는 서브세그먼트 S의 스트림 i에 포함된 엑세스 유닛의 가장 빠른 재생 시간이고, TL(S,i)는 서브세그먼트 S의 스트림 i에 포함된 엑세스 유닛의 가장 늦은 재생 시간이고, 상기 i는 같은 미디어 컨텐트를 의미하는
    미디어 콘텐트 수신 장치.
KR1020167009513A 2010-11-02 2011-10-27 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치 KR101649533B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US40912610P 2010-11-02 2010-11-02
US61/409,126 2010-11-02
PCT/KR2011/008094 WO2012060581A2 (ko) 2010-11-02 2011-10-27 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020147012386A Division KR101613941B1 (ko) 2010-11-02 2011-10-27 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치

Publications (2)

Publication Number Publication Date
KR20160047585A KR20160047585A (ko) 2016-05-02
KR101649533B1 true KR101649533B1 (ko) 2016-08-19

Family

ID=46024918

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020137011179A KR101452669B1 (ko) 2010-11-02 2011-10-27 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치
KR1020167009513A KR101649533B1 (ko) 2010-11-02 2011-10-27 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치
KR1020147012386A KR101613941B1 (ko) 2010-11-02 2011-10-27 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020137011179A KR101452669B1 (ko) 2010-11-02 2011-10-27 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020147012386A KR101613941B1 (ko) 2010-11-02 2011-10-27 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치

Country Status (7)

Country Link
US (1) US9781188B2 (ko)
EP (1) EP2637414A4 (ko)
KR (3) KR101452669B1 (ko)
CN (2) CN103262556B (ko)
CA (1) CA2816621A1 (ko)
DE (1) DE112011103642T5 (ko)
WO (1) WO2012060581A2 (ko)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2621168A4 (en) * 2010-09-20 2014-07-09 Humax Co Ltd METHOD OF PROCESSING TO BE IMPLEMENTED IN THE PRESENCE OF AN EXPRESSION SWITCH DURING CONTINUOUS HTTP TRANSMISSION
EP2924989A1 (en) 2011-03-16 2015-09-30 Electronics and Telecommunications Research Institute Apparatus and method for providing streaming content using representations
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
WO2013089437A1 (ko) * 2011-12-12 2013-06-20 엘지전자 주식회사 미디어 컨텐트를 수신하는 장치 및 방법
US9282348B2 (en) * 2012-08-13 2016-03-08 Disney Enterprises, Inc. Content based partitioning of digital media content
CN104737514B (zh) * 2012-10-23 2018-08-17 瑞典爱立信有限公司 用于分布媒体内容服务的方法和设备
US9075619B2 (en) * 2013-01-15 2015-07-07 Nuance Corporation, Inc. Method and apparatus for supporting multi-modal dialog applications
US9854017B2 (en) * 2013-03-15 2017-12-26 Qualcomm Incorporated Resilience in the presence of missing media segments in dynamic adaptive streaming over HTTP
WO2014171718A1 (ko) * 2013-04-16 2014-10-23 엘지전자 주식회사 방송 전송 장치, 방송 수신 장치, 방송 전송 장치의 동작 방법 및 방송 수신 장치의 동작 방법
JP2014230055A (ja) * 2013-05-22 2014-12-08 ソニー株式会社 コンテンツ供給装置、コンテンツ供給方法、プログラム、およびコンテンツ供給システム
CN105340280B (zh) * 2013-07-02 2018-09-25 索尼公司 内容供应装置、内容供应方法、存储介质、终端装置及内容供应系统
JP6492006B2 (ja) 2013-07-02 2019-03-27 サターン ライセンシング エルエルシーSaturn Licensing LLC コンテンツ供給装置、コンテンツ供給方法、プログラム、および、コンテンツ供給システム
EP3033683B1 (en) * 2013-08-13 2020-07-08 Canon Kabushiki Kaisha Information processing apparatus, control method therefor, and program
US10097294B2 (en) 2014-01-03 2018-10-09 Lg Electronics Inc. Apparatus for transmitting broadcast signals, apparatus for receiving broadcast signals, method for transmitting broadcast signals and method for receiving broadcast signals
US20150253974A1 (en) 2014-03-07 2015-09-10 Sony Corporation Control of large screen display using wireless portable computer interfacing with display controller
US20170055046A1 (en) * 2014-05-21 2017-02-23 Lg Electronics Inc. Broadcast signal transmitting/receiving method and device
EP2978225B1 (en) * 2014-07-23 2017-11-08 Wildmoka Method for obtaining in real time a user selected multimedia content part
CN105659613B (zh) * 2014-08-12 2019-01-25 Lg 电子株式会社 广播信号发送方法、广播信号接收方法、广播信号发送设备、以及广播信号接收设备
KR102326282B1 (ko) 2015-02-09 2021-11-15 한국전자통신연구원 대역폭에 적응적인 대쉬 기반 컨텐츠 제공 장치 및 방법
US9973562B2 (en) 2015-04-17 2018-05-15 Microsoft Technology Licensing, Llc Split processing of encoded video in streaming segments
US20180124439A1 (en) * 2015-05-18 2018-05-03 Lg Electronics Inc. Broadcast signal transmitting apparatus, broadcast signal receiving apparatus, broadcast signal transmitting method, and broadcast signal receiving method
CN107925790B (zh) * 2015-08-17 2022-02-22 索尼公司 接收设备、发送设备和数据处理方法
WO2017080927A1 (en) * 2015-11-09 2017-05-18 Thomson Licensing Method and device for adapting the video content decoded from elementary streams to the characteristics of a display
CN105451073B (zh) * 2015-11-16 2018-11-02 深圳Tcl数字技术有限公司 Mp4视频源的传送方法和装置
KR101863598B1 (ko) * 2016-07-29 2018-06-01 주식회사 에어브로드 스트리밍 서비스를 위한 클라이언트의 동작 방법
US11128914B2 (en) * 2018-04-25 2021-09-21 Roku, Inc. Client side stitching of content into a multimedia stream
US11438647B2 (en) 2018-05-11 2022-09-06 Qualcomm Incorporated Signaling missing sections of media data for network streaming in a manifest file
US10715882B2 (en) * 2018-06-29 2020-07-14 Intel Corporation Timing synchronization between a content source and a display panel
CN110876084B (zh) * 2018-08-29 2021-01-01 浙江大学 处理和传输媒体数据的方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076136A1 (en) 2002-09-17 2005-04-07 Samsung Electronics Co., Ltd. Apparatus and method for streaming multimedia data
US20080074545A1 (en) 2006-02-13 2008-03-27 Kei Matsubayashi Transmitting apparatus, transmitting method, receiving apparatus, receiving method, and transmitting and receiving system
US20090300203A1 (en) 2008-05-30 2009-12-03 Microsoft Corporation Stream selection for enhanced media streaming

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100459682C (zh) * 1999-09-20 2009-02-04 提维股份有限公司 经由电视广播数据流的广告排定电视节目录制时程的装置和方法
US20050238316A1 (en) * 2002-09-19 2005-10-27 Thomson Licensing S,A, Hybrid video on demand using mpeg2 transport
CN100579204C (zh) * 2004-03-29 2010-01-06 松下电器产业株式会社 累积显示装置和联动显示方法和系统
CN101164337A (zh) * 2005-04-25 2008-04-16 夏普株式会社 记录装置、再现装置、记录再现装置、记录程序及其记录介质、再现程序及其记录介质
US9432433B2 (en) * 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
JP4686587B2 (ja) * 2008-10-16 2011-05-25 株式会社東芝 映像記録再生装置およびファイル管理方法
US8806050B2 (en) * 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US20120114118A1 (en) 2010-11-05 2012-05-10 Samsung Electronics Co., Ltd. Key rotation in live adaptive streaming
US9462024B2 (en) * 2011-06-08 2016-10-04 Futurewei Technologies, Inc. System and method of media content streaming with a multiplexed representation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050076136A1 (en) 2002-09-17 2005-04-07 Samsung Electronics Co., Ltd. Apparatus and method for streaming multimedia data
US20080074545A1 (en) 2006-02-13 2008-03-27 Kei Matsubayashi Transmitting apparatus, transmitting method, receiving apparatus, receiving method, and transmitting and receiving system
US20090300203A1 (en) 2008-05-30 2009-12-03 Microsoft Corporation Stream selection for enhanced media streaming

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Text of ISO/IEC 23001-6: Dynamic adaptive streaming over HTTP (DASH)

Also Published As

Publication number Publication date
WO2012060581A3 (ko) 2012-07-19
KR20160047585A (ko) 2016-05-02
KR20140066265A (ko) 2014-05-30
EP2637414A4 (en) 2014-10-22
KR101452669B1 (ko) 2014-10-23
WO2012060581A2 (ko) 2012-05-10
KR101613941B1 (ko) 2016-04-20
KR20130076884A (ko) 2013-07-08
CN103262556B (zh) 2016-12-07
DE112011103642T5 (de) 2013-09-19
CN103262556A (zh) 2013-08-21
US20130238758A1 (en) 2013-09-12
US9781188B2 (en) 2017-10-03
CN106851334A (zh) 2017-06-13
EP2637414A2 (en) 2013-09-11
CA2816621A1 (en) 2012-05-10

Similar Documents

Publication Publication Date Title
KR101649533B1 (ko) 미디어 콘텐트 송수신 방법 및 그를 이용한 송수신 장치
US10009660B2 (en) Media content transceiving method and transceiving apparatus using same
US10129609B2 (en) Method for transceiving media files and device for transmitting/receiving using same
US20180184136A1 (en) Apparatus and method for transmitting/receiving processes of a broadcast signal
KR20130069582A (ko) 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치
KR20130084972A (ko) 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치
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