KR101361021B1 - Http 기반의 스트리밍 미디어 서비스를 구현하는 방법, 시스템 및 네트워크장비 - Google Patents

Http 기반의 스트리밍 미디어 서비스를 구현하는 방법, 시스템 및 네트워크장비 Download PDF

Info

Publication number
KR101361021B1
KR101361021B1 KR1020117031518A KR20117031518A KR101361021B1 KR 101361021 B1 KR101361021 B1 KR 101361021B1 KR 1020117031518 A KR1020117031518 A KR 1020117031518A KR 20117031518 A KR20117031518 A KR 20117031518A KR 101361021 B1 KR101361021 B1 KR 101361021B1
Authority
KR
South Korea
Prior art keywords
client
media
file
server
media fragment
Prior art date
Application number
KR1020117031518A
Other languages
English (en)
Other versions
KR20120036901A (ko
Inventor
샤오보 장
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from CN 201010282187 external-priority patent/CN102055789B/zh
Priority claimed from CN 200910110053 external-priority patent/CN102055773B/zh
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20120036901A publication Critical patent/KR20120036901A/ko
Application granted granted Critical
Publication of KR101361021B1 publication Critical patent/KR101361021B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protocol; HTTP) 기반의 스트리밍 서비스를 구현하는 방법을 제공한다. 상기 방법은 서버가 클라이언트로부터의 요청을 수신하고, 미디어 프레젠테이션 기술 파일(media presentation description file)에 대한 상기 요청에 따라 상기 미디어 프레젠테이션 기술 파일을 수송하는 응답을 반송하는 단계; 상기 서버와 상기 클라이언트 사이의 시간 동기화 관계를 설정하는 단계; 및 서버가 상기 클라이언트로부터 균일 자원 로케이터(uniform resource locator; URL)를 수신하고, 대응하는 미디어 단편 파일(media fragment file)을 취득하며, 상기 클라이언트 측에서 재생하기 위해 상기 미디어 단편 파일을 상기 클라이언트에 반송하는 단계를 포함하며, 상기 URL은 상기 클라이언트에 의해 결정되고 재생이 요청된 미디어 단편의 URL이며, 상기 서버로부터 상기 미디어 단편 파일을 요청하기 위해 상기 클라이언트에 의해 사용된다.

Description

