KR101783579B1 - 파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치와 그 기록 매체 - Google Patents

파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치와 그 기록 매체 Download PDF

Info

Publication number
KR101783579B1
KR101783579B1 KR1020170001556A KR20170001556A KR101783579B1 KR 101783579 B1 KR101783579 B1 KR 101783579B1 KR 1020170001556 A KR1020170001556 A KR 1020170001556A KR 20170001556 A KR20170001556 A KR 20170001556A KR 101783579 B1 KR101783579 B1 KR 101783579B1
Authority
KR
South Korea
Prior art keywords
file
segment
manifest
information
box
Prior art date
Application number
KR1020170001556A
Other languages
English (en)
Other versions
KR20170005178A (ko
Inventor
유성열
쉬이링
송재연
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20170005178A publication Critical patent/KR20170005178A/ko
Application granted granted Critical
Publication of KR101783579B1 publication Critical patent/KR101783579B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • 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/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09FDISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
    • G09F15/00Boards, hoardings, pillars, or like structures for notices, placards, posters, or the like
    • G09F15/0006Boards, hoardings, pillars, or like structures for notices, placards, posters, or the like planar structures comprising one or more panels
    • G09F15/0025Boards, hoardings, pillars, or like structures for notices, placards, posters, or the like planar structures comprising one or more panels display surface tensioning means
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09FDISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
    • G09F15/00Boards, hoardings, pillars, or like structures for notices, placards, posters, or the like
    • G09F15/0075Pillars
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09FDISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
    • G09F15/00Boards, hoardings, pillars, or like structures for notices, placards, posters, or the like
    • G09F15/0087Boards, hoardings, pillars, or like structures for notices, placards, posters, or the like including movable parts, e.g. movable by the wind
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09FDISPLAYING; ADVERTISING; SIGNS; LABELS OR NAME-PLATES; SEALS
    • G09F19/00Advertising or display means not otherwise provided for
    • G09F19/12Advertising or display means not otherwise provided for using special optical effects
    • G09F19/18Advertising or display means not otherwise provided for using special optical effects involving the use of optical projection means, e.g. projection of images on clouds
    • 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

Abstract

본 발명은 파일 포맷 기반의 적응적 스트림 생성 방법에 관한 것이다.
본 발명의 실시 예에 따른 전송 방법은, 서버에서 파일을 전송하는 방법에 있어서, 적응적 스트림 서비스를 위한 상기 파일을 생성하는 과정; 및 상기 파일을 전송하는 과정을 포함하고, 상기 파일은 적어도 하나의 세그먼트와 관련된 정보, 상기 적어도 하나의 세그먼트의 바이트 범위에 대한 정보를 나타내는 범위 정보, 및 상기 파일이 업데이트될 지 여부를 나타내는 정보를 포함한다.

Description

파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치와 그 기록 매체{METHOD AND APPARATUS FOR GENERATING, PLAYING ADAPTIVE STREAM BASED ON FILE FORMAT, AND THEREOF READABLE MEDIUM}
본 발명은 컨텐트 전송 시스템에 관한 것으로, 특히 파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치에 관한 것이다.
ISO/IEC(International Organization for Standardization/International Electrotechnical Commission) 14496-12는 멀티미디어 서비스를 위해 사용되는 표준 파일 포맷으로 ISO 기본 파일 포맷(base file format)을 규정하고 있다. 상기 ISO 기본 파일 포맷은 유연하면서도 확장 가능한 파일 구조로 다양한 미디어 파일 포맷의 기본이 되고 있다. 상기 ISO 기본 파일 포맷은 미디어 리소스와 메타 데이터를 패키징하기 위한 표준화된 파일 구조로 다양한 형태의 미디어 리소스와 메타 데이터를 포함할 수 있도록 객체 지향적인 구조로 설계되어 있다. 예를 들어 JPEG(Joint Photographic Experts Group) 2000, 3GPP(3rd Generation Partnership Project) 파일 포맷 등은 상기 ISO 기본 파일 포맷에 기반하여 한 것이며, MPEG(Moving Picture Experts Group)-4 파일 포맷 또한 상기 ISO 기본 파일 포맷을 확장한 것이다.
한편, HTTP(HyperText Transfer Protocol)를 이용한 A/V(Audio/Video) 스트리밍은 서버의 부담을 최소화하고 클라이언트의 지능적 처리에 전적으로 의존하는 스트리밍 방식이다. 클라이언트는 HTTP의 파일 전송 요청 또는 파일 일부 전송 요청만을 사용하여 스트리밍을 달성한다. 따라서 망의 전송률 변화에 적응적으로 대응하기 위해서는 같은 컨텐트에 대해서 여러 가지 전송률로 압축된 파일들을 서버에 올려 두어야 한다. 또 이러한 망의 상태 변화에 신속히 대응하기 위해서는 전체 켄텐트 파일을 적당한 크기의 조각으로 나누어 파일로 저장해 두어야 한다. 그리고 이렇게 조각난 파일들을 어떻게 순차적으로 가져와서 AV 켄텐트를 재생할 것인지에 대한 정보를 메타데이터로서 별도의 파일로 만들어 서버에 올려 두어야한다. 이러한 메타데이터 파일의 일 예로 매니페스트(Manifest)가 있다. 매니페스트는 일반적으로 파일 목록에 관련된 정보를 제공해 주는 파일을 의미한다. 켄텐트 정보 전송시 켄텐트를 구성하는 데이터들에 대한 시간 및 대역폭과 같이 파일들에 대한 구성 정보, 부가 정보들을 전송하는데 사용되는 파일을 “매니페스트(Manifest) 파일”이라고 한다. 또한, 상기 파일 목록에 관련된 정보를 사전에 클라이언트에게 전송하여 클라이언트가 선택할 수 있도록 할 수 있다.
또한, 상기 매니페스트는 적응적 스트림에 관한 정보, 예를 들어, 각 세그먼트에 대하여 어떤 비트율(Bit Rate)이 사용되는지에 관한 정보를 제공한다. 따라서, 단말은 상기 적응적 스트림에 관한 정보에 기초하여 적당한 세그먼트를 선택할 수 있게 된다.
그런데, 가변하는 방송 환경에 맞게 켄텐트를 작은 단위로 나눠서 전송할 때 망의 상태 변화에 따라서 켄텐트가 변화되면, 상기 매니페스트 파일을 효율적으로 전달하기 위한 방안이 요구된다. 또한, 클라이언트가 서버로부터 전송된 파일 포맷을 통해 재생을 위한 적절한 파일을 찾을 수 있는 방안이 요구된다. 추가적으로, 서버에서 스케쥴링 시, 각 파일을 서로 다른 URL(uniform resource locator)을 참조하여 각 세그먼트와 매핑해야 하기 때문에, 스케쥴링 부하가 증가되는 문제점이 있다.
본 발명은 매니페스트 정보를 효율적으로 전달 및 수신 후 재생하기 위한 파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치를 제공한다.
또한, 본 발명은 서버에서 효율적으로 스케쥴링하기 위한 파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치를 제공한다.
본 발명의 실시 예에 따른 전송 방법은, 서버에서 파일을 전송하는 방법에 있어서, 적응적 스트림 서비스를 위한 상기 파일을 생성하는 과정; 및 상기 파일을 전송하는 과정을 포함하고, 상기 파일은 적어도 하나의 세그먼트와 관련된 정보, 상기 적어도 하나의 세그먼트의 바이트 범위에 대한 범위 정보, 및 상기 파일이 업데이트가 가능한지 여부를 나타내는 정보를 포함한다.
본 발명의 실시 예에 따른 전송 장치는, 서버에서 파일을 전송하는 장치에 있어서, 적응적 스트림 서비스를 위한 상기 파일을 생성하는 프로세서; 및 상기 파일을 전송하는 전송기를 포함하고, 상기 파일은 적어도 하나의 세그먼트와 관련된 정보, 상기 적어도 하나의 세그먼트의 바이트 범위에 대한 범위 정보, 및 상기 파일이 업데이트가 가능한지 여부를 나타내는 정보를 포함한다.
본 발명의 실시 예에 따른 재생 방법은, 수신기에서 파일을 재생하는 방법에 있어서, 적응적 스트림 서비스를 위한 상기 파일을 수신하는 과정; 상기 파일을 확인하는 과정; 및 상기 파일의 확인 결과를 기반으로 하여 디코딩하는 과정을 포함하고, 상기 파일은 적어도 하나의 세그먼트와 관련된 정보, 상기 적어도 하나의 세그먼트의 바이트 범위에 대한 범위 정보, 및 상기 파일이 업데이트가 가능한지 여부를 나타내는 정보를 포함한다.
본 발명의 실시 예에 따른 재생 장치는, 수신기에서 파일을 재생하는 장치에 있어서, 적응적 스트림 서비스를 위한 상기 파일을 수신하는 수신부; 상기 파일을 확인하는 프로세서; 및 상기 파일의 확인 결과를 기반으로 하여 상기 파일을 디코딩하는 디코더를 포함하고, 상기 파일은 적어도 하나의 세그먼트와 관련된 정보, 상기 적어도 하나의 세그먼트의 바이트 범위에 대한 범위 정보, 및 상기 파일이 업데이트가 가능한지 여부를 나타내는 정보를 포함한다.
본 발명은 매니페스트 정보를 효율적으로 전달할 수 있다.
또한 본 발명은 서버에서 효율적으로 스케쥴링할 수 있다.
도 1은 스키마를 도시한 도면,
도 2는 현재의 메커니즘을 도시한 도면,
도 3은 제1 실시 예에 따른 매니페스트 구성을 도시한 도면,
도 4는 제2 실시 예에 따른 매니페스트 구성을 도시한 도면,
도 5는 제3 실시 예에 따른 매니페스트 구성을 도시한 도면,
도 6은 본 발명의 제4 실시 예에 따른 세그먼트 구조에서 mani 박스의 위치를 변형한 도면,
도 7은 본 발명의 제5 실시 예에 따른 세그먼트 구조에서 mani 박스의 위치를 변형한 도면,
도 8은 본 발명의 세그먼트 구조에 대한 일 예를 도시한 도면,
도 9는 본 발명의 세그먼트 구조에 대한 다른 예를 도시한 도면,
도 10은 본 발명에 따라 다른 새로운 필드가 파일 포맷에 있는 매니페스트에 추가될 수 있는 경우를 도시한 도면,
도 11은 본 발명의 실시 예에 따른 단말의 동작을 도시한 흐름도,
도 12는 본 발명의 실시 예에 따른 서버의 동작을 도시한 흐름도,도 13은 본 발명의 실시 예에 따른 단말의 블록 구성도,
도 14는 본 발명의 실시 예에 따른 서버의 블록 구성도.
하기에서 본 발명을 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
하기에서 설명될 모든 서버 및 단말의 동작 설명에 있어서, 여기서 구체적으로 설명하고 있지 않은 파일 포맷의 생성 및 분석 과정은 ISO/IEC 14496-12에 따른다. 그러나, 이에 한정하지는 않는다.
매니페스트 파라미터는 도 1과 같은 스키마(schema), 속성값들(attributes)로 구성된다. 도 2는 상기 매니페스트와 연관된 파일 포맷의 구조이다.
I. URLTemplate : URLTemplate는 고정된 부분이고, 세그먼트 ID 및 트랙 ID를 조합하여 발생되는 고유의 URL을 나타낸다. URLTemplate는 트랙 ID 및 세그먼트 ID와 함께 각 세그먼트의 URL들로 구성한다. URLTemplate는 각 세그먼트에 액세스하기 위한 템플릿을 나타낸다. URLTemplate는 필요시에는 세그먼트에 있는 URL에 의하여 재정의(override) 될 수 있다. URLTemplate의 일 예는 다음과 같다.
예)http://example.com/vod/movie/18888/Track/{TrackID}/Segments/{segmentID}
II. NextAdaptiveControlURL : NextAdaptiveControlURL 은 연속적인 프리젠테이션을 위해 필요한 다음 XML URL를 나타내기 위해 사용된다. NextAdaptiveControlURL 은 선택적으로 사용할 수 있으며, 라이브 적응적 스트리밍의 경우에 혹은 광고를 위해 사용될 수 있다.
III. RefDataURL : RefDataURL는 부분적인 혹은 완전한 헤드 데이터(.ref)를 나타내기 위해 사용된다. 세그먼트들이 그들 자신을 복호화 할 수 있다면 RefDataURL은 선택적으로 사용할 수 있다.
IV. Track : Track 은 서로 다른 비트율을 가지는 특정 형태의 인접한 세그먼트들의 집합이다.
i. ID : ID 는 트랙 ID를 나타낸다.
ii. Types : Types은 트랙의 형태를 나타낸다. Types은 비디오, 오디오, 패키징된 또는 결합된 비디오와 오디오 및 I-프레임이 될 수 있다.
iii. BitRate : BitRate 는 트랙에서 세그먼트의 비트율을 나타낸다.
iv. StartTime : StartTime 은 트랙의 시작시간을 명시하는 타임 스탬프를 나타내고, 선택적으로 사용할 수 있다.
v. SegmentstarID : SegmentstarID는 트랙에 속하는 세그먼트의 초기 ID를 나타내고, 선택적으로 사용할 수 있다.
vi. SegmentDuration : SegmentDuration은 각 세그먼트의 구간을 나타내고, 선택적으로 사용할 수 있다.
vii. SegmentCount : SegmentCount는 트랙에 속하는 세그먼트의 총 개수를 나타내고, 선택적으로 사용할 수 있다.
viii. 세그먼트 : 세그먼트는 연접된 기본 단위이며, 각 단위는 오디오 혹은 비디오 데이터만으로 이루어진 혹은 특정 시간 구간을 기반으로 나누어지는 오디오와 비디오 데이터로 이루어진 프레그먼트로 구성된다. 세그먼트는 서버와 클라이언트간의 기본 전송 단위이며, 시간적 및 공간적인 위치 지정 혹은 A/V(Audio/Video) 동기를 위한 타임 스템프가 할당된다.(엘레먼트 세그먼트는 선택적으로 사용할 수 있다. 만일 트랙 엘레먼트의 선택적 속성들이 명시되면, 각 세그먼트의 모든 정보가 추정될 수 있기 때문에 엘레먼트 세그먼트는 불필요할 수도 있다.)
◆ ID : ID 는 세그먼트 ID를 나타낸다.
◆ StartTime : StartTime 는 세그먼트의 시작 시간을 나타낸다.
◆ Duration : Duration 는 세그먼트의 구간을 나타낸다.
◆ URL : URL 은 URLTemplate가 사용되는 경우 선택적으로 사용할 수 있다. 특정 용도(예, 다른 서버로부터의 내용 혹은 광고 비디오)를 위해 URL이 명시될 수 있으며, 이 세그먼트에 대해서는 URLTemplate가 무시될 것이다.
본 발명은 파일 내에 있는 매니페스트 정보를 효율적으로 전달하기 위해 몇몇 파일 포맷 내에 변경 사항을 추가하는 것을 제안한다.
도 2와 같은 현재의 메커니즘에서, 매니페스트와 데이터(예를 들어, 오디오, 비디오)는 분리된다. 단말은 매니페스트를 서버로 요청하고, 서버로부터 매니페스트를 획득한다. 이후, 단말은 획득한 상기 매니페스트를 통해서 헤드 및 각 세그먼트에 관한 정보를 알 수 있다. 헤드에 관한 정보는 파일 포맷에 있는 무브(moov) 박스에 저장되고, 복호 및 구성에 관한 정보를 나타낸다. 세그먼트에 관한 정보는 서비스 데이터의 일부이며, 무비 프레그먼트(moof) 박스와 미디어 데이터(mdat) 박스를 포함한다.
상기 moof 박스는 이 일부 서비스에 관한 정보를 저장한다. 상기 mdat 박스는 실제의 데이터(예컨대, 비디오와 오디오 등과 같은 미디어 데이터(or 미디어 스트림) 등)를 저장한다. 상기 현재 메커니즘에서 설명되는 예는 현재의 파일 포맷에 기초한 것이다. 만일 파일 포맷이 향후 변경된다면 헤드와 세그먼트가 새로운 포맷으로 또한 매핑될 수 있다.
현재, 매니페스트는 파일 포맷 내부에 포함되어 단말에게 전달되지 않고, 파일 포맷과 매니페스트를 분리하여 단말에게 요청 및 전송된다.
헤드 정보 및 세그먼트들은 서로 다른 URL을 가진 서로 다른 파일로 나누어진다. 즉, 서로 다른 파일은 서로 다른 URL을 가진다. 따라서, 서버는 스케쥴링 시, 각 파일을 서로 다른 URL을 참조하여 각 세그먼트와 매핑해야 하기 때문에, 스케쥴링 부하가 증가되는 문제점이 있다.
본 발명을 설명하기에 앞서, ISO 기반 미디어 파일 포맷의 경우에는 오디오/비디오 데이터 및 오디오/비디오에 대한 상세 정보들이 포함된 다수 개의 박스 단위로 구성된다. 본 발명에서 설명될 박스는 데이터 블록 또는 컨테이너로 동일하게 지칭될 수 있다.
본 발명의 제1 및 제3 실시 예에서는 매니페스트를 하나의 파일 포맷 내의 mani 박스에 구성한다.
도 3은 제1 실시 예에 따른 매니페스트 구성을 도시한 도면이다.
매니페스트, 헤드 정보, 세그먼트는 모두 한 파일에 포함된다. 매니페스트는 mani 박스에 저장되고, 헤드 정보는 moov 박스에 저장된다.
이때, SegmentOffset 및 SegmentSize속성들은 파일 내의 각 세그먼트의 오프셋과 크기를 나타내기 위하여 매니페스트에서 새롭게 정의된다. 따라서, 단말은 http 레인지(range)를 근간으로 기대한(expected) 세그먼트를 서버로 요청할 수 있다. 그리고 URLTemplate속성들은 고정된 부분 및 레인지 정보를 이용하여 생성된다. 즉, 매니페스트의 SegmentOffset 및 SegmentSize 속성들의 정보에 기초하여 동일한 URL에 있는 각 Segment를 획득할 수 있다.
그리고, 파일 포맷 내부에 매니페스트 박스(또는 mani 박스)를 정의할 때, NextAdaptiveControlURL속성은 사용되지 않는다. 다음의 매니페스트 또한 이 파일 즉, 한 파일 내에서 저장되므로 다음 매니페스트의 오프셋이 현재 매니페스트 박스에 정의된다.
다른 파라미터들은 현재의 매니페스트의 파라미터와 동일하다.
도 4는 제2 실시 예에 따른 매니페스트 구성을 도시한 도면이다.
본 발명의 제2 실시 예에 따른 메커니즘에 있어서, 헤드 정보와 모든 세그먼트들은 여전히 하나의 파일 내에 있다. 그러나 매니페스트는 도 4에 도시된 바와 같이, 상기 하나의 파일과는 별도로 전송된다. 매니페스트는 다른 하나의 파일로 저장될 수 있으며, 혹은 파일 구조가 아닌 별도의 메시지를 통해 전송되거나, 별도의 URL을 통해 획득 가능하다. 즉, 헤드 정보와 모든 세그먼트를 포함하는 하나의 파일과 상기 매니페스트가 별도로 단말에 의해 획득된다. 이 경우 하나의 파일이 매니페스트 정보 없이 헤드 정보와 모든 세그먼트를 포함하는 하나의 파일로 구성된다는 점에서 이미 도 2와 관련해서설명한 현재의 매커니즘과 구성상 유사하다. 그러나, 기설명된 현재의 매커니즘에서 헤드 정보 및 각 segment는 별도의 URL을 통해 접속, 획득되어져야 하는 반면에, 본 제 2 실시 예에서 하나의 URL을 통해 헤드 정보 및 모든 segments를 획득한다. 즉, 상기와 같이 하나의 URL을 통해 모든 segments를 획득하기 위해, 별도로 얻어지는 manifest 내에 헤드 정보의 위치를 획득하기 위하여 Headinfo 라는 새로운 속성 값이 정의되어야 한다.
따라서, 헤드 정보가 moov 박스에 저장되기 때문에 Headinfo 속성은 파일에 있는 moov 박스의 위치를 포함한다. 이를 위해, Headinfo는 HeadOffset과 HeadSize와 같은 파라미터를 정의한다. HeadOffset과 HeadSize는 헤드 정보를 포함하는 moov 박스의 오프셋 및 크기를 각각 나타낸다.
만일 헤드 정보와 남아있는 세그먼트들이 서로 다른 URL을 가진 두 개의 파일로 나누어지면, RefDataURL은 상기 헤드 정보를 나타내기 위하여 사용될 수 있다.
SegmentOffset 및 SegmentSize 속성들은 하나의 파일에 있는 각 세그먼트의 오프셋 및 크기를 나타내기 위하여 매니페스트 파일에서 정의될 수 있다. 따라서 단말은 http 레인지에 기초하여 기대한 세그먼트를 요청할 수 있다. 그리고 상기 URLTemplate 속성은 고정된 부분 및 레인지 정보를 이용하여 생성된다.
본 발명의 제2 실시 예에서는 매니페스트 파일이 별도로 전송되기 때문에 mani 박스는 사용되지 않고, 다음 매니페스트는 NextAaptiveControlURL 속성으로 나타낸다. 즉, 다음 매니페스트 정보는 NextAaptiveControlURL을 통해 알 수 있다.
도 5는 제3 실시 예에 따른 매니페스트 구성을 도시한 도면이다.
이 메커니즘에서, 몇몇 세그먼트들은 하나의 파일(메인 파일)에 있고, 다른 일부 세그먼트들은 다른 파일(보조 파일)로 구성한다. 도 5에서 도시한 바와 같이, 세그먼트 1, 2가 하나의 파일에 있으며, 상기 SegmentOffset 및 SegmentSize 속성은 하나의 파일 내에 구비된 상기 세그먼트 1, 2의 위치를 표시한다. 그러나, 세그먼트 3은 다른 파일에 있고, 세그먼트 3의 위치는 SegmentURL 속성을 통해 표시한다. 예를 들어, 하이브리드 망에서, 몇몇 세그먼트들은 유선망을 통해 파일로부터 올 수 있고 몇몇 세그먼트들은 무선망 통해 파일로부터 올 수 있다. 따라서, 세그먼트가 메인 파일에 저장되는 경우 SegmentOffset 및 Segmentsize 속성은 파일에 있는 세그먼트 위치를 나타내기 위하여 사용된다. 세그먼트가 다른 파일(또는 보조 파일)에 저장되는 경우, SegmentURL 속성을 이용하여 세그먼트의 위치를 나타낸다.
매니페스트는 도 5의 예에서와 같이 메인 파일에 저장될 수 있으며 또한 독립적으로 저장될 수 있다.
파일 포맷 내에서의 매니페스트의 위치는 다양하게 실시 될 수 있다. 파일 레벨 내에서 매니 박스를 위치하는 것을 제외하고, 매니 박스는 다른 위치에 놓여질 수 있다. 예컨대, 매니 박스는 moov 레벨에 위치될 수 있다.
도 6은 본 발명의 제 4 실시 예에 따라서 moov 레벨 혹은 moov box 내에 위치하는 mani 박스를 나타낸다.
moov 레벨에서 매니페스트 박스에 관련한 설명은 상기 파일 레벨 혹은 file box내에서 매니페스트 박스에 관련한 설명, 즉, 실시예 1과 유사하다.
일반적으로 moov 박스는 업데이트하지 않는다. 그러나, 예컨대, 라이브 스트림의 경우에는 매니페스트 업데이트가 요구될 수도 있다. 이 경우, 매니페스트의 업데이트를 위하여 moov 박스는 업데이트 메커니즘을 지원하고, 다음의 구조와 같이 매니페스트 박스를 실행한다. 제1 moov 박스에서, 노말(normal)한 트랙 박스(track box)를 제외한 mani box가 추가된다. 새로운 mani box가 요구될 경우, moov 박스는 새로운 mani box를 실행하기 위해 업데이트 된다. 도 6은 세그먼트 구조를 나타낸다. 도 6에 도시한 세그먼트 구조는 이후 설명할 case 1을 기반으로 한다. 그러나, 자유 공간이 사용된다면, 도 6에 도시한 세그먼트 구조는 이후 설명할 case 2를 기반으로 한다.
파일 포맷 내에서의 매니페스트의 위치는 다양하게 실시 될 수 있다. 파일 레벨 내에서 매니 박스를 위치하는 것을 제외하고, 매니 박스는 다른 위치에 놓여질 수 있다. 예컨대, 매니 박스는 meta 레벨에 위치될 수 있다.
도 7은 본 발명의 제5실시 예에 따라서 meta 레벨 혹은 meta box 내에 위치하는 mani 박스를 나타낸다.
meta 레벨에서 매니페스트 박스에 관련한 설명은 상기 파일 레벨 혹은 file box내에서 매니페스트 박스에 관련한 설명, 즉, 실시 예 1과 유사하다.
일반적으로 meta 박스는 업데이트하지 않는다. 그러나, 예컨대, 라이브 스트림의 경우에는 매니페스트 업데이트가 요구될 수도 있다. 이 경우, meta 박스는 업데이트 메커니즘을 지원하고, 다음 매니페스트 박스를 실행한다. 제1 meta 박스에서, 노말(normal)한 메타데이터 정보 박스를 제외한 mani box가 추가된다. 새로운 mani box가 요구될 경우, 메타 박스는 새로운 mani box를 실행하기 위해 업데이트된다. 도 7은 세그먼트 구조를 나타낸다. 도 7에 도시한 세그먼트 구조는 이후 설명할 case 1을 기반으로 한다. 그러나, 자유 공간이 사용된다면, 도 7에 도시한 세그먼트 구조는 이후 설명할 case 2를 기반으로 한다.
새로운 매니페스트 구성에서, 상기 다양한 실시 예들을 지원하기 위하여, 새로운 mani 박스가 제안된다. 제안된 mani box에서는 상기 mani box내에 다양한 box들이 구성될 수 있으며, 새롭게 정의되는 박스는 하기의 <표 1>과 같다.

새로운 박스

설명

Mani

매니페스트 정보를 전송하기 위함

mahd

매니페스트 헤드, 전체 정보

mxml

매니페스트 XML 컨테이너

nmof

다음 매니페스트 오프셋

nmsz

다음 매니페스트 크기
상기 <표 1>에 기재된 박스들에 대해 상세히 설명하기로 한다.
1. mani box
박스 형태(Box Type) : 'mani'
컨테이너(Container) : 파일
수량(Quantity) : 0 이상
상기 mani box는 매니페스트가 파일내에서 전송될 때 사용된다. CoD(content on delivery)의 경우, 하나의 파일이 하나의 매니페스트 박스를 가진다. 라이브 적응적 스트리밍의 경우, 하나 이상의 mani box가 있을 수 있으며 그 syntax의 예는 다음과 같다.
aligned(8) class ManifestBox extends Box('mani'){
}
2. mahd
박스 형태: 'mahd'
컨테이너: 매니페스트 박스
수량: 정확하게 1
이 박스는 매니페스트에 관한 전체의 정보에 대한 것이며 그 syntax의 예는 다음과 같다.
aligned(8) class ManifestHeaderBox extends FullBox('mahd', version, 0) {
if (version==1) {
unsigned int(64) creation_time;
unsigned int(64) modification_time;
unsigned int(32) timescale;
unsigned int(64) duration;
unsigned int(64) size;
} else { // version==0
unsigned int(32) creation_time;
unsigned int(32) modification_time;
unsigned int(32) timescale;
unsigned int(32) duration;
unsigned int(32) size;
}
}
version은 매니페스트 박스의 버전(현재의 명세서에 근거하여 0 혹은 1로 표현할 수 있다.)을 명시하는 정수이다.
creation_time은 프리젠테이션의 생성 시간(UTC(Universal Time Coordinated) 시간에서는 1904년 1월 1일 자정 이후로 초단위로)을 공표하는 정수이다.
modification_time은 프리젠테이션이 변경되었던 가장 최근의 시간(UTC 시간에서는 1904년 1월 1일 자정 이후로 초단위로)을 공표하는 정수이다
timescale은 전체 프리젠테이션을 위한 시간의 척도를 명시하는 정수이며, 일초내에서 통과하는 시간 단위의 수이다. 예를 들어, 일초의 60분의 일로 시간을 측정하는 시간 좌표계는 60의 시간 척도를 가진다.
duration은 (표시된 시간 척도로) 프리젠테이션의 길이를 명시하는 정수이다. duration은 프리젠테이션의 트랙으로부터 얻어지며, 프리젠테이션에서 가장 긴 트랙의 구간에 대응한다.
Size는 이 박스에 있는 바이트의 개수를 명시하는 정수이다.
3. mxml
박스 형태: 'mxml'
컨테이너: 매니페스트 박스
수량: 정확하게 1
매니페스트 XML 박스는 매니페스트 XML을 위한 컨테이너이며, 그 syntax의 예는 다음과 같다.
aligned(8) class MXMLBox
extends FullBox('mxml ', version = 0, 0) {
string xml;
}
4. nmof
박스 형태: 'nmof'
컨테이너: 매니페스트 박스
수량: 0 혹은 1
다음 매니페스트 오프셋 박스는 다음 매니페스트 박스가 파일 내에서 생성될 때 사용되며 오프셋 값을 나타내며, 그 syntax의 예는 다음과 같다.
aligned(8) class NextManifestoffsetBox
extends FullBox('nmof', version = 0, 0) {
unsigned int(32) size;
}
5. nmsz
박스 형태: 'nmsz'
컨테이너: 매니페스트 박스
수량: 0 혹은 1
다음 매니페스트 크기 박스는 다음 매니페스트 박스가 파일 내에서 생성될 때 사용되며 다음 매니페스트 박스의 크기를 나타내며, 그 syntax의 예는 다음과 같다.
aligned(8) class NextManifestSizeBox
extends FullBox('nmof', version = 0, 0) {
unsigned int(32) next_manifest_offset;
}
세그먼트 구조의 케이스 1은 도 8에 도시하였다.
라이브(live) 스트림의 경우에, 매니페스트가 생성될 때 각 세그먼트의 실제의 크기는 이미 알려져 있을 수 있다. 즉, 다음 매니페스트의 실제 오프셋(next manifest actual offset : nmao)이 결정된다. 따라서, 각 세그먼트의 정확한 오프셋과 크기(size)가 고정되며, 다음 매니페스트의 오프셋 또한 예측될 수 있다.
세그먼트 구조의 케이스 2는 도 9에 도시하였다.
세그먼트 구조의 케이스 2는 자유 공간(free space)을 추가적으로 구비한다.
소정의 조건에서는 매니페스트가 생성될 때, 각 세그먼트의 실제의 크기가 결정되지 않는 경우가 있다. 이때, 각 세그먼트에 대한 고정된 크기를 가정하여 할당할 수 있으며, 상기 고정된 크기는 각 세그먼트에 대해 충분히 커야한다. 따라서, 미디어 데이터 박스에 여분의 데이터를 저장하는 자유 공간(free space)을 더 구비한다. 만일 세그먼트가 유보된(reserved) 공간 모두를 사용하지 않는다면 자유 공간이 남은 크기를 위해 사용된다. 고정된 크기는 모든 세그먼트를 위해 유보되기 때문에 다음 매니페스트의 오프셋은 이전의 매니페스트 박스에서 알 수 있고, 나타낼 수 있다.
도 10은 본 발명에 따라 다른 새로운 필드가 파일 포맷에 있는 매니페스트에 추가될 수 있는 경우를 도시한 도면이다.
새로운 필드가 제안된 것 이외에 어떤 다른 필드가 매니페스트에서 사용될 수 있다.
Language(1001, 1002) : 서로 다른 트랙/세그먼트가 동일한 서비스를 위해 서로 다른 언어를 제공할 수 있다. 만일 그렇다면 각 트랙/세그먼트의 언어의 유형이 매니페스트에 표시될 수 있다.
SubtitleLanguage(1003, 1004) : 서로 다른 트랙/세그먼트가 동일한 서비스를 위해 서로 다른 자막 언어를 제공할 수 있다. 그 경우 각 트랙/세그먼트의 자막 언어의 유형이 매니페스트에 표시될 수 있다.
AccessNetwork(1005, 1006) : 본 발명의 제3 실시 예에서, AccessNetwork를 설명하였다. 하이브리드 망에서, 트랙/세그먼트는 서로 다른 망으로부터 올 수 있다. 따라서, 액세스할 적당한 망을 선택하도록 단말에게 도움을 주기 위하여 이 정보가 매니페스트에 표시될 수 있다.
CameraAngle(1007, 1008) : 서로 다른 카메라 각도가 동일한 서비스를 위해 제공될 수 있다. 단말은 매니페스트로부터 특정 카메라 각도를 가진 하나의 트랙/세그먼트를 선택할 수 있다.
도 11은 단말의 파일 재생 방법을 도시한 흐름도이다.
단말은 1100 단계에서 매니페스트가 데이터 파일과 독립적인가를 판단한다. 만약 매니페스트가 데이터 파일과 독립적인 경우 단말은 1110 단계에서 그 매니페스트를 우선 요청하고 획득한다. 그러나 매니페스트가 동일한 파일에 있는 경우 단말은 1112 단계에서 매니페스트 박스에 액세스하여 매니페스트의 정보를 획득한다.
단말은 1114 단계에서 매니페스트를 분석하여 각 트랙에 대한 서로 다른 비트율을 알 수 있다. 단말은 1116 단계에서 현재의 상태를 바탕으로 하여 적당한 비트율을 가진 트랙 세그먼트를 선택한다.
단말은 1118 단계에서 moov 박스를 분석함으로써 헤드 정보를 얻을 수 있다. 본 발명의 제2 실시 예에 따라서 단말은 헤드 옵셋과 관련한 정보와 헤드 사이즈와 관련한 정보를 이용하여 moov 박스에 억세스 할 수 있다.
이후, 단말은 1120 단계에서 세그먼트가 동일한 파일 또는 다른 파일에 있는가를 판단한다.
세그먼트가 동일한 파일에 있는 경우, 단말은 1122 단계에서 Segmentoffset 및 SegmentSize 속성들을 바탕으로 세그먼트를 요청하고, 세그먼트를 복호화하고 재생한다. 그러나 세그먼트가 다른 파일에 있는 경우 단말은 1124 단계에서 SegmentURL, Segmentoffset 및 SegmentSize 속성들을 바탕으로 세그먼트를 요청하고, 세그먼트를 복호화하고 재생한다.
1122 단계 및 1124 단계 이후, 단말은 1126 단계에서 서비스를 계속적으로 원하는가를 판단한다.
만일 단말이 1126 단계에서 서비스를 계속하여 원하지 않는 경우, 종료하고, 단말이 서비스를 계속적으로 원하면 1128 단계로 진행한다.
단말은 1128 단계에서 새로운 매니페스트가 필요한가를 판단한다. 만일 새로운 매니페스트가 필요하면, 예를 들어, 라이브 스트림의 경우, 단말은 새로운 매니페스트를 획득하여야 한다.
단말은 1130 단계에서 상기 새로운 매니페스트가 동일한 파일 내에 있는가를 판단한다. 상기 새로운 매니페스트가 동일한 파일내에 있는 경우 단말은 1112 단계로 진행하여 다음 매니페스트 오프셋 박스 및 다음 매니페스트 크기 박스를 바탕으로 매니페스트를 얻을 수 있다. 그러나 1130 단계에서 새로운 매니페스트가 다른 파일에 있는 경우, 단말은 1110 단계로 진행하여 NextAdaptiveControlURL속성을 바탕으로 서버로부터 매니페스트를 획득할 수 있다. 새로운 매니페스트 박스를 획득한 후 단말은 매니페스트를 분석하고 상기의 단계를 반복한다.
만일 1128 단계에서 새로운 매니페스트가 필요하지 않으면, 단말은 1132 단계에서 단말의 현재 상태를 기반으로 다음의 세그먼트를 계속하여 요청하고 1134 단계에서 수신된 세그먼트를 복호화하고 재생한다. 단말이 서비스를 계속적으로 원하는지를 판단하고 위의 단계들을 반복한다.
상기의 단말 동작은 본 명세서에서 명시한 실시 예를 모두 적용 가능함은 물론이다.
도 12는 서버의 동작을 도시한 도면이다.
서버는 1200 단계에서 매니페스트를 생성하기 위해 서비스 정보를 수집한다.
1200 단계 이후에 서버는 1210 단계에서 매니페스트가 다른 서비스 데이터와 동일한 파일을 갖고 있는가를 판단한다.
만약 매니페스트가 독립적이면, 즉, 다른 서비스 데이터와 다른 파일을 갖고 있을 경우, 서버는 1212 단계에서 하나의 URL을 가지며 독립적인 매니페스트를 생성한다. 서버는 1214 단계에서 단말로부터 매니페스트 요청을 수신하면, 상기 하나의 URL에 기초하여 생성된 매니페스트를 단말에게 전송한다.
단말은 매니페스트를 분석한 후 기대한 세그먼트를 서버로 요청한다.
상기 단말로부터 세그먼트 요청을 수신하면, 서버는 1219 단계에서 헤드 정보를 이용하여 moov 박스를 생성하고, 1220 단계에서 단말에서 요청한 세그먼트 및 상기 moov 박스를 전송한다. 그러므로 서버가 세그먼트 요청을 단말로부터 수신하면 기대한 세그먼트를 단말에게 전송한다.
만일 1210 단계에서 매니페스트가 다른 서비스 데이터와 동일한 파일에 존재하면, 서버는 1218 단계에서 파일내에 매니페스트 박스를 생성한다. 상기와 같이 생성된 매니페스트가 단말에 의하여 다운로드된다. 상기 단말로부터 세그먼트 요청을 수신하면, 서버는 1219 단계에서 헤드 정보를 이용하여 moov 박스를 생성하고, 1220 단계에서 단말에서 요청한 세그먼트 및 상기 moov 박스를 전송한다. 즉, 서버가 세그먼트 요청을 단말로부터 수신하면 기대한 세그먼트를 단말에게 전송한다. 또는, 1218단계에서 생성된 매니페스트 박스는 1219단계에서 생성된 moov box와 사용자에게 전송될 세그먼트와 함께 하나의 파일로 단말에게 전송된다.상기의 서버 동작은 본 명세서에서 명시한 실시 예를 모두 적용 가능함은 물론이다.
도 13은 단말의 블록 구성도이다.
단말(1300)은 매니페스트 분석기(1310), 파일 분석기(parser)(1320), 디코더(1330)로 구성된다.
매니페스트 분석기(1310)는 만일 매니페스트가 무브 박스, 미디어 데이터 박스와 독립적으로 구성되어 있으면, 매니페스트를 획득하여 분석한다. 그리고 파일 분석기(1320)는 매니페스트를 제외한 다른 박스들, 예를 들어 moov box, 세그먼트내의 다양한 box들을 요청하고 상기 수신된 박스들을 분석한다. 매니페스트 분석기(1310)는 만일 매니페스트가 파일내에 있으면 파일내에 있는 매니페스트 박스를 검출하여 분석한다.
파일 분석기(paser)(1320)는 파일에 있는 다른 박스와 mdat를 분석한다. 그러면 단말은 기대한 세그먼트를 디코더(1330)를 통해 복호화하고 재생한다.
도 14는 서버의 블록 구성도이다.
서버(1400)는 서비스 데이터 제공부(1410), 매니페스트 생성기(1412), 파일 생성기(1414)로 구성된다.
서버(1400)의 서비스 데이터 제공부(1410)는 모든 서비스 소스를 가진다.
도면에 도시하지 않은 제어부는 단말로부터 매니페스트 요청을 수신하고, 매니페스트가 데이터 파일과 독립적인가를 판단한다.
매니페스트 생성기(1412)는 만약 매니페스트가 데이터 파일과 독립적 경우, 파일로부터 서비스 데이터와 임의의 정보(예를 들어, 세그먼트의 위치)를 바탕으로 매니페스트 정보를 생성한다.
파일 생성기(1414)는 만일 매니페스트가 파일 내부에 놓여지게 되면 매니페스트 박스가 파일 내부에 포함되도록 파일을 생성된다. 매니페스트가 데이터 파일과 독립적인 경우, 매니페스트 파일을 제외한 다른 파일들, 예를 들어 moov box 및 세그먼트들이 포함되도록 파일을 생성한다.
또한 도시되지는 않았으나, 상기 본 발명의 실시예에 의해 생성된 파일 포맷에 따라 데이터를 기록,저장 및 재생할 수 있다. 즉, 하나의 파일내에 매니페스트가 포함된 경우 저장 매체(예를 들어, CD, DVD, BD, USB등)에 하나의 파일내에 복수의 세그먼트 및 moov box, mani box를 포함하도록 저장하고, 재생 시 mani box부터 읽고 해석하여 세그먼트를 재생할 수 있다. 또한, 매니페스트를 moov box 및 다른 세그먼트들과 별도의 파일로 저장하고, 재생 시 별도의 파일로 저장된 mani box부터 읽고 해석하여 원하는 데이터를 포함한 세그먼트를 재생할 수 있다. 저장 매체를 통해 저장 및 재생할 경우, 실시 예에 대한 설명에서 URL 정보를 저장 위치 정보(예를 들어, memory address등)로 치환함으로써 보다 용이하게 저장 및 재생 할 수 있다.
한편 본 발명의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시 예에 국한되어 정해져서는 안되며 후술하는 특허청구의 범위뿐 아니라 이 특허청구의 범위와 균등한 것들에 의해서 정해져야 한다.

