KR20120083744A - 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법 - Google Patents

멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법 Download PDF

Info

Publication number
KR20120083744A
KR20120083744A KR1020110005054A KR20110005054A KR20120083744A KR 20120083744 A KR20120083744 A KR 20120083744A KR 1020110005054 A KR1020110005054 A KR 1020110005054A KR 20110005054 A KR20110005054 A KR 20110005054A KR 20120083744 A KR20120083744 A KR 20120083744A
Authority
KR
South Korea
Prior art keywords
box
file
media
segment
segments
Prior art date
Application number
KR1020110005054A
Other languages
English (en)
Other versions
KR101739272B1 (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
Priority to KR1020110005054A priority Critical patent/KR101739272B1/ko
Application filed by 삼성전자주식회사, 서울시립대학교 산학협력단 filed Critical 삼성전자주식회사
Priority to CN201280005690.9A priority patent/CN103314579B/zh
Priority to EP12736338.0A priority patent/EP2666288B1/en
Priority to US13/352,932 priority patent/US9635076B2/en
Priority to AU2012207773A priority patent/AU2012207773B2/en
Priority to PCT/KR2012/000449 priority patent/WO2012099400A2/en
Priority to JP2013550401A priority patent/JP6088439B2/ja
Publication of KR20120083744A publication Critical patent/KR20120083744A/ko
Priority to US15/494,978 priority patent/US10148715B2/en
Application granted granted Critical
Publication of KR101739272B1 publication Critical patent/KR101739272B1/ko
Priority to US16/201,517 priority patent/US10498785B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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
    • 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/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal

Landscapes

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

Abstract

본 발명은 멀티미디어 스트리밍 시스템에서 스트리밍되는 컨텐트를 저장 및 재생하기 위한 것으로서, 세그먼트 파일 생성 방법은, 표현 그룹(representation group)에 속한 모든 표현들에 대한 샘플 서술 정보(sample description) 엔트리들을 포함하는 제1박스를 포함하는 적어도 하나의 초기화 세그먼트(IS : Initialization Segment) 파일을 생성하는 과정과, 상기 제1박스에 포함된 샘플 서술 정보 엔트리들 중 하나를 지정하는 인덱스를 포함하는 적어도 하나의 제2박스 및 미디어 데이터를 포함하는 적어도 하나의 제3박스를 포함하는 미디어 세그먼트(MS : Media Segment) 파일들을 표현(representation) 별로 생성하는 과정을 포함한다.

Description

멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법{APPARATUS AND METHOD FOR STORING AND PLAYING CONTENTS IN MULTIMEDIA STREAMING SYSTEM}
본 발명은 멀티미디어 스트리밍 시스템에 관한 것으로, 특히, 멀티미디어 스트리밍 시스템에서 스트리밍되는 컨텐트를 저장 및 재생하기 위한 장치 및 방법에 관한 것이다.
최근 온라인을 통한 오디오, 비디오 등의 컨텐트(contents)의 이용 증가로 인하여, 통신 시스템 상에서 컨텐트를 원활하기 전송하는 기술의 중요성이 대두되고 있다. 이에, 가용한 전송 대역폭이나 사용자의 기기 성능의 변화에 따라 컨텐트의 비트레이트(bit rate)가 부드럽게 바뀌어 전송되는 적응형 스트리밍(Adaptive Streaming) 기술이 화두되고 있다.
여러 표준 단체에서 논의되고 있는 DASH(Dynamic Adaptive Streaming over HTTP)라 명칭되는 적응형 스트리밍 기술이 있다. 상기 DASH는 ISO(International Organization for Standardization) 기본 미디어 파일 포맷(ISO Base Media File Format) 또는 이를 기반으로 표준화된 여러 가지 파일 포맷으로 작성된 멀티미디어 컨텐트(content) 또는 MPEG-2(Moving Picture Experts Group) TS(Transport Stream)로 작성된 멀티미디어 컨텐트를 여러 조각 파일들, 즉, 세그먼트(segment)들로 나누어 HTTP 서버에 저장하고, 클라이언트(client)들로 하여금 HTTP를 사용하여 세그먼트들을 순차적으로 다운로드하여 멀티미디어 컨텐트 스트리밍 서비스를 제공받도록 하는 기술이다.
상기 DASH 기술 기반으로 스트리밍되는 컨텐트는 ISO 기본 미디어 파일 포맷에 따른다. 따라서, 스트리밍되는 컨텐트를 저장하고, 추후 해당 수신 기기 또는 ISO 포맷을 지원하는 다른 기기에서 저장된 컨텐트를 재생하는 서비스가 고려될 수 있다. 하지만, 세그먼트 단위로 스트리밍되는 컨텐트의 구조는 통신 망을 통한 전송을 고려하여 구성되므로, 스트리밍되는 세그먼트들을 그대로 저장하면 원활이 재생되지 못하는 경우가 있을 수 있다. 특히, 스트리밍 서비스를 지원하지 않는 통상의 재생 기기에 있어서, 저장된 컨텐트가 원활이 재생되지 못하는 경우가 있을 수 있다. 따라서, DASH 기반의 스트리밍 서비스를 위한 세그먼트 파일들을 생성하는데 있어서, 저장 및 재생이 가능한 형태를 가지도록 하기 위한 대안이 제시되어야 한다.
따라서, 본 발명의 목적은 멀티미디어 스트리밍 시스템에서 스트리밍되는 컨텐트를 저장 및 재생하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 다른 목적은 멀티미디어 스트리밍 시스템에서 DASH 세그먼트(segment)들을 순서대로 연접(concatenate)하여 타 기기에서 재생 가능한 컨텐트 파일을 생성하기 위한 장치 및 방법을 제공함에 있다.
본 발명의 또 다른 목적은 멀티미디어 스트리밍 시스템에서 전송되는 세그먼트들을 연접하여 기존 파일 재생 기기가 재생할 수 있는 미디어 파일을 생성할 수 있는지 여부를 알리기 위한 장치 및 방법을 제공함에 있다.
상기 목적을 달성하기 위한 본 발명의 제1견지에 따르면, 멀티미디어 스트리밍 시스템에서 세그먼트 파일 생성 방법은, 표현 그룹(representation group)에 속한 모든 표현들에 대한 샘플 서술 정보(sample description) 엔트리들을 포함하는 제1박스를 포함하는 적어도 하나의 초기화 세그먼트(IS : Initialization Segment) 파일을 생성하는 과정과, 상기 제1박스에 포함된 샘플 서술 정보 엔트리들 중 하나를 지정하는 인덱스를 포함하는 적어도 하나의 제2박스 및 미디어 데이터를 포함하는 적어도 하나의 제3박스를 포함하는 미디어 세그먼트(MS : Media Segment) 파일들을 표현(representation) 별로 생성하는 과정을 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 제2견지에 따르면, 멀티미디어 스트리밍 시스템에서 서버의 동작 방법은, MPD 파일의 전송을 요청받는 과정과, 전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 나타내는 호환성 플래그를 포함하는 MPD 파일을 송신하는 과정을 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 제3견지에 따르면, 멀티미디어 스트리밍 시스템에서 클라이언트의 동작 방법은, 전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 나타내는 호환성 플래그를 포함하는 MPD 파일을 수신하는 과정과, 상기 호환성 플래그를 통해 상기 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 판단하는 과정을 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 제4견지에 따르면, 멀티미디어 스트리밍 시스템에서 세그먼트 파일 생성 장치는, 표현 그룹(representation group)에 속한 모든 표현들에 대한 샘플 서술 정보(sample description) 엔트리들을 포함하는 제1박스를 포함하는 적어도 하나의 초기화 세그먼트(IS : Initialization Segment) 파일을 생성하는 제1생성부와, 상기 제1박스에 포함된 샘플 서술 정보 엔트리들 중 하나를 지정하는 인덱스를 포함하는 적어도 하나의 제2박스 및 미디어 데이터를 포함하는 적어도 하나의 제3박스를 포함하는 미디어 세그먼트(MS : Media Segment) 파일들을 표현(representation) 별로 생성하는 제2생성부를 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 제5견지에 따르면, 멀티미디어 스트리밍 시스템에서 서버 장치는, MPD 파일의 전송을 요청을 수신하는 통신부와, 전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 나타내는 호환성 플래그를 포함하는 MPD 파일을 송신하도록 제어하는 제어부를 포함하는 것을 특징으로 한다.
상기 목적을 달성하기 위한 본 발명의 제6견지에 따르면, 멀티미디어 스트리밍 시스템에서 클라이언트 장치는, 전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 나타내는 호환성 플래그를 포함하는 MPD 파일을 수신하는 통신부와, 상기 호환성 플래그를 통해 상기 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 판단하는 제어부를 포함하는 것을 특징으로 한다.
멀티미디어 스트리밍 시스템에서 호환성 플래그를 통해 하나의 피리어드(Period) 동안의 세그먼트들을 어떠한 수정도 없이 연접하였을 때 기존 파일 재생 기기가 재생할 수 있는지 여부를 알리고, 세그먼트들을 생성 시 수정 없이 연접하여 기존 파일 재생 기기가 재생할 수 있도록 상기 세그먼트들을 구성함으로써, 사용자는 원하는 시간에 또는 기존 파일 재생 기기를 이용하여 컨텐트를 편리하게 이용할 수 있다.
도 1은 멀티미디어 스트리밍 시스템에서 컨텐트 구조를 도시하는 도면,
도 2는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 세그먼트 생성자의 동작 절차를 도시하는 도면,
도 3은 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 DASH 서버의 동작 절차를 도시하는 도면,
도 4a 및 도 4b는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 DASH 클라이언트의 동작 절차를 도시하는 도면,
도 5는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 세그먼트 생성자의 블록 구성을 도시하는 도면,
도 6은 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 DASH 서버의 블록 구성을 도시하는 도면.
도 7은 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 DASH 클라이언트의 블록 구성을 도시하는 도면,
도 8은 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 수신 스트림의 예를 도시하는 도면,
도 9a 및 도 9b는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 수신 스트림 및 연접된 미디어 파일의 예를 도시하는 도면,
도 10a 및 도 10b는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 수신 스트림 및 연접된 미디어 파일의 다른 예를 도시하는 도면,
도 11a 및 도 11b는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 수신 스트림 및 연접된 미디어 파일의 또 다른 예를 도시하는 도면.
이하 본 발명의 바람직한 실시 예를 첨부된 도면의 참조와 함께 상세히 설명한다. 그리고, 본 발명을 설명함에 있어서, 관련된 공지기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단된 경우, 그 상세한 설명은 생략한다.
이하 본 발명은 멀티미디어 스트리밍 시스템에서 스트리밍되는 컨텐트를 저장 및 재생하기 위한 기술을 설명한다. 이하 설명의 편의를 위하여, 본 발명은 ISO 규격 및 DASH 규격에서 정의하고 있는 용어 및 명칭들을 사용한다. 하지만, 본 발명이 상기 용어 및 명칭들에 의해 한정되는 것은 아니며, 다른 규격의 시스템에도 동일하게 적용될 수 있다.
이하 설명에서, 본 발명은 스트리밍을 위한 세그먼트 파일들을 생성하는 주체를 '세그먼트 생성자', 통신 망을 통해 세그먼트를 제공하는 주체를 'DASH 서버', 스트리밍되는 세그먼트들을 통신 망을 통해 수신하고, 수신되는 세그먼트들을 연접하여 미디어 파일을 생성하는 주체를 'DASH 클라이언트', 상기 세그먼트들을 연접하여 생성된 미디어 파일을 재생하는 외부 기기를 '미디어 재생 기기'라 칭한다. 여기서, 상기 미디어 재생 기기는 DASH 클라이언트 기능을 가지지 아니함을 전제한다.
이하 설명에서, '박스'는 미디어 파일을 구성하는 단위를 의미한다. 이하 사용될 각 박스의 의미를 미리 정의하면 하기 <표 1>과 같다.

박스 명칭

설명
moov (movie) 표현(representation)의 메타 데이터 포함
트랙박스를 포함하는 컨테이너 박스.
moof (movie fragment) mdat 박스에 대한 메타 데이터 포함.
ftyp (file type) 미디어 파일의 브랜드 정보 포함.
mdat (media data container) 해당 미디어 구성 요소(비디오, 오디오 등)에 대한 실제 미디어 데이터 포함.
styp (segment type) 전송되는 세그먼트에 대한 정보 포함.
stsd (sample description) 해당 미디어 구성 요소에 대한 샘플 서술 정보 포함.
tfhd (track fragment header) 트랙 프래그먼트에 대한 메타 데이터 포함.
본 발명의 이해를 위해, DASH 기반의 스트리밍 서비스에 대해 설명하면 다음과 같다.
DASH에 따라 스트리밍 서비스를 제공받고자하는 DASH 클라이언트는 미디어를 포함하는 세그먼트를 다운로드하기에 앞서, 먼저 MPD(Media Presentation Description)라 불리는 제어 정보 세그먼트를 다운로드한다. 상기 MPD는 다운로드할 세그먼트들의 URL(Uniform Resource Locator) 뿐만 아니라, 상기 세그먼트들을 어떤 순서로 다운로드 받으면 유효한 컨텐트 프레젠테이션(presentation)을 구성할 수 있는지에 대한 정보, 망 상태에 따라 다운로드를 적응적으로 제어하기 위해 필요한 제어 정보 등을 포함한다.
도 1은 멀티미디어 스트리밍 시스템에서 컨텐트 구조를 도시하고 있다. 상기 도 1을 참고하면, DASH 서버에 저장된 ISO 기본 미디어 파일 포맷에 따르는 컨텐트는 논리적으로 시간 축을 분할하여 각 시 구간에 대응되는 여러 피리어드(period)들(110)로 분할될 수 있고, 상기 피리어드들(110) 각각은 초기화 세그먼트(IS : Initialization Segment) 및 미디어 세그먼트(MS : Media Segment)들로 구성된다. 상기 초기화 세그먼트는 미디어 데이터에 대한 메타데이터(meta data)를 포함한다. 상기 미디어 데이터는 미디어 구성 요소(media component), 예를 들어, 오디오, 비디오 등으로 구분될 수 있으며, 상기 초기화 세그먼트는 각 미디어 구성 요소 별 트랙(track) 박스 내에 각 미디어 구성 요소에 대한 메타데이터를 포함한다. 상기 메타데이터는 실제 미디어 데이터의 길이와 무관한 정보들만을 포함한다. 다시 말해, 상기 메타데이터는 오디오, 비디오 등과 같은 각 미디어 구성 요소(media component)의 복호 방법 등을 포함하나, 컨텐트의 길이를 알아야만 기재할 수 있는 정보들을 포함하지 아니한다.
각 피리어드는 하나의 초기화 세그먼트 및 망 상황에 적응적으로 스트리밍을 제어할 수 있도록 서로 대체 가능한 다수의 표현(representation)들(120)로 구성될 수 있다. 상기 대체 가능한 다수의 표현들(120)은 동일한 표현 그룹(representation group)(130)에 속한다. 상기 표현들(120) 각각은 하나의 초기화 세그먼트 및 다수의 미디어 세그먼트들을 포함할 수 있다. 따라서, DASH 클라이언트는 동일 표현 그룹(130)에 속하는 표현들 중 하나만 선택하여 미디어 세그먼트 파일들을 다운로드할 수 있다. 만일, 동일 표현 그룹(130)내의 표현들(120)이 스위치(switch) 가능한 형태로 구성되어 있는 경우, 상기 DASH 클라이언트는 동일 표현 그룹(130)에 속하는 제1표현(120-1)으로부터 하나의 미디어 세그먼트를 다운로드하고, 다음 순서의 미디어 세그먼트를 제N표현(120-N)으로부터 다운로드하여 프레젠테이션할 수 있다. 하나의 미디어 세그먼트 파일은 적어도 하나의 미디어 구성 요소 데이터를 포함할 수 있다. 예를 들어, 특정 표현은 오디오만 포함할 수 있는데, 이 경우 상기 표현에 속하는 미디어 세그먼트는 오디오만을 포함한다. 반면, 특정 표현에 오디오 및 비디오가 포함되면, 상기 표현에 속하는 미디어 세그먼트는 오디오와 비디오를 모두 포함한다.
하나의 초기화 세그먼트은 ISO 기본 미디어 파일 포맷에서 정의하는 moov 박스(142), ftyp 박스(144) 등을 포함한다. 상기 DASH 규격에 따르면, 상기 초기화 세그먼트 내의 ftyp 박스의 'major brand' 필드의 값은 "dash"로 기재된다. 하나의 미디어 세그먼트 파일은 하나 또는 둘 이상의 미디어 구성 요소 데이터를 포함할 수 있다. 그리고, 하나의 미디어 세그먼트 파일은 다수의 프래그먼트(fragment)들(150)을 포함할 수 있다. 하나의 프래그먼트(150-1)는 moof 박스(162) 및 mdat 박스(164)를 포함할 수 있다. 상기 moof 박스(164)는 하나의 미디어 구성 요소에 대한 메타데이터를 포함한다. 상기 메타데이터는 실제 미디어 데이터가 들어 있는 상기 mdat 박스(164) 내에 포함된 각 미디어 데이터 덩어리(chunk)의 위치를 지시한다. 상기 mdat 박스(164)는 하나의 미디어 구성 요소에 대한 실제 미디어 데이터를 포함한다. 상기 미디어 데이터는 샘플(sample) 단위로 포함될 수 있다. 여기서, 비디오의 경우, 샘플은 한 프레임을 압축한 데이터를 의미한다. 만일, 하나의 표현(120-N)에 다수의 미디어 구성 요소들이 포함된 경우, 상기 표현(120-N)에 속한 미디어 세그먼트에 포함되는 프래그먼트들(150) 중 일부는 비디오 데이터, 일부는 오디오 데이터를 포함할 수 있다. 즉, 하나의 moof 박스(162) 및 하나의 mdat(164) 박스는 하나의 미디어 구성 요소만을 포함하므로, 하나의 미디어 세그먼트 내에서 각 미디어 구성 요소는 프래그먼트 단위로 구분될 수 있다.
본 발명에 따라 DASH 세그먼트들을 연접하여 재생 가능한 미디어 파일로 저장하기 위해, 다음과 같은 절차들이 요구된다.
첫째, 기존 파일의 브랜드 값이 유지되어야 한다.
ISO 기본 미디어 파일 포맷 또는 이를 기반으로 표준화된 파일 포맷에 부합하는 파일(예 : MP4, AVC1 등)은 ftyp 박스를 포함한다. 상기 ftyp 박스는 'major_brand' 필드, 'minor_version' 필드, 'combatible_brand' 필드를 포함하며, 이 중 상기 'major_brand' 필드는 값을 가져야한다. 반면, DASH 세그먼트 파일의 초기화 세그먼트 내의 ftyp 박스의 경우, 상기 'major_brand'의 값은 "dash"로 설정된다. 상기 "dash" 브랜드는 ISO 기본 미디어 파일 포맷에 부합하는 dash 프로파일(profile)을 따른다고 규정되어 있다. 하지만, 기존 ISO 기본 미디어 파일 포맷에 부합하는 파일 재생 기기는 상기 dash 프로파일을 해석할 수 없다. 따라서, 타 파일 재생 기기가 저장된 DASH 세그먼트로 구성된 미디어 파일을 재생할 수 있도록, 기존 파일 재생 기기가 해석할 수 있는 브랜드명이 상기 ftyp 박스 내의 'compatible_brand'에 포함되어야 한다.
ISO 기본 미디어 파일 포맷을 기반으로 새롭게 정의된 파일 포맷, 예를 들어, DMB AF와 같이 MPEG-A에 해당하는 표준 파일 포맷들에 부합하는 컨텐트 파일을 DASH 세그먼트의 형태로 전송하는 경우, DASH 서버는 원재료에 해당하는 미디어 파일의 ftyp 박스 내의 'major_brand' 필드에 기재된 브랜드를 'compatible_brand' 필드 내에 기재하고, 'major_brand' 필드에 "dash"를 기재할 수 있다. 이에 따라, DASH 클라이언트가 초기화 세그먼트 및 미디어 세그먼트들을 연접하여 미디어 파일을 생성하였을 때, 미디어 재생 기기는 "dash"를 주 브랜드(major brand)로 인식하고, 원재료 미디어 파일의 주 브랜드를 호환 브랜드(compatible brand)들 중 하나로 인식하게 된다. 또한, 미디어 재생 기기는 "dash" 브랜드를 인지하지 못하므로, 상기 미디어 파일의 주 브랜드를 알 수 없는 브랜드로 판단한다. 이에 따라, 상기 미디어 재생 기기는 호환 브랜드 중 자신이 해석할 수 있는 가장 복잡한 브랜드를 선택하여 상기 미디어 파일을 재생한다. 하지만, 재생은 수행되더라도 원재료 미디어 파일의 주 브랜드가 유지되지 못하므로, 파일 관리상에 문제가 발생할 수 있다. 다시 말해, 주 브랜드에 부합하는 유효한 파일임에도 불구하고 이를 나타낼 방법이 없으므로, 파일 관리상에 문제가 발생할 수 있다.
DASH 규격은 styp 박스를 정의하고 있으며, 미디어 세그먼트(MS : Media Segment) 첫 부분에 상기 styp 박스를 선택적으로 포함시킬 수 있도록 정의한다. 상기 styp 박스는 DASH 미디어 세그먼트의 브랜드를 알려주는 박스이다. 미디어 재생 기기는 자신이 인식하지 못하는 박스를 무시하므로, 상기 styp 박스를 포함한 상태로 미디어 세그먼트들을 연접하더라도 미디어 재생 기기가 재생할 수 있는 유효한 미디어 파일이 생성될 수 있다.
원재료 미디어 파일의 주 브랜드가 세그먼트 연접을 통해 생성된 미디어 파일에서도 정확히 유지되도록, 본 발명은 초기화 세그먼트 첫 부분에 상기 styp 박스를 포함시킨다. 즉, 세그먼트 생성자는 상기 초기화 세그먼트의 첫 부분에 포함된 styp 박스 내에 "dash" 브랜드를 기재하고, ftyp 박스 내의 필드들을 원재료 미디어 파일의 내용대로 변경 없이 설정한다. 이를 통해, DASH 클라이언트에서 초기화 세그먼트 및 미디어 세그먼트들을 아무런 수정 없이 순서대로 연접하더라도, 미디어 재생 기기는 해당 미디어 파일을 통해 주 브랜드를 비롯한 정보를 정확히 획득할 수 있다. 상기 미디어 재생 기기는 초기화 세그먼트의 첫 부분에 포함된 styp 박스 및 미디어 세그먼트의 첫 부분에 포함된 styp 박스를 모두 무시한다.
둘째, 초기화 세그먼트 및 미디어 세그먼트는 다음과 같은 조건에 따라 생성된다.
하나의 피리어드 동안 수신된 초기화 세그먼트 및 미디어 세그먼트들을 연접하여 기존 파일 재생 기기에서 재생 가능한 미디어 파일을 생성하기 위해서, 세그먼트 생성자는 초기화 세그먼트 및 미디어 세그먼트를 생성할 때 몇몇 조건들을 만족하여야 한다. DASH 클라이언트는 망 상태에 따라 전송률을 변화시키기 위해 동일한 표현 그룹에 속하는 서로 다른 표현들로 스위치(switch)하며 미디어 세그먼트들을 다운로드하므로, 상기 조건들은 이를 고려하여 정의되어야 한다. 조건들은 다음과 같다.
(1) 동일한 피리어드에 속한 모든 미디어 구성 요소에 대한 트랙(track) 정보를 초기화 세그먼트에 포함된 moov 박스에 포함시킨다. 즉, 하나의 피리어드는 상기 피리어드에 속한 모든 표현들에 대한 하나의 공통된 초기화 세그먼트를 포함할 수 있다. 예를 들어, 상기 트랙 정보는 트랙의 종류(예 : 오디오, 비디오), 트랙 번호, 사용된 코덱, 샘플 개수, 각 샘플의 프레젠테이션 시간 등의 정보를 포함할 수 있다.
(2) 모든 트랙은 유일무이한 트랙 식별 정보(track_ID)를 갖는다. 즉, 서로 다른 미디어 구성 요소들 간 동일한 트랙 식별 정보를 가지지 아니한다.
(3) 동일한 표현 그룹에 속하는 모든 표현들의 미디어 세그먼트 내의 moof 박스에 기재되는 트랙 식별 정보(track_ID)는 상기 표현들에 대응되는 초기화 세그먼트의 moov 박스에 포함된 해당 미디어 구성 요소 트랙의 트랙 식별 정보와 같은 값을 갖는다. 예를 들어, 상기 moof 박스에 기재된 오디오 트랙의 트랙 식별 정보는 상기 moov 박스에 포함된 오디오 트랙의 트랙 식별 정보와 동일하다.
(5) 동일한 표현 그룹 내의 서로 다른 표현들에 대한 샘플 서술 정보(sample description)는 moov 박스에 포함된 해당 미디어 구성 요소의 stsd 박스에 포함된다. 즉, 각 표현들에 대한 샘플 서술 정보 엔트리들은 초기화 세그먼트 내의 stsd 박스에 모두 포함된다. 예를 들어, 오디오 트랙을 포함하는 표현들의 개수가 N개일 때, 상기 N개의 표현들에 대한 샘플 서술 정보는 모두 상기 moov 박스에 포함된 오디오 트랙의 stsd 박스에 포함된다. 즉, 상기 stsd 박스는 N개의 샘플 서술 정보 엔트리들을 포함한다.
(6) 미디어 세그먼트 내의 모든 트랙 프래그먼트(track fragment)의 tfhd 박스 내의 샘플 서술 정보 인덱스(sample_description_index)는 상기 stsd 박스의 샘플 서술 정보 엔트리들 중 해당 표현에 해당하는 하나를 지정한다.
(7) moof 박스에 포함된 미디어 데이터 주소는 절대 주소(absolute address)가 아닌 상대 주소(relative address)의 형식을 가진다. 즉, mdat 박스에 포함된 미디어 데이터의 위치를 지정하기 위한 주소는 상대 주소이다. 예를 들어, 상기 상대 주소는 moof 박스의 위치를 기준으로 하는 바이트 오프셋(byte offset)일 수 있다.
(6) 초기화 세그먼트의 첫 부분은 styp 박스를 포함하고, styp 박스 내에 "dash" 브랜드가 표시된다. 추가적으로, 상기 "dash" 브랜드를 표시하기 위해 미디어 세그먼트의 첫 부분에도 styp 박스가 포함될 수 있다.
셋째, MPD를 통해 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있음을 알린다.
DASH 서버는 MPD 내의 피리어드 레벨에 특정 플래그를 추가하여 전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있음을 알린다. 상기 플래그는 'LegacyPlayerCompatibleFlag'로 지칭될 수 있다. 이하 본 발명은 상기 플래그를 '호환성 플래그'라 칭한다. 상기 호환성 플래그가 '1'로 설정되면, 이는 해당 피리어드 동안 전송되는 세그먼트들을 연접하여 생성된 미디어 파일은 미디어 파일 재생 기기에서 재생 가능함을 의미한다. 상기 호환성 플래그가 '1'로 설정되는 경우는, 'bitstreamSwitchingFlag' 및 'segmentAlignmentFlag'가 모두 1로 설정된 경우일 수 있다.
상술한 바와 같이, 하나의 피리어드에 속한 단일 표현의 초기화 세그먼트 및 모든 연속되는 미디어 세그먼트들의 연결(concatenation)은 내용적(semantically)으로 올바르고, 형식적으로(syntactically) 유효한 비트 스트림이된다. 예를 들어, 연결 결과를 재생하면, 해당 피리어드 동안의 미디어 컨텐트가 올바로 표시된다. 'bitstreamSwitchingFlag' 플래그가 'true'로 설정된 때, 동일한 컨스트레인트(constraint)에 따르는 연속된 세그먼트들은 해당 피리어드에 속한 도잉ㄹ 그룹 내의 어떠한 표현으로부터도 선택될 수 있다. 그리고, 기존 미디어 파일 재생 기기가 초기화 세그먼트를 포함하는 서로 다른 표현으로부터의 모든 세그먼트를 단순히 연결한 것을 재생할 수 있다면, 해당 피리어드에 속한 미디어 컨텐트를 올바르게 재생할 수 있다. (The concatenation of an Initialisation Segment, if present, with all consecutive Media Segments of a single Representation within a Period, starting with the first Media Segment, results in a syntactically valid bitstream (according to the specific bitstream format) that is also semantically correct (i.e. if the concatenation is played, the media content within this Period is correctly presented). When 'bitstreamSwitchingFlag' is set to ‘true’, such consecutive Segments following the same constraints may come from any Representation within the same group within this Period and a legacy media player presents the media content within this Period correctly if it plays the brute-force concatenation of all the Segments possibly from different representations including an Initialization Segment, if present.)
이하 본 발명은 상술한 바에 따라 동작하는 세그먼트 생성자, DASH 서버, DASH 클라이언트의 동작 및 구성을 도면을 참고하여 상세히 설명한다. 이하 설명에서, 본 발명은 상기 세그먼트 생성자 및 상기 DASH 서버를 별도의 객체로서 설명한다. 하지만, 본 발명의 다른 실시 예에 따라, 상기 세그먼트 생성자는 상기 DASH 서버에 포함될 수 있다.
도 2는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 세그먼트 생성자의 동작 절차를 도시하고 있다.
상기 도 2를 참고하면, 상기 세그먼트 생성자는 이하 201단계 내지 이하 207단계를 통해 초기화 세그먼트 파일을 생성한다. 살펴보면, 상기 세그먼트 생성자는 201단계에서 "dash" 브랜드를 기재한 styp 박스를 생성한다. 즉, 상기 세그먼트 생성자는 상기 styp 박스에 포함된 'major_brand' 필드의 값을 상기 "dash"로 설정한다.
이어, 상기 세그먼트 생성자는 203단계로 진행하여 미디어 길이와 무관한 정보만을 포함하는 moov 박스를 생성한다. 즉, 상기 세그먼트 생성자는 상기 moov 박스에 미디어에 대한 메타데이터를 포함시키되, 오디오, 비디오 등과 같은 각 미디어 구성 요소(media component)의 복호 방법 등을 포함시키고, 컨텐트의 길이를 알아야만 기재할 수 있는 정보들을 포함시키지 아니한다. 예를 들어, 상기 moov 박스는 트랙의 종류(예 : 오디오, 비디오), 트랙 번호, 사용된 코덱, 샘플 개수, 각 샘플의 프레젠테이션 시간 등의 정보를 포함할 수 있다.
이어, 상기 세그먼트 생성자는 205단계로 진행하여 그룹 내 모든 표현들의 샘플 서술 정보를 포함하는 stsd 박스를 생성한다. 상기 stsd 박스는 상기 moov 박스에 포함되며, 샘플 서술 정보를 포함할 수 있다. 본 발명의 실시 예에 따라, 상기 초기화 세그먼트는 모든 표현들의 샘플 서술 정보를 포함하는 stsd 박스를 포함한다. 이에 따라, 상기 초기화 세그먼트는 해당 피리어드에 속한 모든 표현들에 대한 하나의 공통된 초기화 세그먼트로서 기능할 수 있다. 예를 들어, 상기 샘플 서술 정보는 비디오의 가로/세로 크기 정보, 오디오의 샘플링 레이트, 미디어 압축 부호화 조건 등의 정보를 포함할 수 있다.
이후, 상기 세그먼트 생성자는 207단계로 진행하여 상기 styp 박스, 상기 moov 박스, 상기 stsd 박스를 포함하는 초기화 세그먼트를 파일로 저장한다. 이때, 상기 세그먼트 생성자는 원재료 미디어 파일에 포함된 ftyp 박스를 내용대로 변경 없이 그대로 상기 초기화 세그먼트에 포함시킨다. 본 발명의 실시 예에 따라, 상기 초기화 세그먼트 파일은 다수의 표현들에 관련되는 공통된 초기화 세그먼트일 수 있다.
이후, 상기 세그먼트 생성자는 이하 209단계 내지 이하 225단계를 통해 적어도 하나의 미디어 세그먼트 파일을 생성한다.
살펴보면, 상기 세그먼트 생성자는 209단계로 진행하여 "dash" 브랜드를 기재한 styp 박스를 생성한다. 단, 본 발명의 다른 실시 예에 따라, 상기 209단계는 생략될 수 있다. 다시 말해, 미디어 세그먼트는 상기 styp 박스를 포함하지 아니할 수 있다.
이어, 상기 세그먼트 생성자는 211단계로 진행하여 동일 그룹의 모든 표현에 대한 트랙 프래그먼트에 대하여 동일한 트랙 식별 정보를 기재한 moof 박스를 생성한다. 즉, moof 박스를 생성하는데 있어서, 상기 세그먼트 생성자는 동일 그룹에 속하는 트랙 프래그먼트들에 대하여 트랙 식별 정보를 동일하게 설정한다. 또한, 상기 세그먼트 생성자는 상기 moof에 포함되는 트랙 식별 정보를 상기 초기화 세그먼트의 moov 박스에 포함된 트랙 식별 정보와 동일하게 설정한다.
이어, 상기 세그먼트 생성자는 213단계로 진행하여 트랙 프래그먼트의 traf 박스 및 tfhd 박스를 생성한다. 상기 tfhd 박스는 상기 traf 박스에 포함되며, 트랙 프래그먼트에 대한 정보를 포함한다. 예를 들어, 상기 tfhd 박스는 샘플 서술 정보의 인덱스를 포함할 수 있다. 따라서, 상기 세그먼트 생성자는 상기 205단계에서 상기 초기화 세그먼트의 상기 stsd 박스에 포함시킨 모든 표현들의 샘플 서술 정보 중 상기 tfhd 박스에 대응되는 표현의 샘플 서술 정보를 확인한 후, 해당 샘플 서술 정보의 인덱스를 상기 tfhd 박스에 포함시킨다.
이어, 상기 세그먼트 생성자는 215단계로 진행하여 미디어 데이터의 트랙 프래그먼트를 포함하는 mdat 박스를 생성한다. 상기 세그먼트 생성자는 모든 프래그먼트가 RAP(Random Access Point) 샘플로 시작하여 동일한 재생 시간을 가지도록 상기 프래그먼트를 상기 mdat 박스에 포함시킨다. 이때, 동일 표현에 속한 미디어 세그먼트에 포함되는 mdat 박스는 동일한 미디어 구성 요소만을 포함한다.
이어, 상기 세그먼트 생성자는 217단계로 진행하여 moof 박스에 미디어 데이터 위치를 나타내는 상대적인 주소를 기재한다. 즉, 상기 moof 박스는 상기 mdat 박스에 포함된 각 미디어 데이터 덩어리(chunk)들 각각의 주소를 포함한다. 이때, 상기 세그먼트 생성자는 절대 주소가 아닌 상대 주소를 사용한다. 예를 들어, 상기 상대 주소는 상기 moof 박스의 위치를 기준으로 하는 바이트 오프셋일 수 있다.
이어, 상기 세그먼트 생성자는 219단계로 진행하여 마지막 미디어 구성 요소 트랙의 생성이 완료되었는지 판단한다. 상기 211단계 내지 상기 217단계는 하나의 moof 박스 및 하나의 mdat 박스를 생성하는 과정으로서, 하나의 moof 박스 및 하나의 mdat 박스는 하나의 미디어 구성 요소만을 포함할 수 있다. 따라서, 하나의 미디어 세그먼트에 다수의 미디어 구성 요소들이 포함되는 경우, 상기 211단계 내지 상기 217단계는 반복적으로 수행된다. 이에 따라, 상기 세그먼트 생성자는 마지막 미디어 구성 요소 트랙에 대한 moof 박스 및 mdat 박스의 생성이 완료되었는지 판단한다. 만일, 상기 마지막 미디어 구성 요소 트랙의 생성이 완료되지 아니하였으면, 상기 세그먼트 생성자는 상기 211단계로 되돌아간다.
반면, 상기 마지막 미디어 구성 요소 트랙의 생성이 완료되었으면, 상기 세그먼트 생성자는 221단계로 진행하여 상기 moof 박스 및 상기 mdat 박스를 포함하는 미디어 세그먼트를 파일로 저장한다.
이어, 상기 세그먼트 생성자는 213단계로 진행하여 해당 표현에 속한 마지막 미디어 세그먼트의 저장이 완료되었는지 판단한다. 만일, 상기 마지막 미디어 세그먼트의 저장이 완료되지 아니하였으면, 상기 세그먼트 생성자는 상기 209단계로 되돌아간다.
반면, 상기 마지막 미디어 세그먼트의 저장이 완료되었으면, 상기 세그먼트 생성자는 215단계로 진행하여 마지막 표현에 속하는 미디어 세그먼트 파일들의 저장이 완료되었는지 판단한다. 만일, 마지막 표현에 속하는 미디어 세그먼트 파일들의 저장이 완료되지 아니하였으면, 상기 세그먼트 생성자는 상기 209단계로 되돌아간다. 반면, 마지막 표현에 속하는 미디어 세그먼트 파일들의 저장이 완료되었으면, 상기 세그먼트 생성자는 해당 피리어드에 대한 세그먼트 파일 생성 절차를 종료한다.
도 3은 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 DASH 서버의 동작 절차를 도시하고 있다.
상기 도 3을 참고하면, 상기 DASH 서버는 301단계에서 MPD 파일의 전송 요청이 발생하는지 판단한다. 다시 밀해, 상기 DASH 서버는 DASH 클라이언트로부터 HTTP를 통해 MPD 파일 전송이 요청되는지 판단한다.
만일, 상기 MPD 파일의 전송 요청이 발생하면, 상기 DASH 서버는 303단계로 진행하여 요청된 MPD 파일을 송신한다. 본 발명의 실시 예에 따라, 상기 MPD 파일은 전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 나타내는 호환성 플래그를 포함한다. 즉, 상기 DASH 서버는 상기 DASH 클라이언트로 상기 호환성 플래그를 포함하는 MPD 파일을 송신한다.
반면, 상기 MPD 파일의 전송 요청이 발생하지 아니하면, 상기 DASH 서버는 305단계로 진행하여 세그먼트 파일의 전송 요청이 발생하는지 판단한다. 다시 밀해, 상기 DASH 서버는 DASH 클라이언트로부터 HTTP를 통해 세그먼트 파일 전송이 요청되는지 판단한다. 상기 세그먼트 파일은 초기화 세그먼트 및 미디어 세그먼트를 포함한다. 상기 세그먼트 파일의 전송 요청이 발생하면, 상기 DASH 서버는 307단계로 진행하여 요청된 세그먼트 파일을 송신한다.
도 4a 및 도 4b는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 DASH 클라이언트의 동작 절차를 도시하고 있다.
상기 도 4a 및 상기 도 4b를 참고하면, 상기 DASH 클라이언트는 401단계에서 MPD 파일을 다운로드하고, 상기 MPD 파일을 분석한다. 즉, 상기 DASH 클라이언트는 상기 MPD 파일을 요청하고, 상기 MPD 파일을 수신한 후, 상기 MPD 파일에 포함된 세그먼트를 다운로드하기 위한 정보를 확인한다. 본 발명의 실시 예에 따라, 상기 MPD 파일은 전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 나타내는 호환성 플래그를 포함한다.
이어, 상기 DASH 클라이언트는 403단계로 진행하여 상기 호환성 플래그가 '1'로 설정되어 있는지 판단한다. 다시 말해, 상기 DASH 클라이언트는 상기 호환성 플래그가 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있음을 나타내는 값으로 설정되어 있는지 확인한다. 만일, 상기 호환성 플래그가 '1'로 설정되어 있지 아니하면, 상기 DASH 클라이언트는 이하 409단계로 진행한다.
반면, 상기 호환성 플래그가 '1'로 설정되어 있으면, 상기 DASH 클라이언트는 405단계로 진행하여 사용자가 파일 저장을 지정하였는지 확인한다. 다시 말해, 상기 DASH 클라이언트는 사용자가 세그먼트들을 연접하여 미디어 파일로 저장하기를 원하는지 판단한다. 상기 도 4a 및 상기 도 4b에 도시되지 아니하였으나, 상기 DASH 클라이언트는 상기 사용자에게 세그먼트의 연접 여부를 문의하는 화면을 표시하고, 사용자의 입력을 확인할 수 있다. 만일, 파일 저장이 지정되어있지 아니하면, 상기 DASH 클라이언트는 이하 409단계로 진행한다.
반면, 파일 저장이 지정되어있으면, 상기 DASH 클라이언트는 407단계로 진행하여 연접할 세그먼트 파일 목록을 생성하고, 저장 플래그를 '1'로 설정한다. 이때, 상기 연접할 세그먼트 파일 목록은 초기화되어 있다. 즉, 상기 연접할 세그먼트 파일 목록은 세그먼트 파일의 정보를 포함하지 아니한다. 상기 저장 플래그는 파일 저장이 지정되어 있음을 나타내는 플래그로서, 이후 단계들에서 수신되는 세그먼트 파일들의 식별 정보를 상기 파일 목록에 포함시키는지 여부를 판단하기 위해 사용된다.
이어, 상기 DASH 클라이언트는 409단계로 진행하여 초기화 세그먼트를 다운로드한다. 즉, 상기 DASH 클라이언트는 상기 MPD 파일에 포함된 정보를 이용하여 상기 초기화 세그먼트 파일을 요청하고, 상기 초기화 세그먼트 파일을 수신한다. 본 발명의 실시 예에 따라, 상기 초기화 세그먼트는 "dash" 브랜드를 기재한 styp 박스, 표현 그룹 내 모든 표현들의 샘플 서술 정보를 포함하는 stsd 박스 중 적어도 하나를 포함할 수 있다.
상기 초기화 세그먼트를 수신한 후, 상기 DASH 클라이언트는 411단계로 진행하여 상기 저장 플래그가 '1'로 설정되어 있는지 확인한다. 만일, 상기 저장 플래그가 '1'로 설정되어 있지 아니하면, 상기 DASH 클라이언트는 이하 415단계로 진행한다. 반면, 상기 저장 플래그가 '1'로 설정되어 있으면, 상기 DASH 클라이언트는 이하 413단계로 진행하여 상기 연접할 세그먼트 파일 목록에 상기 409단계에서 다운로드한 초기화 세그먼트의 식별 정보를 추가한다.
이어, 상기 DASH 클라이언트는 415단계로 진행하여 미디어 세그먼트를 다운로드 한다. 즉, 상기 DASH 클라이언트는 상기 MPD 파일에 포함된 정보를 이용하여 상기 미디어 세그먼트 파일을 요청하고, 상기 미디어 세그먼트 파일을 수신한다. 이때, 상기 DASH 클라이언트는 망 상태를 고려하여 적용할 전송률을 선택하고, 선택된 전송률에 대응되는 표현에 속하는 미디어 세그먼트 파일을 다운로드한다.
상기 미디어 세그먼트를 수신한 후, 상기 DASH 클라이언트는 417단계로 진행하여 상기 저장 플래그가 '1'로 설정되어 있는지 확인한다. 만일, 상기 저장 플래그가 '1'로 설정되어 있지 아니하면, 상기 DASH 클라이언트는 이하 421단계로 진행한다. 반면, 상기 저장 플래그가 '1'로 설정되어 있으면, 상기 DASH 클라이언트는 이하 419단계로 진행하여 상기 연접할 세그먼트 파일 목록에 상기 415단계에서 다운로드한 미디어 세그먼트의 식별 정보를 추가한다.
이어, 상기 DASH 클라이언트는 421단계로 진행하여 상기 미디어 세그먼트에 포함된 컨텐트 데이터, 즉, 비디오 데이터 또는 오디오 데이터를 재생한다. 이어, 상기 DASH 클라이언트는 423단계로 진행하여 마지막 미디어 세그먼트의 다운로드가 완료되었는지 판단한다. 다시 말해, 상기 DASH 클라이언트는 해당 피리어드에 속한 모든 미디어 세그먼트들을 다운로드하였는지 판단한다. 만일, 상기 마지막 미디어 세그먼트의 다운로드가 완료되지 아니하였으면, 상기 DASH 클라이언트는 상기 415단계로 되돌아간다.
반면, 상기 마지막 미디어 세그먼트의 다운로드가 완료되었으면, 상기 DASH 클라이언트는 425단계로 진행하여 저장 플래그가 '1'로 설정되어 있는지 판단한다. 상기 저장 플래그가 '1'로 설정되어 있으면, 상기 DASH 클라이언트는 상기 파일 목록에 포함된 세그먼트 파일들을 목록 상의 순서대로 연접함으로써 미디어 파일을 생성한다.
도 5는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 세그먼트 생성자의 블록 구성을 도시하고 있다.
상기 도 5에 도시된 바와 같이, 상기 세그먼트 생성자는 세그먼트생성부(510) 및 저장부(520)를 포함하여 구성된다.
상기 세그먼트생성부(510)는 미디어 파일을 DASH에 따라 통신 망을 통해 스트리밍하기 위하여 상기 미디어 파일로부터 세그먼트 파일들을 생성한다. 상기 세그먼트생성부(510)는 초기화 세그먼트를 생성하는 IS생성부(512) 및 미디어 세그먼트를 생성하는 MS생성부(514)를 포함한다. 상기 저장부(520)는 상기 세그먼트생성부(510)에 의해 생성된 세그먼트들을 저장한다.
특히, 본 발명의 실시 예에 따라, 상기 IS생성부(512) 및 상기 MS생성부(514)는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 할 수 있도록 상기 세그먼트들을 생성한다. 예를 들어, 상기 IS생성부(512) 및 상기 MS생성부(514)는 상기 도 2에 도시된 절차에 따라 세그먼트들을 생성한다.
구체적으로 설명하면, 상기 IS생성부(512)는 "dash" 브랜드를 기재한 styp 박스를 생성하고, 미디어 길이와 무관한 정보만을 포함하는 moov 박스를 생성하고, 그룹 내 모든 표현들의 샘플 서술 정보를 포함하는 stsd 박스를 생성한다. 그리고, 상기 IS생성부(512)는 상기 styp 박스, 상기 moov 박스, 상기 stsd 박스를 포함하는 초기화 세그먼트를 파일로 저장한다. 이때, 상기 IS생성부(512)는 원재료 미디어 파일에 포함된 ftyp 박스를 내용대로 변경 없이 그대로 상기 초기화 세그먼트에 포함시킨다.
구체적으로 설명하면, 상기 MS생성부(514)는 "dash" 브랜드를 기재한 styp 박스를 생성한다. 단, 본 발명의 다른 실시 예에 따라, 상기 styp 박스의 생성 동작은 배제될 수 있다. 이어, 상기 MS생성부(514)는 동일 그룹의 모든 표현에 대한 트랙 프래그먼트에 대하여 동일한 트랙 식별 정보를 기재한 moof 박스를 생성하고, 상기 초기화 세그먼트의 상기 stsd 박스에 포함시킨 모든 표현들의 샘플 서술 정보 중 상기 tfhd 박스에 대응되는 표현의 샘플 서술 정보의 인덱스를 포함하는 tfhd 박스를 생성하고, 미디어 데이터의 트랙 프래그먼트를 포함하는 mdat 박스를 생성하고, moof 박스에 미디어 데이터 위치를 나타내는 상대적인 주소를 기재한다. 예를 들어, 상기 상대 주소는 상기 moof 박스의 위치를 기준으로 하는 바이트 오프셋일 수 있다. 여기서, 상기 MS생성부(516)는 상기 moof에 포함되는 트랙 식별 정보를 상기 초기화 세그먼트의 moov 박스에 포함된 트랙 식별 정보와 동일하게 설정한다. 또한, 상기 MS생성부(516)는 동일 표현에 속한 미디어 세그먼트에 포함되는 mdat 박스에 동일한 미디어 구성 요소만을 포함시킨다.
도 6은 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 DASH 서버의 블록 구성을 도시하고 있다.
상기 도 6에 도시된 바와 같이, 상기 DASH 서버는 통신부(610), 저장부(620), 제어부(630)를 포함할 수 있다.
상기 통신부(610)는 망 내 다른 객체와 통신을 수행하기 위한 인터페이스를 제공한다. 상기 저장부(620)는 상기 DASH 서버가 동작하기 위한 기본 프로그램을 저장하며, 특히, DASH 클라이언트들로 제공될 미디어 컨텐트를 세그먼트의 형태로 저장하며, 세그먼트의 다운로드를 위한 정보를 포함하는 MPD 파일을 저장한다.
상기 제어부(630)는 상기 DASH 서버의 전반적인 기능들을 제어한다. 예를 들어, 상기 제어부(630)는 DASH 클라이언트의 요청에 따라 상기 통신부(610)를 통해 상기 DASH 클라이언트로 MPD 파일 및 세그먼트 파일을 송신한다. 특히, 본 발명의 실시 예에 따라, 상기 제어부(630)는 전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 나타내는 호환성 플래그를 포함하는 MPD 파일을 송신한다.
도 7은 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 DASH 클라이언트의 블록 구성을 도시하고 있다.
상기 도 7에 도시된 바와 같이, 상기 DASH 클라이언트는 통신부(710), 저장부(720), 표시부(730), 제어부(740)를 포함하여 구성된다.
상기 통신부(710)는 채널을 통해 수신되는 신호로부터 데이터를 복원하고, 송신 데이터를 신호로 변환하여 상기 채널을 통해 송신한다. 여기서, 상기 채널은 유선 채널 또는 무선 채널일 수 있다. 무선 채널의 경우, 상기 통신부(710)는 안테나를 통해 수신된 RF(Radio Frequency) 대역 신호를 기저대역 신호로 변환하고, 통신 시스템의 규격에 따라 물리계층 처리하고, 복조(demodulation)을 통해 비트열을 복원한다.
상기 저장부(720)는 상기 DASH 클라이언트의 동작을 위한 기본 프로그램, 통신에 필요한 설정 정보, 사용자 인터페이스를 위한 프로그램 및 설정 정보 등을 저장한다. 그리고, 상기 저장부(720)는 상기 제어부(740)의 제어에 따라 저장된 데이터를 제공한다. 상기 표시부(730)는 상기 DASH 클라이언트의 동작 중에 발생하는 상태 정보 및 응용 프로그램의 실행에 따른 숫자, 문자 및 영상 등을 표시한다. 예를 들어, 상기 표시부(730)는 영상 컨텐트를 표시한다. 즉, 상기 표시부(730)는 상기 제어부(740)로부터 제공되는 화상 데이터를 시각적 화면으로 표시한다. 예를 들어, 상기 표시부(730)는 LCD(Liquid Crystal Display), OLED(Organic Light-Emitting Diode) 등으로 구성될 수 있다.
상기 제어부(740)는 상기 DASH 클라이언트의 전반적인 기능들을 제어한다. 예를 들어, 상기 제어부(740)는 상기 통신부(710)를 통해 수신되는 데이터, 즉, 미디어 세그먼트 파일로부터 화상 데이터를 생성하고, 상기 화상 데이터를 상기 표시부(730)로 제공한다. 특히, 본 발명의 실시 예에 따라, 상기 제어부(740)는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성하기 위한 기능을 제어한다. 예를 들어, 상기 제어부(740)는 상기 DASH 클라이언트가 상기 도 4a 및 상기 도 4b에 도시된 바와 같이 동작하도록 제어한다.
구체적으로 설명하면, 상기 제어부(740)는 401단계에서 MPD 파일을 다운로드하고, 상기 MPD 파일에 포함된 호환성 플래그가 '1'로 설정되어 있는지 판단한다. 상기 호환성 플래그가 '1'이고, 사용자가 파일 저장을 지정하였으면, 상기 제어부(740)는 연접할 세그먼트 파일 목록을 생성하고, 저장 플래그를 '1'로 설정한다. 이후, 상기 제어부(740)는 상기 MPD 파일에 포함된 정보를 이용하여 초기화 세그먼트 파일 및 미디어 세그먼트 파일들을 다운로드하며, 이때, 상기 연접할 세그먼트 파일 목록에 다운로드되는 세그먼트 파일들의 식별 정보를 저장한다. 하나의 피리어드에 속한 세그먼트들의 다운로드가 완료되면, 상기 제어부(740)는 상기 파일 목록에 포함된 세그먼트 파일들을 목록 상의 순서대로 연접함으로써 미디어 파일을 생성한다.
상술한 바와 같은 본 발명의 실시 예에 따라, 다음과 같이 연접된 미디어 파일이 구성될 수 있다.
2개의 서로 다른 표현들, 제1표현(representation 1) 및 제2표현(representation 2)가 존재한다. 상기 제1표현 및 상기 제2표현 각각은 비디오 및 오디로를 포함하며, 비디오는 각각 500 kpbs, 100kpbs로 인코딩되어 있고, 오디오는 96kbps로 인코딩되어 있다. 전체 재생 기간(playback duration)은 60초이다. 각 미디어 세그먼트 파일의 재생 기간은 5초이다. 따라서, 각 표현은 12개의 미디어 세그먼트들을 포함한다. 하나의 미디어 세그먼트는 10개 또는 20개의 프래그먼트들을 포함할 수 있다. 예를 들어, 각 프래그먼트가 오디오 및 비디오를 포함할 때 하나의 미디어 세그먼트는 10개의 프래그먼트들을 포함할 수 있고, 각 프래그먼트가 오디오 및 비디오 중 하나만을 포함할 때 하나의 미디어 세그먼트는 20개의 프래그먼트들을 포함할 수 있다. 따라서, 각 프래그먼트의 재생 기간은 0.5 초이다. 하나의 프래그먼트 내에서 첫번째 샘플은 RAP(Random Access Point)이다. 이하 설명에서, 재생되는 60초 동안 3번의 비트스트림 스위칭이 발생함을 가정한다. 예를 들어, 15초, 30초, 45초에 스위칭이 발생한다. 이에 따라, 수신되는 세그먼트의 형태는 이하 도 8에 도시된 바와 같다.
도 8은 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 수신 스트림의 예를 도시하고 있다. 상기 도 8을 참고하면, 15초, 30초, 45초에 스위칭이 이루어진다. 이에 따라, 0초 내지 15초 구간에는 제1표현의 세그먼트들이, 15초 내지 30초 구간에는 제2표현의 세그먼트들이, 30초 내지 45초 구간에는 제1표현의 세그먼트들이, 45초 내지 60초 구간에는 제2표현의 세그먼트들이 수신된다.
각 프래그먼트가 비디오 및 오디오를 모두 포함하는 경우, 수신 스트림 및 연접된 미디어 파일은 이하 도 9a 및 이하 도 9b에 도시된 바와 같다. 도 9a 및 도 9b는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 수신 스트림 및 연접된 미디어 파일의 예를 도시하고 있다. 상기 도 9a를 참고하면, 0초 내지 15초 구간에는 오디오 및 비디오를 포함하는 제1표현의 세그먼트들이, 15초 내지 30초 구간에는 오디오 및 비디오를 포함하는 제2표현의 세그먼트들이, 30초 내지 45초 구간에는 오디오 및 비디오를 포함하는 제1표현의 세그먼트들이, 45초 내지 60초 구간에는 오디오 및 비디오를 포함하는 제2표현의 세그먼트들이 수신된다. 상기 도 9a에 도시된 바와 같이 수신된 세그먼트들을 연접하여 저장하면, 상기 도 9b에 도시된 바와 같은 미디어 파일이 생성될 수 있다.
각 프래그먼트가 비디오 및 오디오 중 하나만을 포함하고, 비디오를 포함하는 프래그먼트가 오디오를 포함하는 프래그먼트와 인터리빙되는(interleaved) 경우, 수신 스트림 및 연접된 미디어 파일은 이하 도 10a 및 도 10b에 도시된 바와 같다. 도 10a 및 도 10b는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 수신 스트림 및 연접된 미디어 파일의 예를 도시하고 있다. 상기 도 10a를 참고하면, 0초 내지 15초 구간에는 비디오를 포함하는 제1표현의 세그먼트들 및 오디오를 포함하는 제3표현의 세그먼트들이, 15초 내지 30초 구간에는 비디오를 포함하는 제2표현의 세그먼트들 및 오디오를 포함하는 제3표현의 세그먼트들이, 30초 내지 45초 구간에는 비디오를 포함하는 제1표현의 세그먼트들 및 오디오를 포함하는 제3표현의 세그먼트들이, 45초 내지 60초 구간에는 비디오를 포함하는 제2표현의 세그먼트들 및 오디오를 포함하는 제3표현의 세그먼트들이 수신된다. 상기 도 10a에 도시된 바와 같이 수신된 세그먼트들을 연접하여 저장하면, 상기 도 10b에 도시된 바와 같은 미디어 파일이 생성될 수 있다.
각 프래그먼트가 비디오 및 오디오 중 하나만을 포함하고, 비디오를 포함하는 프래그먼트가 오디오를 포함하는 프래그먼트와 인터리빙되지 아니하는(not interleaved) 경우, 수신 스트림 및 연접된 미디어 파일은 이하 도 11a 및 이하 도 11b에 도시된 바와 같다. 도 11a 및 도 11b는 본 발명의 실시 예에 따른 멀티미디어 스트리밍 시스템에서 수신 스트림 및 연접된 미디어 파일의 예를 도시하고 있다. 상기 도 11a를 참고하면, 0초 내지 15초 구간에는 비디오를 포함하는 제1표현의 세그먼트들 및 오디오를 포함하는 제3표현의 세그먼트들이, 15초 내지 30초 구간에는 비디오를 포함하는 제2표현의 세그먼트들 및 오디오를 포함하는 제3표현의 세그먼트들이, 30초 내지 45초 구간에는 비디오를 포함하는 제1표현의 세그먼트들 및 오디오를 포함하는 제3표현의 세그먼트들이, 45초 내지 60초 구간에는 비디오를 포함하는 제2표현의 세그먼트들 및 오디오를 포함하는 제3표현의 세그먼트들이 수신된다. 상기 도 11a에 도시된 바와 같이 수신된 세그먼트들을 연접하여 저장하면, 상기 도 11b에 도시된 바와 같은 미디어 파일이 생성될 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (30)

  1. 멀티미디어 스트리밍 시스템에서 세그먼트 파일 생성 방법에 있어서,
    표현 그룹(representation group)에 속한 모든 표현들에 대한 샘플 서술 정보(sample description) 엔트리들을 포함하는 제1박스를 포함하는 적어도 하나의 초기화 세그먼트(IS : Initialization Segment) 파일을 생성하는 과정과,
    상기 제1박스에 포함된 샘플 서술 정보 엔트리들 중 하나를 지정하는 인덱스를 포함하는 적어도 하나의 제2박스 및 미디어 데이터를 포함하는 적어도 하나의 제3박스를 포함하는 미디어 세그먼트(MS : Media Segment) 파일들을 표현(representation) 별로 생성하는 과정을 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 초기화 세그먼트 파일은, "dash" 브랜드를 기재한 styp 박스를 포함하는 것을 특징으로 하는 방법.
  3. 제1항에 있어서,
    상기 초기화 세그먼트 파일은, 원재료 미디어 파일의 ftyp 박스와 동일한 내용의 ftyp 박스를 포함하는 것을 특징으로 하는 방법.
  4. 제1항에 있어서,
    상기 미디어 세그먼트 파일들 각각은, "dash" 브랜드를 기재한 styp 박스를 포함하는 것을 특징으로 하는 방법.
  5. 제1항에 있어서,
    상기 미디어 세그먼트 파일들을 생성하는 과정은,
    동일 표현 그룹 내에서, 동일 미디어 구성 요소를 포함하는 프래그먼트들 간 상기 제2박스에 포함되는 트랙 식별 정보를 동일하게 설정하는 과정을 포함하는 것을 특징으로 하는 방법.
  6. 제1항에 있어서,
    상기 미디어 세그먼트 파일들을 생성하는 과정은,
    상기 제2박스에 포함되는 트랙 식별 정보를 상기 초기화 세그먼트의 상기 제1박스에 포함된 트랙 식별 정보와 동일하게 설정하는 과정을 포함하는 것을 특징으로 하는 방법.
  7. 제1항에 있어서,
    상기 미디어 세그먼트 파일들을 생성하는 과정은,
    상기 제2박스에 상기 제3박스에 포함된 미디어 데이터의 상대적 주소를 포함시키는 과정을 포함하는 것을 특징으로 하는 방법.
  8. 제9항에 있어서,
    상기 상대적 주소는, 상기 제2박스의 위치를 기준으로 하는 바이트 오프셋인 것을 특징으로 하는 방법.
  9. 제1항에 있어서,
    상기 제1박스는, moov 박스이고,
    상기 제2박스는, moof 박스이고,
    상기 제3박스는, mdat 박스인 것을 특징으로 하는 방법.
  10. 멀티미디어 스트리밍 시스템에서 서버의 동작 방법에 있어서,
    MPD 파일의 전송을 요청받는 과정과,
    전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 나타내는 호환성 플래그를 포함하는 MPD 파일을 송신하는 과정을 포함하는 것을 특징으로 하는 방법.
  11. 제10항에 있어서,
    적어도 하나의 세그먼트 파일의 전송을 요청받는 과정과,
    상기 적어도 하나의 세그먼트 파일을 전송하는 과정을 포함하는 것을 특징으로 하는 방법.
  12. 제11항에 있어서,
    상기 적어도 하나의 세그먼트 파일은, 표현 그룹(representation group)에 속한 모든 표현들에 대한 샘플 서술 정보(sample description) 엔트리들을 포함하는 제1박스를 포함하는 적어도 하나의 초기화 세그먼트(IS : Initialization Segment) 파일, 상기 제1박스에 포함된 샘플 서술 정보 엔트리들 중 하나를 지정하는 인덱스를 포함하는 적어도 하나의 제2박스 및 미디어 데이터를 포함하는 적어도 하나의 제3박스를 포함하는 표현(representation) 별로 생성된 적어도 하나의 미디어 세그먼트(MS : Media Segment) 파일 중 적어도 하를 포함하는 것을 특징으로 하는 방법.
  13. 멀티미디어 스트리밍 시스템에서 클라이언트의 동작 방법에 있어서,
    전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 나타내는 호환성 플래그를 포함하는 MPD 파일을 수신하는 과정과,
    상기 호환성 플래그를 통해 상기 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 판단하는 과정을 포함하는 것을 특징으로 하는 방법.
  14. 제13항에 있어서,
    상기 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있으면, 수신되는 세그먼트들을 연접함으로써 미디어 파일을 생성 및 저장하는 과정을 더 포함하는 것을 특징으로 하는 방법.
  15. 제14항에 있어서,
    상기 미디어 파일을 생성하는 과정은,
    연접할 세그먼트 파일 목록을 생성하는 과정과,
    상기 파일 목록에 수신되는 세그먼트 파일들의 식별 정보를 순차적으로 기록하는 과정과,
    하나의 피리어드에 속한 세그먼트들의 수신이 완료되면, 상기 파일 목록에 포함된 세그먼트 파일들을 상기 파일 목록 상의 순서대로 연접함으로써 미디어 파일을 생성하는 과정을 포함하는 것을 특징으로 하는 방법.
  16. 멀티미디어 스트리밍 시스템에서 세그먼트 파일 생성 장치에 있어서,
    표현 그룹(representation group)에 속한 모든 표현들에 대한 샘플 서술 정보(sample description) 엔트리들을 포함하는 제1박스를 포함하는 적어도 하나의 초기화 세그먼트(IS : Initialization Segment) 파일을 생성하는 제1생성부와,
    상기 제1박스에 포함된 샘플 서술 정보 엔트리들 중 하나를 지정하는 인덱스를 포함하는 적어도 하나의 제2박스 및 미디어 데이터를 포함하는 적어도 하나의 제3박스를 포함하는 미디어 세그먼트(MS : Media Segment) 파일들을 표현(representation) 별로 생성하는 제2생성부를 포함하는 것을 특징으로 하는 장치.
  17. 제16항에 있어서,
    상기 초기화 세그먼트 파일은, "dash" 브랜드를 기재한 styp 박스를 포함하는 것을 특징으로 하는 장치.
  18. 제16항에 있어서,
    상기 초기화 세그먼트 파일은, 원재료 미디어 파일의 ftyp 박스와 동일한 내용의 ftyp 박스를 포함하는 것을 특징으로 하는 장치.
  19. 제16항에 있어서,
    상기 미디어 세그먼트 파일들 각각은, "dash" 브랜드를 기재한 styp 박스를 포함하는 것을 특징으로 하는 장치.
  20. 제16항에 있어서,
    상기 제2생성부는, 동일 표현 그룹 내에서, 동일 미디어 구성 요소를 포함하는 프래그먼트들 간 상기 제2박스에 포함되는 트랙 식별 정보를 동일하게 설정하는 것을 특징으로 하는 장치.
  21. 제16항에 있어서,
    상기 제2생성부는, 상기 제2박스에 포함되는 트랙 식별 정보를 상기 초기화 세그먼트의 상기 제1박스에 포함된 트랙 식별 정보와 동일하게 설정하는 것을 특징으로 하는 장치.
  22. 제16항에 있어서,
    상기 제2생성부는, 상기 제2박스에 상기 제3박스에 포함된 미디어 데이터의 상대적 주소를 포함시키는 것을 특징으로 하는 장치.
  23. 제22항에 있어서,
    상기 상대적 주소는, 상기 제2박스의 위치를 기준으로 하는 바이트 오프셋인 것을 특징으로 하는 장치.
  24. 제16항에 있어서,
    상기 제1박스는, moov 박스이고,
    상기 제2박스는, moof 박스이고,
    상기 제3박스는, mdat 박스인 것을 특징으로 하는 장치.
  25. 멀티미디어 스트리밍 시스템에서 서버 장치에 있어서,
    MPD 파일의 전송을 요청을 수신하는 통신부와,
    전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 나타내는 호환성 플래그를 포함하는 MPD 파일을 송신하도록 제어하는 제어부를 포함하는 것을 특징으로 하는 장치.
  26. 제25항에 있어서,
    상기 제어부는, 적어도 하나의 세그먼트 파일의 전송이 요청되면, 상기 적어도 하나의 세그먼트 파일을 전송하도록 제어하는 것을 특징으로 하는 장치.
  27. 제26항에 있어서,
    상기 적어도 하나의 세그먼트 파일은, 표현 그룹(representation group)에 속한 모든 표현들에 대한 샘플 서술 정보(sample description) 엔트리들을 포함하는 제1박스를 포함하는 적어도 하나의 초기화 세그먼트(IS : Initialization Segment) 파일, 상기 제1박스에 포함된 샘플 서술 정보 엔트리들 중 하나를 지정하는 인덱스를 포함하는 적어도 하나의 제2박스 및 미디어 데이터를 포함하는 적어도 하나의 제3박스를 포함하는 표현(representation) 별로 생성된 적어도 하나의 미디어 세그먼트(MS : Media Segment) 파일 중 적어도 하를 포함하는 것을 특징으로 하는 장치.
  28. 멀티미디어 스트리밍 시스템에서 클라이언트 장치에 있어서,
    전송되는 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 나타내는 호환성 플래그를 포함하는 MPD 파일을 수신하는 통신부와,
    상기 호환성 플래그를 통해 상기 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있는지 여부를 판단하는 제어부를 포함하는 것을 특징으로 하는 장치.
  29. 제28항에 있어서,
    상기 제어부는, 상기 세그먼트들을 연접하여 미디어 파일 재생 기기에서 재생 가능한 미디어 파일을 생성할 수 있으면, 수신되는 세그먼트들을 연접함으로써 미디어 파일을 생성 및 저장하는 것을 특징으로 하는 장치.
  30. 제28항에 있어서,
    상기 제어부는, 연접할 세그먼트 파일 목록을 생성하고, 상기 파일 목록에 수신되는 세그먼트 파일들의 식별 정보를 순차적으로 기록한 후, 하나의 피리어드에 속한 세그먼트들의 수신이 완료되면, 상기 파일 목록에 포함된 세그먼트 파일들을 상기 파일 목록 상의 순서대로 연접함으로써 미디어 파일을 생성하는 것을 특징으로 하는 장치.
KR1020110005054A 2011-01-18 2011-01-18 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법 KR101739272B1 (ko)

Priority Applications (9)

Application Number Priority Date Filing Date Title
KR1020110005054A KR101739272B1 (ko) 2011-01-18 2011-01-18 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법
EP12736338.0A EP2666288B1 (en) 2011-01-18 2012-01-18 Apparatus and method for storing and playing content in a multimedia streaming system
US13/352,932 US9635076B2 (en) 2011-01-18 2012-01-18 Apparatus and method for storing and playing content in a multimedia streaming system
AU2012207773A AU2012207773B2 (en) 2011-01-18 2012-01-18 Apparatus and method for storing and playing content in a multimedia streaming system
CN201280005690.9A CN103314579B (zh) 2011-01-18 2012-01-18 用于在多媒体流传输系统中存储和播放内容的装置及方法
PCT/KR2012/000449 WO2012099400A2 (en) 2011-01-18 2012-01-18 Apparatus and method for storing and playing content in a multimedia streaming system
JP2013550401A JP6088439B2 (ja) 2011-01-18 2012-01-18 マルチメディアストリーミングシステムにおけるコンテンツの格納及び再生のための装置及びその方法
US15/494,978 US10148715B2 (en) 2011-01-18 2017-04-24 Apparatus and method for storing and playing content in a multimedia streaming system
US16/201,517 US10498785B2 (en) 2011-01-18 2018-11-27 Apparatus and method for storing and playing content in a multimedia streaming system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020110005054A KR101739272B1 (ko) 2011-01-18 2011-01-18 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20120083744A true KR20120083744A (ko) 2012-07-26
KR101739272B1 KR101739272B1 (ko) 2017-05-24

Family

ID=46491615

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110005054A KR101739272B1 (ko) 2011-01-18 2011-01-18 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법

Country Status (7)

Country Link
US (3) US9635076B2 (ko)
EP (1) EP2666288B1 (ko)
JP (1) JP6088439B2 (ko)
KR (1) KR101739272B1 (ko)
CN (1) CN103314579B (ko)
AU (1) AU2012207773B2 (ko)
WO (1) WO2012099400A2 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014200310A1 (en) * 2013-06-14 2014-12-18 Samsung Electronics Co., Ltd. Controlling dash client rate adaptation
US9838452B2 (en) 2013-12-17 2017-12-05 Electronics And Telecommunications Research Institute Method and system for generating bandwidth adaptive segment file for HTTP based multimedia streaming service
WO2018186550A1 (ko) * 2017-04-05 2018-10-11 엘지전자 주식회사 방송 신호 송수신 방법 및 장치
WO2019164326A1 (ko) * 2018-02-23 2019-08-29 삼성전자 주식회사 실시간 콘텐트 데이터를 공유하는 전자 장치
US10506009B2 (en) 2015-02-09 2019-12-10 Electronics & Telecommunications Research Institute Apparatus and method for providing content on basis of DASH adaptive to bandwidth

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US9917874B2 (en) 2009-09-22 2018-03-13 Qualcomm Incorporated Enhanced block-request streaming using block partitioning or request controls for improved client-side handling
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
CN103369355A (zh) * 2012-04-10 2013-10-23 华为技术有限公司 一种在线媒体数据转换的方法、播放视频方法及相应装置
CN104380753B (zh) * 2012-04-26 2018-05-18 华为技术有限公司 用于表示自适应流媒体的分段加密和密钥衍生的系统和方法
DK2885903T3 (en) * 2012-08-14 2016-09-19 ERICSSON TELEFON AB L M (publ) Processing multimedia data
US20140052824A1 (en) * 2012-08-20 2014-02-20 Qualcomm Incorporated Conveying state information for streaming media
FR2996715A1 (fr) * 2012-10-09 2014-04-11 France Telecom Heritage de parametres d'identifiant universel de ressource (uri)
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
JP6139872B2 (ja) * 2012-12-10 2017-05-31 キヤノン株式会社 情報処理装置及びその制御方法、プログラム、記憶媒体、並びに、映像処理システム
US20140189064A1 (en) * 2012-12-31 2014-07-03 Bruce R. Cilli Method and system for adaptive video transmission
EP2896189B1 (en) * 2013-01-16 2016-09-14 Huawei Technologies Co., Ltd. Storing and transmitting content for downloading and streaming
JP5962943B2 (ja) * 2013-02-04 2016-08-03 ▲ホア▼▲ウェイ▼技術有限公司Huawei Technologies Co.,Ltd. ストリーミング・メディア・データを送信するための方法および装置
US9628528B2 (en) 2013-07-19 2017-04-18 Electronics And Telecommunications Research Institute Apparatus and method for providing content
CN105556922B (zh) * 2013-09-17 2019-06-28 瑞典爱立信有限公司 网络中的dash表示自适应
US9363333B2 (en) 2013-11-27 2016-06-07 At&T Intellectual Property I, Lp Server-side scheduling for media transmissions
JP6340882B2 (ja) * 2014-04-04 2018-06-13 ソニー株式会社 情報処理装置、情報処理方法、及び、プログラム
KR102422493B1 (ko) * 2014-06-30 2022-07-20 소니그룹주식회사 정보 처리 장치 및 정보 처리 방법
KR101855972B1 (ko) * 2014-07-03 2018-05-09 후아웨이 테크놀러지 컴퍼니 리미티드 적응형 스트리밍을 위한 포렌식 마킹의 시그널링 및 핸들링
HUE059748T2 (hu) * 2014-09-12 2022-12-28 Sony Group Corp Hangadatfolyamatok vételére szolgáló eszköz és eljárás
US10733146B2 (en) 2014-09-30 2020-08-04 Apple Inc. Inline keyed metadata
CN105653530B (zh) * 2014-11-12 2021-11-30 上海交通大学 一种高效可伸缩的多媒体传送、存储和呈现方法
WO2016111563A1 (ko) * 2015-01-07 2016-07-14 삼성전자 주식회사 통신 시스템에서 미디어 정보를 송수신하는 방법 및 장치
US9854375B2 (en) * 2015-12-01 2017-12-26 Qualcomm Incorporated Selection of coded next generation audio data for transport
JP6981257B2 (ja) * 2016-02-12 2021-12-15 ソニーグループ株式会社 情報処理装置および情報処理方法
TWI559753B (zh) * 2016-03-16 2016-11-21 晶睿通訊股份有限公司 傳輸隨選影音檔案的方法
JP6735644B2 (ja) * 2016-09-20 2020-08-05 キヤノン株式会社 情報処理装置及びその制御方法、コンピュータプログラム
CN109937575B (zh) * 2016-12-30 2022-04-01 谷歌有限责任公司 中断经不可侵犯清单协议提供的流传输内容的系统和方法
CN110192355A (zh) 2017-01-09 2019-08-30 瑞典爱立信有限公司 可控波束管理精度
US10924822B2 (en) 2017-04-04 2021-02-16 Qualcomm Incorporated Segment types as delimiters and addressable resource identifiers
WO2019011430A1 (en) * 2017-07-12 2019-01-17 Telefonaktiebolaget Lm Ericsson (Publ) FAST TUNING FOR LOW-LOW CONTINUOUS DIFFUSION
US20210377330A1 (en) * 2018-10-22 2021-12-02 Radiant Communications Corporation Low-latency video internet streaming for management and transmission of multiple data streams
US11546402B2 (en) 2019-01-04 2023-01-03 Tencent America LLC Flexible interoperability and capability signaling using initialization hierarchy
GB2582155B (en) 2019-03-12 2023-12-27 Canon Kk Method, device, and computer program for signaling available portions of encapsulated media content
KR20220012740A (ko) * 2020-07-23 2022-02-04 삼성전자주식회사 통신 시스템에서 컨텐츠의 송수신을 제어하기 위한 방법 및 장치
CN111901694B (zh) * 2020-08-06 2022-08-26 海信电子科技(深圳)有限公司 一种mmtp节目的播放方法及装置

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758174A (en) * 1995-06-07 1998-05-26 International Business Machines Corporation Computer system having a plurality of stored system capability states from which to resume
US5959690A (en) * 1996-02-20 1999-09-28 Sas Institute, Inc. Method and apparatus for transitions and other special effects in digital motion video
US7263497B1 (en) * 1998-02-06 2007-08-28 Microsoft Corporation Secure online music distribution system
FI118830B (fi) 2001-02-08 2008-03-31 Nokia Corp Tietovirran toisto
FI20011871A (fi) 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
US8214655B2 (en) * 2002-03-29 2012-07-03 Kabushiki Kaisha Toshiba Data structure of multimedia file format, encrypting method and device thereof, and decrypting method and device thereof
KR100486713B1 (ko) * 2002-09-17 2005-05-03 삼성전자주식회사 멀티미디어 스트리밍 장치 및 방법
KR101006703B1 (ko) 2003-03-28 2011-01-10 톰슨 라이센싱 미디어 기반 파일 송신 시스템 및 방법
JP4062230B2 (ja) * 2003-10-10 2008-03-19 ソニー株式会社 ファイル記録再生装置、ファイル記録再生方法、ファイル記録再生方法のプログラム及びファイル記録再生方法のプログラムを記録した記録媒体
US7373586B2 (en) * 2004-09-03 2008-05-13 International Business Machines Corporation Differencing and merging tree-structured documents
US7860993B2 (en) 2005-03-30 2010-12-28 Yahoo! Inc. Streaming media content delivery system and method for delivering streaming content
JP4481889B2 (ja) 2005-06-28 2010-06-16 キヤノン株式会社 データ記録装置及びその方法、プログラム、記録媒体
US20070100891A1 (en) * 2005-10-26 2007-05-03 Patrick Nee Method of forming a multimedia package
JP2007324722A (ja) * 2006-05-30 2007-12-13 Canon Inc 動画像データ配信装置及び動画像データ通信システム
US9209934B2 (en) * 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
JP2008005254A (ja) * 2006-06-22 2008-01-10 Sony Corp サーバ装置、クライアント装置、コンテンツ再生システム、コンテンツ処理方法及びプログラム
KR100838524B1 (ko) * 2006-11-28 2008-06-17 전자부품연구원 메타데이터를 이용한 멀티미디어 재생장치 간의 멀티미디어컨텐츠 북마크 공유 방법 및 시스템
US20080270913A1 (en) * 2007-04-26 2008-10-30 Howard Singer Methods, Media, and Devices for Providing a Package of Assets
GB2454651A (en) * 2007-10-31 2009-05-20 Symbian Software Ltd Communication device which calculates the present time at an intended call recipient's location
KR100925521B1 (ko) * 2007-10-31 2009-11-05 한양대학교 산학협력단 주문형 멀티미디어 데이터 송수신 방법
TWI361009B (en) * 2008-03-06 2012-03-21 Realtek Semiconductor Corp Method and apparatus for processing audio/vedio bi
US8976728B2 (en) * 2008-11-14 2015-03-10 Bae Systems Information And Electronic Systems Integration Inc. Distributed medium access control (DMAC) for mobile ad hoc networks
US8904191B2 (en) 2009-01-21 2014-12-02 Microsoft Corporation Multiple content protection systems in a file
US20110096828A1 (en) 2009-09-22 2011-04-28 Qualcomm Incorporated Enhanced block-request streaming using scalable encoding
WO2011083567A1 (ja) * 2010-01-06 2011-07-14 富士通株式会社 負荷分散システム及びその方法
US9769230B2 (en) * 2010-07-20 2017-09-19 Nokia Technologies Oy Media streaming apparatus
WO2012032502A1 (en) * 2010-09-10 2012-03-15 Nokia Corporation A method and apparatus for adaptive streaming
US9137555B2 (en) * 2010-10-05 2015-09-15 Telefonaktiebolaget L M Ericsson (Publ) Client, a content creator entity and methods thereof for media streaming
US9009118B2 (en) * 2010-10-20 2015-04-14 Apple Inc. Temporal metadata track
US10637891B2 (en) * 2010-11-02 2020-04-28 Telefonaktiebolaget Lm Ericsson (Publ) Methods and devices for media description delivery

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014200310A1 (en) * 2013-06-14 2014-12-18 Samsung Electronics Co., Ltd. Controlling dash client rate adaptation
US9838452B2 (en) 2013-12-17 2017-12-05 Electronics And Telecommunications Research Institute Method and system for generating bandwidth adaptive segment file for HTTP based multimedia streaming service
US10506009B2 (en) 2015-02-09 2019-12-10 Electronics & Telecommunications Research Institute Apparatus and method for providing content on basis of DASH adaptive to bandwidth
WO2018186550A1 (ko) * 2017-04-05 2018-10-11 엘지전자 주식회사 방송 신호 송수신 방법 및 장치
WO2019164326A1 (ko) * 2018-02-23 2019-08-29 삼성전자 주식회사 실시간 콘텐트 데이터를 공유하는 전자 장치
US11425430B2 (en) 2018-02-23 2022-08-23 Samsung Electronics Co., Ltd. Electronic device for sharing real-time content data

Also Published As

Publication number Publication date
US9635076B2 (en) 2017-04-25
US20170230436A1 (en) 2017-08-10
CN103314579A (zh) 2013-09-18
AU2012207773A1 (en) 2013-07-18
CN103314579B (zh) 2017-02-15
KR101739272B1 (ko) 2017-05-24
WO2012099400A3 (en) 2012-12-06
US10148715B2 (en) 2018-12-04
WO2012099400A2 (en) 2012-07-26
AU2012207773B2 (en) 2016-04-28
JP6088439B2 (ja) 2017-03-01
US10498785B2 (en) 2019-12-03
JP2014511580A (ja) 2014-05-15
US20190141102A1 (en) 2019-05-09
EP2666288A2 (en) 2013-11-27
EP2666288A4 (en) 2015-04-15
EP2666288B1 (en) 2022-04-27
US20120185607A1 (en) 2012-07-19

Similar Documents

Publication Publication Date Title
US10498785B2 (en) Apparatus and method for storing and playing content in a multimedia streaming system
US10630759B2 (en) Method and apparatus for generating and reproducing adaptive stream based on file format, and recording medium thereof
CN105308978B (zh) 用于将媒体内容流式传输到客户端设备的方法和设备
US8510375B2 (en) Apparatus and methods for time mapping media segments in streaming media files
TWI643502B (zh) 內容重製系統、內容重製裝置、程式、內容重製方法、及提供內容伺服器
CA2758237C (en) Media container file management
US20030221014A1 (en) Method for guaranteed delivery of multimedia content based on terminal capabilities
EP3813381A1 (en) Method and apparatus for transmitting and receiving adaptive streaming mechanism-based content
EP2754301A1 (en) Streaming of multimedia data from multiple sources
TW201123795A (en) System, method and apparatus for dynamic media file streaming
CN108600784A (zh) 向客户端设备流传输媒体内容的方法、装置及存储介质
KR20040098119A (ko) 이동통신 시스템의 http 기반 비디오 스트리밍 장치및 방법
KR102499231B1 (ko) 수신 장치, 송신 장치 및 데이터 처리 방법
JP6964436B2 (ja) 映像記録装置及び映像再生装置
KR20160033027A (ko) 멀티미디어의 전송 또는 수신 방법 및 그 장치

Legal Events

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