[go: up one dir, main page]

KR101620151B1 - 클라이언트와, 콘텐트 생성기 엔티티 및 미디어 스트리밍을 위한 이들의 방법 - Google Patents

클라이언트와, 콘텐트 생성기 엔티티 및 미디어 스트리밍을 위한 이들의 방법 Download PDF

Info

Publication number
KR101620151B1
KR101620151B1 KR1020137011324A KR20137011324A KR101620151B1 KR 101620151 B1 KR101620151 B1 KR 101620151B1 KR 1020137011324 A KR1020137011324 A KR 1020137011324A KR 20137011324 A KR20137011324 A KR 20137011324A KR 101620151 B1 KR101620151 B1 KR 101620151B1
Authority
KR
South Korea
Prior art keywords
temporal level
samples
sample
segment
media
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
KR1020137011324A
Other languages
English (en)
Other versions
KR20130139970A (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 KR20130139970A publication Critical patent/KR20130139970A/ko
Application granted granted Critical
Publication of KR101620151B1 publication Critical patent/KR101620151B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/31Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the temporal domain
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44008Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics in the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping
    • 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/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명의 실시형태는, 트릭 모드를 수행하기 위한 방법 및 장치에 관한 것이다. 이는, 트랙 내의 샘플을 샘플 그룹에 할당하고, 여기서 샘플 그룹 내의 모든 샘플은 하나의 시간적 레벨에 속하며, 클라이언트가 더 낮은 레벨에 독립적으로 하나의 시간적 레벨에 액세스하도록 허용함으로써 달성된다. 이 방법으로, 다른 프레임 레이트의 플레이 아웃에 관한 클라이언트에 대한 유연성이 증가되어, 더 낮은 대역폭 사용으로 귀결될 수 있다.

Description

클라이어트와, 콘텐트 생성기 엔티티 및 미디어 스트리밍을 위한 이들의 방법{A client, a content creator entity and methods thereof for media streaming}
본 발명의 실시형태는 미디어 스트리밍에 관한 것으로, 특히 트릭 모드(trick modes)를 달성하기 위한 것에 관한 것이다.
미디어, 특히 비디오의 HTTP(Hyper Text Transport Protocol) 스트리밍에의 관심이 증가하고 있다. 이는, 단순한 프로그래시브 다운로드(progressive download)를 넘어서 2개의 새로운 형태: 적응성 및 라이브 콘텐트를 제공하기 위해서 개발되고 있다. 이것이 달성되는 방법은, 콘텐트가, 예를 들어 콘텐트의 10세컨드(seconds)인 콘텐트의 작은 인터벌(interval)에 대응하는 각각의 다중 세그먼트 또는 파일로 파티션되는 것이다. 클라이언트에는, MPD(Media Presentation Description)로도 공지된 매니페스트 파일(manifest file)을 구비하는데, 이 MPD는 다른 세그먼트 및 이들이 페치(fetch)되는 곳의 리스트를 가지며, 클라이언트는 이들을 차례로 페치한다. HTTP와 같은 기준 웹 프로토콜을 통해서 페치된 다른 세그먼트/파일로의 분할은, 캐쉬-프렌들리(cache-friendly) 또는 CDN(Content Distribution Network) 프렌들리로도 불리는데, 이는 RTSP(Real Time Streaming Protocol)과 같은 프로토콜에 기반해서 서버를 스트리밍하는 것과 대비했을 때, 서버 또는 캐시 내의 소정의 상태를 요구하지 않기 때문이다.
3GPP는, PSS의 릴리즈(Release) 9에서, AHS(Adaptive HTTP Streaming)로 불리는 HTTP 스트리밍에 대한 솔루션을 최근에 표준화하고 있다. 확장된 버전은 3GP-DASH(Dynamic Adaptive Streaming over HTTP)로 불리며, 현재 릴리즈 10에 명기되어 있다. 현재, MPEG(Motion Picture Experts Group)은 3GPP AHS에 기반해서, DASH(Dynamic Adaptive Streaming over HTTP)를 표준화하고 있다.
AHS 및 DASH 솔루션만 아니라 HTTP 스트리밍을 위한 그 밖의 솔루션은, 서버로부터 클라이언트에 의해 페치된 파일의 2개의 다른 타입을 사용한다. 제1타입은세션 및 특히 이용 가능한 콘텐트의 다른 변형을 기술하는 매니페스트(manifest)이다. AHS 및 DASH에 있어서, 매니페스트는 MPD 파일이고, 다른 주기에 관한 정보를 제공하며, 그러면 미디어의 다른 표현의 세그먼트는 주기 내측에 제공된다. 제2타입은 미디어 자체인데, 이는 미디어 파일 내에 포함된다. AHS 및 DASH에 있어서, 이들은 ISO(International Organization for Standardization) 파일-포맷 기반이고, 개시 세그먼트 및 미디어 세그먼트로 이루어진다.
미디어 내에서 신속하게 내비게이트(navigate)하기 위해서, 트릭 모드 및 빠른 포워드 또는 리와인드(rewind)에 의한 대안적인 플레이아웃 레이트를 허용하는 것이 일반적인데, 예를 들어 더 높은 속도 또는 심지어 백워드에서 더 빠른 미디어 스트림의 표현을 플레이한다. 이 방법에서, 유저는 스트림을 시각적으로 검색하고, 원하는 위치에서 정상 플레이백을 시작한다.
"빠른 포워드(fast forward)"의 가장 단순한 방법은 자신의 본래 레이트보다 빠르게 스트림을 플레이백하는 것이다. 이 방법은, 많은 처리 전력만 아니라, 콘텐트가 원격 서버 상에 있으면 증가된 다운로드 레이트를 요구하는 단점을 갖는다. 예를 들어, 10x 속도의 빠른 포워드를 가능하기 위해서, 10배의 디코딩 복잡도(decoding complexity)가 필요하게 된다. 도 1은 속도가 정상 속도의 2배인 빠른 포워드를 나타낸다.
빠른 포워드의 단순화된 방법은, I-프레임 또는 더 정확하게는 RAPs(Random Access Points), 예를 들어 키 프레임을 플레이백한다. 이는, I-프레임들 간의 거리에 많이 의존하는 복잡도를 감소시킨다. 제2의 I-프레임마다를 디코딩함으로써, 여전히 더 빠른 트릭-모드를 가능하게 하지만, 비디오가 시간적 레벨을 사용해서 인코딩되지 않으면, 프레그먼트적인 이미지 거리에 대응하는 트릭-모드를 쉽게 만드는 것은 쉽지 않다. 도 2는 빠른 포워드를 가능하게 하기 위해서 I-프레임 간의 점핑(jumping)을 나타낸다.
이 솔루션의 다른 단점은 이 솔루션의 높은 오버헤드(대역폭 요구)이다. 완벽한 스트림(모든 프레임)이, "원하지 않은" 프레임(대부분의 프레임)을 필터링하고 폐기하는 수신기로 송신되어야 한다.
또한, 프레임은 시간적 레벨로 분할될 수 있는 샘플로서 언급된다. 하나의 시간적 레벨 내의 모든 샘플은, 동일한 시간적 레벨 내의 샘플 또는 더 낮은 시간적 레벨 내의 샘플에만 의존한다. 시간적 레벨을 지원하는 비디오 코덱의 일례는, H.264(MPEG-4 AVC)인데, 이는 비디오 코딩 표준의 종래 기술이다. 하이브리드 코덱(hybrid codec)은 픽처 내의 리던던시(redundancy)에 더해서, 픽처(B 및 P 픽처) 간의 리던던시를 소멸하는 장점을 취한다.
H.264는 픽처 간의 의존성을 제한하는 다수의 방법을 지원해서, 독립 프레임의 서브세트가 비트스트림으로부터 추출되어, 스트림의 소정의 나머지 픽처를 사용하지 않고 디코딩될 수 있도록 한다. 예를 들어, I 프레임을 추출할 수 있는데, 이는, 고정된 GOP(Group of pictures)의 경우, 구조가 미디어 스트림 내에서 규칙적으로 나타나게 된다. 그 밖의 옵션들은, 미디어 스트림의 시간적 레벨을 추출하기 위해서 계층적인 B 및/또는 P 픽처를 활용하도록 된다.
시간적 스케일러빌러티(scalability) 코딩 구조의 예가 도 3에 보여진다. 도 3에 있어서, 픽처(I, P 및 B)는 그들의 레벨 0, 1, 2 또는 3으로 인덱스된다. 하나의 시간적 레벨 내의 샘플이 동일한 시간적 레벨 내의 샘플 또는 더 낮은 시간적 레벨 내의 샘플에만 의존하는 것이 보인다.
따라서, 다른 빠른 포워드(ff) 속도(정상 플레이아웃의 배수)가 이하와 같이 달성될 수 있다:
ffx8은 레벨 0의 픽처를 사용함으로써 달성되고,
ffx4는 레벨 0 및 1의 픽처를 사용함으로써 달성되며,
ffx2는 레벨 0, 1 및 2의 픽처를 사용함으로써 달성되고,
정상 플레이백은 모든 레벨 0, 1, 2 및 3에 대응한다.
3GPP 및 MPEG는, 3GP 파일 포맷 및 MP4 파일 포맷 상의 그들의 HTTP 스트리밍 딜리버리 포맷에 각각 기반하는데, 3GP 파일 포맷 및 MP4 파일 포맷은 차례로 ISO 베이스 미디어 파일 포맷에 기반한다.
3GP 또는 MP4 파일의 파일 구조는, 객체 지향적(object-oriented)이고, 파일은 박스(boxes)로 불리는 일련의 객체에 의해 형성된다. 박스의 구조는 자체의 타입에 의해 암시된다. 몇몇 박스만이 다른 박스를 포함하는 한편, 대부분의 박스는 데이터를 포함한다. 파일의 모든 데이터는 박스 내에 포함된다.
파일은, 타입 'moov'의 영화 박스 내에 포함된 개시 영화 메타데이터 부분 및 타입 'moof'의 영화-프레그먼트 박스 내에 포함된 다수의 증분의 영화 프레그먼트로 분할될 수 있다. 각각의 영화 프레그먼트는 시간 내에서 영화(멀티미디어 표현)를 확장한다. 영화 박스 및 영화 프레그먼트 박스는, 미디어 표현을 디코딩 및 렌더링하기 위해서 클라이언트에 의해 필요로 되는 정보를 포함하는 메타-데이터 박스이다. 실재 미디어 데이터는 'mdat'의 미디어-데이터 박스 내에 기억된다. 모든 이들 박스('moov', 'moof' 및 'mdat')는, 예를 들어 소정의 다른 박스가 아닌 파일만이 포함된 탑-레벨 박스이다.
3GP-DASH 및 MPEG DASH에 대해서, 3GP 및 MP4 파일의 세그먼트된 버전이 사용된다. 2개의 주요 세그먼트 타입이 있다:
개시 세그먼트(Initialization segment): 영화 프레그먼트가 아닌 영화 박스('moov')를 포함한다.
미디어 세그먼트(Media segment): 영화 박스가 아닌 하나 이상의 영화 프레그먼트('moof') 및 미디어-데이터 박스 내의 대응하는 미디어-데이터 박스('mdat')를 포함한다.
HTTP 스트리밍에 대해서 상기된 바와 같이, 클라이언트는 우선 MPD를 필요로 하는데, 이는 연관된 개시 및 미디어 세그먼트에 대한 포인터(pointer)를 포함한다. 그 다음, 개시 세그먼트(또는 예를 들어, 오디오 및 비디오에 대해서 병렬 표현이 사용되는 경우, 다수)를 다운로딩함으로써 클라이언트에 의해 HTTP 스트리밍이 개시된다. 그 후, 클라이언트는 MPD에서 기술된 바와 같이, 미디어 세그먼트를 다운로딩함으로써, HTTP 스트리밍 세션을 계속한다.
픽처는 파일 포맷 내에 액세스 유닛으로서 기억된다. 디폴트(default)에 의해, 이들은 비트스트림 내에 디코딩 순서로 나타난다. 도 4는 액세스 유닛이 영화 프레그먼트 내에 그들의 디폴트 비트스트림 순서로 기억되는 예를 나타낸다. 3개의 시간적 레벨(0, 1 및 2)이 있다.
도 4는 디코딩 순서의 프레그먼트 내의 다른 시간적 레벨을 갖는 액세스 유닛을 나타낸다: I(0), P(4), B(2), B(1), B(3), P(8), B(6), B(5), B(7) 등이다. 괄호 내의 넘버는 순서, 예를 들어 스크린 상에서 렌더링되는 프레임의 순서를 나타낸다: I(0), B(1), B(2), B(3), P(4), B(5), B(6), B(7), P(8) 등이다. I(0), P(4), P(8), ... P(36)은 시간적 레벨 0 내에 있고; B(2), B(6), ... B(34)는 시간적 레벨 1 내에 있으며; B(1), B(3), B(5), B(7), ... B(33), B(35)는 시간적 레벨 2 내에 있다.
클라이언트가 소정의 시간적 레벨에 속하는 샘플만을 다운로드하길 원하면, 필요보다 많은 데이터를 다운로드하는 것을 회피하기 위해서, 다수의 HTTP GET 바이트-범위 요청을 발행할 필요가 있다. 예를 들어, 클라이언트가 시간적 레벨 0을 다운로드하길 원하면, 빠른 포워드(fast forward)x4에 대응하는 액세스 유닛 I(0), P(4), P(8) 등을 다운로드할 필요가 있다. 빠른 ffx2에 대해서, 시간적 레벨 0 및 1은, 예를 들어 액세스 유닛 I(0), P(4), B(2), P(8), B(6) 등을 필요로 하게 된다.
상기된 바와 같이, 트릭 모드를 수행하기 위한 종래 기술의 방법은, 디코딩 복잡도 및 신호 전달의 오버헤드(signaling overhead), 예를 들어 겟 리퀘스트(get request)의 발생의 다수의 단점을 갖는다.
본 발명의 실시형태의 목적은, 트릭 모드를 달성하기 위한 개선된 솔루션을 달성하는 것이다.
이 목적은 트랙 내의 샘플을 샘플 그룹에 할당하고, 여기서 그룹 내의 모든 샘플은 하나의 시간적 레벨에 속하며, 클라이언트가 더 낮은 시간적 레벨에 독립적인 하나의 시간적 레벨에 액세스하도록 허용함으로써 달성된다. 이 방법에서, 다른 프레임 레이트의 플레이아웃(play out)에 관한 클라이언트에 대한 유연성(flexibility)은 증가해서, 더 낮은 대역폭 사용으로 귀결될 수 있다.
본 발명의 실시형태의 일측면에 따르면, 파일들의 시스템의 트릭 모드를 가능하게 하기 위한 콘텐트 생성기 엔티티에서의 방법이 제공된다. 파일들의 시스템은 적어도 하나의 개시 세그먼트 및 적어도 하나의 미디어 세그먼트를 포함하여 구성되는데, 적어도 하나의 미디어 세그먼트는 복수의 미디어 샘플을 갖는 적어도 하나의 트랙을 포함하여 구성되고, 적어도 하나의 개시 세그먼트는 적어도 하나의 미디어 세그먼트의 디스크립션(discription)을 포함하여 구성된다. 이 방법에 있어서, 동일한 시간적 레벨을 갖는 하나의 트랙 내의 미디어 샘플은 식별되고, 이 미디어 샘플은 하나의 샘플 그룹 내에서의 모든 미디어 샘플이 동일한 시간적 레벨을 갖도록 샘플 그룹 내에 그룹화된다. 샘플 그룹은 적어도 하나의 개시 세그먼트 내의 각각의 샘플 그룹의 샘플의 시간적 레벨을 가리키는 시간적 레벨 정보로 마킹되고, 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보가 적어도 하나의 개시 세그먼트 내에 부가된다.
본 발명의 실시형태의 제2측면에 따르면, 파일들의 시스템의 요구 레이트로 트릭 모드를 가능하게 하기 위한 클라이언트에서의 방법이 제공된다. 파일들의 시스템은 적어도 하나의 개시 세그먼트 및 적어도 하나의 미디어 세그먼트를 포함하여 구성되는데, 적어도 하나의 미디어 세그먼트는 복수의 미디어 샘플을 갖는 적어도 하나의 트랙을 포함하여 구성되고, 적어도 하나의 개시 세그먼트는 적어도 하나의 미디어 세그먼트의 디스크립션(discription)을 포함하여 구성된다. 이 방법에 있어서, 적어도 하나의 미디어 세그먼트의 디스크립션을 포함하여 구성되는 파일의 개시 세그먼트가 수신되는데, 클라이언트는, 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보가 포함되는 지를 클라이언트가 식별하도록 구성된다. 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보가 포함되면, 다른 레벨의 독립적으로 디코딩될 수 있는 시간적 레벨을 결정한다. 각각의 세그먼트에 대해서, 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지의 정보 및 요구 레이트에 기반해서 다운로드되는 미디어 세그먼트의 시간적 레벨이 결정되고, 대응하는 미디어 세그먼트에 대한 개시 세그먼트가 다운로드되며, 미디어 세그먼트 내에서의 관련된 시간적 레벨의 물리적인 위치가 결정되고, 미디어 세그먼트의 결정된 시간적 레벨이 다운로드된다.
본 발명의 실시형태의 제3측면에 따르면, 파일들의 시스템의 트릭 모드를 가능하게 하기 위한 콘텐트 생성기 엔티티가 제공된다. 파일들의 시스템은 적어도 하나의 개시 세그먼트 및 적어도 하나의 미디어 세그먼트를 포함하여 구성되는데, 적어도 하나의 미디어 세그먼트는 복수의 미디어 샘플을 갖는 적어도 하나의 트랙을 포함하여 구성되고, 적어도 하나의 개시 세그먼트는 적어도 하나의 미디어 세그먼트의 디스크립션(discription)을 포함하여 구성된다. 콘텐트 생성기 엔티티는, 동일한 시간적 레벨을 갖는 하나의 트랙 내의 미디어 샘플을 식별하고, 하나의 샘플 그룹 내에서의 모든 미디어 샘플이 동일한 시간적 레벨을 갖도록 미디어 샘플을 샘플 그룹 내에 그룹화하며, 적어도 하나의 개시 세그먼트 내의 각각의 샘플 그룹의 샘플의 시간적 레벨을 가리키는 시간적 레벨 정보로 샘플 그룹을 마킹하고, 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보를 적어도 하나의 개시 세그먼트 내에 부가하도록 구성된 프로세서를 포함하여 구성된다.
본 발명의 실시형태의 제4측면에 따르면, 파일들의 시스템의 요구 레이트로 트릭 모드를 가능하게 하기 위한 클라이언트가 제공된다. 파일들의 시스템은 적어도 하나의 개시 세그먼트 및 적어도 하나의 미디어 세그먼트를 포함하여 구성되는데, 적어도 하나의 미디어 세그먼트는 복수의 미디어 샘플을 갖는 적어도 하나의 트랙을 포함하여 구성되고, 적어도 하나의 개시 세그먼트는 적어도 하나의 미디어 세그먼트의 디스크립션(discription)을 포함하여 구성된다. 상기 클라이언트는, 적어도 하나의 미디어 세그먼트의 디스크립션을 포함하여 구성되는 파일의 개시 세그먼트를 수신하기 위해 구성된 입/출력 섹션을 포함하여 구성되고, 상기 클라이언트는, 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보가 포함되는 지를 식별하도록 구성되고, 다른 레벨의 독립적으로 디코딩될 수 있는 시간적 레벨을 결정하도록 구성된 프로세서를 포함하여 구성되고, 프로세서는, 각각의 세그먼트에 대해서, 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지의 정보 및 요구 레이트에 기반해서 다운로드되는 미디어 세그먼트의 시간적 레벨을 결정하도록 구성된다. 입/출력 섹션은 대응하는 미디어 세그먼트에 대한 개시 세그먼트를 다운로드하도록 구성되며, 프로세서는 미디어 세그먼트 내에서의 관련된 시간적 레벨의 물리적인 위치를 결정하도록 구성된다. 더욱이, 입/출력 섹션은 미디어 세그먼트의 결정된 시간적 레벨을 다운로드하도록 구성된다.
본 발명의 실시형태에 따른 장점은, 3GP 및 MP4 파일에 의해 사용된 H.264에 대한 현존의 스토리지 포맷(storage format)과의 하위 호환성(backward-compatiblity)이다.
도 1은 정상 속도 및 종래 기술에 따른 더 빠른 속도에서의 플레이에 의한 빠른 포워드를 도시한 도면,
도 2는 정상 속도 및 종래 기술에 따른 B/P 프레임을 스킵함에 의한 빠른 포워드를 도시한 도면,
도 3은 종래 기술에 따른 시간적 스케일러빌러티를 위한 계층적인 B 픽처 코딩을 도시한 도면,
도 4는 종래 기술에 따른 디코딩 순서로 프레그먼트 내에 다른 시간적 레벨을 갖는 샘플을 나타낸 도면,
도 5a는 본 발명의 실시형태에 따른 콘텐트 생성기 내의 방법을 도시한 플로우차트,
도 5b는 본 발명의 실시형태에 따른 클라이언트에서의 방법을 도시한 플로우차트,
도 6은 본 발명의 실시형태에 따른 클라이언트 및 콘텐트 생성기 전체를 개략적으로 도시한 도면,
도 7은 본 발명의 실시형태에 따라 샘플링 그룹으로 분할된 복수의 샘플을 갖는 트랙을 도시한 도면이다.
따라서, 트랙 내의 샘플은 계층적인 시간적 레벨 내에 그룹화되므로, 클라이언트는 하나 이상의 영화 프레그먼트를 포함하는 미디어 세그먼트 내의 샘플의 시간적 레벨을 공제할 수 있다. 이는, 트랙 또는 트랙 프레그먼트의 모든 샘플을 시간적 레벨로 그룹화하는 샘플을 사용함으로써 달성된다. 시간적 레벨(temporal level)은 시간적 층(temporal layer)으로서도 언급될 수 있는 것을 주지하자.
이전에 언급된 바와 같이, 샘플로서도 언급되는 프레임은 시간적 레벨로 분할될 수 있다. 하나의 시간적 레벨 내의 모든 샘플은, 동일한 시간적 레벨 내의 샘플 또는 더 낮은 시간적 레벨 내의 샘플에만 의존할 수 있다.
ISO/IEC 14496-12:2008 | 15444-12:2008: "Information technology-Coding of audio-visual objects-Part 12: ISO base media file format" | "Information technology-JPEG 2000 image coding system-Part 12: ISO base media file format"에 따르면, 샘플 그룹화는, 그룹화 기준에 기반해서, 하나의 샘플 그룹의 멤버로 되는 트랙 내의 각각의 샘플의 할당이다. 샘플 그룹화에서의 샘플 그룹은 인접한 샘플에 제한되지 않고, 인접하지 않은 샘플을 포함할 수 있다. 트랙 내의 샘플에 대한 하나 이상의 샘플 그룹화가 있을 수 있음에 따라, 각각의 샘플 그룹화는 그룹화의 타입을 가리키는 타입 필드를 갖는다. 예를 들어, 동일 트랙에 대한 2개의 샘플 그룹화를 포함할 수도 있다: 시간적 레벨에 대한 샘플의 할당에 기반한 하나 및 이어지는 것에 대한 다른 것.
샘플 그룹화는 2개의 링크된 데이터 구조에 의해 표현된다: (1) SampleToGroup 박스는 샘플 그룹에 대한 샘플의 할당을 나타내고; (2) SampleGroupDescription 박스는 그룹의 성질을 기술하는 각각의 샘플 그룹에 대한 샘플 그룹 엔트리를 포함한다. 다른 그룹화 기준에 기반한 다중 예의 SampleToGroup 및 SampleGroupDescription 박스들이 있을 수 있다. 이들은, 그룹화의 타입을 가리키기 위해 사용된 타입 필드에 의해 구별된다.
영화 프레그먼트 내에서의 샘플 그룹 구조에 대한 지원은, 트랙 프레그먼트 박스('raf')인 이 박스에 대한 콘테어너를 갖는 SampleToGroup 박스의 사용으로 제공된다.
이 SampleToGroup 박스는, 트랙 프레그먼트 내의 샘플이 속하는 그룹 및 샘플 그룹의 연관된 디스크립션을 발견하는데 사용될 수 있다. 이 테이블은, 동일 샘플 그룹 디스크립터를 갖는 샘플의 런(run)의 제1샘플의 인덱스를 제공하는 각각의 엔트리로 콤팩트하게 코팅된다. 샘플 그룹 디스크립션 ID는 SampleGroupDescription 박스에 대해서 언급한 인덱스인데, 이는 각각의 샘플 그룹의 특성을 기술하고, SampleTableBox 내에 존재하는 엔트리들을 포함한다. 트랙 프레그먼트 내의 샘플에 대한 하나 이상의 그룹화가 있다면, SampleToGroup 박스의 다중 예가 존재할 수 있다. SampleToGroup 박스의 각각의 예는, 다른 샘플 그룹을 구별하는 타입 코드를 갖는다. 이 연관된 SampleGroupDescription은 그룹화 타입에 대해서 동일 값을 가리킬 수 있다.
본 발명의 실시형태의 제1측면에 따르면, 파일들의 시스템의 트릭 모드를 가능하게 하기 위한 콘텐트 생성기 엔티티에서의 방법이 제공된다. 파일들의 시스템은, 적어도 하나의 개시 세그먼트 및 적어도 하나의 미디어 세그먼트를 포함하여 구성되는데, 적어도 하나의 미디어 세그먼트는 복수의 미디어 샘플을 갖는 적어도 하나의 트랙을 포함하여 구성되고, 적어도 하나의 개시 세그먼트는 적어도 하나의 미디어 세그먼트의 디스크립션(discription)을 포함한다. 도 5a의 플로우차트에 도시된 바와 같이, 상기 방법은:
501. 동일한 시간적 레벨을 갖는 하나의 트랙 내의 미디어 샘플을 식별한다.
502. 하나의 샘플 그룹 내에서의 모든 미디어 샘플이 동일한 시간적 레벨을 갖도록 미디어 샘플을 샘플 그룹 내에 그룹화한다.
503. 적어도 하나의 개시 세그먼트 내의 각각의 샘플 그룹의 샘플의 시간적 레벨을 가리키는 시간적 레벨 정보로 샘플 그룹을 마킹한다.
504. 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보를 적어도 하나의 개시 세그먼트 내에 부가한다. 
일실시형태에 따르면, 시간적 레벨 정보는 샘플 그룹화 타입과 연관되고, 시간적 레벨 정보는 샘플 디스크립션 인덱스일 수 있다.
더욱이, 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지의 정보는 또 다른 실시형태에 따른 샘플 그룹 디스크립션(sample group description)에 포함된다. 이하의 샘플 그룹 정의('tele')는 각각의 레벨(그룹)에 대한 이 정보를 가리킨다.
class TemporalLevelEntry() extends SampleGroupDescriptionEntry('tele')
{
bit(1) level_independently_decodable;
bit(7) reserved=0;
}
더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보를 부가함으로써, 교대하는 프레임 레이트의 유연성이 증가한다.
본 발명의 실시형태의 제2측면에 따르면, 클라이언트에서의 방법이 제공된다. 이 방법은, 도 5b의 플로우차트에 도시된 수반하는 단계를 포함한다.
제1단계(510)에서, 샘플 그룹 디스크립션을 포함하여 구성되는 파일의 개시 세그먼트를 수신하는데, 클라이언트는 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보가 포함되는 지를 클라이언트가 식별하도록 구성된다.
더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보가 포함되면(511), 다른 레벨의 독립적으로 디코딩될 수 있는 시간적 레벨을 결정한다.
그 다음, 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보 및 요구 레이트에 기반해서 다운로드되는 미디어 세그먼트의 레벨을 결정한다(513). 대응하는 미디어 세그먼트에 대한 개시 세그먼트를 다운로드하고, 미디어 세그먼트 내에서의 관련된 시간적 레벨의 물리적인 위치를 결정한다.
미디어 세그먼트의 결정된 시간적 레벨을 다운로드한다(514).
각각의 세그먼트에 대해서 단계 507-509을 반복한다(516).
도 6으로 돌아가서, 개시 세그먼트(660)와 미디어 세그먼트(665)를 포함하여 구성되는 파일들의 시스템은 본 발명의 실시형태에 따라 콘텐트 생성기 엔티티(610)에 의해 생성된다. 콘텐트 생성기 엔티티(610)는 프로세서(612), 메모리(614) 및 메시지를 송신하고 수신하기 위한 입/출력 섹션(616)을 포함한다. 프로세서(612)는 본 명세서에 개시된 콘텐트 생성기 엔트리 기능을 수행하도록 구성되고, 메모리(614)는 파일 디스크립션 및 미디어 세그먼트를 갖는 개시 세그먼트를, 예를 들어 기억하도록 구성된다. 클라이언트(620)는 프로세서(622), 메모리(624) 및 메시지를 송신 및 수신하기 위한 입/출력 섹션(626)을 포함한다. 프로세서(622)는 본 명세서에 개시된 클라이언트 기능을 수행하도록 구성되고, 메모리(624)는 파일 디스크립션을 갖는 개시 세그먼트 및 미디어 세그먼트를, 예컨대 기억하도록 구성된다. 미디어 콘텐트 생성기(610)의 예는, TV 오퍼레이터 및 통신 오퍼레이터이며, 클라이언트(620)의 예는, PC, 셋톱박스, 모바일 폰(mobile phone), 패드(pad) 및 TV 세트이다.
도 6에 도시된 바와 같이, 클라이언트(620)는 파일(670)들의 시스템으로부터 개시 세그먼트(660)에 대한 요청을 송신한다(651). 콘텐트 생성기 엔티티(610)는 요청된 개시 세그먼트(660)를 송신하고(652), 클라이언트(620)는 타입 'moov'의 영화 박스 내에 포함된 파일 디스크립션 정보를 갖는 개시 세그먼트(660)를 수신한다(653). 파일 디스크립션 정보 및 클라이언트의 요구 레이트(640)에 기반해서, 클라이언트는 다른 미디어 세그먼트(665)를 요청한다(654). 미디어 세그먼트는 시간적 레벨에 따라 샘플 그룹 내로 순서가 정해진 샘플들에 대응한다. 그 다음, 요청된 미디어 세그먼트(665)는 클라이언트(620)에 의해 다운로드된다(655).
본 발명의 실시형태의 또 다른 예시를 위해서, 도 7이 제공된다. 도 7은 다른 시간적 레벨 1, 2 및 3의 샘플을 갖는 트랙을 나타낸다. 도 7로부터, 시간적 레벨 1의 샘플을 사용해서 하나의 레이트가 제공되고, 시간적 레벨 2를 사용해서 다른 레이트가 제공되며, 시간적 레벨 3을 사용해서 또 다른 레이트가 제공되는 것을 볼 수 있다. 종래 기술 솔루션에 있어서, 시간적 레벨의 샘플은 더 낮은 시간적 레벨의 샘플에 의존하는 것으로 가정된다. 본 발명의 실시형태를 사용함으로써, 예를 들어 시간적 레벨 2 및 1 모두의 샘플에 추가해서, 예를 들어 시간적 레벨 2 또는 3의 샘플만을 사용하는 것이 가능하다. 그러므로, 하나의 시간적 레벨의 샘플이 더 낮은 시간적 레벨의 샘플의 독립적으로 사용되는 것을 허용함으로써, 다수의 가능한 레이트에 관한 유연성이 증가되고, 또 다른 대안적인 레이트가 트릭 모드를 달성하기 위해서 제공될 수 있다.
또한, 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보는, I 프레임이 트릭 모드를 달성하기 위해 사용될 때만 유용할 수 있다. I 프레임은 다른 시간적 레벨로 분할되고, 예를 들어 다른 I 프레임 마다가 시간적 레벨 1 상에 있고, 다른 I 프레임 마다가 시간적 레벨 2 상에 있다. I 프레임은 소정의 다른 프레임에 의존하지 않으므로, 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 본 발명의 실시형태에 따른 정보는, 소정의 레이트를 제공하기 위해서 트릭 모드를 달성하기 위한 I 프레임의 그룹을 선택하기 위해 사용될 수 있다. 따라서, I 프레임 간에 의존성이 없음에도, 시간적 레벨 간의 의존성을 가리키기 위해 본래부터 의도된 파라미터가, I 프레임의 부분만이 유연성을 증가시키는데 사용되어야 하는 것을 가리키기 위해 사용될 수 있다.
시간적 레벨 내의 비트스트림의 다른 예는, 사이에 P(prediction) 프레임(P)를 갖는 레귤라 I(Intra) 프레임을 갖는다. 예를 들어, 디코팅 순서로 이하와 같다.
I0 P1 P2 P3 I4 P5 P6 P7 I8 P9 P10 P11
이 경우, 미디어 콘테이너(mdat)는, 하나의 레벨이 더 쉬운 방법으로 다운로드되도록 P 프레임의 앞에 I 프레임을 이동시키는 것만으로 시간적으로 순서를 정할 수 있다:
I0 I8 I4 P1 P2 P3 P5 P6 P7 P9 P10 P11
인트라 프레임은, 단일 인트라 스피드가 수반되는 2중 인트라-스피드를 허용하기 위해서 계층적인 방식으로 순서가 정해진다. 그러므로, 이 예에서는, I 프레임에 대해서 2개의 시간적 레벨 및 I 및 P 프레임에 대해서 하나의 시간적 레벨이 있다.
□ ffx8은 기본 레벨, 예를 들어 레벨 1에 대응하는 픽처 I0, I8, I16, I24 등을 사용해서 달성되고,
□ ffx4는 기본 레벨 및 하나의 상위 레벨, 예를 들어 레벨 1 및 2에 대응하는 픽처 I0, I4, I8, I12 등을 사용해서 달성되며,
□ 정상 플레이백은, 모든 레벨, 예를 들어 레벨 1, 2 및 3에 대응하는 모든 픽처 I0, P1, P2, P3, I4, P5, P6, P7 등에 대응한다.
샘플 넘버에 대한 논리적인 디코딩 순서는, 이제 트랙 프레그먼트 박스(Track Fragment box) 내에서 각각의 I에 대한 하나의 트랙 런(Track Run) 및 수반되는 3 Ps에 대한 하나를 사용해서 달성될 수 있다:
trun[I0] trun[P1 P2 P3] trun[I4] trun[P5 P6 P7] trun[I8] trun[P9 P10 P11]
여기서, 각각의 턴(trun)은 상기된 시간적인 순서의 미디어 콘테이너(mdat) 내의 데이터를 가리킨다.
그러므로, 샘플들을 다른 시간적 레벨로 분할 함으로써, 클라이언트가 몇몇 시간적 레벨의 샘플만을 다운로딩함으로써 요구 대역폭을 제한하는 것을 가능하게 한다. 더욱이, 하나 이상의 시간적 레벨이 다른 레벨에 독립적으로 사용될 수 있는 것을 송신하는 가능성을 추가함으로써, 다운로드되는 다른 시간적 레벨의 샘플을 선택하는 유연성이 증가되므로, 요구 대역폭의 그라뉴얼리티(granularity)가 증가된다.
하나의 실시형태에 따라서, 시간적 레벨 정보는 샘플 그룹화 타입에 연관된다. 또 다른 실시형태에 따르면, 샘플 그룹화 타입은 샘플 그룹 디스크립션 인덱스이다. 이는, 하나의 샘플 그룹 내의 샘플의 시간적 레벨이 샘플 디스크립션 인덱스로서 가리켜지는 것을 의미한다.
더욱이, 더 낮은 시간적 레벨의 그룹으로부터의 샘플을 사용하지 않고, 시간적 레벨이 독립적으로 디코딩될 수 있는 지를 가리키는 정보는, 또 다른 실시형태에 따르면 샘플 그룹 디스크립션 인덱스 내에 포함된다.
'tele'로서 언급된 시간적 레벨과 연관된 그룹화 타입은, 샘플의 시간적 레벨에 기반해서 모든 샘플을 그룹화하기 위해서 도입된다. 트랙 플래그먼트 박스(traf) 내에 포함된 샘플-투-그룹 박스(Sample-To-Group box:sbgp)는, 하나의 실시형태에 따른 이 그룹화 타입에 따른 샘플 그룹화를 정의한다. 그롭 디스크립션 인덱스는 시간적 레벨에 대응하고, 전형적으로 1, 2, 3 등과 같은 연속적인 값을 취한다.
다른 실시형태에 있어서, 시간적 레벨에 관한 또 다른 정보는, 예를 들어 'tele' 그룹화 타입에 대한 샘플 그룹 디스크립션을 수반해서 공급된다:
class TemporalLevelEntry()
extends SampleGroupDescriptionEntry('tele') {
unsigned int(8) rate_factor;
unsigned int(32) data_offset;
}
여기서:
파라미터 rate_factor는 본래의 샘플 레이트에서 현재 및 낮은 시간적 레벨의 모든 샘플을 플레이함으로써 증가된 시간 진행이 달성하는 것에 대응하는 양의 정수이다. 시간적 레벨은 그룹 디스크립션 인덱스일 수 있는 것을 주지하자.
파라미터 data_offset은 이 그룹 디스크립션의 시간적 레벨을 갖는 파일을 포함하는 시작에 관한 제1샘플의 시작을 가리키는 정수이다.
더욱이, 파라미터 data_offset은 트랙 프레그먼트 헤더(Track Fragment Header) 박스 내에서 수립된 묵시 또는 명시의 data_offset에 부가될 수 있고/거나 파리미터 data_offset는 샘플 그룹 디스크립션 내에서 생략될 수 있다.
다른 대안에 따르면, 시간적 레벨은 그룹 디스크립션 인덱스와 동일한 대신 정수 값으로서 샘플 그룹 디스크립션 내에 명시적으로 포함될 수 있고/거나 시간적 레벨은 또한 그룹 디스크립션 인텍스 마이너스 1 또는 소정의 다른 정수에 대응할 수 있다.
본 발명의 또 다른 실시형태에 있어서는, 미디어 세그먼트의 세그먼트 타입 박스(Segment Type box:styp)의 브랜드 'tele'의 존재가 더 낮은 시간적 레벨의 샘플이 더 높은 시간적 레벨의 샘플에 선행하도록 세그먼트의 미디어 데이터가 그룹화된 것을 송신한다. 상기된 바와 같은 샘플 그룹화는, 이 경우 파일 내의 레벨의 수 및 그들의 위치에 관해서 클라이언트에 대해서 또 다른 정보를 제공한다.
미디어 세그먼트의 styp 내의 브랜드 'tele'의 존재는, 미디어 세그먼트가 시간적인 순서의 레벨에 관한 정보를 모두 반송하면, 클라이언트에 대한 초기 표시를 제공한다. 이 브랜드는, 세그먼트 내에서 먼저 송신되므로, 클라이언트가 세그먼트의 다운로드를 시작하면, 세그먼트 내의 나중의 시간적 레벨 정보를 찾는데 의미가 통하는 지를 매우 신속하게 체크할 수 있다.
610 - 엔티티.

Claims (28)

  1. 적어도 하나의 개시 세그먼트 및 적어도 하나의 미디어 세그먼트를 포함하여 구성되는 파일들의 시스템의 트릭 모드를 가능하게 하기 위한 장치를 계산하는 콘텐트 생성기에서의 방법으로서, 적어도 하나의 미디어 세그먼트는 복수의 미디어 샘플을 갖는 적어도 하나의 트랙을 포함하여 구성되고, 적어도 하나의 개시 세그먼트는 적어도 하나의 미디어 세그먼트의 디스크립션(discription)을 포함하여 구성되며,
    상기 방법은,
    - 동일한 시간적 레벨을 갖는 하나의 트랙 내의 미디어 샘플을 식별하는 단계와,
    - 하나의 샘플 그룹 내에서의 모든 미디어 샘플이 동일한 시간적 레벨을 갖도록 미디어 샘플을 샘플 그룹 내에 그룹화는 단계와,
    - 적어도 하나의 개시 세그먼트 내의 각각의 샘플 그룹의 미디어 샘플의 시간적 레벨을 가리키는 시간적 레벨 정보로 샘플 그룹을 마킹하는 단계와,
    - 더 낮은 시간적 레벨을 갖는 샘플을 사용하지 않고, 독립적으로 디코딩될 수 있는 제로보다 큰 시간적 레벨을 갖는 적어도 하나의 샘플 그룹을 가리키는 정보를 적어도 하나의 개시 세그먼트 내에 부가하는 단계와,
    - 샘플 그룹에 대해서 선택적인 다운로드 및 트릭 모드를 가능하게 하기 위해서, 적어도 하나의 개시 세그먼트를 클라이언트 계산 장치에 송신하는 단계를 포함하여 구성되는 것을 특징으로 하는 콘텐트 생성기에서의 방법.
  2. 제1항에 있어서,
    시간적 레벨 정보는 샘플 그룹화 타입과 연관된 것을 특징으로 하는 콘텐트 생성기에서의 방법.
  3. 제2항에 있어서,
    시간적 레벨 정보는 샘플 그룹 디스크립션 인덱스인 것을 특징으로 하는 콘텐트 생성기에서의 방법.
  4. 제3항에 있어서,
    샘플 그룹 디스크립션 인덱스는 rate_factor 파라미터를 포함하여 구성되는데, 그 양의 정수는 본래의 샘플 레이트에서 주어진 시간적 레벨을 갖는 샘플 및 더 낮은 시간적 레벨을 갖는 샘플 모두를 플레이함으로써 주어진 시간적 레벨을 갖는 주어진 샘플 그룹에 대해서 달성가능한 증가된 시간 진행을 가리키는 것을 특징으로 하는 콘텐트 생성기에서의 방법.
  5. 제3항에 있어서,
    샘플 그룹 디스크립션 인덱스는, 샘플의 시간적 레벨을 갖는 미디어 세그먼트의 시작에 대해서 제1샘플의 시작을 가리키는 정수인 data_offset 파라미터를 포함하여 구성되는 것을 특징으로 하는 콘텐트 생성기에서의 방법.
  6. 제1항에 있어서,
    부가된 정보는 샘플 그룹 디스크립션 내에 포함되는 것을 특징으로 하는 콘텐트 생성기에서의 방법.
  7. 제1항에 있어서,
    미디어 세그먼트의 세그먼트 타입 박스(STYP) 내의 사전에 결정된 파라미터는, 더 낮은 시간적 레벨의 샘플이 더 높은 시간적 레벨의 샘플에 선행하도록 미디어 세그먼트의 샘플이 그룹화되는 것을 송신하는데 사용되는 것을 특징으로 하는 콘텐트 생성기에서의 방법.
  8. 적어도 하나의 개시 세그먼트 및 적어도 하나의 미디어 세그먼트를 포함하여 구성되는 파일들의 시스템의 트릭 모드를 가능하게 하기 위한 콘텐트 생성기 엔티티로서, 적어도 하나의 미디어 세그먼트는 복수의 미디어 샘플을 갖는 적어도 하나의 트랙을 포함하여 구성되고, 적어도 하나의 개시 세그먼트는 적어도 하나의 미디어 세그먼트의 디스크립션(discription)을 포함하여 구성되며,
    콘텐트 생성기 엔티티는,
    동일한 시간적 레벨을 갖는 하나의 트랙 내의 미디어 샘플을 식별하고,
    하나의 샘플 그룹 내에서의 모든 미디어 샘플이 동일한 시간적 레벨을 갖도록 미디어 샘플을 샘플 그룹 내에 그룹화는 하며,
    적어도 하나의 개시 세그먼트 내의 각각의 샘플 그룹의 샘플의 시간적 레벨을 가리키는 시간적 레벨 정보로 샘플 그룹을 마킹하고,
    더 낮은 시간적 레벨을 갖는 샘플을 사용하지 않고, 독립적으로 디코딩될 수 있는 제로보다 큰 시간적 레벨을 갖는 적어도 하나의 샘플 그룹을 가리키는 정보를 적어도 하나의 개시 세그먼트 내에 부가하며,
    샘플 그룹에 대해서 선택적인 다운로드 및 트릭 모드를 가능하게 하기 위해서, 적어도 하나의 개시 세그먼트를 클라이언트 계산 장치에 송신하도록 구성되는 프로세서를 포함하여 구성되는 것을 특징으로 하는 콘텐트 생성기.
  9. 제8항에 있어서,
    시간적 레벨 정보는 샘플 그룹화 타입과 연관된 것을 특징으로 하는 콘텐트 생성기.
  10. 제9항에 있어서,
    시간적 레벨 정보는 샘플 그룹 디스크립션 인덱스인 것을 특징으로 하는 콘텐트 생성기.
  11. 제10항에 있어서,
    샘플 그룹 디스크립션 인덱스는 rate_factor 파라미터를 더 포함하여 구성되는데, 그 양의 정수는 본래의 샘플 레이트에서 주어진 시간적 레벨을 갖는 샘플 및 더 낮은 시간적 레벨을 갖는 샘플 모두를 플레이함으로써 주어진 시간적 레벨을 갖는 주어진 샘플 그룹에 대해서 달성가능한 증가된 시간 진행을 가리키는 것을 특징으로 하는 콘텐트 생성기.
  12. 제10항에 있어서,
    샘플 그룹 디스크립션 인덱스는, 샘플의 시간적 레벨을 갖는 미디어 세그먼트의 시작에 대해서 제1샘플의 시작을 가리키는 정수인 data_offset 파라미터를 더 포함하여 구성되는 것을 특징으로 하는 콘텐트 생성기.
  13. 제8항에 있어서,
    부가된 정보는 샘플 그룹 디스크립션 내에 포함되는 것을 특징으로 하는 콘텐트 생성기.
  14. 제8항에 있어서,
    미디어 세그먼트의 세그먼트 타입 박스(STYP) 내의 사전에 결정된 파라미터는, 더 낮은 시간적 레벨의 샘플이 더 높은 시간적 레벨의 샘플에 선행하도록 미디어 세그먼트의 샘플이 그룹화되는 것을 송신하는데 사용되는 것을 특징으로 하는 콘텐트 생성기.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
KR1020137011324A 2010-10-05 2011-10-03 클라이언트와, 콘텐트 생성기 엔티티 및 미디어 스트리밍을 위한 이들의 방법 Active KR101620151B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US38988410P 2010-10-05 2010-10-05
US61/389,884 2010-10-05
PCT/SE2011/051176 WO2012047158A1 (en) 2010-10-05 2011-10-03 A client, a content creator entity and methods thereof for media streaming

Publications (2)

Publication Number Publication Date
KR20130139970A KR20130139970A (ko) 2013-12-23
KR101620151B1 true KR101620151B1 (ko) 2016-05-12

Family

ID=45464070

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137011324A Active KR101620151B1 (ko) 2010-10-05 2011-10-03 클라이언트와, 콘텐트 생성기 엔티티 및 미디어 스트리밍을 위한 이들의 방법

Country Status (6)

Country Link
US (4) US9137555B2 (ko)
EP (1) EP2625867A1 (ko)
JP (1) JP5953307B2 (ko)
KR (1) KR101620151B1 (ko)
CN (1) CN103141115B (ko)
WO (1) WO2012047158A1 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2786812C (en) * 2010-01-18 2018-03-20 Telefonaktiebolaget L M Ericsson (Publ) Method and arrangement for supporting playout of content
KR101739272B1 (ko) * 2011-01-18 2017-05-24 삼성전자주식회사 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법
US9590814B2 (en) 2011-08-01 2017-03-07 Qualcomm Incorporated Method and apparatus for transport of dynamic adaptive streaming over HTTP (DASH) initialization segment description fragments as user service description fragments
US8407747B1 (en) * 2012-03-13 2013-03-26 Google Inc. Adaptive trick play streaming
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
US20130282917A1 (en) * 2012-04-24 2013-10-24 Vid Scale, Inc. Method and apparatus for smooth stream switching in mpeg/3gpp-dash
US8924582B2 (en) * 2012-07-09 2014-12-30 Futurewei Technologies, Inc. Dynamic adaptive streaming over hypertext transfer protocol client behavior framework and implementation of session management
US9282348B2 (en) * 2012-08-13 2016-03-08 Disney Enterprises, Inc. Content based partitioning of digital media content
EP2946539B1 (en) * 2013-01-17 2020-09-02 Intel IP Corporation Dash-aware network application function (d-naf)
US9307021B2 (en) * 2013-02-27 2016-04-05 Comcast Cable Communications, Llc Adaptive media transmission processing
US20150350622A1 (en) 2014-05-30 2015-12-03 Apple Inc. Packed i-frames
WO2015195463A1 (en) * 2014-06-18 2015-12-23 Arris Enterprises, Inc. Trick-play streams for adaptive bitrate streaming
GB2528039A (en) * 2014-07-01 2016-01-13 Canon Kk Method for identifying objects across time periods and corresponding device
WO2016033056A1 (en) 2014-08-26 2016-03-03 Ctera Networks, Ltd. A method and computing device for allowing synchronized access to cloud
US20170272691A1 (en) * 2014-12-22 2017-09-21 Lg Electronics Inc. Broadcast signal transmission device, broadcast signal reception device, broadcast signal transmission method, and broadcast signal reception method
US9928297B2 (en) * 2015-02-11 2018-03-27 Qualcomm Incorporated Sample grouping signaling in file formats
WO2016205733A1 (en) * 2015-06-19 2016-12-22 Huawei Technologies Co., Ltd. Template uniform resource locator signing
US20170111642A1 (en) * 2015-10-14 2017-04-20 Qualcomm Incorporated Support of random access and switching of layers and sub-layers in multi-layer video files
EP3384674A1 (en) 2015-12-04 2018-10-10 Telefonaktiebolaget LM Ericsson (publ) Technique for adaptive streaming of temporally scaling media segment levels
US11546402B2 (en) * 2019-01-04 2023-01-03 Tencent America LLC Flexible interoperability and capability signaling using initialization hierarchy
GB2597642B (en) * 2020-06-16 2023-08-02 Canon Kk Method, device, and computer program for encapsulating media data into a media file
CN115474053B (zh) * 2021-06-11 2025-03-25 腾讯科技(深圳)有限公司 一种媒体数据的处理方法及相关设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004012037A2 (en) 2002-07-26 2004-02-05 Prediwave Corporation On-the-fly mpeg trick mode processing

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2208950A1 (en) * 1996-07-03 1998-01-03 Xuemin Chen Rate control for stereoscopic digital video encoding
US20030061368A1 (en) * 1997-03-17 2003-03-27 Navin Chaddha Adaptive right-sizing of multicast multimedia streams
KR20020032803A (ko) * 2000-10-27 2002-05-04 구자홍 스트리밍 서비스를 위한 파일 구조
US6970640B2 (en) * 2001-05-14 2005-11-29 Microsoft Corporation Systems and methods for playing digital video in reverse and fast forward modes
DE10392281T5 (de) * 2002-02-25 2005-05-19 Sony Electronics Inc. Verfahren und Vorrichtung zum Untersützten von AVC in MP4
GB2403835B (en) 2002-04-29 2005-11-23 Sony Electronics Inc Apparatus and method for providing supplemental enhancement information associated with multimedia data
JP2006502677A (ja) * 2002-10-07 2006-01-19 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 無制約及びリフティング型動き補償時間フィルタ処理のための効率的動きベクトル予測
FR2864407B1 (fr) * 2003-12-22 2006-03-10 Canon Kk Procede et dispositif de transmission continue d'une video dans un reseau de communication
US20060037057A1 (en) * 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
KR100666325B1 (ko) 2004-12-15 2007-01-09 삼성전자주식회사 메모리 셀 어레이 블록 할당 방법, 메모리 셀 어레이블록의 어드레싱 방법 및 이를 이용한 반도체 메모리 장치
US20060233247A1 (en) * 2005-04-13 2006-10-19 Visharam Mohammed Z Storing SVC streams in the AVC file format
US20070014346A1 (en) * 2005-07-13 2007-01-18 Nokia Corporation Coding dependency indication in scalable video coding
JP2009506626A (ja) * 2005-08-26 2009-02-12 トムソン ライセンシング 時間的レイヤー化を使ったトリック再生
CN101690229A (zh) * 2007-06-26 2010-03-31 诺基亚公司 用于指示时间层切换点的系统和方法
KR101651137B1 (ko) * 2010-07-19 2016-08-25 엘지전자 주식회사 미디어 세그먼트 송수신 방법 및 그를 이용한 송수신 장치
US8930562B2 (en) * 2010-07-20 2015-01-06 Qualcomm Incorporated Arranging sub-track fragments for streaming video data
US8806050B2 (en) * 2010-08-10 2014-08-12 Qualcomm Incorporated Manifest file updates for network streaming of coded multimedia data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004012037A2 (en) 2002-07-26 2004-02-05 Prediwave Corporation On-the-fly mpeg trick mode processing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SUNGRYEUL RHYU el al. response to call for proposals on HTTP streaming of MEPG Media. 93. MPEG MEETING, the U.S., July 26, 2010, M17779
YING CHEN, RESPONSE TO THE CFP ON HTTP STREAMING: ADAPTIVE VIDEO STREAMING BASED ON AVC. 93 MPEG MEETING, the U.S., July 26, 2010, M17909

Also Published As

Publication number Publication date
US20130185756A1 (en) 2013-07-18
US20170149858A1 (en) 2017-05-25
US20180048692A1 (en) 2018-02-15
EP2625867A1 (en) 2013-08-14
WO2012047158A1 (en) 2012-04-12
US9137555B2 (en) 2015-09-15
CN103141115A (zh) 2013-06-05
JP5953307B2 (ja) 2016-07-20
KR20130139970A (ko) 2013-12-23
US10110654B2 (en) 2018-10-23
US9560398B2 (en) 2017-01-31
JP2013543322A (ja) 2013-11-28
US9807142B2 (en) 2017-10-31
US20150350728A1 (en) 2015-12-03
CN103141115B (zh) 2016-07-06

Similar Documents

Publication Publication Date Title
KR101620151B1 (ko) 클라이언트와, 콘텐트 생성기 엔티티 및 미디어 스트리밍을 위한 이들의 방법
JP6839257B2 (ja) 送信方法、受信方法、送信装置および受信装置
US12052450B2 (en) Fragment server directed device fragment caching
JP6342457B2 (ja) コード化ビデオデータのネットワークストリーミング
JP6516766B2 (ja) 分割タイムドメディアデータのストリーミングを改善するための方法、デバイス、およびコンピュータプログラム
US8806050B2 (en) Manifest file updates for network streaming of coded multimedia data
EP2499783B1 (en) Method and apparatus for providing trick play service
CN103843301B (zh) 经译码多媒体数据的网络串流期间的表示之间的切换
US9532088B2 (en) Trick-play streams for adaptive bitrate streaming
US10863211B1 (en) Manifest data for server-side media fragment insertion
TR201905118T4 (tr) Kodlanmış olan video verilerinin ağ akışı için hile modları

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20130501

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
A302 Request for accelerated examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20150923

Comment text: Request for Examination of Application

PA0302 Request for accelerated examination

Patent event date: 20150923

Patent event code: PA03022R01D

Comment text: Request for Accelerated Examination

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20151204

Patent event code: PE09021S01D

PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20160229

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20160503

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20160503

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20190423

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20190423

Start annual number: 4

End annual number: 4

PR1001 Payment of annual fee

Payment date: 20200428

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20210427

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20220421

Start annual number: 7

End annual number: 7