Claims (20)

  1. 서버에서 파일을 전송하는 방법에 있어서,
    적응적 스트림 서비스를 위한 상기 파일을 생성하는 과정; 및
    상기 파일을 전송하는 과정을 포함하고,
    상기 파일은 적어도 하나의 세그먼트와 관련된 정보, 상기 적어도 하나의 세그먼트의 바이트 범위에 대한 속성 정보, 및 상기 파일이 업데이트가 가능한지 여부를 나타내는 정보를 포함함을 특징으로 하는 파일 전송 방법.
  2. 제1항에 있어서,
    상기 파일은,
    동일한 서비스에 대한 서로 다른 각도의 카메라에 의한 뷰(view)에 관련된 정보를 더 포함함을 특징으로 하는 파일 전송 방법.
  3. 제2항에 있어서,
    상기 파일은,
    현재 파일 및 다음 파일간 관계를 나타내는 정보;
    상기 적어도 하나의 세그먼트의 시작 시간을 지시하는 시작 시간 정보; 및
    상기 적어도 하나의 세그먼트의 구간(duration)을 지시하는 구간 정보 중 적어도 하나를 더 포함함을 특징으로 하는 파일 전송 방법.
  4. 제1항에 있어서, 상기 파일은 상기 적어도 하나의 세그먼트로부터 분리하거나 또는 상기 적어도 하나의 세그먼트를 포함하는 것을 특징으로 하는 파일 전송 방법.
  5. 제1항에 있어서, 상기 범위에 대한 속성 정보는 오프셋에 대한 정보 및 상기 적어도 하나의 세그먼트의 바이트의 개수에 대한 정보를 포함함을 특징으로 하는 파일 전송 방법.
  6. 서버에서 파일을 전송하는 장치에 있어서,
    적응적 스트림 서비스를 위한 상기 파일을 생성하는 프로세서; 및
    상기 파일을 전송하는 전송기를 포함하고,
    상기 파일은 적어도 하나의 세그먼트와 관련된 정보, 상기 적어도 하나의 세그먼트의 바이트 범위에 대한 속성 정보, 및 상기 파일이 업데이트가 가능한지 여부를 나타내는 정보를 포함함을 특징으로 하는 파일 전송 장치.
  7. 제6항에 있어서,
    상기 파일은,
    동일한 서비스에 대한 서로 다른 각도의 카메라에 의한 뷰(view)에 관련된 정보를 더 포함함을 특징으로 하는 파일 전송 장치.
  8. 제7항에 있어서,
    상기 파일은,
    현재 파일 및 다음 파일간 관계를 나타내는 정보;
    상기 적어도 하나의 세그먼트의 시작 시간을 지시하는 시작 시간 정보; 및
    상기 적어도 하나의 세그먼트의 구간(duration)을 지시하는 구간 정보 중 적어도 하나를 더 포함함을 특징으로 하는 파일 전송 장치.
  9. 제6항에 있어서, 상기 파일은 상기 적어도 하나의 세그먼트로부터 분리하거나 또는 상기 적어도 하나의 세그먼트를 포함하는 것을 특징으로 하는 파일 전송 장치.
  10. 제6항에 있어서, 상기 범위에 대한 속성 정보는 오프셋에 대한 정보 및 상기 적어도 하나의 세그먼트의 바이트의 개수에 대한 정보를 포함함을 특징으로 하는 파일 전송 장치.
  11. 수신기에서 파일을 재생하는 방법에 있어서,
    적응적 스트림 서비스를 위한 상기 파일을 수신하는 과정;
    상기 파일을 확인하는 과정; 및
    상기 파일의 확인 결과를 기반으로 하여 디코딩하는 과정을 포함하고,
    상기 파일은 적어도 하나의 세그먼트와 관련된 정보, 상기 적어도 하나의 세그먼트의 바이트 범위에 대한 속성 정보, 및 상기 파일이 업데이트가 가능한지 여부를 나타내는 정보를 포함함을 특징으로 하는 파일 재생 방법.
  12. 제11항에 있어서,
    상기 파일은,
    동일한 서비스에 대한 서로 다른 각도의 카메라에 의한 뷰(view)에 관련된 정보를 더 포함함을 특징으로 하는 파일 재생 방법.
  13. 제12항에 있어서,
    상기 파일은,
    현재 파일 및 다음 파일간 관계를 나타내는 정보;
    상기 적어도 하나의 세그먼트의 시작 시간을 지시하는 시작 시간 정보; 및
    상기 적어도 하나의 세그먼트의 구간을 지시하는 구간 정보 중 적어도 하나를 더 포함함을 특징으로 하는 파일 재생 방법.
  14. 제11항에 있어서, 상기 파일은 상기 적어도 하나의 세그먼트로부터 분리하거나 또는 상기 적어도 하나의 세그먼트를 포함하는 것을 특징으로 하는 파일 재생 방법.
  15. 제11항에 있어서, 상기 범위에 대한 속성 정보는 오프셋에 대한 정보 및 상기 적어도 하나의 세그먼트의 바이트의 개수에 대한 정보를 포함함을 특징으로 하는 파일 재생 방법.
  16. 수신기에서 파일을 재생하는 장치에 있어서,
    적응적 스트림 서비스를 위한 상기 파일을 수신하는 수신부;
    상기 파일을 확인하는 프로세서; 및
    상기 파일의 확인 결과를 기반으로 하여 상기 파일을 디코딩하는 디코더를 포함하고,
    상기 파일은 적어도 하나의 세그먼트와 관련된 정보, 상기 적어도 하나의 세그먼트의 바이트 범위에 대한 속성 정보, 및 상기 파일이 업데이트가 가능한지 여부를 나타내는 정보를 포함함을 특징으로 하는 파일 재생 장치.
  17. 제16항에 있어서,
    상기 파일은,
    동일한 서비스에 대한 서로 다른 각도의 카메라에 의한 뷰(view)에 관련된 정보를 더 포함함을 특징으로 하는 파일 재생 장치.
  18. 제17항에 있어서,
    상기 파일은,
    현재 파일 및 다음 파일간 관계를 나타내는 정보;
    상기 적어도 하나의 세그먼트의 시작 시간을 지시하는 시작 시간 정보; 및
    상기 적어도 하나의 세그먼트의 구간을 지시하는 구간 정보 중 적어도 하나를 더 포함함을 특징으로 하는 파일 재생 장치.
  19. 제16항에 있어서, 상기 파일은 상기 적어도 하나의 세그먼트로부터 분리하거나 또는 상기 적어도 하나의 세그먼트를 포함하는 것을 특징으로 하는 파일 재생 장치.
  20. 제16항에 있어서, 상기 범위에 대한 속성 정보는 오프셋에 대한 정보 및 상기 적어도 하나의 세그먼트의 바이트의 개수에 대한 정보를 포함함을 특징으로 하는 파일 재생 장치.