HTTP 기반의 스트리밍 미디어 서비스를 구현하는 방법, 시스템 및 네트워크장비{METHOD, SYSTEM AND NETWORK EQUIPMENT FOR IMPLEMENTING HTTP-BASED STREAMING MEDIA SERVICE}
본 발명은 통신 기술 분야에 관한 것으로, 더욱 상세하게는 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protocol; HTTP) 기반의 스트리밍 서비스에 관한 것이다.
인터넷의 대중화와 함께, 스트리밍 서비스도 급격히 발전했다. 스트리밍 서비스는 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protocol; HTTP)을 기반으로 할 수 있다. 웹서버 및 컨텐츠 분산 네트워크(content distribution network; CDN)를 포함하는 복수의 기본 설비들이 HTTP 전송을 지원한다. 상기 HTTP-기반의 스트리밍 미디어가 추세가 되어왔다.
스트리밍 서비스에는 2가지 타입이 있다; 레코드 재생(record play) 및 라이브 재생(live play). 레코드 재생은 재생되는 미디어 콘텐츠가 사전에 생성된 후에 재생되며, 실시간이 아니다. 필름 재생이 전형적인 레코드 재생의 예이다. 라이브 재생은 레코드 재생과 비교하여, 미디어 콘텐츠를 실시간으로 재생하는 것을 의미한다. 전형적인 라이브 재생의 예는 스포츠 경기의 중계방송으로, 상기 중계방송에서 발신자는 실시간으로 콘텐츠를 생성하고, 코딩(coding)하며 편집하고, 수신자는 상기 발신자에 의해 생성된 콘텐츠를 동시에 실시간으로 수신한다.
전통적인 스트리밍 서비스에서, 서버와 연결된 후, 클라이언트는 특별히 정의된 시간 "now(나우)"를 이용하여 서버에게 콘텐츠를 재생할 것을 지시한다. 이 후, 클라이언트는 라이브 콘텐츠를 수신할 수 있다. 이 과정에서, 클라이언트는 콘텐츠의 저장 위치를 알 필요가 없으며, 컨트롤 엔티티(control entity)로서 서버는 현재 콘텐츠를 클라이언트에 발송한다. HTTP 기반의 스트리밍 서비스에서, 서버는 수동적인 서비스 제공자이며, 서버는 클라이언트의 요청에 따라 파일 또는 파일의 일부를 클라이언트에 발송만 할 수 있고, 클라이언트는 요청된 파일(URL 사용), 또는 파일의 일부(URL 및 위치 간격을 이용)를 명확히 지정해야 한다.
본 발명의 구현 프로세서에 있어서, 종래 기술은 적어도 다음과 같은 문제가 있다.
종래의 HTTP 기반의 스트리밍 서비스에서, 라이브 미디어 데이터는 실시간으로 생성되며, 클라이언트는 상기 현재 생성되는 미디어 데이터의 정확한 위치를 사전에 알 수 없다. 따라서, 클라이언트는 최신 생성된 미디어 데이터를 요청할 수 없어 라이브 재생 서비스를 구현하는데 어려움이 있다.
본 발명은 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protocol; HTTP) 기반의 스트리밍 서비스를 구현하기 위한 방법, 서버, 클라이언트 장치 및 네트워크 시스템을 제공하여, HTTP 기반의 스트리밍 미디어의 라이브 재생 서비스를 구현하기 위해 클라이언트가 서버 측에서 미디어 데이터 위치 정보를 얻을 수 있도록 한다.
본 발명의 일 실시예는 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protoco;l HTTP) 기반의 스트리밍 서비스를 구현하는 방법을 제공하고, 상기 방법은:
서버가 클라이언트로부터의 요청을 수신하고, 미디어 프레젠테이션 기술 파일(media presentation description file)에 대한 상기 요청에 따라 상기 미디어 프레젠테이션 기술 파일을 수송하는 응답을 반송하는 단계;
상기 서버와 상기 클라이언트 사이의 시간 동기화 관계를 설정하는 단계; 및
상기 클라이언트로부터 균일 자원 로케이터(uniform resource locator; URL)를 수신하고, 대응하는 미디어 단편 파일(media fragment file)을 취득하며, 상기 클라이언트 측에서 재생하기 위해 상기 미디어 단편 파일을 상기 클라이언트에 반송하는 단계를 포함하며,
상기 URL은 상기 클라이언트에 의해 결정되고 재생이 요청된 미디어 단편의 URL이며, 상기 서버로부터 상기 미디어 단편 파일을 요청하기 위해 상기 클라이언트에 의해 사용된다.
본 발명의 일 실시예는 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protoco;l HTTP) 기반의 스트리밍 서비스를 구현하는 다른 방법을 제공하고, 상기 방법은:
클라이언트가 서버에 요청을 발송하는 단계로서, 상기 요청은 상기 서버가 상기 요청에 따라 미디어 프레젠테이션 기술 파일(media presentation description file)을 수송하는 응답을 상기 클라이언트로 반송하는데 사용되는, 요청 발송 단계;
상기 클라이언트가 상기 서버와 시간 동기화 관계를 설정하는 단계;
상기 클라이언트가 재생이 요청된 미디어 단편(media fragment)의 균일 자원 로케이터(uniform resource locator; URL)를 결정하는 단계;
미디어 단편 파일(media fragment file)을 요청하기 위해, 상기 클라이언트가 재생이 요청된 상기 미디어 단편에 대응하는 상기 URL을 상기 서버로 발송하는 단계; 및
상기 URL에 대응하고 상기 서버에 의해 반송되는 상기 미디어 단편 파일을 수신하고, 상기 미디어 단편 파일을 재생하는 단계를 포함한다.
본 발명의 일 실시예는 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protoco;l HTTP) 기반의 스트리밍 서비스를 구현하는 다른 방법을 제공하고, 상기 방법은:
서버가 라이브 재생 개시 시간 및 상기 서버의 현재 시간을 상기 클라이언트에 발송하여, 상기 라이브 재생 개시 시간 및 상기 서버의 현재 시간에 따라, 상기 클라이언트가 상기 클라이언트에 의해 재생이 요청된 미디어 단편(media fragment)의 위치 지시 정보를 결정하는 단계;
상기 서버가 상기 클라이언트로부터 재생이 요청된 미디어 단편의 위치 지시 정보를 수신하는 단계;
상기 서버가 상기 위치 지시 정보에 따라 상기 위치 지시 정보에 대응하는 미디어 단편 파일을 취득하고, 상기 미디어 단편 파일을 상기 클라이언트로 발송하는 단계를 포함한다.
본 발명의 일 실시예는 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protoco;l HTTP) 기반의 스트리밍 서비스를 구현하는 다른 방법을 제공하고, 상기 방법은:
서버로부터 라이브 재생 개시 시간 및 상기 서버의 현재 시간을 수신하는 단계;
상기 라이브 재생 개시 시간 및 상기 서버의 현재 시간에 따라, 재생이 요청된 미디어 단편(media fragment)의 위치 지시 정보를 결정하는 단계;
재생이 요청된 미디어 단편의 위치 지시 정보를 상기 서버로 발송하는 단계;
상기 위치 지시 정보에 대응하는 미디어 단편 파일을 상기 서버로부터 수신하는 단계; 및
상기 미디어 단편 파일을 재생하는 단계를 포함한다.
본 발명의 일 실시예는 서버를 제공하고, 상기 서버는:
라이브 재생 개시 시간 및 서버의 현재 시간 클라이언트에 발송하여, 상기 라이브 재생 개시 시간 및 상기 서버의 현재 시간에 따라, 상기 클라이언트가 재생이 요청된 미디어 단편 파일(media fragment file)의 위치 지시 정보를 결정하도록 구성된 시간 정보 발송 유닛;
재생이 요청된 미디어 단편 파일의 위치 지시 정보를 상기 클라이언트로부터 수신하도록 구성된 위치 지시 정보 수신 유닛;
상기 클라이언트 측에서 재생이 요청된 미디어 단편 파일의 상기 위치 지시 정보에 따라 상기 미디어 단편 파일을 취득하도록 구성된 미디어 단편 파일 취득 유닛; 및
상기 미디어 단편 파일을 상기 클라이언트로 발송하도록 구성된 미디어 단편 파일 발송 유닛을 포함한다.
본 발명의 일 실시예는 클라이언트 장치를 제공하며, 상기 클라이언트 장치는:
라이브 재생 개시 시간 및 서버의 현재 시간을 상기 서버로부터 수신하도록 구성된 시간 정보 수신 유닛;
상기 라이브 재생 개시 시간 및 상기 서버의 현재 시간에 따라 재생이 요청된 미디어 단편(media fragment)의 위치 지시 정보를 결정하도록 구성된 결정 유닛;
재생이 요청된 미디어 단편 파일의 위치 지시 정보를 상기 서버로 발송하도록 구성된 위치 지시 정보 발송 유닛;
재생이 요청된 미디어 단편의 위치 지시 정보에 대응하는 미디어 단편 파일을 상기 서버로부터 수신하도록 구성된 미디어 단편 파일 수신 유닛; 및
상기 미디어 단편 파일을 재생하도록 구성된 재생 유닛을 포함한다.
본 발명의 일 실시예는 네트워크 시스템을 제공하며, 상기 네트워크 시스템은
라이브 재생 개시 시간 및 서버의 현재 시간을 클라이언트로 발송하여, 상기 라이브 재생 개시 시간 및 상기 서버의 현재 시간에 따라, 상기 클라이언트가 재생이 요청된 미디어 단편(media fragment)의 위치 지시 정보를 결정하고, 재생이 요청된 상기 미디어 단편의 상기 위치 지시 정보를 상기 클라이언트로부터 수신하며, 상기 클라이언트 측에서 재생이 요청된 미디어 단편의 상기 위치 지시 정보에 따라 상기 미디어 단편 파일을 취득하며, 상기 미디어 단편 파일을 상기 클라이언트로 발송하도록 구성된 서버; 및
상기 라이브 재생 개시 시간 및 상기 서버의 현재 시간을 상기 서버로부터 수신하고, 상기 라이브 재생 개시 시간 및 상기 서버의 현재 시간에 따라 재생이 요청된 상기 미디어 단편 파일(media fragment file)의 위치 지시 정보를 결정하며, 재생이 요청된 상기 미디어 단편 파일의 위치 지시 정보를 상기 서버로 발송하며, 재생이 요청된 미디어 단편의 위치 지시 정보에 대응하는 미디어 단편 파일을 상기 서버로부터 수신하고 상기 미디어 단편 파일을 재생하도록 구성된 클라이언트를 포함한다.
본 발명의 실시예에서 HTTP 기반의 스트리밍 서비스를 구현하기 위한 방법, 서버, 클라이언트 및 네트워크 시스템을 통해, 상기 서버는 상기 라이브 재생 개시 시간 및 상기 서버의 현재 시간을 상기 클라이언트로 발송하여, 상기 라이브 재생 개시 시간 및 상기 서버의 현재 시간에 따라, HTTP 기반의 스트리밍 미디어의 라이브 재생 서비스의 구현을 위해 상기 클라이언트는 재생이 요청된 상기 미디어 단편의 상기 위치 지시 정보를 결정할 수 있다.
본 발명의 기술적 해결 방안을 더 용이하게 설명하기 위해, 이하에서 본 발명의 실시예에 포함되는 도면의 간단한 설명을 첨부한다. 일견 이하에서 수반되는 간단한 설명은 본 발명의 몇몇 실시예이며, 본 발명의 기술 분야의 통상의 기술자는 이하의 실시예로부터 간단한 도면의 변형을 용이하게 도출할 수 있을 것이다.
도 1은 본 발명의 일 실시예에 따른 HTTP 기반의 스트리밍 서비스를 구현하는 방법의 흐름도이다.
도 2는 본 발명의 일 실시예에 따른 HTTP 기반의 스트리밍 서비스를 구현하는 다른 방법의 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 HTTP 기반의 스트리밍 서비스를 구현하는 또 다른 방법의 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 미디어 프레젠테이션 기술(media presentation description) 파일의 개략적인 구조도이다.
도 5는 본 발명의 일 실시예에 따른 미디어 파일 편성(media file organization) 형식의 개략도이다.
도 6은 본 발명의 일 실시예에 따른 미디어 파일 단편(media file fragment)의 개략도이다.
도 7은 본 발명의 일 실시예에 따른 서버의 개략적인 구조도이다.
도 8은 본 발명의 일 실시예에 따른 다른 서버의 개략적인 구조도이다.
도 9는 본 발명의 일 실시예에 따른 또 다른 서버의 개략적인 구조도이다.
도 10은 본 발명의 일 실시예에 따른 클라이언트 장치의 개략적인 구조도이다.
도 11은 본 발명의 일 실시예에 따른 다른 클라이언트 장치의 개략적인 구조도이다.
도 12는 본 발명의 일 실시예에 따른 또 다른 클라이언트 장치의 개략적인 구조도이다.
도 13은 본 발명의 일 실시예에 따른 네트워크 시스템의 개략적인 구조도이다.
본 발명의 기술적 해결 방안은 첨부된 도면 및 예시적인 실시예를 참조하여 아래에서 더욱 명확하고 상세하게 설명되어 있다. 설명되는 실시예들은 본 발명의 모든 실시예들 중 일부임이 명확하다. 이하에 주어진 본 발명의 실시예로부터 본 발명의 기술 분야의 통상의 기술자에 의해 용이하게 도출되는 다른 모든 실시예는 본 발명의 범위 내에 있음이 자명하다.
본 발명의 일 실시예에 포함되는 용어는 다음과 같다:
미디어 단편(Media fragment): 미디어 데이터의 캡슐화(encapsulation) 형식으로 나타낼 수 있다. 미디어 단편은 시간 간격의 미디어 데이터 및 상기 미디어 데이터에 관련된 정보를 포함한다. 각각의 미디어 단편은 독립된 파일로서 저장될 수 있으며, 미디어 단편 파일(media fragment file)이라 명명된다.
미디어 프레젠테이션 기술(media presentation description): 예를 들어 미디어 요소(media component), 코드 데이터의 속성(예를 들어, 비디오 요소의 속성은 인코딩(encoding) 타입 및 디코딩(decoding) 타입, 비디오의 비트 레이트, 프레임 레이트, 해상도 등을 포함한다), 라이브 재생 여부, 미디어 단편의 시간 길이, 및 적절한 미디어 데이터의 취득 방법과 같은 미디어 프레젠테이션의 기본적인 정보를 기술한다.
미디어 요소(media component): 예를 들어, 비디오 요소, 오디오 요소, 텍스트 요소 등과 같은 미디어 프레젠테이션 내의 요소.
미디어 요소 구간(media component interval): 시간 구간의 미디어 요소에 대응한다. 미디어 요소의 모든 시간 구간들은 서로 연결되어 전체적인 미디어 요소를 형성한다. 미디어 요소의 시간 구간들은 서로 중첩되지 않는다.
대체 대표(alternative representation): 파라미터의 그룹을 나타낼 수 있으며, 특정한 비트 레이트 및 공간적 해상도는 미디어 요소의 코드 대표(code representation)를 표현하는데 사용된다.
코드 세그먼트(code segment): 시간 구간에서 특정 미디어 요소의 코드 데이터. 미디어 요소, 미디어 요소 구간 및 대체 대표를 구체화함으로써, 클라이언트는 코드 세그먼트를 요청할 수 있다. 하나의 코드 세그먼트는 다른 코드 세그먼트와는 독립적으로 디코딩될 수 있다.
미디어 코드 데이터(media code data): 예를 들어, 특정 비트 레이트, 프레임 레이트 또는 해상도에 따라 비디오를 인코딩한 결과로 생성되는 데이터와 같이, 특정 미디어 요소를 인코딩한 결과 생성되는 데이터.
도 1에 도시된 바와 같이, 본 발명의 일 실시예는 HTTP 기반의 스트리밍 서비스를 구현하는 방법을 제공한다. 미디어 프레젠테이션의 각각의 미디어 단편은 하나의 파일 형태로 서버에 저장된다. 본 발명의 실시예에서, 상기 방법은 다음과 같은 단계를 포함한다.
S102: 서버는 클라이언트에 라이브 재생 개시 시간 및 상기 서버의 현재 시간을 발송한다.
라이브 재생 개시 시간은 다양한 방법을 통해 얻을 수 있다. 클라이언트가 라이브 재생 서비스를 요청할 때, 클라이언트는 먼저 서버로부터 미디어 프레젠테이션 기술 파일을 요청한다. 서버는 하이퍼 텍스트 트랜스퍼 프로토콜(hyper text transfer protocol; HTTP) 헤더(header) 중의 "Last-Modified" 필드를 수송하는 응답을 반송하는 것을 통해 클라이언트에 라이브 재생 개시 시간을 발송할 수 있다. 최신 수정된 시간은 미디어 프레젠테이션 기술 파일의 최신 수정 시간이다. 상기 파일은 라이브 재생을 개시할 때 생성되므로, 상기 시간은 라이브 재생 개시 시간으로 간주된다.
상기 라이브 재생 개시 시간은 클라이언트로 발송되기 위해 상기 미디어 프레젠테이션 기술 파일을 통해 수송될 수 있다.
클라이언트가 미디어 프레젠테이션 기술 파일을 요청한 후, 서버에 의해 클라이언트로 반송되는 응답의 HTTP 헤더 중의 "Date" 필드를 통해 서버는 클라이언트에 라이브 재생 개시 시간을 발송할 수 있다. 상기 "Date" 필드 내의 시간은 상기 응답을 발신하는 시간이며, 서버의 발송 지연을 무시할 수 있을 때, 상기 시간은 상기 서버의 현재 시간이다.
S104: 클라이언트는 서버로부터 라이브 재생 개시 시간 및 서버의 현재 시간을 수신하고, 상기 라이브 재생 개시 시간 및 서버의 현재 시간에 따라, 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 결정하고, 상기 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 서버로 발송한다.
클라이언트는 상기 서버의 현재 시간 및 클라이언트의 로컬 시간(local time)에 따라 시간 오프셋(offset)을 결정하고 절약하며, 상기 시간 오프셋에 따라 임의의 로컬 시간에 대응하는 서버의 시간을 용이하게 얻을 수 있다. 전송 지연은 상기 과정에서 무시된다.
보다 구체적으로, 본 발명의 일 실시예에서, 클라이언트는 미디어 단편의 시간 길이를 로컬로부터 또는 서버로부터 얻을 수 있다. 상기 파라미터는 미디어 프레젠테이션 기술 파일로부터 얻을 수 있다(상기 파라미터는 또한 사전에 지정되거나 또는 표준화될 수 있다). 상기 재생이 요청된 미디어 단편의 위치 정보는 라이브 재생 개시 시간, 서버의 현재 시간, 및 미디어 단편의 시간 길이에 따라 결정된다. 상기 위치 정보는 상기 재생이 요청된 미디어 단편의 일련 번호와 같이 다양한 형식일 수 있다. 클라이언트는 서버에 직접 일련 번호를 발송할 수 있으며, 서버는 상기 일련 번호를 미디어 단편 파일의 위치(URL과 같은)로 변환한다. 클라이언트는 또한 균일 자원 로케이터 (uniform resource locator; URL) 템플릿(template)을 로컬로부터 또는 서버로부터 얻을 수 있으며, 상기 일련 번호 및 URL 템플릿에 따라, 재생이 요청된 미디어 단편 파일에 대응하는 URL을 생성할 수 있다.
본 발명의 일 실시예에서 위치 지시 정보는 URL 또는 파일 인덱스 번호와 같은 파일 위치 지시 정보 일 수 있다. 이후의 실시예에서 위치 지시 정보는 전술한 위치 지시 정보일 수 있으나, 이에 한정되는 것은 아니다.
본 실시예에서, 클라이언트에 의해 재생이 요청된 미디어 단편은 최신 실시간으로 재생된 미디어 단편이거나, 또는 현실적인 요청에 따라 클라이언트에 의해 특정된 특정 과거 시간부터 개시된 미디어 단편일 수 있다. 모든 이후의 실시예에서, “재생이 요청된 미디어 단편”은 전술한 파일일 수 있으나, 이에 한정되는 것은 아니다.
본 실시예에서 위치 지시 정보는 클라이언트에 의해 서버로 발송된 미디어 단편 요청을 통해 수송될 수 있다. 이후의 실시예에서, 위치 지시 정보는 이와 유사한 방법으로 처리된다.
S106; 서버는 클라이언트 측에서 재생이 요청된 미디어 단편의 위치 지시 정보를 수신한다.
S108: 서버는 상기 위치 지시 정보에 따라 상기 위치 지시 정보에 대응하는 미디어 단편 파일을 취득하고, 상기 미디어 단편 파일을 클라이언트에 발송한다.
S108: 클라이언트는 서버로부터 재생이 요청된 미디어 단편 파일의 위치 지시 정보에 대응하는 미디어 단편 파일을 수신한다.
S110: 클라이언트는 상기 미디어 단편 파일을 재생한다.
S112: 클라이언트는 앞서 말한 미디어 단편의 다음 미디어 파일을 순차적으로 취득하고 재생하는 것을 계속한다.
도 2에 도시된 바와 같이 단계 S102 이전에, 본 발명의 일 실시예에 따른 방법은 다음을 더 포함한다:
S100-2: 클라이언트가 라이브 재생 서비스 취득을 요청할 때, 클라이언트는 서버에 요청을 발송한다.
상기 단계에서, 클라이언트에 의해 서버로 발송되는 요청은 미디어 프레젠테이션 기술 파일에 대한 요청을 수송할 수 있다.
미디어 프레젠테이션 기술 파일은 예를 들어, 미디어 단편의 시간 길이, 미디어 데이터의 저장 위치, 미디어 요소(오디오 요소, 비디오 요소, 텍스트 요소 등과 같은 미디어 요소), 및 미디어 데이터의 속성(예를 들어, 비디오 요소의 속성은 인코딩(encoding) 타입 및 디코딩(decoding) 타입, 비디오의 비트 레이트, 프레임 레이트, 해상도 등을 포함한다)과 같은 미디어 데이터의 기본적인 정보를 기술할 수 있다. 상기 파일은 라이브 재생을 개시할 때 생성될 수 있다. 전술한 상기 URL 템플릿, 라이프 재생 개시 시간, 및 미디어 단편의 시간 길이는 상기 미디어 프레젠테이션 기술 파일을 통해 수송될 수 있다.
S100-4: 서버는 클라이언트에 상기 미디어 프레젠테이션 기술 파일을 발송한다.
S100-6: 클라이언트는 서버로부터 상기 미디어 프레젠테이션 기술 파일을 수신한다.
클라이언트는 재생이 요청된 상기 미디어 단편의 URL을 생성하기 위해 상기 URL 템플릿, 라이브 재생 개시 시간, 및 미디어 단편의 시간 길이를 상기 파일로부터 검색할 수 있다.
본 발명의 일 실시예에 따른 방법의 단계들의 순서는 현실적인 요청에 따라 조정될 수 있다.
본 발명의 일 실시예에서, 서버에 의해 클라이언트로 발송되는 라이브 재생 개시 시간은 HTTP 헤더 중의 "Last-Modified" 필드를 통해 수송되거나 또는 미디어 프레젠테이션 기술 파일을 통해 수송될 수 있으며, 클라이언트로 발송되는 서버의 현재 시간은 HTTP 헤더 중의 "Date" 필드를 통해 수송될 수 있다. 그러나, 본 발명의 실시예는 전술한 프로토콜 및 필드에 한정되지 않으며, 다른 프로토콜 및 필드를 이용할 수 있다. 전술한 두 개의 필드가 사용될 때, HTTP 프로토콜은 확장될 필요가 없으며, 자원이 절약될 수 있다.
본 발명의 일 실시예를 통해, 서버는 라이브 재생 개시 시간 및 서버의 현재 시간을 클라이언트에 전송함으로써, 상기 라이브 재생 개시 시간 및 서버의 현재 시간에 따라, 클라이언트는 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 얻을 수 있으며, 나아가 HTTP 기반의 스트리밍 미디어의 라이브 재생 서비스를 구현하기 위해, 서버로부터 상기 위치 지시 정보에 대응하는 미디어 단편 파일을 얻을 수 있다. 본 발명의 실시예에 의하면, HTTP 프로토콜을 확장하거나 서버에 추가의 기능을 제공할 필요가 없으며, 기존의 기본적인 설비를 충분히 이용할 수 있기 때문에, 비용을 절감할 수 있다.
본 발명의 다른 실시예에서, HTTP 기반의 스트리밍 미디어의 라이브 재생 방법이 보다 구체적으로 제공된다. 도 3에 도시된 바와 같이 본 발명의 일 실시예에 따른 방법은 다음과 같은 단계를 포함한다:
S302: 클라이언트가 라이브 재생 서비스 취득을 요청할 때, 클라이언트는 서버로 요청을 발송한다. 상기 요청은 GET 메시지 일 수 있으며, 미디어 프레젠테이션 기술 파일에 대항 요청을 수송한다.
S304: 서버는 클라이언트로부터 라이브 재생 서비스에 대한 요청을 수신하고, 상기 요청에 따라 클라이언트에게 미디어 프레젠테이션 기술 파일을 수송하는 RESPONSE 응답을 반송한다.
특히, 미디어 프레젠테이션 기술 파일을 생성하는 시간, 즉, 라이브 재생 개시 시간은 미디어 프레젠테이션 기술 파일 또는 HTTP 헤더 중의 "Last-Modified" 필드를 통해 수송될 수 있으며; 응답 발송(originate) 시간, 즉, 서버의 현재 시간은 HTTP 헤더 중의 "Date" 필드를 통해 수송될 수 있다. 이러한 방법을 통해, 서버는 클라이언트에게 서버의 현재 시간 및 라이브 재생 개시 시간을 공지한다. "Last-Modified" 및 "Date”필드에서 시간은 그리니치 평균시(Greenwich Mean Time; GMT)로 표현될 수 있으며, 시간의 최소 단위는 초(second) 일 수 있다. 라이브 재생 개시 시간은 서버에 의해 기록된 시간이며, 현재 시간은 서버로부터 얻을 수 있으므로, 서버와 클라이언트 사이의 시간 차이에 의해 야기되는 충격을 피하기 위해 상기 두 개의 시간 값은 동일한 소스로부터 얻는다.
S306: 클라이언트는 서버와 관련된 시간 동기화를 설정한다.
상기 단계에서, 클라이언트는 서버의 현재 시간과 로컬 시간(local time)에 따라 시간 오프셋 ΔT=로컬 시간 - 서버의 현재시간을 산출하고 절약할 수 있다. 시간 오프셋ΔT에 따라, 임의의 로컬 시간에 대응하는 서버 시간을 용이하게 얻을 수 있다.
S308: 클라이언트는 재생이 요청된 미디어 단편의 URL을 결정한다.
서버의 현재 시간 및 라이브 재생 시간에 따라, 클라이언트는 재생이 요청된 미디어 단편을 산출할 수 있다. 재생이 요청된 미디어 단편은 최신 생성된 미디어 단편이거나 또는 현실적인 요청에 따라 클라이언트에 의해 특정된 특정 과거 시간부터 개시된 미디어 단편일 수 있다.
예를 들어, 로컬 변수 N이 설정될 수 있다. 상기 로컬 변수 N은 취득되는 파일의 일련 번호를 나타낸다. 서버의 현재 시간 및 라이브 재생 시간에 따라, 클라이언트는 실시간으로 재생되는 최신의 미디어 단편 파일의 일련 번호 L을 산출할 수 있으며, 상기 파일 일련 번호 L을 변수 N으로 할당할 수 있다. L은 다음과 같은 식을 통해 산출될 수 있다.
L=int((T-T0)/Ts)
여기서, T는 서버의 현재 시간이며, T0는 라이브 재생 개시 시간이며, Ts는 미디어 프레젠테이션의 시간 길이(상기 파라미터는 서버에 의해 발송되는 정보로부터 얻거나, 또는 사전에 지정되나, 또는 표준화될 수 있다)이고, int()는 근사값으로, int(x)는 x보다 크지 않은 최대 정수를 나타낸다.
클라이언트는 과거 시간 T1을 시청 개시 개시으로 특정할 수 있다. 서버의 현재 시간과 로컬 시간 사이의 시간 오프셋ΔT에 따라, 로컬 시간에 대응하는 서버 시간은 T2=T1-ΔT를 통해 얻을 수 있다. 여기서 T2는 T0 ≤ T2 ≤ T를 만족한다. 식 L' = int((T2 - T0)/Ts)를 통해 특정 과거 시간 T1부터 시청이 개시된 미디어 단편 파일의 일련 번호 L`이 산출되고, 상기 일련 번호 L`는 로컬 변수 N으로 할당된다.
본 실시예에서, 미디어 콘텐츠 생성은 고정된 시간 간격에서 미디어 단편을 생성하는 것이다. 각 미디어 단편은 서버에 독립된 파일로서 저장되고, 미디어 단편 파일로 명명된다. 상기 URL 템플릿 내의 변수를 취득된 파일의 일련 번호 N으로 대체함으로써, 클라이언트는 미디어 단편에 대응하는 URL을 생성한다.
S310: 미디어 단편 파일 요청을 위해, 클라이언트는 재생이 요청된 미디어 단편에 대응하는 URL을 서버로 발송한다.
S312: 서버는 클라이언트로부터 URL을 수신하고, 대응하는 미디어 단편 파일을 취득하며, 상기 미디어 단편 파일을 반송한다.
S314: 클라이언트는 서버에 의해 반송되는 미디어 단편 파일을 수신하고 상기 파일을 재생한다.
S316: 클라이언트는 순차적으로 취득되는 파일의 일련 번호를, N=N+1로 수정하고, 취득되는 미디어 단편에 대응하는 URL을 생성하기 위해 URL 템플릿 내의 변수를 일련 번호로 대체한다. 단계 S310 내지 S316은 계속하여 다음 순서의 미디어 단편 파일을 요청하고 얻도록 반복된다.
제1 미디어 단편 파일을 수신할 때, 클라이언트는 상기 미디어 단편 파일 재생을 개시하고, 취득된 미디어 단편 파일들을 순차적으로 재생한다. 단계 S310 내지 S316은 동시에 발생할 수 있음을 유의한다. 즉, 일련 번호 N을 갖는 파일을 재생하는 동안 클라이언트는 일련 번호 N+1을 갖는 파일은 취득할 수 있다.
본 발명의 일 실시예에 따른 방법의 단계들의 순서는 현실적인 요청에 따라 조정될 수 있다.
이하에서는 미디어 프레젠테이션 기술 파일을 설명한다. 미디어 프레젠테이션 기술 파일은 라이브 재생 개시 시 서버에 의해 생성될 수 있다. 상기 파일은 예를 들어 미디어 요소(media component), 코드 데이터의 속성(예를 들어, 비디오 요소의 속성은 인코딩(encoding) 타입 및 디코딩(decoding) 타입, 비디오의 비트 레이트, 프레임 레이트, 해상도를 포함한다), 라이브 재생 여부, 미디어 단편의 시간 길이, 및 적절한 미디어 데이터의 취득 방법과 같은 미디어 데이터의 기본적인 정보를 기술한다.
미디어 프레젠테이션 기술 파일의 구조가 도 4에 도시된다. 상기 파일은 ISO 베이직 파일 및 3GP 파일 포맷 기반에서 확장된다. 상기 파일은 파일 계층에 대하여 3개의 오브젝트(object)를 포함한다. “ftyp”는 파일 타입을 식별하고, 파일이 컴파일되는 사양을 결정한다; “moov”는 미디어 프레젠테이션의 메타데이터(metadata)를 정의하는 다중 오브젝트를 포함한다; “meta”는 메타데이터를 포함한다. 각 오브젝트에는 다른 오브젝트들이 더 포함될 수 있다.
“moov”는 미디어 데이터의 기본 정보에 관한 기술을 포함한다. 상이한 “trak”들은 상이한 미디어 요소에 관한 기술을 제공한다. 예를 들어, trak 1은 코덱, 비트 레이트, 프레임 레이트 및 해상도와 같은 비디오 요소에 관한 정보를 기술한다; trak 2는 예를 들어, 언어, 볼륨, 모노포닉(monophonic) 사운드 또는 스테레오포닉(stereophonic) 사운드와 같은 오디오 요소에 관한 정보를 기술한다.
일 실시예에서, 미디어 단편 파일의 위치는 UTL 템플릿을 통해 기술될 수 있다. URL 템플릿은 널(null)문자로 끝나는 문자열이며, 변수를 포함한다. 일상적으로 사용되는 URL이 형성될 때, URL 템플릿 내의 변수는 대체되어야 한다. 예를 들어, 템플릿이 http://www.huawei.com/v/audio/a{index}.dat이면, URL이 생성될 때, 템플릿 내의 {index}는 다음을 통해 얻어지는 파일 일련 번호 “8”로 대체된다.
http://www.huawei.com/v/audio/a8.dat.
미디어 단편 파일의 위치를 기술하는 URL 템플릿은 오브젝트 “dref”에 저장된다. 상기 “dref”는 오브젝트 “trak”에 포함되고, 상기 “trak”은 오브젝트 “moov”에 포함된다.
상기 실시예에서, 미디어 단편의 시간 길이는 구체적으로 “xml”에 주어진 오브젝트 ”meta”에 포함된다.
본 발명의 일 실시예에 따른 미디어 파일의 편성 형식이 도 5에 도시된다.
도 5에서 미디어는 비디오 요소 및 오디오 요소를 포함한다. 상기 비디오 요소는 상이한 비트 레이트를 갖는 코드 표현들의 3개의 타입을 포함하고, 상기 오디오 요소는 상이한 언어를 갖는 코드 표현들의 2개의 타입을 포함한다. 예를 들어, 코덱 타입, 인코딩 레이트, 프레임 레이트, 해상도 및 볼륨과 같은 미디어의 기본 정보와 같은 코드 표현의 각 타입의 정보는 도면의 미디어 프레젠테이션 기술 파일에 포함된다. 미디어 프레젠테이션 기술 파일은 URL 템플릿을 통해 미디어 단편 파일의 위치를 기술한다. 미디어 프레젠테이션 기술 파일은 미디어 단편의 시간 길이를 더 포함할 수 있다.
본 발명의 일 실시예는 미디어 프레젠테이션 기술 파일을 제공한다. 상기 파일은 URL 템플릿을 포함할 수 있다. 상기 템플릿은 클라이언트가 재생이 요청된 미디어 단편에 대응하는 URL을 생성하는데 사용될 수 있다. 상기 URL는 재생이 요청된 미디어 단편 파일의 위치를 지시하는데 사용된다. 상기 파일은 미디어 단편의 시간 길이를 더 포함할 수 있으며, 상기 시간 길이는 클라이언트가 재생이 요청된 미디어 단편의 위치 정보를 결정하는데 사용된다.
라이브 콘텐츠가 생성될 때, 미디어 단편은 고정된 시간 간격에서 생성될 수 있으며, 각 미디어 단편은 독립된 파일로 저장된다. 미디어 단편 파일은 하나의 미디어 표현 또는 상이한 미디어 표현의 조합을 포함한다. 각 미디어 단편 파일은 개별적으로 엑세스될 수 있다. 파일명은 2개의 부분을 포함할 수 있다; a1.data, a2. data,…과 같이 기본 파일명 및 일련 번호. 제1 미디어 단편에 대응하는 파일 일련 번호는 1이며, 시간 순서에 따라 일련 번호는 단계마다 1씩 증가한다. 동일한 코드 표현를 사용하거나 또는 코드 표현들의 동일한 조합을 사용하는 미디어 단편 파일들은 동일한 경로에 저장되고, 하나의 URL이 상기 파일들의 위치를 기술하는데 사용될 수 있다.
각 미디어 단편 파일은 단일한 코드 표현을 포함할 수 있으므로, 상이한 코드 표현들은 저장 공간을 절약하기 위해 중복 없이 유연하게 결합될 수 있다. 각 미디어 단편은 또한 예를 들어, 특정 레이트의 비디오 코드 표현과 특정 언어의 오디오 코드 표현의 결합과 같이 상이한 코드 표현들의 결합을 허용할 수 있다.
도 6은 본 발명의 실시예에 따른 미디어 단편을 개략적으로 나타낸다. 도 6에 나타낸 바와 같이, 미디어 단편은 이하의 부분을 포함한다. "moof"는 미디어 단편의 메타데이터를 기술하는 데에 사용된다. 미디어는 라이브 재생 과정에서 실시간으로 생성되기 때문에, 모든 미디어 데이터에 관한 정보를 사전에 미리 얻을 수는 없다. "moof"는 미디어 기본 정보만을 포함하며, 미디어 단편의 특별한 메타데이터만을 기술한다. "mdat"는 단편의 미디어 데이터를 캡슐화, 즉 단편을 인코딩하는 데에 사용되고, 단일의 미디어 요소의 코드 표현(code representation) 또는 상이한 미디어 요소의 코드 표현들의 조합을 포함할 수 있다. 점선으로 표시한 블록에서, "mfra"는 임의 선택적인 부분으로서, 미디어 단편 중의 랜덤 액세스 포인트를 기술하는 데에 사용된다. 상이한 미디어 요소의 코드 표현의 조합은 미디어 단편 내에 있을 수 있다.
본 발명의 실시예에 의하면, 서버가 라이브 재생 개시 시간과 서버의 현재 시간을 클라이언트에 발송함으로써, 클라이언트는 라이브 재생 개시 시간과 서버의 현재 시간에 따라, 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 취득할 수 있으며, 또한 서버로부터 위치 지시 정보에 대응하는 미디어 단편 파일을 취득할 수 있어서, HTTP 기반의 스트리밍 미디어의 라이브 재생 서비스를 구현할 수 있다. 본 발명의 실시예에 의하면, HTTP 프로토콜을 확장하거나 서버에 추가의 기능을 제공할 필요가 없으며, 기존의 기본적인 설비를 충분히 이용할 수 있기 때문에, 비용을 절감할 수 있다. 그 외에도, 미디어 단편은 독립된 파일로서 서버에 저장되기 때문에, 위치 지시 정보를 통해 미디어 단편을 직접 취득할 수 있어서, 동일한 인덱스 파일에 빈번하게 엑세스하지 않아도 되며 라이브 재생의 효율을 향상시킬 수 있다.
도 7에 나타낸 바와 같이, 본 발명의 실시예는 서버를 제공하는데, 이러한 서버는 구체적으로 스트리밍 서버가 될 수 있다. 서버는 시간 정보 발송 유닛(702), 위치 지시 정보 수신 유닛(704), 미디어 단편 취득 유닛(706), 및 미디어 단편 파일 발송 유닛(708)을 포함한다.
시간 정보 발송 유닛(702)은 라이브 재생 시간 및 서버의 현재 시간을 클라이언트에 발송한다. 클라이언트는, 이러한 라이브 재생 개시 시간 및 서버의 현재 시간에 기초하여, 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 결정한다. 위치 지시 정보는 URL 또는 파일 인덱스 번호 등의 파일 위치를 나타내는 정보가 될 수 있다. 클라이언트에 의해 재생이 요청된 미디어 단편은 실시간으로 재생되는 최신의 미디어 단편, 또는 실제의 수요에 따라 클라이언트에 의해 지정되는 특정의 과거 시간으로부터 개시하는 미디어 단편이 될 수 있다.
위치 지시 정보 수신 유닛(704)은 클라이언트로부터 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 수신한다.
미디어 단편 취득 유닛(706)은 클라이언트 측에서 재생되어야 하는 미디어 단편의 위치 지시 정보에 기초해서, 저장 유닛으로부터 미디어 단편 파일을 취득한다.
미디어 단편 파일 발송 유닛(708)은 미디어 단편 파일을 클라이언트에 발송한다.
도 8에 나타낸 바와 같이, 서버는 스트리밍 미디어의 각각의 미디어 단편을 단일 파일 형태로 기억하는 저장 유닛(802)을 더 포함할 수 있다. 미디어 단편의 형식은 앞서 개시한 실시예에서 설명한 것과 유사하기 때문에, 더 이상 설명하지 않는다. 미디어 단편 파일 취득 유닛(706)은 클라이언트 측에서 재생되어야 하는 미디어 단편 파일의 위치 지시 정보에 기초하여, 재생 유닛(802)으로부터 미디어 단편 파일을 취득한다.
도 9에 나타낸 바와 같이, 서버는 URL 템플릿을 클라이언트 장치에 발송하는 URL 템플릿 발송 유닛(902)을 더 포함할 수 있다. URL 템플릿 발송 유닛(902)에 의하면, 클라이언트 장치는 URL 템플렛에 기초하여, 재생에 필요한 미디어 단편 파일에 대응하는 URL을 생성할 수 있다.
미디어 단편 파일 취득 유닛(706)은 클라이언트 측에서 재생되어야 하는 미디어 단편 파일의 URL에 기초하여, 저장 유닛(802)으로부터 미디어 단편 파일을 취득한다.
본 발명의 실시예에서, 서버가 클라이언트에게 발송한 라이브 재생 개시 시간은 HTTP 헤더 중의 "Last-Modified" 필드 또는 미디어 프레젠테이션 기술 파일 내에 포함될 수 있다. 클라이언트가 발송한 서버의 현재 시간은 HTTP 헤더 중의 "Date" 필드에 포함될 수 있다. 그러나, 본 발명의 실시예는 앞서 설명한 프로토콜 및 필드에 한정되는 것은 아니며, 다른 프로토콜이나 필드를 사용해도 된다. 앞서 설명한 2개의 필드를 사용하는 경우에, HTTP 프로토콜을 확장하지 않아도 되기 때문에, 비용을 절감할 수 있다.
본 발명의 실시예에서의 유닛은 서로 일체로 있을 수도 있고 분리되어 배치될 수도 있다. 유닛들이 하나의 유닛으로 통합될 수 있고, 여러 하위 유닛으로 분리되어 있을 수도 있다.
본 발명의 실시예에서, 서버는 스트리밍 서버 등이 될 수 있으며, 클라이언트 장치는 모바일폰, 컴퓨터, PDA(Personal Digital Assistant), 소형 서버, 가전 전자 제품, 라우터, 교환기, 기지국, 또는 임의의 전자 장치, 네트워크 장치 또는 컴퓨터 관련 장치가 될 수 있다.
본 발명의 실시예에 의하면, 서버의 시간 정보 발송 유닛이 라이브 재생의 개시 시간과 서버의 현재 시간을 클라이언트에 발송함으로써, 클라이언트는 라이브 재생의 개시 시간과 서버의 현재 시간에 기초하여, 클라이언트에 의해 재생되어야 하는 미디어 단편 파일의 위치 지시 정보를 취득할 수 있으며, 또한 서버로부터 위치 지시 정보에 대응하는 미디어 단편 파일을 취득할 수 있어서, HTTP 기반의 스트리밍 미디어의 라이브 재생 서비스를 구현할 수 있다. 본 발명의 실시예에 의하면, HTTP 프로토콜을 확장하거나 서버에 추가의 기능을 제공할 필요가 없으며, 기존의 기본적인 설비를 충분히 이용할 수 있기 때문에, 투자액을 절약하고 비용을 절감할 수 있다. 그 외에도, 미디어 단편은 독립된 파일로서 서버의 저장 유닛에 저장되기 때문에, 위치 지시 정보를 통해 미디어 단편을 직접 취득할 수 있어서, 동일한 인덱스 파일에 빈번하게 엑세스하지 않아도 되며 라이브 재생의 효율을 향상시킬 수 있다.
도 10에 나타낸 바와 같이, 본 발명의 실시예는 클라이언트 장치를 제공한다. 클라이언트 장치는 시간 정보 수신 유닛(1002), 결정 유닛(1004), 위치 지시 정보 발송 유닛(1006), 미디어 단편 파일 수신 유닛(1008), 및 재생 유닛(1010)을 포함한다.
시간 정보 수신 유닛(1002)은 서버로부터 라이브 재생의 개시 시간과 서버의 현재 시간을 수신한다.
결정 유닛(1004)은 라이브 재생의 개시 시간과 서버의 현재 시간에 기초하여, 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 결정한다. 클라이언트에 의해 재생이 요청된 미디어 단편은 실시간으로 재생되는 최신의 미디어 단편, 또는 실제의 수요에 따라 클라이언트에 의해 지정되는 특정의 과거 시간으로부터 개시하는 미디어 단편이 될 수 있다.
위치 지시 정보 발송 유닛(1006)은 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 서버에 발송한다. 위치 지시 정보는 URL 또는 파일 인덱스 번호 등의 파일 위치를 나타내는 정보가 될 수 있다.
미디어 단편 파일 수신 유닛(1008)은 서버로부터 재생이 요청된 미디어 단편 파일의 위치 지시 정보에 대응하는 미디어 단편 파일을 수신한다.
재생 유닛(1010)은 미디어 단편 파일을 재생한다.
도 11에 나타낸 바와 같이, 클라이언트 장치는 미디어 단편의 시간 길이(time length)를 취득하는 미디어 단편 시간 길이 취득 유닛(1102)을 더 포함할 수 있다. 미디어 단편의 시간 길이는 로컬로부터 또는 서버로부터 취득할 수 있다.
결정 유닛(1004)은 라이브 재생 개시 시간, 서버의 현재 시간 및 미디어 단편의 시간 길이에 따라, 재생이 요청된 미디어 단편의 위치 정보를 결정하고, 위치 정보에 기초해서, 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 생성한다.
도 12에 나타낸 바와 같이, 클라이언트 장치는 URL 템플릿을 취득하는 URL 템플릿 취득 유닛(1202)을 더 포함할 수 있다. URL 템플릿은 로컬로부터 또는 서버로부터 취득할 수 있다.
결정 유닛(1004)은 라이브 재생의 개시 시간, 서버의 현재 시간 및 미디어 단편의 시간 길이에 기초하여, 재생이 요청된 미디어 단편의 일련 번호를 결정하는 결정 서브 유닛(1004-2)과, 일련 번호 및 URL 템플릿에 기초하여, 재생이 요청된 미디어 단편 파일에 대응하는 URL을 생성하는 생성 유닛(1004-4)을 포함한다.
본 발명의 실시예에서, 서버에 의해 클라이언트로 발송되는 라이브 재생 개시 시간은 HTTP 헤더 중의 "Last-Modified" 필드를 통해 수송되거나 또는 미디어 프레젠테이션 기술 파일을 통해 수송될 수 있으며; 클라이언트로 발송되는 서버의 현재 시간은 HTTP 패킷 헤더 중의 "Date" 필드를 통해 수송될 수 있다. 그러나, 본 발명의 실시예는 전술한 프로토콜 및 필드에 한정되지 않으며, 다른 프로토콜 및 필드를 이용할 수 있다. 전술한 두 개의 필드가 사용될 때, HTTP 프로토콜은 확장될 필요가 없으며, 자원이 절약될 수 있다.
본 발명의 실시예에서의 유닛은 서로 일체로 있을 수도 있고 분리되어 배치될 수도 있다. 유닛들이 하나의 유닛으로 통합될 수 있고, 여러 하위 유닛으로 분리되어 있을 수도 있다.
본 발명의 실시예에서, 서버는 스트리밍 서버 등일 수 있고, 클라이언트 디바이스는 이동전화, 휴대 정보 단말기((Personal Digital Assistant, PDA), 소형 서버, 가전 기기, 라우터, 스위치, 기지국 또는 임의의 전자 디바이스, 네트워크 디바이스, 또는 컴퓨터 관련 디바이스일 수 있다.
본 발명의 실시예를 통해, 서버의 시간 정보 전송 유닛은 라이브 재생 개시 시간 및 서버의 현재 시간을 클라이언트에 전송하므로, 클라이언트는 라이브 재생 개시 시간 및 서버의 현재 시간에 따라, 클라이언트에 의해 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 취득할 수 있고, 또한 서버로부터 위치 지시 정보에 대응하는 미디어 단편 파일을 취득할 수 있어, HTTP 기반의 스트리밍 미디어의 라이브 재생 서비스를 구현할 수 있다. HTTP 프로토콜의 확장이나 서버에 추가적인 기능을 추가할 필요가 없고, 기존의 기본 설비를 충분히 활용할 수 있어, 투자를 면할 수 있고 비용을 절감할 수 있다.
도 13에 나타낸 바와 같이, 본 발명의 실시예는 네트워크 시스템을 제공하며, 이 네트워크 시스템은,
클라이언트가 라이브 재생 개시 시간 및 서버의 현재 시간에 따라 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 결정할 수 있도록, 라이브 재생 개시 시간 및 서버의 현재 시간을 클라이언트에 전송하고; 클라이언트 측에서 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 수신하고; 클라이언트 측에서 재생이 요청된 미디어 단편 파일의 위치 지시 정보에 따라 미디어 단편 파일을 취득하고; 상기 미디어 단편 파일을 클라이언트에 전송하도록 구성된, 서버(1302); 및
서버로부터 라이브 재생 개시 시간 및 서버의 현재 시간을 수신하고; 라이브 재생 개시 시간 및 서버의 현재 시간에 따라 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 결정하고; 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 서버에 전송하고; 재생이 요청된 미디어 단편 파일의 위치 지시 정보에 대응하는 미디어 단편 파일을 서버로부터 수신하고; 상기 미디어 단편 파일을 재생하도록 구성된, 클라이언트 장치(1304)를 포함한다.
서버(1302)는 또한 스트리밍 미디어의 각 미디어 단편을 단일 파일 형태로 저장도록 구성된다.
본 발명의 실시예에서, 서버에 의해 클라이언트에게 전송된 라이브 재생 개시 시간은 HTTP 헤더 중의 "Last-Modified" 필드 또는 미디어 프리젠테이션 기술 파일을 통해 수송될 수 있으며, 클라이언트에 전송된 서버의 현재 시간은 HTTP 헤더 중의 "Date" 필드를 통해 수송될 수 있다.
본 발명의 실시예에서, 서버(1302)는 스트리밍 서버일 수 있고, 클라이언트 장치(1304)는 이동전화, 휴대 정보 단말기(PDA), 소형 서버, 가전 기기, 라우터, 스위치, 기지국 또는 임의의 전자 디바이스, 네트워크 디바이스, 또는 컴퓨터 관련 디바이스일 수 있다. 네트워크 시스템의 연결 방식은 유선 연결 또는 무선 연결일 수 있다. 무선 연결 방식은 GSM(Global System for Mobile Communications), WCDMA(Wideband-Code Division Multiple Access), TD-SCDMA(Time Division-Synchronized Code Division Multiple Access), CDMA(Code-Division Multiple Access), WIMAX(Worldwide Interoperability for Microwave Access), WLAN(Wireless Local Area Network) 또는 LTE(Long Term Evolution)일 수 있다.
본 발명의 실시예를 통해, 서버의 시간 정보 전송 유닛은 라이브 재생 개시 시간 및 서버의 현재 시간을 클라이언트에 전송하므로, 클라이언트는 라이브 재생 개시 시간 및 서버의 현재 시간에 따라 클라이언트에 의해 재생이 요청된 미디어 단편 파일의 위치 지시 정보를 취득할 수 있고, 또한 서버로부터 위치 지시 정보에 대응하는 미디어 단편 파일을 취득할 수 있어, HTTP 기반의 스트리밍 미디어의 라이브 재생 서비스를 구현할 수 있다. HTTP 프로토콜을 확장하거나 서버에 추가적인 기능을 더할 필요가 없고, 기존의 기본 설비를 충분히 활용할 수 있어, 투자를 면할 수 있고 비용을 절감할 수 있다. 또, 각 미디어 단편이 서버에 독립된 파일로 저장되기 때문에, 위치 지시 정보를 통해 미디어 단편을 바로 취득할 수 있어, 동일 파일의 빈번한 액세스를 방지하고 라이브 재생의 효율을 향상시킬 수 있다.
본 발명의 실시예에서 기술한 예의 유닛들 및 계산 단계들은 전자 하드웨어, 또는 컴퓨터 소프트웨어, 전자 하드웨어와 컴퓨터 소프트웨어의 조합으로 구현될 수 있다. 하드웨어와 소프트웨어 간의 호환성을 명확하게 하기 위해, 이상의 설명에서는 일반적으로 실시예의 구성 및 단계를 기능에 따라 명확하게 하였다. 기능이 하드웨어 또는 소프트웨어로 구현되는지는, 기술적 해결 방안의 특정 애플리케이션 및 설계의 제약 조건에 의존한다. 해당 기술분야의 당업자는 다른 방법을 사용하여 각각의 특정 애플리케이션에 설명한 기능을 구현할 수 있지만, 그러한 구현은 본 발명의 실시예의 범위에 속하는 것으로 간주할 것이다.
본 명세서에 기술한 방법 또는 알고리즘의 단계는 하드웨어, 프로세서에 의해 실행되는 소프트웨어 모듈, 또는 하드웨어와 소프트웨어의 조합에 의해 구현될 수 있다. 소프트웨어 모듈은 RAM(Random Access Memory), 컴퓨터 메모리, ROM(Read-Only Memory), 전기적으로 프로그램 가능한 ROM, 전기적으로 소거/프로그램 가능한 ROM, 레지스터, 하드 디스크, 탈착 가능한 디스크, CD-ROM,또는 기타 저장 매체에 위치될 수 있다.
이상의 설명은 본 발명의 예시적인 실시예일 뿐이며, 본 발명의 보호 범위를 한정하는 것은 아니다. 본 발명의 속하는 기술분야의 당업자에 의해 용이하게 도출될 수 있는 모든 변경, 변형 또는 대체는 본 발명의 보호 범위에 속한다. 그러므로, 본 발명의 보호 범위는 첨부된 청구범위에 의해 정해진다.

Claims (14)

  1. 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protocol; HTTP) 기반의 스트리밍 서비스를 구현하는 방법에 있어서, 상기 방법은:
    서버가 클라이언트로부터의 요청을 수신하고, 미디어 프레젠테이션 기술 파일(media presentation description file)에 대한 상기 요청에 따라 상기 미디어 프레젠테이션 기술 파일을 수송하는 응답을 상기 클라이언트에 반송하는 단계 - 상기 미디어 프레젠테이션 기술 파일은 균일 자원 로케이터(uniform resource locator; URL) 템플릿(template), 라이브 재생 개시 시간, 및 미디어 단편(media fragment)의 시간 길이를 수반하고; 상기 URL 템플릿은 상기 클라이언트가 재생이 요청된 미디어 단편 파일(media fragment file)에 대응하는 URL을 생성하는데 사용되며; 상기 URL은 재생이 요청된 상기 미디어 단편 파일의 위치를 지시하는데 사용되고; 상기 미디어 단편의 시간 길이는. 상기 클라이언트가 상기 미디어 단편의 시간 길이에 따라, 재생이 요청된 상기 미디어 단편 파일의 위치 정보를 결정하는데 사용됨 -;
    상기 서버와 상기 클라이언트 사이의 시간 동기화 관계를 설정하는 단계; 및
    상기 서버가 상기 클라이언트로부터 URL을 수신하고, 대응하는 미디어 단편 파일을 취득하며, 상기 클라이언트 측에서 재생하기 위해 상기 미디어 단편 파일을 상기 클라이언트에 반송하는 단계를 포함하고,
    상기 URL은 상기 클라이언트에 의해 결정되고 재생이 요청된 미디어 단편의 URL이며, 상기 서버로부터 상기 미디어 단편 파일을 요청하기 위해 상기 클라이언트에 의해 사용되는,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  2. 제1항에 있어서,
    상기 응답이 발신된 시간은 HTTP 헤더(header) 중의 "Date" 필드를 통해 수송되고,
    상기 응답이 발신된 상기 시간은 상기 서버의 현재 시간인,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  3. 제1항에 있어서,
    라이브 재생이 개시될 때, 상기 서버는 상기 미디어 프레젠테이션 기술 파일을 생성하고,
    상기 미디어 프레젠테이션 기술 파일은 생성되는 미디어 데이터의 기본 정보를 기술하는,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  4. 제1항 또는 제2항에 있어서,
    상기 미디어 단편 파일은 단일 미디어 표현(representation), 또는 상이한 미디어 표현들의 조합을 포함하는,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  5. 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protocol; HTTP) 기반의 스트리밍 서비스를 구현하는 방법에 있어서, 상기 방법은:
    클라이언트가 서버에 요청을 발송하는 단계로서, 상기 요청은 상기 서버가 상기 요청에 따라 미디어 프레젠테이션 기술 파일(media presentation description file)을 수송하는 응답을 상기 클라이언트로 반송하는데 사용되는, 요청 발송 단계;
    상기 클라이언트가 상기 서버로부터 상기 미디어 프레젠테이션 기술 파일을 수송하는 응답을 수신하는 단계 - 상기 미디어 프레젠테이션 기술 파일은 균일 자원 로케이터(uniform resource locator; URL) 템플릿(template), 라이브 재생 개시 시간, 및 미디어 단편(media fragment)의 시간 길이를 수반하고; 상기 URL 템플릿은 상기 클라이언트가 재생이 요청된 미디어 단편 파일(media fragment file)에 대응하는 균일 자원 로케이터(uniform resource locator; URL)를 생성하는데 사용되며; 상기 URL은 재생이 요청된 상기 미디어 단편 파일의 위치를 지시하는데 사용되고; 상기 미디어 단편의 시간 길이는. 상기 클라이언트가 상기 미디어 단편의 시간 길이에 따라, 재생이 요청된 상기 미디어 단편 파일의 위치 정보를 결정하는데 사용됨 -;
    상기 클라이언트가 상기 서버와 시간 동기화 관계를 설정하는 단계;
    상기 클라이언트가 재생이 요청된 상기 미디어 단편 파일의 상기 URL을 결정하는 단계;
    상기 클라이언트가, 상기 미디어 단편 파일을 요청하기 위해, 재생이 요청된 상기 미디어 단편 파일에 대응하는 상기 URL을 상기 서버로 발송하는 단계; 및
    상기 클라이언트가, 상기 URL에 대응하고 상기 서버에 의해 반송되는 상기 미디어 단편 파일을 수신하고, 상기 미디어 단편 파일을 재생하는 단계를 포함하는,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  6. 제5항에 있어서,
    상기 응답이 발신된 시간은, HTTP 헤더(header) 중의 "Date" 필드를 통해 수송되고,
    상기 응답이 발신된 상기 시간은, 상기 서버의 현재 시간인,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  7. 제6항에 있어서,
    상기 클라이언트가 재생이 요청된 상기 미디어 단편 파일의 상기 URL을 결정하는 단계는,
    상기 클라이언트가, 상기 라이브 재생 개시 시간, 상기 서버의 현재 시간, 및 상기 미디어 단편의 시간 길이에 따라, 재생이 요청된 상기 미디어 단편 파일의 일련 번호를 결정하는 단계; 및
    상기 클라이언트가, 재생이 요청된 상기 미디어 단편 파일의 상기 일련 번호 및 상기 URL 템플릿에 따라, 재생이 요청된 상기 미디어 단편 파일에 대응하는 상기 URL을 생성하는 단계를 포함하는,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  8. 제5항에 있어서,
    상기 클라이언트는 순차적으로 취득되는 파일의 일련 번호로서 점진적으로 증가하는 파일 일련 번호를 사용하고, 취득되는 미디어 단편에 대응하는 URL을 생성하기 위해 URL 템플릿 내의 변수를 상기 일련 번호로 대체하며, 계속하여 다음의 미디어 단편 파일들을 요청하고 취득하는 단계를 더 포함하는,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  9. 제5항에 있어서,
    라이브 재생이 개시될 때, 상기 미디어 프레젠테이션 기술 파일이 상기 서버에 의해 생성되고,
    상기 미디어 프레젠테이션 기술 파일은 생성되는 미디어 데이터의 기본 정보를 기술하는,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  10. 제5항 또는 제9항에 있어서,
    재생이 요청된 상기 미디어 단편 파일은 최신 생성된 미디어 단편이고,
    상기 클라이언트가 재생이 요청된 상기 미디어 단편 파일의 상기 URL을 결정하는 단계에서는,
    상기 서버의 현재 시간 및 상기 라이브 재생 개시 시간에 따라, 상기 클라이언트는 실시간 재생되는 최신 미디어 단편 파일의 일련 번호 L을 산출하고, 상기 일련번호 L을 취득되는 파일의 일련 번호를 표현하는 로컬 변수 N에 할당하며, 상기 URL 템플릿 내의 변수를 상기 로컬 변수 N으로 대체함으로써, 상기 클라이언트가 상기 미디어 단편 파일에 대응하는 상기 URL을 생성하고,
    상기 L은 L=int((T-T0)/Ts)을 통해 취득할 수 있으며,
    여기서 T는 상기 서버의 현재 시간이며, T0는 상기 라이브 재생 개시 시간이며, Ts는 상기 미디어 단편의 시간 길이이며, int()은 근사값으로, int(x)는 x보다크지 않은 최대 정수인,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  11. 제5항에 있어서,
    상기 클라이언트가 상기 서버와 시간 동기화 관계를 설정하는 단계는,
    상기 클라이언트가, 상기 서버의 현재 시간과 상기 클라이언트의 로컬 시간(local time)에 따라, 시간 오프셋 ΔT = 상기 클라이언트의 로컬 시간 - 상기 서버의 현재 시간을 산출하고 절약하는 단계; 및
    상기 시간 오프셋 ΔT에 따라, 임의의 로컬 시간에 대응하는 서버 시간을 획득하는 단계를 포함하는,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  12. 제11항에 있어서,
    재생이 요청된 상기 미디어 단면 파일은, 상기 클라이언트에 의해 특정된 특정 과거 시간부터 개시된 미디어 단편이고,
    상기 클라이언트가 재생이 요청된 상기 미디어 단편 파일의 상기 URL을 결정하는 단계에서는,
    상기 클라이언트가 시청 개시 시간으로서 과거 시간 T1을 특정한다면, 상기 로컬 시간(local time)에 대응하는 서버 시간은, 상기 서버의 현재 시간과 상기 클라이언트의 로컬 시간 사이의 상기 시간 오프셋 ΔT에 따라 T2 = T1 - ΔT을 통해 얻을 수 있으며,
    T2는 T0 ≤ T2 ≤ T를 만족하며,
    상기 과거 시간 T1부터 시청되는 상기 미디어 단편 파일의 일련 번호 L`은 식 L' = int((T2 - T0)/Ts)을 통해 산출되고,
    상기 파일의 일련 번호 L`은 상기 로컬 변수 N으로 할당되며,
    상기 URL 템플릿 내의 변수를 상기 로컬 변수 N으로 대체함으로써, 상기 클라이언트가 상기 미디어 단편 파일에 대응하는 상기 URL을 생성하고,
    여기서, T0은 상기 라이브 재생 개시 시간이고, Ts는 상기 미디어 단편의 시간 길이이며, int()는 근사값이고, int(x)는 x보다 크지 않은 최대 정수를 나타내는,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  13. 제5항 또는 제8항에 있어서,
    상기 미디어 단편 파일은 단일 미디어 표현(representation), 또는 상이한 미디어 표현들의 조합을 포함하는,
    HTTP 기반의 스트리밍 서비스 구현 방법.
  14. 네트워크 시스템으로서,
    클라이언트(1304); 및
    서버(1302)를 포함하고,
    상기 클라이언트(1304)는, 미디어 프레젠테이션 기술 파일(media presentation description file)에 대한 요청을 상기 서버에 전송하고, 상기 서버로부터 상기 미디어 프레젠테이션 기술 파일을 수반하는 응답을 수신하며, 상기 서버와 시간 동기화 관계를 설정하고; 재생이 요청된 미디어 단편 파일(media fragment file)의 균일 자원 로케이터(uniform resource locator; URL)를 결정하며, 상기 미디어 단편 파일을 요청하기 위해 상기 서버에 재생이 요청된 상기 미디어 단편 파일에 대응하는 상기 URL을 전송하고, 상기 서버에 의해 반송된, 상기 URL에 대응하는 상기 미디어 단편 파일을 수신하며, 상기 미디어 단편 파일을 재생하도록 구성되고 - 상기 미디어 프레젠테이션 기술 파일은 URL 템플릿(template), 라이브 재생 개시 시간, 및 미디어 단편의 시간 길이를 수반하고; 상기 URL 템플릿은 상기 클라이언트가 재생이 요청된 미디어 단편 파일에 대응하는 URL을 생성하는데 사용되며; 상기 URL은 재생이 요청된 상기 미디어 단편 파일의 위치를 지시하는데 사용되고; 상기 미디어 단편의 시간 길이는. 상기 클라이언트가 상기 미디어 단편의 시간 길이에 따라, 재생이 요청된 상기 미디어 단편 파일의 위치 정보를 결정하는데 사용됨 -;
    상기 서버(1302)는, 상기 클라이언트로부터 상기 미디어 프레젠테이션 기술 파일에 대한 요청을 수신하고, 상기 미디어 프레젠테이션 기술 파일에 대한 요청에 따라 상기 미디어 프레젠테이션 기술 파일을 수반하는 응답을 상기 클라이언트에 반송하며, 상기 클라이언트로부터 상기 URL을 수신하고, 상기 URL에 대응하는 상기 미디어 단편 파일을 획득하며, 상기 클라이언트 상에서의 재생을 위해 상기 미디어 단편 파일을 상기 클라이언트에 반송하도록 구성되는,
    네트워크 시스템.
