KR20110053177A - 부분화에 기초한 적응적인 스트리밍 방법 및 장치 - Google Patents

부분화에 기초한 적응적인 스트리밍 방법 및 장치 Download PDF

Info

Publication number
KR20110053177A
KR20110053177A KR1020100103721A KR20100103721A KR20110053177A KR 20110053177 A KR20110053177 A KR 20110053177A KR 1020100103721 A KR1020100103721 A KR 1020100103721A KR 20100103721 A KR20100103721 A KR 20100103721A KR 20110053177 A KR20110053177 A KR 20110053177A
Authority
KR
South Korea
Prior art keywords
media data
information
media
content
client
Prior art date
Application number
KR1020100103721A
Other languages
English (en)
Other versions
KR101777347B1 (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 JP2012538764A priority Critical patent/JP6116906B2/ja
Priority to US12/945,545 priority patent/US10425666B2/en
Priority to PCT/KR2010/008016 priority patent/WO2011059273A2/en
Priority to EP10830205.0A priority patent/EP2499792B1/en
Priority to CN201080061413.0A priority patent/CN102714624B/zh
Publication of KR20110053177A publication Critical patent/KR20110053177A/ko
Priority to JP2015156368A priority patent/JP6177843B2/ja
Application granted granted Critical
Publication of KR101777347B1 publication Critical patent/KR101777347B1/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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • 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/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/38Flow control; Congestion control by adapting coding or compression rate
    • 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 or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234327Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into layers, e.g. base layer and one or more enhancement layers
    • 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
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2665Gathering content from different sources, e.g. Internet and satellite
    • 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/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • 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/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
    • 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)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Marketing (AREA)
  • Business, Economics & Management (AREA)
  • Library & Information Science (AREA)
  • Astronomy & Astrophysics (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

하나의 콘텐트를 복수의 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터를 부분화하여 보다 안정적이고, 효율적으로 스트리밍 환경에 적응적인 미디어 데이터의 전송 및 수신을 수행하는 방법 및 장치가 개시된다.

Description

부분화에 기초한 적응적인 스트리밍 방법 및 장치{Method and apparatus for adaptive streaming based on segmentation}
본 발명은 스트리밍 방법 및 장치에 관한 것으로, 보다 상세히는 스트리밍 환경의 변동(fluctuation)에 따라 적응적으로 미디어 데이터를 스트리밍하는 방법 및 장치에 관한 것이다.
네트워크를 통해 미디어 데이터를 전송하는 방식에는 다운로드 방식과 스트리밍 방식이 있다. 스트리밍 방식은 서버가 실시간으로 미디어 데이터를 전송하고, 클라이언트는 수신된 미디어 데이터를 실시간으로 재생하는 방식이다.
스트리밍 방식은 미디어 데이터를 모두 송수신하고 난 다음에 미디어 데이터의 재생이 시작되는 다운로드 방식과 달리 서버와 클라이언트 사이에 설정된 논리적인 채널을 통해 실시간으로 미디어 데이터가 송수신되고, 재생되기 때문에 스트리밍 환경의 변동을 반영하여 미디어 데이터 재생의 QoS(Quality of Sevice)를 유지할 수 있는 방법 및 장치가 필요하다.
본 발명이 해결하고자 하는 기술적 과제는 스트리밍 즉, 미디어 데이터의 전송 및 수신을 스트리밍 환경에 따라 적응적으로 조절하여 수행하는 방법 및 장치를 제공하는데 있고, 상기 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 미디어 데이터를 수신하는 방법은 소정의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하는 파일을 서버로부터 수신하는 단계; 및 상기 수신된 파일에 기초해 상기 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 수신하는 단계를 포함하고, 상기 복수의 미디어 데이터는 상기 콘텐트를 소정 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 각각 포함하고, 상기 적어도 하나의 부분은 랜덤 액세스 포인트(random access point)로 시작하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 미디어 데이터는 MPEG-2 TS(MPEG-2 Transport Stream) 포맷에 따른 미디어 데이터이고, 상기 MPEG-2 TS의 엘리멘터리 스트림(elementary stream)에 대응되는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 부분은 적어도 하나의 PES(Packetized Elementary Stream)를 포함하고, 하나의 PES는 하나의 부분에 모두 포함되는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 PES는 하나의 영상 프레임 또는 음성 프레임에 대한 데이터를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 랜덤 액세스 포인트에 대한 전송 스트림은 랜덤 액세스 포인트에 대한 전송 스트림임을 나타내는 정보를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 수신된 파일은 상기 복수의 미디어 데이터에 대한 PAT(Program Association Table) 및 PMT(Program Map Table) 중 적어도 하나를 지시하는 정보를 더 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 PAT 및 PMT는 전송 스트림에서 초기화 부분(initialization segment)으로서 상기 복수의 미디어 데이터와 분리되어 있는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 PAT 및 PMT 중 적어도 하나는 상기 복수의 미디어 데이터의 전체 리스트를 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 복수의 미디어 데이터는 PID(packet ID)가 상이한 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 적어도 하나의 부분은 적어도 하나의 GOP(Group of Pictures)에 대한 전송 스트림들을 포함하는 것을 특징으로 한다.
본 발명의 또 다른 실시예에 따르면, 상기 미디어 데이터는 MP4 포맷에 따른 미디어 데이터이고, MP4의 "trak" 박스에 대응되는 것을 특징으로 한다 .
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 미디어 데이터를 전송하는 방법은 소정의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하는 파일을 클라이언트에 전송하는 단계; 및 상기 전송된 파일에 기초한 상기 클라이언트의 요청에 따라 상기 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 상기 클라이언트에 전송하는 단계를 포함하고, 상기 복수의 미디어 데이터는 상기 콘텐트를 소정 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 각각 포함하고, 상기 적어도 하나의 부분은 랜덤 액세스 포인트(random access point)로 시작하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 미디어 데이터를 수신하는 장치는 소정의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하는 파일을 서버로부터 수신하는 정보수신부; 및 상기 수신된 파일에 기초해 상기 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 수신하는 미디어데이터수신부를 포함하고, 상기 복수의 미디어 데이터는 상기 콘텐트를 소정 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 각각 포함하고, 상기 적어도 하나의 부분은 랜덤 액세스 포인트(random access point)로 시작하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위한 본 발명의 일 실시예에 따른 미디어 데이터를 수신하는 장치는 소정의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하는 파일을 클라이언트에 전송하는 정보전송부; 및 상기 전송된 파일에 기초한 상기 클라이언트의 요청에 따라 상기 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 상기 클라이언트에 전송하는 미디어데이터전송부를 포함하고, 상기 복수의 미디어 데이터는 상기 콘텐트를 소정 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 각각 포함하고, 상기 적어도 하나의 부분은 랜덤 액세스 포인트(random access point)로 시작하는 것을 특징으로 한다.
상기 기술적 과제를 해결하기 위해 본 발명에 따른 일 실시예는 상기된 미디어 데이터를 수신하는 방법 및 전송하는 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공한다.
본 발명에 따르면, 미디어 데이터를 체계적인 규칙에 따라 부분화함으로써, 보다 스트리밍 환경에 적응적인 미디어 데이터의 전송 및 수신을 보다 안정적으로, 빠르게 수행할 수 있다.
도 1은 본 발명의 일 실시예에 따른 스트리밍 시스템을 도시한다.
도 2a 및 2b는 본 발명의 일 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 콘텐트에 대한 정보를 포함하는 파일의 스키마(schema)를 도시한다.
도 4a는 본 발명의 일 실시예에 따른 복수의 미디어 데이터를 정의하기 위한 정보를 도시한다.
도 4b는 본 발명의 일 실시예에 따른 미디어 데이터의 헤더에 대한 정보를 도시한다.
도 4c는 본 발명의 일 실시예에 따른 복수의 미디어 데이터 각각에 포함된 적어도 하나의 부분들에 대한 정보를 포함한다.
도 5a 및 5b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 또 다른 실시예에 따른 콘텐트에 대한 정보를 포함하는 파일의 스키마를 도시한다.
도 7은 본 발명의 또 다른 실시예에 따른 콘텐트에 대한 정보를 도시한다.
도 8a 및 8b는 본 발명의 일 실시예에 따른 미디어 표현 기술의 스키마를 도시한다.
도 9a 내지 9h는 본원 발명의 일 실시예에 따른 미디어 표현 기술을 도시한다.
도 10a 내지 10c는 본 발명의 일 실시예에 따른 복수의 미디어 데이터를 도시한다.
도 11a 및 11b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 12a 및 12c는 본 발명의 또 다른 실시예에 따른 복수의 미디어 데이터를 도시한다.
도 13은 본 발명의 일 실시예에 따른 서버의 미디어 데이터 전송 장치를 도시한다.
도 14는 본 발명의 일 실시예에 따른 클라이언트의 미디어 데이터 수신 장치를 도시한다.
도 15a 및 15b는 본 발명의 일 실시예에 따른 MPEG-2 TS(transport stream) 포맷의 미디어 데이터를 부분화하는 방법을 도시한다.
도 17은 본 발명의 일 실시예에 따른 부분의 구조를 도시한다.
도 18a 내지 18c는 본 발명의 일 실시예에 따른 MP4 포맷에 따른 미디어 데이터를 부분화하는 방법을 도시한다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 스트리밍 시스템을 도시한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 스트리밍 시스템(100)은 인코딩 장치(110), 서버(120) 및 클라이언트(130)를 포함한다.
인코딩 장치(110)는 입력된 콘텐트를 복수의 상이한 품질로 인코딩하여 하나의 콘텐트에 대한 복수의 미디어 데이터를 생성한다. 서버(120)가 클라이언트(130)에 미디어 데이터를 스트리밍할 때, 스트리밍 환경은 변경될 수 있다. 예를 들어, 스트리밍을 위한 네트워크(140) 대역폭이 변경될 수도 있고, 미디어 데이터를 전송하기 위해 서버(120)가 사용 가능한 하드웨어 자원 또는 미디어 데이터를 수신하기 위해 클라이언트(130)가 사용 가능한 하드웨어 자원이 변경될 수도 있다.
따라서, 인코딩 장치(110)는 유동적인 스트리밍 환경에 따른 적응적인 스트리밍을 위해 하나의 콘텐트를 복수의 상이한 품질로 인코딩한다. 비트율(bitrate) 또는 샘플링 주파수(sampling frequency) 또는 해상도 또는 프레임율(frame rate) 등과 같은 인자들을 조절함으로써 하나의 콘텐트를 복수의 상이한 품질로 인코딩할 수 있다. 예를 들어, 하나의 동영상 콘텐트를 서로 다른 해상도로 인코딩하여 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초에 해당하는 부분을 전송할 수 있다. 미디어 데이터가 시간에 기초해 복수의 부분들로 분할되어 있기 때문에 스트리밍 도중에도 스트리밍 환경에 따라 상이한 미디어 데이터의 부분들을 전송할 수 있다.
도 15a 및 15b는 본 발명의 일 실시예에 따른 MPEG-2 TS(transport stream) 포맷의 미디어 데이터를 부분화하는 방법을 도시한다. 본 발명의 상세한 설명에서는 미디어 데이터의 콘테이너 포맷이 MP4 포맷 또는 MPEG-TS 포맷일 때 미디어 데이터를 부분화하는 방법을 예로 들어 설명한다. 그러나, 콘테이터 포맷은 이에 한정되지 아니하며, 미디어 데이터의 전송을 위한 모든 콘테이너 포맷에 본 발명이 적용될 수 있음은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다. 예를 들어, 콘테이너 포맷은 MP4, MPEG-TS가 아닌 MMT(MPEG Media Transport) 표준에 따른 포맷일 수 있다.
도 15a를 참조하면, 미디어 데이터가 비디오 데이터인 경우 엘리멘터리 스트림은 복수의 픽처에 대한 데이터를 포함하고, 복수의 픽처에 대한 데이터는 GOP(Group of Picture)에 기초해 그룹화될 수 있다. 각각의 GOP는 인프라 픽처(intra picture) 즉, 예측 부호화를 위해 다른 픽처를 참조하지 않는 픽처로 시작한다. 인트라 픽처는 예측 부호화를 위해 다른 픽처를 참조하지 않기 때문에 랜덤 액세스 포인트(Random Access Point)로 이용될 수 있다. GOP는 비디오 데이터를 복수의 부분으로 구분하는 단위의 예시일 뿐이며, GOP가 아닌 다른 단위가 도 15a의 미디어 데이터를 부분화하는 방법에 이용될 수 있음은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다.
복수의 픽처에 대한 데이터는 MPEG2-TS 포맷에 따라 복수의 전송 스트림(transport stream)으로 분할되고, 복수의 전송 스트림을 그룹화하여 하나의 부분이 생성된다. 전송 스트림을 그룹화하여 하나의 부분을 생성하기 때문에 부분의 시작 및 끝 경계는 최초 전송 스트림에 대한 패킷 및 마지막 전송 스트림에 대한 패킷의 경계와 일치한다. 다시 말해, 하나의 부분은 전송 스트림 단위로 구성된다.
도 15a에서는 하나의 부분(1530)이 두개의 GOP(1510 및 1512)에 대한 복수의 전송 스트림(1520)을 포함하고, GOP 단위로 하나의 부분(1530)이 생성되기 때문에 각각의 부분은 인트라 픽처 즉, 랜덤 액세스 포인트로 시작한다.
본원 발명은 스트리밍 환경에 적응적인 스트리밍을 위해 미디어 데이터를 적어도 하나의 부분으로 분할하고, 스트리밍 환경에 따라 서로 다른 품질의 부분을 전송한다. 따라서, 각각의 부분은 독립적으로 재생될 수 있어야 하며, 따라서 각각의 부분은 랜덤 액세스 포인트로 시작하는 것이 바람직하다. 그런데, 일반적으로 GOP는 인트라 픽처로 시작하고, 인트라 픽처는 랜덤 액세스 포인트로 이용될 수 있으므로, 도 15a에 도시된 바와 같이 적어도 하나의 GOP 단위에 대한 전송 스트림(1520)을 그룹화하여 하나의 부분을 생성한다.
또한, 하나의 픽처에 대한 데이터를 분할하여 MPEG2-TS 포맷에 따른 복수의 전송 스트림을 생성할 때에 하나의 전송 스트림은 하나의 픽처에 대한 데이터만 포함하도록 한다. 복수의 픽처에 대한 데이터를 소정의 크기로 일정하게 분할하여 전송 스트림을 생성하면, 하나의 전송 스트림에 두개의 픽처에 대한 데이터가 포함될 수 있다. 다시 말해, 하나의 픽처에 대한 데이터의 끝을 고려하지 않고 t-1 시각 픽처에 대한 데이터 및 t 시각 픽처에 대한 데이터를 일정한 크기로 분할하여 전송 스트림을 생성하면, t-1 시각 픽처에 대한 데이터의 마지막 전송 스트림은 t-1 시각 픽처에 대한 데이터 및 t 시각 픽처에 대한 데이터를 포함할 수 있다.
그런데, 본원 발명에 따른 적응적인 스트리밍은 부분(1530)은 물론 전송 스트림(1520)도 각각 독립적으로 재생되는 것이 바람직하다. 예를 들어, 클라이언트(130)가 현재 비디오 데이터의 t-1 시각 픽처를 재생하고 있는데, t 시각 픽처부터는 해상도가 높은 픽처를 재생하는 경우, t 시각 픽처부터는 다른 품질의 미디어 데이터를 수신하여야 한다. 그런데, 소정의 전송 스트림이 t-1 시각 픽처에 대한 데이터 및 t 시각 픽처에 대한 데이터를 모두 포함한다면, 미디어 데이터의 경계가 모호해져 도 15a와 같은 적응적 스트리밍을 위한 부분화의 효과가 반감된다. 따라서, 엘리멘터리 스트림을 분할하여 전송 스트림을 생성할 때에도 하나의 전송 스트림의 페이로드에는 하나의 비디오 프레임에 대한 데이터만 포함되도록 전송 스트림을 생성할 수 있다. 또한, 하나의 비디오 프레임에 대한 최초 전송 스트림의 헤더는 하나의 비디오 프레임이 시작함을 나타내는 정보를 포함할 수 있다. 하나의 비디오 프레임이 시작함을 나타내는 정보는 전송 스트림 패킷의 "payload_start_unit_indicator"일 수 있다.
다만, 본 발명의 또 다른 실시예에 따르면, 하나의 전송 스트림에 복수의 픽처에 대한 데이터가 포함되어 있을 수도 있으며, 이 때에 적응적인 스트리밍은 픽처 단위로 수행할 수 있다. 다시 말해, 스트리밍 환경을 고려하여 품질이 상이한 픽처로 변경하여 스트리밍을 수행할 수 있다.
또한, 전송 스트림이 전술한 랜덤 액세스 포인트에 대한 전송 스트림이면, 랜덤 액세스 포인트에 대한 전송 스트림임을 나타내는 정보가 전송 스트림의 헤더에 포함될 수 있다. 전송 스트림의 헤더는 다음 랜덤 액세스 포인트에 대한 전송 스트림의 위치에 대한 정보도 포함함으로써 랜덤 액세스를 빠른 속도로 수행할 수도 있다.
도 15a에 도시된 부분화 방법에 따라 복수의 미디어 데이터는 도 15b에 도시된 바와 같이 부분화될 수 있다. 도 15b를 참조하면, 복수의 미디어 데이터는 복수의 전송 스트림을 포함하는 부분들로 각각 분할될 수 있다.
복수의 미디어 데이터는 각각 복수의 엘리멘터리 스트림(elementary stream)(예를 들어, MPEG-2에 따른 엘리메너리 스트림)에 각각 대응될 수 있고, 이 경우에 복수의 미디어 데이터 각각에 대해 상이한 PID(Packet ID)(1550, 1560 및 1570)가 할당될 수 있다. 다만, 본 발명의 또 다른 실시예에 따르면, 하나의 콘텐트(예를 들어, 프로그램)를 품질만 상이하게 설정하여 인코딩하여 생성된 복수의 미디어 데이터는 모두 동일한 콘텐트에 대한 미디어 데이터이므로, PID가 동일하게 설정될 수도 있다. 도 15a의 엘리멘터리 스트림은 도 15b의 PID가 "1"인 미디어 데이터 또는 PID가 "2"인 미디어 데이터 또는 PID가 "3"인 미디어 데이터일 수 있다.
MPEG-2에 따르면, PSI(Program Specific Information)도 함께 스트리밍되고, PSI를 포함하는 전송 스트림의 PID는 특정 값으로 고정된다. 그러나 본 발명에 따르면, 도 15b에 도시된 바와 같이 PAT(Program Association Table) 및 PMT(Program Map Table)와 같은 PSI는 복수의 미디어 데이터에 대한 헤더로서 페이로드 데이터와 분리될 수 있다. 예를 들어, 도 15b에 도시된 바와 같이 PID가 "1"인 미디어 데이터의 페이로드 데이터는 도 15a와 관련하여 전술한 방법에 따라 부분화된다. 그러나, PAT 및 PMT와 같은 PSI는 복수의 미디어 데이터 전체에 대한 헤더로서 별도의 파일로 존재할 수 있다. PAT 및 PMT에서 각각의 미디어 데이터를 구분하기 위해 할당되는 PID(1550, 1560 및 1570)는 전술한 바와 같이 복수의 미디어 데이터에 각각에 대해 상이하게 할당될 수 있고, 품질만 상이한 복수의 미디어 데이터에 대해 동일하게 할당될 수도 있다.
복수의 미디어 데이터 전체에 대한 헤더 즉, 도 15b의 "Reference Data"는 초기화 부분(initialization segment)으로서 미디어 데이터의 재생을 개시하기 위해 페이로드 데이터를 포함하고 있는 부분들보다 먼저 클라이언트(130)에 전송될 수 있다. 다시 말해, 후술하는 도 2b의 단계 222, 도 5b의 단계 532 및 도 11b의 단계 1122에서 클라이언트(130)가 수신하는 헤더 정보가 도 15b의 복수의 미디어 데이터 전체에 대한 즉, "Reference Data"일 수 있다. “Reference Data”는 도 10c 및 도 12c와 관련하여 후술하는 헤더 파일(1050 또는 1250)에 대응될 수 있다.
도 15b를 참조하면, 복수의 미디어 데이터가 복수의 엘리멘터리 스트림에 각각 대응되는 경우 복수의 미디어 데이터에 포함된 부분들 각각은 적어도 하나의 연속된 PES(Packetized Elementary Stream)를 포함할 수 있다. 그러나, 하나의 PES은 하나의 부분에만 포함되는 것이 바람직하다. 전송 스트림과 관련하여 전술한 바와 같이 적응적 스트리밍을 위해서는 하나의 부분과 MPEG2-TS 포맷에 따른 전송 스트림 단위가 정렬되는 것이 바람직하다. 따라서, 하나의 PES도 하나의 부분에만 포함되도록 미디어 데이터를 분할한다. 다시 말해, 하나의 PES가 상이한 부분에 포함될 수 없다. 요컨대, 하나의 부분은 정수 개수의 PES를 포함한다. 도 15b에서 동일한 시간의 미디어 데이터에 대한 PES들은 PID가 "1"인 미디어 데이터에 대한 부분, PID가 "2"인 미디어 데이터에 대한 부분 및 PID가 "3"인 미디어 데이터에 대한 부분에 각각 포함된다. PES는 복수의 전송 스트림을 포함하는 단위로서, 하나의 영상 프레임 또는 음성 프레임에 대한 데이터를 포함할 수도 있고, 복수의 영상 프레임 또는 복수의 음성 프레임에 대한 데이터를 포함할 수도 있다. 또한, 하나의 영상 프레임 또는 음성 프레임에 대한 데이터가 하나의 PES에 포함될 수 없는 경우에는 하나의 영상 프레임 또는 음성 프레임에 대한 데이터는 복수의 PES에 포함될 수 있다.
PES는 각각 미디어 데이터의 시간 동기화를 위한 정보 즉, 타임 스탬프를 포함할 수 있다. 각각의 PES가 어떤 시간의 미디어 데이터에 대한 정보를 포함하는지 나타내는 정보를 포함할 수 있다. 특히, 시각에 기초해 전송 스트림을 그룹화하여 하나의 PES를 생성하는 경우, 하나의 PES에 포함되는 모든 전송 스트림은 동일한 시각의 미디어 데이터에 전송 스트림이다. 타임 스탬프는 PTS(Presentation Time Stamp) 및 DTS(Decoding Time Stamp) 중 적어도 하나를 포함할 수 있다.
같은 종류의 복수의 미디어 데이터(예를 들어, 비트 레이트가 상이한 복수의 비디오 데이터) 또는 상이한 종류의 복수의 미디어 데이터(예를 들어, 비디오 데이터 와 오디오 데이터)에 포함된 PES에 대한 타임 스탬프는 미디어 데이터의 재생시간에 따라 정렬(aligned)될 수 있다.
예를 들어, 제1 미디어 데이터의 최초 PES와 제2 미디어 데이터의 최초 PES 동일한 시간에 재생되는 콘텐트라면, PTS 및/또는 DTS가 동일하게 설정될 수 있다. 도 15b에 도시된 PES들을 예로 들어 설명하면, 도 15b에서 PID가 "1"인 미디어 데이터의 PES(1552)에 대한 타임 스탬프, PID가 "2"인 미디어 데이터의 PES(1562)에 대한 타임 스탬프 및 PID가 "3"인 미디어 데이터의 PES(1572)에 대한 타임스탬프는 동일하게 설정될 수 있다. 또한, PID가 "1"인 미디어 데이터의 PES(1554)에 대한 타임 스탬프, PID가 "2"인 미디어 데이터의 PES(1564)에 대한 타임 스탬프 및 PID가 "3"인 미디어 데이터의 PES(1574)에 대한 타임스탬프도 동일하게 설정될 수 있다.
또한, 제1 미디어 데이터를 재생하던 중 미디어 데이터를 변경하여 제2 미디어 데이터를 재생하는 경우에도 연속적으로 재생될 수 있도록 PTS 및/또는 DTS가 연속적으로 정렬될 수 있다. 다시 말해, 제1 미디어 데이터를 재생하던 중 미디어 데이터를 변경하여 제2 미디어 데이터를 재생하면, 제1 미디어 데이터에서 마지막으로 재생되는 PES의 PTS 및/또는 DTS와 제2 미디어 데이터에서 최초로 재생되는 PES의 PTS 및/또는 DTS가 연속적으로 설정될 수 있다.
미디어 데이터의 부분들은 PES 단위에 기초해 생성되고, 각각의 PES의 PTS 및/또는 DTS가 시간에 기초해 연속적으로 정렬되기 때문에, 각각의 부분들의 시작 시간은 PTS 및/또는 DTS에 기초해 알 수 있다. 따라서, 제1 미디어 데이터를 부분을 재생하고, 이어서 제2 미디어 데이터의 다음 부분을 재생할 수 있다.
그러나, 본 발명의 또 다른 실시예에 따르면, PES에 대해 타임 스탬프가 할당되지 않을 수 있다. PES에 대한 타임 스탬프는 선택적 요소이며, PES가 타임 스탬프와 같은 시간 정보를 포함하고 있지 않는 경우, 미디어 데이터의 부분들의 시작 시간을 특정할 수 없다. 도 16a 및 16b를 참조하여 상세히 설명한다.
도 16a 내지 16b는 본 발명의 일 실시예에 따른 시작 시간에 대한 정보를 미디어 데이터의 부분들에 삽입하는 방법을 도시한다. 도 16a 내지 16b는 도 15b에 도시된 바와 같이 미디어 데이터를 복수의 부분으로 분할할 때, 미디어 데이터의 부분들에 시간 정보를 삽입하는 방법을 도시한다.
도 16a를 참조하면, PES가 PTS 및/또는 DTS를 포함하지 않으면, k 번째 부분(1610)에 포함되어 있는 PES들(1620 및 1630)은 PTS 및/또는 DTS를 포함하지 않으며, k 번째 부분(1610)의 시작 시간을 특정할 수 없다.
이 경우 각각의 부분의 시작 시간을 특정할 수 없어, 적응적인 스트리밍이 불가능해진다. 전술한 바와 같이 적응적인 스트리밍을 위해서는 상이한 미디어 데이터의 부분들이 연속적으로 재생될 수 있어야 하는데, PES가 PTS 및/또는 DTS를 포함
하지 않아 각각의 부분의 시작 시간을 특정할 수 없어, 상이한 미디어 데이터의 부분들이 연속적으로 재생될 수 없기 때문이다. 예를 들어, 제1 미디어 데이터의 k 번째 부분을 재생하고, 연속적으로 제2 미디어 데이터의 k+1 번째 부분을 재생해야 하는 경우에 k+1 번째 부분의 시작 시간을 특정할 수 없으면, 연속적으로 재생할 수 없다.
따라서, 본 발명의 일 실시예는 전송 스트림에 부분에 대한 시간 정보를 포함시킬 수 있다. 각각의 부분의 최초 전송 스트림에 PTS 및/또는 DTS를 포함시킬 수 있다. 예를 들어, 도 16a에 도시된 k 번째 부분(1610)의 최초 PES(1620)의 최초 전송 스트림(1622)에 시간 정보를 포함시킬 수 있는 바, 다음과 같은 구문을 통해 시간 정보를 생성하고, 생성된 시간 정보를 전송 스트림의 하나의 필드로서 포함시킬 수 있다.
구문 비트수
Segment_Index() {
data_field_tag 8
data_field_length 8
PTS 33
DTS 33
PCR 33
}
전송 스트림의 “private_data_bytes” 필드에 각각의 부분을 인덱싱(indexing)할 수 있는 “Segment_Index()”를 삽입하는 바, “data_field_tag”는 전송 스트림의 필드가 부분의 인덱싱과 관련된 부분임을 정의하는 구문이고, “data_field_length”는 필드의 길이를 정의한다. PTS, DTS 및 PCR(Program Clock Reference) 중 적어도 하나가 시간 정보로서 삽입된다.
“Segment_Index()”는 전술한 바와 같이 최초 PES(1620)의 최초 전송 스트림(1622)에 포함될 수도 있고, 최초 PES의 다른 전송 스트림(1624 내지 1626)에 포함될 수도 있음은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다.
전술한 바와 같이 하나의 PES는 하나의 부분에 포함되고, 서로 다른 부분들에 동시에 포함되지 않는 것이 바람직하다. 그러나, 도 16b에 도시된 바와 같이 하나의 PES(1640)이 서로 다른 부분들(1610 및 1612)에 포함되어 있는 경우에도 k+1 번째 부분의 최초 전송 스트림에도 시간 정보를 삽입함으로써, 적응적인 스트리밍을 수행할 수 있다.
도 16b의 PES(1640)가 전술한 시간 정보 예를 들어, PTS 및/또는 DTS를 포함하고 있지 않은 경우는 물론 포함하고 있는 경우에도 상이한 부분들(1610 및 1612)에 동시에 포함되어 있으면, k+1 번째 부분에 포함된 전송 스트림들에 대해서는 시작 시간을 특정할 수 없어 적응적인 스트리밍을 수행할 수 없다.
따라서, k+1 번째 부분의 최초 전송 스트림(1642)에 전술한 “Segment_Index()”를 삽입함으로써 k+1 번째 부분에 포함된 전송 스트림들의 시작 시간을 특정한다.
“Segment_Index()”가 k+1 번째 부분의 최초 전송 스트림(1642)에 포함될 수도 있고, 다른 전송 스트림(1644 내지 1646)에 포함될 수도 있음은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다.
또한, 도 16a 및 16b는 MPEG-2 TS 포맷에 따라 미디어 데이터를 부분화할 때, 시간 정보를 삽입하는 방법을 도시하였다. 그러나, 도 18a 내지 18c와 관련하여 후술하는 바와 같이 MP4 포맷에 따라 미디어 데이터를 부분화하는 경우에도 동일한 방식으로 시간 정보를 삽입할 수 있다. 예를 들어, 각각의 부분에 포함된 MP4 박스에 전술한 “Segment_Index()”를 삽입함으로써 각각의 부분들의 시작 시간을 특정할 수 있다.
복수의 미디어 데이터의 PES의 PTS 및/또는 DTS가 재생 시간에 기초해 정렬되지 않아 연속적인 재생이 불가능한 경우가 발생할 수도 있다. 예를 들어, 소정 콘텐트에 대한 제1 미디어 데이터를 제1 서버가 생성하고, 소정 콘텐트에 대한 제2 미디어 데이터를 제2 서버가 생성하는 경우에 PTS 및/또는 DTS가 재생 시간에 기초해 정렬되지 않을 수 있다.
예를 들어, 제1 미디어 데이터의 연속된 세개의 부분의 PTS가 각각 “1000”, “2000”, “3000”으로 정의되어 있고, 동일한 재생 시간에 대한 제2 미디어 데이터의 연속된 세개의 부분의 PTS가 각각 “11000”, “12000”, “13000”으로 정의되어 있을 수 있다. 이 경우, 제1 미디어 데이터의 첫번째 부분의 PTS는 “1000”이고, 제2 미디어 데이터의 두번째 부분의 PTS는 “11000”이므로, 미디어 데이터를 수신하는 측에서는 동일한 재생 시간에 대한 부분인 것으로 판단할 수 없다. 이 경우, PTS의 불일치로 인해 미디어 데이터의 변경 재생을 통한 적응적인 스트리밍이 불가능하다.
이러한 문제를 해결하기 위해, 다음과 같은 구문을 통해 타임 스탬프의 불일치를 교정하기 위한 정보를 생성하고, 생성된 정보를 전술한 미디어 표현 기술 또는 미디어 데이터에 삽입할 수 있다.
구문 비트수
Segment_Start_Adjustment() {
data_field_tag 8
data_field_length 8
PTS 33
DTS 33
PCR 33
}
전송 스트림의 “private_data_bytes” 필드에 타임 스탬프의 조정을 위한 “Segment_Start_Adjustment()”를 삽입하는 바, “data_field_tag”는 전송 스트림의 필드가 타임 스탬프의 조정을 위한 부분임을 정의하는 구문이고, “data_field_length”는 필드의 길이를 정의한다. PTS, DTS 및 PCR(Program Clock Reference) 중 적어도 하나가 부분들의 타임 스탬프를 조정하기 위한 정보로 삽입된다. “Segment_Start_Adjustment()”는 미디어 데이터의 부분들 각각에 삽입되며, “Segment_Start_Adjustment()”에 정의된 PTS, DTS 및 PCT에 따라 각각의 부분의 타임 스탬프가 설정된다.
“Segment_Start_Adjustment()”는 “Segment_Index()”와 마찬가지로 전술한 바와 같이 최초 PES(1620)의 최초 전송 스트림(1622)에 포함될 수도 있고, 최초 PES의 다른 전송 스트림(1624 내지 1626)에 포함될 수도 있음은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다.
또한, 타임 스탬프의 조정을 위한 별도의 전송 스트림을 최초 PES(1620) 앞에 별도로 정의하고, 정의된 전송 스트림에 전술한 “Segment_Start_Adjustment()”를 포함시킬 수도 있다.
그러나, 도 18a 내지 18c와 관련하여 후술하는 바와 같이 MP4 포맷에 따라 미디어 데이터를 부분화하는 경우에도 동일한 방식으로 타임 스탬프의 조정을 위한 정보를 삽입할 수 있다. 예를 들어, 각각의 부분에 포함된 MP4 박스에 전술한 “Segment_Start_Adjustment()”를 삽입함으로써 각각의 부분들의 시작 시간을 특정할 수 있다. 또한, 각각의 부분에 “Segment_Start_Adjustment()”를 삽입하지 않고, 미디어 표현 기술에 타임 스탬프의 조정을 위한 정보를 삽입할 수 있다.
전술한 PTS 및/또는 DTS는 비디오 데이터의 타임 스탬프를 정의한다. 따라서, 비디오 데이터에 대한 복수의 미디어 데이터의 타임 스탬프는 전술한 바와 같이 미디어 데이터의 재생시간에 따라 정렬(aligned)된다. 그러나, 이러한 재생 시간에 기초한 타임 스탬프의 정렬은 오디오 데이터에 대해서도 동일하게 적용될 수 있다. 다시 말해, 오디오 데이터에 대한 복수의 미디어 데이터의 타임 스탬프도 도 15b, 16a 및 16b와 관련하여 전술한 바와 같이 재생 시간에 기초해 적응적인 스트리밍이 가능하도록 재생 시간에 따라 정렬될 수 있다.
도 17은 본 발명의 일 실시예에 따른 부분의 구조를 도시한다. 도 7는 도 15b에 도시된 바와 같이 미디어 데이터를 복수의 부분으로 분할할 때, 각각의 부분의 구조를 도시한다. K 번째 부분을 예로 들어 설명하나, 도 17에 도시된 부분의 구조는 순서와 무관하게 미디어 데이터에 포함된 모든 부분들에 적용 가능하다.전술한 바와 같이 미디어 데이터의 부분들을 독립적으로 재생하기 위해서 각각의 부분들은 랜덤 액세스 포인트 예를 들어, I 프레임으로 시작하는 것이 바람직하다. 도 17은 I 프레임으로 부분이 시작할 때, 부분의 구조를 도시한다.
도 17을 참조하면, 미디어 데이터의 k 번째 부분(1710)은 적어도 하나의 PES를 포함하며, 최초 PES(1710)는 랜덤 액세스 포인트 즉, I 프레임에 대한 데이터로 시작한다. PES는 비트 스트림을 프레임 단위로 액세스하기 위한 단위인 액세스 단위(AU: access unit)에 의해 구분될 수 있다. 도 17에 도시된 예에서는 이에 따라 I 프레임의 액세스 단위(1722)와 P 또는 B 프레임의 액세스단위(1724)로 구분된다.
I 프레임 액세스 단위(1722)는 미디어 데이터의 부분들을 독립적으로 재생하기 위한 파라미터들을 포함하는 바, SPS(Sequence Parameter Set)(1732), PPS(Picture Parameter Set)(1734), SEI(Supplemental Enhancement Information)(1736)을 포함한다. SEI(1736)은 CPB(coded picture buffer)를 위해 필요한 요소이다. 또한, I 프레임 액세스 단위(1722)는 하나의 부분에 포함된 프레임들의 선두 프레임으로서 IDR 프레임(instantaneous Decoding Refresh)을 포함한다. SPS 및 PPS는 액세스 단위의 최초 바이트에 포함되어 참조되며, 비디오 스트림의 나머지 액세스 단위는 SPS 및 PPS가 참조된 후에 제공된다.
P 또는 B 프레임 액세스 단위(1724)는 SEI(1742) 및 P 또는 B 프레임(1744)를 포함한다. SEI(1724)는 I 프레임 액세스 단위(1722)의 SEI(1736)과 동일한 목적으로 액세스 단위에 삽입될 수 있다.
스트리밍 환경을 고려한 연속적인 재생을 위해서는 동일한 시간에 대한 상이한 미디어 데이터의 부분들은 시작 시간(start time)과 지속 시간(duration)일 동일해야 한다. 예를 들어, 동일한 시간에 대한 상이한 미디어 데이터의 부분들은 첫번째 액세스 단위와 마지막 액세스 단위의 PTS가 동일하여야 한다.
도 18a 내지 18c는 본 발명의 일 실시예에 따른 MP4 포맷에 따른 미디어 데이터를 부분화하는 방법을 도시한다.
도 18a를 참조하면, 도 15a와 동일한 방법으로 미디어 데이터를 복수의 부분으로 분할할 수 있다. 도 15a에 도시된 바와 마찬가지로 미디어 데이터가 비디오 데이터인 경우, 엘리멘터리 스트림은 복수의 픽처에 대한 데이터를 포함하고, GOP에 기초해 그룹화될 수 있다. 각각의 GOP는 인프라 픽처로 시작한다. 도 18a의 "Slice"는 도 15a의 "Segment"에 대응된다.
도 18a에 도시된 실시예에서는 두개의 GOP(1810 및 1820)가 하나의 부분에 포함된다. 두개의 GOP(1810 및 1820)에 포함된 복수의 픽처들은 MP4 포맷에 따라 하나의 부분에 포함된다. 따라서, 부분(1830)은 MP4 포맷에 따라, 미디어 데이터의 헤더 정보를 포함하는 "moov" 박스, 페이로드 데이터를 포함하는 "moof" 박스들 및 또 다른 헤더 정보를 포함하는 "moof" 박스를 포함한다. GOP(1810 및 1820)에 기초해 하나의 부분을 생성하므로, 각각의 부분은 인트라 픽처 즉, 랜덤 액세스 포인트로 시작한다.
도 18a에 도시된 부분화 방법에 따라 복수의 미디어 데이터는 도 18b에 도시된 바와 같이 부분화될 수 있다. 도 18b를 참조하면, 복수의 미디어 데이터는 복수의 샘플(sample)을 포함하는 부분들로 각각 분할될 수 있다.
복수의 미디어 데이터는 각각 MP4 포맷에 따른 복수의 "trak"에 각각 대응될 수 있고, 이 경우에 복수의 미디어 데이터 각각에 대해 상이한 "trak" ID(1850, 1860 및 1870)가 할당될 수 있다.
본 발명에 따르면, 도 18b에 도시된 바와 같이 복수의 미디어 데이터에 대한 헤더가 "moov" 박스로서 페이로드 데이터와 분리될 수 있다. 도 15b와 관련하여 전술한 PAT 및 PMT를 포함하는 "Reference Data"와 마찬가지로 복수의 미디어 데이터에 대한 메타 데이터를 포함하는 헤더가 페이로드를 포함하는 "mdat" 박스(1880)와 분리되어 "moov" 박스(1840)로서 정의될 수 있다.
도 18b의 "moov" 박스(1840)는 초기화 부분(initialization segment)으로서 페이로드 데이터를 포함하고 있는 "mdat" 박스(1880)보다 먼저 클라이언트(130)에 전송될 수 있다. 후술하는 도 2b의 단계 222, 도 5b의 단계 532 및 도 11b의 단계 1122에서 클라이언트(130)가 수신하는 헤더 정보가 도 18b의 "moov" 박스(1840)일 수 있다.
헤더를 제외한 나머지 페이로드 데이터는 "mdat" 박스(1880)에 포함된다. 예를 들어, 오디오 데이터를 그룹화하여 적어도 하나의 부분으로 분할하는 경우에는 "trak 1", "trak 2" 및 "trak 3"에 대응되는 복수의 오디오 샘플에 대한 데이터를 하나의 부분으로 그룹화할 수 있다. "trak 1"에 대응되는 오디오 샘플들을 소정의 시간 단위로 그룹화하여 복수의 부분을 생성하고, "trak 2"에 대응되는 오디오 샘플들을 소정의 시간 단위로 그룹화하여 복수의 부분을 생성할 수 있다. 마찬가지로, "trak 3"에 대응되는 오디오 샘플들을 소정의 시간 단위로 그룹화하여 복수의 부분을 생성할 수 있다. 적응적인 스트리밍을 위해 각각의 샘플에 대한 데이터는 오직 하나의 부분에만 포함될 수 있다. "mdat" 박스(1880)에 포함되는 샘플들에 대한 헤더는 "moov" 박스(1840)에 포함된 "trak" 박스들(1850, 1860 및 1870)에 포함된다. 또한, 비디오 데이터를 MP4 포맷에 따라 그룹화하는 경우에는 하나의 GOP에 대한 데이터는 하나의 부분에만 포함된다.
도 18c는 본 발명의 또 다른 실시예에 따른 MP4 포맷에 기초한 복수의 미디어 데이터의 부분화를 도시한다. 도 18b와 비교하면, 도 18b는 복수의 샘플에 대한 페이로드 데이터가 하나의 "mdat" 박스(1880)에서 소정의 시간 단위에 기초해 그룹화되는 실시예를 도시하고 있는데 반해, 도 18c는 복수의 샘플에 대한 페이로드 데이터가 복수의 "moof" 박스 및 "mdat" 박스에 의해 부분화되는 것이 상이하다. 예를 들어, 복수의 미디어 데이터 중 "trak 1"에 대응되는 미디어 데이터가 도 18a에 도시된 바에 따라 부분화될 때에, 첫째 부분에 대한 "moof" 박스(1851) 및 "mdat" 박스(1852)가 존재하고, 두번째 부분에 대한 "moof" 박스(1853) 및 "mdat" 박스(1854)가 준재한다.
메타 데이터를 포함하고 있는 "moof" 박스(1851 또는 1853) 및 페이로드 데이터를 포함하고 있는 "mdat" 박스(1852 또는 1854)에 기초해 "trak 1"에 대응되는 미디어 데이터를 분할할 수 있다.
"moof" 박스는 샘플들에 대한 메타 데이터를 포함하고 있는 "'traf" 박스를 포함할 수 있으며, 도 18b와 관련하여 전술한 바와 같이 하나의 샘플에 대한 데이터는 상이한 부분에 포함될 수 없다. 예를 들어, 하나의 샘플에 대한 데이터는 첫째 부분에 대한 "mdat" 박스(1852) 또는 둘째 부분에 대한 "mdat" 박스(1854)에 포함되어야 하며, 첫째 부분에 대한 "mdat" 박스(1852) 및 둘째 부분에 대한 "mdat" 박스(1854) 모두에 포함될 수 없다.
도 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는 본 발명의 일 실시예에 따른 복수의 미디어 데이터 각각에 포함된 적어도 하나의 부분들에 대한 정보를 포함한다. 이하, 복수의 "Fragment"는 도 15a의 "Segment" 또는 도 15b의 "Slice"에 대응된다.
도 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)에 요청한다.
클라이언트(130)의 요청에 따라 서버(120)는 미디어 데이터를 전송한다. 요청된 미디어 데이터의 적어도 하나의 부분을 클라이언트(130)에 전송할 수 있다. HTTP 요청에 대한 HTTP 응답으로서 요청된 미디어 데이터를 클라이언트(120)에 전송할 수 있다. 전송되는 미디어 데이터는 도 15a, 15b 및 18a 내지 18c에 도시된 바와 같이 부분화되어 적어도 하나의 부분을 포함하는 미디어 데이터일 수 있다.
도 2b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다. 도 2b는 헤더가 미디어 데이터와 분리되어 별도의 파일로 존재하는 경우의 스트리밍 방법을 도시한다.
도 2b를 참조하면, 단계 212에서 클라이언트(130)는 소정의 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청하고, 서버(120)로부터 콘텐트에 대한 정보를 전송한다. 도 2a의 단계 210에 도시된다. 도 4b와 관련하여 전술한 "RefData" 태그를 포함하는 콘텐트에 대한 정보를 수신한다.
단계 222에서 클라이언트(130)는 단계 210에서 수신된 콘텐트에 대한 정보에 기초해 복수의 미디어 데이터 중 선택된 미디어 데이터의 헤더를 요청한다. 단계 212에서 수신된 콘텐트에 대한 정보에 기초해 복수의 미디어 데이터 중 스트리밍 환경에 적합한 적어도 하나의 미디어 데이터를 선택하고 선택된 미디어 데이터의 헤더를 요청한다. 단계 212에서 수신된 콘텐트에 대한 정보에 포함된 "RefData" 태그를 참조하여 선택된 미디어 데이터의 헤더를 요청한다.
서버(120)는 요청된 미디어 데이터의 헤더를 클라이언트(130)에 전송한다. 헤더 파일을 클라이언트(130)에 전송할 수 있으며, 헤더 파일은 XML 파일일 수 있다. 또한, 헤더는 복수의 미디어 데이터 전체에 대한 헤더로서 도 15b, 18b 및 18c에 도시된 "Reference Data"일 수 있다.
단계 232에서 클라이언트(130)는 단계 212에서 수신된 콘텐트에 대한 정보 및 단계 222에서 수신된 헤더에 기초해 선택된 미디어 데이터의 전송을 서버(120)에 요청한다. 미디어 데이터를 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 전송할 것을 서버(130)에 요청하고, 서버(120)는 요청된 적어도 하나의 부분을 클라이언트(130)에 전송한다. 전송되는 미디어 데이터는 도 15a, 15b 및 18a 내지 18c에 도시된 바와 같이 부분화되어 적어도 하나의 부분을 포함하는 미디어 데이터일 수 있다.
도 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" 속성으로부터 "Segment" 태그의 내용이 유추될 수 있는 경우에는 미디어 표현 기술에 포함되지 않을 수 있다. 또한, "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)에 전송할 수 있다. 전송되는 미디어 데이터는 도 15a, 15b 및 18a 내지 18c에 도시된 바와 같이 부분화되어 적어도 하나의 부분을 포함하는 미디어 데이터일 수 있다.
도 5b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 5b를 참조하면, 단계 512에서 클라이언트(130)는 소정의 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청하고, 서버(120)로부터 콘텐트에 대한 정보를 수신한다. 소정의 콘텐트에 대한 정보를 전송할 것을 요청하는 HTTP 요청을 서버(120)에 전송하고, 이에 대한 HTTP 응답으로서 콘텐트에 대한 정보를 수신한다. 콘텐트에 대한 정보를 포함하는 XML 파일을 수신할 수 있다.
단계 522에서 클라이언트(130)는 단계 512에서 수신된 콘텐트에 대한 정보에 기초해 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청한다. 미디어 표현 기술을 HTTP 요청을 통해 서버(120)에 요청하고, HTTP 응답으로서 미디어 표현 기술을 수신할 수 있다.
단계 532에서 클라이언트(130)는 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보에 기초해 선택된 미디어 데이터의 헤더를 요청한다. 단계 522에서 수신된 정보에 기초해 복수의 미디어 데이터 중 스트리밍 환경에 적합한 적어도 하나의 미디어 데이터를 선택하고 선택된 미디어 데이터의 헤더를 요청한다. 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보를 참조하여 선택된 미디어 데이터의 헤더를 요청한다. 서버(120)는 요청에 대한 응답으로, 선택된 미디어 데이터의 헤더 파일을 클라이언트(130)에 전송한다. 헤더는 복수의 미디어 데이터 전체에 대한 헤더로서 도 15b, 18b 및 18c에 도시된 "Reference Data"일 수 있다.
단계 542에서 클라이언트(130)는 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보 및 단계 222에서 수신된 헤더에 기초해 선택된 미디어 데이터의 전송을 서버(120)에 요청한다. 콘텐트를 소정의 비율로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 전송할 것을 서버(130)에 요청하고, 서버(120)는 요청된 적어도 하나의 부분을 클라이언트(130)에 전송한다. 전송되는 미디어 데이터는 도 15a, 15b 및 18a 내지 18c에 도시된 바와 같이 부분화되어 적어도 하나의 부분을 포함하는 미디어 데이터일 수 있다.
도 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)에 포함될 수 있다.
예를 들어, 복수의 미디어 데이터 각각이 엘리멘터리 스트림(elementary stream)(예를 들어, MPEG-2에 따른 엘리멘터리 스트림)에 대응될 때, 헤더 파일은 PAT(Program Association Table) 및 PMT(Program Map Table) 중 적어도 하나를 포함할 수 있다. PAT 및 PMT 중 적어도 하나를 복수의 미디어 데이터(1010 내지 1030)와 분리하여 하나의 헤더 파일(1050)을 만들고, 미디어 표현 기술은 이 헤더 파일(1050)을 지시(pointing)하는 정보를 포함할 수 있다. 지시 정보는 헤더 파일(1050)의 URL 정보일 수도 있고, MPEG-2 엘리멘터리 스트림(elementary stream)에서 헤더 파일(1050)을 포함하고 있는 전송 스트림 패킷을 특정하기 위한 정보일 수도 있다. 헤더 파일(1050)은 복수의 미디어 데이터 전체에 대한 헤더로서 도 15b, 18b 및 18c에 도시된 "Reference Data"일 수 있다.
PAT 및 PMT는 헤더 파일로(1050)로 미디어 데이터와 분리되어 있을 수 있고, 복수의 미디어 데이터(1010 내지 1030)에 포함되어 있을 수도 있으나, 포함된 위치와 무관하게 복수의 미디어 데이터(1010 내지 1030)에 포함된 엘리멘터리 스트림의 전체 리스트를 포함한다. (OIPF 4.1.2 : The PAT and PMT, either contained in the Initialisation segments or in the media segments, SHALL always contain the full list of all elementary streams, present or not in the Rrepresentation where that PAT/PMT appear;)
PSI 즉, PAT 및 PMT가 별도의 페이로드 데이터와 분리되어 별도의 헤더에 존재하는 경우는 도 15a와 관련하여 전술하였다. 그러나, PSI가 복수의 미디어 데이터(1010 내지 1030)에 포함되어 있을 때에는 하나의 미디어 데이터를 구성하는 부분들 각각에 PSI 포함시킴으로써, 각각의 부분이 PSI에 기초해 독립적으로 재생될 수 있게 한다 .
전술한 단계 532에서 클라이언트(130)는 미디어 표현 기술을 참조하여 헤더 파일(1050)의 지시 정보를 획득하고, 지시 정보에 기초해 헤더 파일(1050)을 요청할 수 있다. 지시 정보에 따라 헤더 파일(1050)을 요청하고 수신한 다음, 헤더 파일(1050)에 포함되어 있는 PAT 및 PMT 중 적어도 하나에 기초해 복수의 미디어 데이터 중 적어도 하나를 선택하고, 선택된 미디어 데이터를 서버(120)에 요청한다. PAT 및 PMT는 복수의 미디어 데이터(1010 내지 1030)의 전체 리스트를 포함한다.
도 11a는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 11a를 참조하면, 단계 1110에서 클라이언트(130)는 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청한다. 미디어 표현 기술을 HTTP 요청을 통해 서버(120)에 요청하고, HTTP 응답으로서 미디어 표현 기술을 수신할 수 있다. 클라이언트(130)는 스트리밍 환경에 적응적인 스트리밍을 수행하기 위해 하나의 콘텐트를 복수의 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청하고, 수신한다. 콘텐트에 대한 정보의 요청 및 수신없이 복수의 미디어 데이터에 대한 정보의 요청 및 수신이 수행된다는 점이 도 5a에 도시된 실시예와 상이하다.
단계 1120에서 클라이언트(130)는 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 전송할 것을 서버(120)에 요청한다. 클라이언트(130)는 복수의 미디어 데이터에 대한 정보를 참조하여 스트리밍 환경에 적합한 품질로 부호화된 적어도 하나의 미디어 데이터를 선택하여 서버(120)에 요청하고, 요청된 미디어 데이터를 서버(120)로부터 수신한다. 전송되는 미디어 데이터는 도 15a, 15b 및 18a 내지 18c에 도시된 바와 같이 부분화되어 적어도 하나의 부분을 포함하는 미디어 데이터일 수 있다.
도 11b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 11b를 참조하면, 단계 1112에서 클라이언트(130)는 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청하고, 요청에 대한 응답으로 복수의 미디어 데이터에 대한 정보를 서버(120)로부터 수신한다. 미디어 표현 기술을 HTTP 요청을 통해 서버(120)에 요청하고, HTTP 응답으로서 미디어 표현 기술을 수신할 수 있다.
단계 1122에서 클라이언트(130)는 단계 1112에서 수신된 복수의 미디어 데이터에 대한 정보에 기초해 선택된 미디어 데이터의 헤더를 요청한다. 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보를 참조하여 스트리밍 환경에 따라 선택된 미디어 데이터의 헤더를 요청한다. 서버(120)는 요청에 대한 응답으로, 선택된 미디어 데이터의 헤더를 포함하는 파일을 클라이언트(130)에 전송한다. 헤더는 복수의 미디어 데이터 전체에 대한 헤더로서 도 15b, 18b 및 18c에 도시된 "Reference Data"일 수 있다.
단계 1132에서 클라이언트(130)는 단계 1112에서 수신된 복수의 미디어 데이터에 대한 정보 및 단계 1122에서 수신된 헤더에 기초해 선택된 미디어 데이터의 전송을 서버(120)에 요청한다. 콘텐트를 소정의 비율로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 전송할 것을 서버(130)에 요청하고, 서버(120)는 요청된 적어도 하나의 부분을 클라이언트(130)에 전송한다. 전송되는 미디어 데이터는 도 15a, 15b 및 18a 내지 18c에 도시된 바와 같이 부분화되어 적어도 하나의 부분을 포함하는 미디어 데이터일 수 있다.
도 12a 내지 12c는 본 발명의 또 다른 실시예에 따른 복수의 미디어 데이터를 도시한다. 도 12a 내지 12c는 도 11a 및 11b에 따른 스트리밍 방법을 수행하기 위해 서버(120)가 보유하는 복수의 미디어 데이터를 도시한다.
도 12a를 참조하면, 도 10a에 도시된 실시예와 마찬가지로 스트리밍 환경에 적응적인 스트리밍을 위해 서버(120)는 하나의 콘텐트를 복수의 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터(1010 내지 1030)를 보유할 수 있다.
클라이언트(130)가 복수의 미디어 데이터에 액세스하기 위해 필요한 정보(1240)만 상이한 바, 도 10a에 도시된 실시예와 달리 서버(120)는 콘텐트에 대한 정보를 제외한 복수의 미디어 데이터에 대한 정보만 포함할 수 있다. 이 경우, 클라이언트(130)는 콘텐트에 대한 정보를 서버(120)가 아닌 다른 엔티티로부터 수신하고, 콘텐트에 대한 정보에 기초해 서버(120)가 보유하고 있는 복수의 미디어 데이터에 액세스할 수도 있다.
도 12b를 참조하면, 클라이언트(130)가 복수의 미디어 데이터에 액세스하기 위해 필요한 정보(1242)는 도 12a의 정보(1240)에 "NextMeta.xml"을 더 포함할 수 있다.
도 12c를 참조하면, 복수의 미디어 데이터의 헤더는 하나의 파일(1250)로 존재할 수 있다. 헤더 파일이 복수의 미디어 데이터 각각에 대해 복수로 존재하는 것이 아니라 하나의 헤더 파일(1250)로서 복수의 미디어 데이터에 액세스하기 위해 필요한 정보(1244)에 포함될 수 있다. 헤더 파일은 도 10c의 헤더 파일(1050)에 대응되며, 도 10c의 헤더 파일(1050)은 도 15b, 18b 및 18c와 관련하여 전술한 "Reference Data"에 대응될 수 있음은 도 10c와 관련하여 전술하였다.
도 13은 본 발명의 일 실시예에 따른 서버의 미디어 데이터 전송 장치를 도시한다.
도 13을 참조하면, 본 발명의 일 실시예에 따른 서버(120)의 미디어 데이터 전송 장치(1300)는 정보전송부(1310) 및 미디어데이터전송부(1320)를 포함한다.
정보전송부(1310)는 클라이언트(130)로부터 소정 정보의 전송 요청을 수신하고 이에 대한 응답으로 요청된 정보를 전송한다. 콘텐트에 대한 정보 및 복수의 미디어 데이터에 대한 정보 중 적어도 하나의 전송 요청을 클라이언트(130)로부터 수신하고, 요청된 정보를 클라이언트(130)에 전송한다. 도 2a, 2b, 5a, 5b, 11a 및 11b에 도시된 실시예에 따라 콘텐트에 대한 정보 및 복수의 미디어 데이터에 대한 정보 중 적어도 하나의 전송을 요청하는 HTTP 요청을 클라이언트(130)로부터 수신하고, HTTP 응답으로서 요청된 정보를 전송한다.
미디어데이터전송부(1320)는 복수의 미디어 데이터 중 스트리밍 환경에 따라 선택된 적어도 하나의 미디어 데이터의 전송 요청을 클라이언트(130)로부터 수신하고, 요청된 미디어 데이터를 클라이언트(1320)에 전송한다. 정보전송부(1310)가 클라이언트(130)에 전송한 복수의 미디어 데이터에 대한 정보에 기초해 선택된 미디어 데이터의 전송 요청을 수신한다. 서버(120)는 인코딩장치(110)로부터 상이한 품질로 인코딩된 복수의 미디어 데이터를 수신하여 보유하고 있다가, 요청된 미디어 데이터를 클라이언트(130)에 전송할 수도 있다. 또한, 클라이언트(130)의 전송 요청에 따라 실시간으로 인코딩 장치(110)로부터 미디어 데이터를 수신하여 클라이언트(130)에 전달할 수도 있다.
도 14는 본 발명의 일 실시예에 따른 클라이언트의 미디어 데이터 수신 장치를 도시한다.
도 14를 참조하면, 본 발명의 일 실시예에 따른 클라이언트(130)의 미디어 데이터 수신 장치(1400)는 정보수신부(1410) 및 미디어데이터수신부(1420)를 포함한다.
정보수신부(1410)는 소정 정보의 전송 요청을 서버(120)에 전송하고, 이에 대한 응답으로 요청된 정보를 서버(120)로부터 수신한다. 콘텐트에 대한 정보 및 복수의 미디어 데이터에 대한 정보 중 적어도 하나의 전송 요청을 서버(120)에 전송하고, 요청된 정보를 수신한다. 도 2a, 2b, 5a, 5b, 11a 및 11b에 도시된 실시예에 따라 콘텐트에 대한 정보 및 복수의 미디어 데이터에 대한 정보 중 적어도 하나의 전송을 요청하는 HTTP 요청을 서버(120)에 전송하고, HTTP 응답으로서 요청된 정보를 수신한다.
미디어데이터수신부(1420)는 복수의 미디어 데이터 중 스트리밍 환경에 따라 선택된 적어도 하나의 미디어 데이터의 전송 요청을 서버(120)에 전송하고, 요청된 미디어 데이터를 클라이언트(1320)로부터 수신한다. 정보수신부(1410)가 서버(120)로부터 수신한 복수의 미디어 데이터에 대한 정보에 기초해 스트리밍 환경에 따라 선택된 미디어 데이터의 전송 요청을 전송한다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명이 상기의 실시예에 한정되는 것은 아니며, 이는 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다. 따라서, 본 발명의 사상은 아래에 기재된 특허청구범위에 의해서만 파악되어야 하고, 이와 균등하거나 또는 등가적인 변형 모두는 본 발명 사상의 범주에 속한다 할 것이다. 또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다.
예를 들어, 본 발명의 예시적인 실시예에 따른 서버의 스트리밍 장치 및 클라이언트의 스트리밍 장치는 도 13 및 도 14에 도시된 바와 같은 장치의 각각의 유닛들에 커플링된 버스, 상기 버스에 결합된 적어도 하나의 프로세서를 포함할 수 있다. 또한, 명령, 수신된 메시지 또는 생성된 메시지를 저장하기 위해 상기 버스에 결합되어, 전술한 바와 같은 명령들을 수행하기 위한 적어도 하나의 프로세서에 커플링된 메모리를 포함할 수 있다.
또한, 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 기록매체의 예로는 ROM, RAM, CD-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.

