KR20110053176A - 변속 재생 서비스 제공 방법 및 장치 - Google Patents

변속 재생 서비스 제공 방법 및 장치 Download PDF

Info

Publication number
KR20110053176A
KR20110053176A KR1020100103697A KR20100103697A KR20110053176A KR 20110053176 A KR20110053176 A KR 20110053176A KR 1020100103697 A KR1020100103697 A KR 1020100103697A KR 20100103697 A KR20100103697 A KR 20100103697A KR 20110053176 A KR20110053176 A KR 20110053176A
Authority
KR
South Korea
Prior art keywords
shift
speed
frame
reproduction
playback
Prior art date
Application number
KR1020100103697A
Other languages
English (en)
Other versions
KR101750048B1 (ko
Inventor
권오훈
하호진
구안후아 장
최형탁
김선발
금지은
임성빈
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to EP10830204.3A priority Critical patent/EP2499783B1/en
Priority to CN201080061417.9A priority patent/CN102859933B/zh
Priority to PCT/KR2010/008015 priority patent/WO2011059272A2/en
Priority to US12/945,194 priority patent/US8515265B2/en
Publication of KR20110053176A publication Critical patent/KR20110053176A/ko
Priority to US14/831,427 priority patent/USRE48360E1/en
Application granted granted Critical
Publication of KR101750048B1 publication Critical patent/KR101750048B1/ko

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
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 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, manipulating MPEG-4 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by 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/75Media network packet handling
    • H04L65/752Media network packet handling adapting media to network capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6581Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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
    • 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

Abstract

스트리밍 환경의 변동(fluctuation)에 따라 적응적으로 미디어 데이터를 스트리밍하는 HAS(HTTP Adaptive Streaming) 아키텍처에서 변속 재생 서비스를 제공하는 방법 및 장치에 관한 것으로, 서버의 변속 재생 서비스 제공 방법은 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 생성하고, 미디어 표현 기술 파일을 클라이언트에게 전송하고, 미디어 표현 기술 파일에 기초한 클라이언트의 요청에 따라, 적어도 하나의 변속 재생 데이터를 클라이언트에게 전송하고, 클라이언트의 변속 재생 서비스 제공 방법은 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 서버로부터 수신하고, 미디어 표현 기술 파일에 기초하여 적어도 하나의 변속 재생 데이터를 서버로부터 수신한다.

Description

변속 재생 서비스 제공 방법 및 장치{Method and apparatus for providing trick play service}
본 발명은 변속 재생 서비스 제공 방법 및 장치에 관한 것으로, 보다 상세히는 스트리밍 환경의 변동(fluctuation)에 따라 적응적으로 미디어 데이터를 스트리밍하는 HAS(HTTP Adaptive Streaming) 아키텍처에서 변속 재생 서비스를 제공하는 방법 및 장치에 관한 것이다.
네트워크를 통해 미디어 데이터를 전송하는 방식에는 다운로드 방식과 스트리밍 방식이 있다. 스트리밍 방식은 서버가 실시간으로 미디어 데이터를 전송하고, 클라이언트는 수신된 미디어 데이터를 실시간으로 재생하는 방식이다. 다운로드 방식은 미디어 데이터를 모두 송수신한 후, 미디어 데이터를 재생하는 방식이다.
스트리밍 방식에 따르면 서버와 클라이언트 사이에 설정된 논리적인 채널을 통해 실시간으로 미디어 데이터가 송수신되고 재생된다. 이러한 스트리밍 방식에 있어서, 변속 재생 서비스를 제공할 수 있는 방법 및 장치가 필요하다.
본 발명의 목적은 스트리밍 환경의 변동(fluctuation)에 따라 적응적으로 미디어 데이터를 스트리밍하는 HAS(HTTP Adaptive Streaming) 아키텍처에서 변속 재생 서비스를 제공하는 방법 및 장치를 제공하는데 있고, 상기 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
본 발명의 일 실시예에 따르면 서버의 변속 재생 서비스 제공 방법은 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 생성하는 단계; 상기 미디어 표현 기술 파일을 클라이언트에게 전송하는 단계; 및 상기 미디어 표현 기술 파일에 기초한 상기 클라이언트의 요청에 따라, 상기 적어도 하나의 변속 재생 데이터를 상기 클라이언트에게 전송하는 단계를 포함한다.
본 발명의 일 실시예에 따르면 상기 적어도 하나의 변속 재생 데이터가 변속 재생을 위한 데이터임을 식별하는 유형 정보를 포함한다.
본 발명의 일 실시예에 따르면 상기 적어도 하나의 변속 재생 데이터는 최대 변속 재생 속도에 기초하여 그 개수가 결정되고; 소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 재생 속도에 해당하는 프레임(Frame)으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함한다.
본 발명의 일 실시예에 따르면 상기 미디어 표현 기술 파일은 상기 소정의 변속 재생 속도 및 상기 소정의 변속 재생 속도 전용의, 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트의 URL(Uniform Resource Locator)을 포함한다.
또한, 본 발명의 또 다른 실시예에 따르면 상기 미디어 표현 기술 파일은 상기 서버에 물리적으로 존재하는 2배속 재생 속도에 해당하는 변속 재생 데이터에 대한 정보 및 상기 서버에 가상으로 존재하는 적어도 하나의 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터에 대한 정보를 포함하고; 상기 미디어 표현 기술 파일에 기초한 상기 클라이언트의 요청에 따라, 상기 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터를 상기 2배속 재생 속도에 해당하는 변속 재생 데이터로부터 추출하는 단계를 더 포함한다.
본 발명의 또 다른 실시예에 따르면 상기 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터를 추출하는 단계는 프레임의 위치 및 크기를 포함하는 인덱스 파일을 이용하여 CGI(Common Gateway Interface) 프로그램으로 구현된다.
또한, 본 발명의 또 다른 실시예에 따르면 상기 적어도 하나의 변속 재생 데이터는 변속 레벨의 최대 깊이(Depth)에 기초하여 그 개수가 결정되고; 소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 레벨(Trick Level) 에 해당하는 프레임(Frame)으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함하고; 상기 소정의 변속 레벨은 계층적 구조를 구성하고, 상기 변속 레벨의 최대 깊이(Depth)에 기초한 적어도 하나의 변속 레벨 중 하나이고; 상기 변속 레벨의 최대 깊이는 최대 변속 재생 속도에 기초하여 결정되고; 상기 프레임은 상기 소정의 변속 레벨과 다른 변속 레벨에 중복으로 존재하지 않는다.
본 발명의 또 다른 실시예에 따르면 상기 미디어 표현 기술 파일은 상기 소정의 변속 레벨 및 상기 소정의 변속 레벨에 해당하는, 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트의 URL(Uniform Resource Locator)을 포함하고; 상기 소정의 변속 레벨은 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트를 이용하는 변속 재생 속도 정보들 중 적어도 하나를 포함하여 기술된다.
또한, 본 발명의 또 다른 실시예에 따르면 상기 적어도 하나의 변속 재생 데이터는 소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 재생 속도에 해당하는 프레임으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함하고; 상기 미디어 표현 기술 파일은 프레임율, 프레임 유형 및 최대 변속 재생 속도 중 적어도 하나에 대한 정보를 포함하고; 상기 프레임율은 상기 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이고; 상기 프레임 유형은 상기 적어도 하나의 변속 재생 데이터가 인트라 프레임(Intra-Frame)만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보이다.
또한, 본 발명의 일 실시예에 따르면 클라이언트의 변속 재생 서비스 제공 방법은 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 서버로부터 수신하는 단계; 상기 미디어 표현 기술 파일에 기초하여 상기 적어도 하나의 변속 재생 데이터를 상기 서버로부터 수신하는 단계를 포함한다.
본 발명의 일 실시예에 따르면 상기 미디어 표현 기술 파일은 상기 적어도 하나의 변속 재생 데이터가 변속 재생을 위한 데이터임을 식별하는 유형 정보를 포함한다.
본 발명의 일 실시예에 따르면 상기 적어도 하나의 변속 재생 데이터는 최대 변속 재생 속도에 기초하여 그 개수가 결정되고; 소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 재생 속도에 해당하는 프레임(Frame)으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함한다.
본 발명의 일 실시예에 따르면 상기 미디어 표현 기술 파일은 상기 소정의 변속 재생 속도 및 상기 소정의 변속 재생 속도 전용의, 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트의 URL(Uniform Resource Locator)을 포함한다.
또한, 본 발명의 또 다른 실시예에 따르면 상기 미디어 표현 기술 파일은 상기 서버에 물리적으로 존재하는 2배속 재생 속도에 해당하는 변속 재생 데이터에 대한 정보 및 상기 서버에 가상으로 존재하는 적어도 하나의 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터에 대한 정보를 포함하고; 상기 미디어 표현 기술 파일에 기초한 상기 클라이언트의 요청에 따라,상기 적어도 하나의 변속 재생 데이터를 상기 서버로부터 수신하는 단계는 상기 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터를 상기 서버로부터 수신하거나, 상기 서버에서 상기 2배속 재생 속도에 해당하는 변속 재생 데이터로부터 추출된 상기 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터를 상기 서버로부터 수신한다.
본 발명의 또 다른 실시예에 따르면 상기 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터는 프레임의 위치 및 크기를 포함하는 인덱스 파일에 기초한 CGI(Common Gateway Interface) 프로그램을 이용하여, 상기 서버에서 상기 2배속 재생 속도에 해당하는 변속 재생 데이터로부터 추출된다.
또한, 본 발명의 또 다른 실시예에 따르면 상기 적어도 하나의 변속 재생 데이터는 변속 레벨의 최대 깊이(Depth)에 기초하여 그 개수가 결정되고; 소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 레벨(Trick Level) 에 해당하는 프레임(Frame)으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함하고; 상기 소정의 변속 레벨은 계층적 구조를 구성하고, 상기 변속 레벨의 최대 깊이(Depth)에 기초한 적어도 하나의 변속 레벨 중 하나이고; 상기 변속 레벨의 최대 깊이는 최대 변속 재생 속도에 기초하여 결정되고; 상기 프레임은 상기 소정의 변속 레벨과 다른 변속 레벨에 중복으로 존재하지 않는다.
본 발명의 또 다른 실시예에 따르면 상기 미디어 표현 기술 파일은 상기 소정의 변속 레벨 및 상기 소정의 변속 레벨에 해당하는, 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트의 URL(Uniform Resource Locator)을 포함하고; 상기 소정의 변속 레벨은 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트를 이용하는 변속 재생 속도 정보들 중 적어도 하나를 포함하여 기술된다.
본 발명의 또 다른 실시예에 따르면 상기 적어도 하나의 변속 재생 데이터를 상기 서버로부터 수신하는 단계는 상기 클라이언트의 요청에 기초한 소정의 변속 재생 속도를 지원하기 위해, 각각 상기 변속 레벨에 대응되는 상기 적어도 하나의 변속 재생 데이터를 상기 서버로부터 수신한다.
본 발명의 또 다른 실시예에 따르면 상기 적어도 하나의 변속 재생 데이터를 재생 시간 순서대로 재배열하는 단계를 더 포함한다.
또한, 본 발명의 또 다른 실시예에 따르면 상기 적어도 하나의 변속 재생 데이터는 소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 재생 속도에 해당하는 프레임으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함하고; 상기 미디어 표현 기술 파일은 프레임율, 프레임 유형 및 최대 변속 재생 속도 중 적어도 하나에 대한 정보를 포함하고; 상기 프레임율은 상기 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이고; 상기 프레임 유형은 상기 적어도 하나의 변속 재생 데이터가 인트라 프레임만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보이다.
본 발명의 또 다른 실시예에 따르면 상기 프레임율을 특정 변속 재생 속도에 대응하는 초당 프레임 개수에 대한 정보로 변경하는 단계를 더 포함한다.
본 발명의 또 다른 실시예에 따르면 상기 프레임율에 기초하여 상기 적어도 하나의 변속 재생 데이터를 재생하는 단계를 더 포함한다.
또한, 본 발명의 일 실시예에 따르면 상기 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체를 포함한다.
또한, 본 발명의 일 실시예에 따르면 서버는 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 생성하는 정보 생성부; 상기 미디어 표현 기술 파일을 클라이언트에게 전송하는 정보 전송부; 및 상기 미디어 표현 기술 파일에 기초한 상기 클라이언트의 요청에 따라, 상기 적어도 하나의 변속 재생 데이터를 상기 클라이언트에게 전송하는 변속 재생 데이터 전송부를 포함한다.
또한, 본 발명의 일 실시예에 따르면 클라이언트는 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 서버로부터 수신하는 정보 수신부; 상기 미디어 표현 기술 파일에 기초하여 상기 적어도 하나의 변속 재생 데이터를 상기 서버로부터 수신하는 변속 재생 데이터 수신부를 포함한다.
도 1은 본 발명의 일 실시예에 따른 변속 재생 서비스 제공 시스템을 도시한다.
도 2는 본 발명의 일 실시예에 따른 변속 재생 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 변속 재생 데이터를 도시한다.
도 4는 본 발명의 일 실시예에 따른 변속 재생 데이터를 식별하는 유형 정보를 포함하는 미디어 표현 기술을 도시한다.
도 5는 본 발명의 일 실시예에 따른 2배수 단위의 변속 재생을 위한, I 프레임을 포함하는 변속 재생 데이터 구조를 도시한다.
도 6은 본 발명의 일 실시예에 따른 멀티스트림을 이용하여 변속 재생하는 방법을 도시한다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 멀티스트림을 이용하여 변속 재생하는 방법의 미디어 표현 기술을 도시한다.
도 9는 본 발명의 또 다른 실시예에 따른 프레임 위치 질의(Range Query)를 이용하여 변속 재생하는 방법을 도시한다.
도 10은 본 발명의 또 다른 실시예에 따른 프레임 위치 질의를 이용하여 변속 재생하는 방법의 MP4 파일 구조를 도시한다.
도 11은 본 발명의 또 다른 실시예에 따른 가상스트림을 이용하여 변속 재생하는 방법을 도시한다.
도 12a는 본 발명의 또 다른 실시예에 따른 인트라 프레임으로 구성된 계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법을 도시한다.
도 12b는 본 발명의 또 다른 실시예에 따른 인트라 프레임 및 인터 프레임으로 구성된 계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법을 도시한다.
도 13은 본 발명의 또 다른 실시예에 따른 계층적 구조의 멀티스트림을 이용하여 서버에서 변속 재생하는 방법을 도시한다.
도 14는 본 발명의 또 다른 실시예에 따른 계층적 구조의 멀티스트림을 이용하여 클라이언트에서 변속 재생하는 방법을 도시한다.
도 15 및 도 16a는 본 발명의 또 다른 실시예에 따른 계층적 구조의 멀티스트림을 이용하여 변속 재생하는 방법의 미디어 표현 기술을 도시한다.
도 16b는 본 발명의 또 다른 실시예에 따른 트릭 레벨 및 프레임율을 식별하는 계층적 구조의 멀티스트림을 이용하여 변속 재생하는 방법의 미디어 표현 기술을 도시한다.
도 17은 본 발명의 또 다른 실시예에 따른 MPEG TS(Transport Stream)에서 I 프레임을 찾기 위한 TS 패킷의 구조를 도시한다.
도 18은 본 발명의 또 다른 실시예에 따른 MPEG TS(Transport Stream)에서 I 프레임을 찾기 위한 TS 패킷을 구성하는 방법을 도시한다.
도 19는 본 발명의 또 다른 실시예에 따른 MPEG TS에서 I 프레임을 찾는 방법을 설명하기 위한 흐름도이다.
도 20은 본 발명의 또 다른 실시예에 따른 MPEG TS에서 I 프레임을 찾기 위한 MP4 파일 구조를 도시한다.
도 21은 본 발명의 또 다른 실시예에 따른 프레임율(Frame Rate)을 변경함으로써 변속 재생하는 방법의 개념을 도시한다.
도 22는 본 발명의 또 다른 실시예에 따른 프레임율을 변경함으로써 변속 재생하는 서버 및 클라이언트에서의 방법을 도시한다.
도 23은 본 발명의 또 다른 실시예에 따른 프레임율을 변경함으로써 변속 재생하는 방법의 미디어 표현 기술의 스키마를 도시한다.
도 24는 본 발명의 또 다른 실시예에 따른 프레임율을 변경함으로써 변속 재생하는 방법의 미디어 표현 기술을 도시한다.
도 25는 본 발명의 일 실시예에 따른 서버를 도시한다.
도 26은 본 발명의 일 실시예에 따른 클라이언트를 도시한다.
이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명한다. 도면에서 동일한 참조부호는 동일한 구성요소를 지칭하며, 도면 상에서 각 구성 요소의 크기는 설명의 명료성을 위하여 과장되어 있을 수 있다.
도 1은 본 발명의 일 실시예에 따른 변속 재생 서비스 제공 시스템을 도시한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 변속 재생 서비스 제공 시스템(100)은 인코딩 장치(110), 서버(120) 및 클라이언트(130)를 포함한다.
인코딩 장치(110)는 입력된 콘텐트를 소정의 비트율을 이용하여 프레임(Frame)으로 인코딩함으로써, 변속 재생 데이터를 생성한다. 인코딩 장치(110)는 변속 재생 데이터를 생성함에 있어서, 인트라 프레임(Intra-Frame)만을 이용하여 콘텐트를 인코딩하거나, 인트라 프레임 및 인터 프레임(Inter-Frame)을 이용하여 콘텐트를 인코딩할 수 있다. 인트라 프레임은 해당 프레임 내의 정보 만으로 인코딩되어 있는 프레임으로서, I 프레임을 포함한다. 인터 프레임은 해당 프레임 이외의 다른 프레임의 정보를 함께 참조하여 인코딩되어 있는 프레임으로서, P 프레임(Predict-Frame) 및 B 프레임(Bidirectional-Frame)을 포함한다. 다만, 인코딩 장치(110)는 재생 시작 지점의 변속 재생 데이터를 I 프레임으로만 인코딩한다.
변속 재생 데이터는 일반적으로 낮은 비트율로 인코딩되지만, 다른 비트율을 이용하여 인코딩될 수 있음은 당업자에게 자명하다. 변속 재생 데이터는 변속 재생 트랙 또는 변속 재생 스트림을 의미한다. 변속 재생 데이터는 "Fast Forward" 및 "Fast Rewind" 기능을 제공하기 위한 변속 재생 데이터를 의미한다. 인코딩 장치(110)는 서버(120) 내부에 존재하거나 물리적으로 별도의 장치로 존재할 수 있다.
인코딩 장치(110)는 동일한 콘텐트에 대해 적어도 하나의 변속 재생 데이터를 생성할 수 있는데, 생성되는 변속 재생 데이터의 개수는 변속 재생 서비스 제공 방법에 따라 상이하다.
멀티스트림을 이용하여 변속 재생하는 방법인 경우, 변속 재생 데이터는 최대 변속 재생 속도에 기초하여 그 개수가 결정된다. 최대 변속 재생 속도가 16배속이고, 2배수 단위로 변속 재생 서비스를 제공하는 시스템인 경우, 변속 재생 데이터의 개수는 4개이고, 복수의 변속 재생 데이터는 2배속 재생 속도에 해당하는 변속 재생 데이터, 4배속 재생 속도에 해당하는 변속 재생 데이터, 8배속 재생 속도에 해당하는 변속 재생 데이터, 16배속 재생 속도에 해당하는 변속 재생 데이터를 포함한다. 이하에서, 멀티스트림은 적어도 하나의 변속 재생 데이터를 의미한다.
프레임 위치 질의(Range Query)를 이용하여 변속 재생하는 방법인 경우, 변속 재생 데이터는 2배속 재생 속도에 해당하는 하나의 변속 재생 데이터를 의미한다. 서버(120)로부터 프레임의 위치 및 크기를 포함하는 인덱스 파일을 수신한 클라이언트(130) 요청에 의해, 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터는 2배속 재생 속도에 해당하는 변속 재생 데이터로부터 추출된다.
가상스트림(Virtual Stream)을 이용하여 변속 재생하는 방법인 경우, 변속 재생 데이터는 2배속 재생 속도에 해당하는 하나의 변속 재생 데이터를 의미한다. 서버에 존재하는, 프레임의 위치 및 크기를 포함하는 인덱스 파일을 이용하여 서버의 CGI(Common Gateway Interface) 프로그램을 통해, 클라이언트 요청이 있을 때 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터는 2배속 재생 속도에 해당하는 변속 재생 데이터로부터 추출된다. 이하에서, 가상스트림은 2배속 이외의 재생 속도에 해당하는 적어도 하나의 변속 재생 데이터를 의미한다.
계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법인 경우, 변속 재생 데이터는 변속 레벨의 최대 깊이(Depth)에 기초하여 그 개수가 결정된다. 변속 레벨의 최대 깊이는 궁극적으로 최대 변속 재생 속도에 의해 결정된다. 최대 변속 재생 속도가 16배속이고, 2배수 단위로 변속 재생 서비스를 제공하는 시스템인 경우, 변속 레벨의 최대 깊이는 4이고, 변속 재생 데이터의 개수는 4개이다. 각각의 변속 재생 데이터는 TL(Trick Level)1, TL2, TL3 및 TL4에 대응한다. 이하에서, 계층적 구조의 멀티스트림은 각각 변속 레벨에 대응하는 적어도 하나의 변속 재생 데이터를 의미한다.
프레임율(Frame Rate)을 변경함으로써 변속 재생하는 방법인 경우, 변속 재생 데이터는 2배속 재생 속도에 해당하는 하나의 변속 재생 데이터를 의미한다. 2배속 이외의 재생 속도는 클라이언트(130)에서 2배속 재생 속도에 해당하는 변속 재생 데이터의 재생 프레임율을 변경함으로써 지원할 수 있다.
상기 5가지의 변속 재생 서비스 제공 방법들은 도 5 내지 도 24 참조하여 상세히 설명한다.
서버(120)는 적어도 하나의 변속 재생 데이터를 인코딩 장치(110)로부터 수신하고, 이 때, 변속 재생 데이터에 대한 정보가 함께 서버(120)에 전송된다. 변속 재생 데이터에 대한 정보는 미디어 표현 기술(MPD: Media Presentation Description) 파일로 기술될 수 있으나, 다른 방법을 이용하여 기술될 수 있음은 당업자에게 자명하다. 변속 재생 데이터에 대한 정보는 변속 재생 데이터의 비트율, 유형, 식별자 및 URL 템플릿 등을 포함할 수 있는 바 이에 대해서는 도 4를 참조하여 상세히 설명한다.
클라이언트(130)는 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 서버(120)로부터 수신하고, 미디어 표현 기술 파일에 기초해 서버(120)에 적어도 하나의 변속 재생 데이터를 요청한다.
멀티스트림을 이용하여 변속 재생하는 방법인 경우, 클라이언트(130)는 적어도 하나의 변속 재생 데이터 중 원하는 변속 재생 속도에 해당하는 하나의 변속 재생 데이터를 요청한다.
프레임 위치 질의를 이용하여 변속 재생하는 방법인 경우, 클라이언트(130)는 미디어 표현 기술 파일에 포함된 인덱스 파일의 URL을 참조하여, 인덱스 파일을 수신한 후, 인덱스 파일에 기초하여 원하는 변속 재생 속도에 해당하는 프레임을 포함하는 변속 재생 데이터를 요청한다.
가상스트림을 이용하여 변속 재생하는 방법인 경우, 클라이언트(130)는 적어도 하나의 가상 변속 재생 데이터 중 원하는 변속 재생 속도에 해당하는 하나의 가상 변속 재생 데이터를 요청한다.
계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법인 경우, 클라이언트(130)는 원하는 변속 재생 속도를 지원하기 위해, 각각 변속 레벨에 대응되는 적어도 하나의 변속 재생 데이터를 요청한다. 원하는 변속 재생 속도를 지원하기 위한, 변속 레벨에 대응되는 변속 재생 데이터의 개수 및 해당 변속 레벨들은 도 12a 내지 도 16b를 참조하여 상세히 설명한다.
프레임율을 변경함으로써 변속 재생하는 방법인 경우, 클라이언트(130)는 기본 재생 속도(예. 2배속)에 해당하는 하나의 변속 재생 데이터를 요청한다. 이후, 클라이언트(130)는 재생 프레임율을 변경함으로써 기본 재생 속도 이외의 재생 속도를 지원할 수 있다.
클라이언트(130)가 적어도 하나의 변속 재생 데이터를 전송할 것을 요청하면, 서버(120)는 요청된 적어도 하나의 변속 재생 데이터를 클라이언트(130)에게 전송한다.
미디어 표현 기술 파일 요청 및 전송, 변속 재생 데이터 요청 및 전송은 HTTP 프로토콜을 이용할 수 있으나, 다른 프로토콜을 이용할 수도 있음은 당업자에게 자명한다.
변속 재생 데이터는 소정의 비트율을 이용하여 콘텐트를 소정의 변속 재생 속도에 해당하는 프레임(Frame)으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함할 수 있다. 다시 말해, 인코딩 장치(110)의 인코딩 결과 생성된 변속 재생 데이터는 시간에 기초해 분할된 적어도 하나의 부분을 포함할 수 있다. 서버(120)는 콘텐트를 하나의 스트림으로 인코딩하여 연속해서 전송하는 것이 아니라 복수의 부분으로 분할하여 각각 전송할 수 있다. 콘텐트는 10초 또는 20초와 같이 소정의 시간 단위로 분할하여 적어도 하나의 부분으로 생성될 수 있다. 분할의 기초가 되는 시간은 GOP(Group of Picture)에 기초해 설정될 수 있다. 하나 또는 둘 이상의 GOP의 픽처들에 대응되는 미디어 데이터를 하나의 부분으로 설정할 수 있다.
변속 재생 데이터를 시간에 기초해 각각 분할함으로써, 보다 효율적인 변속 재생 서비스를 제공할 수 있다. 예를 들어, 스트리밍이 시작되면 서버(120)는 2배속 변속 재생 데이터의 0초에서 20초에 해당하는 부분을 전송한다. 그런 다음, 20초 이후에 클라이언트(130)가 4배속 변속 재생 데이터를 요청하면, 서버(120)는 4배속 변속 재생 데이터의 20초에서 40초에 해당하는 부분을 전송할 수 있다. 변속 재생 데이터가 시간에 기초해 복수의 부분들로 분할되어 있기 때문에 변속 재생 스트리밍 도중에도 클라이언트(130) 요청에 따라 상이한 변속 재생 데이터의 부분들을 전송할 수 있다.
본 발명의 일 실시예에 따르면, 스트리밍 환경의 변동에 따라 적응적으로 미디어 데이터를 스트리밍하는 HAS 아키텍처에서 변속 재생 서비스를 제공할 수 있다. 서버는 변속 재생 데이터를 정상 속도 데이터와 별개로 제공함으로써, 클라이언트는 정상 속도 재생 모드와 변속 재생 모드 간에 재생 속도를 효율적으로 변경할 수 있다.
멀티스트림을 이용하여 변속 재생하는 방법에 있어서, 서버에서 다양한 변속 재생 속도에 대한 변속 재생 데이터들을 제공함으로써, 클라이언트는 변속 재생 속도를 효율적으로 변경할 수 있다.
프레임 위치 질의를 이용하여 변속 재생하는 방법 및 가상스트림을 이용하여 변속 재생하는 방법에 있어서, 서버에서 2배속 재생 속도에 대한 변속 재생 데이터만을 유지함으로써, 메모리 공간을 절약하면서도, 다양한 변속 재생 속도의 변속 재생 서비스를 제공할 수 있다.
계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법에 있어서, 프레임이 특정 변속 레벨과 다른 변속 레벨에 중복으로 존재하지 않기 때문에 메모리 공간을 절약하면서도, 다양한 변속 재생 속도의 변속 재생 서비스를 제공할 수 있다. 또한, 네트워크 대역폭 등의 변속 재생 환경을 고려하여, 높은 변속 레벨에서부터 점차적으로 낮은 변속 레벨로 변속 재생함으로써, 변속 재생 환경에 적응적으로(Adaptively) 변속 재생 서비스를 제공할 수 있다.
프레임율을 변경함으로써 변속 재생하는 방법에 있어서, 서버가 최대 변속 재생 속도 정보뿐만 아니라, 프레임율 및 프레임 유형 정보를 클라이언트에게 제공함으로써, 클라이언트는 서버로부터 전송받은 전체 변속 재생 데이터를 파싱할 필요없이 프레임율 및 프레임 유형 정보를 알 수 있고, 클라이언트는 제공받은 프레임율 변경만으로 다양한 변속 재생 속도의 변속 재생 서비스를 효율적으로 제공할 수 있다.
도 2는 본 발명의 일 실시예에 따른 변속 재생 방법을 설명하기 위한 흐름도이다.
단계 230에서, 서버(210)는 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 생성한다. 변속 재생 데이터에 대한 정보는 변속 재생 데이터의 비트율, 유형, 식별자 및 URL 템플릿 등을 포함할 수 있다.
단계 240에서, 클라이언트(220)는 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 서버(210)에 요청하고, 서버(210)로부터 요청된 미디어 표현 기술 파일을 수신한다.
단계 250에서, 클라이언트(220)는 적어도 하나의 변속 재생 데이터를 전송할 것을 서버(210)에 요청한다. 클라이언트(220)는 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 참조하여, 원하는 변속 재생 속도에 해당하는 적어도 하나의 변속 재생 데이터를 선택하여 서버(210)에 요청하고, 요청된 적어도 하나의 변속 재생 데이터를 서버(210)로부터 수신한다.
미디어 표현 기술 파일 요청 및 전송, 변속 재생 데이터 요청 및 전송은 HTTP 프로토콜을 이용할 수 있으나, 다른 프로토콜을 이용할 수도 있음은 당업자에게 자명한다.
도 3은 본 발명의 일 실시예에 따른 변속 재생 데이터를 도시한다.
서버(120)는 하나의 콘텐트를 복수의 상이한 비트율로 인코딩하여 생성된 복수의 미디어 데이터(310 내지 320)와 함께 적어도 하나의 변속 재생 데이터(330)를 보유할 수 있다. 예를 들면, "TrackN"은 변속 재생 데이터이다. 또한, 변속 재생 데이터는 변속 재생 데이터를 시간에 기초해 분할하여 생성한, 적어도 하나의 부분들을 포함할 수 있다. "SliceN-1.as", "SliceN-2.as", "SliceN-3.as" 등이 적어도 하나의 부분들이다.
또한, 서버(120)는 클라이언트(130)가 변속 재생 데이터(330)에 액세스하기 위해 필요한 정보(340)를 보유할 수 있다. 변속 재생 데이터에 대한 정보로서 "MainMeta.xml" 파일을 보유할 수 있고, 변속 재생 데이터의 헤더 정보로서 "HeadN.ref" 파일을 보유할 수 있다. 도시된 예에서, "Head1.ref"는 "Track1"의 헤더 파일일 수 있고, "Head2.ref"는 "Track2"의 헤더 파일일 수 있다.
"MainMeta.xml" 파일은 미디어 표현 기술 파일을 의미한다. 미디어 표현 기술 파일은 OIPF(Open IPTV Forum) 표준에 따른, 콘텐트에 대한 정보를 포함하는 CAD(Content Access Descriptor) 파일에 기초하여, 클라이언트(130)에 의해 획득되거나 CAD 파일에 기초하지 않고 직접 서버(120)에 요청함으로써 획득될 수 있다. 또한, "Head1.ref", "Head2.ref" 파일은 선택적인 요소로서, 헤더가 변속 재생 데이터(330)에 포함되어 있는 경우에는 존재하지 않을 수 있다.
서버(120)는 적어도 하나의 변속 재생 데이터(330)를 보유할 수 있는데, 보유하는 변속 재생 데이터(330)의 개수는 변속 재생 서비스 제공 방법에 따라 상이하다.
도 4는 본 발명의 일 실시예에 따른 변속 재생 데이터를 식별하는 유형 정보를 포함하는 미디어 표현 기술을 도시한다.
미디어 표현 기술은 변속 재생 데이터의 URL에 대한 템플릿(Template) 태그, 헤더의 위치를 정의하기 위한 태그 및 복수의 미디어 데이터 또는 적어도 하나의 변속 재생 데이터를 정의하기 위한 트랙 태그들을 포함한다.
"URLTemplate" 태그는 변속 재생 데이터의 URL 정보의 공통 부분을 정의한다. 예를 들어, "http://asexample.com/vod/movies/18888/Tracks/Seg{TrackID}-{SegmentID}.as"가 URLTemplate이라면, "TrackID" 및 "SegmentID"에 적어도 하나의 변속 재생 데이터의 식별자 및 변속 재생 데이터에 포함된 적어도 하나의 세그먼트 부분의 식별자를 대입함으로써, 변속 재생 데이터에 대한 URL을 정의할 수 있다.
"RefDataURL" 태그는 변속 재생 데이터에 대한 헤더의 URL을 정의한다.
하나의 콘텐트를 상이한 비트율품질로 인코딩하여 생성된 복수의 미디어 데이터 각각 또는 적어도 하나의 변속 재생 데이터를 정의하기 위해, 복수 개의 "Track" 태그들이 정의된다. 각각의 "Track" 태그는 "ID" 속성, "Type" 속성, "BitRate" 속성, "StartTime" 속성, "SegmentDuration" 속성, "SegmentStartID" 속성 및 "SegmentCount" 속성을 포함한다.
이하에서는 변속 재생 데이터를 정의하는 "Track" 태그에 기초하여 각각의 속성을 설명한다.
"ID" 속성은 변속 재생 데이터의 명칭을 정의한다. 변속 재생 데이터의 식별자일 수 있다. "Type" 속성은 변속 재생 데이터의 유형을 정의한다. 변속 재생 데이터에 대해서는 오디오 데이터, 비디오 데이터, 오디오/비디오 데이터 및 변속 재생 데이터 중 변속 재생 데이터를 식별하는 정보가 "Type"속성으로 정의될 수 있다. 변속 재생 데이터를 식별하는 정보는 "I-Frame" 및 "Trick Play"를 포함하는 다양한 정보에 의해 기술될 수 있다.
"Bitrate" 속성은 변속 재생 데이터의 비트율을 정의하고, "StartTime" 속성은 변속 재생 데이터의 시작 시간을 특정하는 타임 스탬프를 정의하며, "SegmentDuration" 속성은 변속 재생 데이터에 포함된 부분의 지속 시간을 정의하고, "SegmentStartID" 속성은 최초 시작되는 부분의 번호를 정의한다. 변속 재생 데이터에 포함된 적어도 하나의 부분의 식별자를 정의한다.
"SegmentConunt" 속성은 변속 재생 데이터에 포함된 적어도 하나의 부분의 전체 개수를 정의한다.
도시되지는 않았지만, "Segment" 태그는 "Track" 태그의 하위 태그로서 변속 재생 데이터가 전술한 바와 같이 콘텐트를 소정의 비트율로 인코딩하고, 시간에 기초해 분할하여 생성된 적어도 하나의 부분이면, 이러한 적어도 하나의 부분 각각을 정의한다.
"IntNum" 속성은 부분의 번호를 정의하며, "StartTime"은 해당 부분의 시작 시간을 정의한다. "Duration"은 해당 부분의 지속 시간을 정의하며, "url"은 해당 부분의 URL 정보를 정의한다.
"Segment" 태그는 선택적인 태그로서, 변속 재생 데이터에 포함된 적어도 하나의 부분에 대한 정보가 "Track" 태그의 다른 속성들로부터 유추될 수 있는 경우에는 미디어 표현 기술에 포함되지 않을 수 있다. 다시 말해 "Track" 태그에 정의된 "StartTime", "SegmentStartID", "SegmentDuration" 및 "SegmentCount" 속성에 의해서, 변속 재생 데이터에 포함된 적어도 하나의 부분에 대한 정보가 "Track" 태그로부터 유추될 수 있는 경우에는 미디어 표현 기술에 포함되지 않을 수 있다. 또한, "URL Template" 태그에 소정의 템플릿이 정의되어 있고, 이렇게 정의된 템플릿에 변속 재생 데이터의 식별자 및 변속 재생 데이터에 포함된 적어도 하나의 부분의 식별자를 대입함으로써 부분들의 URL 정보를 유추할 수 있으면, "Segment" 태그의 "url" 속성은 필요하지 않을 수 있다.
도 5는 본 발명의 일 실시예에 따른 2배수 단위의 변속 재생을 위한 I 프레임을 포함하는 변속 재생 데이터 구조를 도시한다.
변속 재생 데이터를 I 프레임으로 구성하는 이유는 디코딩시에 변속 재생 데이터 자체로 디코딩을 가능하게 하기 위함이다. 다양한 변속 재생을 위한 변속 재생 데이터 구조는 변속 단위를 2배수로 구성하는 경우, 프레임의 수(또는 프레임율)를 1/2로 줄이면서, 해당 변속 재생 속도에 해당하는 I 프레임들을 포함하여 구성한다.
예를 들어, 2배속 변속 재생 속도에 해당하는 변속 재생 데이터(510)는 2초마다 한 프레임을 추출하여 I 프레임으로 구성하고, 디코더는 2배속에 해당되는 프레임을 2초마다 변속 재생한다. 4배속 변속 재생 속도에 해당하는 변속 재생 데이터(520)는 2배속 변속 재생 속도에 해당하는 변속 재생 데이터(510)의 프레임율을 1/2로 떨어뜨려 구성할 수 있다. 8배속 변속 재생 속도에 해당하는 변속 재생 데이터(530)는 4배속 변속 재생 속도에 해당하는 변속 재생 데이터(520)의 프레임율을 1/2로 떨어뜨려 구성할 수 있다. 16배속 변속 재생 속도에 해당하는 변속 재생 데이터(540)는 8배속 변속 재생 속도에 해당하는 변속 재생 데이터(530)의 프레임율을 1/2로 떨어뜨려 구성할 수 있다.
또한, 소수점 배속 변속 재생 속도에 해당하는 변속 재생 데이터도 (ex. 2.5배속) 프레임율을 조절함으로써 구성할 수 있다.
한편, 도시되지 않았지만, 변속 재생 데이터는 I 프레임 이외에 인터 프레임을 이용하여 인코딩될 수도 있다. 인터 프레임은 B 프레임 및 P 프레임을 포함한다. 다만, 재생 시작 지점의 변속 재생 데이터는 I 프레임으로 인코딩된다.
도 6은 본 발명의 일 실시예에 따른 멀티스트림을 이용하여 변속 재생하는 방법을 도시한다.
적어도 하나의 변속 재생 데이터는 각각 별개의 변속 재생 속도를 지원한다. 도시된 예에서, "Stream_segment0_2x.as, Stream_segment1_2x.as, ..."은 2배속 변속 재생 데이터이고, "Stream_segment0_4x.as, Stream_segment1_4x.as, ..."은 4배속 변속 재생 데이터이고, "Stream_segment0_8x.as, Stream_segment1_8x.as, ..."은 8배속 변속 재생 데이터이고, "Stream_segment0_16x.as, Stream_segment1_16x.as, ..."은 16배속 변속 재생 데이터이다. 이 경우, 적어도 하나의 변속 재생 데이터는 최대 변속 재생 속도에 기초하여 그 개수가 결정된다. 도시된 예에서 변속 재생 데이터의 개수는 4개이다.
미디어 표현 기술 파일은 적어도 하나의 변속 재생 데이터에 대한 정보를 포함한다. 클라이언트는 원하는 변속 재생 속도에 대응하는, 하나의 변속 재생 데이터를 서버에 요청한다. 하나의 변속 재생 데이터는 적어도 하나의 시간에 기초해 분할하여 생성된 세그먼트를 포함하므로, 클라이언트는 해당 변속 재생 데이터 중 시간의 흐름에 따른 적어도 하나의 세그먼트를 서버로부터 수신한다.
도 7 및 도 8은 본 발명의 일 실시예에 따른 멀티스트림을 이용하여 변속 재생하는 방법의 미디어 표현 기술을 도시한다.
변속 재생 데이터에 대응하는 변속 재생 속도는 "AlternatePlayoutRate" 속성에 의해 정의될 수 있으나, 속성의 이름이 바뀔 수 있음은 당업자에게 자명하다.
도시된 예에서 "<AlternatePlayoutRate>2</AlternatePlayoutRate>"는 해당 변속 재생 데이터가 2배속 변속 재생 데이터임을 식별한다. "<AlternatePlayoutRate>4</AlternatePlayoutRate>"는 해당 변속 재생 데이터가 4배속 변속 재생 데이터임을 식별한다.
도 9는 본 발명의 또 다른 실시예에 따른 프레임 위치 질의(Range Query)를 이용하여 변속 재생하는 방법을 도시한다.
프레임 위치 질의(Range Query)를 이용하여 변속 재생하는 방법인 경우, 서버(120)에 2배속 재생 속도에 해당하는 하나의 변속 재생 데이터와 프레임의 위치 및 크기를 포함하는 인덱스 파일이 존재한다. 클라이언트(130)는 미디어 표현 기술 파일에 포함된 인덱스 파일의 URL을 참조하여, 서버(120)로부터 인덱스 파일을 수신할 수 있다.
클라이언트(130)는 서버(120)로부터 인덱스 파일을 수신하고, 인덱스 파일을 이용하여 원하는 변속 재생 속도에 해당하는 프레임을 포함하는 변속 재생 데이터를 요청한다. 클라이언트(130)는 요청할 프레임의 위치 및 크기를 포함하는 HTTP Range Query(또는 HTTP Range Request)를 서버(120)에 전송함으로써, 원하는 변속 재생 속도에 해당하는 프레임을 포함하는 변속 재생 데이터를 요청한다. 프레임의 위치는 HTTP의 "Content Range" 필드로 기술되고, 프레임의 크기는 HTTP의 "Content Length" 필드로 기술된다.
서버(120)는 프레임의 위치 및 크기를 포함하는 HTTP Range Query에 기초하여, 프레임을 변속 재생 데이터로 구성한 후, HTTP Range Response (또는 HTTP Partial Response)를 이용하여 해당 변속 재생 데이터를 클라이언트(130)에게 전송한다.
본 실시예에서 프레임 식별 및 전송을 위해 HTTP 프로토콜을 이용하였으나, 다른 프로토콜을 이용할 수 있음은 당업자에게 자명하다.
도 10은 본 발명의 또 다른 실시예에 따른 프레임 위치 질의를 이용하여 변속 재생하는 방법의 MP4 파일 구조를 도시한다.
MP4 파일은 ISO/IEC JTC 1의 동영상 압축부호화의 표준규격인 MPEG-4의 part 14로 규정된 파일 포맷이며 MP4 파일, MP4 컨테이너 등으로 불린다. 기본 확장자는 .mp4이다.
MP4 파일에서 각각의 변속 재생 데이터는 MP4 파일의 트랙에 대응된다. 각각의 트랙의 "trak" 박스는 변속 재생 데이터에 대한 메타 데이터를 포함한다. 서버(120)에 2배속 재생 속도에 해당하는 하나의 변속 재생 데이터가 정상 재생 속도에 해당하는 미디어 데이터와 함께 존재할 수 있다. 시간에 기초해 분할하여 생성된 세그먼트 각각은 "moof" 박스 및 "mdat" 박스를 포함한다. "moof" 박스는 세그먼트에 대한 메타 데이터를 포함하고, "mdat" 박스는 세그먼트에 해당하는 콘텐트를 포함한다.
클라이언트(130)는 MP4 파일의 "Trak" 박스 또는 "Traf" 박스를 이용하여 원하는 변속 재생 속도에 해당하는 프레임의 위치 정보를 기술하고, 원하는 변속 재생 속도에 해당하는 프레임을 포함하는, 변속 재생 데이터를 요청한다.
프레임 식별 및 전송을 위해 HTTP 프로토콜이 이용될 수 있으나, 다른 프로토콜이 이용될 수 있음은 당업자에게 자명하다.
도 11은 본 발명의 또 다른 실시예에 따른 가상스트림을 이용하여 변속 재생하는 방법을 도시한다.
가상스트림을 이용하여 변속 재생하는 방법인 경우, 서버(120)에 2배속 재생 속도에 해당하는 하나의 변속 재생 데이터와 프레임의 위치 및 크기를 포함하는 인덱스 파일이 존재한다. 또한, 미디어 표현 기술 파일은 서버(120)에 물리적으로 존재하는 2배속 재생 속도에 해당하는 변속 재생 데이터에 대한 정보 및 서버(120)에 가상으로 존재하는 적어도 하나의 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터에 대한 정보를 포함할 수 있다.
클라이언트(130)는 적어도 하나의 가상 변속 재생 데이터 중 원하는 변속 재생 속도에 해당하는 하나의 가상 변속 재생 데이터(ex. Trick_segment0_4x.as)를 요청한다. 서버(120)는 프레임의 위치 및 크기를 포함하는 인덱스 파일을 이용하여 서버의 CGI(Common Gateway Interface) 프로그램을 통해, 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터를 2배속 재생 속도에 해당하는 변속 재생 데이터로부터 추출한다. 서버(120)는 추출된 변속 재생 데이터를 클라이언트(130)에 전송한다.
본 실시예에서, 원하는 프레임을 추출하기 위하여, 서버에 존재하는 인덱스 파일을 입력으로 하는 CGI 프로그램을 이용하였으나, 다른 구현 방식의 프로그램을 이용할 수 있음은 당업자에게 자명하다.
도 12a는 본 발명의 또 다른 실시예에 따른 인트라 프레임으로 구성된 계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법을 도시한다.
계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법인 경우, 변속 재생 데이터는 변속 레벨의 최대 깊이(Depth)(또는 변속 레벨의 최대 개수)에 기초하여 그 개수가 결정된다. 변속 레벨의 최대 깊이는 궁극적으로 최대 변속 재생 속도에 의해 결정된다. 수학식 1에서 L max 는 변속 레벨의 최대 깊이로 정의되고, R max 는 최대 변속 재생 속도로 정의된다.
Figure pat00001
예를 들면, 최대 변속 재생 속도가 16배속이고, 2배수 단위로 변속 재생 서비스를 제공하는 시스템인 경우, 변속 레벨의 최대 깊이는 4이고, 변속 재생 데이터의 개수는 4개이다. 각각의 변속 재생 데이터는 TL(Trick Level)1, TL2, TL3 및 TL4에 대응한다.
각각의 변속 레벨에 대응하는 변속 재생 데이터는 각각의 변속 재생 속도에 대응한다. 다만, 각각의 변속 레벨에 대응하는 변속 재생 데이터에 포함된 프레임은 소정의 변속 레벨과 다른 변속 레벨에 중복으로 존재하지 않는다.
예를 들면, 최대 변속 재생 속도가 16배속이고, 2배수 단위로 변속 재생 서비스를 제공하고 변속 재생 데이터가 I 프레임을 이용하여 인코딩된 시스템인 경우, TL4에 대응하는 변속 재생 데이터는 16배속에 해당하는 I 프레임 I0, I8 및 I16을 포함하고, TL3에 대응하는 변속 재생 데이터는 8배속에 해당하는 I 프레임들 중 16배속에 해당하는 I 프레임들을 제외한 I 프레임 I4 및 I12를 포함한다. TL2에 대응하는 변속 재생 데이터는 4배속에 해당하는 I 프레임들 중 8배속에 해당하는 I 프레임들을 제외한 I 프레임 I2, I6, I10 및 I14를 포함한다. TL1에 대응하는 변속 재생 데이터는 2배속에 해당하는 I 프레임들 중 4배속에 해당하는 I 프레임들을 제외한 I 프레임 I1, I3, I5, I7, I9, I11, I13 및 I15를 포함한다.
수학식 2에서, E l ,n 는 각각의 변속 레벨의 프레임 인덱스를 정의한다. n = 0,1,2, ... N l 이며, N l 은 변속 재생 데이터의 총 프레임 수를 의미한다.
Figure pat00002
클라이언트(130)는 원하는 변속 재생 속도를 지원하기 위해, 각각 변속 레벨에 대응되는 적어도 하나의 변속 재생 데이터를 요청한다.
예를 들면, 16배속의 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL4에 대응하는 변속 재생 데이터를 요청한다. 8배속의 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL3 및 TL4에 대응하는 복수의 변속 재생 데이터를 요청한다. 4배속의 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL2, TL3 및 TL4에 대응하는 복수의 변속 재생 데이터를 요청한다. 2배속의 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL1, TL2, TL3 및 TL4에 대응하는 복수의 변속 재생 데이터를 요청한다.
수학식 3에서, frame_index(x)는 x 변속 재생 속도를 지원하는, 모든 I 프레임들의 인덱스들을 정의한다.
Figure pat00003
예를 들면, 변속 재생 데이터가 I 프레임을 이용하여 인코딩된 경우, 8배속의 변속 재생 속도를 지원하는 모든 I 프레임들은 I0, I4, I8, I12, I16, ... 에 해당하는 인덱스들을 갖고, 해당 I 프레임들을 TL3 및 TL4에 대응하는 I 프레임들이다.
도 12b는 본 발명의 또 다른 실시예에 따른 인트라 프레임 및 인터 프레임으로 구성된 계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법을 도시한다.
인코딩 장치(110)는 변속 재생 데이터를 생성함에 있어서, 인트라 프레임 및 인터 프레임(Inter-Frame)을 이용하여 콘텐트를 인코딩할 수 있다. 인트라 프레임은 해당 프레임 내의 정보 만으로 인코딩되어 있는 프레임으로서, I 프레임을 포함한다. 인터 프레임은 해당 프레임 이외의 다른 프레임의 정보를 함께 참조하여 인코딩되어 있는 프레임으로서, P 프레임(Predict-Frame) 및 B 프레임(Bidirectional-Frame)을 포함한다. 다만, 인코딩 장치(110)는 재생 시작 지점의 변속 재생 데이터를 I 프레임으로만 인코딩한다. 도시된 예에서, 변속 재생 데이터에 포함된 프레임은 I 프레임, P 프레임 및 B 프레임을 포함한다.
계층적 구조의 멀티스트림을 이용하여 변속 재생하는 방법인 경우, 변속 재생 데이터는 변속 레벨의 최대 깊이(Depth)(또는 변속 레벨의 최대 개수)에 기초하여 그 개수가 결정된다. 변속 레벨의 최대 깊이는 궁극적으로 최대 변속 재생 속도에 의해 결정된다. 수학식 1에서 Lmax는 변속 레벨의 최대 깊이로 정의되고, Rmax는 최대 변속 재생 속도로 정의된다.
도시된 예에서, 최대 변속 재생 속도가 16배속이고, 2배수 단위로 변속 재생 서비스를 제공하는 시스템인 경우, 변속 레벨의 최대 깊이는 4이고, 변속 재생 데이터의 개수는 4개이다. 각각의 변속 재생 데이터는 TL1, TL2, TL3 및 TL4에 대응한다.
각각의 변속 레벨에 대응하는 변속 재생 데이터는 각각의 변속 재생 속도에 대응한다. 다만, 각각의 변속 레벨에 대응하는 변속 재생 데이터에 포함된 프레임은 소정의 변속 레벨과 다른 변속 레벨에 중복으로 존재하지 않는다.
도시된 예에서, 최대 변속 재생 속도가 16배속이고, 2배수 단위로 변속 재생 서비스를 제공하고, 변속 재생 데이터가 I 프레임, P 프레임 및 B 프레임을 이용하여 도시된 바와 같이 인코딩된 시스템인 경우, TL4에 대응하는 변속 재생 데이터는 16배속에 해당하는 I 프레임 I0, I8 및 I16을 포함하고, TL3에 대응하는 변속 재생 데이터는 8배속에 해당하는 프레임들 중 16배속에 해당하는 프레임들을 제외한 P 프레임 P4 및 P12를 포함한다. TL2에 대응하는 변속 재생 데이터는 4배속에 해당하는 프레임들 중 8배속에 해당하는 프레임들을 제외한 B 프레임 B2, B6, B10 및 B14를 포함한다. TL1에 대응하는 변속 재생 데이터는 2배속에 해당하는 프레임들 중 4배속에 해당하는 프레임들을 제외한 B 프레임 B1, B3, B5, B7, B9, B 11, B13 및 B15를 포함한다.
수학식 2에서, El ,n는 각각의 변속 레벨의 프레임 인덱스를 정의한다. n = 0,1,2, ... Nl 이며, Nl 은 변속 재생 데이터의 총 프레임 수를 의미한다.
클라이언트(130)는 원하는 변속 재생 속도를 지원하기 위해, 각각 변속 레벨에 대응되는 적어도 하나의 변속 재생 데이터를 요청한다.
예를 들면, 16배속의 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL4에 대응하는 변속 재생 데이터를 요청한다. 8배속의 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL3 및 TL4에 대응하는 복수의 변속 재생 데이터를 요청한다. 4배속의 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL2, TL3 및 TL4에 대응하는 복수의 변속 재생 데이터를 요청한다. 2배속의 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL1, TL2, TL3 및 TL4에 대응하는 복수의 변속 재생 데이터를 요청한다.
수학식 3에서, frame_index(x)는 x 변속 재생 속도를 지원하는, 모든 프레임들의 인덱스들을 정의한다.
변속 재생 데이터가 도시된 바와 같이 I 프레임, P 프레임 및 B 프레임을 이용하여 인코딩된 경우, 8배속의 변속 재생 속도를 지원하는 모든 I 프레임들은 I0, P4, I8, P12, I16, ... 에 해당하는 인덱스들을 갖고, 해당 프레임들을 TL3 및 TL4에 대응하는 프레임들이다.
도 13은 본 발명의 또 다른 실시예에 따른 계층적 구조의 멀티스트림을 이용하여 서버에서 변속 재생하는 방법을 도시한다.
서버(120)에는, 변속 레벨 별로 변속 재생 데이터가 존재한다. 변속 재생 데이터는 변속 레벨의 최대 깊이(Depth)(또는 변속 레벨의 최대 개수)에 기초하여 그 개수가 결정된다. 변속 레벨의 최대 깊이는 상기 기술한 바와 같이 수학식 1에 따라, 최대 변속 재생 속도에 기초하여 결정된다.
예를 들면, 최대 변속 재생 속도가 16배속이고, 2배수 단위로 변속 재생 서비스를 제공하고, 변속 재생 데이터가 I 프레임을 이용하여 인코딩된 시스템인 경우, 세그먼트 0에 대해, TL4에 대응하는 I0 프레임을 포함하는 stream_segment0_16x.ts 파일, TL3에 대응하는 I4 프레임을 포함하는 stream_segment0_8x.ts 파일, TL2에 대응하는 I2 프레임을 포함하는 stream_segment0_4x.ts 파일 , TL1에 대응하는 I1 및 I3 프레임을 포함하는 stream_segment0_2x.ts 파일이 존재한다.
또한, 세그먼트 1에 대해, TL4에 대응하는 I8 프레임을 포함하는 stream_segment1_16x.ts 파일, TL2에 대응하는 I6 프레임을 포함하는 stream_segment1_4x.ts 파일, TL1에 대응하는 I5, I7 및 I9 프레임을 포함하는 stream_segment1_2x.ts 파일이 존재한다. TL3에 대응하는 I 프레임은 없으므로 stream_segment1_8x.ts 파일은 존재하지 않는다.
또한, 세그먼트 2에 대해, TL3에 대응하는 I12 프레임을 포함하는 stream_segment2_8x.ts 파일, TL2에 대응하는 I10 및 I14 프레임을 포함하는 stream_segment2_4x.ts 파일 , TL1에 대응하는 I11 및 I13 프레임을 포함하는 stream_segment2_2x.ts 파일이 존재한다. TL4에 대응하는 I 프레임은 없으므로 stream_segment2_16x.ts 파일은 존재하지 않는다.
도 14는 본 발명의 또 다른 실시예에 따른 계층적 구조의 멀티스트림을 이용하여 클라이언트에서 변속 재생하는 방법을 도시한다.
클라이언트(130)는 원하는 변속 재생 속도를 지원하기 위해, 각각 변속 레벨에 대응되는 적어도 하나의 변속 재생 데이터를 요청한다.
예를 들면, 16배속의 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL4에 대응하는 변속 재생 데이터를 요청한다. 클라이언트(130)는 Stream_segment0_16x.ts 파일, Stream_segment1_16x.ts 파일, ... 등을 요청한다.
4배속의 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL2, TL3 및 TL4에 대응하는 복수의 변속 재생 데이터를 요청한다. 클라이언트(130)는 세그먼트 0에 대해 Stream_segment0_16x.ts, Stream_segment0_8x.ts, Stream_ segment 0_ 4x.ts 파일들을 서버(120)에 요청하고, 세그먼트 1에 대해 Stream_segment1_16x.ts, Stream_segment1_8x.ts, Stream_ segment 1_ 4x.ts 파일들을 서버(120)에 요청하는 식으로, 시간의 흐름에 따라 TL2, TL3 및 TL4의 세그먼트에 대응하는 파일들을 서버(120)에 요청한다.
클라이언트(130)는 각각 변속 레벨에 대응되는 적어도 하나의 변속 재생 데이터를 재생 시간 순서대로 재배열한다. 즉, 클라이언트(130)는 수신한 세그먼트 파일들에 포함된 I 프레임들을 순서에 맞게 재구성한다.
도 15 및 도 16a는 본 발명의 또 다른 실시예에 따른 계층적 구조의 멀티스트림을 이용하여 변속 재생하는 방법의 미디어 표현 기술을 도시한다.
변속 재생 데이터에 대응하는 변속 레벨은 적어도 하나의 "AlternatePlayoutRate" 속성에 의해 정의될 수 있으나, 속성의 이름이 바뀔 수 있음은 당업자에게 자명하다.
도시된 예에서 TL4는 "<AlternatePlayoutRate>2</AlternatePlayoutRate><AlternatePlayoutRate>4</AlternatePlayoutRate><AlternatePlayoutRate>8</AlternatePlayoutRate><AlternatePlayoutRate>16</AlternatePlayoutRate>"와 같이 4개의 "AlternatePlayoutRate" 속성들에 의해 정의된다. TL2는 "<AlternatePlayoutRate>2</AlternatePlayoutRate><AlternatePlayoutRate>4</AlternatePlayoutRate>"와 같이 2개의 "AlternatePlayoutRate" 속성들에 의해 정의된다.
본 실시예에서 변속 레벨은 적어도 하나의 "AlternatePlayoutRate" 속성을 이용하여 식별되나, 다른 식별 방식을 이용하여 식별될 수 있음은 당업자에게 자명하다.
도 16b는 본 발명의 또 다른 실시예에 따른 트릭 레벨 및 프레임율을 식별하는 계층적 구조의 멀티스트림을 이용하여 변속 재생하는 방법의 미디어 표현 기술을 도시한다.
인코딩 장치(110)는 변속 재생 데이터를 생성함에 있어서, 인트라 프레임 및 인터 프레임(Inter-Frame)을 이용하여 콘텐트를 인코딩할 수 있다. 인트라 프레임은 해당 프레임 내의 정보 만으로 인코딩되어 있는 프레임으로서, I 프레임을 포함한다. 인터 프레임은 해당 프레임 이외의 다른 프레임의 정보를 함께 참조하여 인코딩되어 있는 프레임으로서, P 프레임(Predict-Frame) 및 B 프레임(Bidirectional-Frame)을 포함한다. 다만, 인코딩 장치(110)는 재생 시작 지점의 변속 재생 데이터를 I 프레임으로만 인코딩한다. 도시된 예에서, 변속 재생 데이터에 포함된 프레임은 I 프레임, P 프레임 및 B 프레임을 포함한다.
계층적 구조의 멀티스트림을 이용하여 변속 재생하는 방법인 경우, 변속 재생 데이터는 변속 레벨의 최대 개수에 기초하여 그 개수가 결정된다. 도시된 예에서, 변속 레벨의 최대 개수는 4이고, 변속 재생 데이터의 개수는 4개이다. 각각의 변속 재생 데이터는 TL1, TL2, TL3 및 TL4에 대응한다. 변속 재생 데이터의 변속 레벨은 "tricklevel" 속성에 의해 정의될 수 있으나, 다른 이름을 갖는 속성에 의해 정의될 수 있음은 당업자에게 자명하다.
각각의 변속 레벨에 대응하는 변속 재생 데이터는 변속 재생 속도를 프레임율을 이용하여 정의한다. 변속 재생 데이터의 변속 재생 속도는 "frame rate" 속성에 의해 정의될 수 있으나, 다른 이름을 갖는 속성에 의해 정의될 수 있음은 당업자에게 자명하다. 각각의 변속 레벨에 대응하는 변속 재생 데이터에 포함된 프레임은 소정의 변속 레벨과 다른 변속 레벨에 중복으로 존재하지 않는다.
도시된 예에서, 인코딩 장치(110)는 초당 30 프레임으로 구성된 미디어 데이터를 4개의 변속 레벨인 TL1, TL2, TL3 및 TL4를 이용하여 정의한다.
TL4에 대응하는 변속 재생 데이터는 3.75 fps(frame per second) 배속에 해당하는 프레임들을 포함하고, TL3에 대응하는 변속 재생 데이터는 7.5 fps 배속에 해당하는 프레임들 중 3.75 fps 배속에 해당하는 프레임들을 제외한 프레임들을 포함한다. TL2에 대응하는 변속 재생 데이터는 15 fps 배속에 해당하는 프레임들 중 7.5 fps 배속에 해당하는 프레임들을 제외한 프레임들을 포함한다. TL1에 대응하는 변속 재생 데이터는 30 fps 배속에 해당하는 프레임들 중 15 fps 배속에 해당하는 프레임들을 제외한 프레임들을 포함한다. 위에서 구성된 TL4부터 TL1까지 순서대로 서버에 저장이 되고, 이를 가리키는 인덱스 정보에 의해서 원하는 변속 레벨에 접근할 수 있다.
클라이언트(130)는 원하는 변속 재생 속도를 지원하기 위해, 각각 변속 레벨에 대응되는 적어도 하나의 변속 재생 데이터를 요청한다.
예를 들면, 3.75 fps 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL4에 대응하는 변속 재생 데이터를 요청한다. 7.5 fps 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL3 및 TL4에 대응하는 복수의 변속 재생 데이터를 요청한다. 15 fps 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL2, TL3 및 TL4에 대응하는 복수의 변속 재생 데이터를 요청한다. 30 fps 변속 재생 속도를 지원하기 위해 클라이언트(130)는 TL1, TL2, TL3 및 TL4에 대응하는 복수의 변속 재생 데이터를 요청한다.
본 발명의 또 다른 실시예에 따르면, 변속 레벨 및 프레임율에 대한 정보를 이용해서, 각각의 변속 레벨에 대응되는 변속 재생 데이터의 위치 정보 등이 MP4 파일의 박스 형태로 추가될 수 있다. 박스의 이름이 다양할 수 있음은 당업자에게 자명하다.
도 17은 본 발명의 또 다른 실시예에 따른 MPEG TS(Transport Stream)에서 I 프레임을 찾기 위한 TS 패킷의 구조를 도시한다.
"Adaptation field"는 TS 헤더의 일부분으로 TS 관련 추가 정보를 입력하는 선택적인 필드이다. "Adaptation field"는 여러 파라미터를 가지며 그 중에 사용자가 임의로 사용할 수 있는 "private data field"가 존재한다. "transport-private-data-length"는 "Adaptation field" 내에 존재하는 "private data field"의 크기를 알려주는 파라미터이다. "private-data-byte"는 사용자가 임의로 정의한 데이터를 저장하는 공간이다. 클라이언트는 "transport-private-data-length"와 "private-data-byte"를 이용하여 MPEG TS에서 다음 I 프레임의 시작 위치를 계산할 수 있다.
상기 MPEG TS에서 다음 I 프레임의 시작 위치를 계산하는 방법은, 계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법에서, 클라이언트가 수신한 세그먼트 파일들에 포함된 I 프레임들을 순서에 맞게 재구성하는 단계에서 이용될 수 있으나, 그 이외에도 다양하게 이용될 수 있음은 당업자에게 자명하다.
도 18은 본 발명의 또 다른 실시예에 따른 MPEG TS(Transport Stream)에서 I 프레임을 찾기 위한 TS 패킷을 구성하는 방법을 도시한다.
도시된 예에서, "Adaptation field" 내에 "private data"를 입력하는 필드가 "private-data-byte"로서 존재한다. 인코더 장치는 "private-data-byte"의 길이를 정의한 후 "transport-private-data-length"에 입력한다. 인코더 장치는 "transport-private-data-length" 만큼 "private-data-byte"에 기록한다. "private-data-byte"는 "unsigned integer" 형태의 숫자 값이다. "private-data-byte"의 값은 현재 있는 TS 패킷에서 다음 I 프레임을 갖는 TS 패킷의 시작 위치에 대한 오프셋 값을 의미한다. TS에 여러 I 프레임이 존재할 경우 각각의 I 프레임이 시작하는 곳에 "Adaptation field"가 존재한다.
도 19는 본 발명의 또 다른 실시예에 따른 MPEG TS에서 I 프레임을 찾는 방법을 설명하기 위한 흐름도이다.
단계 1910에서, 클라이언트는 서버로부터 변속 재생을 위한 세그먼트를 다운로드한다.
단계 1920에서, 변속 재생을 위한 세그먼트에서 다음 I 프레임을 찾을 필요가 있을 경우, TS의 "Adaptation Field"를 파싱한다.
단계 1930에서, "Adaptation Field"의 "private-data-byte"을 이용하여, 다음 I 프레임 오프셋을 추출한다. 예를 들면, 오프셋 값이 2462일 경우, 2462의 값을 16비트 값으로 변경한 0x99E를 계산한다. "unsigned integer"의 크기가 4 바이트이므로 "transsport-private-data-length" 값을 4로 등록한다. 0x99E를 4바이트 정수인, "0x00 0x00 0x09 0x9E"로 변환한다. "private-data-byte"에 변환된 값을 입력한다. 역으로, "private-data-byte"로부터 오프셋 값을 추출하는 방법에서, private-data-byte가 pdb[4]로 선언된 경우, 오프셋은 (int) (pdb[3]<<24 | pdb[2] << 16 | pdb[1] << 8 | pdb[0] )로 계산될 수 있다.
단계 1940에서, 다음 I 프레임 오프셋만큼 TS파일을 분리한다.
단계 1950에서, 세그먼트 파일의 마지막인지 여부를 판단한다. 세그먼트 파일의 마지막이 아닌 경우 단계 1930으로 이동하여 다시 다음 I 프레임을 추출한다. 세그먼트 파일의 마지막인 경우, 단계 1910으로 이동하여 클라이언트는 서버로부터 변속 재생을 위한 다음 세그먼트를 다운로드한다.
도 20은 본 발명의 또 다른 실시예에 따른 MPEG TS에서 I 프레임을 찾기 위한 MP4 파일 구조를 도시한다.
MP4 파일에서 각각의 변속 재생 데이터는 MP4 파일의 트랙에 대응된다. 각각의 트랙의 "trak" 박스는 변속 재생 데이터에 대한 메타 데이터를 포함한다. 변속 재생 데이터의 최대 개수는 상기 기술한 바와 같이 수학식 1에 따라, 최대 변속 재생 속도에 기초하여 결정된다.
서버(120)에 정상 속도 재생 데이터와 함께, 각각의 변속 레벨에 대응하는 적어도 하나의 변속 재생 데이터가 존재한다. 각각의 변속 레벨에 대응하는 변속 재생 데이터는 시간에 기초해 분할하여 생성된 세그먼트를 포함한다. 각각의 세그먼트는 "moof" 박스 및 "mdat" 박스를 포함한다. "moof" 박스는 세그먼트에 대한 메타 데이터를 포함하고, "mdat" 박스는 세그먼트에 해당하는 콘텐트를 포함한다.
원하는 변속 재생 속도에 해당하는 I 프레임의 위치 정보는 MP4 파일의 "Trak" 박스 또는 "Traf" 박스를 이용하여 획득될 수 있다.
클라이언트는 수신한 세그먼트 파일들에 포함된 I 프레임들을 순서에 맞게 재구성하는 단계에서 "Trak" 박스 또는 "Traf" 박스를 이용하여 다음 I 프레임의 위치 정보를 획득할 수 있다.
도 21은 본 발명의 또 다른 실시예에 따른 프레임율(Frame Rate)을 변경함으로써 변속 재생하는 방법의 개념을 도시한다.
프레임율을 변경함으로써 변속 재생하는 방법인 경우, 서버에 기본 재생 속도에 해당하는 하나의 변속 재생 데이터가 존재한다. 예를 들면, 최대 변속 재생 속도가 16배속이고, 2배수 단위로 변속 재생 서비스를 제공하는 시스템인 경우, 서버에 2배속 재생 속도에 해당하는 하나의 변속 재생 데이터가 존재한다. 도시된 예에서는 서버에 2초의 단위 시간마다 한 프레임을 추출하여 구성한, 2배속 재생 속도에 해당하는 하나의 변속 재생 데이터가 존재한다. 2배속 이외의 재생 속도는 클라이언트(130)에서 2배속 재생 속도에 해당하는 변속 재생 데이터의 재생 프레임율을 변경함으로써 지원할 수 있다.
클라이언트(130)는 하나의 프레임을 단위 시간에 재생함으로써 2배속 재생을 지원하고, 2개의 프레임을 단위 시간에 재생함으로써 4배속 재생을 지원하고, 4개의 프레임을 단위 시간에 재생함으로써 8배속 재생을 지원하고, 8개의 프레임을 단위 시간에 재생함으로써 16배속 재생을 지원할 수 있다.
프레임율을 변경함으로써 변속 재생하는 방법은 상기 기술한, 멀티스트림을 이용하여 변속 재생하는 방법, 프레임 위치 질의(Range Query)를 이용하여 변속 재생하는 방법, 가상스트림(Virtual Stream)을 이용하여 변속 재생하는 방법 및 계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법과 조합하여 이용됨으로써, 가변(Variable) 변속 재생 속도를 지원할 수 있다. 예를 들면, 멀티스트림을 이용하여 변속 재생하는 방법과 프레임율을 변경함으로써 변속 재생하는 방법을 조합하여 이용하는 경우, 클라이언트는 원하는 변속 재생 속도(ex. 8 배속)에 대응하는 하나의 변속 재생 데이터를 서버로부터 수신한 후, 프레임율을 변경함으로써 상기 변속 재생 속도와 상이한 가변 변속 재생 속도를 지원할 수 있다.
도 22는 본 발명의 또 다른 실시예에 따른 프레임율을 변경함으로써 변속 재생하는 서버 및 클라이언트에서의 방법을 도시한다.
서버에 기본 재생 속도에 해당하는 하나의 변속 재생 데이터 및 해당 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일이 존재한다. 예를 들면, 최대 변속 재생 속도가 16배속이고, 2배수 단위로 변속 재생 서비스를 제공하는 시스템인 경우, 서버에 2배속 재생 속도에 해당하는 하나의 변속 재생 데이터가 존재한다.
미디어 표현 기술 파일은 프레임율, 프레임 유형 및 최대 변속 재생 속도 정보를 포함한다. 프레임율은 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이다. 프레임 유형은 변속 재생 데이터가 인트라 프레임만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보이다. 도시된 예에서, "alternatePlayoutRate"가 최대 변속 재생 속도를 16으로 기술하고 있고, 프레임 유형은 I 프레임만으로 구성되었음을 식별하고 있고, 프레임율은 "1 fps (frame per second)"로 기술되어 있다. 미디어 표현 기술 파일의 스키마는 이하 도 23 및 도 24를 참조하여 상세히 설명한다.
클라이언트(130)는 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일에 기초하여 2배속 재생 속도에 해당하는 하나의 변속 재생 데이터를 요청한다.
클라이언트(130)가 2배속으로 재생하고자 하는 경우, 미디어 표현 기술 파일에 기술된 프레임율에 기초하여, 2배속에 해당되는 프레임 1개를 단위 시간마다 재생한다. 클라이언트(130)는 재생 프레임율을 변경함으로써 2배속 이외의 재생 속도를 지원할 수 있다.
예를 들면, 클라이언트(130)가 4배속으로 재생하고자 하는 경우, 미디어 표현 기술 파일에 기술된 프레임율을 "1" (단위는 fps: frame per second) 에서 "2"로 변경하여, 2배속에 해당되는 프레임 2개를 단위 시간마다 변속 재생한다.
클라이언트(130)가 8배속으로 재생하고자 하는 경우, 미디어 표현 기술 파일에 기술된 프레임율을 "1"에서 "4"로 변경하여, 2배속에 해당되는 프레임 4개를 단위 시간마다 변속 재생한다.
클라이언트(130)가 16배속으로 재생하고자 하는 경우, 미디어 표현 기술 파일에 기술된 프레임율을 "1"에서 "8"로 변경하여, 2배속에 해당되는 프레임 8개를 단위 시간마다 변속 재생한다.
도 23은 본 발명의 또 다른 실시예에 따른 프레임율을 변경함으로써 변속 재생하는 방법의 미디어 표현 기술의 스키마를 도시한다.
프레임율을 변경함으로써 변속 재생하는 방법의 미디어 표현 기술은 "TrickMode" 태그를 포함한다. "TrickMode" 태그는 "alternatePlayoutRate" 속성, "type" 속성 및 "frameRate" 속성을 포함한다.
"alternatePlayoutRate" 속성은 최대 변속 재생 속도를 정의한다. "type" 속성은 변속 재생 데이터가 인트라 프레임만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보를 정의한다. "frameRate" 속성은 클라이언트에서 재생할 초당 프레임 개수를 정의한다.
도 24는 본 발명의 또 다른 실시예에 따른 프레임율을 변경함으로써 변속 재생하는 방법의 미디어 표현 기술을 도시한다.
도시된 예에서, "alternatePlayoutRate" 속성은 16 값을 가지며, 최대 변속 재생 속도가 16배속임을 기술한다. "type" 속성은 "Intra" 또는 "Intra or Inter" 값들 중 "Intra" 값을 가지며, 변속 재생 데이터가 I 프레임을 포함함을 기술한다. "frameRate" 속성은 1 값을 가지며 초당 재생할 프레임 개수가 1개임을 기술한다.
도 25는 본 발명의 일 실시예에 따른 서버를 도시한다.
서버(2500)는 정보 생성부(2510), 정보 전송부(2520) 및 변속 재생 데이터 전송부(2530))를 포함한다.
정보 생성부(2510)는 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 생성한다. 미디어 표현 기술 파일은 적어도 하나의 변속 재생 데이터가 변속 재생을 위한 데이터임을 식별하는 유형 정보를 포함한다.
멀티스트림을 이용하여 변속 재생하는 방법인 경우, 적어도 하나의 변속 재생 데이터는 최대 변속 재생 속도에 기초하여 그 개수가 결정되고, 소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 재생 속도에 해당하는 프레임(Frame)으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함한다. 또한, 미디어 표현 기술 파일은 소정의 변속 재생 속도 및 소정의 변속 재생 속도 전용의, 시간에 기초해 분할하여 생성된 복수의 세그먼트의 URL(Uniform Resource Locator)을 포함한다.
가상스트림(Virtual Stream)을 이용하여 변속 재생하는 방법인 경우, 미디어 표현 기술 파일은 서버(2500)에 물리적으로 존재하는 2배속 재생 속도에 해당하는 변속 재생 데이터에 대한 정보 및 서버에 가상으로 존재하는 적어도 하나의 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터에 대한 정보를 포함한다. 서버(2500)는 미디어 표현 기술 파일에 기초한 클라이언트(2600)의 요청에 따라, 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터를 2배속 재생 속도에 해당하는 변속 재생 데이터로부터 추출하는 추출부(미도시)를 더 포함할 수 있다. 추출부는 프레임의 위치 및 크기를 포함하는 인덱스 파일을 이용하여 CGI(Common Gateway Interface) 프로그램으로 구현된다.
프레임 위치 질의(Range Query)를 이용하여 변속 재생하는 방법인 경우, 적어도 하나의 변속 재생 데이터는 소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 재생 속도(ex. 2배속)에 해당하는 프레임으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함한다. 정보 생성부(2510)는 프레임의 위치 및 크기를 포함하는 인덱스 파일을 더 생성할 수 있다. 미디어 표현 기술 파일은 소정의 변속 재생 속도에 해당하는 변속 재생 데이터에 대한 정보 및 인덱스 파일에 대한 URL을 포함한다. 서버(2500)는 미디어 표현 기술 파일 및 인덱스 파일을 수신한 클라이언트(2600) 요청에 의해, 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터를 2배속 재생 속도에 해당하는 변속 재생 데이터로부터 추출하는 추출부(미도시)를 더 포함할 수 있다. 추출부는 HTTP Range Response를 처리할 수 있는 HTTP 서버를 이용하여 구현될 수 있다.
계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법인 경우, 적어도 하나의 변속 재생 데이터는 변속 레벨의 최대 깊이(Depth)에 기초하여 그 개수가 결정되고, 소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 레벨(Trick Level) 에 해당하는 프레임(Frame)으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함한다. 소정의 변속 레벨은 계층적 구조를 구성하고, 변속 레벨의 최대 깊이(Depth)에 기초한 적어도 하나의 변속 레벨 중 하나이다. 변속 레벨의 최대 깊이는 최대 변속 재생 속도에 의해 결정된다. 프레임은 소정의 변속 레벨과 다른 변속 레벨에 중복으로 존재하지 않는다. 미디어 표현 기술 파일은 소정의 변속 레벨 및 소정의 변속 레벨에 해당하는, 시간에 기초해 분할하여 생성된 복수의 세그먼트의 URL(Uniform Resource Locator)을 포함한다. 소정의 변속 레벨은 시간에 기초해 분할하여 생성된 복수의 세그먼트를 이용하는 변속 재생 속도 정보들 중 적어도 하나를 포함하여 기술된다.
프레임율(Frame Rate)을 변경함으로써 변속 재생하는 방법인 경우, 적어도 하나의 변속 재생 데이터는 소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 재생 속도에 해당하는 프레임으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함한다. 미디어 표현 기술 파일은 프레임율, 프레임 유형 및 최대 변속 재생 속도 중 적어도 하나에 대한 정보를 포함한다. 프레임율은 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이다. 프레임 유형은 적어도 하나의 변속 재생 데이터가 인트라 프레임만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보이다.
정보 전송부(2520)는 미디어 표현 기술 파일을 클라이언트 장치에게 전송한다.
프레임 위치 질의(Range Query)를 이용하여 변속 재생하는 방법인 경우, 정보 전송부(2520)는 인덱스 파일을 클라이언트 장치에게 더 전송할 수 있다.
변속 재생 데이터 전송부(2530))는 미디어 표현 기술 파일에 기초한 클라이언트 장치의 요청에 따라, 적어도 하나의 변속 재생 데이터를 클라이언트 장치에게 전송한다.
도 26은 본 발명의 일 실시예에 따른 클라이언트를 도시한다.
클라이언트(2600)는 정보 수신부(2610) 및 변속 재생 데이터 수신부(2620)를 포함한다.
정보 수신부(2610)는 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 서버로부터 수신한다.
변속 재생 데이터 수신부(2620)는 미디어 표현 기술 파일에 기초하여 적어도 하나의 변속 재생 데이터를 서버로부터 수신한다.
계층적 구조(Hierarchical Structure)의 멀티스트림을 이용하여 변속 재생하는 방법인 경우, 변속 재생 데이터 수신부(2620)는 클라이언트의 요청에 기초한 소정의 변속 재생 속도를 지원하기 위해, 적어도 하나의 변속 레벨에 해당하는 시간에 기초해 분할하여 생성된 복수의 세그먼트를 수신한다. 클라이언트(2600)는 적어도 하나의 변속 재생 데이터를 재생 시간 순서대로 재배열하는 재구성부(미도시)를 더 포함할 수 있다.
프레임율(Frame Rate)을 변경함으로써 변속 재생하는 방법인 경우, 클라이언트(2500)는 프레임율에 기초하여 적어도 하나의 변속 재생 데이터를 재생하는 재생부(미도시)를 더 포함할 수 있다.
프레임 위치 질의(Range Query)를 이용하여 변속 재생하는 방법인 경우, 정보 수신부(2610)는 미디어 표현 기술 파일에 포함된 인덱스 파일의 URL을 참조하여, 인덱스 파일을 서버로부터 더 수신할 수 있다. 변속 재생 데이터 수신부(2620)는 인덱스 파일에 기초하여 원하는 변속 재생 속도에 해당하는 I 프레임을 포함하는 변속 재생 데이터를 서버로부터 수신한다. 변속 재생 데이터 수신부(2620)는 HTTP Range Query를 처리할 수 있는 HTTP 클라이언트를 이용하여 구현될 수 있다.
이상에서 본 발명의 바람직한 실시예가 상세히 기술되었지만, 본 발명의 범위는 이에 한정되지 않고, 다양한 변형 및 균등한 타 실시예가 가능하다. 따라서, 본 발명의 진정한 기술적 보호범위는 첨부된 특허청구범위에 의해서 정해져야 할 것이다.
예를 들어, 본 발명의 예시적인 실시예에 따른 서버(2500) 및 클라이언트(2600)는 도 25 및 도 26에 각각 도시된 바와 같은 장치 각각의 유닛들에 커플링된 버스, 상기 버스에 커플링된 적어도 하나의 프로세서를 포함할 수 있고, 명령, 수신된 메시지 또는 생성된 메시지를 저장하기 위해 상기 버스에 커플링되고, 전술한 바와 같은 명령들을 수행하기 위한 적어도 하나의 프로세서에 커플링된 메모리를 포함할 수 있다.
또한, 본 발명에 따른 시스템은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 상기 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
100... 변속 재생 시스템
110... 인코딩 장치
120... 서버
130... 클라이언트
140... 네트워크