KR1020117031518A 2009-11-09 2010-11-02 Http 기반의 스트리밍 미디어 서비스를 구현하는 방법, 시스템 및 네트워크장비 KR101361021B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN 201010282187 CN102055789B (zh) 2009-11-09 2009-11-09 实现基于http的流媒体业务的方法、系统和网络设备
CN201010282187.0 2009-11-09
CN200910110053.8 2009-11-09
CN 200910110053 CN102055773B (zh) 2009-11-09 2009-11-09 实现基于http的流媒体业务的方法、系统和网络设备
PCT/CN2010/078343 WO2011054281A1 (zh) 2009-11-09 2010-11-02 实现基于http的流媒体业务的方法、系统和网络设备

Publications (2)

Publication Number Publication Date
KR20120036901A KR20120036901A (ko) 2012-04-18
KR101361021B1 true KR101361021B1 (ko) 2014-02-10

Family

ID=43969570

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117031518A KR101361021B1 (ko) 2009-11-09 2010-11-02 Http 기반의 스트리밍 미디어 서비스를 구현하는 방법, 시스템 및 네트워크장비

Country Status (7)

Country Link
US (1) US9338216B2 (ko)
EP (1) EP2437465A4 (ko)
JP (1) JP5500531B2 (ko)
KR (1) KR101361021B1 (ko)
AU (1) AU2010314582B2 (ko)
BR (1) BR112012001150B1 (ko)
WO (1) WO2011054281A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8412841B1 (en) * 2009-08-17 2013-04-02 Adobe Systems Incorporated Media content streaming using stream message fragments
JP5667646B2 (ja) * 2010-01-18 2015-02-12 テレフオンアクチーボラゲット エル エム エリクソン(パブル) Httpメディアストリーム配信のための方法および装置
CN102694769B (zh) 2011-03-22 2015-09-30 华为技术有限公司 媒体数据处理方法及其装置
SG11201401076RA (en) 2011-09-30 2014-07-30 Huawei Tech Co Ltd Method and device for transmitting stream media
US9438883B2 (en) * 2012-04-09 2016-09-06 Intel Corporation Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content
US9680689B2 (en) * 2013-02-14 2017-06-13 Comcast Cable Communications, Llc Fragmenting media content
EP2979458A4 (en) * 2013-07-25 2016-03-02 Huawei Tech Co Ltd SYSTEM AND METHOD FOR EFFICIENTLY CONTROLLING CLIENT BEHAVIOR IN ADAPTIVE FLOW DIFFUSION
US10015222B2 (en) * 2013-09-26 2018-07-03 Arris Canada, Inc. Systems and methods for selective retrieval of adaptive bitrate streaming media
GB2519118A (en) * 2013-10-10 2015-04-15 Ibm Web page reload
US9596521B2 (en) 2014-03-13 2017-03-14 Verance Corporation Interactive content acquisition using embedded codes
US10504200B2 (en) 2014-03-13 2019-12-10 Verance Corporation Metadata acquisition using embedded watermarks
US20150261753A1 (en) * 2014-03-13 2015-09-17 Verance Corporation Metadata acquisition using embedded codes
KR101600469B1 (ko) * 2014-07-16 2016-03-07 김재경 스트리밍 서비스를 위한 클라이언트 및 서버의 동작 방법
CN106796625B (zh) 2014-08-20 2019-09-24 凡瑞斯公司 使用预测图案的多样性的水印检测
WO2016100916A1 (en) 2014-12-18 2016-06-23 Verance Corporation Service signaling recovery for multimedia content using embedded watermarks
KR101980721B1 (ko) 2015-02-12 2019-05-21 후아웨이 테크놀러지 컴퍼니 리미티드 멀티미디어 스트리밍 서비스 프레젠테이션 방법, 관련 장치 및 관련 시스템
US10257284B2 (en) * 2015-12-30 2019-04-09 Samsung Electronics Co., Ltd. Broadcasting local function templates to proximate mobile computing devices
KR101743228B1 (ko) 2016-01-22 2017-06-05 네이버 주식회사 스트리밍 장치 및 그 방법, 이를 이용한 스트리밍 서비스 시스템 및 컴퓨터로 판독 가능한 기록매체
US10079884B2 (en) * 2016-03-14 2018-09-18 Adobe Systems Incorporated Streaming digital content synchronization
CN106060071A (zh) * 2016-06-27 2016-10-26 杭州当虹科技有限公司 一种直播流视频实时编辑系统
KR101863598B1 (ko) * 2016-07-29 2018-06-01 주식회사 에어브로드 스트리밍 서비스를 위한 클라이언트의 동작 방법
US10733376B2 (en) * 2017-03-01 2020-08-04 Google Llc Delivering auto-play media content element from cross origin resources
CN107197363B (zh) * 2017-07-04 2020-07-10 武汉斗鱼网络科技有限公司 一种视频播放方法及装置
US11683355B2 (en) * 2021-01-05 2023-06-20 Tencent America LLC Methods and apparatuses for dynamic adaptive streaming over HTTP
US11722741B2 (en) 2021-02-08 2023-08-08 Verance Corporation System and method for tracking content timeline in the presence of playback rate changes
KR102559297B1 (ko) 2023-05-08 2023-07-26 주식회사 성현 나선형 코일의 균일 피치유지와 생산성 향상을 위한 용접지원용 지그장치

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20050001124A (ko) * 2003-06-27 2005-01-06 주식회사 케이티 셋톱기반 양방향 데이터 전송 시스템 및 방법
EP2071827A2 (en) * 2000-12-15 2009-06-17 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1155199C (zh) * 1998-02-23 2004-06-23 国际商业机器公司 万维网浏览器中顺序链接的热对象及连续流视频浏览方法
AU2001246910B2 (en) * 2000-04-14 2005-06-30 Nippon Telegraph And Telephone Corporation Method, system, and apparatus for acquiring information concerning broadcast information
US7779097B2 (en) * 2000-09-07 2010-08-17 Sonic Solutions Methods and systems for use in network management of content
US7159014B2 (en) * 2001-06-04 2007-01-02 Fineground Networks Method and system for efficient and automated version management of embedded objects in web documents
US7392348B2 (en) * 2003-08-06 2008-06-24 International Business Machines Corporation Method for validating remotely cached dynamic content web pages
US7392316B2 (en) * 2003-06-30 2008-06-24 Microsoft Corporation Client to server streaming of multimedia content using HTTP
US7912218B2 (en) 2003-07-04 2011-03-22 Nxp B.V. Method of broadcasting multimedia content via distribution network
US20050066371A1 (en) * 2003-09-19 2005-03-24 Bin Lu Mobile digital security system and method
JP2007528140A (ja) * 2003-10-10 2007-10-04 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 配信ネットワークを介したマルチメディアコンテンツの配信方法
CN101095348B (zh) * 2004-03-03 2014-08-13 分组视频网络技术方案有限公司 用于从网络节点取回数字多媒体内容的系统和方法
US20050232251A1 (en) * 2004-04-14 2005-10-20 Nortel Networks Limited Personal communication device having multiple user IDs
US20050254526A1 (en) * 2004-05-12 2005-11-17 Nokia Corporation Parameter sets update in streaming applications
EP1869568A4 (en) * 2005-03-23 2009-04-29 Alcatel Lucent SYSTEM AND METHOD FOR SEARCHING A DIGITAL MEDIA CONTENT FROM A BROADCAST LIST FROM A NETWORK NODE
US9386064B2 (en) * 2006-06-09 2016-07-05 Qualcomm Incorporated Enhanced block-request streaming using URL templates and construction rules
JP4946227B2 (ja) * 2006-07-18 2012-06-06 ソニー株式会社 データ記録装置、データ処理方法、コンピュータプログラムおよびデータ記憶媒体
JP4862600B2 (ja) * 2006-10-12 2012-01-25 パナソニック電工株式会社 住宅設備監視システム用表示装置
JP5006659B2 (ja) * 2007-01-30 2012-08-22 キヤノン株式会社 映像送信装置、映像送信方法、プログラム及び記憶媒体
CN101282348B (zh) 2007-04-06 2011-03-30 上海晨兴电子科技有限公司 运用http协议实现流媒体功能的方法
US7991904B2 (en) 2007-07-10 2011-08-02 Bytemobile, Inc. Adaptive bitrate management for streaming media over packet networks
KR101418591B1 (ko) * 2007-10-05 2014-07-10 삼성전자주식회사 휴대 방송 시스템에서의 서비스 가이드 제공 방법 및 장치
US8819741B2 (en) 2008-04-03 2014-08-26 Microsoft Corporation Streaming video over a wireless network
CN101271720B (zh) * 2008-04-22 2011-06-22 中兴通讯股份有限公司 一种手机流媒体音视频的同步方法
US8611428B1 (en) * 2008-05-08 2013-12-17 Velti USA, Inc. Transparent insertion of multimedia content in real-time streaming sessions
US8073829B2 (en) * 2008-11-24 2011-12-06 Microsoft Corporation HTTP cache with URL rewriting
CN101516057B (zh) 2009-02-19 2011-12-14 深圳市彩秀科技有限公司 一种通过移动终端实现流媒体播放的方法
US8909806B2 (en) * 2009-03-16 2014-12-09 Microsoft Corporation Delivering cacheable streaming media presentations
JP5642779B2 (ja) * 2009-06-15 2014-12-17 ブラックベリー リミテッド クライアント制御セッションレス適応を促進する方法および装置
US8412841B1 (en) * 2009-08-17 2013-04-02 Adobe Systems Incorporated Media content streaming using stream message fragments
US20110246660A1 (en) * 2009-09-29 2011-10-06 Nokia Corporation Systems, Methods, and Apparatuses for Media File Streaming
US9237387B2 (en) * 2009-10-06 2016-01-12 Microsoft Technology Licensing, Llc Low latency cacheable media streaming
KR20120010089A (ko) * 2010-07-20 2012-02-02 삼성전자주식회사 Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2071827A2 (en) * 2000-12-15 2009-06-17 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material
KR20050001124A (ko) * 2003-06-27 2005-01-06 주식회사 케이티 셋톱기반 양방향 데이터 전송 시스템 및 방법

Also Published As

Publication number Publication date
WO2011054281A1 (zh) 2011-05-12
JP2013500652A (ja) 2013-01-07
US9338216B2 (en) 2016-05-10
KR20120036901A (ko) 2012-04-18
EP2437465A1 (en) 2012-04-04
JP5500531B2 (ja) 2014-05-21
BR112012001150B1 (pt) 2021-06-29
BR112012001150A2 (pt) 2016-02-23
US20120110138A1 (en) 2012-05-03
AU2010314582A1 (en) 2012-10-11
AU2010314582B2 (en) 2015-03-12
EP2437465A4 (en) 2012-05-16

Similar Documents

Publication Publication Date Title
KR101361021B1 (ko) Http 기반의 스트리밍 미디어 서비스를 구현하는 방법, 시스템 및 네트워크장비
CN108540834B (zh) 由用户端设备实现的媒体内容流的方法和装置
CN106060102B (zh) 媒体提供方法和终端
Lohmar et al. Dynamic adaptive HTTP streaming of live content
CN102055773B (zh) 实现基于http的流媒体业务的方法、系统和网络设备
TW201725911A (zh) 決定用於媒體傳輸的媒體傳遞事件位置
JP2016028474A (ja) バイト範囲リクエストを使用したビデオデータのネットワークストリーミング
EP3491827A1 (en) Retrieving and accessing segment chunks for media streaming
WO2008061416A1 (fr) Procédé et système permettant d'accepter des données media de divers formats de codage
CN103069769A (zh) 用于经译码视频数据的网络串流传输的特技模式
US20160134900A1 (en) Streaming media processing method, apparatus, and system
KR20120103698A (ko) 스트리밍 미디어 파일의 표현을 기술하고 타이밍하기 위한 장치 및 방법
CN102055789B (zh) 实现基于http的流媒体业务的方法、系统和网络设备
US20190238937A1 (en) Signaling and reporting interactivity usage in streaming services
EP4176546A1 (en) Streaming media data including an addressable resource index track with switching sets
WO2013097091A1 (zh) 一种视频发布方法及系统、视频播放方法及系统
KR102373187B1 (ko) 수신 장치 및 데이터 처리 방법
US20220239601A1 (en) Background data traffic distribution of media data
US20210306703A1 (en) Determination of availability of chunks of data for network streaming media data
WO2022164862A1 (en) Background data traffic distribution of media data
BR112017027511B1 (pt) Distribuição de middleware de métricas de qoe de cliente dash

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
FPAY Annual fee payment

Payment date: 20161229

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20171228

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190107

Year of fee payment: 6