Claims (26)

  1. 소정의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하는 파일을 서버로부터 수신하는 단계; 및
    상기 수신된 파일에 기초해 상기 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 수신하는 단계를 포함하고,
    상기 복수의 미디어 데이터는 상기 콘텐트를 소정 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 각각 포함하고, 상기 적어도 하나의 부분은 랜덤 액세스 포인트(random access point)로 시작하는 것을 특징으로 하는 미디어 데이터 수신 방법.
  2. 제 1 항에 있어서, 상기 미디어 데이터는
    MPEG-2 TS(MPEG-2 Transport Stream) 포맷에 따른 미디어 데이터이고, 상기 MPEG-2 TS의 엘리멘터리 스트림(elementary stream)에 대응되는 것을 특징으로 하는 미디어 데이터 수신 방법.
  3. 제 2 항에 있어서,
    상기 부분은 적어도 하나의 PES(Packetized Elementary Stream)를 포함하고, 하나의 PES는 하나의 부분에 모두 포함되는 것을 특징으로 하는 미디어 데이터 수신 방법. (OIPF : 4.1.4 : A media segment SHALL contain the concatenation of one or several contiguous PES which are split and encapsulated into TS packets(3번). Media Segments SHALL contain only complete PES packets)
  4. 제 3 항에 있어서,
    상기 PES는 하나의 영상 프레임 또는 음성 프레임에 대한 데이터를 포함하는 것을 특징으로 하는 미디어 데이터 수신 방법.
  5. 제 3 항에 있어서,
    상기 랜덤 액세스 포인트에 대한 전송 스트림은 랜덤 액세스 포인트에 대한 전송 스트림임을 나타내는 정보를 포함하는 것을 특징으로 하는 미디어 데이터 수신 방법.
  6. 제 2 항에 있어서, 상기 수신된 파일은
    상기 복수의 미디어 데이터에 대한 PAT(Program Association Table) 및 PMT(Program Map Table) 중 적어도 하나를 지시하는 정보를 더 포함하는 것을 특징으로 하는 미디어 데이터 수신 방법. (OIPF 4.1.2 : If the media segments do not contain PAT and PMT tables, the Initialisation segment SHALL be present and declared in the MPD, pointing to a resource containing transport stream packets with at least a PAT and a PMT)
  7. 제 6 항에 있어서, 상기 PAT 및 PMT는
    초기화 부분(initialization segment)으로서 상기 복수의 미디어 데이터와 분리되어 있는 것을 특징으로 하는 미디어 데이터 수신 방법.
  8. 제 6 항에 있어서, 상기 PAT 및 PMT 중 적어도 하나는
    상기 복수의 미디어 데이터의 전체 리스트를 포함하는 것을 특징으로 하는 미디어 데이터 수신 방법. (OIPF 4.1.2 : The PAT and PMT, either contained in the Initialisation segments or in the media segments, SHALL always contain the full list of all elementary streams, present or not in the Rrepresentation where that PAT/PMT appear)
  9. 제 6 항에 있어서, 상기 복수의 미디어 데이터는
    PID(packet ID)가 상이한 것을 특징으로 하는 미디어 데이터 수신 방법. (OIPF 4.1.1 : Components (Elementary Streams) that represent different A/V content for the user SHALL have different PIDs.)
  10. 제 6 항에 있어서,
    상기 복수의 미디어 데이터 중 서로 다른 미디어 데이터에 포함된 PES의 PTS(Presentation Time Stamp) 및 DTS(Decoding Time Stamp)는 미디어 데이터의 재생 시간에 따라 정렬(aligned)되는 것을 특징으로 하는 미디어 데이터 수신 방법. (OIPF : 4.1.4 : A media segment SHALL contain the concatenation of one or several contiguous PES which are split and encapsulated into TS packets(3번). Media Segments SHALL contain only complete PES packets)
  11. 제 2 항에 있어서, 상기 적어도 하나의 부분은
    적어도 하나의 GOP(Group of Pictures)에 대한 전송 스트림들을 포함하는 것을 특징으로 하는 미디어 데이터 수신 방법.
  12. 제 11 항에 있어서, 상기 미디어 데이터는
    MP4 포맷에 따른 미디어 데이터이고, MP4의 "trak" 박스에 대응되는 것을 특징으로 하는 미디어 데이터 수신 방법.
  13. 소정의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하는 파일을 클라이언트에 전송하는 단계; 및
    상기 전송된 파일에 기초한 상기 클라이언트의 요청에 따라 상기 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 상기 클라이언트에 전송하는 단계를 포함하고,
    상기 복수의 미디어 데이터는 상기 콘텐트를 소정 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 각각 포함하고, 상기 적어도 하나의 부분은 랜덤 액세스 포인트(random access point)로 시작하는 것을 특징으로 하는 미디어 데이터 전송 방법.
  14. 제 13 항에 있어서, 상기 미디어 데이터는
    MPEG-2 TS(MPEG-2 Transport Stream) 포맷에 따른 미디어 데이터이고, 상기 MPEG-2 TS의 엘리멘터리 스트림(elementary stream)에 대응되는 것을 특징으로 하는 미디어 데이터 전송 방법.
  15. 제 14 항에 있어서,
    상기 부분은 적어도 하나의 PES(Packetized Elementary Stream)를 포함하고, 하나의 PES는 하나의 부분에 모두 포함되는 것을 특징으로 하는 미디어 데이터 전송 방법.
  16. 제 15 항에 있어서,
    상기 PES는 하나의 영상 프레임 또는 음성 프레임에 대한 데이터를 포함하는 것을 특징으로 하는 미디어 데이터 전송 방법.
  17. 제 15 항에 있어서,
    상기 랜덤 액세스 포인트에 대한 전송 스트림은 랜덤 액세스 포인트에 대한 전송 스트림임을 나타내는 정보를 포함하는 것을 특징으로 하는 미디어 데이터 전송 방법.
  18. 제 14 항에 있어서, 상기 수신된 파일은
    상기 복수의 미디어 데이터에 대한 PAT(Program Association Table) 및 PMT(Program Map Table) 중 적어도 하나를 지시하는 정보를 더 포함하는 것을 특징으로 하는 미디어 데이터 전송 방법.
  19. 제 18 항에 있어서, 상기 PAT 및 PMT는
    초기화 부분(initialization segment)으로서 상기 복수의 미디어 데이터와 분리되어 있는 것을 특징으로 하는 미디어 데이터 전송 방법.
  20. 제 18 항에 있어서, 상기 PAT 및 PMT 중 적어도 하나는
    상기 복수의 미디어 데이터의 전체 리스트를 포함하는 것을 특징으로 하는 미디어 데이터 전송 방법.
  21. 제 18 항에 있어서, 상기 복수의 미디어 데이터는
    PID(packet ID)가 상이한 것을 특징으로 하는 미디어 데이터 전송 방법.
  22. 제 14 항에 있어서, 상기 적어도 하나의 부분은
    적어도 하나의 GOP(Group of Pictures)에 대한 전송 스트림들을 포함하는 것을 특징으로 하는 미디어 데이터 전송 방법.
  23. 제 22 항에 있어서, 상기 미디어 데이터는
    MP4 포맷에 따른 미디어 데이터이고, MP4의 "trak" 박스에 대응되는 것을 특징으로 하는 미디어 데이터 전송 방법.
  24. 소정의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하는 파일을 서버로부터 수신하는 정보수신부; 및
    상기 수신된 파일에 기초해 상기 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 수신하는 미디어데이터수신부를 포함하고,
    상기 복수의 미디어 데이터는 상기 콘텐트를 소정 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 각각 포함하고, 상기 적어도 하나의 부분은 랜덤 액세스 포인트(random access point)로 시작하는 것을 특징으로 하는 미디어 데이터 수신 장치.
  25. 소정의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하는 파일을 클라이언트에 전송하는 정보전송부; 및
    상기 전송된 파일에 기초한 상기 클라이언트의 요청에 따라 상기 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 상기 클라이언트에 전송하는 미디어데이터전송부를 포함하고,
    상기 복수의 미디어 데이터는 상기 콘텐트를 소정 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 각각 포함하고, 상기 적어도 하나의 부분은 랜덤 액세스 포인트(random access point)로 시작하는 것을 특징으로 하는 미디어 데이터 전송 장치.
  26. 제 1 항 내지 제 23 항 중 어느 한 항의 방법을 실행하기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체.
KR1020100103721A 2009-11-13 2010-10-22 부분화에 기초한 적응적인 스트리밍 방법 및 장치 KR101777347B1 (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2012538764A JP6116906B2 (ja) 2009-11-13 2010-11-12 部分化を利用した適応的なストリーミング方法及びその装置
US12/945,545 US10425666B2 (en) 2009-11-13 2010-11-12 Method and apparatus for adaptive streaming using segmentation
PCT/KR2010/008016 WO2011059273A2 (en) 2009-11-13 2010-11-12 Method and apparatus for adaptive streaming using segmentation
EP10830205.0A EP2499792B1 (en) 2009-11-13 2010-11-12 Method and apparatus for adaptive streaming using segmentation
CN201080061413.0A CN102714624B (zh) 2009-11-13 2010-11-12 用于使用分割的自适应流传输的方法和装置
JP2015156368A JP6177843B2 (ja) 2009-11-13 2015-08-06 部分化を利用した適応的なストリーミング方法及びその装置

Applications Claiming Priority (14)

Application Number Priority Date Filing Date Title
US26090609P 2009-11-13 2009-11-13
US61/260,906 2009-11-13
US26270809P 2009-11-19 2009-11-19
US61/262,708 2009-11-19
US26713109P 2009-12-07 2009-12-07
US61/267,131 2009-12-07
US31423310P 2010-03-16 2010-03-16
US61/314,233 2010-03-16
US31891610P 2010-03-30 2010-03-30
US61/318,916 2010-03-30
US38046110P 2010-09-07 2010-09-07
US38047710P 2010-09-07 2010-09-07
US61/380,461 2010-09-07
US61/380,477 2010-09-07

Publications (2)

Publication Number Publication Date
KR20110053177A true KR20110053177A (ko) 2011-05-19
KR101777347B1 KR101777347B1 (ko) 2017-09-11

Family

ID=44362920

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100103721A KR101777347B1 (ko) 2009-11-13 2010-10-22 부분화에 기초한 적응적인 스트리밍 방법 및 장치

Country Status (6)

Country Link
US (1) US10425666B2 (ko)
EP (1) EP2499792B1 (ko)
JP (2) JP6116906B2 (ko)
KR (1) KR101777347B1 (ko)
CN (1) CN102714624B (ko)
WO (1) WO2011059273A2 (ko)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012173402A3 (ko) * 2011-06-14 2013-03-28 삼성전자 주식회사 방송 시스템에서 컨텐트를 구성하는 방법 및 장치
WO2012177041A3 (ko) * 2011-06-20 2013-04-04 엘지전자 주식회사 미디어 컨텐트 송수신 방법 및 그를 이용한 송수신 장치
WO2013055162A2 (ko) * 2011-10-13 2013-04-18 한국전자통신연구원 이종 ip 네트워크를 통한 미디어 코덱에 독립적인 미디어 데이터 전송 방법
WO2013048148A3 (en) * 2011-09-29 2013-06-13 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving content
WO2013119023A1 (ko) * 2012-02-06 2013-08-15 한국전자통신연구원 이종망 네트워크에서 부호화된 미디어 데이터를 전송하는 시스템에 랜덤 액세스를 지원하는 엠엠티 애셋의 구조, 생성 방법 및 생성 장치
KR101403943B1 (ko) * 2012-08-31 2014-06-09 삼성전자주식회사 스트리밍 미디어의 공급 제어 장치, 서버, 수신기 및 제어 방법
WO2014163467A1 (ko) * 2013-04-05 2014-10-09 삼성전자 주식회사 랜덤 엑세스를 위한 멀티 레이어 비디오 부호화 방법 및 그 장치, 랜덤 엑세스를 위한 멀티 레이어 비디오 복호화 방법 및 그 장치
KR20180054532A (ko) * 2011-06-13 2018-05-24 한국전자통신연구원 오버헤드를 최소화한 헤더를 가지는 패킷 기반의 미디어 데이터 전송 방법
WO2018093051A1 (ko) * 2016-11-17 2018-05-24 (주)판도라티비 실시간 파일 포맷 변환 스트리밍 서비스 방법
US9992250B2 (en) 2012-08-22 2018-06-05 Futurewei Technologies, Inc. Carriage of ISO-BMFF event boxes in an MPEG-2 transport stream

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101842201B1 (ko) * 2010-04-19 2018-03-26 엘지전자 주식회사 인터넷 기반 컨텐츠 송수신 방법 및 그를 이용한 송수신 장치
US20130298171A1 (en) * 2010-11-18 2013-11-07 Sharp Kabushiki Kaisha Device for generating content data, method for generating content data, and recording medium
US20130294747A1 (en) * 2011-01-14 2013-11-07 Sharp Kabushiki Kaisha Content playing device, content playing method, distribution system, content playing program, recording medium, and data structure
KR20120083747A (ko) * 2011-01-18 2012-07-26 삼성전자주식회사 방송통신 융합형 서비스를 위한 전송 방법 및 장치
GB2491574B (en) * 2011-06-02 2013-11-20 Nds Ltd Content insertion in adaptive streams
EP2924990A1 (en) * 2011-03-16 2015-09-30 Electronics and Telecommunications Research Institute Apparatus and method for providing streaming content using representations
KR101781717B1 (ko) * 2011-06-08 2017-10-23 코닌클리즈케 케이피엔 엔.브이. 공간적으로-세그먼트된 콘텐츠 전달
KR20120138319A (ko) * 2011-06-14 2012-12-26 삼성전자주식회사 멀티미디어 데이터 특징 정보를 이용하여 멀티미디어 서비스 데이터 패킷을 송신하는 방법 및 장치
CN102843335B (zh) * 2011-06-20 2015-09-09 华为技术有限公司 流媒体内容的处理方法和设备
WO2013028565A1 (en) * 2011-08-19 2013-02-28 General Instrument Corporation Encoder-aided segmentation for adaptive streaming
BR112014007669B1 (pt) 2011-09-30 2021-03-02 Huawei Technologies Co., Ltd método e dispositivo para transmissão de mídia de transmissão contínua
KR20130040090A (ko) * 2011-10-13 2013-04-23 삼성전자주식회사 복합 네트워크에서 멀티미디어 데이터를 전송하기 위한 장치 및 그 방법
US9628531B2 (en) * 2012-04-25 2017-04-18 Futurewei Technologies, Inc. Systems and methods for controlling client behavior in adaptive streaming
GB2501513A (en) * 2012-04-26 2013-10-30 Ibm Message handling in an enterprise service bus
KR101501344B1 (ko) * 2012-05-02 2015-03-10 삼성전자주식회사 멀티미디어 서비스 송수신 방법 및 장치
EP2680527A1 (en) * 2012-06-28 2014-01-01 Alcatel-Lucent Adaptive streaming aware node, encoder and client enabling smooth quality transition
KR20140002447A (ko) * 2012-06-29 2014-01-08 삼성전자주식회사 멀티미디어 시스템에서 적응적 미디어 구조 송수신 방법 및 장치
KR101947000B1 (ko) * 2012-07-17 2019-02-13 삼성전자주식회사 방송 시스템에서 멀티미디어 데이터의 전송 특징 정보 전달 방법 및 장치
US9591513B2 (en) * 2012-08-06 2017-03-07 Vid Scale, Inc. Rate adaptation using network signaling
CN104620235B (zh) * 2012-09-07 2018-01-16 华为技术有限公司 用于自适应串流中的区段分界及识别的系统及方法
JP6348251B2 (ja) 2012-09-13 2018-06-27 サターン ライセンシング エルエルシーSaturn Licensing LLC 端末装置、受信方法、およびプログラム
US9813325B2 (en) 2012-12-27 2017-11-07 Comcast Cable Communications, Llc Information stream management
EP2939420B1 (en) * 2013-01-15 2018-03-14 Huawei Technologies Co., Ltd. Using quality information for adaptive streaming of media content
EP2962485B1 (en) 2013-03-01 2019-08-21 Intel IP Corporation Wireless local area network (wlan) traffic offloading
US9900629B2 (en) * 2013-03-13 2018-02-20 Apple Inc. Codec techniques for fast switching with intermediate sequence
JP5641090B2 (ja) * 2013-03-14 2014-12-17 ソニー株式会社 送信装置、送信方法、受信装置および受信方法
US10382512B2 (en) 2013-03-14 2019-08-13 Microsoft Technology Licensing, Llc Distributed fragment timestamp synchronization
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US9438654B2 (en) * 2013-04-18 2016-09-06 Futurewei Technologies, Inc. Fragment interface into dynamic adaptive streaming over hypertext transfer protocol presentations
US9705955B2 (en) * 2013-04-18 2017-07-11 Futurewei Technologies, Inc. Period labeling in dynamic adaptive streaming over hypertext transfer protocol
WO2014172654A1 (en) 2013-04-19 2014-10-23 Huawei Technologies Co., Ltd. Media quality information signaling in dynamic adaptive video streaming over hypertext transfer protocol
US9973559B2 (en) * 2013-05-29 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for presenting content streams to a client device
US9215080B2 (en) * 2013-05-31 2015-12-15 Broadcom Corporation Adaptive bit rate distribution of multicast streams
JP6605789B2 (ja) * 2013-06-18 2019-11-13 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 送信方法、受信方法、送信装置、および、受信装置
JP2015015706A (ja) * 2013-07-03 2015-01-22 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America データ送信方法、データ再生方法、データ送信装置およびデータ再生装置
US10419801B2 (en) * 2013-07-22 2019-09-17 Sony Corporation Information processing apparatus and method
US20150127703A1 (en) * 2013-10-31 2015-05-07 Samsung Electronics Co., Ltd. Name based media delivery and presentation system
JP2015136057A (ja) * 2014-01-17 2015-07-27 ソニー株式会社 通信装置、通信データ生成方法、および通信データ処理方法
GB2528039A (en) * 2014-07-01 2016-01-13 Canon Kk Method for identifying objects across time periods and corresponding device
CN104317556B (zh) * 2014-10-22 2018-03-16 华为技术有限公司 一种流式应用升级方法、主控节点及流计算系统
US9397712B2 (en) 2014-12-18 2016-07-19 Futurewei Technologies, Inc. Systems and methods for transmitter receive band noise calibration for envelope tracking and other wireless systems
WO2016107733A1 (en) * 2014-12-31 2016-07-07 British Telecommunications Public Limited Company Improved multicast to unicast conversion
US9813477B2 (en) * 2015-01-26 2017-11-07 T-Mobile Usa, Inc. Adjusting quality level of media streaming
US10367865B2 (en) * 2016-07-28 2019-07-30 Verizon Digital Media Services Inc. Encodingless transmuxing
JP2018033018A (ja) * 2016-08-25 2018-03-01 沖電気工業株式会社 パケットストリーム生成装置、配信システム、パケットストリーム生成方法及びプログラム
KR20200081161A (ko) * 2018-12-27 2020-07-07 (주)아이앤아이소프트 컨텐츠 스트리밍 장치, 시스템 및 방법
KR101998807B1 (ko) * 2019-02-01 2019-07-11 삼성전자주식회사 방송 시스템에서 멀티미디어 데이터의 전송 특징 정보 수신 장치
US11871065B2 (en) 2019-03-11 2024-01-09 Sony Group Corporation Information processing apparatus, reproduction processing apparatus, information processing method, and reproduction processing method
CN112040302B (zh) 2019-06-03 2023-01-03 优视科技有限公司 视频缓冲方法、装置、电子设备及计算机可读存储介质
CN113114687B (zh) * 2021-04-14 2022-07-15 深圳维盟科技股份有限公司 一种iptv合流方法及系统
CN113259710B (zh) * 2021-06-22 2021-09-21 北京百瑞互联技术有限公司 改进音频传输卡顿的方法、系统及介质

Family Cites Families (147)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0822061B2 (ja) 1993-03-02 1996-03-04 エヌ・ティ・ティ・データ通信株式会社 画像音声符号化デ−タ多重化装置および多重化デ−タ読み込み装置
US6122403A (en) * 1995-07-27 2000-09-19 Digimarc Corporation Computer system linked by using information in data objects
SG80607A1 (en) * 1995-09-29 2001-05-22 Matsushita Electric Ind Co Ltd Method and device for recording and reproducing interleaved bitstream on and from medium
JP3377788B1 (ja) 1995-09-29 2003-02-17 松下電器産業株式会社 再生方法、再生装置、記録方法、記録装置、光ディスク
JP3943674B2 (ja) * 1996-10-25 2007-07-11 キヤノン株式会社 カメラ制御システム並びにカメラサーバ及びその制御方法
JP2000013761A (ja) 1998-06-18 2000-01-14 Sony Corp 情報送信装置および方法、情報受信装置および方法、並びに提供媒体
WO2000017779A1 (fr) 1998-09-17 2000-03-30 Sony Corporation Dispositif et procede d'affichage d'images
JP4292654B2 (ja) 1999-03-19 2009-07-08 ソニー株式会社 記録装置および方法、再生装置および方法、並びに記録媒体
JP2001024994A (ja) 1999-07-07 2001-01-26 Matsushita Electric Ind Co Ltd 送信装置、受信装置、記録装置及びプログラム記録媒体
US8341662B1 (en) 1999-09-30 2012-12-25 International Business Machine Corporation User-controlled selective overlay in a streaming media
US20020161739A1 (en) * 2000-02-24 2002-10-31 Byeong-Seok Oh Multimedia contents providing system and a method thereof
KR100872138B1 (ko) 2000-02-24 2008-12-08 오병석 주문형 멀티미디어 콘텐츠 제공 시스템 및 방법
JP4529240B2 (ja) 2000-06-13 2010-08-25 ソニー株式会社 情報処理装置および方法、情報処理システム、並びに記録媒体
US7548565B2 (en) * 2000-07-24 2009-06-16 Vmark, Inc. Method and apparatus for fast metadata generation, delivery and access for live broadcast program
US20050193425A1 (en) * 2000-07-24 2005-09-01 Sanghoon Sull Delivery and presentation of content-relevant information associated with frames of audio-visual programs
US7103668B1 (en) 2000-08-29 2006-09-05 Inetcam, Inc. Method and apparatus for distributing multimedia to remote clients
WO2002049343A1 (en) 2000-12-15 2002-06-20 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material
CN1243442C (zh) 2000-12-15 2006-02-22 英国电讯有限公司 音频和/或视频资料的传输和接收
US6907081B2 (en) * 2001-03-30 2005-06-14 Emc Corporation MPEG encoder control protocol for on-line encoding and MPEG data storage
FI20011871A (fi) 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
JP2003111048A (ja) 2001-09-26 2003-04-11 Ntt Software Corp コンテンツ再生のためのサーバ及びプログラム
US20030072376A1 (en) 2001-10-12 2003-04-17 Koninklijke Philips Electronics N.V. Transmission of video using variable rate modulation
EP1442602A1 (en) 2001-10-26 2004-08-04 Koninklijke Philips Electronics N.V. Spatial scalable compression scheme using adaptive content filtering
EP1442603B1 (en) 2001-10-26 2014-12-17 Koninklijke Philips N.V. Spatial scalable compression scheme using spatial sharpness enhancement techniques
US7483489B2 (en) 2002-01-30 2009-01-27 Nxp B.V. Streaming multimedia data over a network having a variable bandwith
JP2003235031A (ja) 2002-02-08 2003-08-22 Nippon Telegr & Teleph Corp <Ntt> 映像情報提供方法,装置およびそのプログラム
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
JP2004013283A (ja) 2002-06-04 2004-01-15 Hitachi Ltd コンテンツ配信方法及びコンテンツ配信装置
WO2003104922A2 (en) * 2002-06-07 2003-12-18 Thomson Licensing S.A. Method and apparatus for controlling the distribution of digitally encoded data in a network
JP2004088766A (ja) 2002-07-22 2004-03-18 Matsushita Electric Ind Co Ltd データ管理装置及びデータ管理システム
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
JP3749910B2 (ja) * 2002-09-25 2006-03-01 松下電器産業株式会社 再生装置、プログラム、再生方法
JP4127497B2 (ja) * 2002-09-27 2008-07-30 富士フイルム株式会社 ディジタル・サービス・システム
JP2004140584A (ja) 2002-10-17 2004-05-13 Toshiba Corp コンテンツ配信・再生システム、広告コンテンツ挿入方法及びクライアント端末
JP2004140654A (ja) 2002-10-18 2004-05-13 Nec Engineering Ltd 画像データ転送方法及びシステム
JP4209665B2 (ja) 2002-12-02 2009-01-14 パナソニック株式会社 受信装置及び受信方法
US20040119814A1 (en) * 2002-12-20 2004-06-24 Clisham Allister B. Video conferencing system and method
JP3976191B2 (ja) 2003-01-07 2007-09-12 株式会社エヌ・ティ・ティ・ドコモ サーバ、送信レート制御方法、プログラムおよび記録媒体
US7409702B2 (en) * 2003-03-20 2008-08-05 Sony Corporation Auxiliary program association table
JP2004312304A (ja) 2003-04-04 2004-11-04 Sony Corp 復号化装置及びその方法、再生装置及びその方法並びに記憶メディア
JP2004328204A (ja) 2003-04-23 2004-11-18 Canon Inc 映像信号処理装置
US8116615B2 (en) * 2003-04-24 2012-02-14 Sony Corporation Information processing apparatus, information processing method, program storage medium, and program
US6895410B2 (en) 2003-05-02 2005-05-17 Nokia Corporation Method and apparatus for providing a multimedia data stream
KR20040096718A (ko) 2003-05-10 2004-11-17 삼성전자주식회사 멀티미디어 데이터 재생장치, 오디오 데이터 수신방법 및오디오 데이터 구조
JP2004364227A (ja) 2003-06-09 2004-12-24 Sony Corp 受信装置および選局方法、ならびに、ストリーム配信システム
JP4346966B2 (ja) * 2003-06-13 2009-10-21 キヤノン株式会社 撮像装置
JP2005049834A (ja) * 2003-07-11 2005-02-24 Matsushita Electric Ind Co Ltd メディアデータ表示装置、メディアデータ表示方法およびメディアデータ表示プログラム
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 미디어데이터 전송 방법 및 장치
WO2005032133A2 (en) * 2003-09-26 2005-04-07 General Instrument Corporation Method and apparatus for high- speed data multiplexing
KR100608715B1 (ko) * 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
WO2005043783A1 (ja) 2003-10-30 2005-05-12 Matsushita Electric Industrial Co., Ltd. 携帯端末向け伝送方法及び装置
CN1830164A (zh) * 2003-10-30 2006-09-06 松下电器产业株式会社 面向携带终端的传输方法以及装置
US20050102371A1 (en) 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
KR101244308B1 (ko) 2003-12-08 2013-03-18 삼성전자주식회사 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권관리방법
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 調光システムおよび調光方法、配信装置および配信方法、受信装置および受信方法、記録装置および記録方法、ならびに、再生装置および再生方法
US7430222B2 (en) * 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
KR101145261B1 (ko) * 2004-02-27 2012-05-24 삼성전자주식회사 멀티미디어 데이터를 기록한 정보저장매체, 그 재생방법및 재생장치
JP2005303927A (ja) 2004-04-15 2005-10-27 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
CN101014947A (zh) 2004-04-30 2007-08-08 移动网络有限公司 一种关于流内容的自适应速率切换的装置、系统和方法
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
US20060037057A1 (en) * 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
US7930184B2 (en) * 2004-08-04 2011-04-19 Dts, Inc. Multi-channel audio coding/decoding of random access points and transients
CN101626480B (zh) * 2004-08-17 2011-04-13 松下电器产业株式会社 图像编码装置、图像解码装置
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
FR2882164A1 (fr) 2005-02-11 2006-08-18 Canon Kk Procede et dispositif de transfert de donnees numeriques a format progressif
US20080301380A1 (en) * 2005-02-18 2008-12-04 Masanori Itho Data Processor
MX2007011286A (es) * 2005-03-14 2007-11-15 Nielsen Media Res Inc Aparatos y metodos de codificacion de dominios comprimidos para su utilizacion con senales de medios.
CA2599357A1 (en) 2005-03-29 2006-10-05 Microsoft Corporation System and method for transferring web page data
JP4541962B2 (ja) 2005-04-25 2010-09-08 パナソニック株式会社 多重化装置、再生装置
JP4356645B2 (ja) 2005-04-28 2009-11-04 ソニー株式会社 字幕生成装置及び方法
JP2007011584A (ja) 2005-06-29 2007-01-18 Fujifilm Holdings Corp マルチメディアデータ処理装置、マルチメディアデータ処理方法及びマルチメディアデータ処理プログラム
JP2007025959A (ja) 2005-07-14 2007-02-01 Fujifilm Holdings Corp マルチメディアデータ処理装置、マルチメディアデータ処理方法及びマルチメディアデータ処理プログラム
JP2007036666A (ja) 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム
KR100716291B1 (ko) * 2005-07-27 2007-05-09 삼성전자주식회사 영상재생장치와 그 제어방법 및 pvr
JP2007080357A (ja) * 2005-09-13 2007-03-29 Toshiba Corp 情報記憶媒体、情報再生方法、情報再生装置
CN1988547A (zh) 2005-12-23 2007-06-27 腾讯科技(深圳)有限公司 一种在线播放媒体文件的方法、服务器及系统
EP1969857B1 (en) * 2006-01-05 2012-03-28 Telefonaktiebolaget LM Ericsson (publ) Media container file management
JP2007207328A (ja) 2006-01-31 2007-08-16 Toshiba Corp 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法
CN101025737B (zh) 2006-02-22 2011-08-17 王东 基于关注度的同源信息搜索引擎聚合显示方法
JP2007274142A (ja) 2006-03-30 2007-10-18 Victor Co Of Japan Ltd 映像送信装置及び映像送信方法
US20090100496A1 (en) * 2006-04-24 2009-04-16 Andreas Bechtolsheim Media server system
JP4910475B2 (ja) * 2006-05-18 2012-04-04 ソニー株式会社 記録装置、記録方法および記録プログラム、ならびに、撮像装置、撮像方法および撮像プログラム
JP5001584B2 (ja) * 2006-06-06 2012-08-15 ソニー株式会社 オーサリング装置、オーサリング方法、オーサリングプログラム、記録装置、記録方法および記録プログラム、検証装置、検証方法および検証プログラム、ならびに、記録媒体の製造装置および製造方法
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US20080040498A1 (en) 2006-08-10 2008-02-14 Nokia Corporation System and method of XML based content fragmentation for rich media streaming
JP4785687B2 (ja) * 2006-09-15 2011-10-05 キヤノン株式会社 映像制御装置及びその方法
JP4862600B2 (ja) 2006-10-12 2012-01-25 パナソニック電工株式会社 住宅設備監視システム用表示装置
KR100805308B1 (ko) 2006-10-13 2008-02-20 에스케이 텔레콤주식회사 이동통신 단말기에서의 컨텐츠 추천 서비스 방법 및 이를위한 이동통신 단말기
KR100842262B1 (ko) * 2006-11-16 2008-06-30 한국전자통신연구원 Iptv 서비스 또는 디지털 방송 환경에서의 방송 채널전환 가속 시스템 및 그 방법
US8407741B2 (en) 2006-11-20 2013-03-26 Sk Planet Co., Ltd. System, server and method for providing supplementary information service related to broadcast content
CN100544439C (zh) 2006-11-21 2009-09-23 华为技术有限公司 一种支持多种编码格式的媒体数据的方法及系统
EP2090000A2 (en) 2006-12-22 2009-08-19 Apple, Inc. Communicating and storing information associated with media broadcasts
KR100810223B1 (ko) * 2007-01-19 2008-03-06 삼성전자주식회사 단말 간 실시간 스트리밍 서비스 제공 시스템 및 방법
CN100551043C (zh) 2007-02-08 2009-10-14 华为技术有限公司 一种快进快退播放视频数据的方法和流媒体服务器
JP5230112B2 (ja) 2007-03-01 2013-07-10 キヤノン株式会社 情報配信装置、情報配信方法及び情報配信プログラム
US20080216135A1 (en) * 2007-03-03 2008-09-04 Howard Pfeffer Methods and apparatus for improved content delivery including content delivery streams dynamically populated in response to user requests
JP2008236667A (ja) 2007-03-23 2008-10-02 Victor Co Of Japan Ltd デジタル放送受信装置
JP5086426B2 (ja) 2007-04-23 2012-11-28 エルジー エレクトロニクス インコーポレイティド セキュリティレベルに基づくコンテンツ使用方法、コンテンツ共有方法及びデバイス
KR101369747B1 (ko) 2007-05-10 2014-03-06 삼성전자주식회사 정보저장매체, 비디오 컨텐츠 재생 장치 및 재생 방법
KR101517959B1 (ko) 2007-05-11 2015-05-18 주식회사 비즈모델라인 적응형 스트리밍 방법
CN101321265B (zh) 2007-06-07 2011-03-16 中兴通讯股份有限公司 对等网络媒体点播跨帧播放方式的实现方法及系统
CN101743512B (zh) * 2007-06-27 2012-09-05 杜比实验室特许公司 具有标识多媒体内容的签名指针的搜索树的渐进式构造
JP4450021B2 (ja) * 2007-07-05 2010-04-14 ソニー株式会社 記録再生装置、記録装置、再生装置、記録方法、再生方法およびコンピュータプログラム
JP4609802B2 (ja) 2007-07-06 2011-01-12 Necアクセステクニカ株式会社 ホームゲートウェイ
KR20090005845A (ko) * 2007-07-10 2009-01-14 삼성전자주식회사 태그를 이용한 미디어 신호 재생 제어 방법 및 장치
BRPI0706005A2 (pt) * 2007-07-24 2009-03-17 Orbisat Da Amazonia Ind E Aero método e sistema de difusão de serviços digitais com recepção particularizada por região
US7694006B2 (en) * 2007-07-27 2010-04-06 Realnetworks, Inc. System and method for distributing media data
CN101365128A (zh) 2007-08-10 2009-02-11 中兴通讯股份有限公司 综合视频业务对等网络系统
US9852219B2 (en) 2007-08-20 2017-12-26 Nokia Technologies Oy Segmented metadata and indexes for streamed multimedia data
US8386893B2 (en) * 2007-08-24 2013-02-26 Lg Electronics Inc. Digital broadcasting system and method of processing data in digital broadcasting system
KR101128848B1 (ko) 2007-09-13 2012-03-23 에스케이플래닛 주식회사 멀티 앵글 모바일 방송 서비스를 제공하는 서버, 시스템 및방법
CN101809962B (zh) * 2007-09-25 2015-03-25 爱立信电话股份有限公司 与媒体结构有关的方法和装置
KR20090036765A (ko) * 2007-10-10 2009-04-15 삼성전자주식회사 와이브로 시스템에서 영상 데이터 전송을 위한 출력 비트레이트 설정 방법
US20090110060A1 (en) * 2007-10-30 2009-04-30 Mauricio Cortes Method and apparatus for performing lower complexity multiple bit rate video encoding using metadata
KR100889986B1 (ko) 2007-11-30 2009-03-25 엔에이치엔(주) 양방향 방송 단말기를 위한 추천 키워드 제공 시스템 및방법
KR101401967B1 (ko) * 2007-12-04 2014-06-27 삼성전자주식회사 암호화된 데이터 스트림의 트릭 플레이 방법 및 장치
KR101529503B1 (ko) 2007-12-14 2015-06-30 엘지전자 주식회사 콘텐츠 제공/다운로드 방법, 이를 위한 전자장치 및 콘텐츠서버
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
CN101521583B (zh) 2008-02-29 2012-07-04 华为技术有限公司 一种资源接纳控制方法、系统和装置
CN101247511B (zh) 2008-03-21 2016-04-06 中国电信股份有限公司 Iptv内容相关信息展现方法及系统
JPWO2009119394A1 (ja) 2008-03-28 2011-07-21 日本電気株式会社 映像取得方法、映像取得装置、映像取得システム及び映像取得用プログラム
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
US7860996B2 (en) * 2008-05-30 2010-12-28 Microsoft Corporation Media streaming with seamless ad insertion
WO2009158550A2 (en) * 2008-06-25 2009-12-30 Cisco Technology, Inc. Support for blocking trick mode operations
US8387150B2 (en) 2008-06-27 2013-02-26 Microsoft Corporation Segmented media content rights management
KR20100007368A (ko) * 2008-07-14 2010-01-22 주식회사 케이티 스트리밍 서비스의 비트 레이트를 제어하기 위한 시스템 및그 방법
JP4798190B2 (ja) * 2008-08-29 2011-10-19 株式会社日立製作所 デジタル放送システム、及び、装置
BRPI0904965A2 (pt) * 2008-09-30 2015-06-30 Panasonic Corp Meio de gravação no qual se grava vídeo 3d, aparelho de reprodução destinado à reprodução de vídeo 3d e sistema lsi
US20100118938A1 (en) * 2008-11-12 2010-05-13 Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. Encoder and method for generating a stream of data
CN101459809B (zh) 2008-11-26 2010-06-23 北京惠信博思技术有限公司 一种数字电视节目播放的方法和系统
US9009066B2 (en) * 2009-02-12 2015-04-14 Echostar Technologies L.L.C. Advertisement management for live internet multimedia content
US8621044B2 (en) * 2009-03-16 2013-12-31 Microsoft Corporation Smooth, stateless client media streaming
JP2009159625A (ja) 2009-04-03 2009-07-16 Hitachi Ltd デジタル放送用ストリームの蓄積方法
US9680892B2 (en) * 2009-06-26 2017-06-13 Adobe Systems Incorporated Providing integration of multi-bit-rate media streams
US8205004B1 (en) * 2009-06-26 2012-06-19 Adobe Systems Incorporated Multi-bit-rate streaming delivery
US10410222B2 (en) * 2009-07-23 2019-09-10 DISH Technologies L.L.C. Messaging service for providing updates for multimedia content of a live event delivered over the internet
US9203816B2 (en) * 2009-09-04 2015-12-01 Echostar Technologies L.L.C. Controlling access to copies of media content by a client device
US9237387B2 (en) * 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
US9438861B2 (en) * 2009-10-06 2016-09-06 Microsoft Technology Licensing, Llc Integrating continuous and sparse streaming data
US9749713B2 (en) * 2009-10-15 2017-08-29 Citrix Systems, Inc. Budget encoding
RU2622621C2 (ru) 2009-11-04 2017-06-16 Амотек Ко., Лтд. Система и способ для потоковой передачи воспроизводимого контента
US8862515B2 (en) * 2010-05-04 2014-10-14 Sony Corporation Geographic internet asset filtering for internet video client

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190045117A (ko) * 2011-06-13 2019-05-02 한국전자통신연구원 오버헤드를 최소화한 헤더를 가지는 패킷 기반의 미디어 데이터 전송 방법
KR20180054532A (ko) * 2011-06-13 2018-05-24 한국전자통신연구원 오버헤드를 최소화한 헤더를 가지는 패킷 기반의 미디어 데이터 전송 방법
WO2012173402A3 (ko) * 2011-06-14 2013-03-28 삼성전자 주식회사 방송 시스템에서 컨텐트를 구성하는 방법 및 장치
US9571893B2 (en) 2011-06-20 2017-02-14 Lg Electronics Inc. Media content transceiving method and transceiving apparatus using same
GB2506055A (en) * 2011-06-20 2014-03-19 Lg Electronics Inc Media content transceiving method and transceiving apparatus using same
US10009660B2 (en) 2011-06-20 2018-06-26 Lg Electronics Inc. Media content transceiving method and transceiving apparatus using same
GB2506055B (en) * 2011-06-20 2018-04-04 Lg Electronics Inc Media content transceiving method and transceiving apparatus using same
WO2012177041A3 (ko) * 2011-06-20 2013-04-04 엘지전자 주식회사 미디어 컨텐트 송수신 방법 및 그를 이용한 송수신 장치
WO2013048148A3 (en) * 2011-09-29 2013-06-13 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving content
US11647071B2 (en) 2011-09-29 2023-05-09 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving content
US11082479B2 (en) 2011-09-29 2021-08-03 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving content
US10659519B2 (en) 2011-09-29 2020-05-19 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving content
WO2013055162A3 (ko) * 2011-10-13 2013-06-13 한국전자통신연구원 이종 ip 네트워크를 통한 미디어 코덱에 독립적인 미디어 데이터 전송 방법
WO2013055162A2 (ko) * 2011-10-13 2013-04-18 한국전자통신연구원 이종 ip 네트워크를 통한 미디어 코덱에 독립적인 미디어 데이터 전송 방법
WO2013119023A1 (ko) * 2012-02-06 2013-08-15 한국전자통신연구원 이종망 네트워크에서 부호화된 미디어 데이터를 전송하는 시스템에 랜덤 액세스를 지원하는 엠엠티 애셋의 구조, 생성 방법 및 생성 장치
US9992250B2 (en) 2012-08-22 2018-06-05 Futurewei Technologies, Inc. Carriage of ISO-BMFF event boxes in an MPEG-2 transport stream
US10911511B2 (en) 2012-08-22 2021-02-02 Futurewei Technologies, Inc. Carriage of ISO-BMFF event boxes in an MPEG-2 transport stream
KR101403943B1 (ko) * 2012-08-31 2014-06-09 삼성전자주식회사 스트리밍 미디어의 공급 제어 장치, 서버, 수신기 및 제어 방법
US10045021B2 (en) 2013-04-05 2018-08-07 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
WO2014163467A1 (ko) * 2013-04-05 2014-10-09 삼성전자 주식회사 랜덤 엑세스를 위한 멀티 레이어 비디오 부호화 방법 및 그 장치, 랜덤 엑세스를 위한 멀티 레이어 비디오 복호화 방법 및 그 장치
WO2018093051A1 (ko) * 2016-11-17 2018-05-24 (주)판도라티비 실시간 파일 포맷 변환 스트리밍 서비스 방법

Also Published As

Publication number Publication date
JP2016007026A (ja) 2016-01-14
US10425666B2 (en) 2019-09-24
CN102714624B (zh) 2017-06-16
EP2499792A4 (en) 2014-03-12
CN102714624A (zh) 2012-10-03
JP2013511196A (ja) 2013-03-28
EP2499792B1 (en) 2016-11-02
US20110119395A1 (en) 2011-05-19
EP2499792A2 (en) 2012-09-19
KR101777347B1 (ko) 2017-09-11
JP6116906B2 (ja) 2017-04-19
WO2011059273A2 (en) 2011-05-19
JP6177843B2 (ja) 2017-08-09
WO2011059273A3 (en) 2011-10-20

Similar Documents

Publication Publication Date Title
KR101777347B1 (ko) 부분화에 기초한 적응적인 스트리밍 방법 및 장치
KR101750049B1 (ko) 적응적인 스트리밍 방법 및 장치
KR101737084B1 (ko) 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치
KR101837687B1 (ko) 콘텐트의 품질을 결정하는 복수의 인자에 기초한 적응적인 스트리밍 방법 및 장치
KR101786050B1 (ko) 데이터 전송 방법 및 장치
EP2540034B1 (en) Method and apparatus for transmitting and receiving data
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

Legal Events

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