KR101786050B1 - 데이터 전송 방법 및 장치 - Google Patents

데이터 전송 방법 및 장치 Download PDF

Info

Publication number
KR101786050B1
KR101786050B1 KR1020100103725A KR20100103725A KR101786050B1 KR 101786050 B1 KR101786050 B1 KR 101786050B1 KR 1020100103725 A KR1020100103725 A KR 1020100103725A KR 20100103725 A KR20100103725 A KR 20100103725A KR 101786050 B1 KR101786050 B1 KR 101786050B1
Authority
KR
South Korea
Prior art keywords
information
media data
component
content
client
Prior art date
Application number
KR1020100103725A
Other languages
English (en)
Other versions
KR20110053179A (ko
Inventor
권오훈
하호진
임성빈
구안후아 장
금지은
Original Assignee
삼성전자 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자 주식회사 filed Critical 삼성전자 주식회사
Priority to CN201080061416.4A priority Critical patent/CN102812673B/zh
Priority to JP2012538771A priority patent/JP2013511201A/ja
Priority to PCT/KR2010/008068 priority patent/WO2011059291A2/en
Priority to US12/946,315 priority patent/US20110119396A1/en
Priority to EP10830223.3A priority patent/EP2499794B1/en
Publication of KR20110053179A publication Critical patent/KR20110053179A/ko
Priority to JP2015159842A priority patent/JP6081541B2/ja
Application granted granted Critical
Publication of KR101786050B1 publication Critical patent/KR101786050B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2362Generation or processing of Service Information [SI]
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • 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/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Library & Information Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Communication Control (AREA)

Abstract

콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보에 기초해 스트리밍 환경에 적응적인 스트리밍을 수행하는 방법 및 장치가 개시된다.

Description

데이터 전송 방법 및 장치{Method and apparatus for transmitting and receiving of data}
본 발명은 데이터의 전송/수신 방법 및 장치에 대한 것으로, 특히 미디어 데이터에 포함된 컴포넌트데 대한 정보를 이용하여 데이터를 전송/수신하는 방법 및 장치에 대한 것이다.
네트워크를 통해 미디어 데이터를 전송하는 방식에는 다운로드 방식과 스트리밍 방식이 있다. 스트리밍 방식은 서버가 실시간으로 미디어 데이터를 전송하고, 클라이언트는 수신된 미디어 데이터를 실시간으로 재생하는 방식이다.
미디어 데이터는 복수 개의 컴포넌트들을 포함하는 것이 일반적이다. 서버는 복수 개의 컴포넌트들의 조합에 해당하는 복수 개의 미디어 데이터들을 저장하고, 사용자가 이들 중 하나를 요청하면 요청된 미디어 데이터를 전송한다.
상기의 문제점을 해결하기 위한 본 발명의 목적은, 데이터를 전송 및 수신하는 방법을 제공하는 것이며, 특히 미디어 데이터에 포함된 컴포넌트들에 대한 정보를 함께 전송하는 데이터 전송 방법 및 장치를 제공하는 것이다.
상기의 목적을 달성하기 위한 본 발명의 일 실시예가 갖는 하나의 특징은, 적어도 하나의 컴포넌트를 포함하는 제 1 미디어 데이터에 대한 정보를 획득하는 단계; 및 상기 제 1 미디어 데이터에 대한 정보에 기초하여, 상기 적어도 하나의 컴포넌트를 획득하는 단계를 포함하고, 상기 제 1 미디어 데이터에 대한 정보는, 상기 적어도 하나의 컴포넌트가 제 2 미디어 데이터로부터 획득된 컴포넌트와 함께 제공될 수 있는지를 나타내는 정보를 포함하는 것이다.
상기 제 1 미디어 데이터에 대한 정보는, 상기 적어도 하나의 컴포넌트 각각에 대한 정보인 컴포넌트 정보를 포함하고, 상기 컴포넌트 정보는, 상기 제 1 미디어 데이터에 포함된 적어도 하나의 컴포넌트에 대한 타입 정보를 포함할 수 있다.
상기 컴포넌트 정보는, 상기 적어도 하나의 컴포넌트의 식별 정보를 더 포함할 수 있다.
상기 컴포넌트 정보는, 상기 제 1 미디어 데이터에 포함된 비디오 컴포넌트에 대한 카메라 각도 정보를 더 포함할 수 있다.
상기 컴포넌트 정보는, 상기 제 1 미디어 데이터에 포함된 오디오 컴포넌트에 대한 채널 정보 및 언어 코드 정보중 적어도 하나를 더 포함할 수 있다.
상기 컴포넌트 정보는, 상기 제 1 미디어 데이터에 포함된 서브타이틀 컴포넌트에 대한 언어 정보를 더 포함할 수 있다.
상기 제 1 미디어 데이터 정보는, 상기 제 1 미디어 데이터와 상기 제 2 미디어 데이터가 동일한 콘텐트를 인코딩하여 생성된 컴포넌트를 포함하는지를 나타내는 정보를 더 포함할 수 있다.
상기 제 1 미디어 데이터에 대한 정보를 획득하는 단계는, 소정의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 컴포넌트들에 대한 정보를 포함하는 파일로부터 상기 제 1 미디어 데이터에 대한 정보를 획득하는 단계를 포함할 수 있다.
본 발명의 다른 실시예가 갖는 하나의 특징은 적어도 하나의 컴포넌트가 포함를 포함하는 제 1 미디어 데이터에 대한 정보를 생성하는 단계; 상기 제 1 미디어 데이터에 대한 정보를 전송하는 단계; 및 상기 전송에 대응한 요청에 기초하여, 상기 적어도 하나의 컴포넌트를 전송하는 단계를 포함하고, 상기 제 1 미디어 데이터에 대한 정보는, 상기 적어도 하나의 컴포넌트가 제 2 미디어 데이터로부터 획득된 컴포넌트와 함께 제공될 수 있는지를 나타내는 정보를 포함하는 것이다.
본 발명의 다른 실시예가 갖는 하나의 특징은, 멀티미디어 데이터를 구성하는 적어도 하나의 컴포넌트가 포함된 제 1 미디어 데이터에 대한 정보를 획득하는 정보 획득부; 및 상기 제 1 미디어 데이터에 대한 정보에 기초하여, 상기 적어도 하나의 컴포넌트를 획득하는 컴포넌트 획득부를 포함하고,
상기 제 1 미디어 데이터에 대한 정보는, 상기 적어도 하나의 컴포넌트가 제 2 미디어 데이터로부터 획득된 컴포넌트와 함께 제공될 수 있는지를 나타내는 정보를 포함하는 것이다.
본 발명의 다른 실시예가 갖는 하나의 특징은, 적어도 하나의 컴포넌트가 포함된 제 1 미디어 데이터에 대한 정보를 생성하는 정보 생성부; 상기 제 1 미디어 데이터에 대한 정보를 전송하는 정보 전송부; 및 상기 전송에 대응한 요청에 기초하여, 상기 적어도 하나의 컴포넌트를 전송하는 컴포넌트 전송부를 포함하고, 상기 제 1 미디어 데이터에 대한 정보는, 상기 적어도 하나의 컴포넌트가 제 2 미디어 데이터로부터 획득된 컴포넌트와 함께 제공될 수 있는지를 나타내는 정보를 포함하는 것이다.
도 1은 본 발명의 일 실시예에 따른 스트리밍 시스템을 도시한다.
도 2a 및 2b는 본 발명의 일 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 콘텐트에 대한 정보를 포함하는 파일의 스키마(schema)를 도시한다.
도 4a는 본 발명의 일 실시예에 따른 복수의 미디어 데이터를 정의하기 위한 정보를 도시한다.
도 4b는 본 발명의 일 실시예에 따른 미디어 데이터의 헤더에 대한 정보를 도시한다.
도 4c는 본 발명의 일 실시예에 따른 복수의 미디어 데이터 각각에 포함된 적어도 하나의 부분들에 대한 정보를 포함한다.
도 5a 및 5b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 또 다른 실시예에 따른 콘텐트에 대한 정보를 포함하는 파일의 스키마를 도시한다.
도 7은 본 발명의 또 다른 실시예에 따른 콘텐트에 대한 정보를 도시한다.
도 8a 및 8b는 본 발명의 일 실시예에 따른 미디어 표현 기술의 스키마를 도시한다.
도 9a 내지 9h는 본원 발명의 일 실시예에 따른 미디어 표현 기술을 도시한다.
도 10a 내지 10c는 본 발명의 일 실시예에 따른 복수의 미디어 데이터를 도시한다.
도 11a 및 11b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 12a 및 12b는 본 발명의 또 다른 실시예에 따른 복수의 미디어 데이터를 도시한다.
도 13은 본 발명의 일 실시예에 따른 데이터 전송 시스템의 동작 방법에 대한 흐름도를 나타낸다.
도 14는 본 발명의 일 실시예에 따른 컴포넌트 정보에 대한 일 예를 나타낸다.
도 15는 본 발명의 일 실시예에 따른 미디어 데이터에 대한 정보에 대한 일 예를 나타낸다.
도 16는 본 발명의 다른 실시예에 따른 컴포넌트 정보에 대한 일 예를 나타낸다.
도 17는 본 발명의 다른 실시예에 따른 미디어 데이터에 대한 정보에 대한 일 예를 나타낸다.
도 18는 본 발명의 또 다른 실시예에 따른 미디어 데이터에 대한 정보에 대한 일 예를 나타낸다.
도 19는 본 발명의 일 실시예에 따른 데이터 전송 장치(1900)에 대한 블록도를 나타낸다.
도 20는 본 발명의 일 실시예에 따른 데이터 수신 장치(2000)에 대한 블록도를 나타낸다.
도 21은 본 발명의 다른 실시예에 따른 데이터 수신 방법에 대한 흐름도를 나타낸다.
우선, 설명의 편의를 위하여 본 명세서에서 사용되는 용어를 간단히 정의한다.
컨텐트의 일 예는 오디오 정보, 비디오 정보, 오디오-비디오 정보 및 데이터를 포함한다. 컨텐트 아이템(Content Item)은 후술할 복수 개의 컴포넌트들로 구성될 수 있다.
컴포넌트(component)는 컴포넌트는 오디오 정보, 비디오 정보, 서브 타이틀 정보등과 같이 컨텐트 아이템의 성분이다. 일 예로, 컴포넌트는 특정 언어로 작성된 서브타이틀 스트림이나 특정 카메라 앵글에서 획득한 비디오 스트림일 수 있다. 컴포넌트는 컨테이너에 따라 트랙이나 기본 스트림(Elementary Stream, ES)로 명명될 수 있다.
컨텐트 리소스는 컨텐트 아이템에 대한 적응적인 스트리밍을 가능하게 하기 위하여 복수 개의 리프리젠테이션(representation)에서 제공되는 컨텐트 아이템이다. (예를 들면, 다양한 품질, 비트레이트들, 각도들) 서비스 검색 과정은 컨텐트 리소스로 지칭될 수 있다. 컨텐트 리소스는 하나 이상의 연속적인 타임의 피어리드로 구성될 수 있다.
피어리드는 컨텐트 리소스의 시간적인 섹션이다.
리프리젠테이션은 피어리드내의 컨텐트 리소스의 버전(모든 컴포넌트들 또는 일부 컴포넌트들)이다. 리프리젠테이션들은 컴포넌트들의 서브셋이 상이하거나, 컴포넌트의 인코딩 파리미터들(예를 들면, 비트레이트)가 상이할 수 있다. 본 명세서에서는 리프리젠테이션을 미디어 데이터로 지칭하지만, 하나 이상의 컴포넌트를 포함하는 데이터를 지칭하는 어떠한 용어로도 사용될 수 있다.
세그먼트는 특정 시스템 레이어 형식(TS 또는 MP4)에서 유일한 URL을 통하여 지칭되는 리프리젠테이션의 시간적인 섹션을 의미한다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 스트리밍 시스템을 도시한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 스트리밍 시스템(100)은 인코딩 장치(110), 서버(120) 및 클라이언트(130)를 포함한다.
인코딩 장치(110)는 입력된 콘텐트를 복수의 상이한 품질로 인코딩하여 하나의 콘텐트에 대한 복수의 미디어 데이터를 생성한다. 서버(120)가 클라이언트(130)에 미디어 데이터를 스트리밍할 때, 스트리밍 환경은 변경될 수 있다. 예를 들어, 스트리밍을 위한 네트워크(140) 대역폭이 변경될 수도 있고, 미디어 데이터를 전송하기 위해 서버(120)가 사용 가능한 하드웨어 자원 또는 미디어 데이터를 수신하기 위해 클라이언트(130)가 사용 가능한 하드웨어 자원이 변경될 수도 있다.
따라서, 인코딩 장치(110)는 유동적인 스트리밍 환경에 따른 적응적인 스트리밍을 위해 하나의 콘텐트를 복수의 상이한 품질로 인코딩한다. 비트율 또는 샘플링 주파수(sampling frequency) 또는 해상도 등과 같은 인자들을 조절함으로써 하나의 콘텐트를 복수의 상이한 품질로 인코딩할 수 있다. 예를 들어, 하나의 동영상 콘텐트를 서로 다른 해상도로 인코딩하여 500 Kbps, 1000 Kbps 및 2000 Kbps의 복수의 미디어 데이터를 생성할 수 있다.
상이한 품질로 인코딩된 복수의 미디어 데이터는 서버(120)에 전송되고, 이 때, 콘텐트에 대한 정보 및 복수의 미디어 데이터 각각에 대한 정보도 함께 서버(120)에 전송된다. 콘텐트에 대한 정보는 콘텐트의 메타 데이터로서 콘텐트의 제목(title), 시놉시스(synopsis), 콘텐트 식별자(Content ID), 콘텐트 URL(Uniform Resource Locator) 등과 같은 정보를 포함할 수 있다. 복수의 미디어 데이터에 대한 정보는 각각의 미디어 데이터의 품질, 유형 및 식별자 등을 포함할 수 있는 바 이에 대해서는 도 4a, 4b 및 4c를 참조하여 상세히 설명한다.
클라이언트(140)는 콘텐트에 대한 정보 및 복수의 미디어 데이터에 대한 정보 중 적어도 하나를 수신하고, 이에 기초해 서버(120)에 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 요청한다. 클라이언트(130)는 스트리밍 환경을 추정(estimation)하고, 추정된 스트리밍 환경에 기초해 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 선택한다. 추정된 스트리밍 환경에서 적절한 QoS를 유지할 수 있는 적어도 하나의 미디어 데이터를 선택할 수 있다. 그러 다음, 클라이언트(130)는 선택된 적어도 하나의 미디어 데이터의 전송을 요청하는 HTTP 요청(request)을 서버(120)에 전송할 수 있다.
스트리밍 환경이 열화되어 높은 품질의 미디어 데이터를 수신하면, 끊임없이 미디어 데이터를 재생할 수 없는 경우에는 복수의 미디어 데이터 중 낮은 품질의 미디어 데이터를 요청하고, 스트리밍 환경이 개선되어 높은 품질의 미디어 데이터를 수신하여도, 끊임없이 미디어 데이터를 재생할 수 있는 경우에는 복수의 미디어 데이터 중 높은 품질의 미디어 데이터를 요청할 수 있다.
소정의 미디어 데이터를 수신하고 있는 도중에 다른 미디어 데이터를 전송할 것을 서버(120)에 요청할 수도 있다. 예를 들어, 스트리밍 환경이 열화된 상태에서 낮은 품질의 제1 미디어 데이터를 요청하여 수신하고 있던 클라이언트(130)는 스트리밍 환경이 개선됨에 따라 보다 높은 품질의 제2 미디어 데이터를 전송할 것을 서버(120)에 요청할 수 있다. 종래 기술에 따른 스트리밍 방법에 의하면, 서버(120)와 클라이언트(130)가 스트리밍 채널을 최초에 설정할 때, 품질을 한번 설정하면, 계속해서 동일한 품질로 미디어 데이터를 송수신하여야 했다. 그러나, 본원 발명에 따르면, 클라이언트(130)가 낮은 품질의 제1 미디어 데이터를 수신하던 중에도 동일한 콘텐트에 대한 보다 높은 품질의 제2 미디어 데이터를 다시 요청할 수 있어, 스트리밍 환경에 따른 적응적인 스트리밍이 가능해진다.
네트워크(140)의 대역폭 및 서버(120) 또는 클라이언트(130)의 사용 가능한 하드웨어 자원에 기초해 스트리밍 환경을 추정하는 다양한 방법들이 클라이언트(130)가 스트리밍 환경을 추정하는데 이용될 수 있다. 예를 들어, 클라이언트(130)는 수신되는 미디어 데이터의 타임 스탬프 및 BER(Bit Error Rate)에 기초해 스트리밍 환경을 추정할 수 있다. 수신되는 미디어 데이터의 타임 스탬프를 확인하여 미디어 데이터가 재생 속도보다 느린 속도로 수신되고 있으면, 스트리밍 환경이 열화되고 있는 것으로 판단할 수 있다. 또한, 수신되는 미디어 데이터의 BER이 높아져도 스트리밍 환경이 열화되고 있는 것으로 판단할 수 있다.
클라이언트(130)가 스트리밍 환경에 따라 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 전송할 것을 요청하면, 서버(120)는 요청된 미디어 데이터를 클라이언트(130)에 전송한다. HTTP 요청에 대한 HTTP 응답으로서 요청된 미디어 데이터를 클라이언트(130)에 전송할 수 있다.
복수의 미디어 데이터 각각은 콘텐트를 상이한 품질로 인코딩하고, 분할하여 생성된 복수의 부분 중 적어도 하나를 포함할 수 있다. 다시 말해, 인코딩 장치(110)의 인코딩 결과 생성된 복수의 미디어 데이터 각각은 시간에 기초해 분할된 적어도 하나의 부분들을 각각 포함할 수 있다. 서버(120)는 콘텐트를 하나의 스트림으로 인코딩하여 연속해서 전송하는 것이 아니라 복수의 부분으로 분할하여 각각 전송한다. 콘텐트를 10초 또는 20초와 같이 소정의 시간 단위로 콘텐트를 분할하여 복수의 부분을 생성할 수 있다. 분할의 기초가 되는 시간은 GOP(Group of Picture)에 기초해 설정될 수 있다. 하나 또는 둘 이상의 GOP의 픽처들에 대응되는 미디어 데이터를 하나의 부분으로 설정할 수 있다.
예를 들어, 두 종류의 품질로 콘텐트가 스트리밍 되는 경우, 제1 미디어 데이터는 콘텐트를 제1 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 포함할 수 있고, 제2 미디어 데이터는 콘텐트를 제2 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 포함할 수 있다.
복수의 미디어 데이터를 시간에 기초해 각각 분할함으로써, 전술한 적응적인 스트리밍이 가능해진다. 예를 들어, 스트리밍이 시작되면 서버(120)는 품질이 낮은 제1 미디어 데이터의 0초에서 20초에 해당하는 부분을 전송한다. 그런 다음, 20초 이후에 스트리밍 환경이 개선된 것으로 판단되어 클라이언트(130)가 보다 높은 품질의 미디어 데이터를 요청하면, 서버(120)는 보다 품질이 높은 제2 미디어 데이터의 20초에서 40초에 해당하는 부분을 전송할 수 있다. 미디어 데이터가 시간에 기초해 복수의 부분들로 분할되어 있기 때문에 스트리밍 도중에도 스트리밍 환경에 따라 상이한 미디어 데이터의 부분들을 전송할 수 있다.
도 2a는 본 발명의 일 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 2a를 참조하면, 단계 210에서 클라이언트(130)는 소정의 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청한다. 클라이언트(130)의 사용자가 클라이언트(130)의 화면에 표시된 사용자 인터페이스에서 소정의 콘텐트를 선택하면, 선택된 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청한다. 클라이언트(130)는 콘텐트에 대한 정보를 전송할 것을 요청하는 HTTP 요청을 서버(120)에 전송할 수 있다.
클라이언트(130)로부터 요청을 수신한 서버(120)는 클라이언트(130)에 콘텐트에 대한 정보를 전송한다. HTTP 요청에 대한 HTTP 응답으로서 콘텐트에 대한 정보를 클라이언트(130)에 전송할 수 있다. 콘텐트에 대한 정보는 OIPF(Open IPTV Forum) 표준에 따른 CAD(Content Access Descriptor)일 수 있다. 도 3을 참조하여 상세히 설명한다.
도 3은 본 발명의 일 실시예에 따른 콘텐트에 대한 정보를 포함하는 파일의 스키마(schema)를 도시한다. 콘텐트에 대한 정보를 포함하는 파일은 CAD로서 XML(eXtensible Markup Language) 파일일 수 있다. 이하 본 발명의 상세한 설명에서는 태그(tag) 및 속성(attribute)을 구분하여 설명하나, 본 발명의 상세한 설명에서 태그에 의해 정의되는 항목을 태그가 아닌 속성에 의해 정의하거나, 본 발명의 상세한 설명에서 속성에 의해 정의되는 항목을 속성이 아닌 태그에 의해 정의할 수 있음은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다.
도 3을 참조하면, 콘텐트에 대한 정보는 "Title", "Synopsis", "OriginSite", "ContentURL" 태그 등을 포함할 수 있다.
종래 기술에 따른 미디어 데이터의 스트리밍은 하나의 콘텐트를 소정의 품질로 인코딩하여 하나의 미디어 데이터를 생성하므로, 종래 기술에 따른 콘텐트에 대한 정보(특히, OIPF에 따른 CAD)는 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하지 않는다.
그러나, 본 발명의 일 실시예에 따른 콘텐트에 대한 정보는 하나의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하는 바, 도 3에 도시된 실시예의 "Tracks", "RefData" 및 "Fragments" 태그가 이에 해당한다.
도 4a는 본 발명의 일 실시예에 따른 복수의 미디어 데이터를 정의하기 위한 정보를 도시한다.
도 4a를 참조하면, "Tracks" 태그는 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터를 구분하기 위한 정보이다. "Tracks" 태그는 복수의 미디어 데이터 각각에 할당된 "ID" 속성(attribute), "Type" 속성 및 "Bitrate" 속성을 포함한다.
"ID" 속성은 미디어 데이터에 대해 순서대로 부여되는 식별자를 정의하고, "Type" 속성은 미디어 데이터의 오디오 데이터, 비디오 데이터, 비디오/오디오 데이터, 자막 데이터 중 어떤 데이터에 해당하는지를 정의한다. "Type" 속성이 "Packed"이면, 미디어 데이터가 비디오/오디오 데이터임을 나타내고, "Type" 속성이 "Video"이면, 미디어 데이터가 비디오 데이터임을 나타낸다. "Bitrate" 속성은 비디어 데이터의 인코딩에 이용된 비트율을 정의한다.
도 4b는 본 발명의 일 실시예에 따른 미디어 데이터의 헤더에 대한 정보를 도시한다.
도 4b를 참조하면, "RefData" 태그는 "Type" 속성 및 "ID" 속성을 포함한다. "Type" 속성은 헤더가 어떠한 미디어 포맷의 헤더인지 정의한다. 예를 들어, "Type" 속성이 "HEAD-TS"이면, 헤더가 전송 스트림(transport stream) 포맷의 헤더임을 나타낸다. "ID" 속성은 헤더가 복수의 미디어 데이터 중 어떤 미디어 데이터의 헤더인지 정의한다. "ID" 속성이 "1"이면, 미디어 데이터 식별자가 "1"인 미디어 데이터에 대한 헤더임을 나타낸다. 또한, "RefData" 태그는 헤더를 지시(pointing)하는 정보를 포함하는 바, "URL" 태그는 헤더의 위치 즉, URL을 정의한다.
"RefData" 태그는 선택적인 요소이다. 헤더가 미디어 데이터와 분리되어 별도의 파일로 존재하는 경우에만 콘텐트에 대한 정보에 "RefData" 태그가 포함되며, 미디어 데이터와 결합되어 존재하는 경우에는 콘텐트에 대한 정보에 "RefData" 태그가 포함되지 않을 수 있다.
도 4c는 본 발명의 일 실시예에 따른 복수의 미디어 데이터 각각에 포함된 적어도 하나의 부분들에 대한 정보를 포함한다.
도 4c를 참조하면, "Fragments" 태그의 하위 태그인 "Fragment" 태그에 복수의 미디어 데이터 각각에 포함된 적어도 하나의 부분에 대한 정보가 포함된다.
"Fragments" 태그는 "NextFragmentsXMLURL" 속성을 포함한다. 라이브 스트리밍과 같이 하나의 콘텐트 스트리밍이 완료되면, 다음 콘텐트가 이어서 스트리밍되는 경우에는 다음에 스트리밍될 콘텐트에 대한 정보를 클라이언트(130)가 미리 알아야, 끊임없이 콘텐트를 스트리밍할 수 있다. 따라서, "Fragments" 태그는 다음에 스트리밍될 콘텐트에 대한 정보를 "NextFragmentsXMLURL" 속성으로 정의한다. 다음에 스트리밍될 콘텐트에 대한 복수의 미디어 데이터의 URL이 "NextFragmentsXMLURL" 속성으로 정의될 수 있다.
"Fragment" 태그는 현재 스트리밍되는 콘텐트의 적어도 하나의 부분들에 대한 정보를 포함한다. 도 4c에 도시된 실시예를 예로 들어 설명하면, 제1 미디어 데이터로서 콘텐트를 제1 품질로 인코딩하여 생성된 첫 번째 부분인 "slice1-1.as"의 URL 정보가 "URL" 태그에 의해 정의되며, 대응되는 헤더의 식별자가 "RefPointer" 태그에 의해 정의된다. 또한, 첫 번째 부분의 시작 시간이 "StartTime" 속성에 의해 정의되며, 각각의 부분의 지속 시간이 "Duration" 속성에 의해 정의된다. 제1 미디어 데이터의 품질은 "BitRate" 속성에 의해 정의된다.
도 4c에 도시된 실시예에서는 "Fragments" 태그는 각각의 미디어 데이터가 하나의 부분만을 포함하는 경우를 도시하였다. 그러나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 도 1과 관련하여 전술한 바와 같이 각각의 미디어 데이터가 복수의 부분으로 분할되는 경우, 하나의 "Fragments" 태그가 둘 이상의 부분에 대한 정보를 포함할 수 있음을 쉽게 알 수 있다.
다시 도 2a를 참조하면, 단계 220에서 클라이언트(130)는 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 전송할 것을 서버(120)에 요청한다. 복수의 미디어 데이터는 하나의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터이다. 클라이언트(130)는 복수의 미디어 데이터 중에서 스트리밍 환경에 적합한 품질로 부호화된 적어도 하나의 미디어 데이터를 선택하여 서버(120)에 요청한다. 클라이언트(130)는 콘텐트에 대한 정보에 포함된 복수의 미디어 데이터에 대한 정보에 기초해 HTTP 요청을 서버(120)에 전송할 수 있다.
콘텐트에 대한 정보는 도 4c와 관련하여 전술한 바와 같이 "Fragments" 태그를 포함하고 있다. 따라서, 클라이언트(130)는 "Fragments" 태그에 포함된 URL 정보에 기초해 선택된 미디어 데이터의 전송을 서버(120)에 요청한다.
클라이언트(120)의 요청에 따라 서버(120)는 미디어 데이터를 전송한다. 요청된 미디어 데이터의 적어도 하나의 부분을 클라이언트(120)에 전송할 수 있다. HTTP 요청에 대한 HTTP 응답으로서 요청된 미디어 데이터를 클라이언트(120)에 전송할 수 있다.
도 2b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다. 도 2b는 헤더가 미디어 데이터와 분리되어 별도의 파일로 존재하는 경우의 스트리밍 방법을 도시한다.
도 2b를 참조하면, 단계 212에서 클라이언트(130)는 소정의 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청하고, 서버(120)로부터 콘텐트에 대한 정보를 전송한다. 도 2a의 단계 210에 도시된다. 도 4b와 관련하여 전술한 "RefData" 태그를 포함하는 콘텐트에 대한 정보를 수신한다.
단계 222에서 클라이언트(130)는 단계 210에서 수신된 콘텐트에 대한 정보에 기초해 복수의 미디어 데이터 중 선택된 미디어 데이터의 헤더를 요청한다. 단계 212에서 수신된 콘텐트에 대한 정보에 기초해 복수의 미디어 데이터 중 스트리밍 환경에 적합한 적어도 하나의 미디어 데이터를 선택하고 선택된 미디어 데이터의 헤더를 요청한다. 단계 212에서 수신된 콘텐트에 대한 정보에 포함된 "RefData" 태그를 참조하여 선택된 미디어 데이터의 헤더를 요청한다.
서버(120)는 요청된 미디어 데이터의 헤더를 클라이언트(130)에 전송한다. 헤더 파일을 클라이언트(130)에 전송할 수 있으며, 헤더 파일은 XML 파일일 수 있다.
단계 232에서 클라이언트(130)는 단계 212에서 수신된 콘텐트에 대한 정보 및 단계 222에서 수신된 헤더에 기초해 선택된 미디어 데이터의 전송을 서버(120)에 요청한다. 미디어 데이터를 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 전송할 것을 서버(130)에 요청하고, 서버(120)는 요청된 적어도 하나의 부분을 클라이언트(130)에 전송한다.
도 5a는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 5a를 참조하면, 단계 510에서 클라이언트(130)는 소정의 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청하고, 서버(120)로부터 콘텐트에 대한 정보를 전송한다. 소정의 콘텐트에 대한 정보를 전송할 것을 요청하는 HTTP 요청을 서버(120)에 전송하고, 이에 대한 HTTP 응답으로서 콘텐트에 대한 정보를 수신한다. 콘텐트에 대한 정보를 포함하는 XML 파일을 수신할 수 있다. 단계 510에서 클라이언트(130)가 수신하는 콘텐트에 대한 정보는 도 2의 단계 210에서 클라이언트(130)가 수신하는 콘텐트에 대한 정보와 상이한 바, 도 6 및 7을 참조하여 상세히 설명한다.
도 6은 본 발명의 또 다른 실시예에 따른 콘텐트에 대한 정보를 포함하는 파일의 스키마를 도시한다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 콘텐트에 대한 정보는 도 3과 동일하게 "Title", "Synopsis", "OriginSite", "ContentURL" 태그 등을 포함할 수 있다.
그러나, 도 3에 도시된 실시예에서는 콘텐트에 대한 정보가 "Tracks", "RefData" 및 "Fragments" 태그를 포함함으로써 복수의 미디어 데이터에 대한 정보도 함께 포함하는데 반해, 도 6에 도시된 실시예에서는 콘텐트에 대한 정보가 복수의 미디어 데이터에 대한 정보를 포함하는 것이 아니라, 복수의 미디어 데이터에 대한 정보를 포함하는 파일(이하, Media Presentation Description : '미디어 표현 기술'이라 한다.)의 URL만 정의하는 것이 상이하다. "ContentURL" 태그에 의해 미디어 표현 기술의 URL이 정의될 수 있다.
도 6에 도시된 바와 같이 종래 기술에 따른 다양한 콘텐트에 대한 정보 파일의 스키마를 크게 변경하지 않고, 미디어 표현 기술의 URL만 콘텐트에 대한 정보 파일에 삽입함으로써, 다양한 미디어 데이터 포맷과의 호환성을 유지하면서, 스트리밍 환경에 적응적인 스트리밍이 가능해진다.
도 6에 도시된 바에 따르면, 콘텐트에 대한 정보는 복수의 미디어 데이터에 대한 정보는 포함하지 않고, 스트리밍 방법과 관련된 정보만 포함할 수 있다. 다시 말해, "ContentURL" 태그는 스트리밍에 이용되는 미디어 데이터의 포맷을 정의하는 "MediaFormat" 속성, 미디어 데이터의 종류를 정의하는 "MIMEType" 속성 등을 포함할 수 있다.
특히, "ContentURL" 태그는 콘텐트의 스트리밍이 어떤 서비스와 관련되어 있는지 정의하는 "TransferType" 속성을 포함할 수 있다. "TransferType" 속성은 콘텐트의 스트리밍이 CoD(Content on Delivery) 서비스, 생중계(Live), 적응 스트리밍 생중계(Adaptive Streaming Live) 및 적응 스트리밍 CoD(Adaptive Streaming CoD) 중 어떠한 서비스와 관련되었는지 정의할 수 있다.
도 7은 본 발명의 또 다른 실시예에 따른 콘텐트에 대한 정보를 도시한다. 도 7은 OIPF 표준에 따른 CAD일 수 있다.
도 7을 참조하면, 도 6에 도시된 스키마에 따라 생성된 콘텐트에 대한 정보는 "ContentURL" 태그에 미디어 표현 기술의 URL이 정의될 수 있다. "http://asexample.com/vod/movies/18888/Meta/MainMeta.xml"이 미디어 표현 기술의 URL이다. 또한, 도 6과 관련하여 전술한 바와 같이 "MediaFormat" 속성, "MIMEType" 속성 및 "TransferType" 속성 등이 "ContentURL" 태그에 정의될 수 있다.
다시 도 5a를 참조하면, 단계 520에서 클라이언트(130)는 단계 510에서 수신된 콘텐트에 대한 정보에 기초해 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청한다. 미디어 표현 기술을 HTTP 요청을 통해 서버(120)에 요청하고, HTTP 응답으로서 미디어 표현 기술을 수신할 수 있다.
단계 510에서 클라이언트(130)가 서버(120)로부터 수신한 콘텐트에 대한 정보는 도 6 및 7과 관련하여 전술한 바와 같이 미디어 표현 기술의 URL 정보를 포함할 수 있는 바, 클라이언트(130)는 콘텐트에 대한 정보의 "ContentURL" 태그를 참조하여 미디어 표현 기술을 서버(120)에 요청하고, 수신한다. 미디어 표현 기술에 대해 도 8a, 8b, 9a 내지 9g를 참조하여 상세히 설명한다.
도 8a 및 8b는 본 발명의 일 실시예에 따른 미디어 표현 기술의 스키마를 도시한다. 미디어 표현 기술은 OIPF 표준에 따른 미디어 표현 기술일 수 있다.
도 8a를 참조하면, 본 발명의 일 실시예에 따른 미디어 표현 기술은 복수의 미디어 데이터의 URL에 대한 템플릿(template) 태그, 헤더의 위치를 정의하기 위한 태그, 스트리밍이 어떠한 서비스와 관련되어 있는지 정의하기 위한 태그, 미디어 데이터 콘테이너(container) 포맷을 정의하기 위한 태그 및 복수의 미디어 데이터를 정의하기 위한 태그를 포함한다.
"urlTemplate" 태그는 복수의 미디어 데이터에 대한 URL 정보의 공통 부분을 정의한다. 예를 들어, "http://example.com/vod/movie/18888/Track/{TrackID}/Segments/{SegmentID}"가 URL 템플릿이라면, "TrackID" 및 "SegmentID"에 복수의 미디어 데이터 각각의 식별자 및 각각의 미디어 데이터에 포함된 적어도 하나의 부분의 식별자를 대입함으로써, 미디어 데이터에 대한 URL을 정의할 수 있다.
"headerUrl" 태그는 도 4b와 관련하여 전술한 "RefData" 태그에 대응된다. 다시 말해, 복수의 미디어 데이터의 헤더 URL을 정의한다.
"isLive" 태그는 스트리밍이 어떠한 서비스와 관련되어 있는지 정의하는 태그이다. 예를 들어, "isLive" 태그가 "Live"로 정의되면 스트리밍이 생방송 서비스와 관련되어있음을 나타내고, "isLive" 태그가 "CoD"로 정의되면 스트리밍이 CoD 서비스와 관련되어 있음을 나타낸다.
"contentType" 태그는 스트리밍에 이용되는 미디어 데이터의 콘테이너 포맷을 정의한다. 예를 들어, 미디어 데이터의 콘테이터 포맷이 MP4 포맷인지 MPEG2-TS 포맷인지 나타내기 위한 정보일 수 있다.
"Stream" 태그는 복수의 미디어 데이터 각각에 대해 생성되며 복수의 미디어 데이터 각각을 정의한다. 하나의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터 각각을 정의하기 위해, "streamName" 속성, "type" 속성, "bitrate" 속성, "startTime" 속성, "firstIntervalNum" 속성, "duration" 속성, 및 "intervalCount" 속성을 포함한다.
"streamName" 속성은 미디어 데이터의 명칭을 정의한다. 미디어 데이터의 식별자일 수 있다. "type" 속성은 미디어 데이터의 유형을 정의한다. 미디어 데이터가 오디오 데이터, 비디오 데이터 및 오디오/비디오 데이터 중 어떤 미디어의 데이터인지 정의한다. 미디어 데이터가 변속 재생(trick play)을 위해 I 프레임에 대한 데이터만 포함하는 경우에는 이에 대한 정보가 "type" 속성으로 정의될 수 있다.
"Bitrate" 속성은 미디어 데이터의 비트율을 정의하고, "startTime" 속성은 미디어 데이터의 시작 시간을 특정하는 타임 스탬프를 정의하며, "firstIntervalNum" 속성은 최초 시작되는 부분의 번호를 정의한다.
"duration" 속성은 미디어 데이터에 포함된 부분의 지속 시간을 정의하고, "intervalConunt" 속성은 미디어 데이터에 포함된 적어도 하나의 부분의 전체 개수를 정의한다.
"Segment" 태그는 "Stream" 태그의 하위 태그로서 미디어 데이터가 전술한 바와 같이 콘텐트를 소정의 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분이면, 이러한 적어도 하나의 부분 각각을 정의한다.
"IntNum" 속성은 부분의 번호를 정의하며, "StartTime"은 해당 부분의 시작 시간을 정의한다. "Duration"은 해당 부분의 지속 시간을 정의하며, "url"은 해당 부분의 URL 정보를 정의한다.
"Segment" 태그는 선택적인 태그로서, 미디어 데이터에 포함된 적어도 하나의 부분에 대한 정보가 "Stream" 태그의 다른 속성들로부터 유추될 수 있는 경우에는 미디어 표현 기술에 포함되지 않을 수 있다. 다시 말해, "Stream" 태그에 정의된 "startTime", "firstIntervalNum", "duration" 및 "intervalCount" 속성에 의해서 "Stream" 태그로부터 유추될 수 있는 경우에는 미디어 표현 기술에 포함되지 않을 수 있다. 또한, "urlTemplate" 태그에 소정의 템플릿이 정의되어 있고, 이렇게 정의된 템플릿에 복수의 미디어 데이터 각각의 식별자 및 각각의 미디어 데이터에 포함된 적어도 하나의 부분의 식별자를 대입함으로써 부분들의 URL 정보를 유추할 수 있으면, "Segment" 태그의 "url" 속성은 필요하지 않을 수 있다.
도 8b를 참조하면, 본 발명의 또 다른 실시예에 따른 미디어 표현 기술은 "nextManifestURL" 태그를 더 포함할 수 있다. 전술한 바와 같이 라이브 스트리밍 또는 광고의 삽입과 같이 하나의 콘텐트 스트리밍이 완료되면, 다음 콘텐트가 이어서 스트리밍되는 경우에는 다음에 스트리밍될 콘텐트에 대한 정보를 클라이언트(130)가 미리 알아야, 끊임없이 콘텐트를 스트리밍할 수 있으므로, 현재 스트리밍 중인 콘텐트 다음에 스트리밍될 콘텐트의 미디어 표현 기술의 URL 정보가 "nextManifestURL" 태그에 의해 정의될 수 있다.
도 9a 내지 9h는 본원 발명의 일 실시예에 따른 미디어 표현 기술을 도시한다.
도 9a를 참조하면, 본 발명의 일 실시예에 따른 미디어 표현 기술은 "URLTemplate" 태그 , "RefDataURL" 태그 및 복수의 미디어 데이터 각각을 정의하는 복수의 태그를 포함한다.
"URLTemplate" 태그 및 "RefDataURL" 태그는 각각 도 8a 및 8b의 "urlTemplate" 태그 및 "RefDataURL" 태그에 대응된다.
"ID" 속성, "Type" 속성, "BitRate" 속성, "StartTime" 속성, "SegmentDuration" 속성, "SegmentStartID" 속성 및 "SegmentCount" 속성은 각각 도 8a 및 8b의 "streamName" 속성, "type" 속성, "bitrate" 속성, "startTime" 속성, "Stream" 태그의 "duration" 속성, "Stream" 태그의 "firstIntervalNum" 속성 및 "intervalCount" 속성에 대응된다.
도 9a에 도시된 미디어 표현 기술은 콘텐트를 상이한 품질로 생성된 세 가지의 비디오 데이터, 하나의 오디오 데이터 및 변속 재생을 위해 I 프레임들만 인코딩하여 생성된 미디어 데이터에 대한 정보를 포함한다.
도 9b를 참조하면, 본 발명의 일 실시예에 따른 미디어 표현 기술은 "NextAdaptiveControlURL" 태그를 더 포함한다. "NextAdaptiveControlURL" 태그는 도 8b의 "nextManifestURL" 태그에 대응된다. 따라서, 현재 재생 중인 콘텐트 다음에 이어서 재생할 콘텐트의 미디어 표현 기술의 URL이 "NextAdaptiveControlURL" 태그에 의해 정의될 수 있다.
도 9c는 현재 재생 중인 콘텐트에 이어서 재생할 콘텐트의 미디어 표현 기술의 URL이 도 9b의 "NextAdaptiveControlURL" 태그에 의해 정의되었을 때, 다음에 이어서 재생할 콘텐트의 미디어 표현 기술을 도시한다. 도 9b의 미디어 표현 기술과 비교하면, 도 9c는 다음에 이어서 재생될 콘텐트의 미디어 표현 기술이므로, "StartTime" 속성의 현재 재생 중인 콘텐트의 미디어 표현 기술과 상이하다.
도 9d 및 9e는 사용자의 고화질 비디오 재생을 선택적으로 제어하기 위한 미디어 표현 기술을 도시한다. 하나의 콘텐트를 5가지의 상이한 품질로 인코딩하여 복수의 미디어 데이터가 생성될 수 있고, 도 9d는 이 경우 미디어 표현 기술을 도시한다. 그러나, 도 9e에 도시된 미디어 표현 기술에서 높은 품질로 인코딩된 비디오에 대한 정보를 포함하고 있는 태그 즉, "ID" 속성이 "5"인 미디어 데이터의 "StartTime" 속성 및 "SegmentCount" 속성이 도 9d의 미디어 표현 기술과 상이하다.
서버(120)는 클라이언트(130)의 사용자 등급에 따라 도 9d의 미디어 표현 기술 또는 도 9e의 미디어 표현 기술을 선택적으로 전송할 수 있다. 클라이언트(130)의 사용자 등급이 높은 경우(예를 들어, 클라이언트(130)가 유료 사용자인 경우)에는 도 9d의 미디어 표현 기술을 전송함으로써 높은 품질의 비디오도 자유롭게 재생하게 하고, 클라이언트(130)의 사용자 등급이 낮은 경우(예를 들어, 클라이언트(130)가 무료 사용자인 경우)에는 도 9e의 미디어 표현 기술을 전송함으로써 높은 품질의 비디오는 "StartTime" 속성에 의해 정의된 시간에서부터 "SegmentCount" 속성에 의해 정의된 부분들만 재생할 수 있게 한다.
도 9f는 콘텐트에 광고가 삽입되는 경우의 미디어 표현 기술을 도시한다. 도 9f를 참조하면, 미디어 표현 기술은 "StartTime" 속성이 상이한 광고 콘텐트 및 메인 콘텐트에 대한 정보를 포함할 수 있다. 미디어 표현 기술은 "00:00:00"부터 "00:02:00"까지 재생되는 비트율이 "500000"인 광고 콘텐트에 대한 정보 및 "00:02:00"부터 재생되는 비트율이 "1000000", "2000000", "3000000" 및 "4000000"인 메인 콘텐트에 대한 정보를 포함할 수 있다. 서버(120)가 광고 콘텐트를 하나의 비트율에 의해 인코딩하여 클라이언트(130)에 제공하고, 광고 콘텐트와 "StartTime" 속성을 달리하는 메인 콘텐트는 네가지의 상이한 비트율에 의해 인코딩하여 클라이언트(130)에 제공하는 경우, 도 9f의 미디어 표현 기술이 서버(120)로부터 클라이언트(130)에 전송될 수 있다.
도 9g는 본 발명의 일 실시예에 따른 광고 콘텐트에 대한 정보를 포함하는 미디어 표현 기술을 도시한다. 메인 콘텐트를 제공하는 서버와 광고 콘텐트를 제공하는 서버가 상이할 수 있다. 다시 말해, 클라이언트(130)가 메인 콘텐트는 도 5a의 서버(120)로부터 제공받고, 광고 콘텐트는 도 5a의 서버(120)가 아닌 다른 서버로부터 수신하는 경우, 광고 콘텐트에 대한 정보를 포함하는 미디어 표현 기술은 광고 콘텐트의 URL 정보를 포함할 수 있다. 도 9g에 도시된 바와 같이 하나의 품질로 부호화된 광고 콘텐트의 URL 정보가 미디어 표현 기술에 포함될 수 있다.
도 9h는 본 발명의 일 실시예에 따른 언어 정보 및 자막 정보를 포함하는 미디어 표현 기술을 도시한다. 도 9h를 참조하면, 오디오 데이터는 다중 언어에 대한 정보를 포함할 수 있다. "ID" 속성이 "4" 및 "5"인 다중 언어의 오디오 데이터에 대한 정보가 미디어 표현 기술에 포함될 수 있으며, "ID" 속성이 "6" 및 "7"인 다중 언어의 자막에 대한 정보가 미디어 표현 기술에 포함될 수 있다.
오디오 데이터는 물론 자막도 시간에 따라 복수의 부분으로 분할될 수 있으므로, 스트리밍 도중에 오디오 데이터 및 자막을 상이한 언어의 오디오 데이터 및 자막으로 변경할 수 있다.
다시 도 5a를 참조하면, 단계 530에서 클라이언트(130)는 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 전송할 것을 서버(120)에 요청한다. 클라이언트(130)는 복수의 미디어 데이터에 대한 정보를 참조하여 스트리밍 환경에 적합한 품질로 부호화된 적어도 하나의 미디어 데이터를 선택하여 서버(120)에 요청한다. 클라이언트(130)는 소정의 미디어 데이터를 전송할 것을 요청하는 HTTP 요청을 서버(120)에 전송할 수 있다. 클라이언트(120)의 요청에 따라 서버(120)는 미디어 데이터를 전송한다. 콘텐트를 소정의 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 클라이언트(120)에 전송할 수 있다. HTTP 요청에 대한 HTTP 응답으로서 요청된 미디어 데이터를 클라이언트(120)에 전송할 수 있다.
도 5b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 5b를 참조하면, 단계 512에서 클라이언트(130)는 소정의 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청하고, 서버(120)로부터 콘텐트에 대한 정보를 전송한다. 소정의 콘텐트에 대한 정보를 전송할 것을 요청하는 HTTP 요청을 서버(120)에 전송하고, 이에 대한 HTTP 응답으로서 콘텐트에 대한 정보를 수신한다. 콘텐트에 대한 정보를 포함하는 XML 파일을 수신할 수 있다.
단계 522에서 클라이언트(130)는 단계 512에서 수신된 콘텐트에 대한 정보에 기초해 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청한다. 미디어 표현 기술을 HTTP 요청을 통해 서버(120)에 요청하고, HTTP 응답으로서 미디어 표현 기술을 수신할 수 있다.
단계 532에서 클라이언트(130)는 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보에 기초해 선택된 미디어 데이터의 헤더를 요청한다. 단계 522에서 수신된 정보에 기초해 복수의 미디어 데이터 중 스트리밍 환경에 적합한 적어도 하나의 미디어 데이터를 선택하고 선택된 미디어 데이터의 헤더를 요청한다. 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보를 참조하여 선택된 미디어 데이터의 헤더를 요청한다. 서버(120)는 요청에 대한 응답으로, 선택된 미디어 데이터의 헤더 파일을 클라이언트(130)에 전송한다.
단계 542에서 클라이언트(130)는 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보 및 단계 222에서 수신된 헤더에 기초해 선택된 미디어 데이터의 전송을 서버(120)에 요청한다. 콘텐트를 소정의 비율로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 전송할 것을 서버(130)에 요청하고, 서버(120)는 요청된 적어도 하나의 부분을 클라이언트(130)에 전송한다.
도 10a 내지 10c는 본 발명의 일 실시예에 따른 복수의 미디어 데이터를 도시한다. 도 10a 내지 10c는 도 5a 및 5b에 따른 스트리밍 방법을 수행하기 위해 서버(120)가 보유하는 복수의 미디어 데이터를 도시한다.
도 10a를 참조하면, 스트리밍 환경에 적응적인 스트리밍을 위해 서버(120)는 하나의 콘텐트를 복수의 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터(1010 내지 1030)를 보유할 수 있다. "Track1", "Track2", ... , "TrackN"이 복수의 미디어 데이터이다. 또한, 각각의 미디어 데이터는 각각의 미디어 데이터를 시간에 기초해 분할하여 생성된 적어도 하나의 부분들을 포함할 수 있다. "Slice1-1.as", "Slice1-2.as", "Slice1-3.as", "Slice2-1.as", "Slice2-2.as", "Slice2-3.as", "SliceN-1.as", "SliceN-2.as", "SliceN-3.as" 등이 적어도 하나의 부분들이다.
또한, 서버(120)는 클라이언트(130)가 복수의 미디어 데이터에 액세스하기 위해 필요한 정보(1040)를 보유할 수 있다. 콘텐트에 대한 정보로서 "CadMeta.xml" 파일, 복수의 미디어 데이터에 대한 정보로서 "MainMeta.xml" 파일을 보유할 수 있고, 복수의 미디어 데이터의 헤더로서 "Head1.ref", "Head2.ref" 파일 등을 보유할 수 있다. "Head1.ref"는 "Track1"의 헤더 파일일 수 있고, "Head2,ref"는 "Track2"의 헤더 파일 일 수 있다.
"CadMeta.xml"은 OIPF 표준에 따른 CAD 파일일 수 있고, "MainMeta.xml"은 전술한 미디어 표현 기술일 수 있다. 또한, "Head1.ref", "Head2.ref" 파일은 선택적인 요소로서, 헤더가 복수의 미디어 데이터(1010 내지 1030)에 포함되어 있는 경우에는 존재하지 않을 수 있다.
도 10b를 참조하면, 클라이언트(130)가 복수의 미디어 데이터에 액세스하기 위해 필요한 정보(1042)는 "NextMeta.xml"을 더 포함할 수 있다. 전술한 바와 같이 "NextMeta.xml"은 현재 재생 중인 콘텐트에 이어서 재생될 다음 콘텐트의 미디어 표현 기술일 수 있다. 전술한 바와 같이 현재 재생 중인 미디어 표현 기술 즉, "MainMeta.xml" 파일은 이어서 재생할 콘텐트의 미디어 표현 기술의 URL 정보를 포함하고 있는 바, 이에 기초해 클라이언트(130)는 "NextMeta.xml" 파일에 액세스 할 수 있다.
도 10c를 참조하면, 복수의 미디어 데이터의 헤더는 하나의 파일(1050)로 존재할 수 있다. 헤더 파일이 복수의 미디어 데이터 각각에 대해 복수로 존재하는 것이 아니라 하나의 헤더 파일(1050)로서 복수의 미디어 데이터에 액세스하기 위해 필요한 정보(1044)에 포함될 수 있다.
예를 들어, 복수의 미디어 데이터 각각이 MPEG-2에 따른 엘리멘터리 스트림(elementary stream)에 대응될 때, 복수의 미디어 데이터의 헤더는 PAT(Program) 및 PMT(Program Map Table) 중 적어도 하나를 포함하는 하나의 헤더 파일(1050)일 수 있다. PAT 및 PMT 중 적어도 하나를 복수의 미디어 데이터(1010 내지 1030)와 분리하여 하나의 헤더 파일(1050)을 만들고, 미디어 표현 기술은 이 헤더 파일(1050)를 지시(pointing)하는 정보를 포함할 수 있다. 헤더 파일(1050)의 지시 정보는 헤더 파일(1050)의 URL 정보일 수도 있고, MPEG-2 전송 스트림(transport stream)에서 헤더 파일(1050)를 포함하고 있는 패킷을 특정하기 위한 정보일 수도 있다.
전술한 단계 532에서 클라이언트(130)는 미디어 표현 기술을 참조하여 헤더 파일(1050)를 지시 정보를 획득하고, 지시 정보에 기초해 헤더 파일(1050)을 요청할 수 있다. 지시 정보에 헤더 파일(1050)을 수신한 요청하고 수신한 다음, 헤더 파일(1050)에 포함되어 있는 PAT 및 PMT 중 적어도 하나에 기초해 복수의 미디어 데이터 중 적어도 하나를 선택하고, 선택된 미디어 데이터를 서버(120)에 요청한다. PAT 및 PMT는 복수의 미디어 데이터(1010 내지 1030)의 전체 리스트를 포함한다.
MPEG-2에 따르면, PAT 및 PMT에서 정의되는 PID(Packet ID)는 엘리멘터리 스트림에 따라 상이하다. 따라서, 복수의 미디어 데이터 각각에 할당되는 PID는 상이할 수 있다. 그러나, 또 다른 실시예에 따르면, 하나의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터는 동일한 콘텐트에 대한 엘리멘터리 스트림들이므로, PID가 동일하게 설정될 수도 있다.
복수의 미디어 데이터(1010 내지 1030)가 MPEG-2에 따른 복수의 엘리멘터리 스트림에 대응되는 경우 복수의 미디어 데이터(1010 내지 1030) 각각은 복수의 연속된 PES(Packetized Elementary Stream)을 포함할 수 있다.
복수의 미디어 데이터는 하나의 콘텐트를 상이한 품질로 인코딩하여 생성된 것이므로, 복수의 미디어 데이터 각각에 포함된 PES의 PTS(Presentation Time Stamp) 및/또는 DTS(Decoding Time Stamp)는 미디어 데이터의 재생시간에 따라 정렬(aligned)될 수 있다. 다시 말해, 제1 미디어 데이터의 첫번째 PES와 제2 미디어 데이터의 첫번째 PES가 동일한 시간에 재생되는 콘텐트라면, PTS 및/또는 DTS가 동일하게 설정될 수 있다.
도 11a는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 11a를 참조하면, 단계 1110에서 클라이언트(130)는 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청한다. 미디어 표현 기술을 HTTP 요청을 통해 서버(120)에 요청하고, HTTP 응답으로서 미디어 표현 기술을 수신할 수 있다. 클라이언트(130)는 스트리밍 환경에 적응적인 스트리밍을 수행하기 위해 하나의 콘텐트를 복수의 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청하고, 수신한다. 콘텐트에 대한 정보의 요청 및 수신없이 복수의 미디어 데이터에 대한 정보의 요청 및 수신이 수행된다는 점이 도 5a에 도시된 실시예와 상이하다.
단계 1120에서 클라이언트(130)는 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 전송할 것을 서버(120)에 요청한다. 클라이언트(130)는 복수의 미디어 데이터에 대한 정보를 참조하여 스트리밍 환경에 적합한 품질로 부호화된 적어도 하나의 미디어 데이터를 선택하여 서버(120)에 요청하고, 요청된 미디어 데이터를 서버(120)로부터 수신한다.
도 11b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 11b를 참조하면, 단계 1112에서 클라이언트(130)는 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청하고, 요청에 대한 응답으로 복수의 미디어 데이터에 대한 정보를 서버(120)로부터 수신한다. 미디어 표현 기술을 HTTP 요청을 통해 서버(120)에 요청하고, HTTP 응답으로서 미디어 표현 기술을 수신할 수 있다.
단계 1122에서 클라이언트(130)는 단계 1112에서 수신된 복수의 미디어 데이터에 대한 정보에 기초해 선택된 미디어 데이터의 헤더를 요청한다. 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보를 참조하여 스트리밍 환경에 따라 선택된 미디어 데이터의 헤더를 요청한다. 서버(120)는 요청에 대한 응답으로, 선택된 미디어 데이터의 헤더를 포함하는 파일을 클라이언트(130)에 전송한다.
단계 1132에서 클라이언트(130)는 단계 1112에서 수신된 복수의 미디어 데이터에 대한 정보 및 단계 1122에서 수신된 헤더에 기초해 선택된 미디어 데이터의 전송을 서버(120)에 요청한다. 콘텐트를 소정의 비율로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 전송할 것을 서버(130)에 요청하고, 서버(120)는 요청된 적어도 하나의 부분을 클라이언트(130)에 전송한다.
도 12a 및 12b는 본 발명의 또 다른 실시예에 따른 복수의 미디어 데이터를 도시한다. 도 12a 및 12b는 도 11a 및 11b에 따른 스트리밍 방법을 수행하기 위해 서버(120)가 보유하는 복수의 미디어 데이터를 도시한다.
도 12a를 참조하면, 도 10a에 도시된 실시예와 마찬가지로 스트리밍 환경에 적응적인 스트리밍을 위해 서버(120)는 하나의 콘텐트를 복수의 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터(1010 내지 1030)를 보유할 수 있다.
클라이언트(130)가 복수의 미디어 데이터에 액세스하기 위해 필요한 정보(1240)만 상이한 바, 도 10a에 도시된 실시예와 달리 서버(120)는 콘텐트에 대한 정보를 제외한 복수의 미디어 데이터에 대한 정보만 포함할 수 있다. 이 경우, 클라이언트(130)는 콘텐트에 대한 정보를 서버(120)가 아닌 다른 엔티티로부터 수신하고, 콘텐트에 대한 정보에 기초해 서버(120)가 보유하고 있는 복수의 미디어 데이터에 액세스할 수도 있다.
도 12b를 참조하면, 클라이언트(130)가 복수의 미디어 데이터에 액세스하기 위해 필요한 정보(1242)는 도 12a의 정보(1240)에 "NextMeta.xml"을 더 포함할 수 있다.
도 13은 본 발명의 일 실시예에 따른 데이터 전송 시스템의 동작 방법에 대한 흐름도를 나타낸다.
본 발명의 일 실시예에 따른 데이터 전송 시스템은 서버(1301) 및 클라이언트(1302)를 포함한다.
단계 s1310에서, 서버(1301)는 하나 이상의 컴포넌트를 포함하는 하나 이상의 미디어 데이터를 생성하고, 미디어 데이터에 대한 정보를 생성한다. 이하에서는, 설명의 편의를 위하여 서버(1301)에서 생성된 미디어 데이터들 중 하나를 제 1 미디어 데이터로 명명하며, 제 1 미디어 데이터를 중심으로 전송 시스템의 동작 방법을 설명한다.
서버(1301)는 제공하고자 하는 멀티미디어 데이터에 포함된 적어도 하나의 컨텐트를 인코딩하여 복수 개의 컴포넌트들을 생성한다. 서버(1301)는 연관된 복수 개의 상이한 컨텐트를 인코딩하여 동일한 타입의 복수 개의 컴포넌트들을 생성할 수도 있다. 일 예로, 서버(1301)는 영어로 된 오디오 컨텐트를 이용하여 제 1 오디오 컴포넌트를 생성하고, 한국어로 된 오디오 컨텐트를 이용하여 제 2 오디오 컴포넌트를 생성한다. 제 1 오디오 컴포넌트와 제 2 오디오 컴포넌트는 동일한 타입의 컴포넌트이지만, 상이한 컨텐트를 이용하여 생성된 것이다.
또한, 서버(1301)는 동일한 컨텐트를 상이한 방식으로 인코딩하여 복수 개의 컴포넌트들을 생성할 수 있다. 일 예로, 도 1 내지 도 12에서 상술한 바와 같이 동일한 컨텐트를 품질이 상이하게 인코딩함으로써, 비트레이트가 상이한 복수 개의 컴포넌트들을 생성할 수 있다.
서버(1301)는 생성된 컴포넌트들 중 적어도 하나를 포함하는 제 1 미디어 데이터를 생성한다. 제 1 미디어 데이터는 가능한 모든 타입의 컴포넌트를 포함할 수도 있으나, 일부 타입의 컴포넌트만을 포함할 수도 있다. 일 예로, 서버(1301)에서 비디오 컴포넌트, 오디오 컴포넌트 및 서브타이틀 컴포넌트를 생성한 경우, 제 1 미디어 데이터는 비디오 컴포넌트, 오디오 컴포넌트 및 서브타이틀 컴포넌트를 모두 포함할 수도 있으나, 비디오 컴포넌트만을 포함할 수도 있다. 본 명세서에서는 가능한 모든 타입의 컴포넌트들이 포함된 미디어 데이터를 풀-리프리젠테이션(full-representation 또는 complete-representation)이라 지칭하고, 일부 타입의 컴포넌트들만이 포함된 미디어 데이터를 파셜-리프리젠테이션(partial-representation)로 지칭한다. 파셜-리프리젠테이션에 포함된 컴포넌트들은 다른 파셜 리프리젠테이션에 포함된 컴포넌트들과 함께 처리되어 디코더에 제공될 수 있다.
제 1 미디어 데이터에 대한 정보는, 제 1 미디어 데이터에 포함된 컴포넌트가 제 2 미디어 데이터에 포함된 컴포넌트와 함께 제공될 수 있는지를 나타내는 정보를 포함할 수 있다. 즉, 제 1 미디어 데이터가 파셜-리프리젠테이션인지를 나타내는 정보를 포함할 수 있다.
또한, 제 1 미디어 데이터에 대한 정보는, 제 1 미디어 데이터에 포함된 적어도 하나의 컴포넌트에 대한 정보인 컴포넌트 정보를 포함할 수 있다. 제 1 미디어 데이터에 대한 정보의 일 예는 도 15, 도 17 및 도 18에서 후술하며, 컴포넌트 정보에 대한 일 예는 도 14 및 도 16에서 후술한다.
단계 s1320에서 서버(1301)는 제 1 미디어 데이터에 대한 정보를 클라이언트(1302)로 전송한다. 제 1 미디어 데이터에 대한 정보는 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 컴포넌트들에 대한 정보를 포함하는 파일(예를 들면, 미디어 표현 기술)에 포함되어 전송될 수 있다.
단계 s1330에서, 클라이언트(1302)는 제 1 미디어 데이터에 대한 정보에 기초하여 제 1 미디어 데이터에 포함된 적어도 하나의 컴포넌트를 서버(1301)에 요청한다. 클라이언트(1302)가 컴포넌트를 요청하고 처리하는 구체적인 과정은 도 21에서 후술한다.
클라이언트(1302)는 미디어 표현 기술에 포함된 복수 개의 미디어 데이터 중에서 적어도 하나의 미디어 데이터를 선택한다. 클라이언트(1302)는 사용자가 파셜-리프리젠테이션을 원하는지 풀-리프리젠테이션을 원하는지를 판단한다. 사용자로부터 별도의 입력이 없는 경우 풀-레프리젠테인션이 추천될 수 있다.
사용자의 요청 또는 통신 환경에 기초하여 적절한 비트 레이트를 갖는 제 1 미디어 데이터를 선택한다. 이 후, 클라이언트(1302)는 제 1 미디어 데이터의 해더 정보를 획득하고 제 1 미디어 데이터에 포함된 적어도 하나의 컴포넌트를 서버(1301)에 요청한다. 제 1 미디어 데이터에 복수 개의 컴포넌트들이 포함된 경우에는 클라이언트(1302)가 원하는 컴포넌트를 선택적으로 요청할 수 있다.
단계 s1340에서, 서버(1301)는 클라이언트(1302)가 요청한 제 1 미디어 데이터에 포함된 컴포넌트를 전송한다.
단계 s1350에서, 클라이언트(1302)는 수신된 컴포넌트를 처리한다. 제 1 미디어 데이터가 파셜-리프리젠테이션이고, 사용자가 제 2 미디어 데이터를 추가적으로 선택하였다면 클라이언트(1302)는 제 2 미디어 데이터에 포함된 컴포넌트를 더 수신하여 처리한다. 클라이언트(1302)는 제 1 미디어 데이터에 포함된 컴포넌트와 제 2 미디어 데이터에 포함된 컴포넌트를 결합하여 사용자가 원하는 데이터를 출력한다.
종래에는 풀-리프리젠테이션에 대해서만 정의되고 파셜-리프리젠테이션은 정의되지 않았다. 즉, 서버(1301)는 모든 타입의 컴포넌트들을 포함하는 미디어 데이터, 즉, 풀-리프리젠테이션만을 생성하였다.
따라서, 클라이언트(1302)는 한번에 하나의 미디어 데이터에 대한 세그먼트를 다운로드하여 처리한다. 이러한 방식은 비교적 간단하고 명쾌하기는 하지만, 유연성의 면에서는 많은 단점을 가지고 있다. 동일한 타입의 컴포넌트에 다양한 대안이 존재하는 경우 서버(1301)는 각각의 대안에 대응하는 복수 개의 미디어 데이터를 생성하여야 한다. 예를 들어, 동일한 비디오 컨텐트를 상이한 비트율로 인코딩 한 4개의 비디오 컴포넌트가 존재하며, 상이한 언어로 된 3개의 서브타이틀이 존재하는 경우 서버(1301)는 컴포넌트의 조합의 개수에 해당하는 12개의 미디어 데이터를 생성하여야 한다. 이는 서버(1301)의 저장 공간을 크게 낭비시키는 결과를 초래한다. 서버(1301)는 일반적으로 상이한 URL에 의하여 지시되는 컨텐트간의 프로토콜이나 유사성을 알지 못하므로, 서버(1301)가 최적화된다고 하더라도(예를 들어, 디스크에 별도로 저장된 ES로부터 실시간으로 미디어 데이터의 세그먼트를 생성할 수 있다고 하더라도) 컨텐트 전송 네트워크(content delivery network, CDN)에 이러한 방식을 적용하는 것이 용이하지 않았다.
그러나, 본 발명의 일 실시예에서는 서버(1301)가 일부 타입의 컴포넌트만을 포함하는 미디어 데이터, 즉, 파셜-리프리젠테이션을 생성함으로써, 클라이언트(1302)는 원하는 미디어 데이터를 확인하고 이들에 대한 세그먼트를 독립적으로 다운받은 후 미디어 데이터에 포함된 컴포넌트들을 조합하여 원하는 데이터를 출력한다. 이 경우, 서버(1301)는 비트 레이트에 따른 비디오 콤포넌트를 포함하는 4개의 미디어 데이터와, 3개의 상이한 언어에 따른 서브타이틀을 포함하는 3개의 미디어 데이터만을 생성할 수도 있다. 다른 실시예에서는, 서버(1301)가 비트 레이트에 따른 비디오 콤포넌트와 특정 언어로 된 서브타이틀 컴포넌트를 포함하는 4개의 미디어 데이터와, 나머지 2개의 언어에 따른 서브타이틀을 포함하는 2개의 미디어 데이터만을 생성하면 충분하다. 이러한 방식으로 서버(1301)에서 요구되는 저장 공간 및 부하를 크게 줄일 수 있다.
도 14는 본 발명의 일 실시예에 따른 컴포넌트 정보에 대한 일 예를 나타낸다.
도 14의 표는 도 15의 'PartialType'의 속성 값(1401)에 따른 컴포넌트 정보(1402)를 나타낸다. 설명의 편의를 위하여 컴포넌트는 제 1 미디어 데이터에 포함되는 것으로 가정한다.
PartialType'의 속성 값이 'Video'(1410)인 경우, 제 1 미디어 데이터는 비디오 ES를 포함함을 나타낸다.
PartialType'의 속성 값이 'Audio'(1420)인 경우, 제 1 미디어 데이터는 오디오 ES를 포함함을 나타낸다.
PartialType'의 속성 값이 'Multiplex-AV'(1430)인 경우, 제 1 미디어 데이터는 비디오 데이터와 오디오 데이터가 다중화된 ES를 포함함을 나타낸다.
PartialType'의 속성 값이 'Multiplex-AS'(1440)인 경우, 제 1 미디어 데이터는 비디오 데이터와 서브타이틀 데이터가 다중화된 ES를 포함함을 나타낸다.
PartialType'의 속성 값이 'Subtitle'(1450)인 경우, 제 1 미디어 데이터는 서브타이틀 ES를 포함함을 나타낸다.
도 15는 본 발명의 일 실시예에 따른 미디어 데이터에 대한 정보에 대한 일 예를 나타낸다.
도 15는 XML 파일로 구현된 MPD의 일 예이다. 각각의 미디어 데이터에 대한 정보는 대응하는 < pss:Representation> 태그에 포함된다.
<pss:Representation> 태그내의 'xsi:type' 속성은 "oipf:RepresentationType"로 설정될 수 있다. 이 경우, <pss:Representation> 태그는 'partialType' 속성 및 'switchGroup' 속성을 포함할 수 있다.
'partialType' 속성은 대응하는 미디어 데이터가 파셜-프리젠테이션임을 나타낸다. 즉, <Representation>태그가 나타내는 미디어 데이터에 포함된 개별적인 컴포넌트들(비디오, 오디오, 서브타이틀 등등)이 서버로부터 다운로드 된 후, 다른 <Representation>이 나타내는 미디어 데이터를 통하여 획득될 데이터와 함께 디코더에 제공됨을 의미한다.
'partialType' 속성은 도 14에 도시된 테이블의 값(1401)들 중 하나를 가질 수 있다.
'switchGroup' 속성의 경우 동일한 콘텐트를 상이한 품질로 인코딩하여 생성된 컴포넌트들을 갖는 미디어데이터들은 동일한 값을 갖는다. 그러나, 타입은 동일하지만 상이한 컨텐트를 이용하여 생성된 미디어 데이터들은 상이한 속성 값을 갖는다. (예를 들어, 두 개의 다른 언어의 오디오 컴포넌트)
<pss:SegmentInfoDefault>태그내의 'xsi:type' 속성은 'oipf:SegmentInfoDefaultType'으로 설정될 수 있다. 이 경우, <pss:SegmentInfoDefault> 태그는 'pss:InitialisationSegmentURL' 속성을 포함할 수 있다.
'pss:InitialisationSegmentURL' 속성은 미디어 데이터의 해더(initialization segment)에 대한 참고를 제공한다. <pss:Period> 태그내의 <pss:SegmentInfoDefault>태그에 'pss:InitialisationSegmentURL' 속성이 존재할 경우 해더는 모든 미디어 데이터(파셜-리프리젠테이션, 풀-리프리젠테이션)에 대한 샘플들을 설명하는 메타 데이터를 제공한다.(예를 들면, MP4의 moov, TS의 PAT/PMT)
도 16는 본 발명의 다른 실시예에 따른 컴포넌트 정보에 대한 일 예를 나타낸다.
도 16의 표는 도 17의 'PartialComponent'의 속성 값(1601)에 따른 컴포넌트 정보(1602)를 나타낸다. 'PartialComponent' 속성은 'id'속성(1610), 'Type'속성(1620), 'Lang' 속성(1630), 'Angle' 속성(1640), 'Channles'속성(1650) 및 'Imparied'속성(1660)을 포함한다.
'id' 속성(1610)는 미디어 데이터에 포함된 컴포넌트의 식별자를 나타낸다. 식별자의 형태는 컨테이너에 따라 상이할 수 있다. 일 예로, MPEG2-TS에서는 PID가 사용될 수 있으며, MP4에서는 TrackID가 사용될 수 있다. 이 외에도, 사용자가 임의로 식별자의 형태를 지정할 수 있다.
'Type' 속성(1620)는 콤포넌트의 타입을 나타낸다. 일 예로, 컴포넌트는 비디오 컴포넌트, 오디오 컴포넌트 및 서브타이틀 컴포넌트들 중 적어도 하나일 수 있다.
'Lang' 속성(1630)는 오디오 컴포넌트 또는 서브타이틀 컴포넌트에 대한 언어 코드를 나타낸다. 언어 코드는 RCF 5646에 따른 언어 코드일 수 있다.
'Angle' 속성(1640)은 비디오 컴포넌트에 대한 카메라 앵글을 나타낸다.
'Channles'속성(1650)은 오디오 컴포넌트에 대한 오디오 채널(예를 들면, 5.1 채널, 2.1채널 등)을 나타낸다.
'Imparied'속성(1660)은 장애가 있는 사용자를 위한 데이터가 제공됨을 나타내는 정보이다. 일 예로, 청각 장애인을 위한 데이터가 제공됨을 나타낼 수 있다.
도 17는 본 발명의 다른 실시예에 따른 미디어 데이터에 대한 정보에 대한 일 예를 나타낸다.
도 17는 XML 파일로 구현된 MPD의 일 예이다.
<pss:Representation> 태그내의 'xsi:type' 속성이 "oipf:RepresentationType"로 설정될 경우 <pss:Representation> 태그는 다음의 속성을 포함할 수 있다.
'partialComponts' 속성은 미디어 데이터가 '풀-리프리젠테이션'이 아닌 '파셜-리프리젠테이션'임을 나타낸다. 즉, <pss:Representation> 태그에 대응하는 미디어 데이터에 포함된 적어도 하나의 컴포넌트는(예를 들면, 개별적인 비디오, 오디오 또는 서브타이틀을 제공하는 Track/ES) 다른 미디어 데이터를 통하여 다운로드 될 데이터와 함께 디코더에 제공된다.
'partialComponents' 속성은 미디어 데이터에 포함되는 각각의 컴포넌트들을 설명한다. 'partialComponts' 속성의 값은 미디어 데이터에 포함된 각각의 컴포넌트들에 대한 정보들의 리스트를 세미콜론(또는 콜론)으로 구분한 스트링일 수 있다. 컴포넌트들에 대한 정보에는 도 16에 도시된 속성들이 포함된다. 다만, 원하는 컴포넌트들을 선택하고 이에 따라 디코더를 설정하는 것은 어플리케이션이 담당한다.
'partialComponts' 속성은 동일한 기능을 수행하는 다른 이름으로 대체될 수 있다. 일 예로, 'Patial' 속성, 'Patial Type' 속성 'Component'등으로 대체될 수 있다.
도 17에서는 'partialComponts' 속성을 통하여 대응하는 미디어 데이터가 파셜-레프린테이션인지 여부를 나타내는 것으로 가정하였다. 그러나, 실시 예에 따라서는 도 17에 도시된 다른 속성이 미디어 데이터가 파셜-레프린테이션인지 여부를 나타내거나, 도 17에 도시되지 않은 새로운 속성이 미디어 데이터가 파셜-레프린테이션인지를 나타낼 수도 있다.
'switchGroup' 속성의 경우, 동일한 컨텐트를 상이한 방식으로 인코딩한 콤포넌트(예를 들면, 동일한 컨텐트를 상이한 품질로 인코딩하여 생성된 컴포넌트)를 포함하는 미디어 데이터들에 대해서는 동일한 속성 값을 가질 것이다. 그러나, 타입은 동일하지만 상이한 컨텐트를 이용하여 생성된 컴포넌트들(예를 들면, 두 개의 다른 언어에 대한 오디오 컴포넌트)을 포함하는 미디어 데이터들에 대해서는 상이한 속성 값을 가질 것이다. 따라서, 'switchGroup' 속성의 값이 상이한 복수 개의 미디어 데이터에 포함된 컴포넌트들은 조합되어 동시에 재생될 수 있으나, 'switchGroup' 속성의 값이 동일한 미디어 데이터는 동시에 재생될 수 없다.
<pss:SegmentInfoDefault> 태그내의 'xsi:type' 속성은 oipf:SegmentInfoDefaultType' 으로 설정될 수 있으며, 이 경우 <pss:SegmentInfoDefault> 태그는 다음의 태그 및 속성을 포함할 수 있다.
'pss:InitialisationSegmentURL' 속성은 해더(Initialisation Segment)에 대한 참고를 나타낸다. 본 속성이 <pss:Period>태그 내의 <pss:SegmentInfoDefault> 태그에 존재한다면, 참고된 해더가 모든 미디어 데이터(파셜-리프리젠테이션 및 풀-리프리젠테이션)에 대한 메타 데이터를 제공한다.(예를 들면, MP4의 moov, TS의 PAT/PMT).
도 18는 본 발명의 또 다른 실시예에 따른 미디어 데이터에 대한 정보에 대한 일 예를 나타낸다.
도 18은 XML 파일로 구현된 MPD의 일 예이다. 각각의 미디어 XML 파일내의 < pss:Representation> 태그에 포함되며, 컴포넌트 정보는 'opif:component'속성에 포함된다.
< pss:Representation> 태그는 'group'속성을 포함할 수 있다. 'group'속성이 '0'이 아닌 값을 가지면, 대응하는 미디어 데이터가 풀-리프리젠테이션일 필요가 없으며, 파셜-리프리젠테이션일 수 있음을 나타낸다. 즉, <pss:Representation> 태그에 대응하는 미디어 데이터에 포함된 적어도 하나의 컴포넌트는(예를 들면, 개별적인 비디오, 오디오 또는 서브타이틀을 제공하는 Track/ES) 다른 미디어 데이터를 통하여 다운로드 될 데이터에 추가되어 디코더에 제공될 수 있다. 이 경우, <Component> 태그는 < pss:Representation> 태그에 포함된 하나 이상의 컴포넌트들에 대한 정보를 포함한다. <Component> 태그는 도 16에서 정의된 속성을 포함할 수 있다.
'group'속성의 경우 적어도 하나의 동일한 컴포넌트를 포함하는 미디어 데이터에 대해서는 동일한 값을 갖는다. 그러나, 동일한 타입의 완전히 상이한 콤포넌트(예를 들면, 상이한 언어로 된 오디오 컴포넌트)를 갖는 복수 개의 미디어 데이터들에 대해서는 상이한 값을 갖는다.
도 19는 본 발명의 일 실시예에 따른 데이터 전송 장치(1900)에 대한 블록도를 나타낸다.
본 발명의 일 실시예에 따른 데이터 전송 장치(1900)는 정보 생성부(1910), 정보 전송부(1920) 및 컴포넌트 전송부(1930)를 포함한다.
정보 생성부(1910)는 적어도 하나의 컴포넌트를 포함하는 제 1 미디어 데이터에 대한 정보를 생성한다. 정보 생성부(1910)는 하나의 컨텐트를 상이한 품질로 인코딩하여 생성된 복수 개의 컴포넌트들에 대한 정보를 포함하는 파일을 생성할 수 있으며, 이 파일에 제 1 미디어 데이터에 대한 정보를 삽입한다.
제 1 미디어 데이터에 대한 정보는, 적어도 하나의 컴포넌트가 제 2 미디어 데이터로부터 획득된 컴포넌트와 함께 데이터 수신 장치(2000)내의 디코더에 제공될 수 있는지를 나타내는 정보 및 적어도 하나의 컴포넌트 각각에 대한 정보인 컴포넌트 정보를 포함한다.
컴포넌트 정보는, 제 1 미디어 데이터에 포함된 적어도 하나의 컴포넌트에 대한 타입 정보를 포함한다. 컴포넌트 정보는, 적어도 하나의 컴포넌트의 식별 정보, 오디오 컴포넌트에 대한 채널 정보, 언어 코드 정보 및 손상(impaired) 정보, 서브타이틀 컴포넌트에 대한 언어 정보 및 손상 정보 서브타이틀 컴포넌트에 대한 언어 정보 및 손상 정보 비디오 컴포넌트에 대한 카메라 각도 정보 중 적어도 하나를 더 포함할 수 있다.
제 1 미디어에 대한 정보는, 복수 개의 미디어 데이터들 각각이 동일한 컨텐트를 인코딩하여 생성된 컴포넌트를 포함하고 있는지를 나타내는 정보를 더 포함할 수 있다. 일 예로, 제 1 미디어 데이터와 제 2 미디어 데이터가 동일한 컨텐트를 인코딩하여 생성된 컴포넌트를 각각 포함하면 특정 필드의 값을 동일한 값으로 설정하고, 제 1 미디어 데이터와 제 2 미디어 데이터가 동일한 타입의 상이한 컨텐트(예를 들면, 언어가 상이한 오디오 컨텐트)를 인코딩하여 생성된 컴포넌트를 각각 포함하면 특정 필드의 값을 다른 값으로 설정할 수 있다.
도 20는 본 발명의 일 실시예에 따른 데이터 수신 장치(2000)에 대한 블록도를 나타낸다.
정보 수신부(2010)는 제 1 미디어 데이터에 대한 정보를 수신한다. 제 1 미디어 데이터에 대한 정보는, 적어도 하나의 컴포넌트가 제 2 미디어 데이터로부터 획득된 컴포넌트와 함께 제공될 수 있는지를 나타내는 정보를 포함한다.
컴포넌트 수신부(2020)는 제 1 미디어 데이터에 대한 정보에 기초하여 적어도 하나의 컴포넌트를 획득한다.
도 21은 본 발명의 다른 실시예에 따른 데이터 수신 방법에 대한 흐름도를 나타낸다.
단계 s2110에서는 MPD를 획득한다.
단계 s2120에서는, MPD가 파셜-리프리젠테이션 및 풀-리프리젠테이션 모두를 포함하는 경우 사용자로부터의 입력에 기초하여 이들 중 하나를 선택한다. 별도의 입력이 없는 경우 파셜-리프리젠테이션의 선택이 추천될 수 있다.
파셜-리프리젠테이션이 선택되면 단계 s2141을 수행하고 그렇지 않으면 단계 s2131을 수행한다.
단계 s2131에서는 MPD내의 메타데이터에 기초하여 초기 미디어 데이터를 선택한다. 일반적으로, 미디어 데이터의 비트 레이트에 기초하여 초기 미디어 데이터를 선택한다.
단계 s2132에서, 미디어 데이터의 해더가 존재한다면 해더를 획득한다.
단계 s2133에서, 미디어 데이터에서 미디어 세그먼트들을 획득한다.
단계 s2134에서, 획득한 해더 및 미디어 세그먼트로부터 ES를 획득한다. 이 때, 하나의 오디오 스트림과 하나의 비디오 스트림을 선택하는 것이 일반적이다. 만일, 다른 대안이 있다면 이들 대안으로부터 ES를 선택할 수도 있다.
단계 s2135에서, 선택된 ES를 재생하기 위하여 재생기를 설정하고, ES를 재생한다.
단계 s2136에서, 재생 도중 사용자가 해더/미디어 세그먼트내의 다른 ES로의 교체를 요청하거나, 다른 ES를 추가할 것을 요청하는지를 판단한다. 별도의 요청이 없는 경우 단계 s2135에 따라 선택된 ES를 계속 처리하고, 요청이 있는 경우 (예를 들면, 다른 비트 레이트로의 전환) 요청된 풀-리프리젠테이션을 선택하고 단계 s2132를 진행한다.
단계 s2141에서는 MPD내의 메타데이터에 기초하여(예를 들어, 'PartialComponent'속성 또는 'Bandwidth'속성) 원하는 ES가 포함된 미디어 데이터를 선택한다.
단계 s2142에서, 해당 피어리드 내에서의 해더를 획득한다.
단계 s2143에서, 미디어 데이터에서 미디어 세그먼트들을 획득한다.
단계 s2144에서, 획득한 해더 및 미디어 세그먼트로부터 ES를 획득한다.
단계 s2145에서, 해더 또는 컴포넌트 정보로부터 획득된 정보를 이용하여, 선택된 ES를 재생할 수 있도록 재생기를 구성한다. 'PartialComponent'속성에 ID 필드가 존재한다면, MPD내의 스트림과 해더로부터 추출된 메타 데이터 내의 스트림들간의 정확한 맵핑이 가능할 것이다. 이 경우, 해더를 파싱하지 않고 'TrackID' 또는 'PID'를 재생기에 전송할 수 있다.
단계 s2146에서, 선택된 ES를 재생하기 위하여 재생기를 설정하고, ES를 재생한다.
단계 s2147에서, 재생 도중 해더 또는 미디어 세그먼트내의 다른 ES의 선택 또는 다른 ES의 추가 요청이 수신되는지를 판단한다. 별도의 요청이 없는 경우 단계 s2146에 따라 선택된 ES를 계속 진행하고, 다른 ES가 선택된 경우(예를 들면, 다른 비트 레이트로의 전환) 단계 s2148로 진행한다.
단계 s2148에서는, 선택된 파셜-리프리젠테이션의 'SwitchGroup' 속성 값과 이전 파셜-리프리젠테이션의 'SwitchGroup' 속성 값이 동일한지를 판단한다. 속성값이 동일하면 단계 s2144를 진행하고, 그렇지 않으면 단계 s2142를 진행한다.
구체적으로, 사용자가 'SwitchGroup' 속성 값이 동일한 다른 파셜-프리젠테이션을 선택하면(예를 들어, 비트레이트가 상이한 컴포넌트가 포함된 미디어 데이터)단계 s2144를 진행한다. 반면, 사용자가 'SwitchGroup' 속성 값이 상이한 다른 파셜-프리젠테이션을 선택하거나 추가하면, 단계 s2141을 진행한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다. 또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
예를 들어, 본 발명의 예시적인 실시예에 따른 서버의 스트리밍 장치 및 클라이언트의 스트리밍 장치는 도 13 및 도 14에 도시된 바와 같은 장치의 각각의 유닛들에 커플링된 버스, 상기 버스에 결합된 적어도 하나의 프로세서를 포함할 수 있다. 또한, 명령, 수신된 메시지 또는 생성된 메시지를 저장하기 위해 상기 버스에 결합되어, 전술한 바와 같은 명령들을 수행하기 위한 적어도 하나의 프로세서에 커플링된 메모리를 포함할 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.

Claims (19)

  1. 적어도 하나의 컴포넌트를 서로 다른 성질을 갖도록 인코딩한 결과 생성된 복수의 미디어 데이터에 대한 정보를 획득하는 단계;
    상기 획득된 정보에 포함된 초기화 부분(initialization segment)의 URL 정보에 기초하여, 상기 초기화 부분을 수신하는 단계;
    상기 수신된 초기화 부분에 기초하여, 복수의 미디어 데이터 중 어느 하나의 미디어 데이터에 포함된 부분을 요청하는 단계; 및
    상기 요청된 부분을 수신하는 단계를 포함하고,
    상기 복수의 미디어 데이터 각각은 시간에 기초하여 적어도 하나의 부분으로 분할되고,
    상기 초기화 부분은 상기 미디어 데이터와 관련된 PAT(Program Association Table) 및 PMT(Program Map Table) 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 수신 방법.
  2. 제 1항에 있어서,
    상기 복수의 미디어 데이터에 대한 정보는, 상기 적어도 하나의 컴포넌트 각각에 대한 정보인 컴포넌트 정보를 포함하고,
    상기 컴포넌트 정보는, 상기 적어도 하나의 컴포넌트에 대한 타입 정보를 포함하는 것을 특징으로 하는 데이터 수신 방법.
  3. 제 2항에 있어서, 상기 컴포넌트 정보는,
    상기 적어도 하나의 컴포넌트의 식별 정보를 더 포함하는 것을 특징으로 하는 데이터 수신 방법.
  4. 제 2항에 있어서, 상기 컴포넌트 정보는,
    상기 적어도 하나의 컴포넌트 중 비디오 컴포넌트에 대한 카메라 각도 정보를 더 포함하는 것을 특징으로 하는 데이터 수신 방법.
  5. 제 2항에 있어서, 상기 컴포넌트 정보는,
    상기 적어도 하나의 컴포넌트 중 오디오 컴포넌트에 대한 채널 정보 및 언어 코드 정보 중 적어도 하나를 더 포함하는 것을 특징으로 하는 데이터 수신 방법.
  6. 제 2항에 있어서, 상기 컴포넌트 정보는,
    상기 적어도 하나의 컴포넌트 중 서브타이틀 컴포넌트에 대한 언어 정보를 더 포함하는 것을 특징으로 하는 데이터 수신 방법.
  7. 삭제
  8. 삭제
  9. 적어도 하나의 컴포넌트를 서로 다른 성질을 갖도록 인코딩한 결과 생성된 복수의 미디어 데이터에 대한 정보를 생성하는 단계;
    상기 복수의 미디어 데이터에 대한 정보를 전송하는 단계;
    상기 복수의 미디어 데이터에 대한 정보에 포함된 초기화 부분(initialization segment)의 URL 정보에 기초한 클라이언트의 요청에 따라, 초기화 부분을 클라이언트에 전송하는 단계; 및
    상기 초기화 부분에 기초한 요청에 따라, 상기 복수의 미디어 데이터 중 어느 하나의 미디어 데이터에 포함된 부분을 상기 클라이언트에 전송하는 단계를 포함하고,
    상기 복수의 미디어 데이터 각각은 시간에 기초하여 적어도 하나의 부분으로 분할되고,
    상기 초기화 부분은 상기 미디어 데이터와 관련된 PAT(Program Association Table) 및 PMT(Program Map Table) 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  10. 제 9항에 있어서,
    상기 복수의 미디어 데이터에 대한 정보는, 상기 적어도 하나의 컴포넌트 각각에 대한 정보인 컴포넌트 정보를 포함하고,
    상기 컴포넌트 정보는, 상기 적어도 하나의 컴포넌트에 대한 타입 정보를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  11. 제 10항에 있어서, 상기 컴포넌트 정보는,
    상기 적어도 하나의 컴포넌트의 식별 정보를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.
  12. 제 10항에 있어서, 상기 컴포넌트 정보는,
    상기 적어도 하나의 컴포넌트 중 비디오 컴포넌트에 대한 카메라 각도 정보를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.
  13. 제 10항에 있어서, 상기 컴포넌트 정보는,
    상기 적어도 하나의 컴포넌트 중 오디오 컴포넌트에 대한 채널 정보 및 언어 코드 정보 중 적어도 하나를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.
  14. 제 10항에 있어서, 상기 컴포넌트 정보는,
    상기 적어도 하나의 컴포넌트 중 서브타이틀 컴포넌트에 대한 언어 정보를 더 포함하는 것을 특징으로 하는 데이터 전송 방법.
  15. 삭제
  16. 삭제
  17. 적어도 하나의 컴포넌트를 서로 다른 성질을 갖도록 인코딩한 결과 생성된 복수의 미디어 데이터에 대한 정보를 획득하는 정보 획득부; 및
    상기 획득된 정보에 포함된 초기화 부분(initialization segment)의 URL 정보에 기초하여, 상기 초기화 부분을 수신하고, 상기 수신된 초기화 부분에 기초하여, 복수의 미디어 데이터 중 어느 하나의 미디어 데이터에 포함된 부분을 요청함에 따라 상기 요청된 부분을 수신하는 컴포넌트 획득부를 포함하고,
    상기 복수의 미디어 데이터 각각은 시간에 기초하여 적어도 하나의 부분으로 분할되고,
    상기 초기화 부분은 상기 미디어 데이터와 관련된 PAT(Program Association Table) 및 PMT(Program Map Table) 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 수신 장치.
  18. 적어도 하나의 컴포넌트를 서로 다른 성질을 갖도록 인코딩한 결과 생성된 복수의 미디어 데이터에 대한 정보를 생성하는 정보 생성부;
    상기 복수의 미디어 데이터에 대한 정보를 전송하는 정보 전송부; 및
    상기 복수의 미디어 데이터에 대한 정보에 포함된 초기화 부분(initialization segment)의 URL 정보에 기초한 클라이언트의 요청에 따라, 초기화 부분을 클라이언트에 전송하고, 상기 초기화 부분에 기초한 요청에 따라, 상기 복수의 미디어 데이터 중 어느 하나의 미디어 데이터에 포함된 부분을 상기 클라이언트에 전송하는 컴포넌트 전송부를 포함하고,
    상기 복수의 미디어 데이터 각각은 시간에 기초하여 적어도 하나의 부분으로 분할되고,
    상기 초기화 부분은 상기 미디어 데이터와 관련된 PAT(Program Association Table) 및 PMT(Program Map Table) 중 적어도 하나를 포함하는 것을 특징으로 하는 데이터 전송 장치.
  19. 제 1항 내지 제 6항 및 제9항 내지 제14항 중 어느 한 항의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
KR1020100103725A 2009-11-13 2010-10-22 데이터 전송 방법 및 장치 KR101786050B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN201080061416.4A CN102812673B (zh) 2009-11-13 2010-11-15 发送和接收数据的方法和装置
JP2012538771A JP2013511201A (ja) 2009-11-13 2010-11-15 データ伝送方法及び装置
PCT/KR2010/008068 WO2011059291A2 (en) 2009-11-13 2010-11-15 Method and apparatus for transmitting and receiving data
US12/946,315 US20110119396A1 (en) 2009-11-13 2010-11-15 Method and apparatus for transmitting and receiving data
EP10830223.3A EP2499794B1 (en) 2009-11-13 2010-11-15 Method and apparatus for transmitting and receiving data
JP2015159842A JP6081541B2 (ja) 2009-11-13 2015-08-13 データ伝送方法及び装置

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US26090609P 2009-11-13 2009-11-13
US61/260,906 2009-11-13
US31684210P 2010-03-24 2010-03-24
US61/316,842 2010-03-24
US31728010P 2010-03-25 2010-03-25
US61/317,280 2010-03-25

Publications (2)

Publication Number Publication Date
KR20110053179A KR20110053179A (ko) 2011-05-19
KR101786050B1 true KR101786050B1 (ko) 2017-10-16

Family

ID=44362922

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100103725A KR101786050B1 (ko) 2009-11-13 2010-10-22 데이터 전송 방법 및 장치

Country Status (6)

Country Link
US (1) US20110119396A1 (ko)
EP (1) EP2499794B1 (ko)
JP (2) JP2013511201A (ko)
KR (1) KR101786050B1 (ko)
CN (1) CN102812673B (ko)
WO (1) WO2011059291A2 (ko)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6307487B1 (en) 1998-09-23 2001-10-23 Digital Fountain, Inc. Information additive code generator and decoder for communication systems
US7068729B2 (en) 2001-12-21 2006-06-27 Digital Fountain, Inc. Multi-stage code generator and decoder for communication systems
US9240810B2 (en) 2002-06-11 2016-01-19 Digital Fountain, Inc. Systems and processes for decoding chain reaction codes through inactivation
KR101143282B1 (ko) 2002-10-05 2012-05-08 디지털 파운튼, 인크. 연쇄 반응 코드의 체계적 인코딩 및 디코딩
CN101834610B (zh) 2003-10-06 2013-01-30 数字方敦股份有限公司 通过通信信道接收从源发射的数据的方法和装置
KR101205758B1 (ko) 2004-05-07 2012-12-03 디지털 파운튼, 인크. 파일 다운로드 및 스트리밍 시스템
CN101686107B (zh) 2006-02-13 2014-08-13 数字方敦股份有限公司 使用可变fec开销和保护周期的流送和缓冲
US9270414B2 (en) 2006-02-21 2016-02-23 Digital Fountain, Inc. Multiple-field based code generator and decoder for communications systems
WO2007134196A2 (en) 2006-05-10 2007-11-22 Digital Fountain, Inc. Code generator and decoder using hybrid codes
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
US9178535B2 (en) 2006-06-09 2015-11-03 Digital Fountain, Inc. Dynamic stream interleaving and sub-stream based delivery
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9386064B2 (en) 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
US9209934B2 (en) 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9419749B2 (en) 2009-08-19 2016-08-16 Qualcomm Incorporated Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes
JP5027305B2 (ja) 2007-09-12 2012-09-19 デジタル ファウンテン, インコーポレイテッド 信頼できる通信を可能にするためのソース識別情報の生成および伝達
US9281847B2 (en) 2009-02-27 2016-03-08 Qualcomm Incorporated Mobile reception of digital video broadcasting—terrestrial services
US9380091B2 (en) * 2012-06-12 2016-06-28 Wi-Lan Labs, Inc. Systems and methods for using client-side video buffer occupancy for enhanced quality of experience in a communication network
US9288010B2 (en) 2009-08-19 2016-03-15 Qualcomm Incorporated Universal file delivery methods for providing unequal error protection and bundled file delivery services
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
DK2526671T3 (en) * 2010-01-18 2017-02-27 ERICSSON TELEFON AB L M (publ) METHODS AND DEVICES FOR HTTP MEDIA FLOW DISTRIBUTION
US9225961B2 (en) 2010-05-13 2015-12-29 Qualcomm Incorporated Frame packing for asymmetric stereo video
US8918533B2 (en) 2010-07-13 2014-12-23 Qualcomm Incorporated Video switching for streaming video data
US9185439B2 (en) 2010-07-15 2015-11-10 Qualcomm Incorporated Signaling data for multiplexing video components
US9596447B2 (en) 2010-07-21 2017-03-14 Qualcomm Incorporated Providing frame packing type information for video coding
US8806050B2 (en) 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
CN107087223A (zh) * 2011-01-07 2017-08-22 夏普株式会社 再生装置及其控制方法、以及生成装置及其控制方法
CN107105351B (zh) * 2011-01-12 2019-10-11 夏普株式会社 再生装置
US9270299B2 (en) 2011-02-11 2016-02-23 Qualcomm Incorporated Encoding and decoding using elastic codes with flexible source block mapping
US8958375B2 (en) 2011-02-11 2015-02-17 Qualcomm Incorporated Framing for an improved radio link protocol including FEC
US20120324521A1 (en) * 2011-06-14 2012-12-20 Samsung Electronics Co., Ltd. Method and apparatus for creating content in a broadcasting system
KR101797507B1 (ko) * 2011-06-20 2017-11-15 엘지전자 주식회사 미디어 컨텐트 송수신 방법 및 그를 이용한 송수신 장치
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
US9955195B2 (en) 2011-08-30 2018-04-24 Divx, Llc Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels
US9467708B2 (en) * 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8818171B2 (en) 2011-08-30 2014-08-26 Kourosh Soroushian Systems and methods for encoding alternative streams of video for playback on playback devices having predetermined display aspect ratios and network connection maximum data rates
US9253233B2 (en) 2011-08-31 2016-02-02 Qualcomm Incorporated Switch signaling methods providing improved switching between representations for adaptive HTTP streaming
US9843844B2 (en) 2011-10-05 2017-12-12 Qualcomm Incorporated Network streaming of media data
EP2784953A4 (en) * 2011-11-25 2015-04-29 Humax Holdings Co Ltd METHOD FOR THE HYBRID PROVISION OF MMT PAKCAGES AND CONTENTS AND METHOD FOR RECEIVING CONTENT
KR101719998B1 (ko) 2011-12-12 2017-03-27 엘지전자 주식회사 미디어 컨텐트를 수신하는 장치 및 방법
US9294226B2 (en) 2012-03-26 2016-03-22 Qualcomm Incorporated Universal object delivery and template-based file delivery
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
WO2014113604A1 (en) 2013-01-16 2014-07-24 Huawei Technologies Co., Ltd. Url parameter insertion and addition in adaptive streaming
GB2512310A (en) * 2013-03-25 2014-10-01 Sony Corp Media Distribution
EP3672245A1 (en) 2013-04-05 2020-06-24 Samsung Electronics Co., Ltd. Multi-layer video coding method for random access and device therefor, and multi-layer video decoding method for random access and device therefor
EP2988516B1 (en) * 2013-04-19 2019-09-25 Sony Corporation Server device, client device, content distribution method, and computer program
CN104253788B (zh) * 2013-06-26 2019-07-16 腾讯科技(深圳)有限公司 一种数据处理方法、客户端、页面引擎及系统
US20180046630A1 (en) * 2016-08-12 2018-02-15 Invensys Systems, Inc. Storing and identifying content through content descriptors in a historian system
CN113099291A (zh) * 2014-09-12 2021-07-09 索尼公司 发送设备、发送方法、接收设备和接收方法
CN107431833B (zh) 2015-02-27 2021-08-27 索尼公司 发送装置、发送方法、接收装置和接收方法
CN106412469B (zh) * 2015-08-03 2019-05-24 中强光电股份有限公司 投影系统、投影装置与投影系统的投影方法
KR102577659B1 (ko) * 2015-11-09 2023-09-13 인터디지털 브이씨 홀딩스 인코포레이티드 기본 스트림들로부터 디코딩된 비디오 콘텐츠를 디스플레이의 특성들에 적응시키기 위한 방법 및 디바이스
US10148989B2 (en) 2016-06-15 2018-12-04 Divx, Llc Systems and methods for encoding video content
KR101879439B1 (ko) * 2017-03-27 2018-07-18 (주)판도라티비 적응적 비트레이트 영상 서비스 방법
CN109005470B (zh) * 2018-08-27 2020-11-10 佛山龙眼传媒科技有限公司 一种在线合成字幕的方法、系统与装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090055417A1 (en) * 2007-08-20 2009-02-26 Nokia Corporation Segmented metadata and indexes for streamed multimedia data

Family Cites Families (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3184763B2 (ja) * 1995-06-07 2001-07-09 インターナショナル・ビジネス・マシーンズ・コーポレ−ション マルチメディア直接アクセス記憶装置及びフォーマット方法
MX9801212A (es) * 1995-09-29 1998-04-30 Matsushita Electric Ind Co Ltd Metodo y dispositivo para grabar y reproducir una corriente de bits intercalada sobre y desde un medio.
JP3943674B2 (ja) * 1996-10-25 2007-07-11 キヤノン株式会社 カメラ制御システム並びにカメラサーバ及びその制御方法
WO2000017779A1 (fr) * 1998-09-17 2000-03-30 Sony Corporation Dispositif et procede d'affichage d'images
US6366888B1 (en) * 1999-03-29 2002-04-02 Lucent Technologies Inc. Technique for multi-rate coding of a signal containing information
US20020161739A1 (en) * 2000-02-24 2002-10-31 Byeong-Seok Oh Multimedia contents providing system and a method thereof
JP4529240B2 (ja) * 2000-06-13 2010-08-25 ソニー株式会社 情報処理装置および方法、情報処理システム、並びに記録媒体
KR20040041082A (ko) * 2000-07-24 2004-05-13 비브콤 인코포레이티드 멀티미디어 북마크와 비디오의 가상 편집을 위한 시스템및 방법
ES2342357T3 (es) * 2000-12-15 2010-07-06 British Telecommunications Public Limited Company Transmision y recepcion de material de audio y/o video.
US20030072376A1 (en) * 2001-10-12 2003-04-17 Koninklijke Philips Electronics N.V. Transmission of video using variable rate modulation
JP2003235031A (ja) * 2002-02-08 2003-08-22 Nippon Telegr & Teleph Corp <Ntt> 映像情報提供方法,装置およびそのプログラム
JP2004013283A (ja) * 2002-06-04 2004-01-15 Hitachi Ltd コンテンツ配信方法及びコンテンツ配信装置
CN100341015C (zh) * 2002-06-07 2007-10-03 汤姆森许可贸易公司 用于控制数字编码数据在网络中的分布的方法和设备
DE60212383T2 (de) * 2002-08-27 2006-10-19 Matsushita Electric Industrial Co., Ltd., Kadoma Verfahren zur Übertragung von Datenströmen mit Datensegmenten variabler Länge
JP4127497B2 (ja) * 2002-09-27 2008-07-30 富士フイルム株式会社 ディジタル・サービス・システム
US20040119814A1 (en) * 2002-12-20 2004-06-24 Clisham Allister B. Video conferencing system and method
JP2004312304A (ja) * 2003-04-04 2004-11-04 Sony Corp 復号化装置及びその方法、再生装置及びその方法並びに記憶メディア
JP2004328204A (ja) * 2003-04-23 2004-11-18 Canon Inc 映像信号処理装置
US6895410B2 (en) * 2003-05-02 2005-05-17 Nokia Corporation Method and apparatus for providing a multimedia data stream
JP2005039667A (ja) * 2003-07-17 2005-02-10 Sony Corp データ送受信システム、データ受信装置、データ送信装置及びデータ送受信方法
JP2005073138A (ja) * 2003-08-27 2005-03-17 Casio Comput Co Ltd 情報再生装置および情報再生処理プログラム
KR100547139B1 (ko) * 2003-09-03 2006-01-26 학교법인 고황재단 IETF QoS 프로토콜을 이용한 MPEG 미디어데이터 전송 방법 및 장치
CN1830164A (zh) * 2003-10-30 2006-09-06 松下电器产业株式会社 面向携带终端的传输方法以及装置
US20050183120A1 (en) * 2004-01-13 2005-08-18 Saurabh Jain Multi-user personalized digital multimedia distribution methods and systems
KR101022471B1 (ko) * 2004-01-17 2011-03-16 삼성전자주식회사 멀티미디어 데이터를 기록한 정보저장매체, 그 재생방법및 재생장치
JP2005229153A (ja) * 2004-02-10 2005-08-25 Sony Corp 調光システムおよび調光方法、配信装置および配信方法、受信装置および受信方法、記録装置および記録方法、ならびに、再生装置および再生方法
KR101145261B1 (ko) * 2004-02-27 2012-05-24 삼성전자주식회사 멀티미디어 데이터를 기록한 정보저장매체, 그 재생방법및 재생장치
US7818444B2 (en) * 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US20050262541A1 (en) * 2004-05-21 2005-11-24 Sony Corporation Reception device, station selection method, and stream distribution system
JP4575129B2 (ja) * 2004-12-02 2010-11-04 ソニー株式会社 データ処理装置およびデータ処理方法、並びにプログラムおよびプログラム記録媒体
US7543073B2 (en) * 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
US20080301380A1 (en) * 2005-02-18 2008-12-04 Masanori Itho Data Processor
JP2007013939A (ja) * 2005-05-30 2007-01-18 Matsushita Electric Ind Co Ltd メタデータ付与装置及びメタデータ付与方法
KR100716291B1 (ko) * 2005-07-27 2007-05-09 삼성전자주식회사 영상재생장치와 그 제어방법 및 pvr
US20070140116A1 (en) * 2005-12-16 2007-06-21 Microsoft Corporation Interactive Codec Selection
DK1969857T3 (da) * 2006-01-05 2012-07-16 Ericsson Telefon Ab L M Styring af filer indeholdende mediedata
US8626178B2 (en) * 2006-01-31 2014-01-07 Niels Thybo Johansen Audio-visual system control using a mesh network
JP2007207328A (ja) * 2006-01-31 2007-08-16 Toshiba Corp 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法
CN101611579B (zh) * 2006-03-24 2012-12-26 Lg电子株式会社 生成具有ofdm可变持续时间码元的传输时隙的方法以及使用该方法的移动终端
US20080133766A1 (en) * 2006-05-05 2008-06-05 Wenjun Luo Method and apparatus for streaming media to a plurality of adaptive client devices
JP4785687B2 (ja) * 2006-09-15 2011-10-05 キヤノン株式会社 映像制御装置及びその方法
KR100805308B1 (ko) * 2006-10-13 2008-02-20 에스케이 텔레콤주식회사 이동통신 단말기에서의 컨텐츠 추천 서비스 방법 및 이를위한 이동통신 단말기
CN100544439C (zh) * 2006-11-21 2009-09-23 华为技术有限公司 一种支持多种编码格式的媒体数据的方法及系统
KR101369747B1 (ko) * 2007-05-10 2014-03-06 삼성전자주식회사 정보저장매체, 비디오 컨텐츠 재생 장치 및 재생 방법
US7694006B2 (en) * 2007-07-27 2010-04-06 Realnetworks, Inc. System and method for distributing media data
KR101128848B1 (ko) * 2007-09-13 2012-03-23 에스케이플래닛 주식회사 멀티 앵글 모바일 방송 서비스를 제공하는 서버, 시스템 및방법
US20090110060A1 (en) * 2007-10-30 2009-04-30 Mauricio Cortes Method and apparatus for performing lower complexity multiple bit rate video encoding using metadata
US8095680B2 (en) * 2007-12-20 2012-01-10 Telefonaktiebolaget Lm Ericsson (Publ) Real-time network transport protocol interface method and apparatus
US8140390B2 (en) * 2008-02-12 2012-03-20 At&T Intellectual Property I, Lp System and method for displaying partial advertising data during trick play
US8301618B2 (en) * 2008-02-26 2012-10-30 Microsoft Corporation Techniques to consume content and metadata
US8208006B2 (en) * 2008-04-10 2012-06-26 Research In Motion Limited Method and system for progressive delivery and synchronization of discrete content in rich media services
US7949775B2 (en) * 2008-05-30 2011-05-24 Microsoft Corporation Stream selection for enhanced media streaming
US8943409B2 (en) * 2008-12-26 2015-01-27 Sandisk Il Ltd. Storage device managing playable content
US8621044B2 (en) * 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090055417A1 (en) * 2007-08-20 2009-02-26 Nokia Corporation Segmented metadata and indexes for streamed multimedia data

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
기술문서(Alex Zambelli, IIS Smooth Streaming Technical Overview, IIS Forums, 2009.03.31.)*

Also Published As

Publication number Publication date
CN102812673A (zh) 2012-12-05
JP2016001913A (ja) 2016-01-07
EP2499794A2 (en) 2012-09-19
WO2011059291A3 (en) 2011-10-27
JP6081541B2 (ja) 2017-02-15
CN102812673B (zh) 2016-02-17
EP2499794A4 (en) 2014-03-12
EP2499794B1 (en) 2016-12-07
JP2013511201A (ja) 2013-03-28
WO2011059291A2 (en) 2011-05-19
US20110119396A1 (en) 2011-05-19
KR20110053179A (ko) 2011-05-19

Similar Documents

Publication Publication Date Title
KR101786050B1 (ko) 데이터 전송 방법 및 장치
KR101750049B1 (ko) 적응적인 스트리밍 방법 및 장치
KR101837687B1 (ko) 콘텐트의 품질을 결정하는 복수의 인자에 기초한 적응적인 스트리밍 방법 및 장치
KR101737084B1 (ko) 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치
KR101777348B1 (ko) 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
JP6177843B2 (ja) 部分化を利用した適応的なストリーミング方法及びその装置
KR101786051B1 (ko) 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
US9197689B2 (en) Method and apparatus for adaptively streaming content including plurality of chapters
US20120272281A1 (en) Method and apparatus for transmitting media data, and method and apparatus for receving media data
JP6131050B6 (ja) データ伝送方法及び装置、並びにデータ受信方法及び装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant