KR20070053884A - 호환성있는(compatible) 프로그레시브 다운로드방법 및 그 시스템 - Google Patents

호환성있는(compatible) 프로그레시브 다운로드방법 및 그 시스템 Download PDF

Info

Publication number
KR20070053884A
KR20070053884A KR1020050111670A KR20050111670A KR20070053884A KR 20070053884 A KR20070053884 A KR 20070053884A KR 1020050111670 A KR1020050111670 A KR 1020050111670A KR 20050111670 A KR20050111670 A KR 20050111670A KR 20070053884 A KR20070053884 A KR 20070053884A
Authority
KR
South Korea
Prior art keywords
terminal
server
media
buffering
metadata
Prior art date
Application number
KR1020050111670A
Other languages
English (en)
Other versions
KR100724899B1 (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 KR1020050111670A priority Critical patent/KR100724899B1/ko
Priority to CNB200610149304XA priority patent/CN100527674C/zh
Priority to EP06124568A priority patent/EP1788787B1/en
Priority to DE602006001719T priority patent/DE602006001719D1/de
Priority to US11/603,624 priority patent/US7734806B2/en
Publication of KR20070053884A publication Critical patent/KR20070053884A/ko
Application granted granted Critical
Publication of KR100724899B1 publication Critical patent/KR100724899B1/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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/266Stopping or restarting the source, e.g. X-on or X-off
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/30Flow control; Congestion control in combination with information about buffer occupancy at either end or at transit nodes
    • 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/1066Session management
    • H04L65/1101Session protocols
    • 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/165Combined use of TCP and UDP protocols; selection criteria therefor
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 호환성있는 프로그레시브 다운로드 기능을 구현한다. 이를 위해 본 발명에 따른 단말기는 원격의 컨텐츠 파일의 포맷 정보를 실제 컨텐츠 파일의 다운로드가 시작되기 전에 미리 획득하여 그 포맷 정보를 바탕으로 한 프로그레시브 다운로드 환경을 설정한다. 이후 단말기는 서버로부터 그 포맷 정보에 따른 위치의 데이터를 다운로드와 동시에 재생을 수행한다. 이때, 미디어 즉, 오디오 및 비디오 데이터 수신은 각각 독립적으로 수행되며, 재생 중 일정 임계치량 이하에 도달하는 미디어를 번갈아가며 다운로드하여 버퍼를 채워나가는 방식으로 프로그레시브 다운로드를 수행한다. 이와 같은 프로그레시브 다운로드 방식은 3GPP가 정의하는 포맷 이외의 다른 모든 포맷의 컨텐츠에 대한 다운로드에 호환 적용할 수 있으며, 이에 따라 서버에서 3GPP 표준에 맞도록 컨텐츠에 대한 포맷 수정을 할 필요가 없다.
프로그레시브(progressive), 3GPP, mpeg4

Description

호환성있는(compatible) 프로그레시브 다운로드 방법 및 그 시스템{COMPATIBLE-PROGRESSIVE DOWNLOAD METHOD AND THE SYSTEM THEREOF}
도 1a 내지 도 1c는 일반적인 mpeg4 컨텐츠 파일의 다양한 포맷의 예를 도시한 도면,
도 2a는 종래의 TCP를 사용한 다운로드 방식에 따른 데이터 전송 과정을 도시한 도면,
도 2b는 종래의 이어받기 다운로드 방식에 따른 데이터 전송 과정을 도시한 도면,
도 3은 본 발명의 실시 예에 따른 프로그레시브 다운로드를 수행하는 시스템의 구현 예를 도시한 도면,
도 4는 본 발명의 실시 예에 따라 메타 데이터를 획득하는 과정을 설명하기 위한 도면,
도 5는 본 발명의 실시 예에 따라 랜덤 레인지 억세스를 통한 다운로드 및 재생 과정을 설명하기 위한 도면,
도 6은 본 발명의 실시 예에 따라 호환성있는 프로그레시브 다운로드를 수행하는 단말기에서의 제어흐름도,
도 7은 본 발명의 실시 예에 따라 버퍼링 제어 과정을 설명하기 위한 예시 도.
본 발명은 프로그레시브(progressive) 다운로드 방법 및 그 시스템에 관한 것으로, 특히 메타 데이터를 이용한 호환성있는(compatible) 프로그레시브 다운로드 방법 및 그 시스템에 관한 것이다.
통상적으로 컨텐츠 다운로드 서비스란 웹 클라이언트가 서버로부터 특정 멀티미디어 컨텐츠를 다운로드받은 후 로컬 메모리에 저장하여 반복 재생할 수 있는 서비스를 말한다. 이러한 일반적인 다운로드 서비스의 방식은 HTTP 프로토콜을 주로 사용하며 TCP 전송을 통해 신뢰성있는 데이터 송수신을 수행하기 때문에 데이터 손실이 발생하지 않아 일단 다운로드가 완료되면 고품질의 화질을 제공하는 것이 가능하다. 하지만 이러한 방식은 다운로드가 완료되지 않는 한 도중에 컨텐츠를 재생하는 것이 불가능하다.
이러한 TCP를 사용한 다운로드 방식에 따른 데이터 전송 과정을 도 2a를 참조하여 설명한다. 먼저 도 2a에서는 단말기(200)와 서버(210)가 네트워크를 통해 TCP 연결되면 일정 범위를 가지는 mp4형식의 파일을 요청하는 x.mp4 요청을 서버(210)로 전송하여 이에 대한 응답 신호로 200 OK가 전송되면 해당 x.mp4 파일을 다운로드받은 후 TCP 연결을 해제함으로써 데이터 송수신이 이루어집니다.
한편, 상기한 바와 같은 일반적인 다운로드 방식 이외에도 이어받기 다운로드 방식이 있는데, 이는 도 2b에 도시된 바와 같다. 도 2b에서는 파일을 다운로드하는 도중에 내부 또는 외부적 요인으로 인해 다운로드가 끊기게 될 경우를 도시하고 있는데, 이러한 경우에는 도면부호 220에 의해 지시되는 바와 같이 타임아웃되었다가 다시 파일을 이어받고자 하는 요청이 서버(210)로 전송되게 된다. 이 때, 단말기(200)는 서버(210)에 현재까지 다운로드 완료된 파일의 범위를 알고 있기 때문에 이를 서버(210)에 알려서 다운로드가 중단된 이후부터의 파일을 받게 된다.
한편, 네트워크를 통한 데이터 전송 관점에서 일반적으로 대표적인 실시간 응용으로 여겨지는 스트리밍 방식 등에는 일정 전송률에 재전송이 없는 UDP 전송을 사용한다. 이 스트리밍 방식은 컨텐츠 다운로드 방식에 비해 제어 과정이 훨씬 복잡하고 비신뢰적인 UDP(User Datagram Protocol) 전송을 통해 데이터 송수신이 실시간으로 이루어지나 에러나 데이터 손실이 발생할 확률이 높다. 스트리밍 데이터의 로컬 녹화 저장은 데이터 손실이 발생한 데이터를 그대로 로컬 메모리에 저장하기 때문에 향후 그 데이터를 재생할 경우 원본의 컨텐츠를 재생했을 때만큼의 화질을 얻기 어렵다.
상기한 바와 같은 두 가지 방식의 다른 대안으로 3GPP가 제안하는 프로그레시브 다운로드 방식이 있는데, 이 방식은 mpeg4를 기본 토대로 하는 *.3gp형식의 파일을 대상으로 하며 3GPP TS26.244에서 정의하고 있다. 이 프로그레시브 다운로드 방식은 컨텐츠 다운로드 중에도 재생이 가능하므로 데이터 손실없는 화질을 보장할 수 있으며 실시간 서비스가 가능하다는 이점이 있다. 이러한 이점으로 현재 유럽을 비롯한 GPRS와 UMTS망 일부 사업자들이 프로그레시브 다운로드 방식에 대한 도입을 활발히 진행하고 있는 실정이다.
하지만 프로그레시브 방식은 하기 후술하는 바와 같은 제약 사항이 따른다.
먼저, 스트리밍 방식이 일정 전송률에 재전송이 없는 UDP 전송을 사용하는데 반해, 프로그레시브 다운로드 방식은 실시간 재생과 무관한 로컬 다운로드 저장을 목표로 하여 신뢰적 전송 프로토콜인 TCP를 사용한다. 따라서 TCP 전송이 제공하는 흐름제어(Flow Control)와 재전송(Re-transmission)으로 인해 도중에 잠시 다운로드가 중단되는 등 실시간 응용에 있어 실시간성을 저해하는 요인을 가지고 있다.
또한 프로그레시브 다운로드 방식은 데이터 저장의 관점에서 볼 경우 컨텐츠 생성 시 제약 사항이 따른다. 3GPP TS 26.244 V6.0.0는 프로그레시브 다운로 서비스를 위한 3gp 파일 형식을 규정하고 있다. 이러한 규정에는 파일의 프로파일(profile)을 '3gr6'로 규정하고 있으며, 3gp 파일 생성에 있어 파일 내에 'moov' 박스는 반드시 'ftyp'박스 바로 다음에 위치해야 하며 두 박스(또는 atom)는 항상 파일의 맨 앞에 위치해야 한다. 그리고 모든 미디어 트랙은 1초 또는 그 이하의 시간 간격으로 적절하게 인터리빙되어 생성되어야 한다.
하지만 일반적인 mpeg4 컨텐츠 파일의 경우에는 도 1에 도시된 바와 같이 다양한 포맷을 가진다. 도 1a 내지 도 1c는 일반적인 mpeg4 컨텐츠 파일의 다양한 포맷의 예를 도시한 도면이다.
우선 도 1a에서 파일명이 sharp.3gp인 3gp 파일형식의 컨텐츠 파일의 경우에는 sharp.3gp의 파일명(100) 다음에 파일타입을 나타내는 'ftpy'박스가 위치하며 그 다음에는 'mdat'박스(105)가 위치하며 이어 'moov'박스(110)가 위치함을 알 수 있다. 이 파일은 3gp 파일 형식을 가지지만 내부적으로 살펴보면, 각 미디어 중 비디오 데이터는 22프레임으로 되어 있으며 H.263 포맷을 가지고, 오디오 데이터는 21프레임으로 되어 있으며 AMR 포맷을 가짐을 알 수 있다.
이에 반해 도 1b에서는 도면부호 115에 의해 지시되는 바와 같은 aking.mp4파일명 다음에 'ftpy'박스, 'udta'박스(120), 다수의 'mdat'박스(125), 'moov'박스(130) 순으로 각 박스들이 위치한다. 그리고 도 1b에 도시된 파일은 비디오 데이터가 mpeg4 포맷을 가지며 오디오 데이터가 AMR 포맷을 가짐을 알 수 있다.
또한, 도 1c에서는 도면부호 135에 의해 지시되는 바와 같은 vfuk.3gp파일명 다음에는 'ftpy'박스가 위치하며 이어 'moov'박스(140), 'mdat'박스(145) 순으로 위치한다. 그리고 도 1c에 도시된 바와 같은 파일은 비디오 데이터 및 오디오 데이터가 모두 mpeg4 포맷을 가짐을 알 수 있다. 도 1a 내지 도 1c에 도시된 바와 같이 mpeg4 컨텐츠 파일의 경우에는 3GPP에서 제안하고 있는 규정을 따르지 않기 때문에 이러한 3GPP 규정에 따르지 않고 제조된 기존의 모든 컨텐츠 파일에 대해서는 기본적으로 프로그레시브 다운로드 방식을 적용할 수 없게 된다.
하지만, 현재 3GPP는 무선망 내부에 기존 컨텐츠와도 호환될 수 있는 대안의 프로그레시브 다운로드 방식을 제시하지 못하고 있는 실정이다. 그럼에도 불구하고 최근 3G망 내에서만 규정된 프로그레시브 다운로드 방식이 향후 유무선망 통합, 오픈(open) 아키텍쳐를 표방하는 4G를 향해 진화함에 따라 기존 컨텐츠와 양립할 수 있는 대안 기술의 필요성은 더욱 커지고 있다. 한 예로, 현재 유럽의 GPRS와 UMTS 망의 대표적인 일부 사업자(Vodafone, etc,.)들은 단말기 사용자에게 url 입력을 통해 UMTS망의 외부 인터넷상의 웹서버에 접속하여 컨텐츠를 다운로드할 수 있도록 허용하고 있으나, 인터넷망의 거의 모든 서버의 컨텐츠는 3GPP 표준의 고려없이 제작된 것이므로 이들 모든 컨텐츠를 다시 표준에 맞도록 재생성한다는 것은 현실적으로 불가능하다.
상술한 바와 같이 종래의 프로그레시브 다운로드 방식이 컨텐츠 다운로드 중에도 재생이 가능하다는 이점에도 불구하고 실제적으로 3GPP 표준의 고려없이 제작된 컨텐츠를 다운로드할 경우에는 적용하기 어려운 실정이다.
따라서 본 발명은 기존의 컨텐츠와 호환될 수 있도록 메타 데이터를 이용한 호환성있는(compatible) 프로그레시브 다운로드 방법 및 그 시스템을 제공한다.
상술한 바를 달성하기 위한 본 발명은 호환성있는(compatible) 프로그레시브 다운로드 방법에 있어서, 단말기가 서버로부터 다운로드할 컨텐츠 파일에 대한 포맷정보를 획득하는 과정과, 상기 획득한 포맷정보를 이용하여 상기 서버로부터 상기 컨텐츠 파일의 오디오 샘플 및 비디오 샘플을 다운로드하여 소정 버퍼를 채우는 초기 버퍼링을 수행하는 과정과, 상기 초기 버퍼링이 완료되면 상기 소정 버퍼에 채워진 오디오 샘플 및 비디오 샘플을 출력하여 재생을 시작하는 과정과, 상기 재 생 도중에 각 샘플에 대한 임계값 이하인 샘플이 발생할 때마다 상기 서버로부터 다운로드하던 샘플에 대한 버퍼링을 중단하고 상기 임계치 이하가 된 샘플을 버퍼링하는 과정을 포함함을 특징으로 한다.
또한 본 발명에 따르면 호환성있는(compatible) 프로그레시브 다운로드를 수행하는 시스템은, 다운로드할 컨텐츠 파일에 대한 포맷정보를 획득하고, 획득한 포맷정보를 근거로 상기 컨텐츠 파일의 오디오 샘플 및 비디오 샘플을 다운로드하여 소정 버퍼를 채우는 초기 버퍼링을 수행하며, 상기 초기 버퍼링이 완료되면 상기 소정 버퍼에 채워진 오디오 샘플 및 비디오 샘플을 출력하여 재생을 시작하면서 상기 재생 도중에 각 샘플에 대한 임계값 이하인 샘플이 발생할 때마다 다운로드하던 샘플에 대한 버퍼링을 중단하고 상기 임계치 이하가 된 샘플을 버퍼링하는 단말기와, 초기 버퍼링 시 상기 단말기에 의해 지정된 레인지만큼의 오디오 샘플 및 비디오 샘플을 제공하고, 상기 각 샘플에 대한 임계값 이하인 샘플이 발생할 때마다 해당 샘플 요청이 수신되면 그 요청에 대응하는 위치 및 크기의 샘플을 상기 단말기로 다운로드하는 서버를 포함함을 특징으로 한다.
이하 본 발명의 바람직한 실시 예들을 첨부한 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성 요소들은 가능한 한 어느 곳에서든지 동일한 부호들로 나타내고 있음에 유의해야 한다. 또한 본 발명의 요지를 불필요하게 흐릴 수 있는 공지 기능 및 구성에 대한 상세한 설명은 생략한다.
본 발명은 호환성있는 프로그레시브 다운로드 기능을 구현한다. 이를 위해 본 발명에 따른 단말기는 원격의 컨텐츠 파일의 포맷 정보를 실제 컨텐츠 파일의 다운로드가 시작되기 전에 미리 획득하여 그 포맷 정보를 바탕으로 한 프로그레시브 다운로드 환경을 설정한다. 이후 단말기는 서버로부터 그 포맷 정보에 따른 위치의 데이터를 다운로드와 동시에 재생을 수행한다. 이때, 각 미디어 즉, 오디오 및 비디오 데이터 수신은 각각 독립적으로 수행되며, 재생 중 일정 임계치량 이하에 도달하는 미디어를 번갈아가며 다운로드하여 버퍼를 채워나가는 방식으로 프로그레시브 다운로드를 수행한다. 이와 같은 프로그레시브 다운로드 방식은 3GPP가 정의하는 포맷 이외의 다른 모든 포맷의 컨텐츠에 대한 다운로드에 호환 적용할 수 있으며, 이에 따라 서버에서 3GPP 표준에 맞도록 컨텐츠에 대한 포맷 수정을 할 필요가 없다.
또한 본 발명에 따른 호환성있는 프로그레시브 다운로드 방식도 기존의 프로그레시브 다운로드 방식의 새로운 기술적 대안이기 때문에 컨텐츠 다운로드 중에도 재생이 가능하고 데이터 손실없는 화질을 보장할 수 있으며 실시간 서비스가 가능함은 물론이다.
이하,도 3은 본 발명의 실시 예에 따른 프로그레시브 다운로드를 수행하는 시스템의 구현 예를 도시한 도면인 도 3을 참조한다. 즉, 도 3에서는 프로그레시브 다운로드를 수행하는 시스템의 구현 일 예를 도시한 것일 뿐, 본 발명이 적용될 수 있는 시스템의 구성은 이에 한정되지 아니한다.
도 3을 참조하면, 본 발명의 실시 예에 따른 시스템은 크게 단말기(300), 네트워크(310), 서버(320) 및 스토리지(storage)(330)를 포함하여 구성된다. 도 3에 도시된 바와 같이 서버(320)는 HTTP 프로토콜을 사용하는 서버로써, 네트워크(310) 를 통해 단말기(300)로부터의 요청에 대응하여 스토리지(330)에 저장된 데이터를 다운로드한다. 구체적으로 단말기(300)의 HTTP 클라이언트(370)가 사용자로부터 해당 파일의 url을 입력받아 S300단계에서 네트워크(310)를 통해 서버(320)와 TCP 연결된 후 S305단계에서 3gp 파일형식을 가지는 컨텐츠 파일 x.3gp를 요청한다.
한편, 서버(320)에서는 상기 요청에 대응하여 S310단계에서 네트워크(310)를 통해 응답신호인 200 OK를 단말기(300)의 HTTP 클라이언트(370)로 전송한다. 이렇게 함으로써, 단말기(300)에서는 컨텐츠 파일을 다운로드받을 준비를 하게 되고, 서버(320)에서는 컨텐츠 파일이 저장된 스토리지(330)로부터 해당 컨텐츠 파일을 추출하여 S315단계에서와 같이 HTTP 클라이언트(300)에 전송하기 시작한다.
이때, 본 발명의 실시 예에 따라 컨텐츠 파일에 대한 포맷 정보가 들어있는 메타 데이터를 탐색하기 위해 단말기(300)의 HTTP 클라이언트(370)는 원격 컨텐츠 파일의 일정 레인지(range)를 가지는 데이터를 전송해줄 것을 요청한다. 그리고나서 일정 레인지 내에 포함된 헤더 정보를 분석하여 파일포인터를 계산하면서 메타 데이터를 찾아낼 때까지 상기한 바와 같이 일정 레인지를 지정하여 일부의 컨텐츠 파일을 전송해줄 것을 요청한다. 이러한 과정을 통해 메타 데이터를 획득하게 되면 HTTP 클라이언트(370)는 서버(320)의 컨텐츠 파일의 저장 포맷을 인식할 수 있어 원격 파일 랜덤 억세스(Random Access)를 통해 프로그레시브 다운로드를 할 수 있게 된다.
이어, 단말기(300)에서의 프로그레시브 다운로드 동작을 구체적으로 살펴보면, HTTP 클라이언트(370)에서는 미리 획득한 메타 데이터를 근거로 서버(320)의 어느 위치에 저장된 컨텐츠 파일을 가져올 것인지를 결정할 수 있다. 이에 따라 HTTP 클라이언트(370)는 해당 위치의 컨텐츠 파일 데이터를 일정 레인지를 지정하여 다운로드할 수 있다. 그러면 다운로드되는 데이터는 로컬 메모리(local memory)(340)에 랜덤 라이팅(writing)을 통해 원래 파일로 복구된다. 이때, HTTP 클라이언트(370)는 메타 데이터를 근거로 로컬 메모리(340) 상에 어느 오프셋(offset)에 위치시킬 것인지도 결정하여 라이팅하는 것이다. 여기서, 로컬 메모리(340)는 컨텐츠 재생 시 필요한 데이터를 저장하기 위해 램(RAM : Random Access Memory), 플래시(Flash) 또는 디스크(Disk) 중 어느 하나로 이루어질 수 있다.
그리고나서 라이팅된 파일을 바탕으로 A/V 버퍼(350)를 채운 후 재생이 시도되면 단말기(300)는 미디어 플레이어(360)을 통해 해당 데이터를 출력하기 시작한다. 즉, 컨텐츠 파일의 데이터는 비디오 데이터와 오디오 데이터로 파싱(parsing)되어 A/V 버퍼(350)에 채워진 후 각각 표시부 및 스피커로 출력된다.
상기한 바와 같이 본 발명의 실시 예에 따라 호환성있는 프로그레시브 다운로드를 위한 단말기(300)에서의 동작은 크게 컨텐츠 구분 단계, 다운로드를 위한 환경 설정 단계 및 다운로드 & 재생 단계로 구분되어 이루어진다.
이하, 본 발명의 실시 예에 따른 컨텐츠 구분 단계를 상세히 설명하기 위해 도 4를 참조한다. 도 4는 본 발명의 실시 예에 따라 메타 데이터를 획득하는 과정을 설명하기 위한 도면이다.
도 4에서는 컨텐츠의 포맷정보를 실제 다운로드하기 전에 미리 획득하는 과정을 도시하고 있으며, 우선 단말기(300)는 400단계에서 TCP를 이용하여 서버(320) 와 연결된다. 서버(320)와 TCP를 사용하여 연결되면 단말기(300)는 405단계에서 mp4 파일형식의 컨텐츠 파일을 요청한다. 상세하게는 헤더 정보를 얻기 위해 컨텐츠 파일의 일정 레인지(Range)를 지정한 정보가 포함된 GET 패킷을 전송하여 컨텐츠 파일을 요청한다. 이러한 과정은 단말기(300)가 서버(320)의 어느 위치에 해당 데이터가 위치하는지를 알아보는 과정에 해당한다.
예를 들어, 컨텐츠 파일에 포함되는 메타 데이터는 그 파일의 앞이나 뒤에 위치할 수 있고, 실제 오디오 및 비디오 트랙의 샘플이 저장되는 위치도 항상 일정한 것은 아니다. 따라서 본 발명의 실시 예에서는 HTTP 프로토콜을 확장하여 컨텐츠 파일의 포맷 정보를 미리 획득한 후 메타 데이터를 먼저 다운로드함으로써 그 메타 데이터를 근거로 하여 필요한 데이터를 실시간으로 다운로드하여 호환성있는 프로그레시브 다운로드가 가능토록 한다.
한편, 일반적으로 mpeg4를 구성하는 박스 헤더 정보는 수십byte 이내에 들어있는데, 본 발명의 실시 예에서는 단말기(300)가 박스 헤더 정보를 얻기 위해 10byte씩 원격 컨텐츠 파일의 데이터를 요구하는 경우를 예로 들어 설명한다. 이를 위해 단말기(300)는 레인지(Range)를 0 - 10.000로 정하여 원격 컨텐츠 파일의 데이터 요청을 서버(320)로 전송하게 된다. 이에 대응하여 단말기(300)는 서버(320)로부터 410단계에서 응답신호인 200 OK 신호에 이어 10byte의 원격 컨텐츠 파일의 일부를 전송받기 시작한다. 10byte의 컨텐츠 파일을 다 받은 후 단말기(300)는 수신한 일부 파일에 들어있는 헤더 정보를 분석한다. 이 헤더 정보는 박스에 대한 크기 정보를 포함하고 있으므로, 단말기(300)는 헤더 정보 분석을 통해 파일타입을 나타내는 박스에 대한 크기를 인식할 수 있게 된다.
이와 같이 단말기(300)가 10byte의 크기만큼의 데이터를 서버(320)에서 읽어와서 분석을 수행하는데, 그 분석 결과를 통해 박스명과 박스크기를 알 수 있게 된다. 예를 들어, 분석 결과 박스명이 'ftyp'박스일 경우에는 단말기(300)는 'ftyp'박스는 파일타입을 나타내는 박스이므로 메타 데이터가 들어있는 'moov'박스를 찾기 위해 파일포인터를 계산한다. 단말기(300)는 분석 결과를 통해 파일타입을 나타내는 'ftyp'박스의 크기 정보를 알 수 있기 때문에 그 'ftyp' 박스의 다음으로 위치하는 박스에 대한 파일포인터를 계산할 수 있게 된다.
만일 'ftyp'박스에 대한 헤더정보를 분석한 결과 'ftyp'박스가 0~2000 오프셋까지임을 파악한 경우 단말기(300)는 415단계로 진행하여 'ftyp'박스 다음에 오는 박스에 대한 헤더정보를 얻기 위해 레인지(Range)를 2000.000 - 2000.0010으로 지정하여 10byte만큼의 컨텐츠 파일의 일부를 요청한다. 이에 대응하여 420단계에서 서버(320)로부터 응답신호인 200 OK를 수신하고 난 후 컨텐츠 파일의 일부인 10byte만큼의 데이터를 전송받게 된다.
이를 통해 단말기(300)는 오프셋 3000까지 해당하는 박스에는 메타 데이터가 없음을 인지하게 되면 다시 425 내지 430단계를 거쳐 다음 10byte만큼의 데이터를 읽어온 후 서버(320)로부터 응답신호에 이어 수신한 데이터 즉, 헤더정보를 분석하여 다음 파일포인터를 계산하여 그 파일포인터에 해당하는 위치에 메타 데이터가 들어있는지의 여부를 확인한다. 이와 같이 단말기(300)는 원격 컨텐츠 파일에서 메타 데이터의 위치를 찾기 위해 컨텐츠 파일의 일부를 프로빙(probing)하는 과정을 반복적으로 수행하는 것이다.
한편, 430단계에서 10byte의 데이터 즉, 헤더정보를 확인한 결과 박스명이 'mooov'박스일 경우 메타 데이터가 들어있는 박스라고 인지하여 단말기(300)는 435단계로 진행하여 메타 데이터를 얻기 위한 요청 즉, GET 패킷을 서버(320)로 전송한다. 그리고나서 단말기(300)는 440단계에서 서버(320)로부터 응답신호를 수신하면서 메타 데이터를 획득하게 된다. 이때, 단말기(300)는 이미 헤더정보를 분석하였기 때문에 박스명 뿐만 아니라 박스크기로 알고 있으므로 얼마만큼의 컨텐츠 파일을 읽어와야 메타 데이터를 획득할 수 있는지를 알 수 있게 된다. 따라서, 원격 컨텐츠 파일로부터 읽어올 만큼의 레인지를 지정한 GET 패킷을 서버(320)에 전송함으로써 메타 데이터를 획득하는 것이다. 이와 같이 단말기(300)는 소정 바이트씩 원격 컨텐츠 파일의 일부인 데이터를 가져와서 그 데이터를 분석한 후 메타 데이터를 찾을 때까지 파일포인터를 계산하고, 메타 데이터의 위치를 찾으면 계산된 파일포인터에 있는 메타 데이터를 획득하는 과정(Getting Meta Data)을 수행하는 것이다. 그리고나서 단말기(300)에서는 메타 데이터를 파싱하는 과정(Meta Data Parsing)을 수행한 후 데이터베이스(DB) 즉, 로컬 메모리(340)를 업데이트할 수 있게 된다. 이와 같이 메타 데이터를 획득하여 파싱하게 되면, 단말기(300)는 서버(320)에 컨텐츠 파일을 구성하는 비디오 샘플과 오디오 샘플이 어느 위치 즉, 어느 오프셋에 있는지를 알 수 있게 된다.
전술한 바와 같은 과정을 소프트웨어 알고리즘으로 구현하면 하기 표 1에 도시된 바와 같이 표현할 수 있다.
Figure 112005067131074-PAT00001
전술한 바와 같이 본 발명의 실시 예에 따라 프로빙하는 과정은 단말기(300)가 짧은 레인지의 GET 패킷을 반복적으로 보내고 서버(320)의 컨텐츠 파일에 대한 정보 예컨대, 박스(box)명, 크기 정보 등을 읽음으로써 메타 데이터의 위치까지 파일포인터를 찾아갈 수 있도록 하는 과정을 말한다. 만일 서버(320)가 HTTP를 확장하여 해당 파일포인터정보 즉, 어느 위치에 어느 데이터가 위치하는지에 대한 정보를 미리 제공할 수 있다면 전술한 바와 같은 프로빙하는 과정이 생략될 수 있음은 물론이다. 이때, 서버(320)는 응답신호인 200 OK 신호의 헤더 등을 이용하여 파일포인터정보를 제공할 수 있다. 이와 같이 메타 데이터에 대한 파일포인터를 획득하면 어느 오프셋에 메타 데이터가 위치하는지를 알 수 있으므로, 단말기(300)는 획득한 파일포인터와 오프셋값을 이용하여 메타 데이터 다운로드와 로컬 메모리 저장을 시작한다.
이와 같이 메타 데이터를 획득하면, 단말기(300)는 메타 데이터를 이용해 해당 컨텐츠 파일에 적합한 프로그레시브 다운로드 환경을 설정할 수 있게 된다. 구체적으로 메타 데이터를 해석하여 비디오 및 오디오 샘플 간의 인터리빙의 정도, 각 비디오 및 오디오에 대한 프레임의 크기와 오프셋, 각 샘플 재생에 요구되는 전송률 등의 정보를 설정하여, 버퍼링제어 변수를 초기화하고 레인지헤드(Range head)의 범위, TCP 연결의 개수, 전송률 등 호환성있는 프로그레시브 다운로드 환경의 최적화를 위한 환경변수를 설정한다. 본 발명에서 사용되는 TCP 연결의 개수는 미디어 종류(오디오 및 비디오)만큼의 개수를 가질 수 있다.
이러한 호환성있는 프로그레시브 다운로드 준비 설정 단계를 보다 구체적으로 설명하면 다음과 같다.
단말기(300)는 메타 데이터를 이용하여 각 샘플의 위치 및 지속(duration) 정보를 계산할 수 있다. 오디오 비디오 샘플은 한 개의 'mdat' 박스 내에 인터리빙되어 저장된 경우도 있고, 여러 개의 'mdat' 박스에 각각 분리 저장되어 인터리빙되지 않은 경우도 있다. 만일 오디오와 비디오 샘플이 1초의 시간간격 이하로 인터리빙되어 있다면, 컨텐츠 파일의 처음부터 다운로드하는 통상의 다운로드 방식으로도 프로그레시브 다운로드가 가능하므로 이 경우에는 본 발명을 적용하지 않아도 된다. 그러나 인터리빙 간격이 한 개의 'mdat' 박스 내에 1초 이상의 시간 간격으로 위치하거나 복수 개의 'mat' 박스가 존재하여 인터리빙 간격이 전체 재생시간과 동일할 경우에는 A/V 버퍼(350)의 동기화가 실패하여 재생이 연속적으로 이루어지지 않는다. 이에 따라 본 발명에서 제시하는 버퍼링 제어는 각 샘플이 출력되는 표시부 및 스피커에 버퍼링 임계값(threshold) 즉, 오디오 샘플의 임계값인 x와 비디오 샘플의 임계값인 y를 바운드로 설정한다. 임계값은 오디오 샘플과 비디오 샘플 간 버퍼링을 순차적으로 전환할 시점을 제시하는 것으로, 각 샘플의 임계값인 x, y의 기본값은 미디어 플레이어의 초기 버퍼링의 절반값으로 설정될 수 있다.
전술한 바와 같은 과정을 소프트웨어 알고리즘으로 구현하면 하기 표 2에 도시된 바와 같이 표현할 수 있다.
Figure 112005067131074-PAT00002
이하, 본 발명의 실시 예에 따라 컨텐츠 파일을 다운로드 및 재생하는 단계를 도 5를 참조하여 설명하기로 한다. 도 5는 본 발명의 실시 예에 따라 랜덤 레인지 억세스를 통한 다운로드 및 재생 과정을 설명하기 위한 도면이다.
먼저, 도 5를 설명하기에 앞서 단말기(300)는 프로빙 과정을 통해 획득한 메타 데이터를 근거로 어느 위치의 어느 샘플을 가져올 것인지를 결정한다. 그러면 단말기(300)는 서버(320)로부터 오디오 샘플 또는 비디오 샘플을 가져오는 버퍼링을 수행하여 로컬 메모리(340)에 다운로드하면서 A/V 버퍼(350)를 채운 후 재생을 시도한다. 본 발명에서 제시하는 컨텐츠 파일 다운로드를 위한 랜덤 레인지 억세스 및 실시간 버퍼링 제어 방식은 다운로드와 재생을 동시에 수행할 때마다 A/V 버퍼(350)에서 오디오 샘플 또는 비디오 샘플을 선택적으로 채우는 버퍼링을 동기화할 수 있도록 서버(320)에 랜덤 접근 및 버퍼링 제어를 반복함으로써 다운로드 중에도 끊김없는 연속 재생을 보장한다.
끊김없는 연속 재생을 위해 A/V 버퍼(350)에서 미디어 플레이어(360)으로 출력되어 소모되는 데이터만큼 단말기(300)는 서버(320)로부터 해당 데이터를 수신하게 되는데, 도 5에서는 컨텐츠 파일에 대해 랜덤 레인지 억세스 방식을 통해 오디오와 비디오 샘플이 번갈아가면서 반복적으로 수신되는 경우를 도시하고 있다.
먼저 단말기(300)는 재생을 시작하기 전 초기 A/V 버퍼(350)를 어느 정도 채워야하는데, 이를 위해 초기 버퍼링을 수행한다. 여기서, 단말기(300)는 메타 데이터를 근거로 서버(320)의 어느 오프셋에서 얼마만큼의 오디오 샘플 또는 비디오 샘플을 가져와야할지를 이미 알고 있기 때문에 서버(320)로부터 오디오 샘플 또는 비디오 샘플을 조금씩 가져오면서 재생하는 것이 가능하다. 이에 따라 단말기(300)는 초기 버퍼링 후 A/V버퍼(350)에 오디오 샘플이 채워지는 동작을 나타내는 오디오버퍼링의 버퍼링량이 임계값 x이하로 떨어지면 오디오 샘플들의 위치를 레인지(Randge)에 설정하여 GET 패킷에 실어 서버(320)로 보낸다. 이에 따라 단말기(300)는 설정된 레인지만큼의 오디오 샘플을 수신할 수 있게 된다. 이러한 오디오버퍼링은 비디오버퍼링의 버퍼링량이 임계값y이하로 떨어질때까지 계속적으로 이루어지다가 비디오버퍼링의 버퍼링량이 임계값y이하로 떨어지면 오디오버퍼링은 중단되고 비디오버퍼링으로 전환되어 비디오 샘플을 채우는 동작을 나타내는 비디오버퍼링이 시작되게 된다.
도 5를 참조하여 A/V 샘플 획득 및 재생 과정을 설명하면, 초기 버퍼링한 후 A/V 버퍼(350)에 채워진 오디오 샘플 및 비디오 샘플을 미디어 플레이어(360)의 표시부 및 스피커로 각각 출력하게 되면 그만큼의 오디오 샘플 및 비디오 샘플이 소모되게 된다. 이에 따라 단말기(300)는 재생 가능한 비디오 샘플이 임계치 이하로 남게 되면 A/V 버퍼(350)에 채워넣어야 함을 인지하여 500단계에서 서버(320)로부터 가져올 비디오 샘플들의 위치를 레인지에 설정하여 A/V 버퍼(350)를 채울 비디오 샘플을 요청한다. 이에 대해 서버(320)로부터 505단계에서 응답신호인 200 OK를 수신하면서 이어 그 요청에 대응하는 비디오 샘플을 다운로드받는다. 그리고나서 단말기(300)는 다운로드한 비디오 샘플을 일단 로컬 메모리에 라이트한 후 파싱하여 A/V 버퍼(350)로 보내고 미디오 플레이어(360)을 통해 출력함으로써 끊김없는 재생을 수행한다. 이때, 비디오 샘플을 출력하다가 재생 가능한 오디오 샘플도 임계치 이하가 되면 단말기(300)는 515단계에서 일정 레인지를 가지는 오디오 샘플을 요청하고 이에 대해 서버(320)로부터 응답 신호가 수신되면 그 응답 신호에 이어 해당 오디오 샘플을 다운로드받게 된다.
이와 같이 비디오 샘플 및 오디오 샘플을 다운로드받는 과정은 다운로드와 재생이 완료될 때까지 520단계 내지 535단계에서와 같이 반복적으로 수행되며, 비디오버퍼링과 오디오버퍼링 간의 전환 시마다 1회의 GET 패킷이 서버(320)로 전달되게 된다. 그리고 단말기(300)는 그 다운로드와 재생을 완료하게 되면 540단계에서와 같이 서버(320)와의 TCP 연결을 해제하게 된다.
전술한 바와 같은 과정을 소프트웨어 알고리즘으로 구현하면 하기 표 3에 도시된 바와 같이 표현할 수 있다.
Figure 112005067131074-PAT00003
이하, 본 발명의 실시 예에 따라 호환성있는 프로그레시브 다운로드를 수행하는 단말기에서의 제어 과정을 도 6을 참조하여 설명한다.
도 6을 참조하면, 우선 단말기(300)는 700단계에서 네트워크(310)를 통해 서버(320)와 TCP 연결(connect)을 수행한다. 그리고나서 단말기(300)는 705단계에서 컨텐츠 파일의 포맷 정보를 얻기 위해 메타 데이터를 탐색한다. 이에 따라 단말기(300)는 컨텐츠 파일의 각 박스에 대한 헤더정보를 얻기 위해 소정 레인지의 GET 패킷을 서버(320)로 반복적으로 보낸다. 그리고나서 단말기(300)는 이에 대응하여 수신되는 데이터 즉, 헤더정보를 분석하여 현재의 박스명과 박스 크기 정보를 획득한다. 만일 현재의 박스명을 분석한 결과 메타 데이터가 들어있는 박스가 아닐 경우에는 다음 박스에 해당하는 위치를 가리키도록 파일포인터를 계산한다. 그러면 단말기(300)는 파일포인터가 가르키는 위치에서부터 소정 레인지의 데이터를 다시 읽어옴으로써 메타 데이터가 들어있는 박스인지의 여부를 분석하게 된다. 이와 같이 각 박스가 시작하는 위치에서부터 수십바이트씩의 데이터를 읽어옴으로써 단말기(300)는 메타 데이터의 위치를 알아낼 수 있게 되고, 메타 데이터도 가져올 수 있게 된다. 만일 이와 다르게 서버(320)가 응답신호의 헤더 등을 이용하여 미리 컨텐츠 파일의 포맷 정보를 제공할 경우에는 상기한 바와 같은 메타 데이터를 탐색하는 과정을 거치지 않아도 된다.
다시 말하면, 본 발명이 적용되는 단말기(300)는 메타 데이터를 프로빙하는 과정을 통해 컨텐츠 파일의 포맷 정보를 얻을 수도 있고, 서버(320)로부터 직접 메타 데이터를 제공받아 컨텐츠 파일의 포맷 정보를 얻을 수도 있다. 이러한 과정을 거쳐 단말기(300)는 710단계에서 메타 데이터 획득이 이루어졌는지를 판단하여 메타 데이터를 획득한 경우 715단계로 진행하여 획득한 메타 데이터를 이용하여 컨텐츠 파일의 포맷 정보를 알아내어 미디어 각각의 위치를 파악한다. 본 발명의 실시 예에서는 미디어는 오디오 샘플 또는 비디오 샘플을 의미한다. 그리고나서 단말기(300)는 720단계로 진행하여 서버(320)로부터 해당 위치의 미디어 즉, 오디오 및/또는 비디오 샘플을 다운로드하여 라이팅(writing) 및 재생을 수행한다. 이때, 오디오 샘플과 비디오 샘플을 다운로드하는 과정은 서로 번갈아가면서 수행된다.
한편, 다운로드 과정을 통해서는 각 미디어가(오디오 샘플 또는 비디오 샘플)이 A/V 버퍼(350)에 채워짐과 동시에 그 A/V 버퍼(350)에 있는 각 샘플들이 미디어 플레이어(360)를 통해 출력되어 소모되게 된다. 이에 따라 단말기(300)는 725단계에서 A/V 버퍼(350)에 재생 가능한 각 샘플이 임계치 이하가 되는지를 판단한다. 즉, 단말기(300)는 재생 도중에 각 미디어에 대한 데이터버퍼링량이 임계값 이하로 떨어지는지의 여부를 판단한다. 이때, 본 발명의 실시 예에 따라 재생이 수행되어 오디오 샘플 및 비디오 샘플 둘다 소모되더라도 오디오 샘플 또는 비디오 샘플 중 어느 하나만 다운로드하는 상태이므로, 재생만이 수행되어 소모되는 샘플이 임계치 이하가 될 것이다. 여기서, 임계치는 오디오 샘플 및 비디오 샘플마다 각각 다르게 설정됨은 물론이다.
만일 단말기(300)는 725단계에서 임계치 이하가 되는 샘플이 있지 않는 한 715단계로 되돌아가 다운로드받을 미디어의 위치를 파악하여 계속해서 다운로드받는 과정을 수행한다. 이와 다르게 725단계에서 임계치 이하가 되는 샘플이 있는 경우 단말기(300)는 730단계로 진행하여 임계치 이하가 되는 미디어로 전환한다. 예를 들어, 오디오 샘플을 다운로드받는 오디오버퍼링을 수행하다가 A/V 버퍼(350)에 남아있는 비디오 샘플이 즉, 버퍼링량이 비디오 샘플의 임계값인 y이하로 떨어질 경우 단말기(300)는 비디오 샘플을 다운로드받는 비디오버퍼링으로 전환하게 되는 것이다. 이와 반대로 오디오 샘플에 대한 버퍼링량이 오디오 샘플의 임계값인 x이하로 떨어질 경우 단말기(300)는 비디오 샘플의 버퍼링을 중단하고 임계치 이하가 된 오디오 샘플을 버퍼링한다. 이에 따라 735단계에서 서버(320)와의 TCP 연결이 해제되지 않는 한 오디오버퍼링 또는 비디오버퍼링을 반복적으로 랜덤하게 수행한다. 이와 같이 단말기(300)는 재생 도중에 각 미디어에 대한 데이터 버퍼링량이 임계값 이하로 떨어질 때마다 서버(320)로부터 다운로드하던 미디어에 대한 버퍼링을 중단하는 대신 임계값 이하가 된 미디어를 버퍼링한다.
그러면 전술한 오디오버퍼링 및 비디오버퍼링을 위한 버퍼링 제어 과정을 보다 상세히 설명하기 위해 도 7을 참조한다. 도 7은 본 발명의 실시 예에 따라 버퍼링 제어 과정을 설명하기 위한 예시도이다.
도 7에서는 오디오 10k byte/s 및 비디오 20k byte/s를 포함하는 총 30k bytes/s의 3M byte 파일(메타 데이터 제외)을 30k bytes/s로 다운로드한다고 가정한다. 먼저 단말기(300)는 초기에 A/V 버퍼(350)에 어느 정도 각 샘플이 채워졌을 경우에 재생을 시작하는데, 이를 위해 단말기(300)는 초기버퍼링값으로 6초간 버퍼링을 수행한다. 이러한 버퍼링 수행을 통해 단말기(300)는 초기에 오디오 60bytes와 비디오 120k bytes가 될 때까지 버퍼링하게 된다.
도 7에 도시된 바와 같이 단말기(300)는 서버(320)로부터 오디오 샘플을 가져오는 오디오버퍼링을 먼저 시작하고, 일정 시간이 지난 후부터 즉, 60k bytes만큼의 오디오 샘플이 A/V 버퍼(350)에 채워진 후부터 비디오 샘플을 가져오는 비디오버퍼링을 시작한다. 그 일정 시간은 도 7에서는 2초에 해당한다. 비디오버퍼링을 시작하여 120k bytes만큼의 비디오 샘플이 A/V 버퍼(3500에 채워질 경우 재생 가능한 만큼의 각 샘플들이 채워진 상태이므로 단말기(300)는 초기 버퍼링이 완료되었다고 인지한다. 즉, 비디오버퍼링을 수행하여 4초만에 버퍼링을 완료하게 되면 초기 버퍼링이 완료되어 6초 시점에 재생이 시작될 수 있게 된다.
이에 따라 단말기(300)는 6초 시점에 재생을 시작하면서 오디오버퍼링을 먼저 수행한다. 이때, 재생 중 오디오 샘플은 30k byte/s로 수신하나 미디어 플레이어(360)에 의해 10k byte/s로 소비되므로 결과적으로 20k byte/s씩 증가하게 되고, 이에 반해 오디오버퍼링이 수행되는 동안에는 비디오 샘플을 가져올 수 없으므로 미디어 플레이어(360)에 의해 20k byte/s씩 소모되게 된다. 이와 같이 A/V 버퍼(350)에 채워진 비디오 샘플이 소모되면서 남아있는 비디오 샘플이 비디오 샘플의 임계값인 y이하에 이르게 되는 시점에는 오디오버퍼링이 중단되고 대신 비디오버퍼링이 수행되어 비디오 샘플이 10k byte/s씩 증가하게 된다. 도 7에서는 남아있는 비디오 샘플이 비디오 샘플의 임계값인 y이하에 이르게 되는 시점이 9초임을 알 수 있다.
마찬가지로 A/V 버퍼(350)에 남아있는 즉, 재생 가능한 오디오 샘플이 오디오 샘플의 임계값인 x이하에 이르게 되면 예컨대, 도 7에서는 18초 지점에서 단말기(300)는 비디오 샘플을 수신하는 비디오버퍼링을 중단하고 오디오 샘플을 수신하는 오디오버퍼링으로 전환하여 다운로드가 완료될 때까지 상기한 과정을 반복적으로 수행하게 된다.
전술한 바와 같이 본 발명에 따른 호환성있는 프로그레시브 다운로드를 수행함에 있어 단말기 내의 HTTP 클라이언트 또는 서버의 프로토콜을 일정수준 확장하여 컨텐츠 파일의 포맷 정보를 미리 획득함으로써 단말기에서는 다운로드받을 컨텐츠 파일을 파악하여 재생 중에도 끊김없이 필요한 데이터를 얻을 수 있다. 또한 미리 획득한 컨텐츠 파일의 포맷 정보를 근거로 인터리빙 정보를 결정할 수 있어 랜덤 레인지 접근 방식을 적용할 수 있어, 실시간으로 버퍼링을 제어하는 것이 가능하다.
상기한 바와 같이 본 발명은 3GPP의 프로그레시브 다운로드 방식을 3GPP가 정의하는 포맷 이외에 다른 모든 mpeg4 컨텐츠에 대해서도 적용가능할 뿐만 아니라, 서버에서 별도의 컨텐츠 포맷을 수정하지 않고도 단말기에서의 수정만으로도 기술적용이 가능한 이점이 있다. 따라서 본 발명은 3GPP의 프로그레시브 다운로드 방식의 호환성 제공 분야에 표준이 될 수 있으며, 최근 3G망 내에서만 규정된 프로그레시브 다운로드 방식이 향후 유무선망 통합, 오픈(open) 아키텍쳐를 표방하는 4G를 향해 진화함에 따라 기존 컨텐츠와 양립할 수 있는 새로운 기술적 대안으로 제시될 수 있다.

Claims (19)

  1. 호환성있는(compatible) 프로그레시브 다운로드 방법에 있어서,
    단말기가 서버로부터 컨텐츠 파일에 대한 포맷정보를 획득하는 과정과,
    상기 획득한 포맷정보를 이용하여 상기 서버로부터 상기 컨텐츠 파일의 각 미디어를 다운로드하여 소정 버퍼를 채우는 초기 버퍼링을 수행하는 과정과,
    상기 초기 버퍼링이 완료되면 상기 소정 버퍼에 채워진 각 미디어를 출력하여 재생을 시작하는 과정과,
    상기 재생 도중에 각 미디어에 대한 버퍼링량이 임계값 이하가 될 때마다 상기 서버로부터 다운로드하던 미디어에 대한 버퍼링을 중단하고 상기 임계치 이하가 된 미디어를 버퍼링하는 과정을 포함함을 특징으로 하는 방법.
  2. 제 1항에 있어서, 상기 컨텐츠 파일에 대한 포맷 정보는
    상기 서버로부터 응답 신호를 통해 미리 제공받은 것임을 특징으로 하는 방법.
  3. 제 1항에 있어서, 상기 컨텐츠 파일에 대한 포맷 정보를 획득하는 과정은,
    상기 단말기가 상기 서버로부터 상기 컨텐츠 파일의 일정 레인지(Range)만큼 의 데이터를 수신하여 수신된 데이터를 분석한 결과를 바탕으로 상기 컨텐츠 파일의 포맷 정보를 나타내는 메타 데이터가 있는지의 여부를 파악하는 과정과,
    상기 파악한 결과 메타 데이터가 있는 경우 상기 서버로부터 해당 위치의 메타 데이터를 획득하는 과정임을 특징으로 하는 방법.
  4. 제 3항에 있어서, 상기 메타 데이터가 없는 경우 상기 단말기가 상기 서버로부터 다음 일정 레인지(Range)만큼의 데이터를 수신하여 수신된 데이터에 상기 컨텐츠 파일의 포맷 정보를 나타내는 메타 데이터가 있는지의 여부를 파악하는 과정을 반복적으로 수행하는 과정을 더 포함함을 특징으로 하는 방법.
  5. 제 3항에 있어서, 상기 메타 데이터가 있는지의 여부를 파악하는 과정은,
    상기 단말기가 일정 레인지를 지정한 GET 패킷을 상기 서버로 전송하여 상기 컨텐츠 파일의 일부를 요청하는 과정과,
    상기 요청에 대응하여 상기 서버로부터 수신되는 데이터를 분석하여 분석 결과를 바탕으로 박스명과 박스 크기를 파악하는 과정과,
    상기 파악된 결과를 근거로 상기 메타 데이터가 있는지의 여부를 판단하는 과정임을 특징으로 하는 방법.
  6. 제 1항에 있어서,
    상기 획득한 포맷정보를 이용하여 상기 컨텐츠 파일의 오디오 샘플 및 비디오 샘플에 대한 프로그레시브 다운로드 환경을 설정하는 과정과,
    상기 설정된 다운로드 환경 하에 각 샘플의 위치 및 지속(duration) 정보를 파악하는 과정과,
    상기 파악된 위치에 해당하는 각 미디어를 다운로드하여 소정 메모리에 라이팅하는 과정을 더 포함함을 특징으로 하는 방법.
  7. 제 6항에 있어서, 상기 프로그레시브 다운로드 환경 설정은
    상기 획득한 포맷 정보를 이용하여 각 미디어 간 인터리빙의 정도, 각 박스의 크기와 오프셋, 재생 시 요구되는 전송률 중 적어도 하는 이상을 설정함으로써 이루어짐을 특징으로 하는 방법.
  8. 제 1항에 있어서, 상기 초기 버퍼링 완료는
    상기 소정 버퍼에 미리 각각 정해진 크기만큼의 각 미디어가 채워질 때까지 상기 각 미디어를 상기 서버로부터 다운로드함으로써 이루어지는 것임을 특징으로 하는 방법.
  9. 제 1항에 있어서, 상기 각 미디어는
    오디오 샘플 및 비디오 샘플임을 특징으로 하는 방법.
  10. 제 9항에 있어서,
    상기 초기 버퍼링 후, 오디오 샘플을 수신하는 오디오버퍼링을 먼저 수행하면서 상기 재생에 따른 각 샘플을 출력하는 과정과,
    상기 비디오 샘플의 버퍼링량이 임계값 이하로 떨어질 때 상기 오디오버퍼링을 중단하고 상기 비디오 샘플을 수신하는 비디오버퍼링을 수행하는 과정과,
    상기 재생이 완료될 때까지 각 샘플에 대한 임계값 이하가 되는 샘플이 발생할 때마다 상기 임계값 이하가 된 샘플을 버퍼링하는 과정을 더 포함함을 특징으로 하는 방법.
  11. 호환성있는(compatible) 프로그레시브 다운로드를 수행하는 시스템은,
    컨텐츠 파일에 대한 포맷정보를 바탕으로 상기 컨텐츠 파일의 각 미디어를 다운로드하여 소정 버퍼를 채우는 초기 버퍼링을 수행하며, 상기 초기 버퍼링이 완료되면 상기 각 미디어를 출력하여 재생하고, 상기 재생 도중에 각 미디어에 대한 버퍼링량이 임계값 이하로 될 때마다 다운로드하던 미디어에 대한 버퍼링을 중단하 고 상기 임계치 이하가 된 미디어를 버퍼링하는 단말기와,
    초기 버퍼링 시 상기 단말기에 의해 지정된 레인지만큼의 각 미디어를 제공하고, 상기 임계값 이하로 떨어지는 미디어에 대한 요청이 수신되면 현재 전송중이던 미디어 대신 상기 요청에 대응하는 위치 및 크기를 가지는 미디어를 상기 단말기로 전송하는 서버를 포함함을 특징으로 하는 시스템.
  12. 제 11항에 있어서, 상기 컨텐츠 파일에 대한 포맷 정보는
    상기 서버로부터 응답 신호를 통해 미리 제공받은 것임을 특징으로 하는 시스템.
  13. 제 10항에 있어서, 상기 단말기는,
    상기 서버로부터 상기 컨텐츠 파일의 일정 레인지(Range)만큼의 데이터를 수신하여 수신된 데이터에 상기 컨텐츠 파일의 포맷 정보를 나타내는 메타 데이터가 있는지의 여부를 파악하고, 상기 파악한 결과 메타 데이터가 있는 경우 상기 서버로부터 해당 위치의 메타 데이터를 획득함을 특징으로 하는 시스템.
  14. 제 13항에 있어서, 상기 단말기는
    상기 메타 데이터가 없는 경우 상기 서버로부터 다음 일정 레인지(Range)만큼의 데이터를 수신하여 수신된 데이터에 상기 컨텐츠 파일의 포맷 정보를 나타내는 메타 데이터가 있는지의 여부를 파악하는 과정을 반복적으로 수행함을 특징으로 하는 시스템.
  15. 제 14항에 있어서, 상기 단말기는
    상기 서버로부터 수십byte씩 데이터를 수신하고, 수신된 데이터를 분석하여 박스명과 박스 크기를 파악하고, 파악된 박스명을 근거로 메타 데이터를 찾는 것을 특징으로 하는 시스템.
  16. 제 14항에 있어서, 상기 단말기는
    상기 서버로부터 소정 byte의 데이터를 수신하면 수신된 데이터를 분석하여 박스명과 박스 크기를 파악하고, 파악한 결과 메타 데이터가 없는 박스일 경우 다음 박스를 가리키는 파일포인터를 계산한 후 계산된 파일포인터에 해당하는 위치로부터 소정 byte의 데이터를 수신하여 상기 메타 데이터를 찾는 과정을 반복적으로 수행함을 특징으로 하는 시스템.
  17. 제 11항에 있어서, 상기 각 미디어는
    오디오 샘플 및 비디오 샘플인 것을 특징으로 하는 시스템.
  18. 제 17항에 있어서, 상기 단말기는
    상기 소정 버퍼에 미리 각각 정해진 크기만큼의 오디오 및 비디오 샘플이 채워질 때 상기 초기 버퍼링이 완료되었다고 인지함을 특징으로 하는 시스템.
  19. 제 17항에 있어서, 상기 단말기는
    상기 각 샘플에 대한 임계값 이하인 샘플이 발생할 때마다 그 임계치 이하가 된 샘플을 요청하기 위해 상기 획득한 포맷 정보를 근거로 레인지를 지정하여 GET 패킷을 상기 서버로 전송함을 특징으로 하는 시스템.
KR1020050111670A 2005-11-22 2005-11-22 호환성있는(compatible) 프로그레시브 다운로드방법 및 그 시스템 KR100724899B1 (ko)

Priority Applications (5)

Application Number Priority Date Filing Date Title
KR1020050111670A KR100724899B1 (ko) 2005-11-22 2005-11-22 호환성있는(compatible) 프로그레시브 다운로드방법 및 그 시스템
CNB200610149304XA CN100527674C (zh) 2005-11-22 2006-11-21 兼容渐进下载方法和系统
EP06124568A EP1788787B1 (en) 2005-11-22 2006-11-22 Compatible progressive download method and system
DE602006001719T DE602006001719D1 (de) 2005-11-22 2006-11-22 Kompatibles progressives Download-Verfahren und -System
US11/603,624 US7734806B2 (en) 2005-11-22 2006-11-22 Compatible progressive download method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020050111670A KR100724899B1 (ko) 2005-11-22 2005-11-22 호환성있는(compatible) 프로그레시브 다운로드방법 및 그 시스템

Publications (2)

Publication Number Publication Date
KR20070053884A true KR20070053884A (ko) 2007-05-28
KR100724899B1 KR100724899B1 (ko) 2007-06-04

Family

ID=37876862

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050111670A KR100724899B1 (ko) 2005-11-22 2005-11-22 호환성있는(compatible) 프로그레시브 다운로드방법 및 그 시스템

Country Status (5)

Country Link
US (1) US7734806B2 (ko)
EP (1) EP1788787B1 (ko)
KR (1) KR100724899B1 (ko)
CN (1) CN100527674C (ko)
DE (1) DE602006001719D1 (ko)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011129842A1 (en) * 2010-04-15 2011-10-20 Opanga Networks, Inc. System and method for progressive download using surplus network capacity
KR20120021456A (ko) * 2010-08-02 2012-03-09 에스케이텔레콤 주식회사 주문형 비디오 서비스 제공 시스템 및 그 동작 방법
US8463933B2 (en) 2009-08-19 2013-06-11 Opanga Networks, Inc. Systems and methods for optimizing media content delivery based on user equipment determined resource metrics
US8495196B2 (en) 2010-03-22 2013-07-23 Opanga Networks, Inc. Systems and methods for aligning media content delivery sessions with historical network usage
US8583820B2 (en) 2005-04-07 2013-11-12 Opanga Networks, Inc. System and method for congestion detection in an adaptive file delivery system
US8589508B2 (en) 2005-04-07 2013-11-19 Opanga Networks, Inc. System and method for flow control in an adaptive file delivery system
US8719399B2 (en) 2005-04-07 2014-05-06 Opanga Networks, Inc. Adaptive file delivery with link profiling system and method
US8886790B2 (en) 2009-08-19 2014-11-11 Opanga Networks, Inc. Systems and methods for optimizing channel resources by coordinating data transfers based on data type and traffic
US9065595B2 (en) 2005-04-07 2015-06-23 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US9143341B2 (en) 2008-11-07 2015-09-22 Opanga Networks, Inc. Systems and methods for portable data storage devices that automatically initiate data transfers utilizing host devices
US11258531B2 (en) 2005-04-07 2022-02-22 Opanga Networks, Inc. System and method for peak flow detection in a communication network

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4719506B2 (ja) * 2005-05-19 2011-07-06 キヤノン株式会社 端末装置、コンテンツ再生方法、及びコンピュータプログラム
WO2007106844A2 (en) 2006-03-14 2007-09-20 Divx, Inc. Federated digital rights management scheme including trusted systems
CN101636726B (zh) 2007-01-05 2013-10-30 Divx有限责任公司 包含连续播放的视频分配系统
US8171518B2 (en) * 2007-04-20 2012-05-01 At&T Intellectual Property I, Lp System and method for presenting progressively downloaded media programs
US8036598B1 (en) 2007-09-19 2011-10-11 Sprint Communications Company L.P. Peer-to-peer transfer of files with back-office completion
CN101437199B (zh) * 2007-11-15 2011-01-05 中兴通讯股份有限公司 一种支持快速切换场景的移动流媒体终端
US7957691B1 (en) 2007-11-26 2011-06-07 Sprint Communications Company L.P. Distributing content to mobile devices
CN101459726B (zh) * 2007-12-13 2011-05-11 中兴通讯股份有限公司 场景缓存更新方法及支持该方法的移动流媒体终端
US9961374B2 (en) 2008-03-07 2018-05-01 Iii Holdings 1, Llc Pause and replay of media content through bookmarks on a server device
WO2009114111A2 (en) * 2008-03-12 2009-09-17 Packetvideo Corp. System and method for reformatting digital broadcast multimedia for a mobile device
TWI454087B (zh) * 2008-03-31 2014-09-21 Packetvideo Corp 在一網路中管理媒體的方法以及具有用以管理在一網路中的媒體之程式指令的電腦可讀式媒體
WO2009126839A2 (en) 2008-04-09 2009-10-15 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
US8875181B2 (en) 2008-08-05 2014-10-28 At&T Intellectual Property I, L.P. Method and system for presenting media content
EP2321969A4 (en) * 2008-09-09 2012-05-09 Onmobile Global Ltd METHOD AND APPARATUS FOR VIDEO TRANSMISSION
US8996547B2 (en) * 2008-10-31 2015-03-31 Microsoft Technology Licensing, Llc Dynamic fragmentation of digital media
WO2010065107A1 (en) * 2008-12-04 2010-06-10 Packetvideo Corp. System and method for browsing, selecting and/or controlling rendering of media with a mobile device
WO2010093430A1 (en) * 2009-02-11 2010-08-19 Packetvideo Corp. System and method for frame interpolation for a compressed video bitstream
US8793774B1 (en) * 2009-03-31 2014-07-29 Juniper Networks, Inc. Methods and apparatus for accessing a secure network segment
US8176193B2 (en) * 2009-06-17 2012-05-08 Microsoft Corporation Dynamic media asset delivery
US9195775B2 (en) 2009-06-26 2015-11-24 Iii Holdings 2, Llc System and method for managing and/or rendering internet multimedia content in a network
US11647243B2 (en) 2009-06-26 2023-05-09 Seagate Technology Llc System and method for using an application on a mobile device to transfer internet media content
CA2782825C (en) 2009-12-04 2016-04-26 Divx, Llc Elementary bitstream cryptographic material transport systems and methods
CN102088449B (zh) * 2009-12-08 2014-02-26 腾讯科技(深圳)有限公司 网络视频文件的播放方法及装置
US20110183651A1 (en) * 2010-01-28 2011-07-28 Packetvideo Corp. System and method for requesting, retrieving and/or associating contact images on a mobile device
US8914534B2 (en) 2011-01-05 2014-12-16 Sonic Ip, Inc. Systems and methods for adaptive bitrate streaming of media stored in matroska container files using hypertext transfer protocol
WO2012109568A1 (en) 2011-02-11 2012-08-16 Packetvideo Corporation System and method for using an application on a mobile device to transfer internet media content
US8798777B2 (en) 2011-03-08 2014-08-05 Packetvideo Corporation System and method for using a list of audio media to create a list of audiovisual media
US8606954B1 (en) 2011-03-24 2013-12-10 Sprint Communications Company L.P. Progressive download of media content over different wireless access networks
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
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
CN102547435B (zh) * 2011-12-16 2014-06-25 Tcl集团股份有限公司 一种多媒体文件播放处理系统及方法
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9313510B2 (en) 2012-12-31 2016-04-12 Sonic Ip, Inc. Use of objective quality measures of streamed content to reduce streaming bandwidth
EP3243130B1 (en) 2015-01-06 2019-08-14 Sonic IP, Inc. Systems and methods for encoding and sharing content between devices
WO2017084719A1 (en) * 2015-11-20 2017-05-26 Abb Ag Managing communication between gateway and building automation device by installing protocol software in gateway
CN105898386A (zh) * 2015-12-10 2016-08-24 乐视云计算有限公司 网络视频数据获取方法及装置
CN110290396B (zh) * 2019-05-31 2024-04-09 广州市百果园信息技术有限公司 一种视频处理的方法、装置、系统、设备和存储介质
US11582502B2 (en) 2020-07-22 2023-02-14 Yandex Europe Ag Method and system for uploading media objects unto a web platform

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5874997A (en) * 1994-08-29 1999-02-23 Futuretel, Inc. Measuring and regulating synchronization of merged video and audio data
US6370543B2 (en) * 1996-05-24 2002-04-09 Magnifi, Inc. Display of media previews
US5874986A (en) * 1996-06-26 1999-02-23 At&T Corp Method for communicating audiovisual programs over a communications network
US6665751B1 (en) * 1999-04-17 2003-12-16 International Business Machines Corporation Streaming media player varying a play speed from an original to a maximum allowable slowdown proportionally in accordance with a buffer state
US20020116533A1 (en) * 2001-02-20 2002-08-22 Holliman Matthew J. System for providing a multimedia peer-to-peer computing platform
EP1488644B1 (en) 2002-03-27 2007-05-30 British Telecommunications Public Limited Company Data structure for data streaming system
MXPA04012868A (es) * 2002-06-21 2005-04-19 Thomson Licensing Sa Calidad siempre creciente para corriente de video almacenada en un ambiente de interfuncionamiento inalambrico movil.
WO2004077790A1 (en) * 2003-02-26 2004-09-10 Koninklijke Philips Electronics N.V. System for broadcasting multimedia content
US7739715B2 (en) * 2003-06-24 2010-06-15 Microsoft Corporation Variable play speed control for media streams
SE0302778D0 (sv) 2003-10-17 2003-10-17 Ericsson Telefon Ab L M Container format for multimedia presentations
US20050160470A1 (en) * 2003-11-25 2005-07-21 Strauss Daryll J. Real-time playback system for uncompressed high-bandwidth video
JP4561301B2 (ja) * 2004-10-15 2010-10-13 Kddi株式会社 音声の再生及び停止を制御する音声再生装置及びプログラム
JP4661373B2 (ja) * 2004-10-15 2011-03-30 Kddi株式会社 特定メディアデータの破棄を制御する送信装置及び送信プログラム
US8332892B2 (en) * 2005-02-11 2012-12-11 Sony Corporation Method and apparatus for content selection in a home media environment

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719399B2 (en) 2005-04-07 2014-05-06 Opanga Networks, Inc. Adaptive file delivery with link profiling system and method
US8583820B2 (en) 2005-04-07 2013-11-12 Opanga Networks, Inc. System and method for congestion detection in an adaptive file delivery system
US11258531B2 (en) 2005-04-07 2022-02-22 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US10396913B2 (en) 2005-04-07 2019-08-27 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US8812722B2 (en) 2005-04-07 2014-08-19 Opanga Networks, Inc. Adaptive file delivery system and method
US8589585B2 (en) 2005-04-07 2013-11-19 Opanga Networks, Inc. Adaptive file delivery system and method
US8589508B2 (en) 2005-04-07 2013-11-19 Opanga Networks, Inc. System and method for flow control in an adaptive file delivery system
US8832305B2 (en) 2005-04-07 2014-09-09 Opanga Networks, Inc. System and method for delivery of secondary data files
US9065595B2 (en) 2005-04-07 2015-06-23 Opanga Networks, Inc. System and method for peak flow detection in a communication network
US8909807B2 (en) 2005-04-07 2014-12-09 Opanga Networks, Inc. System and method for progressive download using surplus network capacity
US8671203B2 (en) 2005-04-07 2014-03-11 Opanga, Inc. System and method for delivery of data files using service provider networks
US9143341B2 (en) 2008-11-07 2015-09-22 Opanga Networks, Inc. Systems and methods for portable data storage devices that automatically initiate data transfers utilizing host devices
US8886790B2 (en) 2009-08-19 2014-11-11 Opanga Networks, Inc. Systems and methods for optimizing channel resources by coordinating data transfers based on data type and traffic
US8463933B2 (en) 2009-08-19 2013-06-11 Opanga Networks, Inc. Systems and methods for optimizing media content delivery based on user equipment determined resource metrics
US8495196B2 (en) 2010-03-22 2013-07-23 Opanga Networks, Inc. Systems and methods for aligning media content delivery sessions with historical network usage
WO2011129842A1 (en) * 2010-04-15 2011-10-20 Opanga Networks, Inc. System and method for progressive download using surplus network capacity
KR20120021456A (ko) * 2010-08-02 2012-03-09 에스케이텔레콤 주식회사 주문형 비디오 서비스 제공 시스템 및 그 동작 방법

Also Published As

Publication number Publication date
EP1788787A1 (en) 2007-05-23
EP1788787B1 (en) 2008-07-09
CN100527674C (zh) 2009-08-12
DE602006001719D1 (de) 2008-08-21
US7734806B2 (en) 2010-06-08
CN1972193A (zh) 2007-05-30
US20070130210A1 (en) 2007-06-07
KR100724899B1 (ko) 2007-06-04

Similar Documents

Publication Publication Date Title
KR100724899B1 (ko) 호환성있는(compatible) 프로그레시브 다운로드방법 및 그 시스템
AU2004307804B2 (en) Streaming from server to client
KR101868280B1 (ko) 정보 처리 장치, 정보 처리 방법 및 컴퓨터 판독 가능한 기록 매체
KR101702562B1 (ko) 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
JP5781179B2 (ja) サーバにおけるファイル伝送方法及びその装置並びに端末におけるファイル再生方法及びその装置
JP5542913B2 (ja) メディアファイルを生成し処理するための方法および構成
KR101739272B1 (ko) 멀티미디어 스트리밍 시스템에서 컨텐트의 저장 및 재생을 위한 장치 및 방법
CN101060623B (zh) 运动图像再现设备和方法
RU2622621C2 (ru) Система и способ для потоковой передачи воспроизводимого контента
US20030221014A1 (en) Method for guaranteed delivery of multimedia content based on terminal capabilities
TW201123795A (en) System, method and apparatus for dynamic media file streaming
AU2003231401B2 (en) System and method for updating chatting data in an interactive disc player network
JP2010516123A (ja) プログレッシブ再生を含む映像分配システム
KR20110053176A (ko) 변속 재생 서비스 제공 방법 및 장치
TW201409998A (zh) 第二內容串流在第二裝置上描繪時間之控制方法及控制裝置
JP2004215203A (ja) 伝送データ構造及びそれを伝送するための方法並びに装置
JP2005086362A (ja) データ多重化方法、データ送信方法およびデータ受信方法
KR20080062692A (ko) 스트림 녹화 방법, 장치 및 시스템
KR100836880B1 (ko) 멀티미디어 스트리밍 서비스 제공 시스템 및 방법
KR100474742B1 (ko) 동영상 다운로드 서비스 방법
Alnesjö Chunked DASH in JavaScript

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130429

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140429

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150429

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160428

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170427

Year of fee payment: 11

LAPS Lapse due to unpaid annual fee