Claims (31)

  1. 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 생성하는 단계;
    상기 미디어 표현 기술 파일을 클라이언트에게 전송하는 단계; 및
    상기 미디어 표현 기술 파일에 기초한 상기 클라이언트의 요청에 따라, 상기 적어도 하나의 변속 재생 데이터를 상기 클라이언트에게 전송하는 단계를 포함하는 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  2. 제 1항에 있어서, 상기 미디어 표현 기술 파일은
    상기 적어도 하나의 변속 재생 데이터가 변속 재생을 위한 데이터임을 식별하는 유형 정보를 포함하는 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  3. 제 1항에 있어서, 상기 적어도 하나의 변속 재생 데이터는
    최대 변속 재생 속도에 기초하여 그 개수가 결정되고;
    소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 재생 속도에 해당하는 프레임(Frame)으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함하는 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  4. 제 3항에 있어서, 상기 미디어 표현 기술 파일은
    상기 소정의 변속 재생 속도 및 상기 소정의 변속 재생 속도 전용의, 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트의 URL(Uniform Resource Locator)을 포함하는 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  5. 제 3항에 있어서, 상기 미디어 표현 기술 파일은
    프레임율, 프레임 유형 및 최대 변속 재생 속도 중 적어도 하나에 대한 정보를 더 포함하고;
    상기 프레임율은 상기 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이고;
    상기 프레임 유형은 상기 적어도 하나의 변속 재생 데이터가 인트라 프레임(Intra-Frame)만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보인 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  6. 제 1항에 있어서,
    상기 미디어 표현 기술 파일은 상기 서버에 물리적으로 존재하는 2배속 재생 속도에 해당하는 변속 재생 데이터에 대한 정보 및 상기 서버에 가상으로 존재하는 적어도 하나의 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터에 대한 정보를 포함하고;
    상기 미디어 표현 기술 파일에 기초한 상기 클라이언트의 요청에 따라, 상기 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터를 상기 2배속 재생 속도에 해당하는 변속 재생 데이터로부터 추출하는 단계를 더 포함하는 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  7. 제 6항에 있어서, 상기 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터를 추출하는 단계는
    프레임의 위치 및 크기를 포함하는 인덱스 파일을 이용하여 CGI(Common Gateway Interface) 프로그램으로 구현되는 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  8. 제 6항에 있어서, 상기 미디어 표현 기술 파일은
    프레임율, 프레임 유형 및 최대 변속 재생 속도 중 적어도 하나에 대한 정보를 더 포함하고;
    상기 프레임율은 상기 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이고;
    상기 프레임 유형은 상기 적어도 하나의 변속 재생 데이터가 인트라 프레임(Intra-Frame)만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보인 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  9. 제 1항에 있어서, 상기 적어도 하나의 변속 재생 데이터는
    변속 레벨의 최대 깊이(Depth)에 기초하여 그 개수가 결정되고;
    소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 레벨(Trick Level) 에 해당하는 프레임(Frame)으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함하고;
    상기 소정의 변속 레벨은 계층적 구조를 구성하고, 상기 변속 레벨의 최대 깊이(Depth)에 기초한 적어도 하나의 변속 레벨 중 하나이고;
    상기 변속 레벨의 최대 깊이는 최대 변속 재생 속도에 기초하여 결정되고;
    상기 프레임은 상기 소정의 변속 레벨과 다른 변속 레벨에 중복으로 존재하지 않는 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  10. 제 9항에 있어서, 상기 미디어 표현 기술 파일은
    상기 소정의 변속 레벨 및 상기 소정의 변속 레벨에 해당하는, 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트의 URL(Uniform Resource Locator)을 포함하고;
    상기 소정의 변속 레벨은 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트를 이용하는 변속 재생 속도 정보들 중 적어도 하나를 포함하여 기술되는 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  11. 제 9항에 있어서, 상기 미디어 표현 기술 파일은
    프레임율, 프레임 유형 및 최대 변속 재생 속도 중 적어도 하나에 대한 정보를 더 포함하고;
    상기 프레임율은 상기 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이고;
    상기 프레임 유형은 상기 적어도 하나의 변속 재생 데이터가 인트라 프레임(Intra-Frame)만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보인 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  12. 제 1항에 있어서, 상기 적어도 하나의 변속 재생 데이터는
    소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 재생 속도에 해당하는 프레임으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함하고;
    상기 미디어 표현 기술 파일은 프레임율, 프레임 유형 및 최대 변속 재생 속도 중 적어도 하나에 대한 정보를 포함하고;
    상기 프레임율은 상기 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이고;
    상기 프레임 유형은 상기 적어도 하나의 변속 재생 데이터가 인트라 프레임(Intra-Frame)만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보인 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  13. 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 서버로부터 수신하는 단계;
    상기 미디어 표현 기술 파일에 기초하여 상기 적어도 하나의 변속 재생 데이터를 상기 서버로부터 수신하는 단계를 포함하는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  14. 제 13항에 있어서, 상기 미디어 표현 기술 파일은
    상기 적어도 하나의 변속 재생 데이터가 변속 재생을 위한 데이터임을 식별하는 유형 정보를 포함하는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  15. 제 13항에 있어서, 상기 적어도 하나의 변속 재생 데이터는
    최대 변속 재생 속도에 기초하여 그 개수가 결정되고;
    소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 재생 속도에 해당하는 프레임(Frame)으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함하는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  16. 제 15항에 있어서, 상기 미디어 표현 기술 파일은
    상기 소정의 변속 재생 속도 및 상기 소정의 변속 재생 속도 전용의, 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트의 URL(Uniform Resource Locator)을 포함하는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  17. 제 15항에 있어서, 상기 미디어 표현 기술 파일은
    프레임율, 프레임 유형 및 최대 변속 재생 속도 중 적어도 하나에 대한 정보를 더 포함하고;
    상기 프레임율은 상기 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이고;
    상기 프레임 유형은 상기 적어도 하나의 변속 재생 데이터가 인트라 프레임(Intra-Frame)만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보인 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  18. 제 13항에 있어서,
    상기 미디어 표현 기술 파일은 상기 서버에 물리적으로 존재하는 2배속 재생 속도에 해당하는 변속 재생 데이터에 대한 정보 및 상기 서버에 가상으로 존재하는 적어도 하나의 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터에 대한 정보를 포함하고;
    상기 미디어 표현 기술 파일에 기초한 상기 클라이언트의 요청에 따라,상기 적어도 하나의 변속 재생 데이터를 상기 서버로부터 수신하는 단계는 상기 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터를 상기 서버로부터 수신하거나, 상기 서버에서 상기 2배속 재생 속도에 해당하는 변속 재생 데이터로부터 추출된 상기 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터를 상기 서버로부터 수신하는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  19. 제 18항에 있어서, 상기 2배속 이외의 재생 속도에 해당하는 변속 재생 데이터는
    프레임의 위치 및 크기를 포함하는 인덱스 파일에 기초한 CGI(Common Gateway Interface) 프로그램을 이용하여, 상기 서버에서 상기 2배속 재생 속도에 해당하는 변속 재생 데이터로부터 추출되는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  20. 제 18항에 있어서, 상기 미디어 표현 기술 파일은
    프레임율, 프레임 유형 및 최대 변속 재생 속도 중 적어도 하나에 대한 정보를 더 포함하고;
    상기 프레임율은 상기 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이고;
    상기 프레임 유형은 상기 적어도 하나의 변속 재생 데이터가 인트라 프레임(Intra-Frame)만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보인 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  21. 제 13항에 있어서, 상기 적어도 하나의 변속 재생 데이터는
    변속 레벨의 최대 깊이(Depth)에 기초하여 그 개수가 결정되고;
    소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 레벨(Trick Level) 에 해당하는 프레임(Frame)으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함하고;
    상기 소정의 변속 레벨은 계층적 구조를 구성하고, 상기 변속 레벨의 최대 깊이(Depth)에 기초한 적어도 하나의 변속 레벨 중 하나이고;
    상기 변속 레벨의 최대 깊이는 최대 변속 재생 속도에 기초하여 결정되고;
    상기 프레임은 상기 소정의 변속 레벨과 다른 변속 레벨에 중복으로 존재하지 않는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  22. 제 21항에 있어서, 상기 미디어 표현 기술 파일은
    상기 소정의 변속 레벨 및 상기 소정의 변속 레벨에 해당하는, 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트의 URL(Uniform Resource Locator)을 포함하고;
    상기 소정의 변속 레벨은 상기 시간에 기초해 분할하여 생성된 복수의 세그먼트를 이용하는 변속 재생 속도 정보들 중 적어도 하나를 포함하여 기술되는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  23. 제 22항에 있어서, 상기 적어도 하나의 변속 재생 데이터를 상기 서버로부터 수신하는 단계는
    상기 클라이언트의 요청에 기초한 소정의 변속 재생 속도를 지원하기 위해, 각각 상기 변속 레벨에 대응되는 상기 적어도 하나의 변속 재생 데이터를 상기 서버로부터 수신하는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  24. 제 21항에 있어서,
    상기 적어도 하나의 변속 재생 데이터를 재생 시간 순서대로 재배열하는 단계를 더 포함하는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  25. 제 21항에 있어서, 상기 미디어 표현 기술 파일은
    프레임율, 프레임 유형 및 최대 변속 재생 속도 중 적어도 하나에 대한 정보를 더 포함하고;
    상기 프레임율은 상기 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이고;
    상기 프레임 유형은 상기 적어도 하나의 변속 재생 데이터가 인트라 프레임(Intra-Frame)만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보인 것을 특징으로 하는 서버의 변속 재생 서비스 제공 방법.
  26. 제 13항에 있어서, 상기 적어도 하나의 변속 재생 데이터는
    소정의 비트율을 이용하여 미디어 콘텐트를 소정의 변속 재생 속도에 해당하는 프레임으로 인코딩하고, 시간에 기초해 분할하여 생성된 복수의 세그먼트 중 적어도 하나를 포함하고;
    상기 미디어 표현 기술 파일은 프레임율, 프레임 유형 및 최대 변속 재생 속도 중 적어도 하나에 대한 정보를 포함하고;
    상기 프레임율은 상기 클라이언트에서 재생할 초당 프레임 개수에 대한 정보이고;
    상기 프레임 유형은 상기 적어도 하나의 변속 재생 데이터가 인트라 프레임(Intra-Frame)만을 포함하는지에 대한 정보 또는 인트라 프레임 및 인터 프레임(Inter-Frame)을 포함하는지에 대한 정보인 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  27. 제 26항에 있어서,
    상기 프레임율을 특정 변속 재생 속도에 대응하는 초당 프레임 개수에 대한 정보로 변경하는 단계를 더 포함하는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  28. 제 26항에 있어서,
    상기 프레임율에 기초하여 상기 적어도 하나의 변속 재생 데이터를 재생하는 단계를 더 포함하는 것을 특징으로 하는 클라이언트의 변속 재생 서비스 제공 방법.
  29. 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 생성하는 정보 생성부;
    상기 미디어 표현 기술 파일을 클라이언트에게 전송하는 정보 전송부; 및
    상기 미디어 표현 기술 파일에 기초한 상기 클라이언트의 요청에 따라, 상기 적어도 하나의 변속 재생 데이터를 상기 클라이언트에게 전송하는 변속 재생 데이터 전송부를 포함하는 것을 특징으로 하는 서버.
  30. 적어도 하나의 변속 재생 데이터에 대한 정보를 포함하는 미디어 표현 기술 파일을 서버로부터 수신하는 정보 수신부;
    상기 미디어 표현 기술 파일에 기초하여 상기 적어도 하나의 변속 재생 데이터를 상기 서버로부터 수신하는 변속 재생 데이터 수신부를 포함하는 것을 특징으로 하는 클라이언트.
  31. 제 1항 내지 제 28항 중 어느 한 항에 의한 방법을 수행하기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