KR1020170001556A 2010-03-05 2017-01-04 파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치와 그 기록 매체 KR101783579B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20100020148 2010-03-05
KR1020100020148 2010-03-05

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020110020025A Division KR101695214B1 (ko) 2010-03-05 2011-03-07 파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치와 그 기록 매체

Publications (2)

Publication Number Publication Date
KR20170005178A KR20170005178A (ko) 2017-01-11
KR101783579B1 true KR101783579B1 (ko) 2017-10-23

Family

ID=44532244

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020110020025A KR101695214B1 (ko) 2010-03-05 2011-03-07 파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치와 그 기록 매체
KR1020170001556A KR101783579B1 (ko) 2010-03-05 2017-01-04 파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치와 그 기록 매체

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020110020025A KR101695214B1 (ko) 2010-03-05 2011-03-07 파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치와 그 기록 매체

Country Status (7)

Country Link
US (3) US8626870B2 (ko)
EP (1) EP2912791B1 (ko)
JP (2) JP5497919B2 (ko)
KR (2) KR101695214B1 (ko)
CN (2) CN102783167B (ko)
AU (1) AU2011221678B2 (ko)
WO (1) WO2011108893A2 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102782684B (zh) * 2010-03-05 2015-11-25 三星电子株式会社 用于发送和接收包括多个流的内容文件的方法和设备
CN102783167B (zh) * 2010-03-05 2015-10-14 三星电子株式会社 基于文件格式生成和再现自适应流的方法和装置
KR20120060134A (ko) * 2010-08-16 2012-06-11 삼성전자주식회사 광고 재생 방법 및 장치
US20130291002A1 (en) * 2012-04-25 2013-10-31 Cox Communications, Inc. Systems and Methods for Delivery of Media Content
KR102181776B1 (ko) * 2012-06-05 2020-11-24 삼성전자주식회사 범용 디바이스에서의 파일 송/수신 장치 및 방법
EP2859707B1 (en) * 2012-07-13 2018-01-03 Huawei Technologies Co., Ltd. Signaling and handling content encryption and rights management in content transport and delivery
US9454995B2 (en) * 2012-11-30 2016-09-27 Samsung Electronics Co., Ltd. Information storage medium storing content, content providing method, content reproducing method and apparatus therefor
KR101932539B1 (ko) * 2013-02-18 2018-12-27 한화테크윈 주식회사 동영상 데이터를 기록하는 방법, 및 이 방법을 채용한 촬영 장치
WO2014178872A2 (en) 2013-05-02 2014-11-06 This Technology, Inc. Method and system for efficient manifest manipulation
US10104190B2 (en) * 2013-07-12 2018-10-16 Canon Kabushiki Kaisha Adaptive data streaming method with push messages control
CN104469433B (zh) * 2013-09-13 2018-09-07 深圳市腾讯计算机系统有限公司 一种视频直播回看方法及装置
US20150106841A1 (en) * 2013-10-14 2015-04-16 Rhythm Newmedia Inc. Dynamic Advertisement During Live Streaming
KR101560727B1 (ko) * 2014-04-07 2015-10-15 네이버 주식회사 멀티트랙 비디오 컨텐츠의 제공을 위한 멀티트랙 비디오 컨텐츠 서비스 방법 및 시스템
US10121187B1 (en) * 2014-06-12 2018-11-06 Amazon Technologies, Inc. Generate a video of an item
KR101600469B1 (ko) * 2014-07-16 2016-03-07 김재경 스트리밍 서비스를 위한 클라이언트 및 서버의 동작 방법
CN105323597B (zh) * 2014-08-04 2019-03-08 中国电信股份有限公司 Mp4文件播放方法、处理方法和装置以及播放系统
US9794604B2 (en) * 2014-11-14 2017-10-17 Panopto, Inc. Systems and methods for transmitting segment-quality units of a streaming video session
US9407968B2 (en) * 2014-12-22 2016-08-02 Verizon Patent And Licensing Inc. Multicast and unicast adaptive bitrate services
US10291681B2 (en) * 2015-06-18 2019-05-14 Ericsson Ab Directory limit based system and method for storing media segments
US10440436B1 (en) * 2015-06-26 2019-10-08 Amazon Technologies, Inc. Synchronizing interactive content with a live video stream
US9973819B1 (en) 2015-06-26 2018-05-15 Amazon Technologies, Inc. Live video stream with interactive shopping interface
US10021458B1 (en) 2015-06-26 2018-07-10 Amazon Technologies, Inc. Electronic commerce functionality in video overlays
US9883249B2 (en) 2015-06-26 2018-01-30 Amazon Technologies, Inc. Broadcaster tools for interactive shopping interfaces
US10432690B1 (en) 2016-06-03 2019-10-01 Amazon Technologies, Inc. Manifest partitioning
US10116719B1 (en) 2016-06-03 2018-10-30 Amazon Technologies, Inc. Customized dash manifest
US10104143B1 (en) * 2016-06-03 2018-10-16 Amazon Technologies, Inc. Manifest segmentation
US20190238950A1 (en) * 2018-01-31 2019-08-01 Qualcomm Incorporated Dynamic conditional advertisement insertion
JP7271099B2 (ja) * 2018-07-19 2023-05-11 キヤノン株式会社 ファイルの生成装置およびファイルに基づく映像の生成装置
BR112021004423A2 (pt) * 2018-09-17 2021-05-25 Google Llc métodos, sistemas e mídia para liberar conteúdo de mídia de transmissão por streaming sem manifesto
CN111182053A (zh) * 2019-12-27 2020-05-19 北京明略软件系统有限公司 一种下载文件的方法、装置、计算机存储介质及终端
CN112351079B (zh) * 2020-10-23 2021-10-22 武汉大学 一种基于数据盒的空间应用和数据一体化封装系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070060136A1 (en) 2005-09-14 2007-03-15 Jorey Ramer Managing sponsored content based on device characteristics

