KR100885753B1 - 서버로부터 클라이언트로의 스트리밍 - Google Patents
서버로부터 클라이언트로의 스트리밍 Download PDFInfo
- Publication number
- KR100885753B1 KR100885753B1 KR1020067011180A KR20067011180A KR100885753B1 KR 100885753 B1 KR100885753 B1 KR 100885753B1 KR 1020067011180 A KR1020067011180 A KR 1020067011180A KR 20067011180 A KR20067011180 A KR 20067011180A KR 100885753 B1 KR100885753 B1 KR 100885753B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- file
- media
- meta
- client
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/75—Media network packet handling
- H04L65/764—Media network packet handling at the destination
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/437—Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
Abstract
본 발명은 서버 및 클라이언트 간에 네트워크를 통해 메타-데이터 및 미디어-데이터를 포함하는 스트림가능한 파일을 스트리밍 또는 다운로딩하도록 하는 방법으로서, 상기 파일의 메타-데이터 중 적어도 일부분이 상기 클라이언트에 송신되고, 상기 송신된 메타-데이터가 적어도 상기 파일 내의 미디어-데이터 범위들의 위치들을 포함하는 방법에 관한 것이다. 상기 파일 내의 원하는 미디어-데이터 부분의 위치는 상기 수신된 메타-데이터를 기반으로 하여 결정된다. 상기 클라이언트에 전송될 미디어-데이터 범위를 상기 서버에 통지하라는 요구가 상기 서버에 전송된다. 상기 요구된 미디어-데이터 범위는 이후에 상기 클라이언트에 송신된다.
Description
본 발명은 서버로부터 클라이언트로 스트림가능한 파일을 스트리밍 또는 다운로딩하도록 하는 기술분야에 관한 것이다.
스트리밍(streaming)이란 데이터 네트워크를 통해 클라이언트에 송신되는 동안 연속을 기반으로 하여 애플리케이션이 오디오 및 비디오 스트림들과 같은 동기화된 미디어 스트림들을 플레이할 수 있는 능력을 말한다. 멀티미디어 스트리밍 시스템은 스트리밍 서버 및 접속 매체(아마도 네트워크 접속)를 통해 상기 서버에 액세스하는 다수의 클라이언트들(플레이어들)을 포함한다. 상기 클라이언트들은 상기 서버로부터 사전에 저장되거나 활동적인 멀티미디어 콘텐츠를 상기 서버로부터 꺼내서 이를 상기 콘텐츠가 다운로드되고 있는 동안 실질적으로 실시간으로 플레이백한다. 전체적인 멀티미디어 표현은 영화(movie)라고 언급될 수도 있으며 논리적인 면에서 트랙들로 분할될 수 있다. 각각의 트랙은 단일 미디어 형태(예를 들면, 비디오 프레임들)의 타이밍된 시퀀스(timed sequence)를 나타낸다. 각각의 트랙 내에서, 각각의 타이밍된 유닛이라 함은 미디어 샘플을 말한다.
스트리밍 시스템들은 서버-측 기법을 기반으로 하여 2가지 카테고리로 나누어질 수 있다. 이러한 카테고리들이란 본원 명세서에서 일반 스트리밍( normal streaming) 및 진행 다운로딩(progressive downloading)을 말한다. 상기 일반 스트리밍에서는, 서버들이 애플리케이션-레벨 수단을 채용하여 송신된 스트림의 비트-레이트를 제어한다. 그러한 타깃은 자신의 플레이백 레이트와 대체로 동일한 레이트로 스트림을 송신하는 것이다. 몇몇 서버들은 이용가능한 네트워크 대역폭을 충족시키고 네트워크 정체(network congestion)를 회피하기 위해 멀티미디어 파일들의 콘텐츠를 황급하게 조정할 수 있다. 신뢰성이 있을 수도 있고 신뢰성이 없을 수도 있는 전송 프로토콜들 및 네트워크들이 사용될 수 있다. 신뢰성이 없는 전송 프로토콜들이 사용중에 있을 경우에, 일반 스트리밍 서버들은 멀티미디어 파일들에 상주하는 정보를 네트워크 전송 패킷들 내에 캡슐화하는 것이 전형적이다. 이는 전형적으로는 RTP/UDP(Real Time transport Protocol/User Datagram Protocol) 프로토콜들 및 RTP 페이로드 포맷들을 사용하여 특정의 프로토콜들 및 포맷들에 따라 수행될 수 있다.
또한, HTTP(Hypertext Transfer Protocol) 스트리밍, HTTP 신속-시동(fast-start), 또는 의사-스트리밍(pseudo-streaming)으로서 언급될 수 있는 진행 다운로딩은 신뢰성이 있는 전송 프로토콜의 상부에서 동작한다. 서버들은 임의의 애플리케이션-레벨 수단을 채용하여 송신된 스트림의 비트-레이트를 제어한다. 그 대신에, 상기 서버들은 신뢰성이 있는 하부 전송 프로토콜에 의해 제공되는 흐름 제어 메커니즘들에 의존할 수 있다. 신뢰성이 있는 전송 프로토콜들은 연결 지향형인 것이 전형적이다. 예를 들면, TCP(Transport Control Protocol)는 피드백 기반 알고리즘을 통해 송신된 비트-레이트를 제어하는데 사용된다. 그 결과, 애플리케이션들 이 전송 패킷들 내에 임의의 데이터를 캡슐화해야 할 필요가 없고 멀티미디어 파일들은 의사-스트리밍 시스템에서 그 자체로 송신된다. 따라서, 상기 클라이언트들은 서버측에 상주하는 파일들의 정확한 복사물들을 수신한다. 이로 인해 파일이 다시 데이터를 스트리밍해야 할 필요 없이 여러 번 플레이될 수 있다.
멀티미디어 스트리밍에 대한 콘텐츠를 생성할 경우에, 각각의 미디어 샘플이 특정한 압축 방법을 사용하여 압축됨으로써, 비트-스트림이 특정 포맷과 일치하는 결과를 초래시킨다. 미디어 압축 포맷들 외에도, 컨테이너 포맷, 다시 말하면 특히 압축된 미디어 샘플들을 서로 연관시키는 파일 포맷이 있어야 한다. 그 외에도, 상기 파일 포맷은 파일의 인덱싱에 관한 정보, 어떻게 미디어를 전송 패킷들 내에 캡슐화해야 하는 지에 관한 힌트들, 및 예를 들면 미디어 트랙들을 어떻게 동기시켜야 하는지에 관한 데이터를 포함할 수 있다. 미디어 비트 스트림들은 또한 미디어-데이터라고도 언급될 수 있지만, 멀티미디어 컨테이너 파일 내의 모든 추가 정보는 메타-데이터로서 언급될 수 있다. 상기 파일 포맷은 서버로부터 클라이언트로 데이터 파이프의 상부에서 그 자체로 스트리밍될 수 있는 경우에 스트리밍 포맷이라 언급된다. 그 결과, 스트리밍 포맷들은 단일 파일에 미디어 트랙들을 인터리브하고 미디어 데이터는 복호화 또는 플래이백 순서로 나타난다. 스트리밍 포맷들은 하부 네트워크 서비스들이 각각의 미디어 형태에 대해 개별 송신 채널을 제공하지 못할 경우에 사용되어야 한다. 스트림가능한 파일 포맷들은 데이터를 스트리밍하는 동안 스트리밍 서버에 의해 용이하게 채용될 수 있는 정보를 포함한다. 예를 들면, 상기 포맷은 서로 다른 네트워크 대역폭들에 대해 타깃이 된 미디어 비트-스트림들의 다 수의 버전들의 저장을 가능하게 할 수 있으며, 상기 스트리밍 서버는 상기 서버 및 상기 클라이언트 간의 접속에 따라 어느 비트 레이트를 사용해야 할지를 결정할 수 있다. 스트림가능한 포맷들은 그 자체로 좀처럼 스트리밍되지 않음으로써, 스트리밍가능한 포맷들은 인터리브될 수도 있고 개별 미디어 트랙들에 대한 링크들을 포함할 수 있다.
QuickTime 파일 포맷, ISO 베이스 미디어 파일 포맷, MPEG(Moving Picture Experts Group)로부터의 MP4 파일 포맷, 3GPP(Third Generation Partnershiop Project)로부터의 3GP 파일 포맷은 의사-스트림가능한 파일들의 생성을 허용한다. 의사-스트리밍이 동작하기 위해서는, 이러한 스트림가능한 파일들이 특정 방식으로 생성되어야 한다. 첫째로, 상기 파일 내의 미디어-데이터의 특징들을 정의하는 메타-데이터가 상기 파일의 개시부분에 있어야 한다. 상기 메타-데이터, 예컨대, 파일 레벨 메타-데이터 중 적어도 일부는 상기 클라이언트가 미디어-데이터를 수신할 수 있게 하기 위해 세션의 개시부분에서 상기 클라이언트에 제공되어야 한다. 둘째로, 상기 미디어-데이터는 인터리브된 방식으로 상기 파일에 내재하여야 한다. 이것이 의미하는 것은 상기 미디어-데이터가 타임라인 순서로 상기 파일 내에, 예를 들면 오디오 데이터, 비디오 데이터, 오디오 데이터, 비디오 데이터 등등으로서 저장되어야 한다. 셋째로, 상기 파일은 의사-스트림가능하기 때문에 상기 메타-데이터로 특별히 표시되어야 한다.
본 발명의 한 목적은 위에서 언급된 제약들 중 적어도 일부가 회피될 수 있게 하는 스트리밍 장치를 제공하는 것이다. 본 발명의 목적은 독립 청구항들에 개시되어 있는 것을 특징으로 하는 방법, 시스템, 클라이언트, 원격 통신 장치, 서버, 및 컴퓨터 프로그램 생성물로 달성된다. 본 발명의 몇몇 바람직한 실시예들은 종속 청구항들에 기재되어 있다.
본 발명의 한 실시태양에 의하면, 파일의 메타-데이터 중 적어도 일부분이 클라이언트에 송신되고, 상기 송신된 메타-데이터는 적어도 상기 파일 내의 미디어-데이터 범위들의 위치들을 포함한다. 상기 파일 내의 원하는 미디어-데이터 부분의 위치는 수신된 메타-데이터를 기반으로 하여 결정된다. 상기 클라이언트에 전송될 미디어-데이터 범위를 상기 서버에 통지하라는 요구가 상기 서버에 전송된다. 상기 요구된 미디어-데이터 범위는 이때에 상기 클라이언트에 송신된다.
클라이언트 및 서버 간의 세션이란 스트림가능한 파일을 송신하기 위해 상기 클라이언트 및 상기 서버 간의 임의의 논리적인 관계 또는 연결을 말한다. 파일이라는 용어는 아마도 복수 개의 미디어 소스들로부터 메타-데이터 및 미디어-데이터 모두를 포함하는 데이터의 임의 그룹화를 의미한다. 상기 원하는 미디어-데이터는 예컨대 사용자 커맨드들 또는 프리젠테이션 순서 정보를 기반으로 하여 결정될 수 있다.
본 발명의 실시태양들은 특히 파일 포맷들 및 스트리밍 장치에 관해 유연성(flexibility)을 제공하며, 특히 멀티미디어 콘텐츠 스트리밍에 대한 이점들을 제공한다. 상기 클라이언트가 상기 파일 내의 데이터 범위의 위치들을 알고 있기 때문에, 미디어 데이터 범위의 이전 부분이 스트리밍되는지 아니면 다운로드되는지, 또는 미디어 데이터 범위의 이전 부분이 스트리밍되어 있지 않은지 아니면 다운로드되어 있지 않은지와 무관하게 상기 클라이언트가 상기 파일 중 임의의 부분을 기본적으로 요구하는 것이 가능하다. 예를 들면, 사용자는 오디오를 뮤트시킬 수 있는데, 이러한 경우에 상기 클라이언트가 단지 상기 파일의 비디오 미디어 데이터를 요구하게끔만 이루어질 수 있다. 따라서, 상기 클라이언트는 순방향 찾기(seek-forward) 또는 역방향 찾기(seek-backward)가 상기 클라이언트의 사용자에 의해 수행될 경우 차후 또는 이전의 바이트 범위로 간단히 점프할 수 있다. 또한, 본 발명은 꺼낸 미디어-데이터가 한 파일로서 저장될 필요가 없도록 하는 효율적인 방식으로 상기 클라이언트가 이용가능한 메모리를 사용하는 것을 가능하게 한다. 이는 플레이-폐기 방식으로 채용될 수 있는데, 다시 말하면 그 이유는 이미 플레이된 미디어 데이터 중 일부분들이 유지될 필요가 없기 때문이다. 파일 정보에 대하여, 본 발명은 상기 미디어 데이터가 상기 파일 내에서 임의의 순서를 이루는 것을 가능하게 하는데, 그 이유는 상기 클라이언트가 원하는 순서로 미디어-데이터의 개별 범위를 요구할 수 있기 때문이다.
이하에서는 첨부도면들 및 바람직한 실시예들을 통해 본 발명이 더 상세하게 설명될 것이다.
도 1은 멀티미디어 콘텐츠 스트리밍용 송신 시스템을 예시하는 블록 선도이다.
도 2는 본 발명의 한 실시예에 따른 클라이언트의 기능들을 예시하는 도면이 다.
도 3은 본 발명의 한 실시예에 따른 서버의 기능들을 예시하는 도면이다.
도 1에는 멀티미디어 콘텐츠 스트리밍용 송신 시스템이 예시되어 있다. 상기 시스템은 편집기로도 언급될 수 있는 부호기(ENC)로서, 전형적으로는 복수 개의 미디어 소스(MS)로부터의 송신을 위해 미디어 콘텐츠 데이터를 준비하는 부호기(EMC), 네트워크(NW)를 통해 부호화된 멀티미디어 파일들을 송신하는 스트리밍 서버(SS), 및 상기 파일들을 수신하는 복수 개의 클라이언트들(C)을 포함한다. 상기 콘텐츠는 활동적인 표현(live presentation)을 레코딩하는 레코더, 예컨대, 비디오 카메라로부터 획득될 수도 있고, 상기 콘텐츠는 비디오 테이프, CD, DVD, 하드 디스크 등등과 같은 저장 장치상에 사전에 저장될 수도 있다. 상기 콘텐츠는 예컨대 비디오, 오디오, 스틸 이미지들일 수 있으며 상기 콘텐츠는 데이터 파일들을 또한 포함할 수 있다. 상기 부호기(ENC)로부터의 멀티미디어 파일들은 상기 서버(SS)에 송신된다. 상기 서버(SS)는 복수 개의 클라이언트들(C)에게 서비스를 제공하고 유니캐스트 또는 멀티캐스트 경로들을 사용하여 부호기(ENC)로부터 바로 또는 서버 데이터베이스로부터 멀티미디어 파일들을 송신함으로써 클라이언트 요구들에 응답할 수 있다. 상기 네트워크(NW)는 예컨대, 이동 통신 네트워크, 구내 정보 통신 네트워크, 방송 네트워크 또는 게이트웨이들에 의해 분리된 다수의 다른 네트워크일 수 있다. 여기서 유념해야 할 점은 도 1에서 (ENC에 의한) 콘텐츠 생성 기능들 및 (SS에 의한) 스트리밍 기능들이 분리되어 있지만, 이들이 동일한 장치, 또 는 3개 이상의 장치들에 의해 수행될 수 있다.
이하의 실시예들은 스트림가능한 파일들의 다운로딩 또는 스트리밍을 가능하게 하는 임의의 무선 및/또는 유선 원격 통신 시스템에서 적용될 수 있다. 하부 전송 계층은 회선 교환 또는 패킷 교환 데이터 접속을 채용할 수 있다. 그러한 통신 네트워크 중 한 예는 3GPP가 개발한 제3세대 이동 통신 시스템이다. 이하의 실시예들에서는, HTTP 프로토콜이 한 스트림가능한 파일 중 적어도 여러 부분들을 전송하기 위해 적용되는 것으로 가정된 것이다. HTTP/TCP 외에도, 다른 전송 계층 프로토콜들이 또한 사용될 수 있다. 예를 들면, WAP(Wireless Application Protocol; 무선 응용 프로토콜) 슈트(suite)의 무선 트랜잭션 프로토콜(Wireless Transaction Protocol; WTP) 또는 파일 전송 프로토콜(File Transfer Protocol; FTP)이 전송 기능들을 제공할 수 있다.
스트림가능한 파일을 통해 반송되는 메타-데이터는 다음과 같이 분류될 수 있다. 메타-데이터 일부분의 범위는 전체 파일인 것이 전형적이다. 그러한 메타-데이터는 정확한 디스플레이 사각형 크기의 사용 또는 표시를 통한 미디어 코덱들의 식별을 포함할 수 있다. 이러한 종류의 메타-데이터는 파일-레벨 메타-데이터(또는 프리젠테이션-레벨 메타-데이터)로서 언급될 수 있다. 메타-데이터의 다른 한 부분은 전용 미디어 샘플들에 관한 것이다. 그러한 메타-데이터는 바이트 단위의 크기 및 샘플 형태의 표시를 포함할 수 있다. 그러한 메타-데이터는 샘플 전용 메타-데이터로서 언급될 수 있다.
미디어 복호화 및 플레이백이 파일-레벨 메타-데이터 없이 가능하지 않은 것 이 전형적이기 때문에, 그러한 메타-데이터가 파일 헤더 섹션으로서 그러한 메타-데이터가 스트리밍 파일들의 개시부분에 나타난다. 한 실시예에 의하면, 적어도 미디어-데이터 오프셋 위치들을 결정하는 정보가 파일-레벨 메타-데이터로서 상기 파일의 개시부분에 결정된다. 샘플 전용 메타-데이터는 메타-데이터와 인터리브될 수도 있고 샘플 전용 메타-데이터는 통합 섹션으로서 파일-레벨 메타-데이터와 인터리브되거나 파일-레벨 메타-데이터와 인터리브된 직후의 파일의 개시부분에 나타날 수 있다.
도 2에는 도 1의 클라이언트(C)와 같은 스트리밍 클라이언트의 기능들이 예시되어 있다. 단계(201)에서는, 클라이언트가 스트림가능한 파일의 스트리밍 또는 다운로딩을 위해 서버와의 세션을 설정한다. 이러한 단계 동안, 송신 자원들이 예약되며 논리 접속이 예컨대 도 1의 네트워크(NW)를 통해 서버 및 클라이언트 사이에 설정된다. 단계(202)에서는, 클라이언트가 적어도 메타-데이터 부분의 크기를 나타내는 파일의 부분을 서버로부터 요구할 경우에 실제 스트리밍 또는 다운로딩이 개시된다. 이러한 정보는 상기 파일의 개시부분에 존재하는 것이 전형적이며 당연히 적용된 파일 포맷에 의존한다. 일례로서, 3GP 파일 포맷에서는, 이러한 정보가 "moov" 박스에 앞서 4 바이트로 특정되며, 이러한 파일 포맷이 적용될 경우에, 그에 따라 상기 클라이언트는 이러한 4 비트를 요구(202)하고 차후에 이를 검사(204)하도록 이루어진다. 상기 클라이언트는 예컨대 URI(Uniform Resource Identifier)를 통해 해당 파일을 나타낸다. 그 결과로, 클라이언트는 이러한 정보를 포함하는 파일의 부분 또는 범위를 나타냄으로써 파일의 특정 부분을 요구한다.
단계(203)에서는, 클라이언트가 적어도 메타-데이터의 크기를 나타내는 파일의 부분을 수신한다. 이러한 수신된 정보를 기반으로 하여, 클라이언트는 파일의 메타-데이터 부분의 위치를 결정하고, 특정된 메타-데이터 범위에 대한 요구를 형성(204)한다. 클라이언트는 모든 메타-데이터 또는 단지 그 중 일부만을 요구할 수 있다. 이러한 요구는 단계(205)에서 상기 서버에 전송된다.
단계(206)에서, 상기 클라이언트는 메타-데이터를 수신하고 스트리밍 또는 다운로딩 세션 동안 메타-데이터를 저장하는 것이 바람직하다. 상기 수신된 메타-데이터는 적어도 상기 파일 내의 메타-데이터 범위들의 위치들을 포함한다. 이와 같은 미디어-데이터 범위들은 적용된 파일 포맷에 의존하여 변할 수 있으며, 예컨대 상기 미디어-데이터 범위들은 트랙과 같이 단지 하나만의 미디어 샘플 또는 한 그룹의 미디어 샘플들을 결정하고, 하나 이상의 미디어 형태들을 포함한다. 이러한 정보를 기반으로 하여, 클라이언트는 미디어-데이터의 바이트 오프셋 위치들을 결정할 수 있다. 클라이언트가 다른 미디어-데이터 범위들 또는 부분들의 위치들을 알고 있는 경우에, 클라이언트는 어느 미디어 데이터 범위들이 스트리밍되는 것이 바람직한지 아니면 다운로딩되는 것이 바람직한지를 결정할 수 있다. 이는 사용자 프롬프트 기능을 포함할 수 있다. 전형적으로는, 이미 수신된 메타-데이터가 파일-레벨 디스플레이 및/또는 복호화 순서 정보를 포함하고 이를 기반으로 하여 요구될 메타-데이터 범위들이 결정된다. 클라이언트가 원하는 하나 이상의 미디어-데이터 범위들을 알고 있는 경우에, 클라이언트는 수신된 위치 특정 메타-데이터를 기반으로 하여 상기 파일 내의 하나 이상의 미디어-데이터 범위들의 위치를 결정(207)한 다. 이어서, 클라이언트는 클라이언트에 전송될 적어도 하나의 미디어-데이터 범위를 표시하는 요구를 형성(208)하고, 이러한 요구를 상기 서버에 전송(209)한다. 상기 미디어-데이터 범위들은 적어도 요구되는 제l 및 최종 바이트 값들을 결정하는 바이트 범위 값들로서 상기 요구에서(그리고 또한 메타-데이터에서) 특정될 수 있다. 상기 구현 및 하부 전송 프로토콜에 의존하여, 하나 이상의 미디어 데이터 범위들이 특정될 수 있다.
예를 들면, 3GP, ISO 및 MP4 파일 포맷들이 적용될 경우에, 상기 메타-데이터 범위들 또는 부분들의 위치들은 상기 메타-데이터에 내재하는 샘플-천크 및 천크(chunk) 오프셋 박스에 의해 식별될 수 있다. 이러한 정보 필드들을 검사함으로써, 클라이언트는 상기 파일의 개시부분에 대하여 각각의 샘플의 바이트 범위들을 식별할 수 있다. ISO 순응 파일 포맷의 이러한 필드들 및 다른 부분들에 관한 더 많은 정보에 대하여는, 2001년 7월 20일자 ISO/IEC JTC1/SC29/WG11 사양서 "ISO Media File format specification MP4 Technology under consideration for ISO/IEC 14496-1:2001 Amd 3"을 참조하기 바란다. 더 구체적으로는, 5.3장에는 박스 정의들이 기재되어 있다.
단계(210)에서는, 클라이언트가 단계(208,209)의 요구에 표시된 범위에서 찾아 볼 수 있는 요구된 미디어 데이터를 수신한다. 이후에 상기 미디어-데이터는 적합한 경우에 사용될 수 있고, 전형적으로는 상기 미디어-데이터는 사용자를 위해 (충분한 미디어-데이터가 수신될 경우에) 파싱(parsing) 및 플레이되지만, 상기 미디어-데이터는 또한 차후의 사용을 위해 저장될 수 있다. 한 실시예에서는, 단 계(210)에서, 클라이언트(C)가 상기 서버(SS)로부터 압축 및 다중화된 멀티미디어 파일 부분들을 수신한다. 클라이언트(C)는 여러 부분을 파싱 및 역다중화하여 개별 미디어 트랙들을 획득한다. 이후에 이러한 미디어 트랙들이 압축해제되어 재구성된 미디어 트랙들을 제공하고 상기 재구성된 미디어 트랙들은 이후에 사용자 인터페이스의 출력 장치들을 사용하여 플레이아웃(play out)될 수 있다. 이러한 기능들 외에도, 제어기 유닛은 최종 사용자 동작들을 통합하도록, 다시 말하면 최종 사용자 입력에 따라 플레이백을 제어하고 클라이언트 서버-제어부를 조종하도록 클라이언트 내에 제공된다. 독립 미디어 플레이어 애플리케이션 또는 블라우저 플러그-인은 플레이백 기능을 제공할 수 있다.
특히 스트리밍 목적들을 위해 단계들(208,209)에서 미디어-데이터 중 단지 비교적 작은 부분들만을 요구하는 것이 매우 유용하다. 따라서, 한 실시예에서는, 클라이언트가 예컨대 제때 복호화 및 디스플레이 순서로 프리젠테이션의 다른 부분들에 대하여 연속적으로 요구들을 형성 및 전송하도록 이루어진다. 그러나, 사용자가 예를 들면 몇몇 부분들을 스킵하기를 원할 수 있기 때문에 미디어-데이터 부분들에 대한 요구들의 순서는 서로 다를 수 있다. 따라서, 클라이언트는 사용자로부터의 커맨드를 기반으로 하여, 특정 시한 이후에, 상기 파일의 프리젠테이션의 상태를 기반으로 하여, 또는 기타의 기준에 대하여 단계(207) 또는 단계(208)로 복귀하도록 이루어질 수 있다.
앞서 언급한 바와 같이, 클라이언트는 미디어-데이터 부분들, 다시 말하면 수신된 메타-데이터에 내재하는 복호화 순서 정보 필드 및 디스플레이를 기반으로 하여 단계(208)에서 요구되는 메타-데이터의 순서를 결정하도록 이루어지는 것이 전형적이다. 예를 들면, 3GP, ISO 및 MP4 파일 포맷들에서, 시간-샘플 원자(time-to-sample atom)는 프리젠테이션 시간으로부터 미디어 샘플들로의 매핑을 수행한다. 클라이언트는 이러한 정보를 사용하여 샘플들의 요구 순서를 이해하고, 바이트 위치 관련 메타-데이터를 사용하여 샘플들을 바이트 범위들에 매핑하도록 이루어질 수 있다.
도 3에는 서버가 스트림가능한 파일을 전송하는 기능들이 예시되어 있다. 도 3의 기능들이 적용되는 서버는 도 1의 SS와 같은 스트리밍 서버일 수 있지만, 클라이언트들로부터의 요구들을 기반으로 하여 스트림가능한 파일들을 파싱 및 전송하는 것이 가능한 임의의 서버일 수 있다. 요구되는 파일은 서버 장치 내에 저장될 수도 있고 상기 서버는 요구되는 파일을 상기 요구에 대한 응답으로서 기타의 엔티티로부터 액세스 및/또는 다운로드할 수 있다. 단계(301)에서는, 상기 서버가 스트림가능한 파일을 스트리밍하거나 다운로딩하기 위해 클라이언트와의 세션을 설정한다. 단계(302)에서는, 상기 서버가 적어도 메타-데이터 부분의 크기를 표시하는 파일의 부분에 대하여 상기 클라이언트로부터 요구를 수신한다. 상기 표시된 범위를 기반으로 하여, 상기 서버는 언급된 파일 내에서 그러한 범위의 콘텐츠를 결정하도록, 다시 말하면 적어도 상기 메타-데이터 부분의 크기를 결정하는 필드의 값을 결정하도록 이루어진다. 상기 서버는 적어도 상기 메타-데이터의 크기를 표시하는 파일의 부분을 포함하는 응답 메시지를 형성(303)하고 이를 클라이언트에 전송하도록 이루어진다.
단계(304)에서는, 상기 서버가 클라이언트에 전송될 미디어-데이터 범위에 관한 표시를 포함하는 요구를 수신한다. 위에서 언급된 방식과 유사한 방식으로, 상기 서버는 이때에 상기 파일의 요구된 범위를 결정하고 응답 메시지를 형성하는데, 이는 구 후에 클라이언트에 전송(305)된다.
단계(306)에서, 상기 서버는 클라이언트에 전송될 적어도 하나의 메타-데이터 범위를 표시하라는 요구를 클라이언트로부터 수신한다. 상기 서버는 상기 파일로부터 요구된 적어도 하나의 미디어-데이터 범위를 결정하고 상기 요구된 미디어-데이터 범위를 포함하는 응답을 형성(307)한다. 다음으로는, 상기 서버가 클라이언트에 상기 응답을 전송(308)한다. 위에서 언급된 바와 같이, 클라이언트는 여러 요구를 개시할 수 있는데, 이 경우에는 프로세스가 단계(306)로 복귀한다.
또한 본 발명이 기능적으로 어떻게 수행될 수 있는지에 대한 다른 실시예들이 존재한다. 한 실시예에서는, 단계들(202-206,302-303)이 불필요하지만, 단계(201) 이후에는 클라이언트가 어떠한 범위도 갖지 않거나 소정의 (큰) 범위를 갖고서 요구에 따른 스트리밍 또는 다운로딩을 간단히 개시한다. 클라이언트가 서로 다른 미디어-데이터 범위들 또는 부분들의 위치들, 예컨대 바이트 오프셋 위치들을 기술하는 메타-데이터 부분을 수신한 경우에, 클라이언트는 단계(207)로 진입할 수 있다.
요구들 및 응답들이 임의의 신뢰성 있는 전송 프로토콜을 사용하여 클라이언트 및 서버 간에 전송될 수 있다. 그 중 한 프로토콜은 HTTP이다. 한 실시예에 따른 HTTP 버전 1.1의 범위 특징은 도 2 및 도 3과 관련하여 위에서 언급된 바와 같 이 요구되는 미디어-데이터 및/또는 메타-데이터의 범위를 표시할 목적들로 사용될 수 있다. 따라서, 한 실시예에 따른 클라이언트는 상기 파일의 URI 및 아마도 기타의 정보 외에도 상기 파일에 내재하는 미디어-데이터/메타-데이터의 하나 이상의 바이트 범위들을 바이트 범위 매개변수로 포함하는 HTTP GET 요구를 형성하도록 이루어진다. HTTP 기능에 관한 더 많은 정보에 대하여는, 1999년 6월 IETF RFC 2616, "Hypertext Transfer Protocol -- HTTP /1.1"을 참조하기 바란다. 특히, 범위들의 사용은 3.12, 13.5.4 및 14.35.1에 기재되어 있다. 클라이언트가 HTTP 사양들에 따라 HTTP GET 요구들을 형성하도록 이루어질 경우에, 임의의 HTTP v. 1.1 순응 서버가 하나 이상의 범위들을 포함하는 요구들에 응답할 수 있다. 따라서, 바람직한 실시예에서, 어떠한 변경도 HTTP 서버들에서 필요하지 않다. 위에서 언급된 바와 같이, 한 실시예에서, 아마도 짧은 시간 간격들로 미디어-데이터 부분들에 대한 연속적인 요구들을 전송하는 것이 필요하다. 한 실시예에 의하면, HTTP 파이프라이닝 기법이 이러한 목적에 적용된다. 이러한 기법은 클라이언트로 하여금 각각의 응답을 대기하지 않고 복수 개의 요구들을 전송할 수 있게 하여, 단일의 TCP 접속이 더 짧은 경과 시간을 갖더라도 훨씬 더 효율적으로 사용되는 것을 허용한다. 따라서, 클라이언트는 단계(209)에서 파이프라인된 HTTP GET 요구들을 전송하도록 이루어진다. 위에서 언급된 바와 같이, 이에 대한 변형예는 하나의 요구 내에 복수 개의 바이트 범위들을 통합하는 것이다.
한 실시예에 의하면, 단지 메타-데이터의 한 부분만이 단계들(204,205)에서 요구된다. 따라서, 상기 클라이언트는 예컨대, 미디어-데이터 수신 위상 동안 메타 -데이터 중 적어도 다른 어떤 부분을 차후에 요구하도록 이루어질 수 있다. 클라이언트는 상기 메타-데이터 중 어느 부분이 아직 수신되지 않고 있는지를 결정하고 그리고 하나 이상의 미디어-데이터 범위들을 요구하는 것과 관련하여 동시에 또는 개별적인 요구로 수신되지 않은 메타-데이터 부분을 요구할 수 있다(단계들(207-209)). 이때에 상기 서버는 상기 파일 내의 표시된 범위들을 결정한 다음에 그러한 범위들을 클라이언트에 전송하도록 이루어진다. 한 부가적인 실시예에 의하면, 상기 서버는 한 응답으로 요구된 메타-데이터 및 미디어-데이터를 인터리브하도록 이루어지는데, 그 이유는 클라이언트가 또한 메타-데이터로부터 미디어-데이터를 파싱 및 분리하도록 이루어지기 때문이다.
위에서 언급된 특징들은 임의의 스트림가능한 파일 포맷에 대해 수행될 수 있다. 사용될 수 있는 파일 포맷들의 몇몇 예는 MPEG-4(MP4) 파일 포맷, QuickTime 포맷, ISO 베이스 미디어 파일 포맷 및 3GP 파일 포맷을 포함한다.
세션의 개시부분에서 수신 및 저장되는 메타-데이터는 이하의 미디어-데이터 부분들에 대한 필요한 모든 메타-데이터를 포함할 수 있다. 미디어-데이터 샘플들 및 상기 미디어-데이터 샘플들에 관련된 메타-데이터가 독립 세그먼트들로서 그룹화되는 세그먼트된 파일 포맷을 채용하는 것이 또한 가능하다. 이러한 세그먼트들은 필요한 미디어 데이터가 캡처링 및 부호화되기 바로 전에 생성 및 저장될 수 있다. 어떠한 방식으로 세그먼트를 통한 이러한 종류의 파일 포맷을 형성 및 채용하는지에 관한 더 많은 정보에 대하여는, 본원 명세서에 참조병합되는 특허출원공개 WO03/028293을 참조하기 바란다.
위에서 언급된 파일 포맷들에 대하여는, 임의의 원하는 순서와는 무관하게 상기 파일의 임의 부분들을 플레이하는 것이 가능하다. 미디어-데이터 부분은 상기 미디어-데이터 부분이 수신 장치(C)에서 파싱된 이후에 삭제(임시 메모리로부터 제거)될 수 있다. 따라서, 더 적은 임시 저장 공간이 필요한데, 그 이유는 단지 메타-데이터만, 세그먼트된 접근방법에서는 단지 파일-레벨 메타-데이터만이 상기 파일의 파싱 동안 유지되어야 할 필요가 있기 때문이다. 상기 파일을 파싱하는 장치가 또한 멀티미디어 파일을 플레이할 경우에, 미디어-데이터(및 세그먼트된 접근방법에서는 상기 미디어-데이터에 직접 관련된 메타-데이터)는 플레이 이후에 영구적으로 제거될 수 있다. 이는 필요한 메모리 자원들의 양을 부가적으로 감소시킨다.
본 발명은 기존의 원격 통신 장치들에서 구현될 수 있다. 그러한 원격 통신 장치들 모두는 프로세서들 및 메모리를 지니며, 이들을 통해 본 발명의 기능이 구현될 수 있다. 특정 프로그램 코드는 프로세서에서 실행될 경우에 위에서 언급된 클라이언트 및/또는 서버에 대한 본 발명의 기능 중 적어도 일부분을 구현하게 할 수 있으며 상기 프로그램 코드는 외부 저장 매체 또는 원격 통신 장치로부터 상기 장치에 엠베드될 수도 있고 외부 저장 매체 또는 원격 통신 장치로부터 상기 장치에 로드될 수도 있다. 개별 논리 컴포넌트들로 이루어진 회로 또는 하나 이상의 주문형 집적회로(application-specific integrated circuit; ASIC)들과 같은 서로 다른 하드웨어 구현예들이 또한 가능하다. 이러한 기법들의 조합 또한 가능하다.
당업자라면 기술의 발전에 따라 본 발명의 개념이 다른 여러 방식으로 구현될 수 있다는 점을 분명히 알 수 있을 것이다. 그러므로, 본 발명 및 그의 실시예 들은 위의 예들에 국한되지 않고 첨부된 청구항들의 범위 및 사상 내에서 변경가능하다.
Claims (26)
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 원격 통신 장치를 제어하기 위한 컴퓨터 프로그램을 포함하는 컴퓨터로 읽을 수 있는 기록매체에 있어서,상기 컴퓨터 프로그램은,메타-데이터 및 미디어-데이터를 포함하는 스트림가능한 파일을 스트리밍 또는 다운로딩하기 위해 상기 원격 통신 장치로 하여금 서버와의 세션을 설정하게 하는 프로그램 코드,상기 원격 통신 장치로 하여금 상기 파일의 메타-데이터 중 적어도 일부분을 상기 서버로부터 수신하게 하는 프로그램 코드로서, 상기 수신된 메타-데이터가 적어도 상기 파일 내의 미디어-데이터 범위들의 위치들을 포함하는 프로그램 코드,상기 원격 통신 장치로 하여금 상기 수신된 메타-데이터를 기반으로 하여 상기 파일 내의 원하는 미디어-데이터 부분의 위치를 결정하게 하는 프로그램 코드, 및상기 원격 통신 장치로 하여금 상기 클라이언트에 전송될 미디어-데이터 범위를 상기 서버에 통지하라는 요구를 상기 서버에 전송하게 하는 프로그램 코드를 포함하며,상기 컴퓨터 프로그램은,상기 원격 통신 장치로 하여금 상기 파일 내의 메타-데이터의 크기를 나타내는 상기 파일 중 적어도 일부분을 상기 서버로부터 요구하도록 하는 프로그램 코드,상기 원격 통신 장치로 하여금 상기 메타-데이터의 크기를 나타내는 상기 파일 중 적어도 일부분을 상기 서버로부터 수신하도록 하는 프로그램 코드, 및상기 원격 통신 장치로 하여금 상기 수신된 크기 정보를 기반으로 하여 상기 파일 내의 메타-데이터 부분의 위치를 결정하도록 하는 프로그램 코드를 더 포함하는 컴퓨터로 읽을 수 있는 기록매체.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/704,357 | 2003-11-07 | ||
US10/704,357 US20050102371A1 (en) | 2003-11-07 | 2003-11-07 | Streaming from a server to a client |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087026030A Division KR20080108568A (ko) | 2003-11-07 | 2004-11-04 | 서버로부터 클라이언트로의 스트리밍 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20060108706A KR20060108706A (ko) | 2006-10-18 |
KR100885753B1 true KR100885753B1 (ko) | 2009-02-26 |
Family
ID=34552104
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087026030A KR20080108568A (ko) | 2003-11-07 | 2004-11-04 | 서버로부터 클라이언트로의 스트리밍 |
KR1020067011180A KR100885753B1 (ko) | 2003-11-07 | 2004-11-04 | 서버로부터 클라이언트로의 스트리밍 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020087026030A KR20080108568A (ko) | 2003-11-07 | 2004-11-04 | 서버로부터 클라이언트로의 스트리밍 |
Country Status (8)
Country | Link |
---|---|
US (1) | US20050102371A1 (ko) |
EP (1) | EP1680898A1 (ko) |
JP (1) | JP4516082B2 (ko) |
KR (2) | KR20080108568A (ko) |
CN (1) | CN1902865A (ko) |
AU (1) | AU2004307804B2 (ko) |
TW (1) | TW200522632A (ko) |
WO (1) | WO2005046140A1 (ko) |
Families Citing this family (151)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7068729B2 (en) * | 2001-12-21 | 2006-06-27 | Digital Fountain, Inc. | Multi-stage code generator and decoder for communication systems |
US6307487B1 (en) | 1998-09-23 | 2001-10-23 | Digital Fountain, Inc. | Information additive code generator and decoder for communication systems |
US9240810B2 (en) | 2002-06-11 | 2016-01-19 | Digital Fountain, Inc. | Systems and processes for decoding chain reaction codes through inactivation |
US7333798B2 (en) | 2002-08-08 | 2008-02-19 | Value Added Communications, Inc. | Telecommunication call management and monitoring system |
US8509736B2 (en) | 2002-08-08 | 2013-08-13 | Global Tel*Link Corp. | Telecommunication call management and monitoring system with voiceprint verification |
EP1552617A2 (en) | 2002-10-05 | 2005-07-13 | Digital Fountain, Inc. | Systematic encoding and decoding of chain reaction codes |
US7979886B2 (en) | 2003-10-17 | 2011-07-12 | Telefonaktiebolaget Lm Ericsson (Publ) | Container format for multimedia presentations |
US7673062B2 (en) * | 2003-11-18 | 2010-03-02 | Yahoo! Inc. | Method and apparatus for assisting with playback of remotely stored media files |
US7519274B2 (en) | 2003-12-08 | 2009-04-14 | Divx, Inc. | File format for multiple track digital data |
US8472792B2 (en) | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
WO2005064891A1 (en) * | 2003-12-27 | 2005-07-14 | Sk Telecom Co., Ltd. | RTSP-Based Multimedia Control Method |
US7720983B2 (en) * | 2004-05-03 | 2010-05-18 | Microsoft Corporation | Fast startup for streaming media |
JP4971144B2 (ja) * | 2004-05-07 | 2012-07-11 | デジタル ファウンテン, インコーポレイテッド | ファイルダウンロードおよびストリーミングのシステム |
US20060037057A1 (en) * | 2004-05-24 | 2006-02-16 | Sharp Laboratories Of America, Inc. | Method and system of enabling trick play modes using HTTP GET |
US7783021B2 (en) | 2005-01-28 | 2010-08-24 | Value-Added Communications, Inc. | Digital telecommunications call management and monitoring system |
JP4719506B2 (ja) * | 2005-05-19 | 2011-07-06 | キヤノン株式会社 | 端末装置、コンテンツ再生方法、及びコンピュータプログラム |
US8438281B2 (en) * | 2005-07-06 | 2013-05-07 | Cisco Technology, Inc. | Techniques for accounting for multiple transactions in a transport control protocol (TCP) payload |
CN100444546C (zh) * | 2005-08-11 | 2008-12-17 | 腾讯科技(深圳)有限公司 | 一种移动终端及在移动终端上实现流媒体下载的方法 |
CN101300810A (zh) * | 2005-09-01 | 2008-11-05 | 诺基亚公司 | 用于将svg内容嵌入进iso基本媒体文件格式以便渐进地下载或流式传输富媒体内容的方法 |
WO2007074520A1 (ja) * | 2005-12-27 | 2007-07-05 | Mitsubishi Denki Kabushiki Kaisha | 配信装置及び再生装置 |
EP1969856B1 (en) * | 2006-01-05 | 2012-08-15 | Telefonaktiebolaget LM Ericsson (publ) | Media container file management |
US9294728B2 (en) | 2006-01-10 | 2016-03-22 | Imagine Communications Corp. | System and method for routing content |
US9270414B2 (en) | 2006-02-21 | 2016-02-23 | Digital Fountain, Inc. | Multiple-field based code generator and decoder for communications systems |
US7515710B2 (en) | 2006-03-14 | 2009-04-07 | Divx, Inc. | Federated digital rights management scheme including trusted systems |
US7971129B2 (en) | 2006-05-10 | 2011-06-28 | Digital Fountain, Inc. | Code generator and decoder for communications systems operating using hybrid codes to allow for multiple efficient users of the communications systems |
US9386064B2 (en) | 2006-06-09 | 2016-07-05 | Qualcomm Incorporated | Enhanced block-request streaming using URL templates and construction rules |
US9380096B2 (en) | 2006-06-09 | 2016-06-28 | Qualcomm Incorporated | Enhanced block-request streaming system for handling low-latency streaming |
US9209934B2 (en) | 2006-06-09 | 2015-12-08 | Qualcomm Incorporated | Enhanced block-request streaming using cooperative parallel HTTP and forward error correction |
US9419749B2 (en) | 2009-08-19 | 2016-08-16 | Qualcomm Incorporated | Methods and apparatus employing FEC codes with permanent inactivation of symbols for encoding and decoding processes |
US9432433B2 (en) | 2006-06-09 | 2016-08-30 | Qualcomm Incorporated | Enhanced block-request streaming system using signaling or block creation |
US9178535B2 (en) * | 2006-06-09 | 2015-11-03 | Digital Fountain, Inc. | Dynamic stream interleaving and sub-stream based delivery |
US7729381B2 (en) * | 2006-09-15 | 2010-06-01 | At&T Intellectual Property I, L.P. | In-band media performance monitoring |
US8180920B2 (en) | 2006-10-13 | 2012-05-15 | Rgb Networks, Inc. | System and method for processing content |
WO2008086313A1 (en) | 2007-01-05 | 2008-07-17 | Divx, Inc. | Video distribution system including progressive playback |
US20080168516A1 (en) * | 2007-01-08 | 2008-07-10 | Christopher Lance Flick | Facilitating Random Access In Streaming Content |
US7797633B2 (en) * | 2007-01-08 | 2010-09-14 | Apple Inc. | Streaming to media device during acquisition with random access |
US20080201158A1 (en) | 2007-02-15 | 2008-08-21 | Johnson Mark D | System and method for visitation management in a controlled-access environment |
US8489702B2 (en) | 2007-06-22 | 2013-07-16 | Apple Inc. | Determining playability of media files with minimal downloading |
US8627509B2 (en) | 2007-07-02 | 2014-01-07 | Rgb Networks, Inc. | System and method for monitoring content |
US9852219B2 (en) * | 2007-08-20 | 2017-12-26 | Nokia Technologies Oy | Segmented metadata and indexes for streamed multimedia data |
BRPI0721958A2 (pt) * | 2007-08-30 | 2014-03-18 | Thomson Licensing | Um sistema ponto a ponto e cache unificado para serviços de conteúdo em redes em malha sem fios |
US9357061B2 (en) | 2007-09-10 | 2016-05-31 | Dsi-Iti, Llc | System and method for the automatic distribution of inmate phone recordings |
JP5027305B2 (ja) * | 2007-09-12 | 2012-09-19 | デジタル ファウンテン, インコーポレイテッド | 信頼できる通信を可能にするためのソース識別情報の生成および伝達 |
WO2009036461A2 (en) * | 2007-09-13 | 2009-03-19 | Lightspeed Audio Labs, Inc. | System and method for streamed-media distribution using a multicast, peer-to-peer network |
US8295457B2 (en) | 2007-09-26 | 2012-10-23 | Dsi-Iti, Llc | System and method for controlling free phone calls through an institutional phone system |
US8635360B2 (en) | 2007-10-19 | 2014-01-21 | Google Inc. | Media playback point seeking using data range requests |
CN101861583B (zh) | 2007-11-16 | 2014-06-04 | 索尼克Ip股份有限公司 | 用于多媒体文件的分级及简化索引结构 |
CN101911693A (zh) * | 2007-12-03 | 2010-12-08 | 诺基亚公司 | 用于以iso基本媒体文件格式存储通知消息的系统和方法 |
US8543720B2 (en) * | 2007-12-05 | 2013-09-24 | Google Inc. | Dynamic bit rate scaling |
TW200943975A (en) * | 2008-01-09 | 2009-10-16 | Nokia Corp | Systems and methods for media container file generation |
US9705935B2 (en) * | 2008-01-14 | 2017-07-11 | Qualcomm Incorporated | Efficient interworking between circuit-switched and packet-switched multimedia services |
US9185158B2 (en) * | 2008-04-09 | 2015-11-10 | Level 3 Communications, Llc | Content delivery in a network |
US9426244B2 (en) | 2008-04-09 | 2016-08-23 | Level 3 Communications, Llc | Content delivery in a network |
US9106802B2 (en) | 2008-04-17 | 2015-08-11 | Sony Corporation | Dual-type of playback for multimedia content |
US7979570B2 (en) * | 2008-05-12 | 2011-07-12 | Swarmcast, Inc. | Live media delivery over a packet-based computer network |
CN101287107B (zh) * | 2008-05-29 | 2010-10-13 | 腾讯科技(深圳)有限公司 | 媒体文件的点播方法、系统和设备 |
WO2009155356A1 (en) | 2008-06-18 | 2009-12-23 | Onion Networks, KK | Traffic and cost containment for internet access by adapting the coding rate when distributing- media content |
US9473812B2 (en) | 2008-09-10 | 2016-10-18 | Imagine Communications Corp. | System and method for delivering content |
US8081635B2 (en) * | 2008-10-08 | 2011-12-20 | Motorola Solutions, Inc. | Reconstruction of errored media streams in a communication system |
WO2010045289A1 (en) | 2008-10-14 | 2010-04-22 | Ripcode, Inc. | System and method for progressive delivery of transcoded media content |
CN101729875A (zh) * | 2008-10-24 | 2010-06-09 | 鸿富锦精密工业(深圳)有限公司 | 多媒体文件播放方法和媒体播放装置 |
WO2010065757A1 (en) | 2008-12-04 | 2010-06-10 | Swarmcast, Inc. | Adaptive playback rate with look-ahead |
TWI392309B (zh) * | 2008-12-11 | 2013-04-01 | Ind Tech Res Inst | 接合多媒體串流於通訊網路的裝置與方法 |
WO2010085470A1 (en) | 2009-01-20 | 2010-07-29 | Ripcode, Inc. | System and method for splicing media files |
JP2010212948A (ja) * | 2009-03-10 | 2010-09-24 | Sony Corp | 再生装置、再生方法、記録装置、記録方法、プログラム、及び、データ構造 |
US8909806B2 (en) * | 2009-03-16 | 2014-12-09 | Microsoft Corporation | Delivering cacheable streaming media presentations |
US20100262711A1 (en) * | 2009-04-09 | 2010-10-14 | Nokia Corporation | Systems, methods, and apparatuses for media file streaming |
US9948708B2 (en) * | 2009-06-01 | 2018-04-17 | Google Llc | Data retrieval based on bandwidth cost and delay |
CA2765532C (en) * | 2009-06-15 | 2015-06-02 | Research In Motion Limited | Methods and apparatus to facilitate client controlled sessionless adaptation |
US9680892B2 (en) | 2009-06-26 | 2017-06-13 | Adobe Systems Incorporated | Providing integration of multi-bit-rate media streams |
US8205004B1 (en) | 2009-06-26 | 2012-06-19 | Adobe Systems Incorporated | Multi-bit-rate streaming delivery |
US9537957B2 (en) | 2009-09-02 | 2017-01-03 | Lenovo (Singapore) Pte. Ltd. | Seamless application session reconstruction between devices |
US9917874B2 (en) | 2009-09-22 | 2018-03-13 | Qualcomm Incorporated | Enhanced block-request streaming using block partitioning or request controls for improved client-side handling |
US20110096828A1 (en) * | 2009-09-22 | 2011-04-28 | Qualcomm Incorporated | Enhanced block-request streaming using scalable encoding |
US9237387B2 (en) | 2009-10-06 | 2016-01-12 | Microsoft Technology Licensing, Llc | Low latency cacheable media streaming |
CN101697584B (zh) * | 2009-10-16 | 2011-11-09 | 深圳市同洲电子股份有限公司 | 一种文件适配方法、系统以及文件管理系统 |
US8914835B2 (en) * | 2009-10-28 | 2014-12-16 | Qualcomm Incorporated | Streaming encoded video data |
CN102055718B (zh) * | 2009-11-09 | 2014-12-31 | 华为技术有限公司 | 一种在http streaming系统中实现分层请求内容的方法,装置和系统 |
KR101750049B1 (ko) | 2009-11-13 | 2017-06-22 | 삼성전자주식회사 | 적응적인 스트리밍 방법 및 장치 |
KR101750048B1 (ko) | 2009-11-13 | 2017-07-03 | 삼성전자주식회사 | 변속 재생 서비스 제공 방법 및 장치 |
KR101786051B1 (ko) | 2009-11-13 | 2017-10-16 | 삼성전자 주식회사 | 데이터 제공 방법 및 장치와 데이터 수신 방법 및 장치 |
KR101777347B1 (ko) | 2009-11-13 | 2017-09-11 | 삼성전자주식회사 | 부분화에 기초한 적응적인 스트리밍 방법 및 장치 |
CN102082761A (zh) * | 2009-11-27 | 2011-06-01 | 浙江省公众信息产业有限公司 | 一种流媒体协议转换系统及其方法 |
EP2507995A4 (en) | 2009-12-04 | 2014-07-09 | Sonic Ip Inc | SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL |
KR101737084B1 (ko) | 2009-12-07 | 2017-05-17 | 삼성전자주식회사 | 메인 콘텐트에 다른 콘텐트를 삽입하여 스트리밍하는 방법 및 장치 |
US8266314B2 (en) * | 2009-12-16 | 2012-09-11 | International Business Machines Corporation | Automated audio or video subset network load reduction |
KR101777348B1 (ko) | 2010-02-23 | 2017-09-11 | 삼성전자주식회사 | 데이터 전송 방법 및 장치와 데이터 수신 방법 및 장치 |
WO2011108893A2 (en) * | 2010-03-05 | 2011-09-09 | Samsung Electronics Co., Ltd. | Method and apparatus for generating and reproducing adaptive stream based on file format, and recording medium thereof |
CN102195936B (zh) * | 2010-03-09 | 2016-06-15 | 新奥特(北京)视频技术有限公司 | 多媒体文件的存储方法及系统、读取方法及系统 |
KR20110105710A (ko) * | 2010-03-19 | 2011-09-27 | 삼성전자주식회사 | 복수의 챕터를 포함하는 콘텐트를 적응적으로 스트리밍하는 방법 및 장치 |
KR101837687B1 (ko) | 2010-06-04 | 2018-03-12 | 삼성전자주식회사 | 콘텐트의 품질을 결정하는 복수의 인자에 기초한 적응적인 스트리밍 방법 및 장치 |
US9049497B2 (en) | 2010-06-29 | 2015-06-02 | Qualcomm Incorporated | Signaling random access points for streaming video data |
KR20120034550A (ko) * | 2010-07-20 | 2012-04-12 | 한국전자통신연구원 | 스트리밍 컨텐츠 제공 장치 및 방법 |
US9596447B2 (en) | 2010-07-21 | 2017-03-14 | Qualcomm Incorporated | Providing frame packing type information for video coding |
CN102143133B (zh) * | 2010-08-05 | 2013-12-18 | 华为技术有限公司 | Http流播放方式中支持广告内容的方法、装置和系统 |
US9319448B2 (en) * | 2010-08-10 | 2016-04-19 | Qualcomm Incorporated | Trick modes for network streaming of coded multimedia data |
EP3742741A1 (en) * | 2010-09-01 | 2020-11-25 | Ideahub Inc. | Method and device for providing content via http adaptive streaming using a media presentation description including a group element |
US9467493B2 (en) | 2010-09-06 | 2016-10-11 | Electronics And Telecommunication Research Institute | Apparatus and method for providing streaming content |
EP2615841B1 (en) | 2010-09-06 | 2017-12-13 | Electronics And Telecommunications Research Institute | Apparatus and method for providing streaming content |
KR101754414B1 (ko) * | 2010-09-06 | 2017-07-07 | 한국전자통신연구원 | 스트리밍 컨텐츠 제공 장치 및 방법 |
US20130173760A1 (en) * | 2010-09-20 | 2013-07-04 | Humax Co., Ltd. | Processing method to be implemented upon the occurrence of an expression switch in http streaming |
US9986009B2 (en) * | 2010-10-06 | 2018-05-29 | Electronics And Telecommunications Research Institute | Apparatus and method for providing streaming content |
KR101206698B1 (ko) * | 2010-10-06 | 2012-11-30 | 한국항공대학교산학협력단 | 스트리밍 콘텐츠 제공 장치 및 방법 |
US10911550B2 (en) | 2010-11-09 | 2021-02-02 | Microsoft Technology Licensing, Llc | Partial loading and editing of documents from a server |
US8880633B2 (en) * | 2010-12-17 | 2014-11-04 | Akamai Technologies, Inc. | Proxy server with byte-based include interpreter |
CN102656857B (zh) * | 2010-12-17 | 2015-01-07 | 华为技术有限公司 | 一种启动阶段的流媒体数据获取、发送方法及装置 |
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 |
WO2012093202A1 (en) * | 2011-01-07 | 2012-07-12 | Nokia Corporation | Method and apparatus for signaling presentation |
US8849950B2 (en) | 2011-04-07 | 2014-09-30 | Qualcomm Incorporated | Network streaming of video data using byte range requests |
KR101285654B1 (ko) * | 2011-07-06 | 2013-08-14 | 주식회사 씬멀티미디어 | 메타 데이터와 미디어 데이터가 분리되어 있는 파일 형식의 멀티미디어 컨텐츠를 프로그래시브 다운로드하기 위한 실시간 트랜스코딩 장치 |
US20130042100A1 (en) * | 2011-08-09 | 2013-02-14 | Nokia Corporation | Method and apparatus for forced playback in http streaming |
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 |
US9253233B2 (en) | 2011-08-31 | 2016-02-02 | Qualcomm Incorporated | Switch signaling methods providing improved switching between representations for adaptive HTTP 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 |
CN103227803A (zh) * | 2012-01-30 | 2013-07-31 | 华为技术有限公司 | 一种物联网资源获取的方法、客户端和物联网资源装置 |
US9106474B2 (en) * | 2012-03-28 | 2015-08-11 | National Instruments Corporation | Lossless data streaming to multiple clients |
US8892638B2 (en) * | 2012-05-10 | 2014-11-18 | Microsoft Corporation | Predicting and retrieving data for preloading on client device |
KR102020363B1 (ko) * | 2012-10-31 | 2019-09-10 | 삼성전자 주식회사 | 적응형 스트리밍을 이용한 미디어 세그먼트 송수신 방법 및 장치 |
US9596288B2 (en) | 2012-12-04 | 2017-03-14 | Pixia Corp. | Method and system of requesting information from a server computer |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US10015437B2 (en) * | 2013-01-15 | 2018-07-03 | Qualcomm Incorporated | Supporting transport diversity and time-shifted buffers for media streaming over a network |
CN104661058B (zh) * | 2013-11-20 | 2018-01-16 | 深圳市云帆世纪科技有限公司 | Mp4视频点播的数据流传输方法、客户端及点播系统 |
CN104702576B (zh) | 2013-12-09 | 2018-02-09 | 腾讯科技(深圳)有限公司 | 语音传输方法、装置和语音服务系统 |
US9280413B2 (en) | 2013-12-12 | 2016-03-08 | Talkatone, Llc | Redundant encoding |
US9282133B2 (en) * | 2013-12-12 | 2016-03-08 | Ooma, Inc. | Communicating control information within a real-time stream |
US10095759B1 (en) | 2014-01-27 | 2018-10-09 | Microstrategy Incorporated | Data engine integration and data refinement |
US11386085B2 (en) | 2014-01-27 | 2022-07-12 | Microstrategy Incorporated | Deriving metrics from queries |
US10255320B1 (en) | 2014-01-27 | 2019-04-09 | Microstrategy Incorporated | Search integration |
US11921715B2 (en) | 2014-01-27 | 2024-03-05 | Microstrategy Incorporated | Search integration |
US20150319612A1 (en) | 2014-05-01 | 2015-11-05 | Global Tel*Link Corp. | System and Method for Authenticating Called Parties of Individuals Within a Controlled Environment |
US10225298B2 (en) | 2015-01-06 | 2019-03-05 | Divx, Llc | Systems and methods for encoding and sharing content between devices |
US10412138B2 (en) | 2015-03-02 | 2019-09-10 | Qualcomm Incorporated | Indication for partial segment |
US10749930B2 (en) | 2015-03-02 | 2020-08-18 | Qualcomm Incorporated | Indication for partial segment |
US10659507B2 (en) * | 2015-03-02 | 2020-05-19 | Qualcomm Incorporated | Indication for partial segment |
US10075755B2 (en) * | 2015-09-18 | 2018-09-11 | Sorenson Media, Inc. | Digital overlay offers on connected media devices |
US9769310B2 (en) | 2015-11-19 | 2017-09-19 | Global Tel*Link Corporation | Authentication and control of incoming communication |
KR20180107160A (ko) * | 2016-02-17 | 2018-10-01 | 삼성전자주식회사 | 멀티미디어 서비스의 컨텐츠 관련 정보 제공 방법 및 장치 |
US10572961B2 (en) | 2016-03-15 | 2020-02-25 | Global Tel*Link Corporation | Detection and prevention of inmate to inmate message relay |
US9609121B1 (en) | 2016-04-07 | 2017-03-28 | Global Tel*Link Corporation | System and method for third party monitoring of voice and video calls |
US10735431B2 (en) | 2016-11-02 | 2020-08-04 | Global Tel*Link Corp. | Control of internet browsing in a secure environment |
US10708369B2 (en) | 2016-11-02 | 2020-07-07 | Global Tel*Link Corp. | Control of internet browsing in a secure environment |
US9990826B1 (en) | 2016-12-07 | 2018-06-05 | Global Tel*Link Corporation | System for monitoring offender during correctional supervisory program |
US9794399B1 (en) | 2016-12-23 | 2017-10-17 | Global Tel*Link Corporation | System and method for multilingual authentication access to communication system in controlled environment |
US10027797B1 (en) | 2017-05-10 | 2018-07-17 | Global Tel*Link Corporation | Alarm control for inmate call monitoring |
US10225396B2 (en) | 2017-05-18 | 2019-03-05 | Global Tel*Link Corporation | Third party monitoring of a activity within a monitoring platform |
US10860786B2 (en) | 2017-06-01 | 2020-12-08 | Global Tel*Link Corporation | System and method for analyzing and investigating communication data from a controlled environment |
US9912821B1 (en) | 2017-06-30 | 2018-03-06 | Global Tel*Link Corporation | Call processing system for modifying inmate communication limits |
JP2019191931A (ja) * | 2018-04-25 | 2019-10-31 | 富士通株式会社 | 情報処理システム、入力値検証支援プログラム、および入力値検証プログラム |
US11614970B2 (en) | 2019-12-06 | 2023-03-28 | Microstrategy Incorporated | High-throughput parallel data transmission |
US11567965B2 (en) | 2020-01-23 | 2023-01-31 | Microstrategy Incorporated | Enhanced preparation and integration of data sets |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003073768A1 (en) | 2002-02-25 | 2003-09-04 | Sony Electronics, Inc. | Method and apparatus for supporting avc in mp4 |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5892915A (en) * | 1997-04-25 | 1999-04-06 | Emc Corporation | System having client sending edit commands to server during transmission of continuous media from one clip in play list for editing the play list |
US6574618B2 (en) * | 1998-07-22 | 2003-06-03 | Appstream, Inc. | Method and system for executing network streamed application |
US6934723B2 (en) * | 1999-12-23 | 2005-08-23 | International Business Machines Corporation | Method for file system replication with broadcasting and XDSM |
EP1146729A3 (en) * | 2000-03-15 | 2005-07-06 | International Business Machines Corporation | Method and system for streaming media data in heterogenous environments |
EP1273152B1 (en) * | 2000-04-08 | 2006-08-02 | Sun Microsystems, Inc. | Method of streaming a single media track to multiple clients |
US20020083124A1 (en) * | 2000-10-04 | 2002-06-27 | Knox Christopher R. | Systems and methods for supporting the delivery of streamed content |
US8831995B2 (en) * | 2000-11-06 | 2014-09-09 | Numecent Holdings, Inc. | Optimized server for streamed applications |
US7143433B1 (en) * | 2000-12-27 | 2006-11-28 | Infovalve Computing Inc. | Video distribution system using dynamic segmenting of video data files |
US7130908B1 (en) * | 2001-03-13 | 2006-10-31 | Intelsat Ltd. | Forward cache management between edge nodes in a satellite based content delivery system |
US7089309B2 (en) * | 2001-03-21 | 2006-08-08 | Theplatform For Media, Inc. | Method and system for managing and distributing digital media |
US6757735B2 (en) * | 2001-07-03 | 2004-06-29 | Hewlett-Packard Development Company, L.P. | Method for distributing multiple description streams on servers in fixed and mobile streaming media systems |
FI20011871A (fi) * | 2001-09-24 | 2003-03-25 | Nokia Corp | Multimediadatan prosessointi |
US20030122966A1 (en) * | 2001-12-06 | 2003-07-03 | Digeo, Inc. | System and method for meta data distribution to customize media content playback |
FI20012558A (fi) * | 2001-12-21 | 2003-06-22 | Oplayo Oy | Menetelmä ja järjestely videoesityksen lähettämiseksi |
US20030135633A1 (en) * | 2002-01-04 | 2003-07-17 | International Business Machines Corporation | Streaming and managing complex media content on Web servers |
US7941553B2 (en) * | 2002-10-18 | 2011-05-10 | International Business Machines Corporation | Method and device for streaming a media file over a distributed information system |
US20060092938A1 (en) * | 2003-02-26 | 2006-05-04 | Koninklijke Philips Electronics N.V. | System for broadcasting multimedia content |
US7606928B2 (en) * | 2003-03-21 | 2009-10-20 | Nokia Corporation | Method and device for controlling receiver buffer fullness level in multimedia streaming |
KR100781511B1 (ko) * | 2005-06-29 | 2007-12-03 | 삼성전자주식회사 | 홈 네트워크를 기반으로 하는 스트리밍 서비스 방법 및시스템 |
-
2003
- 2003-11-07 US US10/704,357 patent/US20050102371A1/en not_active Abandoned
-
2004
- 2004-10-28 TW TW093132671A patent/TW200522632A/zh unknown
- 2004-11-04 JP JP2006537333A patent/JP4516082B2/ja not_active Expired - Fee Related
- 2004-11-04 EP EP04798262A patent/EP1680898A1/en not_active Withdrawn
- 2004-11-04 CN CNA2004800397538A patent/CN1902865A/zh active Pending
- 2004-11-04 KR KR1020087026030A patent/KR20080108568A/ko not_active Application Discontinuation
- 2004-11-04 WO PCT/FI2004/000653 patent/WO2005046140A1/en active Application Filing
- 2004-11-04 KR KR1020067011180A patent/KR100885753B1/ko not_active IP Right Cessation
- 2004-11-04 AU AU2004307804A patent/AU2004307804B2/en not_active Ceased
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003073768A1 (en) | 2002-02-25 | 2003-09-04 | Sony Electronics, Inc. | Method and apparatus for supporting avc in mp4 |
Also Published As
Publication number | Publication date |
---|---|
AU2004307804B2 (en) | 2010-03-04 |
AU2004307804A1 (en) | 2005-05-19 |
JP2007515096A (ja) | 2007-06-07 |
US20050102371A1 (en) | 2005-05-12 |
KR20060108706A (ko) | 2006-10-18 |
TW200522632A (en) | 2005-07-01 |
CN1902865A (zh) | 2007-01-24 |
AU2004307804A2 (en) | 2005-05-19 |
WO2005046140A1 (en) | 2005-05-19 |
JP4516082B2 (ja) | 2010-08-04 |
KR20080108568A (ko) | 2008-12-15 |
EP1680898A1 (en) | 2006-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100885753B1 (ko) | 서버로부터 클라이언트로의 스트리밍 | |
US20230179837A1 (en) | Network Video Streaming with Trick Play Based on Separate Trick Play Files | |
US20030061369A1 (en) | Processing of multimedia data | |
TWI668982B (zh) | 用於多媒體和檔案傳輸的傳輸介面的方法及伺服器設備、及用於記錄相關指令於其上的電腦可讀取儲存媒體 | |
US9247317B2 (en) | Content streaming with client device trick play index | |
CN111837403B (zh) | 处理用于以流传送媒体数据的交互性事件 | |
US9596522B2 (en) | Fragmented file structure for live media stream delivery | |
TW201725911A (zh) | 決定用於媒體傳輸的媒體傳遞事件位置 | |
WO2004077790A1 (en) | System for broadcasting multimedia content | |
US20110299586A1 (en) | Quality adjustment using a fragmented media stream | |
KR102085192B1 (ko) | 렌더링 시간 제어 | |
US20220131921A1 (en) | Multicast to unicast conversion | |
Lohan et al. | Integrated system for multimedia delivery over broadband ip networks | |
US20220131920A1 (en) | Multicast to unicast conversion | |
Setlur et al. | More: a mobile open rich media environment | |
Kalva | Delivering MPEG-4 Based Audio-Visual Services | |
Bechqito | High Definition Video Streaming Using H. 264 Video Compression | |
Ohlenroth et al. | RTP packetization of MPEG-4 elementary streams | |
WO2015064384A1 (ja) | 送信装置、送信方法、受信装置、及び、受信方法 | |
KR101568317B1 (ko) | Ip 카메라에서 hls 프로토콜을 지원하는 시스템 및 그 방법 | |
Bouzakaria | Advanced contributions in HTTP adaptive streaming | |
Althun et al. | Streaming services: Specification and implementation based on XML and JMF | |
Ho | Mobile Multimedia Streaming Library |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
AMND | Amendment | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J201 | Request for trial against refusal decision | ||
A107 | Divisional application of patent | ||
AMND | Amendment | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |