KR20120119790A - 미디어 데이터 전송 방법 및 장치와 미디어 데이터 수신 방법 및 장치 - Google Patents

미디어 데이터 전송 방법 및 장치와 미디어 데이터 수신 방법 및 장치 Download PDF

Info

Publication number
KR20120119790A
KR20120119790A KR1020110037984A KR20110037984A KR20120119790A KR 20120119790 A KR20120119790 A KR 20120119790A KR 1020110037984 A KR1020110037984 A KR 1020110037984A KR 20110037984 A KR20110037984 A KR 20110037984A KR 20120119790 A KR20120119790 A KR 20120119790A
Authority
KR
South Korea
Prior art keywords
media data
information
segment
content
client
Prior art date
Application number
KR1020110037984A
Other languages
English (en)
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 KR1020110037984A priority Critical patent/KR20120119790A/ko
Priority to US13/403,653 priority patent/US20120272281A1/en
Publication of KR20120119790A publication Critical patent/KR20120119790A/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/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/306Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/30Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
    • H04L63/308Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information retaining data, e.g. retaining successful, unsuccessful communication attempts, internet access, or e-mail, internet telephony, intercept related information or call content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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
    • 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/475End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data
    • H04N21/4751End-user interface for inputting end-user data, e.g. personal identification number [PIN], preference data for defining user accounts, e.g. accounts for children
    • 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/84Generation or processing of descriptive data, e.g. content descriptors

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Health & Medical Sciences (AREA)
  • Child & Adolescent Psychology (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

세그먼트들 각각에 대한 재생 등급 정보가 포함된 미디어 데이터에 관한 정보 파일을 클라이언트로 전송하고, 클라이언트로부터 적어도 하나의 세그먼트에 관한 전송 요청을 수신한 후 요청에 대응하여 적어도 하나의 세그먼트를 클라이언트에 전송하는 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치가 개시된다.

Description

미디어 데이터 전송 방법 및 장치와 미디어 데이터 수신 방법 및 장치{Method and apparatus for media data transmission, and method and apparatus for media data reception}
본 발명은 미디어 데이터를 전송하는 방법 및 장치와 수신하는 방법 및 장치에 관한 것으로, 특히 미디어 데이터를 구성하는 복수 개의 세그먼트들 각각에 대한 재생 등급 정보에 따라 미디어 데이터를 전송하는 방법 및 장치와 수신하는 방법 및 장치에 관한 것이다.
정보 통신 기술의 발달에 따라 사용자는 다양한 미디어 데이터를 손쉽게 획득할 수 있다. 이에 따라 부모들의 시청 감독에 대한 필요성이 증가하고 있다.
서버에서는 이와 같은 사용자의 욕구에 부응하기 위하여, 원래의 미디어 데이터에서 소정의 재생 등급을 초과하는 부분을 삭제하는 등의 방법을 통하여 소정의 재생 등급을 갖는 미디어 데이터를 새롭게 생성하여 제공하였다.
사용자는 자신이 원하는 재생 등급에 맞는 미디어 데이터를 용이하게 획득할 수 있지만, 서버에서는 재생 등급들 각각에 대응하는 복수 개의 미디어 데이터들을 생성하여야 하므로 비경제적이다.
상기의 문제점을 해결하기 위한 본 발명의 목적은 세그먼트별로 재생 등급 정보를 제공하는 미디어 데이터의 전송 방법 및 장치와 수신 방법 및 장치를 제공하는 것이다.
상기의 목적을 달성하기 위한 본 발명의 일 실시예가 갖는 하나의 특징은, 복수 개의 세그먼트들로 구성되는 미디어 데이터를 전송하는 방법에 있어서, 상기 세그먼트들 각각에 대한 재생 등급 정보가 포함된 상기 미디어 데이터에 관한 정보 파일을 클라이언트로 전송하는 단계; 상기 정보 파일에 기초한 상기 클라이언트로부터 적어도 하나의 세그먼트에 관한 전송 요청을 수신하는 단계; 및 상기 요청에 대응하여, 상기 적어도 하나의 세그먼트를 상기 클라이언트에 전송하는 단계를 포함하는 것이다.
상기 미디어 데이터는, 소정의 컨텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터들 중 하나이며, 상기 정보 파일은, 상기 복수의 미디어 데이터들 각각에 관한 정보를 포함할 수 있다.
상기 시청 등급 정보는, 상기 미디어 데이터내에서 동일한 재생 등급을 갖는 구간에 관한 위치를 나타내는 구간 정보 및 상기 구간을 재생할 수 있는 사용자의 연령 정보를 포함할 수 있다.
상기 구간 정보는, 상기 미디어 데이터내에서 임계치 이상의 재생 등급을 갖는 구간에 관한 위치 정보만을 포함할 수 있다.
상기 구간 정보는, 상기 구간내의 첫 번째 세그먼트와 마지막 세그먼트에 관한 식별 정보를 포함할 수 있다.
상기 구간 정보는, 상기 구간의 시작 시간과 종료 시간을 나타내는 시간 정보를 포함할 수 있다.
상기 구간의 시작은, 랜덤 엑세스 포인트일 수 있다.
상기 재생 등급 정보는, 상기 복수의 미디어 데이터들에 대하여 공통으로 적용될 수 있다.
상기 재생 등급 정보는, 상기 재생 등급 정보가 적용될 미디어 데이터에 관한 식별 정보를 포함할 수 있다.
본 발명의 다른 실시예가 갖는 하나의 특징은, 복수 개의 세그먼트들로 구성되는 미디어 데이터를 수신하는 방법에 있어서, 상기 세그먼트들 각각에 대한 재생 등급 정보가 포함된 상기 미디어 데이터에 관한 정보 파일을 서버로부터 수신하는 단계; 상기 정보 파일에 기초하여 상기 세그먼트들 중 적어도 하나의 전송을 상기 서버에 요청하는 단계; 및 상기 서버로부터, 상기 요청된 적어도 하나의 세그먼트를 수신하는 단계를 포함하는 것이다.
본 발명의 다른 실시예가 갖는 하나의 특징은, 복수 개의 세그먼트들로 구성되는 미디어 데이터를 전송하는 장치에 있어서, 상기 세그먼트들 각각에 대한 재생 등급 정보가 포함된 상기 미디어 데이터에 관한 정보 파일을 클라이언트로 전송하는 파일 전송부; 상기 정보 파일에 기초한 상기 클라이언트로부터 적어도 하나의 세그먼트에 관한 전송 요청을 수신하는 요청 수신부; 및 상기 요청에 대응하여, 상기 적어도 하나의 세그먼트를 상기 클라이언트에 전송하는 세그먼트 전송부를 포함하는 것이다.
본 발명의 다른 실시예가 갖는 하나의 특징은, 복수 개의 세그먼트들로 구성되는 미디어 데이터를 수신하는 장치에 있어서, 상기 세그먼트들 각각에 대한 재생 등급 정보가 포함된 상기 미디어 데이터에 관한 정보 파일을 서버로부터 수신하는 정보 파일 수신부; 상기 정보 파일에 기초하여 상기 세그먼트들 중 적어도 하나의 전송을 상기 서버에 요청하는 요청부; 및 상기 서버로부터, 상기 요청된 적어도 하나의 세그먼트를 수신하는 세그먼트 수신부를 포함하는 것이다.
도 1은 본 발명의 일 실시예에 따른 스트리밍 시스템을 도시한다.
도 2a 및 2b는 본 발명의 일 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 콘텐트에 대한 정보를 포함하는 파일의 스키마(schema)를 도시한다.
도 4a는 본 발명의 일 실시예에 따른 복수의 미디어 데이터를 정의하기 위한 정보를 도시한다.
도 4b는 본 발명의 일 실시예에 따른 미디어 데이터의 헤더에 대한 정보를 도시한다.
도 4c는 본 발명의 일 실시예에 따른 복수의 미디어 데이터 각각에 포함된 적어도 하나의 부분들에 대한 정보를 포함한다.
도 5a 및 5b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 6은 본 발명의 또 다른 실시예에 따른 콘텐트에 대한 정보를 포함하는 파일의 스키마를 도시한다.
도 7은 본 발명의 또 다른 실시예에 따른 콘텐트에 대한 정보를 도시한다.
도 8a 및 8b는 본 발명의 일 실시예에 따른 미디어 표현 기술의 스키마를 도시한다.
도 9a 내지 9h는 본원 발명의 일 실시예에 따른 미디어 표현 기술을 도시한다.
도 10a 내지 10c는 본 발명의 일 실시예에 따른 복수의 미디어 데이터를 도시한다.
도 11a 및 11b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 12a 및 12b는 본 발명의 또 다른 실시예에 따른 복수의 미디어 데이터를 도시한다.
도 13은 본 발명의 일 실시예에 따른 데이터 전송 장치(1300)에 관한 블록도를 나타낸다.
도 14는 본 발명의 일 실시예에 따른 데이터수신장치(1400)에 관한 블록도를 나타낸다.
도 15는 본 발명의 일 실시예에 따른 미디어 데이터에 관한 정보 파일(1500)의 일 예이다.
도 16는 본 발명의 다른 실시예에 따른 미디어 데이터에 관한 정보 파일(1600)의 일 예이다.
도 17는 본 발명의 다른 실시예에 따른 미디어 데이터에 관한 정보 파일(1700)의 일 예이다.
도 18은 본 발명의 다른 실시예에 따른 미디어 데이터에 관한 정보 파일(1800)의 일 예이다.
도 19는 본 발명의 다른 실시예에 따른 미디어 데이터에 관한 정보 파일(1900)의 일 예이다.
도 20은 본 발명의 일 실시예에 따른 데이터전송시스템의 동작에 관한 흐름도른 나타낸다.
이하에서는 첨부된 도면을 참고하여 본 발명의 바람직한 실시 예를 상세히 설명한다.
우선, 설명의 편의를 위하여 본 명세서에서 사용되는 용어를 간단히 정의한다.
컨텐트의 일 예는 오디오 정보, 비디오 정보, 오디오-비디오 정보 및 데이터를 포함한다. 컨텐트는 복수 개의 컴포넌트로 구성되는 멀티 미디어 데이터일 수 있다.
컴포넌트(component)는 오디오 정보, 비디오 정보, 서브 타이틀 정보등과 같이 컨텐트를 구성하는 성분이다. 일 예로, 멀티 미디어 컨텐트는 특정 언어로 작성된 서브타이틀 스트림과 특정 카메라 앵글에서 획득한 비디오 스트림을 컴포넌트로써 포함할 수 있다. 컴포넌트는 컨테이너에 따라 트랙이나 기본 스트림(Elementary Stream, ES)로 명명될 수 있다.
피어리드는 컨텐트 리소스의 시간적인 섹션이다.
리프리젠테이션은 피어리드내에서 제공되는 미디어 데이터으로써 하나 이상의 컴포넌들로 구성된다. 리프리젠테이션들은 컴포넌트들의 서브셋이 상이하거나, 컴포넌트의 인코딩 파리미터들(예를 들면, 비트레이트)가 상이할 수 있다. 본 명세서에서는 리프리젠테이션을 미디어 데이터로 지칭하지만, 하나 이상의 컴포넌트를 포함하는 데이터를 지칭하는 어떠한 용어로도 사용될 수 있다.
세그먼트는 특정 시스템 레이어 형식(TS 또는 MP4)에서 유일한 URL을 통하여 지칭되는 리프리젠테이션의 시간적인 섹션을 의미한다.
이하에서는 도면을 참조하여 본 발명의 실시예들을 상세히 설명한다.
도 1은 본 발명의 일 실시예에 따른 스트리밍 시스템을 도시한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 스트리밍 시스템(100)은 인코딩 장치(110), 서버(120) 및 클라이언트(130)를 포함한다.
인코딩 장치(110)는 입력된 콘텐트를 복수의 상이한 품질로 인코딩하여 하나의 콘텐트에 대한 복수의 미디어 데이터를 생성한다. 서버(120)가 클라이언트(130)에 미디어 데이터를 스트리밍할 때, 스트리밍 환경은 변경될 수 있다. 예를 들어, 스트리밍을 위한 네트워크(140) 대역폭이 변경될 수도 있고, 미디어 데이터를 전송하기 위해 서버(120)가 사용 가능한 하드웨어 자원 또는 미디어 데이터를 수신하기 위해 클라이언트(130)가 사용 가능한 하드웨어 자원이 변경될 수도 있다.
따라서, 인코딩 장치(110)는 유동적인 스트리밍 환경에 따른 적응적인 스트리밍을 위해 하나의 콘텐트를 복수의 상이한 품질로 인코딩한다. 비트율 또는 샘플링 주파수(sampling frequency) 또는 해상도 등과 같은 인자들을 조절함으로써 하나의 콘텐트를 복수의 상이한 품질로 인코딩할 수 있다. 예를 들어, 하나의 동영상 콘텐트를 서로 다른 해상도로 인코딩하여 500 Kbps, 1000 Kbps 및 2000 Kbps의 복수의 미디어 데이터를 생성할 수 있다.
상이한 품질로 인코딩된 복수의 미디어 데이터는 서버(120)에 전송되고, 이 때, 콘텐트에 대한 정보 및 복수의 미디어 데이터 각각에 대한 정보도 함께 서버(120)에 전송된다. 콘텐트에 대한 정보는 콘텐트의 메타 데이터로서 콘텐트의 제목(title), 시놉시스(synopsis), 콘텐트 식별자(Content ID), 콘텐트 URL(Uniform Resource Locator) 등과 같은 정보를 포함할 수 있다. 복수의 미디어 데이터에 대한 정보는 각각의 미디어 데이터의 품질, 유형 및 식별자 등을 포함할 수 있는 바 이에 대해서는 도 4a, 4b 및 4c를 참조하여 상세히 설명한다.
클라이언트(140)는 콘텐트에 대한 정보 및 복수의 미디어 데이터에 대한 정보 중 적어도 하나를 수신하고, 이에 기초해 서버(120)에 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 요청한다. 클라이언트(130)는 스트리밍 환경을 추정(estimation)하고, 추정된 스트리밍 환경에 기초해 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 선택한다. 추정된 스트리밍 환경에서 적절한 QoS를 유지할 수 있는 적어도 하나의 미디어 데이터를 선택할 수 있다. 그러 다음, 클라이언트(130)는 선택된 적어도 하나의 미디어 데이터의 전송을 요청하는 HTTP 요청(request)을 서버(120)에 전송할 수 있다.
스트리밍 환경이 열화되어 높은 품질의 미디어 데이터를 수신하면, 끊임없이 미디어 데이터를 재생할 수 없는 경우에는 복수의 미디어 데이터 중 낮은 품질의 미디어 데이터를 요청하고, 스트리밍 환경이 개선되어 높은 품질의 미디어 데이터를 수신하여도, 끊임없이 미디어 데이터를 재생할 수 있는 경우에는 복수의 미디어 데이터 중 높은 품질의 미디어 데이터를 요청할 수 있다.
소정의 미디어 데이터를 수신하고 있는 도중에 다른 미디어 데이터를 전송할 것을 서버(120)에 요청할 수도 있다. 예를 들어, 스트리밍 환경이 열화된 상태에서 낮은 품질의 제1 미디어 데이터를 요청하여 수신하고 있던 클라이언트(130)는 스트리밍 환경이 개선됨에 따라 보다 높은 품질의 제2 미디어 데이터를 전송할 것을 서버(120)에 요청할 수 있다. 종래 기술에 따른 스트리밍 방법에 의하면, 서버(120)와 클라이언트(130)가 스트리밍 채널을 최초에 설정할 때, 품질을 한번 설정하면, 계속해서 동일한 품질로 미디어 데이터를 송수신하여야 했다. 그러나, 본원 발명에 따르면, 클라이언트(130)가 낮은 품질의 제1 미디어 데이터를 수신하던 중에도 동일한 콘텐트에 대한 보다 높은 품질의 제2 미디어 데이터를 다시 요청할 수 있어, 스트리밍 환경에 따른 적응적인 스트리밍이 가능해진다.
네트워크(140)의 대역폭 및 서버(120) 또는 클라이언트(130)의 사용 가능한 하드웨어 자원에 기초해 스트리밍 환경을 추정하는 다양한 방법들이 클라이언트(130)가 스트리밍 환경을 추정하는데 이용될 수 있다. 예를 들어, 클라이언트(130)는 수신되는 미디어 데이터의 타임 스탬프 및 BER(Bit Error Rate)에 기초해 스트리밍 환경을 추정할 수 있다. 수신되는 미디어 데이터의 타임 스탬프를 확인하여 미디어 데이터가 재생 속도보다 느린 속도로 수신되고 있으면, 스트리밍 환경이 열화되고 있는 것으로 판단할 수 있다. 또한, 수신되는 미디어 데이터의 BER이 높아져도 스트리밍 환경이 열화되고 있는 것으로 판단할 수 있다.
클라이언트(130)가 스트리밍 환경에 따라 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 전송할 것을 요청하면, 서버(120)는 요청된 미디어 데이터를 클라이언트(130)에 전송한다. HTTP 요청에 대한 HTTP 응답으로서 요청된 미디어 데이터를 클라이언트(130)에 전송할 수 있다.
복수의 미디어 데이터 각각은 콘텐트를 상이한 품질로 인코딩하고, 분할하여 생성된 복수의 부분 중 적어도 하나를 포함할 수 있다. 다시 말해, 인코딩 장치(110)의 인코딩 결과 생성된 복수의 미디어 데이터 각각은 시간에 기초해 분할된 적어도 하나의 부분들을 각각 포함할 수 있다. 서버(120)는 콘텐트를 하나의 스트림으로 인코딩하여 연속해서 전송하는 것이 아니라 복수의 부분으로 분할하여 각각 전송한다. 콘텐트를 10초 또는 20초와 같이 소정의 시간 단위로 콘텐트를 분할하여 복수의 부분을 생성할 수 있다. 분할의 기초가 되는 시간은 GOP(Group of Picture)에 기초해 설정될 수 있다. 하나 또는 둘 이상의 GOP의 픽처들에 대응되는 미디어 데이터를 하나의 부분으로 설정할 수 있다.
예를 들어, 두 종류의 품질로 콘텐트가 스트리밍 되는 경우, 제1 미디어 데이터는 콘텐트를 제1 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 포함할 수 있고, 제2 미디어 데이터는 콘텐트를 제2 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 포함할 수 있다.
복수의 미디어 데이터를 시간에 기초해 각각 분할함으로써, 전술한 적응적인 스트리밍이 가능해진다. 예를 들어, 스트리밍이 시작되면 서버(120)는 품질이 낮은 제1 미디어 데이터의 0초에서 20초에 해당하는 부분을 전송한다. 그런 다음, 20초 이후에 스트리밍 환경이 개선된 것으로 판단되어 클라이언트(130)가 보다 높은 품질의 미디어 데이터를 요청하면, 서버(120)는 보다 품질이 높은 제2 미디어 데이터의 20초에서 40초에 해당하는 부분을 전송할 수 있다. 미디어 데이터가 시간에 기초해 복수의 부분들로 분할되어 있기 때문에 스트리밍 도중에도 스트리밍 환경에 따라 상이한 미디어 데이터의 부분들을 전송할 수 있다.
도 2a는 본 발명의 일 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 2a를 참조하면, 단계 210에서 클라이언트(130)는 소정의 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청한다. 클라이언트(130)의 사용자가 클라이언트(130)의 화면에 표시된 사용자 인터페이스에서 소정의 콘텐트를 선택하면, 선택된 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청한다. 클라이언트(130)는 콘텐트에 대한 정보를 전송할 것을 요청하는 HTTP 요청을 서버(120)에 전송할 수 있다.
클라이언트(130)로부터 요청을 수신한 서버(120)는 클라이언트(130)에 콘텐트에 대한 정보를 전송한다. HTTP 요청에 대한 HTTP 응답으로서 콘텐트에 대한 정보를 클라이언트(130)에 전송할 수 있다. 콘텐트에 대한 정보는 OIPF(Open IPTV Forum) 표준에 따른 CAD(Content Access Descriptor)일 수 있다. 도 3을 참조하여 상세히 설명한다.
도 3은 본 발명의 일 실시예에 따른 콘텐트에 대한 정보를 포함하는 파일의 스키마(schema)를 도시한다. 콘텐트에 대한 정보를 포함하는 파일은 CAD로서 XML(eXtensible Markup Language) 파일일 수 있다. 이하 본 발명의 상세한 설명에서는 태그(tag) 및 속성(attribute)을 구분하여 설명하나, 본 발명의 상세한 설명에서 태그에 의해 정의되는 항목을 태그가 아닌 속성에 의해 정의하거나, 본 발명의 상세한 설명에서 속성에 의해 정의되는 항목을 속성이 아닌 태그에 의해 정의할 수 있음은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 쉽게 알 수 있다.
도 3을 참조하면, 콘텐트에 대한 정보는 "Title", "Synopsis", "OriginSite", "ContentURL" 태그 등을 포함할 수 있다.
종래 기술에 따른 미디어 데이터의 스트리밍은 하나의 콘텐트를 소정의 품질로 인코딩하여 하나의 미디어 데이터를 생성하므로, 종래 기술에 따른 콘텐트에 대한 정보(특히, OIPF에 따른 CAD)는 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하지 않는다.
그러나, 본 발명의 일 실시예에 따른 콘텐트에 대한 정보는 하나의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 포함하는 바, 도 3에 도시된 실시예의 "Tracks", "RefData" 및 "Fragments" 태그가 이에 해당한다.
도 4a는 본 발명의 일 실시예에 따른 복수의 미디어 데이터를 정의하기 위한 정보를 도시한다.
도 4a를 참조하면, "Tracks" 태그는 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터를 구분하기 위한 정보이다. "Tracks" 태그는 복수의 미디어 데이터 각각에 할당된 "ID" 속성(attribute), "Type" 속성 및 "Bitrate" 속성을 포함한다.
"ID" 속성은 미디어 데이터에 대해 순서대로 부여되는 식별자를 정의하고, "Type" 속성은 미디어 데이터의 오디오 데이터, 비디오 데이터, 비디오/오디오 데이터, 자막 데이터 중 어떤 데이터에 해당하는지를 정의한다. "Type" 속성이 "Packed"이면, 미디어 데이터가 비디오/오디오 데이터임을 나타내고, "Type" 속성이 "Video"이면, 미디어 데이터가 비디오 데이터임을 나타낸다. "Bitrate" 속성은 비디어 데이터의 인코딩에 이용된 비트율을 정의한다.
도 4b는 본 발명의 일 실시예에 따른 미디어 데이터의 헤더에 대한 정보를 도시한다.
도 4b를 참조하면, "RefData" 태그는 "Type" 속성 및 "ID" 속성을 포함한다. "Type" 속성은 헤더가 어떠한 미디어 포맷의 헤더인지 정의한다. 예를 들어, "Type" 속성이 "HEAD-TS"이면, 헤더가 전송 스트림(transport stream) 포맷의 헤더임을 나타낸다. "ID" 속성은 헤더가 복수의 미디어 데이터 중 어떤 미디어 데이터의 헤더인지 정의한다. "ID" 속성이 "1"이면, 미디어 데이터 식별자가 "1"인 미디어 데이터에 대한 헤더임을 나타낸다. 또한, "RefData" 태그는 헤더를 지시(pointing)하는 정보를 포함하는 바, "URL" 태그는 헤더의 위치 즉, URL을 정의한다.
"RefData" 태그는 선택적인 요소이다. 헤더가 미디어 데이터와 분리되어 별도의 파일로 존재하는 경우에만 콘텐트에 대한 정보에 "RefData" 태그가 포함되며, 미디어 데이터와 결합되어 존재하는 경우에는 콘텐트에 대한 정보에 "RefData" 태그가 포함되지 않을 수 있다.
도 4c는 본 발명의 일 실시예에 따른 복수의 미디어 데이터 각각에 포함된 적어도 하나의 부분들에 대한 정보를 포함한다.
도 4c를 참조하면, "Fragments" 태그의 하위 태그인 "Fragment" 태그에 복수의 미디어 데이터 각각에 포함된 적어도 하나의 부분에 대한 정보가 포함된다.
"Fragments" 태그는 "NextFragmentsXMLURL" 속성을 포함한다. 라이브 스트리밍과 같이 하나의 콘텐트 스트리밍이 완료되면, 다음 콘텐트가 이어서 스트리밍되는 경우에는 다음에 스트리밍될 콘텐트에 대한 정보를 클라이언트(130)가 미리 알아야, 끊임없이 콘텐트를 스트리밍할 수 있다. 따라서, "Fragments" 태그는 다음에 스트리밍될 콘텐트에 대한 정보를 "NextFragmentsXMLURL" 속성으로 정의한다. 다음에 스트리밍될 콘텐트에 대한 복수의 미디어 데이터의 URL이 "NextFragmentsXMLURL" 속성으로 정의될 수 있다.
"Fragment" 태그는 현재 스트리밍되는 콘텐트의 적어도 하나의 부분들에 대한 정보를 포함한다. 도 4c에 도시된 실시예를 예로 들어 설명하면, 제1 미디어 데이터로서 콘텐트를 제1 품질로 인코딩하여 생성된 첫 번째 부분인 "slice1-1.as"의 URL 정보가 "URL" 태그에 의해 정의되며, 대응되는 헤더의 식별자가 "RefPointer" 태그에 의해 정의된다. 또한, 첫 번째 부분의 시작 시간이 "StartTime" 속성에 의해 정의되며, 각각의 부분의 지속 시간이 "Duration" 속성에 의해 정의된다. 제1 미디어 데이터의 품질은 "BitRate" 속성에 의해 정의된다.
도 4c에 도시된 실시예에서는 "Fragments" 태그는 각각의 미디어 데이터가 하나의 부분만을 포함하는 경우를 도시하였다. 그러나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 도 1과 관련하여 전술한 바와 같이 각각의 미디어 데이터가 복수의 부분으로 분할되는 경우, 하나의 "Fragments" 태그가 둘 이상의 부분에 대한 정보를 포함할 수 있음을 쉽게 알 수 있다.
다시 도 2a를 참조하면, 단계 220에서 클라이언트(130)는 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 전송할 것을 서버(120)에 요청한다. 복수의 미디어 데이터는 하나의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터이다. 클라이언트(130)는 복수의 미디어 데이터 중에서 스트리밍 환경에 적합한 품질로 부호화된 적어도 하나의 미디어 데이터를 선택하여 서버(120)에 요청한다. 클라이언트(130)는 콘텐트에 대한 정보에 포함된 복수의 미디어 데이터에 대한 정보에 기초해 HTTP 요청을 서버(120)에 전송할 수 있다.
콘텐트에 대한 정보는 도 4c와 관련하여 전술한 바와 같이 "Fragments" 태그를 포함하고 있다. 따라서, 클라이언트(130)는 "Fragments" 태그에 포함된 URL 정보에 기초해 선택된 미디어 데이터의 전송을 서버(120)에 요청한다.
클라이언트(120)의 요청에 따라 서버(120)는 미디어 데이터를 전송한다. 요청된 미디어 데이터의 적어도 하나의 부분을 클라이언트(120)에 전송할 수 있다. HTTP 요청에 대한 HTTP 응답으로서 요청된 미디어 데이터를 클라이언트(120)에 전송할 수 있다.
도 2b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다. 도 2b는 헤더가 미디어 데이터와 분리되어 별도의 파일로 존재하는 경우의 스트리밍 방법을 도시한다.
도 2b를 참조하면, 단계 212에서 클라이언트(130)는 소정의 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청하고, 서버(120)로부터 콘텐트에 대한 정보를 전송한다. 도 2a의 단계 210에 도시된다. 도 4b와 관련하여 전술한 "RefData" 태그를 포함하는 콘텐트에 대한 정보를 수신한다.
단계 222에서 클라이언트(130)는 단계 210에서 수신된 콘텐트에 대한 정보에 기초해 복수의 미디어 데이터 중 선택된 미디어 데이터의 헤더를 요청한다. 단계 212에서 수신된 콘텐트에 대한 정보에 기초해 복수의 미디어 데이터 중 스트리밍 환경에 적합한 적어도 하나의 미디어 데이터를 선택하고 선택된 미디어 데이터의 헤더를 요청한다. 단계 212에서 수신된 콘텐트에 대한 정보에 포함된 "RefData" 태그를 참조하여 선택된 미디어 데이터의 헤더를 요청한다.
서버(120)는 요청된 미디어 데이터의 헤더를 클라이언트(130)에 전송한다. 헤더 파일을 클라이언트(130)에 전송할 수 있으며, 헤더 파일은 XML 파일일 수 있다.
단계 232에서 클라이언트(130)는 단계 212에서 수신된 콘텐트에 대한 정보 및 단계 222에서 수신된 헤더에 기초해 선택된 미디어 데이터의 전송을 서버(120)에 요청한다. 미디어 데이터를 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 전송할 것을 서버(130)에 요청하고, 서버(120)는 요청된 적어도 하나의 부분을 클라이언트(130)에 전송한다.
도 5a는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 5a를 참조하면, 단계 510에서 클라이언트(130)는 소정의 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청하고, 서버(120)로부터 콘텐트에 대한 정보를 전송한다. 소정의 콘텐트에 대한 정보를 전송할 것을 요청하는 HTTP 요청을 서버(120)에 전송하고, 이에 대한 HTTP 응답으로서 콘텐트에 대한 정보를 수신한다. 콘텐트에 대한 정보를 포함하는 XML 파일을 수신할 수 있다. 단계 510에서 클라이언트(130)가 수신하는 콘텐트에 대한 정보는 도 2의 단계 210에서 클라이언트(130)가 수신하는 콘텐트에 대한 정보와 상이한 바, 도 6 및 7을 참조하여 상세히 설명한다.
도 6은 본 발명의 또 다른 실시예에 따른 콘텐트에 대한 정보를 포함하는 파일의 스키마를 도시한다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 콘텐트에 대한 정보는 도 3과 동일하게 "Title", "Synopsis", "OriginSite", "ContentURL" 태그 등을 포함할 수 있다.
그러나, 도 3에 도시된 실시예에서는 콘텐트에 대한 정보가 "Tracks", "RefData" 및 "Fragments" 태그를 포함함으로써 복수의 미디어 데이터에 대한 정보도 함께 포함하는데 반해, 도 6에 도시된 실시예에서는 콘텐트에 대한 정보가 복수의 미디어 데이터에 대한 정보를 포함하는 것이 아니라, 복수의 미디어 데이터에 대한 정보를 포함하는 파일(이하, Media Presentation Description : '미디어 표현 기술'이라 한다.)의 URL만 정의하는 것이 상이하다. "ContentURL" 태그에 의해 미디어 표현 기술의 URL이 정의될 수 있다.
도 6에 도시된 바와 같이 종래 기술에 따른 다양한 콘텐트에 대한 정보 파일의 스키마를 크게 변경하지 않고, 미디어 표현 기술의 URL만 콘텐트에 대한 정보 파일에 삽입함으로써, 다양한 미디어 데이터 포맷과의 호환성을 유지하면서, 스트리밍 환경에 적응적인 스트리밍이 가능해진다.
도 6에 도시된 바에 따르면, 콘텐트에 대한 정보는 복수의 미디어 데이터에 대한 정보는 포함하지 않고, 스트리밍 방법과 관련된 정보만 포함할 수 있다. 다시 말해, "ContentURL" 태그는 스트리밍에 이용되는 미디어 데이터의 포맷을 정의하는 "MediaFormat" 속성, 미디어 데이터의 종류를 정의하는 "MIMEType" 속성 등을 포함할 수 있다.
특히, "ContentURL" 태그는 콘텐트의 스트리밍이 어떤 서비스와 관련되어 있는지 정의하는 "TransferType" 속성을 포함할 수 있다. "TransferType" 속성은 콘텐트의 스트리밍이 CoD(Content on Delivery) 서비스, 생중계(Live), 적응 스트리밍 생중계(Adaptive Streaming Live) 및 적응 스트리밍 CoD(Adaptive Streaming CoD) 중 어떠한 서비스와 관련되었는지 정의할 수 있다.
도 7은 본 발명의 또 다른 실시예에 따른 콘텐트에 대한 정보를 도시한다. 도 7은 OIPF 표준에 따른 CAD일 수 있다.
도 7을 참조하면, 도 6에 도시된 스키마에 따라 생성된 콘텐트에 대한 정보는 "ContentURL" 태그에 미디어 표현 기술의 URL이 정의될 수 있다. "http://asexample.com/vod/movies/18888/Meta/MainMeta.xml"이 미디어 표현 기술의 URL이다. 또한, 도 6과 관련하여 전술한 바와 같이 "MediaFormat" 속성, "MIMEType" 속성 및 "TransferType" 속성 등이 "ContentURL" 태그에 정의될 수 있다.
다시 도 5a를 참조하면, 단계 520에서 클라이언트(130)는 단계 510에서 수신된 콘텐트에 대한 정보에 기초해 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청한다. 미디어 표현 기술을 HTTP 요청을 통해 서버(120)에 요청하고, HTTP 응답으로서 미디어 표현 기술을 수신할 수 있다.
단계 510에서 클라이언트(130)가 서버(120)로부터 수신한 콘텐트에 대한 정보는 도 6 및 7과 관련하여 전술한 바와 같이 미디어 표현 기술의 URL 정보를 포함할 수 있는 바, 클라이언트(130)는 콘텐트에 대한 정보의 "ContentURL" 태그를 참조하여 미디어 표현 기술을 서버(120)에 요청하고, 수신한다. 미디어 표현 기술에 대해 도 8a, 8b, 9a 내지 9g를 참조하여 상세히 설명한다.
도 8a 및 8b는 본 발명의 일 실시예에 따른 미디어 표현 기술의 스키마를 도시한다. 미디어 표현 기술은 OIPF 표준에 따른 미디어 표현 기술일 수 있다.
도 8a를 참조하면, 본 발명의 일 실시예에 따른 미디어 표현 기술은 복수의 미디어 데이터의 URL에 대한 템플릿(template) 태그, 헤더의 위치를 정의하기 위한 태그, 스트리밍이 어떠한 서비스와 관련되어 있는지 정의하기 위한 태그, 미디어 데이터 콘테이너(container) 포맷을 정의하기 위한 태그 및 복수의 미디어 데이터를 정의하기 위한 태그를 포함한다.
"urlTemplate" 태그는 복수의 미디어 데이터에 대한 URL 정보의 공통 부분을 정의한다. 예를 들어, "http://example.com/vod/movie/18888/Track/{TrackID}/Segments/{SegmentID}"가 URL 템플릿이라면, "TrackID" 및 "SegmentID"에 복수의 미디어 데이터 각각의 식별자 및 각각의 미디어 데이터에 포함된 적어도 하나의 부분의 식별자를 대입함으로써, 미디어 데이터에 대한 URL을 정의할 수 있다.
"headerUrl" 태그는 도 4b와 관련하여 전술한 "RefData" 태그에 대응된다. 다시 말해, 복수의 미디어 데이터의 헤더 URL을 정의한다.
"isLive" 태그는 스트리밍이 어떠한 서비스와 관련되어 있는지 정의하는 태그이다. 예를 들어, "isLive" 태그가 "Live"로 정의되면 스트리밍이 생방송 서비스와 관련되어있음을 나타내고, "isLive" 태그가 "CoD"로 정의되면 스트리밍이 CoD 서비스와 관련되어 있음을 나타낸다.
"contentType" 태그는 스트리밍에 이용되는 미디어 데이터의 콘테이너 포맷을 정의한다. 예를 들어, 미디어 데이터의 콘테이터 포맷이 MP4 포맷인지 MPEG2-TS 포맷인지 나타내기 위한 정보일 수 있다.
"Stream" 태그는 복수의 미디어 데이터 각각에 대해 생성되며 복수의 미디어 데이터 각각을 정의한다. 하나의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터 각각을 정의하기 위해, "streamName" 속성, "type" 속성, "bitrate" 속성, "startTime" 속성, "firstIntervalNum" 속성, "duration" 속성, 및 "intervalCount" 속성을 포함한다.
"streamName" 속성은 미디어 데이터의 명칭을 정의한다. 미디어 데이터의 식별자일 수 있다. "type" 속성은 미디어 데이터의 유형을 정의한다. 미디어 데이터가 오디오 데이터, 비디오 데이터 및 오디오/비디오 데이터 중 어떤 미디어의 데이터인지 정의한다. 미디어 데이터가 변속 재생(trick play)을 위해 I 프레임에 대한 데이터만 포함하는 경우에는 이에 대한 정보가 "type" 속성으로 정의될 수 있다.
"Bitrate" 속성은 미디어 데이터의 비트율을 정의하고, "startTime" 속성은 미디어 데이터의 시작 시간을 특정하는 타임 스탬프를 정의하며, "firstIntervalNum" 속성은 최초 시작되는 부분의 번호를 정의한다.
"duration" 속성은 미디어 데이터에 포함된 부분의 지속 시간을 정의하고, "intervalConunt" 속성은 미디어 데이터에 포함된 적어도 하나의 부분의 전체 개수를 정의한다.
"Segment" 태그는 "Stream" 태그의 하위 태그로서 미디어 데이터가 전술한 바와 같이 콘텐트를 소정의 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분이면, 이러한 적어도 하나의 부분 각각을 정의한다.
"IntNum" 속성은 부분의 번호를 정의하며, "StartTime"은 해당 부분의 시작 시간을 정의한다. "Duration"은 해당 부분의 지속 시간을 정의하며, "url"은 해당 부분의 URL 정보를 정의한다.
"Segment" 태그는 선택적인 태그로서, 미디어 데이터에 포함된 적어도 하나의 부분에 대한 정보가 "Stream" 태그의 다른 속성들로부터 유추될 수 있는 경우에는 미디어 표현 기술에 포함되지 않을 수 있다. 다시 말해, "Stream" 태그에 정의된 "startTime", "firstIntervalNum", "duration" 및 "intervalCount" 속성에 의해서 "Stream" 태그로부터 유추될 수 있는 경우에는 미디어 표현 기술에 포함되지 않을 수 있다. 또한, "urlTemplate" 태그에 소정의 템플릿이 정의되어 있고, 이렇게 정의된 템플릿에 복수의 미디어 데이터 각각의 식별자 및 각각의 미디어 데이터에 포함된 적어도 하나의 부분의 식별자를 대입함으로써 부분들의 URL 정보를 유추할 수 있으면, "Segment" 태그의 "url" 속성은 필요하지 않을 수 있다.
도 8b를 참조하면, 본 발명의 또 다른 실시예에 따른 미디어 표현 기술은 "nextManifestURL" 태그를 더 포함할 수 있다. 전술한 바와 같이 라이브 스트리밍 또는 광고의 삽입과 같이 하나의 콘텐트 스트리밍이 완료되면, 다음 콘텐트가 이어서 스트리밍되는 경우에는 다음에 스트리밍될 콘텐트에 대한 정보를 클라이언트(130)가 미리 알아야, 끊임없이 콘텐트를 스트리밍할 수 있으므로, 현재 스트리밍 중인 콘텐트 다음에 스트리밍될 콘텐트의 미디어 표현 기술의 URL 정보가 "nextManifestURL" 태그에 의해 정의될 수 있다.
도 9a 내지 9h는 본원 발명의 일 실시예에 따른 미디어 표현 기술을 도시한다.
도 9a를 참조하면, 본 발명의 일 실시예에 따른 미디어 표현 기술은 "URLTemplate" 태그 , "RefDataURL" 태그 및 복수의 미디어 데이터 각각을 정의하는 복수의 태그를 포함한다.
"URLTemplate" 태그 및 "RefDataURL" 태그는 각각 도 8a 및 8b의 "urlTemplate" 태그 및 "RefDataURL" 태그에 대응된다.
"ID" 속성, "Type" 속성, "BitRate" 속성, "StartTime" 속성, "SegmentDuration" 속성, "SegmentStartID" 속성 및 "SegmentCount" 속성은 각각 도 8a 및 8b의 "streamName" 속성, "type" 속성, "bitrate" 속성, "startTime" 속성, "Stream" 태그의 "duration" 속성, "Stream" 태그의 "firstIntervalNum" 속성 및 "intervalCount" 속성에 대응된다.
도 9a에 도시된 미디어 표현 기술은 콘텐트를 상이한 품질로 생성된 세 가지의 비디오 데이터, 하나의 오디오 데이터 및 변속 재생을 위해 I 프레임들만 인코딩하여 생성된 미디어 데이터에 대한 정보를 포함한다.
도 9b를 참조하면, 본 발명의 일 실시예에 따른 미디어 표현 기술은 "NextAdaptiveControlURL" 태그를 더 포함한다. "NextAdaptiveControlURL" 태그는 도 8b의 "nextManifestURL" 태그에 대응된다. 따라서, 현재 재생 중인 콘텐트 다음에 이어서 재생할 콘텐트의 미디어 표현 기술의 URL이 "NextAdaptiveControlURL" 태그에 의해 정의될 수 있다.
도 9c는 현재 재생 중인 콘텐트에 이어서 재생할 콘텐트의 미디어 표현 기술의 URL이 도 9b의 "NextAdaptiveControlURL" 태그에 의해 정의되었을 때, 다음에 이어서 재생할 콘텐트의 미디어 표현 기술을 도시한다. 도 9b의 미디어 표현 기술과 비교하면, 도 9c는 다음에 이어서 재생될 콘텐트의 미디어 표현 기술이므로, "StartTime" 속성의 현재 재생 중인 콘텐트의 미디어 표현 기술과 상이하다.
도 9d 및 9e는 사용자의 고화질 비디오 재생을 선택적으로 제어하기 위한 미디어 표현 기술을 도시한다. 하나의 콘텐트를 5가지의 상이한 품질로 인코딩하여 복수의 미디어 데이터가 생성될 수 있고, 도 9d는 이 경우 미디어 표현 기술을 도시한다. 그러나, 도 9e에 도시된 미디어 표현 기술에서 높은 품질로 인코딩된 비디오에 대한 정보를 포함하고 있는 태그 즉, "ID" 속성이 "5"인 미디어 데이터의 "StartTime" 속성 및 "SegmentCount" 속성이 도 9d의 미디어 표현 기술과 상이하다.
서버(120)는 클라이언트(130)의 사용자 등급에 따라 도 9d의 미디어 표현 기술 또는 도 9e의 미디어 표현 기술을 선택적으로 전송할 수 있다. 클라이언트(130)의 사용자 등급이 높은 경우(예를 들어, 클라이언트(130)가 유료 사용자인 경우)에는 도 9d의 미디어 표현 기술을 전송함으로써 높은 품질의 비디오도 자유롭게 재생하게 하고, 클라이언트(130)의 사용자 등급이 낮은 경우(예를 들어, 클라이언트(130)가 무료 사용자인 경우)에는 도 9e의 미디어 표현 기술을 전송함으로써 높은 품질의 비디오는 "StartTime" 속성에 의해 정의된 시간에서부터 "SegmentCount" 속성에 의해 정의된 부분들만 재생할 수 있게 한다.
도 9f는 콘텐트에 광고가 삽입되는 경우의 미디어 표현 기술을 도시한다. 도 9f를 참조하면, 미디어 표현 기술은 "StartTime" 속성이 상이한 광고 콘텐트 및 메인 콘텐트에 대한 정보를 포함할 수 있다. 미디어 표현 기술은 "00:00:00"부터 "00:02:00"까지 재생되는 비트율이 "500000"인 광고 콘텐트에 대한 정보 및 "00:02:00"부터 재생되는 비트율이 "1000000", "2000000", "3000000" 및 "4000000"인 메인 콘텐트에 대한 정보를 포함할 수 있다. 서버(120)가 광고 콘텐트를 하나의 비트율에 의해 인코딩하여 클라이언트(130)에 제공하고, 광고 콘텐트와 "StartTime" 속성을 달리하는 메인 콘텐트는 네가지의 상이한 비트율에 의해 인코딩하여 클라이언트(130)에 제공하는 경우, 도 9f의 미디어 표현 기술이 서버(120)로부터 클라이언트(130)에 전송될 수 있다.
도 9g는 본 발명의 일 실시예에 따른 광고 콘텐트에 대한 정보를 포함하는 미디어 표현 기술을 도시한다. 메인 콘텐트를 제공하는 서버와 광고 콘텐트를 제공하는 서버가 상이할 수 있다. 다시 말해, 클라이언트(130)가 메인 콘텐트는 도 5a의 서버(120)로부터 제공받고, 광고 콘텐트는 도 5a의 서버(120)가 아닌 다른 서버로부터 수신하는 경우, 광고 콘텐트에 대한 정보를 포함하는 미디어 표현 기술은 광고 콘텐트의 URL 정보를 포함할 수 있다. 도 9g에 도시된 바와 같이 하나의 품질로 부호화된 광고 콘텐트의 URL 정보가 미디어 표현 기술에 포함될 수 있다.
도 9h는 본 발명의 일 실시예에 따른 언어 정보 및 자막 정보를 포함하는 미디어 표현 기술을 도시한다. 도 9h를 참조하면, 오디오 데이터는 다중 언어에 대한 정보를 포함할 수 있다. "ID" 속성이 "4" 및 "5"인 다중 언어의 오디오 데이터에 대한 정보가 미디어 표현 기술에 포함될 수 있으며, "ID" 속성이 "6" 및 "7"인 다중 언어의 자막에 대한 정보가 미디어 표현 기술에 포함될 수 있다.
오디오 데이터는 물론 자막도 시간에 따라 복수의 부분으로 분할될 수 있으므로, 스트리밍 도중에 오디오 데이터 및 자막을 상이한 언어의 오디오 데이터 및 자막으로 변경할 수 있다.
다시 도 5a를 참조하면, 단계 530에서 클라이언트(130)는 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 전송할 것을 서버(120)에 요청한다. 클라이언트(130)는 복수의 미디어 데이터에 대한 정보를 참조하여 스트리밍 환경에 적합한 품질로 부호화된 적어도 하나의 미디어 데이터를 선택하여 서버(120)에 요청한다. 클라이언트(130)는 소정의 미디어 데이터를 전송할 것을 요청하는 HTTP 요청을 서버(120)에 전송할 수 있다. 클라이언트(120)의 요청에 따라 서버(120)는 미디어 데이터를 전송한다. 콘텐트를 소정의 품질로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 클라이언트(120)에 전송할 수 있다. HTTP 요청에 대한 HTTP 응답으로서 요청된 미디어 데이터를 클라이언트(120)에 전송할 수 있다.
도 5b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 5b를 참조하면, 단계 512에서 클라이언트(130)는 소정의 콘텐트에 대한 정보를 전송할 것을 서버(120)에 요청하고, 서버(120)로부터 콘텐트에 대한 정보를 전송한다. 소정의 콘텐트에 대한 정보를 전송할 것을 요청하는 HTTP 요청을 서버(120)에 전송하고, 이에 대한 HTTP 응답으로서 콘텐트에 대한 정보를 수신한다. 콘텐트에 대한 정보를 포함하는 XML 파일을 수신할 수 있다.
단계 522에서 클라이언트(130)는 단계 512에서 수신된 콘텐트에 대한 정보에 기초해 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청한다. 미디어 표현 기술을 HTTP 요청을 통해 서버(120)에 요청하고, HTTP 응답으로서 미디어 표현 기술을 수신할 수 있다.
단계 532에서 클라이언트(130)는 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보에 기초해 선택된 미디어 데이터의 헤더를 요청한다. 단계 522에서 수신된 정보에 기초해 복수의 미디어 데이터 중 스트리밍 환경에 적합한 적어도 하나의 미디어 데이터를 선택하고 선택된 미디어 데이터의 헤더를 요청한다. 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보를 참조하여 선택된 미디어 데이터의 헤더를 요청한다. 서버(120)는 요청에 대한 응답으로, 선택된 미디어 데이터의 헤더 파일을 클라이언트(130)에 전송한다.
단계 542에서 클라이언트(130)는 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보 및 단계 222에서 수신된 헤더에 기초해 선택된 미디어 데이터의 전송을 서버(120)에 요청한다. 콘텐트를 소정의 비율로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 전송할 것을 서버(130)에 요청하고, 서버(120)는 요청된 적어도 하나의 부분을 클라이언트(130)에 전송한다.
도 10a 내지 10c는 본 발명의 일 실시예에 따른 복수의 미디어 데이터를 도시한다. 도 10a 내지 10c는 도 5a 및 5b에 따른 스트리밍 방법을 수행하기 위해 서버(120)가 보유하는 복수의 미디어 데이터를 도시한다.
도 10a를 참조하면, 스트리밍 환경에 적응적인 스트리밍을 위해 서버(120)는 하나의 콘텐트를 복수의 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터(1010 내지 1030)를 보유할 수 있다. "Track1", "Track2", ... , "TrackN"이 복수의 미디어 데이터이다. 또한, 각각의 미디어 데이터는 각각의 미디어 데이터를 시간에 기초해 분할하여 생성된 적어도 하나의 부분들을 포함할 수 있다. "Slice1-1.as", "Slice1-2.as", "Slice1-3.as", "Slice2-1.as", "Slice2-2.as", "Slice2-3.as", "SliceN-1.as", "SliceN-2.as", "SliceN-3.as" 등이 적어도 하나의 부분들이다.
또한, 서버(120)는 클라이언트(130)가 복수의 미디어 데이터에 엑세스하기 위해 필요한 정보(1040)를 보유할 수 있다. 콘텐트에 대한 정보로서 "CadMeta.xml" 파일, 복수의 미디어 데이터에 대한 정보로서 "MainMeta.xml" 파일을 보유할 수 있고, 복수의 미디어 데이터의 헤더로서 "Head1.ref", "Head2.ref" 파일 등을 보유할 수 있다. "Head1.ref"는 "Track1"의 헤더 파일일 수 있고, "Head2,ref"는 "Track2"의 헤더 파일 일 수 있다.
"CadMeta.xml"은 OIPF 표준에 따른 CAD 파일일 수 있고, "MainMeta.xml"은 전술한 미디어 표현 기술일 수 있다. 또한, "Head1.ref", "Head2.ref" 파일은 선택적인 요소로서, 헤더가 복수의 미디어 데이터(1010 내지 1030)에 포함되어 있는 경우에는 존재하지 않을 수 있다.
도 10b를 참조하면, 클라이언트(130)가 복수의 미디어 데이터에 엑세스하기 위해 필요한 정보(1042)는 "NextMeta.xml"을 더 포함할 수 있다. 전술한 바와 같이 "NextMeta.xml"은 현재 재생 중인 콘텐트에 이어서 재생될 다음 콘텐트의 미디어 표현 기술일 수 있다. 전술한 바와 같이 현재 재생 중인 미디어 표현 기술 즉, "MainMeta.xml" 파일은 이어서 재생할 콘텐트의 미디어 표현 기술의 URL 정보를 포함하고 있는 바, 이에 기초해 클라이언트(130)는 "NextMeta.xml" 파일에 엑세스 할 수 있다.
도 10c를 참조하면, 복수의 미디어 데이터의 헤더는 하나의 파일(1050)로 존재할 수 있다. 헤더 파일이 복수의 미디어 데이터 각각에 대해 복수로 존재하는 것이 아니라 하나의 헤더 파일(1050)로서 복수의 미디어 데이터에 엑세스하기 위해 필요한 정보(1044)에 포함될 수 있다.
예를 들어, 복수의 미디어 데이터 각각이 MPEG-2에 따른 엘리멘터리 스트림(elementary stream)에 대응될 때, 복수의 미디어 데이터의 헤더는 PAT(Program) 및 PMT(Program Map Table) 중 적어도 하나를 포함하는 하나의 헤더 파일(1050)일 수 있다. PAT 및 PMT 중 적어도 하나를 복수의 미디어 데이터(1010 내지 1030)와 분리하여 하나의 헤더 파일(1050)을 만들고, 미디어 표현 기술은 이 헤더 파일(1050)를 지시(pointing)하는 정보를 포함할 수 있다. 헤더 파일(1050)의 지시 정보는 헤더 파일(1050)의 URL 정보일 수도 있고, MPEG-2 전송 스트림(transport stream)에서 헤더 파일(1050)를 포함하고 있는 패킷을 특정하기 위한 정보일 수도 있다.
전술한 단계 532에서 클라이언트(130)는 미디어 표현 기술을 참조하여 헤더 파일(1050)를 지시 정보를 획득하고, 지시 정보에 기초해 헤더 파일(1050)을 요청할 수 있다. 지시 정보에 헤더 파일(1050)을 수신한 요청하고 수신한 다음, 헤더 파일(1050)에 포함되어 있는 PAT 및 PMT 중 적어도 하나에 기초해 복수의 미디어 데이터 중 적어도 하나를 선택하고, 선택된 미디어 데이터를 서버(120)에 요청한다. PAT 및 PMT는 복수의 미디어 데이터(1010 내지 1030)의 전체 리스트를 포함한다.
MPEG-2에 따르면, PAT 및 PMT에서 정의되는 PID(Packet ID)는 엘리멘터리 스트림에 따라 상이하다. 따라서, 복수의 미디어 데이터 각각에 할당되는 PID는 상이할 수 있다. 그러나, 또 다른 실시예에 따르면, 하나의 콘텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터는 동일한 콘텐트에 대한 엘리멘터리 스트림들이므로, PID가 동일하게 설정될 수도 있다.
복수의 미디어 데이터(1010 내지 1030)가 MPEG-2에 따른 복수의 엘리멘터리 스트림에 대응되는 경우 복수의 미디어 데이터(1010 내지 1030) 각각은 복수의 연속된 PES(Packetized Elementary Stream)을 포함할 수 있다.
복수의 미디어 데이터는 하나의 콘텐트를 상이한 품질로 인코딩하여 생성된 것이므로, 복수의 미디어 데이터 각각에 포함된 PES의 PTS(Presentation Time Stamp) 및/또는 DTS(Decoding Time Stamp)는 미디어 데이터의 재생시간에 따라 정렬(aligned)될 수 있다. 다시 말해, 제1 미디어 데이터의 첫번째 PES와 제2 미디어 데이터의 첫번째 PES가 동일한 시간에 재생되는 콘텐트라면, PTS 및/또는 DTS가 동일하게 설정될 수 있다.
도 11a는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 11a를 참조하면, 단계 1110에서 클라이언트(130)는 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청한다. 미디어 표현 기술을 HTTP 요청을 통해 서버(120)에 요청하고, HTTP 응답으로서 미디어 표현 기술을 수신할 수 있다. 클라이언트(130)는 스트리밍 환경에 적응적인 스트리밍을 수행하기 위해 하나의 콘텐트를 복수의 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청하고, 수신한다. 콘텐트에 대한 정보의 요청 및 수신없이 복수의 미디어 데이터에 대한 정보의 요청 및 수신이 수행된다는 점이 도 5a에 도시된 실시예와 상이하다.
단계 1120에서 클라이언트(130)는 복수의 미디어 데이터 중 적어도 하나의 미디어 데이터를 전송할 것을 서버(120)에 요청한다. 클라이언트(130)는 복수의 미디어 데이터에 대한 정보를 참조하여 스트리밍 환경에 적합한 품질로 부호화된 적어도 하나의 미디어 데이터를 선택하여 서버(120)에 요청하고, 요청된 미디어 데이터를 서버(120)로부터 수신한다.
도 11b는 본 발명의 또 다른 실시예에 따른 스트리밍 방법을 설명하기 위한 흐름도이다.
도 11b를 참조하면, 단계 1112에서 클라이언트(130)는 복수의 미디어 데이터에 대한 정보를 서버(120)에 요청하고, 요청에 대한 응답으로 복수의 미디어 데이터에 대한 정보를 서버(120)로부터 수신한다. 미디어 표현 기술을 HTTP 요청을 통해 서버(120)에 요청하고, HTTP 응답으로서 미디어 표현 기술을 수신할 수 있다.
단계 1122에서 클라이언트(130)는 단계 1112에서 수신된 복수의 미디어 데이터에 대한 정보에 기초해 선택된 미디어 데이터의 헤더를 요청한다. 단계 522에서 수신된 복수의 미디어 데이터에 대한 정보를 참조하여 스트리밍 환경에 따라 선택된 미디어 데이터의 헤더를 요청한다. 서버(120)는 요청에 대한 응답으로, 선택된 미디어 데이터의 헤더를 포함하는 파일을 클라이언트(130)에 전송한다.
단계 1132에서 클라이언트(130)는 단계 1112에서 수신된 복수의 미디어 데이터에 대한 정보 및 단계 1122에서 수신된 헤더에 기초해 선택된 미디어 데이터의 전송을 서버(120)에 요청한다. 콘텐트를 소정의 비율로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분을 전송할 것을 서버(130)에 요청하고, 서버(120)는 요청된 적어도 하나의 부분을 클라이언트(130)에 전송한다.
도 12a 및 12b는 본 발명의 또 다른 실시예에 따른 복수의 미디어 데이터를 도시한다. 도 12a 및 12b는 도 11a 및 11b에 따른 스트리밍 방법을 수행하기 위해 서버(120)가 보유하는 복수의 미디어 데이터를 도시한다.
도 12a를 참조하면, 도 10a에 도시된 실시예와 마찬가지로 스트리밍 환경에 적응적인 스트리밍을 위해 서버(120)는 하나의 콘텐트를 복수의 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터(1010 내지 1030)를 보유할 수 있다.
클라이언트(130)가 복수의 미디어 데이터에 엑세스하기 위해 필요한 정보(1240)만 상이한 바, 도 10a에 도시된 실시예와 달리 서버(120)는 콘텐트에 대한 정보를 제외한 복수의 미디어 데이터에 대한 정보만 포함할 수 있다. 이 경우, 클라이언트(130)는 콘텐트에 대한 정보를 서버(120)가 아닌 다른 엔티티로부터 수신하고, 콘텐트에 대한 정보에 기초해 서버(120)가 보유하고 있는 복수의 미디어 데이터에 엑세스할 수도 있다.
도 12b를 참조하면, 클라이언트(130)가 복수의 미디어 데이터에 엑세스하기 위해 필요한 정보(1242)는 도 12a의 정보(1240)에 "NextMeta.xml"을 더 포함할 수 있다.
도 13은 본 발명의 일 실시예에 따른 데이터 전송 장치(1300)에 관한 블록도를 나타낸다.
본 발명의 일 실시예에 따른 데이터 전송 장치(1300)는 정보파일전송부(1310), 요청수신부(1320) 및 세그먼트전송부(1330)를 포함할 수 있다.
정보파일전송부(1310)는 미디어 데이터에 관한 정보 파일을 생성하고, 이를 데이터수신장치(1400)에 전송한다. 정보 파일은 OIPF 표준에 따른 CAD 또는 MPD일 수 있다. 정보 파일에는 데이터수신장치(1400)가 변경하여 재생할 수 있는 복수 개의 미디어 데이터들에 관한 정보가 모두 포함될 수 있다.
데이터수신장치(1400)가 변경하여 재생할 수 있는 복수 개의 미디어 데이터들은 두 가지로 분류할 수 있다.
첫째, 데이터전송장치(1300)는 도 1 내지 도 12에서 상술한 바와 같이 소정의 컨텐트를 상이한 품질로 인코딩하여 복수 개의 미디어 데이터들을 생성할 수 있다. 일 예로, 하나의 컨텐트를 인코딩 방식을 달리하거나(MPEG2, MPEG4), 인코딩 변수를 달리하여 인코딩함으로써, 내용은 동일하지만 품질이 상이한 복수 개의 미디어 데이터들을 생성할 수 있다.
둘째, 데이터전송장치(1300)는 상이한 컨텐트(단, 상호간에 연관된)를 각각 인코딩하여 복수 개의 미디어 데이터들을 생성할 수 있다. 일 예로, 데이터전송장치(1300)는 좌시점 영상 데이터를 인코딩하여 제 1 미디어 데이터를 생성하고 우시점 영상 데이터를 인코딩하여 제 2 미디어 데이터를 생성하거나, 기본 계층의 영상 데이터를 인코딩하여 제 1 미디어 데이터를 생성하고, 향상 계층의 영상 데이터를 인코딩하여 제 2 미디어 데이터를 생성할 수 있다. 이 경우, 복수 개의 미디어 데이터들은 내용이 상이할 것이다.
데이터수신장치(1400)가 하나의 미디어 데이터를 재생하다가 일군에 속하는 다른 미디어 데이터로 변경하여 재생하고자 하는 경우, 세그먼트 단위로 미디어 데이터를 변경할 수 있다. 세그먼트는 미디어 데이터를 시간을 기준으로 분할한 것으로써 데이터수신장치(1400)는 정보 파일에 포함된 세그먼트들에 관한 정보(예를 들면, 세그먼트를 수신할 주소)를 이용하여 변경하여 재생하고자 하는 미디어 데이터에 대한 세그먼트를 요청할 것이다.
정보 파일에는 세그먼트들 각각에 대한 재생 등급 정보가 포함될 수 있다. 재생 등급은 대응하는 세그먼트를 재생할 수 있는 조건을 나타내는 것으로써, 예를 들면 재생 등급이 세그먼트를 재생할 수 있는 사용자의 연령을 나타낼 수 있다.
종래에는, 서버에서 재생 등급별로 복수 개의 미디어 데이터들을 생성하여 제공하여야 하므로 비경제적이었다. 그러나, 본원 발명의 일 실시예에서는 세그먼트 별로 재생 등급을 설정함으로써 데이터수신장치(1400)가 재생 등급에 따라 적절하게 세그먼트들을 처리할 수 있게 됨으로써 서버에서는 재생 등급별로 복수 개의 미디어 데이터들을 생성할 필요가 없다.
재생 등급 정보에는 소정의 재생 등급을 갖는 구간에 관한 위치 정보와, 해당 구간의 재생 등급이 포함될 수 있다.
구간에 관한 위치 정보는 구간 내의 첫 번째 및 마지막 세그먼트에 관한 식별 정보 또는 구간의 시작 시간 및 구간의 종료 시간을 이용하여 표시될 수 있다. 일 예로, 복수 개의 미디어 데이터들이 얼라인된 경우에는 세그먼트에 관한 식별 정보를 이용하여 구간에 관한 위치 정보를 표시하는 것이 더 편리할 수 있으나, 복수 개의 미디어 데이터들이 얼라인되지 않은 경우에는 구간에 관한 시간 정보를 이용하여 구간에 관한 위치 정보를 표시하는 것이 더 편리할 수 있다.
본 명세서에서는 복수 개의 미디어 데이터들의 구조가 동일한 경우, 복수 개의 미디어 데이터들이 얼라인되었다고 지칭한다. 복수 개의 미디어 데이터들이 얼라인 된 경우, 미디어 데이터들을 구성하는 세그먼트들의 개수, 세그먼트들의 위치 및 식별 번호등이 동일할 것이다. 즉, 제 1 미디어 데이터와 제 2 미디어 데이터가 얼라인 된 경우, 제 1 미디어 데이터내의 10번째 세그먼트가 제 2 미디어 데이터내의 10번째 세그먼트에 대응한다. 따라서, 사용자가 제 1 미디어 데이터내의 9번째 세그먼트를 시청한 후, 일군에 속하는 제 2 미디어 데이터를 시청하고자 하는 경우에는 데이터수신장치(1400)가 제 2 미디어 데이터내의 10번째 세그먼트를 수신하여 재생할 것이다.
따라서, 복수 개의 미디어 데이터들이 얼라인 된 경우에는, 일군의 미디어 데이터들내에서 동일한 식별 정보를 갖는 세그먼트가 동일한 위치에 존재하므로, 구간에 대한 위치를 해당 구간에 포함된 세그먼트들에 관한 식별 정보를 이용하여 전달하는 것이 효과적이다.
그러나, 미디어 데이터들이 얼라인 되지 않은 경우에는, 일군의 미디어 데이터들내에서 동일한 식별 정보를 갖는 세그먼트가 상이한 위치에 존재할 수 있기 때문에, 세그먼트들에 관한 식별 정보를 이용하여 구간에 대한 위치를 전달하는 것이 어렵다. 따라서, 미디어 데이터들이 얼라인 되지 않은 경우에는, 해당 구간의 시작 위치와 종료 위치를 시간 정보(예를 들면, PTS, DTS, global time)등으로 나타내는 것이 편리하다.
구간 내의 첫 번째 세그먼트의 식별 정보를 이용하여 구간의 시작 위치를 나타내거나 구간의 시작 시간 정보를 이용하여 구간의 시작 위치를 나타내는 경우 모두, 구간의 시작은 랜덤 엑세스 포인트인 것이 바람직하다.
등급 정보에는 미디어 데이터내의 모든 구간에 대한 등급 정보가 포함될 수 있으나, 소정의 등급을 갖는 구간에 대한 등급 정보만이 포함될 수 있다. 일 예로, 등급 정보에는 소정 연령 이상의 사용자만이 재생할 수 있는 구간에 대한 정보만이 포함될 수 있다.
등급 정보는 데이터 수신 장치(1400)가 변경하여 재생할 수 있는 복수 개의 미디어 데이터들에 공통적으로 적용될 수도 있으나, 일부 미디어 데이터들에만 적용될 수 있다. 전자의 경우, 등급 정보에는 데이터 수신 장치(1400)가 변경하여 재생할 수 있는 복수 개의 미디어 데이터들이 속하는 그룹의 식별자만이 포함되고, 후자의 경우, 등급 정보에는 해당 등급 정보가 적용될 미디어 데이터에 대한 식별 정보가 포함된다.
일군의 미디어 데이터들이 동일한 컨텐트를 상이한 품질로 인코딩하여 생성된 경우, 제 1 미디어 데이터와 제 2 미디어 데이터가 일군에 속한다면, 제 1 미디어 데이터내의 소정 위치의 데이터와 제 2 미디어 데이터의 소정 위치의 데이터는 동일한 내용에 관한 것이다. 따라서, 제 1 미디어 데이터의 소정 위치의 데이터와 제 2 미디어 데이터의 소정 위치의 데이터는 동일한 재생 등급을 갖는 것이 일반적이며, 이 경우, 등급 정보는 일군의 미디어 데이터들에 대하여 공통적으로 적용될 것이다. 결과적으로, 등급 정보는 등급 정보가 적용될 그룹의 식별자만을 포함하면 족하다.
반면, 일군의 미디어 데이터들이 상이한 컨텐트(그러나, 상호간에 연관된 컨텐트)를 인코딩하여 생성된 경우(예를 들면, 좌시점 영상 데이터와 우시점 영상 데이터를 각각 인코딩하여 복수 개의 미디어 데이터를 생성한 경우), 제 1 미디어 데이터와 제 2 미디어 데이터가 일군에 속한다고 하더라도, 제 1 미디어 데이터내의 소정 위치의 데이터와 제 2 미디어 데이터내의 소정 위치의 데이터는 동일한 내용에 관한 것임이 보장되지 않는다. 따라서, 제 1 미디어 데이터내의 소정 위치에 포함된 세그먼트와 제 2 미디어 데이터내의 소정 위치에 포함된 세그먼트에 상이한 재생 등급이 부여될 수 있다. 따라서, 등급 정보가 등급 정보는 적용될 미디어 데이터에 대한 식별 정보를 포함하는 것이 바람직하다.
등급 정보를 정보 파일내의 어느 태그에 배치할 것인가는 실시예에 따라서 다양할 수 있다. 등급 정보를 정보 파일 내에 배치하는 실시예는 도 15내지 도 19를 통하여 후술한다.
요청수신부(1320)는 데이터수신장치(1400)로부터 세그먼트의 전송을 요청받는다. 데이터수신장치(1400)는 미디어 데이터에 관한 정보 파일에 기초하여, 원하는 세그먼트의 전송을 요청할 것이다.
세그먼트전송부(1330)는 요청에 대응하여, 적어도 하나의 세그먼트를 데이터수신장치(1400)로 전송한다.
도 14는 본 발명의 일 실시예에 따른 데이터수신장치(1400)에 관한 블록도를 나타낸다.
본 발명의 일 실시예에 따른 데이터수신장치(1400)는 정보파일수신부(1410), 요청부(1420) 및 세그먼트수신부(1430)를 포함한다.
정보파일수신부(1410)는 일군에 속하는 복수 개의 미디어 데이터들에 관한 정보 파일을 수신한다. 상술한 바와 같이, 일군에 속하는 복수 개의 미디어 데이터들은 하나의 컨텐트를 상이한 품질로 인코딩하거나, 연관된 복수 개의 컨텐트를 인코딩한 경우와 같이 데이터수신장치(1400)가 변경하여 재생할 수 있는 미디어 데이터들의 집합을 의미한다.
미디어 데이터들에 관한 정보 파일은 미디어 데이터들을 구성하는 세그먼트들 각각에 대한 재생 등급 정보를 포함한다.
요청부(1420)는 미디어 데이터에 관한 정보 파일에 기초하여 원하는 세그먼트를 요청한다. 데이터수신장치(1400)는 수신하고자 하는 세그먼트의 재생 등급을 미리 설정해둘 수 있으며, 요청부(1420)는 설정된 재생 등급을 만족하는 세그먼트만을 요청할 수 있다.
세그먼트수신부(1430)는 데이터전송장치(1300)로부터 데이터수신장치(1400)가 설정한 재생 등급을 만족하는 세그먼트 만을 수신하거나, 모든 세그먼트를 수신한 후 미리 설정된 재생 등급을 만족하지 못하는 세그먼트들을 폐기하거나 재처리한다. 일 예로, 데이터수신장치(1300)는 설정된 재생 등급을 만족하지 못하는 세그먼트를 스킵한 후 미디어 데이터를 재생하거나, 설정된 재생 등급을 만족하지 못하는 세그먼트에는 모자이크를 처리하여 출력할 수 있다.
도 15는 본 발명의 일 실시예에 따른 미디어 데이터에 관한 정보 파일(1500)의 일 예이다.
본 발명의 일 실시예에 따른 정보 파일(1500)은 세그먼트의 재생 등급 정보를 포함한다.
'SegmentAligmnentFlag'태그(1510)는 일군에 속하는 복수 개의 미디어 데이터들이 얼라인 된 상태인지를 나타낸다. 상술한 바와 같이, 복수 개의 미디어 데이터들이 얼라인 상태라는 것은, 복수 개의 미디어 데이터의 구조가 동일함을 의미한다. 'SegmentAligmnentFlag'태그(1510)가 'True' 값을 가지면, 복수 개의 미디어 데이터들이 얼라인 된 상태이며, 'SegmentAligmnentFlag'태그(1510)가 'False' 값을 가지면 복수 개의 미디어 데이터들이 얼라인되지 않은 상태이다. 도 15에서는, 'SegmentAligmnentFlag'태그(1510)가 'True' 값을 가지므로 일군에 속하는 복수 개의 미디어 데이터들은 얼라인 된 상태이다.
'parental control'태그(1520)는 재생 등급 정보가 적용될 미디어 데이터를 나타낸다. 'parental control'태그(1520)는 'group'속성을 가지며, 'group'속성은 재생 등급 정보가 적용될 그룹을 식별하기 위한 정보이다. 도 15에서는, 재생 등급 정보가 'group=1'에 속하는 미디어 데이터들에 공통적으로 적용된다.
'segment_index'태그(1530,1540)는 세그먼트별 재생 등급 정보를 나타낸다. 'segment_index'태그(1530,1540)는 'start'속성, 'end'속성, 'age'속성을 포함한다. 'start'속성은 소정의 등급을 갖는 구간의 시작 위치를 나타내며, 'end'속성은 해당 구간의 종료 위치를 나타내고, 'age'속성은 해당 구간에 관한 재생 등급을 나타낸다. 도 15에서는, 구간의 위치를 구간 내의 첫번째 세그먼트의 식별자와 마지막 세그먼트의 식별자를 이용하여 나타낸다. 따라서, 식별 번호가 '100~112'인 세그먼트들은 19세 이상의 사용자만이 재생할 수 있으며, 식별 번호가 '150~170'인 세그먼트들은 13세 이상의 사용자만이 재생할 수 있음을 알 수 있다.
'Representation'태그를 참고하면, 모든 미디어 데이터들은 200개의 세그먼트로 구성되며, 각각의 세그먼트는 '10'초의 경과 시간을 가짐을 알 수 있다. 즉, 레프리젠테이션들이 얼라인되어 있다.
정보 파일(1500)을 수신한 데이터 수신 장치(1400)는 설정에 따라 세그먼트들을 선별적으로 수신하거나, 수신된 세그먼트들을 재처리한다. 일 예로, 사용자가 13세 이하의 사용자가 재생할 수 있는 세그먼트들만이 재생되도록 설정하였다면, 데이터수신장치(1400)는 식별 번호가 '100~112'인 세그먼트들 및 식별 번호가 '150~170'인 세그먼트들을 수신하지 않거나, 수신한 후 폐기하거나, 13세 이하의 사용자가 재생할 수 있도록 재처리한다.
도 16는 본 발명의 일 실시예에 따른 미디어 데이터에 관한 정보 파일(1600)의 일 예이다.
'SegmentAligmnentFlag'태그(1610)를 참고하면, 도 16에서는 일군에 속하는 복수 개의 미디어 데이터들이 얼라인되지 않은 상태이다. 미디어 데이터들이 얼라인되지 않은 경우에는, 식별 번호를 이용하여 동일한 재생 등급이 부여된 구간을 정의하는 것이 어려울 수 있다. 따라서, 구간의 시작 시간과 종료 시간을 이용하여 구간의 위치를 표시한다.
'Representation'태그를 참고하면, 식별 번호가 '1', '2'인 미디어 데이터는 200개의 세그먼트로 구성되며, 각각의 세그먼트는 '10'초의 경과 시간을 갖는다. 반면, 식별 번호가 '3', '4'인 미디어 데이터는 100개의 세그먼트들로 구성되며, 각각의 세그먼트는 '20초의 경과 시간을 갖는다. 즉, 미디어 데이터들이 얼라인되어 있지 않다.
'segment_index'태그(1630,1640)는 'start'속성, 'end'속성, 'age'속성을 포함한다. 단, 'start'속성, 'end'속성은 구간의 시작 시간과 종료 시간을 이용하여 구간의 위치를 표시한다. 도 16에서는 피리어드내의 첫 번째 세그먼트를 재생하는 시점을 기준으로 재생 시간이 '00:30:00~00:50:00'에 해당하는 데이터는 19세 이상의 사용자만이 재생할 수 있으며, 재생 시간이 '00:50:00~01:10:00'에 해당하는 데이터는 13세 이상의 사용자만이 재생할 수 있다. 도 16에서는, 시,분,초로 표시되는 재생 시간을 이용하여 구간의 위치를 정의하였으나, 다른 실시예에서는 PTS,DTS 등의 재생 시간을 이용할 수도 있다.
도 17는 본 발명의 일 실시예에 따른 미디어 데이터에 관한 정보 파일(1700)의 일 예이다.
도 17에서는, 'parental control'태그(1720,1730)가 'Rep_id'속성 및 'group' 속성을 포함한다. 'Rep_id'속성은 재생 등급 정보가 적용될 미디어 데이터의 식별 정보를 나타내고, 'group' 속성은 재생 등급 정보가 적용될 미디어 데이터가 속한 그룹을 나타낸다. 일군에 속하는 미디어 데이터들이라 하더라도 실시 예에 따라서는(예를 들어, 좌시점 영상 데이터와 우시점 영상 데이터) 재생 등급 정보를 일률적으로 적용하지 못할 수 있다. 따라서, 재생 등급 정보가 적용될 미디어 데이터를 미디어 데이터의 식별 번호를 이용하여 정의한다.
도 17에서, 'Segment_index'태그(1722)는 식별 정보가 '3~5'인 미디어 데이터에 대한 세그먼트 별 재생 등급 정보를 나타내고, 'Segment_index'태그(1732)는 식별 정보가 '1~2'인 미디어 데이터에 대한 세그먼트 별 재생 등급 정보를 나타낸다.
도 18은 본 발명의 일 실시예에 따른 미디어 데이터에 관한 정보 파일(1800)의 다른 예이다.
'URL'태그(1840)는 'sourceURL'속성과 'parentalcontrol'속성을 포함한다. 'sourceURL'속성은 세그먼트의 주소를 나타내고, 'parentalcontrol'속성은 세그먼트의 재생 등급을 나타낸다. 도 18에서, 'seg-1.3gp, seg-2.3gp, seg-3.3gp, seg-4.3gp'는 19세 이상의 사용자만이 재생할 수 있다.
도 19는 본 발명의 일 실시예에 따른 미디어 데이터에 관한 정보 파일(1900)의 또 다른 예이다.
도 19에서는 미디어 데이터의 식별 정보와 그룹 정보를 모두 이용하여 재생 등급이 적용될 구간을 지정한다.
'ParentalControl' 테그를 참고하면, 식별 정보가 '1'인 그룹내에서 식별 정보가 '1'인 미디어 데이터에 대하여 재생 등급 정보가 적용됨을 나타낸다.
도 20은 본 발명의 일 실시예에 따른 데이터전송시스템의 동작에 관한 흐름도른 나타낸다.
단계 s2010에서는, 데이터전송장치(1400)가 일군에 속하는 복수 개의 미디어 데이터들에 관한 정보 파일을 데이터수신장치(1500)에 전송한다. 정보 파일에는 미디어 데이터내의 구간들에 대한 재생 등급 정보를 생성한다.
재생 등급 정보는 동일한 재생 등급을 갖는 구간에 관한 위치를 나타내는 구간 정보와 해당 구간에서의 재생 등급을 포함한다. 재생 등급 정보는 미디어 데이터내의 모든 구간들에 대하여 재생 등급을 표시할 수도 있으나, 임계치 이상의 재생 등급을 갖는 구간들만을 지시할 수도 있다. 구간 정보는 해당 구간내의 첫 번째 세그먼트와 마지막 세그먼트의 번호로 나타내거나, 해당 구간의 시작 시간과 종료 시간으로 나타낼 수 있다.
단계 s2020에서는, 데이터수신장치(1500)가 정보 파일에 기초하여, 사용자가 원하는 세그먼트의 전송을 요청한다. 일 예로, 데이터수신장치(1500)는 미리 설정해 둔 재생 등급 이하의 세그먼트들만을 요청할 수 있다.
단계 s2030에서는, 데이터전송장치(1300)가 적어도 하나의 세그먼트를 데이터수신장치(1400)에 전송한다.
한편, 상술한 본 발명의 실시예들은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다.
상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 살펴보았다. 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 본 발명의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (21)

  1. 복수 개의 세그먼트들로 구성되는 미디어 데이터를 전송하는 방법에 있어서,
    상기 세그먼트들 각각에 대한 재생 등급 정보가 포함된 상기 미디어 데이터에 관한 정보 파일을 클라이언트로 전송하는 단계;
    상기 클라이언트로부터 적어도 하나의 세그먼트에 관한 전송 요청을 수신하는 단계; 및
    상기 요청에 대응하여, 상기 적어도 하나의 세그먼트를 상기 클라이언트에 전송하는 단계를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  2. 제 1항에 있어서,
    상기 미디어 데이터는, 소정의 컨텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터들 중 하나이며,
    상기 정보 파일은, 상기 복수의 미디어 데이터들 각각에 관한 정보를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  3. 제 2항에 있어서, 상기 재생 등급 정보는,
    상기 미디어 데이터내에서 동일한 재생 등급을 갖는 구간에 관한 위치 정보 및 상기 구간에 대한 재생 등급을 포함하는 것을 특징으로 하는 데이터 전송 방법.
  4. 제 3항에 있어서, 상기 재생 등급 정보는,
    상기 미디어 데이터내에서 임계치 이상의 재생 등급을 갖는 구간에 관한 위치 정보만을 포함하는 것을 특징으로 하는 데이터 전송 방법.
  5. 제 3항에 있어서, 상기 위치 정보는,
    상기 구간내의 첫 번째 세그먼트와 마지막 세그먼트에 관한 식별 정보를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  6. 제 3항에 있어서, 상기 위치 정보는,
    상기 구간의 시작 시간과 종료 시간을 나타내는 시간 정보를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  7. 제 3항에 있어서, 상기 구간의 시작은,
    랜덤 엑세스 포인트인 것을 특징으로 하는 데이터 전송 방법.
  8. 제 2항에 있어서, 상기 재생 등급 정보는,
    상기 복수의 미디어 데이터들에 대하여 공통으로 적용되는 것을 특징으로 하는 데이터 전송 방법.
  9. 제 2항에 있어서, 상기 재생 등급 정보는,
    상기 재생 등급 정보가 적용될 미디어 데이터에 관한 식별 정보를 포함하는 것을 특징으로 하는 데이터 전송 방법.
  10. 복수 개의 세그먼트들로 구성되는 미디어 데이터를 수신하는 방법에 있어서,
    상기 세그먼트들 각각에 대한 재생 등급 정보가 포함된 상기 미디어 데이터에 관한 정보 파일을 서버로부터 수신하는 단계;
    상기 정보 파일에 기초하여 상기 세그먼트들 중 적어도 하나의 전송을 상기 서버에 요청하는 단계; 및
    상기 서버로부터, 상기 요청된 적어도 하나의 세그먼트를 수신하는 단계를 포함하는 것을 특징으로 하는 데이터 수신 방법.
  11. 제 10항에 있어서,
    상기 미디어 데이터는, 소정의 컨텐트를 상이한 품질로 인코딩하여 생성된 복수의 미디어 데이터들 중 하나이며,
    상기 정보 파일은, 상기 복수의 미디어 데이터들 각각에 관한 정보를 포함하는 것을 특징으로 하는 데이터 수신 방법.
  12. 제 11항에 있어서, 상기 재생 등급 정보는,
    상기 미디어 데이터내에서 동일한 재생 등급을 갖는 구간에 관한 위치 정보 및 상기 구간에 대한 재생 등급을 포함하는 것을 특징으로 하는 데이터 수신 방법.
  13. 제 12항에 있어서, 상기 재생 등급 정보는,
    상기 미디어 데이터내에서 임계치 이상의 재생 등급을 갖는 구간에 관한 위치 정보만을 포함하는 것을 특징으로 하는 데이터 수신 방법.
  14. 제 12항에 있어서, 상기 위치 정보는,
    상기 구간내의 첫 번째 세그먼트와 마지막 세그먼트에 관한 식별 정보를 포함하는 것을 특징으로 하는 데이터 수신 방법.
  15. 제 12항에 있어서, 상기 위치 정보는,
    상기 구간의 시작 시간과 종료 시간을 나타내는 시간 정보를 포함하는 것을 특징으로 하는 데이터 수신 방법.
  16. 제 12항에 있어서, 상기 구간의 시작은,
    랜덤 엑세스 포인트인 것을 특징으로 하는 데이터 수신 방법.
  17. 제 11항에 있어서, 상기 재생 등급 정보는,
    상기 복수의 미디어 데이터들에 대하여 공통으로 적용되는 것을 특징으로 하는 데이터 수신 방법.
  18. 제 11항에 있어서, 상기 재생 등급 정보는,
    상기 재생 등급 정보가 적용될 미디어 데이터에 관한 식별 정보를 포함하는 것을 특징으로 하는 데이터 수신 방법.
  19. 복수 개의 세그먼트들로 구성되는 미디어 데이터를 전송하는 장치에 있어서,
    상기 세그먼트들 각각에 대한 재생 등급 정보가 포함된 상기 미디어 데이터에 관한 정보 파일을 클라이언트로 전송하는 파일 전송부;
    상기 클라이언트로부터 적어도 하나의 세그먼트에 관한 전송 요청을 수신하는 요청 수신부; 및
    상기 요청에 대응하여, 상기 적어도 하나의 세그먼트를 상기 클라이언트에 전송하는 세그먼트 전송부를 포함하는 것을 특징으로 하는 데이터 전송 장치.
  20. 복수 개의 세그먼트들로 구성되는 미디어 데이터를 수신하는 장치에 있어서,
    상기 세그먼트들 각각에 대한 재생 등급 정보가 포함된 상기 미디어 데이터에 관한 정보 파일을 서버로부터 수신하는 정보 파일 수신부;
    상기 정보 파일에 기초하여 상기 세그먼트들 중 적어도 하나의 전송을 상기 서버에 요청하는 요청부; 및
    상기 서버로부터, 상기 요청된 적어도 하나의 세그먼트를 수신하는 세그먼트 수신부를 포함하는 것을 특징으로 하는 데이터 수신 장치.
  21. 제 1항 내지 제 18항 중 어느 한 항의 방법을 구현하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록 매체.
KR1020110037984A 2011-04-22 2011-04-22 미디어 데이터 전송 방법 및 장치와 미디어 데이터 수신 방법 및 장치 KR20120119790A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020110037984A KR20120119790A (ko) 2011-04-22 2011-04-22 미디어 데이터 전송 방법 및 장치와 미디어 데이터 수신 방법 및 장치
US13/403,653 US20120272281A1 (en) 2011-04-22 2012-02-23 Method and apparatus for transmitting media data, and method and apparatus for receving media data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110037984A KR20120119790A (ko) 2011-04-22 2011-04-22 미디어 데이터 전송 방법 및 장치와 미디어 데이터 수신 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20120119790A true KR20120119790A (ko) 2012-10-31

Family

ID=47022294

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110037984A KR20120119790A (ko) 2011-04-22 2011-04-22 미디어 데이터 전송 방법 및 장치와 미디어 데이터 수신 방법 및 장치

Country Status (2)

Country Link
US (1) US20120272281A1 (ko)
KR (1) KR20120119790A (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014084643A1 (en) * 2012-11-29 2014-06-05 Samsung Electronics Co., Ltd. Method and apparatus for encapsulation of motion picture experts group media transport assets in international organization for standardization base media files

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9179169B2 (en) * 2012-03-14 2015-11-03 Imagine Communications Corp. Adaptive media delivery
US20150172762A1 (en) * 2012-07-10 2015-06-18 Sharp Kabushiki Kaisha Content transmission device, content playback device, content delivery system, control method for content transmission device, control method for content playback device, data structure, control program, and recording medium
CA2878735C (en) * 2012-07-10 2018-08-14 Sharp Kabushiki Kaisha Playback device, playback method, distribution device, distribution method, distribution program, playback program, recording medium, and metadata
US9420217B2 (en) * 2012-08-17 2016-08-16 Microsoft Technology Licensing, Llc Program identifier based recording
US9043825B2 (en) * 2012-08-28 2015-05-26 Microsoft Technology Licensing, Llc Content carried ratings based control
EP2932397B1 (en) * 2013-01-18 2017-08-09 Huawei Technologies Co., Ltd. Method and apparatus for performing adaptive streaming on media contents
EP2979458A4 (en) * 2013-07-25 2016-03-02 Huawei Tech Co Ltd SYSTEM AND METHOD FOR EFFICIENTLY CONTROLLING CLIENT BEHAVIOR IN ADAPTIVE FLOW DIFFUSION
US10061791B2 (en) * 2013-10-30 2018-08-28 Microsoft Technology Licensing, Llc Data management for connected devices
CN104702576B (zh) * 2013-12-09 2018-02-09 腾讯科技(深圳)有限公司 语音传输方法、装置和语音服务***
US9699229B2 (en) * 2014-01-16 2017-07-04 Qualcomm Incorporated Robust live operation of dash
US9549203B2 (en) * 2014-04-28 2017-01-17 Arris Enterprises, Inc. Error recovery for video delivery via a segmentation process
JP6416698B2 (ja) * 2014-05-30 2018-10-31 日本放送協会 送信装置および受信装置、ならびにプログラム
KR101988454B1 (ko) * 2015-02-13 2019-06-12 상하이 지아오통 유니버시티 멀티미디어 컨텐츠 개성화 프레젠테이션의 실현 방법 및 응용
CN106341740B (zh) * 2015-07-09 2019-04-26 上海交通大学 一种多媒体内容分级技术的实现方法
KR101943989B1 (ko) * 2015-06-05 2019-01-30 삼성전자주식회사 데이터를 송수신하는 방법, 서버 및 단말기
KR102473346B1 (ko) * 2015-06-23 2022-12-05 삼성전자주식회사 디지털 방송 서비스 방법 및 장치
CN110225370B (zh) * 2016-01-18 2021-04-02 上海交通大学 一种多媒体内容个性化呈现的时间线控制方法
US10735489B1 (en) * 2016-03-21 2020-08-04 Amazon Technologies, Inc. Mid-stream content delivery network switching
KR20190010661A (ko) * 2016-05-26 2019-01-30 프라운호퍼 게젤샤프트 쭈르 푀르데룽 데어 안겐반텐 포르슝 에. 베. 상호작용을 하는 클라이언트를 위한 파노라마 비디오 브로드캐스트 스트리밍
WO2020048268A1 (zh) * 2018-09-05 2020-03-12 北京开广信息技术有限公司 媒体流的实时递送方法、实时接收方法、服务器及客户端

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6671454B1 (en) * 1998-11-19 2003-12-30 Nec Corporation Program information providing apparatus and record/playback control apparatus
WO2003009588A1 (en) * 2001-07-17 2003-01-30 Yesvideo, Inc. Digital visual recording content indexing and packaging
FI116498B (fi) * 2002-09-23 2005-11-30 Nokia Corp Kaistanleveyden mukauttaminen
US20070050837A1 (en) * 2005-08-25 2007-03-01 Lopez-Estrada Alex A Method, apparatus and system for generating and distributing rich digital bookmarks for digital content navigation
US7669128B2 (en) * 2006-03-20 2010-02-23 Intension, Inc. Methods of enhancing media content narrative
WO2012030734A1 (en) * 2010-08-30 2012-03-08 Mobitv, Inc. User and device authentication for media services
US20120102184A1 (en) * 2010-10-20 2012-04-26 Sony Corporation Apparatus and method for adaptive streaming of content with user-initiated quality adjustments

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014084643A1 (en) * 2012-11-29 2014-06-05 Samsung Electronics Co., Ltd. Method and apparatus for encapsulation of motion picture experts group media transport assets in international organization for standardization base media files
US11290510B2 (en) 2012-11-29 2022-03-29 Samsung Electronics Co., Ltd. Method and apparatus for encapsulation of motion picture experts group media transport assets in international organization for standardization base media files
US11716370B2 (en) 2012-11-29 2023-08-01 Samsung Electronics Co., Ltd. Method and apparatus for encapsulation of Motion Picture Experts Group Media Transport assets in International Organization for Standardization Base Media Files

Also Published As

Publication number Publication date
US20120272281A1 (en) 2012-10-25

Similar Documents

Publication Publication Date Title
KR101750049B1 (ko) 적응적인 스트리밍 방법 및 장치
KR101786050B1 (ko) 데이터 전송 방법 및 장치
KR101737084B1 (ko) 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치
KR101837687B1 (ko) 콘텐트의 품질을 결정하는 복수의 인자에 기초한 적응적인 스트리밍 방법 및 장치
JP6177843B2 (ja) 部分化を利用した適応的なストリーミング方法及びその装置
KR20120119790A (ko) 미디어 데이터 전송 방법 및 장치와 미디어 데이터 수신 방법 및 장치
KR101777348B1 (ko) 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
KR101786051B1 (ko) 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치
US9197689B2 (en) Method and apparatus for adaptively streaming content including plurality of chapters
CN103222277B (zh) 基于用于确定内容质量的多个元素的自适应流传输的方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E601 Decision to refuse application