Family Cites Families (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1555591B1 (en) 1995-02-13 2013-08-14 Intertrust Technologies Corp. Secure transaction management
US5953506A (en) * 1996-12-17 1999-09-14 Adaptive Media Technologies Method and apparatus that provides a scalable media delivery system
US6092149A (en) * 1997-05-28 2000-07-18 Western Digital Corporation Disk drive cache system using a dynamic priority sequential stream of data segments continuously adapted according to prefetched sequential random, and repeating types of accesses
CN100437528C (zh) 1999-12-03 2008-11-26 松下电器产业株式会社 数据自适应装置、数据自适应方法
US6694336B1 (en) * 2000-01-25 2004-02-17 Fusionone, Inc. Data transfer and synchronization system
GB2361154B (en) * 2000-04-06 2004-01-14 Sony Uk Ltd Digital broadcasting
US7259694B2 (en) * 2001-02-26 2007-08-21 International Business Machines Corporation Wireless communication system and method to provide geo-spatial related event data
GB0108911D0 (en) * 2001-04-10 2001-05-30 Pace Micro Tech Plc Broadcast data systems
US6779058B2 (en) * 2001-07-13 2004-08-17 International Business Machines Corporation Method, system, and program for transferring data between storage devices
US7305421B2 (en) * 2001-07-16 2007-12-04 Sap Ag Parallelized redo-only logging and recovery for highly available main memory database systems
JP3847751B2 (ja) * 2002-03-18 2006-11-22 シャープ株式会社 データ記録方法、データ記録装置、データ記録媒体、データ再生方法及びデータ再生装置
US20040003038A1 (en) * 2002-06-27 2004-01-01 Microsoft Corporation Live content processing for online presentation
KR100486713B1 (ko) * 2002-09-17 2005-05-03 삼성전자주식회사 멀티미디어 스트리밍 장치 및 방법
US20060200509A1 (en) * 2003-07-15 2006-09-07 Cho Yong J Method and apparatus for addressing media resource, and recording medium thereof
US20050102371A1 (en) * 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
KR101022471B1 (ko) 2004-01-17 2011-03-16 삼성전자주식회사 멀티미디어 데이터를 기록한 정보저장매체, 그 재생방법및 재생장치
US20080126517A1 (en) * 2004-10-29 2008-05-29 Monta Nakatsuka File Transfer System, Transmitting Device and Receiving Device
KR100735218B1 (ko) * 2004-12-14 2007-07-03 삼성전자주식회사 디지털 방송수신기의 방송정보 표시장치 및 방법
US7191215B2 (en) 2005-03-09 2007-03-13 Marquee, Inc. Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines
KR20060125465A (ko) * 2005-06-02 2006-12-06 엘지전자 주식회사 기록매체, 데이터 재생방법 및 재생장치와 데이터 저장방법및 저장장치
US9113147B2 (en) 2005-09-27 2015-08-18 Qualcomm Incorporated Scalability techniques based on content information
US20070192761A1 (en) * 2006-02-15 2007-08-16 Ravi Sahita Method for adding integrity information to portable executable (PE) object files after compile and link steps
US8015491B2 (en) * 2006-02-28 2011-09-06 Maven Networks, Inc. Systems and methods for a single development tool of unified online and offline content providing a similar viewing experience
JP4994698B2 (ja) * 2006-04-13 2012-08-08 キヤノン株式会社 情報伝送装置及び情報伝送方法
JP4944484B2 (ja) 2006-04-20 2012-05-30 キヤノン株式会社 再生装置、再生方法及びプログラム
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
US8543785B2 (en) * 2006-07-28 2013-09-24 Microsoft Corporation Protocol for managed copy of media content
US20080091606A1 (en) * 2006-10-12 2008-04-17 William Grecia Proprietary encapsulated session container with embedded features for a post transferred option for electronic commerce along with a system for distribution and user access
US20080163375A1 (en) * 2006-12-28 2008-07-03 Savagaonkar Uday R Embedding and patching integrity information in a program file having relocatable file sections
US8271998B2 (en) * 2007-04-27 2012-09-18 International Business Machines Corporation Dynamic discovery and definition of mappings of parameters used by service oriented architecture services at runtime
US8489702B2 (en) * 2007-06-22 2013-07-16 Apple Inc. Determining playability of media files with minimal downloading
US8755672B2 (en) * 2007-06-26 2014-06-17 Lg Electronics Inc. Media file format based on, method and apparatus for reproducing the same, and apparatus for generating the same
US20090021486A1 (en) * 2007-07-19 2009-01-22 Apple Inc. Dashboard Surfaces
US8135988B2 (en) * 2007-10-19 2012-03-13 Oracle International Corporation Non-intrusive gathering of diagnostic data using asynchronous mechanisms
US8332404B2 (en) * 2007-10-25 2012-12-11 Hewlett-Packard Development Company, L.P. Data processing apparatus and method of processing data
US20090138579A1 (en) * 2007-11-26 2009-05-28 Emtrace Technologies, Inc. Remote configuration of electronic device with user interface provided from electronic device
US20090177942A1 (en) * 2008-01-09 2009-07-09 Nokia Corporation Systems and methods for media container file generation
KR20090088772A (ko) 2008-02-15 2009-08-20 삼성전자주식회사 슬라이드 쇼를 위한 영상파일을 생성 및 재생하기 위한시스템 및 방법
JP5047080B2 (ja) * 2008-07-03 2012-10-10 キヤノン株式会社 画像処理装置及びその制御方法及びプログラム
US9369516B2 (en) * 2009-01-13 2016-06-14 Viasat, Inc. Deltacasting
US8074043B1 (en) * 2009-01-30 2011-12-06 Symantec Corporation Method and apparatus to recover from interrupted data streams in a deduplication system
CN101499918A (zh) * 2009-02-10 2009-08-05 宇龙计算机通信科技(深圳)有限公司 一种自适应流媒体播放方法、装置、系统及移动终端
US8909806B2 (en) * 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
US20120011270A1 (en) * 2009-04-09 2012-01-12 Clinton Priddle Methods and arrangements for creating and handling media files
EP2443807B1 (en) * 2009-06-15 2017-12-27 BlackBerry Limited Methods and apparatus to facilitate client controlled sessionless adaptation
US8205004B1 (en) * 2009-06-26 2012-06-19 Adobe Systems Incorporated Multi-bit-rate streaming delivery
WO2011039614A1 (en) * 2009-09-29 2011-04-07 Nokia Corporation Systems, methods and apparatuses for media file streaming
WO2011044287A1 (en) * 2009-10-06 2011-04-14 Openwave Systems Inc. Managing network traffic by editing a manifest file and/or using intermediate flow control
US20110167345A1 (en) * 2010-01-06 2011-07-07 Jeremy Jones Method and apparatus for selective media download and playback
KR101777348B1 (ko) * 2010-02-23 2017-09-11 삼성전자주식회사 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치
CN102782684B (zh) * 2010-03-05 2015-11-25 三星电子株式会社 用于发送和接收包括多个流的内容文件的方法和设备
CN102783167B (zh) * 2010-03-05 2015-10-14 三星电子株式会社 基于文件格式生成和再现自适应流的方法和装置
US8880633B2 (en) * 2010-12-17 2014-11-04 Akamai Technologies, Inc. Proxy server with byte-based include interpreter
GB2483125B (en) * 2011-02-25 2012-09-26 British Sky Broadcasting Ltd Media system
US8849950B2 (en) * 2011-04-07 2014-09-30 Qualcomm Incorporated Network streaming of video data using byte range requests
US8868964B2 (en) * 2012-11-20 2014-10-21 Adobe Systems Incorporated Method and apparatus for supporting failover for live streaming video

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070060136A1 (en) 2005-09-14 2007-03-15 Jorey Ramer Managing sponsored content based on device characteristics

Also Published As

Publication number Publication date
US10630759B2 (en) 2020-04-21
CN102783167B (zh) 2015-10-14
EP2912791A4 (en) 2016-08-10
CN102783167A (zh) 2012-11-14
US20110219098A1 (en) 2011-09-08
CN104394487A (zh) 2015-03-04
EP2912791B1 (en) 2019-05-01
JP2014135749A (ja) 2014-07-24
US20140095672A1 (en) 2014-04-03
US20180176286A1 (en) 2018-06-21
JP5781179B2 (ja) 2015-09-16
AU2011221678B2 (en) 2014-08-14
WO2011108893A2 (en) 2011-09-09
AU2011221678A1 (en) 2012-07-19
KR101695214B1 (ko) 2017-01-11
EP2912791A2 (en) 2015-09-02
JP2013518507A (ja) 2013-05-20
US9906580B2 (en) 2018-02-27
US8626870B2 (en) 2014-01-07
KR20110101101A (ko) 2011-09-15
KR20170005178A (ko) 2017-01-11
WO2011108893A3 (en) 2012-03-01
JP5497919B2 (ja) 2014-05-21
CN104394487B (zh) 2018-02-06

Similar Documents

Publication Publication Date Title
KR101783579B1 (ko) 파일 포맷 기반의 적응적 스트림 생성, 재생 방법 및 장치와 그 기록 매체
JP7015617B2 (ja) コンテンツの送受信方法及び装置
US10819815B2 (en) Apparatus and method for providing streaming content
EP2540034B1 (en) Method and apparatus for transmitting and receiving data
KR101739272B1 (ko) 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법
US10027736B2 (en) Apparatus and method for providing streaming content
US20220167025A1 (en) Method, device, and computer program for optimizing transmission of portions of encapsulated media content
CN107534793B (zh) 接收装置、传输装置以及数据处理方法
US10104184B2 (en) Hybrid delivery mechanism in multimedia transmission system
US9219931B2 (en) Method and apparatus for transmitting and receiving service discovery information in multimedia transmission system and file structure for the same

Legal Events

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