KR1020100103697A 2009-11-13 2010-10-22 변속 재생 서비스 제공 방법 및 장치 KR101750048B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
EP10830204.3A EP2499783B1 (en) 2009-11-13 2010-11-12 Method and apparatus for providing trick play service
CN201080061417.9A CN102859933B (zh) 2009-11-13 2010-11-12 用于提供特技播放服务的方法和装置
PCT/KR2010/008015 WO2011059272A2 (en) 2009-11-13 2010-11-12 Method and apparatus for providing trick play service
US12/945,194 US8515265B2 (en) 2009-11-13 2010-11-12 Method and apparatus for providing trick play service
US14/831,427 USRE48360E1 (en) 2009-11-13 2015-08-20 Method and apparatus for providing trick play service

Applications Claiming Priority (18)

Application Number Priority Date Filing Date Title
US26090609P 2009-11-13 2009-11-13
US61/260,906 2009-11-13
US26713109P 2009-12-07 2009-12-07
US61/267,131 2009-12-07
US30377810P 2010-02-12 2010-02-12
US61/303,778 2010-02-12
US30709310P 2010-02-23 2010-02-23
US61/307,093 2010-02-23
US31010410P 2010-03-03 2010-03-03
US61/310,104 2010-03-03
US31891610P 2010-03-30 2010-03-30
US61/318,916 2010-03-30
US28286010P 2010-04-12 2010-04-12
US61/282,860 2010-04-12
US35143410P 2010-06-04 2010-06-04
US61/351,434 2010-06-04
US36280510P 2010-07-09 2010-07-09
US61/362,805 2010-07-09

Publications (2)

Publication Number Publication Date
KR20110053176A true KR20110053176A (ko) 2011-05-19
KR101750048B1 KR101750048B1 (ko) 2017-07-03

Family

ID=44362919

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100103697A KR101750048B1 (ko) 2009-11-13 2010-10-22 변속 재생 서비스 제공 방법 및 장치

Country Status (5)

Country Link
US (2) US8515265B2 (ko)
EP (1) EP2499783B1 (ko)
KR (1) KR101750048B1 (ko)
CN (1) CN102859933B (ko)
WO (1) WO2011059272A2 (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101237505B1 (ko) * 2011-09-06 2013-02-27 주식회사 비티비솔루션 멀티 세션을 제공하는 가상 데스크탑 서비스 제공 서버 및 방법
WO2012177041A3 (ko) * 2011-06-20 2013-04-04 엘지전자 주식회사 미디어 컨텐트 송수신 방법 및 그를 이용한 송수신 장치
EP2826253A4 (en) * 2012-03-13 2016-07-13 Google Inc DATA FLOW TRANSMISSION IN ADAPTIVE SPECIAL REPRODUCTION
US10616297B2 (en) 2012-07-09 2020-04-07 Futurewei Technologies, Inc. Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7515710B2 (en) 2006-03-14 2009-04-07 Divx, Inc. Federated digital rights management scheme including trusted systems
US8997161B2 (en) 2008-01-02 2015-03-31 Sonic Ip, Inc. Application enhancement tracks
US8578272B2 (en) 2008-12-31 2013-11-05 Apple Inc. Real-time or near real-time streaming
US8156089B2 (en) 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
US8260877B2 (en) 2008-12-31 2012-09-04 Apple Inc. Variant streams for real-time or near real-time streaming to provide failover protection
US20100169303A1 (en) 2008-12-31 2010-07-01 David Biderman Playlists for real-time or near real-time streaming
CN105072454B (zh) 2009-01-07 2019-04-19 索尼克Ip股份有限公司 针对在线内容的媒体指南的特定化、集中式、自动化创建
US20110078750A1 (en) * 2009-09-29 2011-03-31 2Wire Trickplay in media file
US8539535B2 (en) * 2009-11-30 2013-09-17 Time Warner Cable Enterprises Llc Methods and apparatus for supporting VOD requests in a system with hierarchical content stores
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
US9510029B2 (en) * 2010-02-11 2016-11-29 Echostar Advanced Technologies L.L.C. Systems and methods to provide trick play during streaming playback
US8805963B2 (en) 2010-04-01 2014-08-12 Apple Inc. Real-time or near real-time streaming
US8560642B2 (en) 2010-04-01 2013-10-15 Apple Inc. Real-time or near real-time streaming
GB201105502D0 (en) 2010-04-01 2011-05-18 Apple Inc Real time or near real time streaming
TWI451279B (zh) 2010-04-07 2014-09-01 Apple Inc 即時或接近即時串流傳輸之內容存取控制
US9247312B2 (en) 2011-01-05 2016-01-26 Sonic Ip, Inc. Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol
US8843586B2 (en) 2011-06-03 2014-09-23 Apple Inc. Playlists for real-time or near real-time streaming
US8856283B2 (en) * 2011-06-03 2014-10-07 Apple Inc. Playlists for real-time or near real-time streaming
US8925021B2 (en) 2011-07-11 2014-12-30 Telefonaktiebolaget Lm Ericsson (Publ) Method and system for trick play in over-the-top video delivery
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8787570B2 (en) * 2011-08-31 2014-07-22 Sonic Ip, Inc. Systems and methods for automatically genenrating top level index files
US8964977B2 (en) 2011-09-01 2015-02-24 Sonic Ip, Inc. Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
WO2013038218A1 (en) * 2011-09-12 2013-03-21 Thomson Licensing Method and apparatus for changing the recording of digital content
KR101885852B1 (ko) 2011-09-29 2018-08-08 삼성전자주식회사 컨텐트 전송 및 수신 방법 및 장치
US9712874B2 (en) 2011-12-12 2017-07-18 Lg Electronics Inc. Device and method for receiving media content
CN104040993A (zh) * 2012-01-17 2014-09-10 瑞典爱立信有限公司 用于发送相应地接收媒体流的方法
US20130227106A1 (en) * 2012-02-23 2013-08-29 Edward Grinshpun Method and apparatus for video session management
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
KR20130127211A (ko) * 2012-05-14 2013-11-22 한국전자통신연구원 다중 네트워크 환경 적응형 미디어 스트리밍 전송방법 및 그 장치
US9197685B2 (en) 2012-06-28 2015-11-24 Sonic Ip, Inc. Systems and methods for fast video startup using trick play streams
US9143812B2 (en) 2012-06-29 2015-09-22 Sonic Ip, Inc. Adaptive streaming of multimedia
WO2014015110A1 (en) 2012-07-18 2014-01-23 Verimatrix, Inc. Systems and methods for rapid content switching to provide a linear tv experience using streaming content distribution
US8914836B2 (en) 2012-09-28 2014-12-16 Sonic Ip, Inc. Systems, methods, and computer program products for load adaptive streaming
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9906785B2 (en) 2013-03-15 2018-02-27 Sonic Ip, Inc. Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata
US10397292B2 (en) 2013-03-15 2019-08-27 Divx, Llc Systems, methods, and media for delivery of content
US9736448B1 (en) 2013-03-15 2017-08-15 Google Inc. Methods, systems, and media for generating a summarized video using frame rate modification
US9094737B2 (en) * 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9247317B2 (en) 2013-05-30 2016-01-26 Sonic Ip, Inc. Content streaming with client device trick play index
US10033658B2 (en) 2013-06-20 2018-07-24 Samsung Electronics Co., Ltd. Method and apparatus for rate adaptation in motion picture experts group media transport
US9967305B2 (en) 2013-06-28 2018-05-08 Divx, Llc Systems, methods, and media for streaming media content
KR102304687B1 (ko) 2013-07-22 2021-09-27 소니그룹주식회사 정보 처리 장치 및 방법
US20150067744A1 (en) * 2013-08-27 2015-03-05 Home Box Office, Inc. Providing responsive video previews during rewind and fast forward
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
KR20150121459A (ko) * 2014-04-21 2015-10-29 삼성전자주식회사 VoD 서비스를 제공하는 서버 장치 및 클라이언트 장치와 그 서비스 제공 방법
US9628833B2 (en) * 2014-05-30 2017-04-18 Apple Inc. Media requests for trickplay
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
US10225298B2 (en) 2015-01-06 2019-03-05 Divx, Llc Systems and methods for encoding and sharing content between devices
US10419815B2 (en) * 2015-09-23 2019-09-17 Comcast Cable Communications, Llc Bandwidth limited dynamic frame rate video trick play
EP3384674A1 (en) * 2015-12-04 2018-10-10 Telefonaktiebolaget LM Ericsson (publ) Technique for adaptive streaming of temporally scaling media segment levels
US10075292B2 (en) 2016-03-30 2018-09-11 Divx, Llc Systems and methods for quick start-up of playback
US10917477B2 (en) 2016-05-25 2021-02-09 Samsung Electronics Co., Ltd. Method and apparatus for MMT integration in CDN
CN109845245B (zh) * 2016-08-19 2021-10-22 韩国斯诺有限公司 动态影像处理方法及计算机可读记录介质
CN106454417B (zh) * 2016-11-11 2019-08-09 青岛海信宽带多媒体技术有限公司 流媒体倍速播放方法及装置
US10498795B2 (en) 2017-02-17 2019-12-03 Divx, Llc Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming
US10791316B2 (en) 2017-03-28 2020-09-29 Samsung Electronics Co., Ltd. Method for transmitting data about three-dimensional image
KR102413839B1 (ko) * 2017-11-15 2022-06-28 삼성전자 주식회사 컨텐츠 제공장치, 그 제어방법 및 기록매체
FR3074591A1 (fr) * 2017-12-05 2019-06-07 Orange Procede de gestion des connexions d'un dispositif electronique.
CN108174243A (zh) * 2017-12-28 2018-06-15 广东欧珀移动通信有限公司 一种视频播放速率的调节方法、装置、存储介质及终端
US11838588B2 (en) 2017-12-29 2023-12-05 Comcast Cable Communications, Llc Performing trick plays of segmented video content
US11184665B2 (en) 2018-10-03 2021-11-23 Qualcomm Incorporated Initialization set for network streaming of media data
US20200112753A1 (en) * 2018-10-03 2020-04-09 Qualcomm Incorporated Service description for streaming media data
US11622164B2 (en) * 2019-07-12 2023-04-04 Carrier Corporation System and method for streaming video/s
CN113115100B (zh) * 2021-04-23 2023-03-14 深圳力维智联技术有限公司 视频调整方法、监控设备、计算机程序产品及存储介质

Family Cites Families (152)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US18681A (en) * 1857-11-24 Shingle-machine
US71491A (en) * 1867-11-26 Improved enife and scissors-sharpener
US177865A (en) * 1876-05-23 Improvement in shingles
JPH0822061B2 (ja) 1993-03-02 1996-03-04 エヌ・ティ・ティ・データ通信株式会社 画像音声符号化デ−タ多重化装置および多重化デ−タ読み込み装置
US6122403A (en) * 1995-07-27 2000-09-19 Digimarc Corporation Computer system linked by using information in data objects
US5612742A (en) 1994-10-19 1997-03-18 Imedia Corporation Method and apparatus for encoding and formatting data representing a video program to provide multiple overlapping presentations of the video program
EP0847198B1 (en) 1995-09-29 1999-04-28 Matsushita Electric Industrial Co., Ltd. Method, device and disc for recording and reproducing interleaved bit stream on and from the disk
JP3377788B1 (ja) 1995-09-29 2003-02-17 松下電器産業株式会社 再生方法、再生装置、記録方法、記録装置、光ディスク
IL117133A (en) 1996-02-14 1999-07-14 Olivr Corp Ltd Method and system for providing on-line virtual reality movies
JP3943674B2 (ja) * 1996-10-25 2007-07-11 キヤノン株式会社 カメラ制御システム並びにカメラサーバ及びその制御方法
JP2000013761A (ja) 1998-06-18 2000-01-14 Sony Corp 情報送信装置および方法、情報受信装置および方法、並びに提供媒体
WO2000017779A1 (fr) 1998-09-17 2000-03-30 Sony Corporation Dispositif et procede d'affichage d'images
US6499060B1 (en) 1999-03-12 2002-12-24 Microsoft Corporation Media coding for loss recovery with remotely predicted data units
JP4292654B2 (ja) 1999-03-19 2009-07-08 ソニー株式会社 記録装置および方法、再生装置および方法、並びに記録媒体
JP2001024994A (ja) 1999-07-07 2001-01-26 Matsushita Electric Ind Co Ltd 送信装置、受信装置、記録装置及びプログラム記録媒体
US8341662B1 (en) 1999-09-30 2012-12-25 International Business Machine Corporation User-controlled selective overlay in a streaming media
US7051110B2 (en) * 1999-12-20 2006-05-23 Matsushita Electric Industrial Co., Ltd. Data reception/playback method and apparatus and data transmission method and apparatus for providing playback control functions
US20020161739A1 (en) 2000-02-24 2002-10-31 Byeong-Seok Oh Multimedia contents providing system and a method thereof
KR100872138B1 (ko) 2000-02-24 2008-12-08 오병석 주문형 멀티미디어 콘텐츠 제공 시스템 및 방법
JP4529240B2 (ja) 2000-06-13 2010-08-25 ソニー株式会社 情報処理装置および方法、情報処理システム、並びに記録媒体
US7548565B2 (en) * 2000-07-24 2009-06-16 Vmark, Inc. Method and apparatus for fast metadata generation, delivery and access for live broadcast program
US20050210145A1 (en) 2000-07-24 2005-09-22 Vivcom, Inc. Delivering and processing multimedia bookmark
US20050193425A1 (en) * 2000-07-24 2005-09-01 Sanghoon Sull Delivery and presentation of content-relevant information associated with frames of audio-visual programs
US7103668B1 (en) 2000-08-29 2006-09-05 Inetcam, Inc. Method and apparatus for distributing multimedia to remote clients
ATE464740T1 (de) * 2000-12-15 2010-04-15 British Telecomm Übertagung von ton- und/oder bildmaterial
AU2002220927B2 (en) 2000-12-15 2006-03-16 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material
US7277958B2 (en) 2001-03-12 2007-10-02 Edgestream, Inc. Re-assembly of streaming files from separate connections
US7043560B2 (en) 2001-06-19 2006-05-09 Nokia, Inc. Dynamic probing and reporting of bit rate information
US6996618B2 (en) 2001-07-03 2006-02-07 Hewlett-Packard Development Company, L.P. Method for handling off multiple description streaming media sessions between servers in fixed and mobile streaming media systems
FI20011871A (fi) 2001-09-24 2003-03-25 Nokia Corp Multimediadatan prosessointi
JP2003111048A (ja) 2001-09-26 2003-04-11 Ntt Software Corp コンテンツ再生のためのサーバ及びプログラム
US20030072376A1 (en) * 2001-10-12 2003-04-17 Koninklijke Philips Electronics N.V. Transmission of video using variable rate modulation
CN1253009C (zh) 2001-10-26 2006-04-19 皇家飞利浦电子股份有限公司 一种空间可缩放压缩的视频编、译码器和方法
KR100927967B1 (ko) 2001-10-26 2009-11-24 코닌클리케 필립스 일렉트로닉스 엔.브이. 공간 샤프니스 향상 기술들을 사용하는 공간 스케일가능압축 체계
US20030135633A1 (en) * 2002-01-04 2003-07-17 International Business Machines Corporation Streaming and managing complex media content on Web servers
EP1472847A1 (en) 2002-01-30 2004-11-03 Koninklijke Philips Electronics N.V. Streaming multimedia data over a network having a variable bandwidth
JP2003235031A (ja) 2002-02-08 2003-08-22 Nippon Telegr & Teleph Corp <Ntt> 映像情報提供方法,装置およびそのプログラム
JP2004013283A (ja) 2002-06-04 2004-01-15 Hitachi Ltd コンテンツ配信方法及びコンテンツ配信装置
JP4954471B2 (ja) 2002-06-07 2012-06-13 トムソン ライセンシング ネットワークに接続された装置から別の装置へのデータの配信を制御する方法
JP2004088766A (ja) 2002-07-22 2004-03-18 Matsushita Electric Ind Co Ltd データ管理装置及びデータ管理システム
EP1395014B1 (en) 2002-08-27 2006-06-14 Matsushita Electric Industrial Co., Ltd. A method of transmitting data streams with data segments of variable length
JP4127497B2 (ja) 2002-09-27 2008-07-30 富士フイルム株式会社 ディジタル・サービス・システム
JP2004140584A (ja) 2002-10-17 2004-05-13 Toshiba Corp コンテンツ配信・再生システム、広告コンテンツ挿入方法及びクライアント端末
JP2004140654A (ja) 2002-10-18 2004-05-13 Nec Engineering Ltd 画像データ転送方法及びシステム
JP4209665B2 (ja) 2002-12-02 2009-01-14 パナソニック株式会社 受信装置及び受信方法
US20040119814A1 (en) * 2002-12-20 2004-06-24 Clisham Allister B. Video conferencing system and method
JP3976191B2 (ja) 2003-01-07 2007-09-12 株式会社エヌ・ティ・ティ・ドコモ サーバ、送信レート制御方法、プログラムおよび記録媒体
US7810124B2 (en) 2003-01-28 2010-10-05 Thomson Licensing Robust mode staggercasting fast channel change
EP1588548B1 (en) 2003-01-28 2010-10-13 Thomson Licensing Robust mode staggercasting
JP2004312304A (ja) 2003-04-04 2004-11-04 Sony Corp 復号化装置及びその方法、再生装置及びその方法並びに記憶メディア
JP2004328204A (ja) 2003-04-23 2004-11-18 Canon Inc 映像信号処理装置
US6895410B2 (en) 2003-05-02 2005-05-17 Nokia Corporation Method and apparatus for providing a multimedia data stream
KR20040096718A (ko) 2003-05-10 2004-11-17 삼성전자주식회사 멀티미디어 데이터 재생장치, 오디오 데이터 수신방법 및오디오 데이터 구조
JP2004364227A (ja) 2003-06-09 2004-12-24 Sony Corp 受信装置および選局方法、ならびに、ストリーム配信システム
JP2005039667A (ja) 2003-07-17 2005-02-10 Sony Corp データ送受信システム、データ受信装置、データ送信装置及びデータ送受信方法
JP2005073138A (ja) 2003-08-27 2005-03-17 Casio Comput Co Ltd 情報再生装置および情報再生処理プログラム
KR100547139B1 (ko) 2003-09-03 2006-01-26 학교법인 고황재단 IETF QoS 프로토콜을 이용한 MPEG 미디어데이터 전송 방법 및 장치
KR100608715B1 (ko) * 2003-09-27 2006-08-04 엘지전자 주식회사 QoS보장형 멀티미디어 스트리밍 서비스 시스템 및 방법
EP1657835A4 (en) 2003-10-30 2008-12-10 Panasonic Corp MOBILEND DEVICE ORIENTED TRANSMISSION PROCESS AND DEVICE
US8250622B2 (en) 2003-10-30 2012-08-21 Panasonic Corporation Method and apparatus for broadcasting to a portable terminal
US20050102371A1 (en) 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
KR101244308B1 (ko) 2003-12-08 2013-03-18 삼성전자주식회사 동영상 파일의 암호화 방법 및 그를 이용한 디지털 저작권관리방법
US20050183120A1 (en) * 2004-01-13 2005-08-18 Saurabh Jain Multi-user personalized digital multimedia distribution methods and systems
KR101022471B1 (ko) 2004-01-17 2011-03-16 삼성전자주식회사 멀티미디어 데이터를 기록한 정보저장매체, 그 재생방법및 재생장치
JP2005229153A (ja) 2004-02-10 2005-08-25 Sony Corp 調光システムおよび調光方法、配信装置および配信方法、受信装置および受信方法、記録装置および記録方法、ならびに、再生装置および再生方法
US7504968B2 (en) 2004-02-13 2009-03-17 Hewlett-Packard Development Company, L.P. Media data decoding device
US7075460B2 (en) 2004-02-13 2006-07-11 Hewlett-Packard Development Company, L.P. Methods for scaling encoded data without requiring knowledge of the encoding scheme
US7430222B2 (en) 2004-02-27 2008-09-30 Microsoft Corporation Media stream splicer
KR101145261B1 (ko) 2004-02-27 2012-05-24 삼성전자주식회사 멀티미디어 데이터를 기록한 정보저장매체, 그 재생방법및 재생장치
JP2005303927A (ja) 2004-04-15 2005-10-27 Sony Corp 情報処理システム、情報処理装置および方法、記録媒体、並びにプログラム
CN101014947A (zh) 2004-04-30 2007-08-08 移动网络有限公司 一种关于流内容的自适应速率切换的装置、系统和方法
US7818444B2 (en) 2004-04-30 2010-10-19 Move Networks, Inc. Apparatus, system, and method for multi-bitrate content streaming
US20050262541A1 (en) 2004-05-21 2005-11-24 Sony Corporation Reception device, station selection method, and stream distribution system
US20060037057A1 (en) 2004-05-24 2006-02-16 Sharp Laboratories Of America, Inc. Method and system of enabling trick play modes using HTTP GET
CN101626479B (zh) * 2004-08-17 2011-04-13 松下电器产业株式会社 图像编码装置、图像解码装置
US7543073B2 (en) 2004-12-10 2009-06-02 Microsoft Corporation System and process for performing an exponentially weighted moving average on streaming data to establish a moving average bit rate
FR2882164A1 (fr) 2005-02-11 2006-08-18 Canon Kk Procede et dispositif de transfert de donnees numeriques a format progressif
US20080301380A1 (en) 2005-02-18 2008-12-04 Masanori Itho Data Processor
WO2006105158A2 (en) 2005-03-29 2006-10-05 Microsoft Corp. System and method for transferring web page data
JP4541962B2 (ja) 2005-04-25 2010-09-08 パナソニック株式会社 多重化装置、再生装置
JP4356645B2 (ja) 2005-04-28 2009-11-04 ソニー株式会社 字幕生成装置及び方法
JP2007011584A (ja) 2005-06-29 2007-01-18 Fujifilm Holdings Corp マルチメディアデータ処理装置、マルチメディアデータ処理方法及びマルチメディアデータ処理プログラム
JP2007025959A (ja) 2005-07-14 2007-02-01 Fujifilm Holdings Corp マルチメディアデータ処理装置、マルチメディアデータ処理方法及びマルチメディアデータ処理プログラム
KR100716291B1 (ko) * 2005-07-27 2007-05-09 삼성전자주식회사 영상재생장치와 그 제어방법 및 pvr
JP2007036666A (ja) 2005-07-27 2007-02-08 Onkyo Corp コンテンツ配信システム、クライアント及びクライアントプログラム
JP2007080357A (ja) * 2005-09-13 2007-03-29 Toshiba Corp 情報記憶媒体、情報再生方法、情報再生装置
CN1988547A (zh) 2005-12-23 2007-06-27 腾讯科技(深圳)有限公司 一种在线播放媒体文件的方法、服务器及系统
EP1969856B1 (en) * 2006-01-05 2012-08-15 Telefonaktiebolaget LM Ericsson (publ) Media container file management
JP2007207328A (ja) 2006-01-31 2007-08-16 Toshiba Corp 情報記憶媒体、プログラム、情報再生方法、情報再生装置、データ転送方法、及びデータ処理方法
CN101025737B (zh) 2006-02-22 2011-08-17 王东 基于关注度的同源信息搜索引擎聚合显示方法
WO2007111448A2 (en) 2006-03-24 2007-10-04 Lg Electronics Inc. Methods for generating a transmission slot having ofdm variable duration symbol and mobile terminal using these methods
JPWO2007111312A1 (ja) 2006-03-28 2009-08-13 パイオニア株式会社 コンテンツ配信システム、サーバ装置、コンテンツ配信方法およびプログラム
JP2007274142A (ja) 2006-03-30 2007-10-18 Victor Co Of Japan Ltd 映像送信装置及び映像送信方法
US9209934B2 (en) * 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
US9432433B2 (en) 2006-06-09 2016-08-30 Qualcomm Incorporated Enhanced block-request streaming system using signaling or block creation
US20080040498A1 (en) 2006-08-10 2008-02-14 Nokia Corporation System and method of XML based content fragmentation for rich media streaming
US20080046578A1 (en) 2006-08-16 2008-02-21 Van Der Gaast Tjietse Controlled access to a video recording over an IP multimedia subsystem, IMS, telecommunications network
JP4785687B2 (ja) * 2006-09-15 2011-10-05 キヤノン株式会社 映像制御装置及びその方法
JP4862600B2 (ja) 2006-10-12 2012-01-25 パナソニック電工株式会社 住宅設備監視システム用表示装置
KR100805308B1 (ko) 2006-10-13 2008-02-20 에스케이 텔레콤주식회사 이동통신 단말기에서의 컨텐츠 추천 서비스 방법 및 이를위한 이동통신 단말기
US8407741B2 (en) 2006-11-20 2013-03-26 Sk Planet Co., Ltd. System, server and method for providing supplementary information service related to broadcast content
CN100544439C (zh) * 2006-11-21 2009-09-23 华为技术有限公司 一种支持多种编码格式的媒体数据的方法及系统
US9571902B2 (en) 2006-12-13 2017-02-14 Quickplay Media Inc. Time synchronizing of distinct video and data feeds that are delivered in a single mobile IP data network compatible stream
AU2007336832B2 (en) 2006-12-22 2012-05-24 Apple Inc. Communicating and storing information associated with media broadcasts
US8380864B2 (en) 2006-12-27 2013-02-19 Microsoft Corporation Media stream slicing and processing load allocation for multi-user media systems
WO2008086313A1 (en) * 2007-01-05 2008-07-17 Divx, Inc. Video distribution system including progressive playback
KR100810223B1 (ko) 2007-01-19 2008-03-06 삼성전자주식회사 단말 간 실시간 스트리밍 서비스 제공 시스템 및 방법
CN100551043C (zh) * 2007-02-08 2009-10-14 华为技术有限公司 一种快进快退播放视频数据的方法和流媒体服务器
JP5230112B2 (ja) 2007-03-01 2013-07-10 キヤノン株式会社 情報配信装置、情報配信方法及び情報配信プログラム
JP2008236667A (ja) 2007-03-23 2008-10-02 Victor Co Of Japan Ltd デジタル放送受信装置
CN101682439B (zh) 2007-04-23 2012-07-04 Lg电子株式会社 使用内容的方法、共享内容的方法和基于安全级别的设备
KR101369747B1 (ko) 2007-05-10 2014-03-06 삼성전자주식회사 정보저장매체, 비디오 컨텐츠 재생 장치 및 재생 방법
KR101517959B1 (ko) 2007-05-11 2015-05-18 주식회사 비즈모델라인 적응형 스트리밍 방법
CN101321265B (zh) * 2007-06-07 2011-03-16 中兴通讯股份有限公司 对等网络媒体点播跨帧播放方式的实现方法及系统
JP4609802B2 (ja) 2007-07-06 2011-01-12 Necアクセステクニカ株式会社 ホームゲートウェイ
KR20090005845A (ko) 2007-07-10 2009-01-14 삼성전자주식회사 태그를 이용한 미디어 신호 재생 제어 방법 및 장치
US7694006B2 (en) * 2007-07-27 2010-04-06 Realnetworks, Inc. System and method for distributing media data
CN101365128A (zh) 2007-08-10 2009-02-11 中兴通讯股份有限公司 综合视频业务对等网络系统
US9852219B2 (en) 2007-08-20 2017-12-26 Nokia Technologies Oy Segmented metadata and indexes for streamed multimedia data
KR101128848B1 (ko) 2007-09-13 2012-03-23 에스케이플래닛 주식회사 멀티 앵글 모바일 방송 서비스를 제공하는 서버, 시스템 및방법
US8356324B2 (en) * 2007-09-21 2013-01-15 Broadcom Corporation Implementing network personal video recorder for digital video settop boxes
KR20090036765A (ko) 2007-10-10 2009-04-15 삼성전자주식회사 와이브로 시스템에서 영상 데이터 전송을 위한 출력 비트레이트 설정 방법
US20090110060A1 (en) * 2007-10-30 2009-04-30 Mauricio Cortes Method and apparatus for performing lower complexity multiple bit rate video encoding using metadata
KR100889986B1 (ko) 2007-11-30 2009-03-25 엔에이치엔(주) 양방향 방송 단말기를 위한 추천 키워드 제공 시스템 및방법
KR101401967B1 (ko) * 2007-12-04 2014-06-27 삼성전자주식회사 암호화된 데이터 스트림의 트릭 플레이 방법 및 장치
US8543720B2 (en) * 2007-12-05 2013-09-24 Google Inc. Dynamic bit rate scaling
KR101529503B1 (ko) 2007-12-14 2015-06-30 엘지전자 주식회사 콘텐츠 제공/다운로드 방법, 이를 위한 전자장치 및 콘텐츠서버
US8365235B2 (en) 2007-12-18 2013-01-29 Netflix, Inc. Trick play of streaming media
US8270303B2 (en) 2007-12-21 2012-09-18 Hand Held Products, Inc. Using metadata tags in video recordings produced by portable encoded information reading terminals
JP5116498B2 (ja) * 2008-01-31 2013-01-09 キヤノン株式会社 映像処理装置及びその制御方法
US8140390B2 (en) * 2008-02-12 2012-03-20 At&T Intellectual Property I, Lp System and method for displaying partial advertising data during trick play
CN101521583B (zh) 2008-02-29 2012-07-04 华为技术有限公司 一种资源接纳控制方法、系统和装置
CN101247511B (zh) 2008-03-21 2016-04-06 中国电信股份有限公司 Iptv内容相关信息展现方法及系统
JPWO2009119394A1 (ja) 2008-03-28 2011-07-21 日本電気株式会社 映像取得方法、映像取得装置、映像取得システム及び映像取得用プログラム
US8208006B2 (en) 2008-04-10 2012-06-26 Research In Motion Limited Method and system for progressive delivery and synchronization of discrete content in rich media services
US7925774B2 (en) 2008-05-30 2011-04-12 Microsoft Corporation Media streaming using an index file
US8387150B2 (en) 2008-06-27 2013-02-26 Microsoft Corporation Segmented media content rights management
KR20100007368A (ko) 2008-07-14 2010-01-22 주식회사 케이티 스트리밍 서비스의 비트 레이트를 제어하기 위한 시스템 및그 방법
US8259794B2 (en) 2008-08-27 2012-09-04 Alexander Bronstein Method and system for encoding order and frame type selection optimization
CN101459809B (zh) 2008-11-26 2010-06-23 北京惠信博思技术有限公司 一种数字电视节目播放的方法和系统
US8781305B2 (en) * 2008-12-02 2014-07-15 Microsoft Corporation Media streaming with smooth fast-forward and rewind
US8909806B2 (en) 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
JP2009159625A (ja) 2009-04-03 2009-07-16 Hitachi Ltd デジタル放送用ストリームの蓄積方法
US20130298170A1 (en) 2009-06-12 2013-11-07 Cygnus Broadband, Inc. Video streaming quality of experience recovery using a video quality metric
US9237387B2 (en) * 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
US8340505B2 (en) * 2009-10-23 2012-12-25 Vivotek Inc. Method of processing audio-video data
US8914835B2 (en) * 2009-10-28 2014-12-16 Qualcomm Incorporated Streaming encoded video data
EP3220281A1 (en) * 2009-11-04 2017-09-20 Amotech Co., Ltd. System and method for media content streaming
US8838680B1 (en) 2011-02-08 2014-09-16 Google Inc. Buffer objects for web-based configurable pipeline media processing
US8837586B2 (en) 2011-10-10 2014-09-16 Cisco Technology, Inc. Bandwidth-friendly representation switching in adaptive streaming
US9537917B2 (en) 2012-11-20 2017-01-03 Google Technology Holdings LLC Method and apparatus for streaming media content to client devices
US9294777B2 (en) 2012-12-30 2016-03-22 Qualcomm Incorporated Progressive refinement with temporal scalability support in video coding

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012177041A3 (ko) * 2011-06-20 2013-04-04 엘지전자 주식회사 미디어 컨텐트 송수신 방법 및 그를 이용한 송수신 장치
GB2506055A (en) * 2011-06-20 2014-03-19 Lg Electronics Inc Media content transceiving method and transceiving apparatus using same
US9571893B2 (en) 2011-06-20 2017-02-14 Lg Electronics Inc. Media content transceiving method and transceiving apparatus using same
GB2506055B (en) * 2011-06-20 2018-04-04 Lg Electronics Inc Media content transceiving method and transceiving apparatus using same
US10009660B2 (en) 2011-06-20 2018-06-26 Lg Electronics Inc. Media content transceiving method and transceiving apparatus using same
KR101237505B1 (ko) * 2011-09-06 2013-02-27 주식회사 비티비솔루션 멀티 세션을 제공하는 가상 데스크탑 서비스 제공 서버 및 방법
EP2826253A4 (en) * 2012-03-13 2016-07-13 Google Inc DATA FLOW TRANSMISSION IN ADAPTIVE SPECIAL REPRODUCTION
US10616297B2 (en) 2012-07-09 2020-04-07 Futurewei Technologies, Inc. Content-specific identification and timing behavior in dynamic adaptive streaming over hypertext transfer protocol

Also Published As

Publication number Publication date
EP2499783A4 (en) 2014-04-02
WO2011059272A2 (en) 2011-05-19
CN102859933B (zh) 2016-08-03
CN102859933A (zh) 2013-01-02
USRE48360E1 (en) 2020-12-15
US20110116772A1 (en) 2011-05-19
EP2499783B1 (en) 2017-08-23
KR101750048B1 (ko) 2017-07-03
EP2499783A2 (en) 2012-09-19
US8515265B2 (en) 2013-08-20
WO2011059272A3 (en) 2011-09-22

Similar Documents

Publication Publication Date Title
KR101750048B1 (ko) 변속 재생 서비스 제공 방법 및 장치
US11178435B2 (en) Systems and methods for saving encoded media streamed using adaptive bitrate streaming
US11683542B2 (en) Systems and methods for distributing content using a common set of encryption keys
US11638033B2 (en) Systems and methods for performing adaptive bitrate streaming
JP5781179B2 (ja) サーバにおけるファイル伝送方法及びその装置並びに端末におけるファイル再生方法及びその装置
JP5953307B2 (ja) クライアント、コンテンツクリエータエンティティ及びそれらがメディアストリーミングする方法

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