KR101904053B1 - 단말장치의 멀티미디어 처리장치 및 방법 - Google Patents

단말장치의 멀티미디어 처리장치 및 방법 Download PDF

Info

Publication number
KR101904053B1
KR101904053B1 KR1020120025778A KR20120025778A KR101904053B1 KR 101904053 B1 KR101904053 B1 KR 101904053B1 KR 1020120025778 A KR1020120025778 A KR 1020120025778A KR 20120025778 A KR20120025778 A KR 20120025778A KR 101904053 B1 KR101904053 B1 KR 101904053B1
Authority
KR
South Korea
Prior art keywords
data
unit
backup
bandwidth
multimedia
Prior art date
Application number
KR1020120025778A
Other languages
English (en)
Other versions
KR20130104358A (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 KR1020120025778A priority Critical patent/KR101904053B1/ko
Priority to US13/792,878 priority patent/US10404772B2/en
Priority to EP13158761.0A priority patent/EP2640083B1/en
Priority to PCT/KR2013/002001 priority patent/WO2013137634A1/en
Publication of KR20130104358A publication Critical patent/KR20130104358A/ko
Application granted granted Critical
Publication of KR101904053B1 publication Critical patent/KR101904053B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • 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
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4621Controlling the complexity of the content stream or additional data, e.g. lowering the resolution or bit-rate of the video stream for a mobile client with a small screen
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6373Control signals issued by the client directed to the server or network components for rate control, e.g. request to the server to modify its transmission rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/637Control signals issued by the client directed to the server or network components
    • H04N21/6375Control signals issued by the client directed to the server or network components for requesting retransmission, e.g. of data packets lost or corrupted during transmission from server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6587Control parameters, e.g. trick play commands, viewpoint selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

단말장치의 프로그래시브 다운로드 재생 방법이, 다운로드되는 데이터를 재생하는 과정과, 데이터의 수신율을 측정하는 과정과,측정된 데이터의 수신율이 기준 대역폭보다 낮으면 기준 대역폭보다 낮은 대역폭으로 데이터 전송요청을 하고 다운로드되는 데이터의 구간을 백업 구간으로 등록하는 과정과, 측정된 데이터의 수신율이 상기 기준 대역폭보다 높으면 백업데이터의 재전송을 요청하고 다운로드되는 데이터를 저장하는 과정으로 이루어짐을 특징으로 한다.

Description

단말장치의 멀티미디어 처리장치 및 방법{APPARATUS AND METHOD FOR PROCESSING A MULTIMEDIA DATA IN TERMINAL EQUIPMENT}
본 발명은 단말장치의 멀티미디어 데이터 처리장치 및 방법에 관한 것으로, 특히 멀티미디어 데이터의 프로그래시브 다운로드를 수행하는 장치 및 방법에 관한 것이다.
현재 단말장치는 다양한 멀티미디어 처리 기능을 가지며, 또한 네트워크와 접속하여 다양한 종류의 멀티미디어를 처리할 수 있다. 상기 네트워크를 이용한 멀티미디어 서비스는 VOD(Video on Demand) 서비스와 라이브 스트리밍(live streamging) 서비스 등이 있다. 상기 VOD 서비스는 통신망으로 연결된 단말장치를 사용자가 원하는 프로그램을 원하는 시간에 받아볼 수 있는 영상 서비스를 말한다. 또한 상기 라이브 스트리밍 서비스는 실시간으로 동영상이나 오디오를 재생하는 서비스를 의미한다.
또한 상기와 같은 멀티미디어 서비스는 다양한 전송 방식으로 서비스될 수 있다. 즉, 상기 멀티미디어의 전송 방식은 FTP, HTTP 등의 일반적 파일 전송 프로토콜을 이용하는 파일 공유 서비스의 다운로드(Download) 전송 방식, 사용자의 요청과 동시에 비디오 및 오디오 패킷을 생성하여 전송하는 스트리밍(Streaming) 전송 방식, 비디오 및 오디오의 비트스트림을 저장과 동시에 바로 재생하는 프로그래시브 다운로드(progressive download) 방식 등 크게 3가지 방식이 있다.
일반적으로 멀티미디어 서비스를 제공하는 사업자는 3가지 중 특정 방식을 선택하여 서비스를 제공하고 있으며, 또한 위와 같은 모든 멀티미디어 전송방식을 제공할 수 있다. 이때 상기 프로그래시브 다운로드 재생의 경우, 단말장치는 멀티미디어 데이터를 다운로드하여 저장하면서 동시에 재생한다. 즉, 상기 단말장치는 네트워크(예를들면 인터넷 통신망 등)을 통해 서버에 접속되며, 서버로부터 전송되는 멀티미디어 데이터를 저장 및 재생한다. 이때 상기 네트워크의 통신 품질이 저하되면(즉, 네트워크 혼잡도가 커지면), 서버로부터 다운로드되는 멀티미디어 데이터의 수신시간이 길어지게 되며, 이로인해 프로그래시브 다운로드 재생이 중단되거나 또는 재생할 수 없게 되는 문제점이 있었다.
본 발명은 단말장치에서 프로그래시브 다운로드 재생시 네트워크 상황에 따라 멀티미디어 데이터의 수신율을 가변하여 재생하며, 설정된 데이터의 용량보다 낮게 재생된 구간의 멀티미디어 데이터들은 재요청하여 저장할 수 있는 장치 및 방법을 제안한다.
이를 위하여 본 발명의 실시예에 따른 단말장치는 프로그래시브 다운로드 재생을 수행할 때, 네트워크 상태, 즉, 데이터 수신율을 분석하며, 정상적인 통신 환경이면 수신되는 멀티미디어 데이터를 저장 및 재생하며, 비정상적인 통신환경이면 낮은 등급의 멀티미디어 데이터를 요청하여 재생하며 해당 구간을 백업 구간으로 등록하고, 통신환경이 정상적으로 복원되면 멀티미디어 데이터를 수신 및 재생하는 동시에 백업 구간으로 등록된 멀티미디어 데이터를 재요청하여 저장한다.
본 발명의 실시예에 따른 단말장치의 프로그래시브 다운로드 재생 방법이, 다운로드되는 데이터를 재생하는 과정과, 상기 데이터의 수신율을 측정하는 과정과, 측정된 데이터의 수신율이 기준 대역폭보다 낮으면 기준 대역폭보다 낮은 대역폭으로 데이터 전송요청을 하고, 다운로드되는 데이터의 구간을 백업 구간으로 등록하는 과정과, 상기 측정된 데이터의 수신율이 상기 기준 대역폭보다 높으면 상기 백업데이터의 재전송을 요청하고, 다운로드되는 데이터를 저장하는 과정으로 이루어짐을 특징으로 한다.
또한 본 발명의 실시예에 따른 단말의 프로그래시브 다운로드 재생방법이, 프로그래시브 다운로드 재생의 기준 대역폭을 설정하는 설정과정과, 다운로드되는 데이터를 재생하는 재생과정과, 상기 데이터의 수신율을 측정하는 측정과정과, 상기 데이터 수신율이 상기 기준 대역폭 보다 낮으면 상기 기준 대역폭보다 낮은 대역폭의 데이터 전송을 요청하는 백업 등록과정과, 상기 데이터 수신율이 기준 대역폭보다 높으면 다운로드 데이터를 저장하고, 상기 기준 대역폭의 데이터 및 백업 데이터 전송을 요청하는 백업 저장과정과, 상기 데이터 수신율이 상기 기준 대역폭이면 다운로로드된 데이터를 저장하고 기준 대역폭 데이터의 전송을 요청하는 과정으로 이루어짐을 특징으로 한다.
또한 본 발명의 실시예에 따른 단말의 프로그래시브 다운로드 재생 장치가, 서버에 데이터의 전송을 요청하며, 재생채널을 통해 데이터를 다운로드하고 백업채널을 통해 백업데이터를 다운로드하는 통신부와, 다운로드테이블 및 콘텐츠 저장부를 구비하는 저장부와, 상기 다운로드되는 데이터의 수신율을 측정하며, 측정된 데이터의 수신율이 기준 대역폭보다 낮으면 기준 대역폭보다 낮은 대역폭으로 데이터 전송요청을 하고, 다운로드되는 데이터의 구간을 상기 다운로드테이블에 백업 구간으로 등록하며, 상기 측정된 데이터의 수신율이 상기 기준 대역폭보다 높으면 상기 다운로드테이블에 등록된 백업데이터의 재전송을 요청하고, 다운로드되는 데이터를 상기 콘텐츠저장부에 저장하는 제어부와 상기 제어부의 제어하에 다운로드되는 데이터를 저장하는 표시부로 구성된 것을 특징으로 한다.
본 발명의 실시예의 단말장치는 프로그래시브 다운로드 재생시 설정된 기준 대역폭보다 낮은 대역폭의 단위데이터를 수신하는 경우, 다운로드된 낮은 대역폭의 데이터를 백업데이터로 등록하고, 백업 데이터의 수신이 가능하면 등록된 백업 데이터로 등록된 단위데이터들의 재전송을 요청하여 설정된 기준 대역폭의 데이터로 저장한다. 따라서 프로그래시브 다운로드 재생시 상기 단말장치는 통신 환경에 따라 적응적으로 멀티미디어 데이터의 대역폭을 가변시켜 다운로드 및 재생하며, 상기 다운로드시 설정된 기준 대역폭보다 낮은 대역폭으로 수신되는 멀티미디어 데이터들을 통신환경이 양호해지는 시점에서 백업 채널을 통해 다시 다운로드한다. 이로인해 단말장치는 프로그래시브 다운로드 재생시 통신환경에 관계없이 멀티미디어 데이터를 끊김없이 재생할 수 있으며, 또한 설정된 기준 대역폭보다 낮은 대역폭으로 다운로드된 멀티미디어 데이터들을 설정된 기준 대역폭으로 재요청하여 다운로드하므로써 저장할 수 있게 된다.
도 1은 멀티미디어 데이터를 다운로드하면서 동시에 재생하는 프로그래시브 다운로드 재생을 설명하기 위한 도면
도 2는 본 발명의 실시예에 실시예에 따라 네트워크 환경에 따라 서버와 단말장치가 가변 스트림(adaptive stream)을 전송하는 방법을 설명하기 위한 도면
도 3a 및 도 3b는 단말장치가 프로그래시브 다운로드 재생시 설정된 기준 대역폭보다 낮은 멀티미디어 데이터 수신시 해당 구간의 멀티미디어 데이터를 재요청하는 방법을 설명하기 위한 도면
도 4는 본 발명의 실시예에 따라 프로그래시브 다운로드 재생시 멀티미디어 데이터를 다운로드하는 방법을 설명하기 위한 도면
도 5는 상기 도 4와 같이 멀티미디어 데이터를 다운로드하는 서버100 및 단말장치200의 구성을 도시하는 도면
도 6은 본 발명의 실시예에 따라 프로그래시브 다운로드 재생을 수행하는 단말장치의 구성을 도시하는 도면
도 7은 상기 도 6에서 제어부의 구성을 도시하는 도면
도 8은 본 발명의 실시예에 따라 단말장치가 통신환경에 따라 다양한 대역폭의 멀티미디어 데이터를 다운로드하는 동작을 설명하기 위한 도면
도 9는 본 발명의 실시예에 따른 단말장치에서 프로그래시브 다운로드 재생을 수행하는 절차를 도시하는 흐름도
도 10은 본 발명의 실시예에 따른 단말장치가 프로그래시브 다운로드 재생시 멀티미디어 데이터를 다운로드하여 처리하는 구체적인 절차를 도시하는 흐름도
도 11은 도 10에서 프로그래시브 다운로드 재생 설정 절차를 도시하는 흐름도
도 12는 도 10에서 낮은 대역폭의 멀티미디어 데이터를 다운로드하여 처리하는 절차를 도시하는 흐름도
도 13은 도 10에서 설정된 기준 대역폭의 멀티미디어 데이터 및 백업 멀티미디어 데이터를 다운로드하여 처리하는 절차를 도시하는 흐름도
도 14는 도 10에서 프로그래시브 다운로드 재생 기능을 종료하는 절차를 도시하는 흐름도
도 15는 HTTP live streaming의 인덱스 파일 구조를 도시하는 도면
도 16a 및 도 16b는 도 15와 같은 인덱스 파일을 이용하여 본 발명의 실시예에 따라 HTTP live stream을 프로그래시브 다운로드 재생하는 절차를 설명하기 위한 도면
도 17은 smooth streaming의 인덱스 파일 구조를 도시하는 도면
도 18a 및 도 18b는 도 17과 같은 인덱스 파일을 이용하여 본 발명의 실시예에 따라 smooth stream을 프로그래시브 다운로드 재생하는 절차를 설명하기 위한 도면
이하, 본 발명의 바람직한 실시 예들의 상세한 설명이 첨부된 도면을 참조하여 상세히 설명한다. 도면들 중 동일한 구성들은 가능한 한 어느 곳에서든지 동일한 부호들을 나타내고 있음을 유의하여야 한다.
또한, 하기 설명에서는 멀티미디어 데이터의 인덱스 파일, 재생시간, 전송속도, 대역폭, 표시화면 크기 등과 같은 구체적인 특정 사항들이 나타내고 있는데, 이는 본 발명의 보다 전반적인 이해를 돕기 위해서 제공된 것일 뿐 이러한 특정 사항들 없이도 본 발명이 실시될 수 있음은 이 기술 분야에서 통상의 지식을 가진 자에게는 자명하다 할 것이다. 그리고 본 발명을 설명함에 있어, 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 상세한 설명을 생략한다.
본 발명은 단말장치에서 프로그래시브 다운로드 재생시 통신환경에 따라 멀티미디어 데이터의 양을 가변적으로 수신하여 재생하며, 설정된 기준 대역폭의 데이터 보다 작은 크기로 수신되는 데이터에 대해서는 통신환경이 복원된 후 재요청하여 저장한다. 즉, 본 발명의 실시예에 따른 단말장치는 Adaptive Progressive Download Playback 방식을 사용하며, 이때 통신 환경이 설정된 대역폭의 데이터를 수신할 수 있는 조건이면 재생 채널(Playback Stream)을 통해 전송되는 데이터를 재생 및 저장하며, 통신환경이 설정된 대역폭의 데이터를 수신할 수 없는 조건이면 서버에 작은 대역폭의 데이터의 전송을 요구하고 이런 경우 수신되는 데이터를 재생하면서 해당 구간을 등록한다. 이후 통신환경이 정상적으로 복원되면 설정된 대역폭을 가지는 데이터를 재생채널을 통해 수신하여 재생 및 저장하고, 동시에 백업채널을 통해 백업 구간으로 등록된 데이터의 전송을 재요청하여 저장한다.
이하의 설명에서 네트워크 속도, 통신속도, 데이터 전송율(속도), 데이터 수신율(속도)이라는 용어는 같은 의미로 사용될 것이며, 이는 서버에서 단말장치로의 멀티미디어 데이터 전송속도를 의미한다. 또한 기준 대역폭이라는 용어는 사용자가 멀티미디어 데이터를 프로그래시브 다운로드 재생시 데이터를 저장하기 위한 데이터 크기를 의미한다. 또한 단위 데이터라는 용어는 프로그래시브 다운로드 재생시 서버로부터 다운로드되는 데이터의 단위로써, HTTP live streaming인 경우에는 TS가 될 수 있으며, Smooth Streaming인 경우에는 프래그먼트(fragment)가 될 수 있다.
도 1은 멀티미디어 데이터를 다운로드하면서 동시에 재생하는 프로그래시브 다운로드 재생을 설명하기 위한 도면이다.
상기 도 1을 참조하면, 프로그래시브 다운로드 재생은 멀티미디어 데이터가 서버100으로부터 클라이언트인 단말장치200에 전달될 때, 상기 단말장치200은 수신되는 멀티미디어 데이터를 저장하면서 수신되는 멀티미디어 데이터를 동시에 재생하는 방법이다. 상기 프로그레시브 다운로드의 장점은 전체 파일이 모두 도착하기 전에 재생을 시작하므로 단말장치200의 사용자는 서버100로부터의 반응을 매우 빠르게 확인할 수 있다. 이때 상기 단말장치200이 프로그레시브 다운로드 방식으로 멀티미디어 데이터를 계속 재생하는 경우, 상기 서버100으로부터 단말장치200에 전달되는 데이터의 전송속도(즉, 단말장치의 데이터 수신율)가 멀티미디어 데이터가 가진 전송율(즉, 멀티미디어의 재생시간을 확보할 수 있는 data rate, bit rate)보다 높아야 한다. 예를들어 상기 멀티미디어 데이터가 동영상이고 동영상의 전송율이 1Mbps라고 하면, 상기 네트워크 환경(즉, 서버100에서 단말장치200으로 데이터를 전송하는 속도)이 1Mbps 이상의 네트워크 속도로 제공되어야 단말장치200은 수신되는 동영상을 끊김 없이 재생할 수 있다. 이때 2Mbps의 네트웍 속도에서 1Mbps의 동영상을 프로그레시브 다운로드 방식으로 재생한다고 가정하면, 크기가 100MB인 동영상은 파일 다운로드에 50초가 걸리며, 재생은 즉시 시작된다.
그러나 상기 통신 환경이 나빠져서 상기 서버100에서 단말장치200으로 멀티미디어 데이터를 전송하는 속도(즉, 네트워크 속도)가 상기 멀티미디어 데이터의 데이터 전송율보다 낮아지는 경우, 즉 상기 네트워크 속도가 멀티미디어 데이터의 대역폭(bandwidth)보다 낮아지는 경우에는 단말장치는 정상적으로 멀티미디어 데이터를 재생할 수 없게 된다. 즉, 단말장치200은 상기 서버100으로부터 멀티미디어 데이터를 수신하는 속도보다 멀티미디어를 재생하는 속도가 더 빠르게 된다. 여기서 상기 대역폭은 멀티미디어 데이터가 가진 최대의 비트레이트를 의미하며, 데이터가 정상적으로 전달되기 위해 필요한 전송 대역폭, 즉 비트레이트를 의미한다.
이를 위하여 본 발명의 실시예에 따른 단말장치는 프로그래시브 다운로드 재생시 서버100과의 통신환경에 따라 가변 비트레이트를 사용하여 멀티미디어 데이터를 다운로드 및 재생한다. 이를 위하여 상기 서버100은 하나의 콘텐트에서 복수의 대역폭들을 가지는 멀티미디어 데이터들을 구비하여야 한다.
도 2는 본 발명의 실시예에 실시예에 따라 네트워크 환경에 따라 서버와 단말장치가 가변 스트림(adaptive stream)을 전송하는 방법을 설명하기 위한 도면이다.
상기 도 2를 참조하면, 서버100은 110과 같은 멀티미디어 데이터를 획득할 때, 130과 같이 다양한 대역폭을 가지는 멀티미디어 데이터들을 생성하며, 이를 저장한다. 즉, 상기 멀티미디어 데이터가 동영상인 경우, 서버100은 110과 같은 동영상을 획득하여 서버100의 내부에 위치되는 데이터 베이스에 저장할 때 131-133과 같이 서로 다른 대역폭을 가지는 동영상으로 생성하여 저장한다. 즉, 고화질의 동영상인 참조번호 131의 동영상은 상대적으로 동영상 133 및 135 보다 더 큰 대역폭을 가지며, 동영상 133의 대역폭은 동영상 131보다는 작지만 동영상 135보다는 큰 대역폭을 가진다. 이때 상기 동영상 131 - 135의 재생시간은 동일하지만, 전송되는 데이터의 양은 동영상 131이 가장 크다. 따라서 단말장치200은 통신환경이 양호하면 동영상 131의 다운로드를 서버100에 요청하며, 통신환경이 좋지 않으면 동영상133 또는 135를 상기 서버100에 요청한다. 즉, 상기 단말장치는 서버100과의 통신환경에 따라 가변적으로 서로 다른 대역폭을 가지는 멀티 미디어 데이터의 다운로드(adaptive stream download)를 요청한다.
이때 상기 단말장치200은 프로그래시브 다운로드 재생시 사용자가 요구한 대역폭보다 낮은 대역폭의 멀티미디어를 수신하는 경우, 이에 해당하는 구간의 멀티미디어 데이터를 재요청하여 저장한다.
도 3a 및 도 3b는 단말장치가 프로그래시브 다운로드 재생시 설정된 기준 대역폭보다 낮은 멀티미디어 데이터 수신시 해당 구간의 멀티미디어 데이터를 재요청하는 방법을 설명하기 위한 도면이다.
상기 도 3a 및 도 3b를 참조하면, 단말장치는 본 발명의 실시예에 따른 프로그래시브 다운로드 재생(Adaptive and Progressive Download Playback)시 통신 환경에 따라 데이터 수신율을 가변적으로 설정하여 멀티미디어 데이터를 다운로드 및 재생한다. 이때 사용자가 요구한 대역폭의 멀티미디어 데이터를 수신하는 경우에는 도 3a의 311 및 315와 같이 수신되는 멀티미디어 데이터를 저장하는 동시에 재생한다. 그러나 상기 도 3a의 313과 같이 사용자가 요구한 대역폭 보다 낮은 대역폭의 멀티미디어 데이터를 수신하는 경우, 상기 단말장치는 해당 구간을 재요청 구간으로 등록한다. 즉, 어댑티브 프로그래시브 다운로드 재생시, 사용자는 높은 화질의 멀티미디어 데이터의 저장을 설정했는데, 통신환경에 따라 이보다 낮은 대역폭의 멀티미디어 데이터를 수신할 수 있다. 이런 경우, 상기 단말장치200은 통신환경이 양호해지면 해당 구간의 멀티미디어 데이터의 다운로드를 재요청한다.
이를 위하여, 상기 단말장치200은 도 3b에 도시된 바와 같이 다운로드 테이블351을 구비하며, 다운로드 테이블에는 정상적으로 다운로드된 멀티미디어 데이터의 정보들을 저장한다. 즉, 단말장치200이 353과 같은 멀티미디어 데이터를 다운로드하는 경우, downin 1 - downout 1, downin 2 - downout 2 및 downin 3 - downout 3 구간에서 사용자가 원하는 대역폭을 가지는 멀티미디어 데이터를 전송하고, downout 1 - downin 2, downout 2 - downin 3 구간에서는 사용자가 원하는 대역폭 보다 낮은 대역폭을 가지는 멀티미디어 데이터를 수신하는 경우가 된다. 이런 경우, 상기 다운로드테이블351에는 사용자가 원하는 대역폭의 멀티미디어 데이터를 수신하는 구간의 정보 downin 1 - downout 1, downin 2 - downout 2 및 downin 3 - downout 3이 저장된다. 상기와 같은 상태에서 네트워크 환경이 양호해지면, 상기 단말장치 200은 355와 같이 상기 낮은 대역폭의 데이터를 다운로드한 downout 1 - downin 2, downout 2 - downin 3 구간의 멀티미디어 데이터를 재전송 요청하며, 재요청에 의해 다운로드되는 해당 구간의 멀티미디어데이타를 저장한다. 그리고 상기 재요청에 의한 멀티미디어 데이터의 다운로드가 정상적으로 이루어지면(즉, 사용자가 원하는 대역폭의 멀티미디어 데이터의 재 다운로드가 이루어지면), 상기 단말장치200은 상기 다운로드 테이블351의 정보를 갱신한다.
이때 상기 353과 같은 멀티미디어 데이터를 다운로드하는 경우, 상기 단말장치200은 상기 수신되는 멀티미디어 데이터를 수신되는 순서대로 재생한다. 이런 경우, 상기 수신되는 멀티미디어 데이터의 대역폭이 다르게 되며, 따라서 재생되는 멀티미디어 데이터의 품질(동영상의 경우 화질)을 대역폭에 따라 다른 상태로 표시된다.
상기 도 3b에서 상기 다운로드테이블351은 사용자가 원하는 대역폭의 멀티미디어 데이터를 수신한 구간 정보를 표시하는 예로 도시되고 있다. 그러나 상기 다운로드테이블351은 사용자가 원치않는 대역폭의 멀티미디어 데이터를 수신한 구간정보를 등록할 수도 있다. 이런 경우, 상기 353과 같이 멀티미디어 데이터가 수신되면 상기 다운로드테이블351에는 downout 1 - downin 2, downout 2 - downin 3 구간의 정보가 등록될 수 있다. 그리고 해당 구간의 멀티미디어 데이터가 원하는 대역폭으로 다시 다운로드되면, 상기 단말장치200은 해당 구간의 정보를 삭제하여 다운로드테이블을 갱신할 수 있다.
도 4는 본 발명의 실시예에 따라 프로그래시브 다운로드 재생시 멀티미디어 데이터를 다운로드하는 방법을 설명하기 위한 도면이다. 그리고 도 5는 상기 도 4와 같이 멀티미디어 데이터를 다운로드하는 서버100 및 단말장치200의 구성을 도시하는 도면이다.
상기 도 4 및 도 5를 참조하면, 단말장치 200은 프로그래시브 다운로드 재생시 재생 채널(playback channel)410 및 백업 채널(backup channel)420의 2개의 채널을 이용하여 멀티미디어 데이터를 다운로드한다. 여기서 상기 재생채널410은 현재 재생되고 있는 멀티미디어 데이터를 수신하는 채널이고, 백업채널420은 재요청에 의해 다운로드되는 멀티미디어 데이터를 다운로드하는 채널이다. 상기 도 5에서 상기 단말장치200은 상기 서버100의 클라이언트(client)로 동작한다. 상기 서버100은 상기 도 2에서 설명된 바와 같이, 하나의 콘텐츠에 대하여 다수의 대역폭들을 가지는 복수의 멀티미디어 데이터들을 저장부520에 저장하고 있으며, 제어부510은 상기 단말장치200의 요청에 의해 대응되는 대역폭의 멀티미디어 데이터를 억세스하여 통신부530을 통해 다운로드한다. 그러면 상기 단말장치는 통신부570을 통해 이를 수신하며, 제어부550은 다운로드되는 멀티미디어 데이터를 도시하지 않는 표시부를 통해 재생하며, 설정된 기준 대역폭의 멀티미디어 데이터이면 상기 저장부560에 저장한다. 여기서 상기 통신부530 및 570은 무선 통신부가 될 수 있으며, 또한 유선통신부가 될 수 있다. 즉, 상기 단말장치200이 무선 단말장치이면 상기 통신부530 및 570은 무선통신부가 되며, 이때 상기 무선통신부는 기지국을 통해 데이터 통신망과 연결되는 LTE, WCDMA, GSM, CDMA 통신부가 될 수 있으며, 데이터 통신망과 연결되는 WiFi, Wimax, Wibro 통신부가 될 수 있다. 또한 상기 단말장치가 IP TV와 같은 유선 단말장치이면, 상기 단말장치200은 세탑 박스(settop box)를 구비하는 단말장치가 될 수 있으며, 상기 세탑박스는 유선으로 서버100와 연결될 수 있다.
상기와 같은 구성을 가지는 단말장치200의 제어부550은 재생채널591을 통해 다운로드되는 멀티미디어 데이터 스트림을 분석하여 사용자가 설정된 기준 대역폭의 멀티미디어 데이터이면 저장부560에 이를 저장하고, 도시하지 않은 표시부를 통해 이를 재생한다. 이때 사용자가 상기 재생채널591을 통해 다운로드되는 데이터가 설정된 기준 대역폭보다 낮은 대역폭의 멀티미디어 데이터이면, 상기 제어부550은 이를 표시부를 통해 재생하며, 상기 저장부560에 해당 대역폭의 데이터를 수신하는 구간을 백업 구간으로 등록한다. 여기서 상기 저장부560은 백업 구간 정보를 등록하는 다운로드테이블 및 다운로드되는 멀티미디어 데이터를 저장하는 콘텐츠 저장부를 구비한다.
상기 도 3b의 353과 같은 재생 스트림(playback stream)을 재생채널591을 통해 수신하는 경우, 상기 제어부550은 사용자가 원하는 대역폭의 멀티미디어 데이터를 수신하는 downin 1 - downout 1, downin 2 - downout 2 및 downin 3 - downout 3 구간에서 다운로드된 멀티미디어 데이터를 상기 저장부560에 저장하는 동시에 표시부를 통해 재생한다. 그러나 사용자가 설정된 기준 대역폭보다 낮은 멀티미디어 데이터를 수신하는 downout 1 - downin 2, downout 2 - downin 3 구간에서는 상기 수신되는 멀티미디어 데이터를 표시부를 통해 재생하며, 동시에 상기 downout 1 - downin 2, downout 2 - downin 3 구간 정보를 백업 구간으로 등록한다. 이때 상기 백업구간 정보는 제어부550의 내부에 위치되는 메모리에 저장할 수 있으며, 또한 상기 상기 저장부560에 저장할 수도 있다.
상기와 같이 프로그래시브 다운로드 재생을 수행하는 상태 또는 종료한 상태에서 네트워크 환경이 양호해지면, 상기 단말장치 200은 355와 같이 상기 낮은 대역폭의 데이터를 다운로드한 downout 1 - downin 2, downout 2 - downin 3 구간의 멀티미디어 데이터를 상기 서버100에 재전송 요청하며, 상기 서버100의 제어부510은 상기 단말장치200으로부터 재전송 요청된 구간(downout 1 - downin 2, downout 2 - downin 3 구간)의 멀티미디어 데이터를 억세스하여 백업채널593을 통해 재전송한다. 이때 상기 백업채널593을 통해 다운로드되는 멀티미디어 데이터는 사용자가 원하는 대역폭을 가지는 멀티미디어 데이터이며, 상기 단말장치200은 다운로드되는 해당 구간의 멀티미디어데이타를 저장한다.
상기한 바와 같이 본 발명의 실시예에 따른 단말장치200은 프로그래시브 다운로드 재생시 재생 채널(Playback Stream)을 통해 다운로드되는 멀티미디어 데이터를 재생 및 저장한다. 상기와 같은 상태에서 네트워크 환경이 설정된 기준 대역폭의 멀티미디어 데이터를 수신할 수 없는 상태로 변화되면, 상기 단말장치는 상기 서버에 설정된 기준 대역폭보다 낮은 대역폭의 멀티미디어 데이터를 전송을 요청하고 다운로드되는 데이터는 재생만하고, 저장은 중지할 수 있다. 그리고 상기와 같은 구간의 정보를 다운로드 테이블에 등록한다. 이후 상기 단말장치200은 상기 저장이 중지된 낮은 대역폭의 다운로드 구간에 대해서는 백업 채널(Backup Stream)을 통해 해당 구간의 멀티미디어 다운로드를 상기 서버에 재 요청하여 고화질로 재수신하고, 재수신된 고화질의 데이터를 저장한다.
도 6은 본 발명의 실시예에 따라 프로그래시브 다운로드 재생을 수행하는 단말장치의 구성을 도시하는 도면이다. 여기서 상기 단말장치200은 무선 단말장치인 경우를 가정하여 설명하기로 한다. 그리고 도 7은 상기 도 6에서 제어부600의 내부 구성을 도시하는 도면이다.
상기 도 6을 참조하면, 제1통신부620 및 제2통신부630은 휴대단말기와 각각 대응되는 통신망을 무선 연결하는 기능을 수행한다. 여기서 상기 통신망은 기지국 통신망 또는 인터넷 통신망 등이 될 수 있다. 상기 통신부620 및 630은 송신신호를 RF 대역으로 상승시키는 변환기(frequency up converter)와 전력증폭기 등으로 구성되는 송신부와, RF 수신호를 저잡음 증폭하는 증폭기와 RF신호를 기저대역으로 하강 변환하는 변환기(frequency down converter) 등을 구비할 수 있다. 또한 상기 통신부 620 및 630은 상기 송신신호를 변조하여 송신부에 전달하는 변조부 및 상기 수신부에서 출력되는 신호를 복조하는 복조부를 구비할 수 있다. 여기서 상기 변복조부는 통신 방식에 따라 WCDMA, CDMA 등의 3G, GSM 또는 LTE 방식의 4G 변복조부가 될 수 있으며, 또한 상기 변복조부는 WiFi, Wibro, Wimax 등의 변복조부가 될 수 있다.
제어부600은 휴대단말기의 전반적인 동작을 제어한다. 여기서 상기 제어부600은 통신 제어부(mobile processor, MP) 및 어플리케이션제어부(application processor, AP)로 구성될 수 있다. 그리고 본 발명의 전반적인 동작은 상기 어플리케이션제어부에 의해 수행될 수 있다. 이런 경우, 상기 어플리케이션제어부는 본 발명의 실시예에 따라 프로그래시브 다운르도 재생시 상기 제1통신부620 또는 제2통신부630을 통해 서버100과 연결되어 멀티미디어 데이터의 다운로드 및 재생을 제어한다.
저장부610은 휴대단말기의 동작 프로그램 및 본 발명의 실시예에 따른 프로그램들을 저장하는 프로그램 메모리와, 인스톨 데이터 및 프로그램 수행 중에 발생되는 데이터를 저장하는 데이터 메모리를 구비할 수 있다. 그리고 본 발명의 실시예에 따른 저장부610은 다운로드되는 멀티미디어 데이터를 저장하며, 설정된 기준 대역폭보다 낮은 대역폭으로 수신되는 백업 구간 정보를 저장한다.
표시부640은 상기 제어부600의 제어하에 다운로드되는 멀티미디어 데이터를 표시한다. 입력부650은 휴대단말기의 동작을 제어하기 위한 명령 및 데이터를 입력하는 기능을 수행한다. 여기서 상기 입력부650 및 표시부640은 일체화된 터치스크린(Touch Screen Panel)이 될 수 있다. 근거리통신부660은 상기 휴대단말기와 외부의 표시장치 간의 데이터를 통신하는 기능을 수행한다. 여기서 상기 표시장치는 텔레비전 수신장치가 될 수 있으며, 상기 근거리통신부550은 무선 통신(블루투스 등) 또는 유선통신(USB 등) 방식으로 구현할 수 있다.
상기 제1통신부620 및/또는 제2통신부630은 각각 기지국과 무선 연결되어 음성 및 데이터 통신 기능을 수행할 수 있으며, 또한 인터넷 망에 연결되어 데이터 통신을 수행할 수 있다. 이때 기지국에 연결되는 통신부는 3G 또는 4G 방식의 변복조부를 구비하여 기지국을 통해 음성 및 데이터 통신 서비스를 수행할 수 있으며, 인터넷 망에 연결되는 통신부는 인터넷 서버 등과 접속되어 데이터 통신 서비스 기능을 수행할 수 있다. 이하의 설명에서 상기 제1통신부620은 인터넷 망110과 무선 연결되는 통신부로써, WiFi, Wibro, Wimax 방식 등의 모뎀을 구비하는 통신부가 될 수 있다. 상기 제2통신부630은 기지국과 연결되어 음성 및 데이터 통신을 수행하는 GSM, CDMA, WCDMA, LTE 방식 등의 모뎀을 구비하는 통신부가 될 수 있다. 여기서 상기 제2통신부630도 기지국을 통해 인터넷망110과 연결될 수 있다. 또한 상기 도 6에서는 2개의 통신부들을 구비하는 경우를 가정하고 있지만, 복수의 기지국들(즉, GSM, WCDA 및 LTE 통신 방식을 사용하는 기지국들)과 무선 연결하기 위한 다수의 통신부들을 구비할 수 있다. 즉, 상기 통신부는 제1 및 제2통신부로 구성된 경우를 가정하여 설명하고 있지만 3개 이상의 통신부들로 구성될 수도 있다.
상기와 같은 구성을 가지는 단말장치는 상기 서버100의 클라이언트(client)로 동작될 수 있다.
상기 도 7을 참조하면, 스트림수신부740은 프로그래시브 다운로드 재생시 상기 재생채널을 통해 다운로드되는 멀티미디어 데이터를 수신한다. 백업스트림수신부750은 백업채널을 통해 수신되는 백업 멀티미디어 데이터를 수신한다. 스트림처리부710은 상기 스트림수신부740을 통해 수신되는 멀티미디어 데이터(playback stream)을 분석하며, 설정된 기준 대역폭을 가지는 멀티미디어 데이터이면 이를 콘텐츠저장부730에 저장하며 재생하도록 제어하고, 설정된 기준 대역폭 보다 낮으면 해당 데이터를 수신한 구간을 다운로드 테이블720에 등록하고 이를 재생하도록 제어한다. 또한 상기 스트림처리부710은 상기 재생 스트림을 분석하며, 분석된 멀티미디어 데이터의 대역폭에 따라 설정된 기준 대역폭 보다 낮으면 상기 서버100에 낮은 대역폭의 멀티미디어 데이터 전송을 요청하며, 설정된 기준 대역폭 보다 높은 네트워크 환경이면 상기 다운로드 테이블720에 등록된 백업 구간의 멀티미디어 데이터 전송을 요청한다. 상기 표시제어부760은 상기 스트림처리부710에 의해 처리되는 멀티미디어 데이터를 표시부650에 표시되도록 제어한다.
상기 도 7에서 상기 멀티미디어 데이터의 전송을 요청하는 채널(단말장치200에서 서버100으로 전송되는 채널, uplink channel)의 구성은 도시되지 않았다. 상기 업링크 채널은 상기 단말장치200이 상기 서버100에 통신 환경에 따라 스트림 처리부710이 결정하는 대역폭의 멀티미디어 데이터 전송을 요청하는 채널로써, 수신되는 재생 스트림의 분석 결과에 따라 사용자가 설정한 기준 대역폭의 멀티미디어 데이터, 현재 통신 환경에서 다운로드 가능한 낮은 대역폭의 멀티미디어 데이터 또는 사용자가 설정한 기준 대역폭의 멀티미디어 데이터 및 백업 등록된 멀티미디어 데이터의 전송 요청 정보들을 상기 서버100에 전송하는 채널이 될 수 있다. 이때 상기 멀티미디어 데이터의 통신채널이 제1통신부620이며 WiFi 방식을 사용하는 경우, 동일한 IP를 가지며 서로 다른 소켓들을 사용하여 재생채널 및 백업채널을 설정할 수 있으며, 또는 서로 다른 IP를 이용하여 재생채널 및 백업채널을 설정할 수 있다. 또한 상기 통신채널이 제2통신부630인 경우, 단말장치200은 기지국으로부터 재생채널 및 백업채널의 정보를 수신할 수 있는 서로 다른 채널을 할당받을 수 있다.
도 8은 본 발명의 실시예에 따라 단말장치가 통신환경에 따라 다양한 대역폭의 멀티미디어 데이터를 다운로드하는 동작을 설명하기 위한 도면이다.
상기 도 8을 참조하면, 제어부600은 상기 서버100에 설정된 단위를 가지는 멀티미디어 데이터의 전송을 요구한다. 여기서 상기 단위 데이터는 스트리밍 방법에 따라 다르다. 예를들면 Http live streaming 방식을 사용하는 경우, 상기 단위 데이터는 ts 단위가 되며, smooth streaming/DASH 방식인 경우 단위데이타는 fragment 단위가 된다. 이때 상기 제어부600은 멀티미디어 데이터 전송 요구시 상기 단위 데이터 크기로 요청을 하며, 이때 상기 단위데이타의 전송요구시 전송 대역폭 정보를 포함한다. 그러면 상기 서버100은 재생 채널을 통해 상기 제어부600에서 요청한 전송 대역폭의 단위 데이터를 전송한다. 그러면 상기 제어부600은 재생채널을 통해 수신되는 단위 데이터의 수신율을 분석하여 멀티미디어 데이터의 대역폭을 만족하는 수신율을 가지는지 분석한다.
이때 상기 서버100으로부터 다운로드되는 데이터 수신율이 상기 멀티미디어 데이터의 대역폭에 대한 임계값을 만족하지 못하면(즉, 요청된 멀티미디어 데이터를 재생하는 시간보다 데이터 수신율이 늦으면), 상기 제어부600은 다음 단위 데이터 전송 요청시 사용자에 의해 설정된 기준 대역폭보다 낮은 대역폭을 가지는 멀티미디어 데이터를 요구한다. 그러면 상기 서버100은 재생채널을 통해 단말장치200이 요청한 낮은 대역폭의 멀티미디어 데이터를 다운로드하며, 이로인해 상기 단말장치200은 도 8의 811과 같이 낮은 대역폭을 가지는 멀티미디어 데이터를 수신하게 된다. 이런 경우, 상기 제어부600은 상기 811구간에서 다운로드되는 멀티미디어 데이터를 표시부640을 통해 표시하며, 상기 811 구간을 백업 구간으로 등록한다. 즉, 상기 제어부600은 단위 데이터의 재생시간보다 상기 다운로드되는 데이터 수신율이 느려지면, 다음 단계의 단위 데이터 요청시 상기 제어부600은 설정된 가준대역폭보다 낮은 대역폭을 가지는 멀티미디어 데이터의 단위 데이터 전송을 요청한다.
상기와 같은 상태에서 멀티미디어 데이터의 데이터 수신율(즉, 다운로드되는 멀티미디어 데이터의 전송속도)이 설정된 기준 대역폭보다 높아지면, 상기 제어부600은 상기 서버100에 설정된 기준 대역폭의 멀티미디어 데이터 전송을 요청한다. 이와 같은 상태에서 상기 설정된 기준 대역폭의 멀티미디어 데이터의 속도가 설정된 기준 대역폭 이상의 멀티미디어 데이터를 수신할 수 있으면, 즉 백업 스트림 임계값(backup stream threshold)을 초과하면, 상기 제어부100은 813과 같은 구간에서 상기 다운로드테이블에서 백업구간으로 등록된 멀티미디어 데이터의 전송을 상기 서버100에 요청한다. 여기서 E_B가 Estimated Bandwidth이고, TS가 전송된 데이터의 크기이며, TT가 전송 시간이라고 하면, EB = T_S / T_T가 된다. 이때 PT_p가 time of highest quality layer이고, ST_p가 Download Size of highest quality layer이며, ST_b가 Download Size of backup stream이라고 하면, Playback Stream과 Backup Stream을 동시에 다운 로드하기 위한 임계값 (Threshold Value : Resume the backup stream) EB > (S_T_p + S_T_b) / (P_T_p)가 될 수 있다. 그러면 상기 서버100은 재생채널을 통해 요청된 멀티미디어 데이터의 단위 데이터를 전송하고 백업채널을 통해 요청된 백업 데이터를 전송한다. 이때 상기 재생 스트림 및 백업 스트림은 사용자가 설정한 기준 대역폭을 가지는 멀티미디어 데이터가 될 수 있으며, 상기 제어부600은 수신되는 재생 스트림을 표시부640을 통해 표시하는 동시에 저장부610에 저장하고, 또한 백업 스트림을 저장부610의 해당 단위 데이터 구간에 저장한다. 또한 상기 제어부600은 상기 저장부610의 다운로드테이블에서 백업 저장된 멀티미디어 데이터의 구간을 삭제한다.
상기와 같은 동작을 반복하는 상태에서 데이터 수신율이 설정된 기준 대역폭의 멀티미디어 데이터를 수신하는 속도로 변경되면, 상기 제어부600은 백업 데이터의 전송 요청을 중단하고 해당 구간에서의 멀티미디어 데이터의 전송을 요청한다. 그러면 상기 서버100은 요청된 구간의 단위 데이터를 재생채널을 통해 다운로드하며, 상기 제어부600은 도 8의 815와 같이 재생채널을 통해 다운로드되는 멀티미디어 데이터를 표시 및 저장한다.
상기 단말장치200은 동작을 프로그래시브 다운로드 재생이 수행되는 동안 상기 서버100으로부터 다운로드되는 데이터 수신율을 검사하며, 이에 따라 상기 도 8과 같은 동작을 반복적으로 수행한다.
도 9는 본 발명의 실시예에 따른 단말장치에서 프로그래시브 다운로드 재생을 수행하는 절차를 도시하는 흐름도이다.
상기 도 9를 참조하면, 단말장치200은 911단계에서 상기 서버100에 프로그래시브 다운로드 재생을 실행하기 위한 멀티미디어 데이터를 요청한다. 여기서 상기 단말장치200은 상기 서버100에 멀티미디어 데이터의 전송을 요청하면, 상기 서버100은 상기 단말장치200에 요청된 멀티미디어 데이터의 정보를 전송하며, 상기 전송되는 정보는 멀티미디어 데이터의 대역폭 정보들도 포함된다. 그러면 상기 단말장치200은 상기 서버100로부터 전송되는 데이터의 전송율(즉, 단말장치의 데이터 수신율)을 측정하며, 상기 측정된 데이터 수신율에 대응되는 대역폭의 멀티미디어 데이터 전송을 요청한다.
이때 상기 서버100으로부터 전송되는 데이터의 수신율이 사용자가 설정한 기준 대역폭보다 낮은 데이터 수신율을 가지면, 상기 제어부600은 913단계에서 이를 감지하고, 915단계에서 기준 대역폭보다 낮은 대역폭을 가지는 멀티미디어 데이터의 전송을 요구하며, 수신되는 데이터를 재생한다. 그리고 상기 제어부600은 917단계에서 낮은 대역폭을 수신한 멀티미디어 데이터의 구간 정보를 등록한다. 이런 경우, 상기 낮은 대역폭의 데이터는 저장할 수 있으며, 또한 저장하지 않을 수도 있다.
그러나 상기 서버100으로부터 전송되는 데이터의 수신율이 사용자가 설정한 기준 대역폭보다 높은 데이터의 수신율을 가지면, 상기 제어부100은 백업 등록된 데이터를 수신할 수 있는 데이터 수신율인가 검사한다. 이때 상기 백업 데이터의 수신이 가능한 데이터 수신율을 가지면, 상기 제어부600은 921단계에서 이를 감지하고 923단계에서 현재 재생할 멀티미디어 데이터의 전송을 요청하며, 재생채널을 통해 수신되는 멀티미디어 데이터를 재생 및 저장한다. 여기서 상기 백업 데이터를 재요청하기 위한 데이터 수신율은 현재 데이터 수신율이 기준 대역폭 이상의 데이터를 수신할 수 있으며, 앞으로 재생할 데이터(즉, 버퍼링된 데이터 데이터)가 설정된 시간 이상(예를들면 N개의 단위데이타)인 경우로 설정할 수 있다. 이후 상기 제어부600은 백업 저장할 멀티데이터가 있으면, 925단계에서 백업 데이터로 등록된 멀티미디어 데이터의 재전송을 요청하고, 백업채널을 통해 다운로드되는 멀티미디어 데이터를 저장한다.
또한 상기 921단계에서 설정된 기준 대역폭의 데이터 수신율을 가지지만 백업 가능한 데이터 수신율을 만족하지 못하거나 또는 백업 가능한 데이터 수신율이지만 백업할 데이터가 없는 경우, 상기 제어부600은 931단계로 진행하여 재생할 멀티미디어 데이터의 전송을 요청하며 재생채널을 통해 다운로드되는 멀티미디어 데이터를 재생 및 저장한다.
도 10은 본 발명의 실시예에 따른 단말장치가 프로그래시브 다운로드 재생시 멀티미디어 데이터를 다운로드하여 처리하는 구체적인 절차를 도시하는 흐름도이다. 도 11은 도 10에서 프로그래시브 다운로드 재생 설정 절차를 도시하는 흐름도이며, 도 12는 도 10에서 낮은 대역폭의 멀티미디어 데이터를 다운로드하여 처리하는 절차를 도시하는 흐름도이고, 도 13은 도 10에서 기준 대역폭의 멀티미디어 데이터 및 백업 멀티미디어 데이터를 다운로드하여 처리하는 절차를 도시하는 흐름도이며, 도 14는 도 10에서 프로그래시브 다운로드 재생 기능을 종료하는 절차를 도시하는 흐름도이다. 도 15는 HTTP live streaming의 인덱스 파일 구조를 도시하는 도면이며, 도 16a 및 도 16b는 도 15와 같은 인덱스 파일을 이용하여 본 발명의 실시예에 따라 HTTP live stream을 프로그래시브 다운로드 재생하는 절차를 설명하기 위한 도면이다. 도 17은 smooth streaming의 인덱스 파일 구조를 도시하는 도면이며, 도 18a 및 도 18b는 도 17과 같은 인덱스 파일을 이용하여 본 발명의 실시예에 따라 smooth stream을 프로그래시브 다운로드 재생하는 절차를 설명하기 위한 도면이다.
상기 도 10을 참조하면, 입력부650을 통해 멀티미디어 데이터를 선택하고, 선택된 멀티미디어 데이터의 프로그래시브 다운로드 재생을 요구하면, 상기 제어부600은 1011단계에서 상기 서버100으로부터 선택된 멀티미디어 데이터의 인덱스 파일을 다운로드하여 프로그래시브 다운로드 재생 기능을 설정한다. 상기 프로그래시브 다운로드 재생 기능을 설정하는 동작을 구체적으로 살펴본다.
상기 도 11을 참조하면, 프로그래시브 다운로드 재생이 요구되면 상기 제어부600은 1111단계에서 이를 감지하고, 1113단계에서 상기 서버100에 선택된 멀티미디어 데이터의 인덱스 파일의 전송을 요청한다. 그러면 상기 서버100은 요청된 멀티미디어 데이터의 인덱스 파일을 다운로드하며, 상기 제어부600은 1115단계에서 수신된 인덱스파일을 파싱하며, 상기 파싱된 인덱스 파일을 분석하여 프로그래시브 다운로드할 멀티미디어 데이터의 대역폭을 설정한다.
여기서 상기 멀티미디어 데이터가 HTTP live streaming인 경우, 인덱스 파일은 도 15와 같은 구조를 가진다. 상기 도 15를 참조하면, 메인 인덱스파일 1515는 대역폭에 따라 1520 - 1540과 같은 서브 인덱스 파일들에 대한 상대주소(High/stream.m3u8, Mid/stream.m3u8, Low/stream.m3u8) 및 최소 대역폭 정보를 포함한다. 여기서 참조번호 1520의 멀티미디어 데이터는 최소 대역폭(bandwidth)이 545920이며, 참조번호 1530의 멀티미디어 데이터는 최소 대역폭(bandwidth)가 319920이며, 참조번호 1540의 멀티미디어 데이터는 최소 대역폭(bandwidth)가 150420임을 알 수 있으며, 따라서 상기 서브인덱스파일1520의 멀티미디어 데이터들이 가장 큰 대역폭을 가짐을 알 수 있다.
그리고 상기 각 서브인덱스 파일1520 - 1540은 멀티미디어 데이터를 구성하는 단위데이타들로 구성된 멀티미디어 데이터1525 - 1545의 정보들을 가지며, 여기서 상기 단위 데이터는 TS 단위임을 알 수 있다. 그리고 H.TS, M.TS, L.TS의 재생 시간은 모두 동일하며, 서로 다른 대역폭을 가짐을 알 수 있다. 이런 경우, H.TS 데이터의 전송속도가 상기 L.TS의 3배 정도의 속도를 가져야 함을 알 수 있다. 따라서 높은 대역폭의 멀티미디어 데이터를 선택한 경우, 상기 1117단계에서 설정되는 데이터 수신율은 상기 H.TS의 재생시간을 만족할 수 있는 수신율로 설정되어야 한다.
또한 상기 멀티미디어 데이터가 smooth streaming인 경우, 인덱스 파일은 도 17과 같은 구조를 가진다. 상기 도 17을 참조하면, 인덱스파일 1715는 표시시간(duration=2283533534), 멀티미디어 타입(streamindex type=video), 코텍정보(subtype=WVCI), 단위데이터의 재생시간(c n="0" d="19602937" …, 여기서 d의 정보가 재생시간을 나타낸다)등을 포함한다. 이때 상기 smooth streaming은 상기와 같은 비디오 및 비디오 데이터와 동일한 구조의 오디오 데이터의 정보들을 포함한다. 여기서 상기 smooth streaming의 경우, 단위데이터는 fragment가 되며, 전송대역폭에 따라 높은 대역폭, 중간 대역폭 및 낮은 대역폭을 가지는 멀티미디어 데이터로 구성되며, 오디오 데이터는 비디오 데이터의 대역폭에 상관없이 동일한 대역폭을 가짐을 알 수 있다. 그리고 상기 상기 비디오 fragment는 높은 대역폭을 가지는 프래그먼트에서 낮은 프래그먼트를 가지는 VH.Frag, VM.Frag, VL.Frag 들로 구성되며, 이때 단말장치에서 각 프래그먼트의 재생 시간은 대역폭에 상관없이 동일한 시간을 가진다. 따라서 상기 VH.Frag의 전송 속도가 VM.Frag 및 VL.Frag의 전송속도보다 높아야 됨을 알 수 있다. 따라서 높은 대역폭의 멀티미디어 데이터를 선택한 경우, 상기 1117단계에서 설정되는 데이터 수신율은 상기 VH.Frag의 재생시간을 만족할 수 있는 수신율로 설정되어야 한다.
상기와 같이 도 10의 1011단계에서 프로그래시브 다운로드 재생 기능을 설정한 후, 상기 제어부600은 1013단계에서 상기 서버100에 단위 데이터의 전송을 요구한다. 이때 상기 단위데이터의 전송은 전송 대역폭 정보를 포함하며, 상기 전송대역폭 정보는 단말장치200에서 수신되는 멀티미디어 데이터의 수신율과 설정된 전송대역폭의 비교에 의해 결정된다. 본 발명의 실시예에서는 상기한 바와 같이 전송대역폭이 H.TS(또는 VH.Frag)로 설정되었다고 가정한다. 그러면 서버100은 상기 전송요구에 의해 대응되는 대역폭의 단위 데이터를 재생채널을 통해 다운로드하며, 상기 제어부600은 1015단계에서 상기 다운로드되는 단위 데이터를 수신하며, 1017단계에서 상기 다운로드되는 단위 데이터의 수신율을 측정한다. 이때 상기 서버100에서 단위 데이터(TS 또는 Frag)를 전송할 때, 단위 데이터를 두개의 세그먼트 데이터로 분할하여 전송한다. 즉, 상기 서버100은 TS 또는 Frag 데이터를 분할하여 복수의 세그먼트로 전송할 수 있다. 상기 도 16a 및 도 16b에서 H.TS는 3개의 세그먼트 데이터 H.TS-part 1(High), H.TS-part 2(High), H.TS-part 3(High)로 나눠 전송하고, M.TS는 2개의 세그먼트 데이터 M.TS-part 1(Mid) 및 M.TS-part 2(Mid)로 나누어 전송하며, L.TS는 그대로 전송하는 예를 도시하고 있다. 그리고 도 18a 도 18b에서도 높은 대역폭을 가지는 VH.Frag는 3개의 세그먼트 데이터 QualityLevel(High)/Video(0)-Part1, QualityLevel(High)/Video(0)-Part2 및 QualityLevel(High)/Video(0)-Part3으로 나눠서 전송하고, VM.Frag는 두개의 세그먼트 데이터 QualityLevel(Mid)/Video(10)-Part1 및 QualityLevel(Mid)/Video(10)-Part로 나누어 전송하는 예를 도시하고 있다. 이런 경우, 상기 단말장치는 해당 단위 데이터의 세그먼트 데이터들을 수신하여 데이터 수신율를 측정한다.
이때 상기 도 15 또는 도 17에 도시된 바와 같이 단위 데이터의 재생시간을 알 수 있다. 따라서 상기 제어부600은 상기 재생채널로 수신되는 데이터의 수신율(즉, 단위 데이터의 수신시간)을 측정하며, 상기 측정된 데이터 수신율과 기준 대역폭의 단위데이터 재생시간을 비교한다. 이때 상기 단위 데이터 수신율이 상기 단위데이터의 재생시간보다 낮으면 기준 대역폭보다 낮은 대역폭을 가지는 멀티미디어의 단위 데이터 전송을 요청하고, 상기 단위 데이터 수신율이 상기 단위데이터의 재생시간보다 높으면 백업 데이터가 있는 경우 현재 재생할 단위데이터 및 백업할 데이터의 전송을 요청한다.
따라서 상기 비교 결과 단위 데이터 수신율이 상기 단위데이터의 재생시간보다 낮으면, 상기 제어부600은 1019단계에서 이를 감지하고, 1021단계에서 다운로드된 데이터를 표시하며, 현재 수신된 단위데이터를 백업데이터로 다운로드 테이블에 등록한다.
도 12를 참조하면, 상기 제어부600은 1211단계에서 상기 측정된 데이터의 수신율에 대응되는 대역폭을 결정한다. 즉, 현재 통신 환경이 기준 대역폭의 단위데이터를 수신할 수 없는 상태이므로, 설정된 기준대역폭 보다 낮은 대역폭을 가지는 단위 데이터의 전송을 요청하도록 결정한다. 이후 상기 제어부600은 1213단계에서 현재 표시할 단위 데이터를 표시부640에 표시하고, 1215단계에서 현재 다운로드한 단위데이터가 기준 대역폭보다 낮은 대역폭의 단위 데이터인가 검사하며, 낮은 대역폭의 데이터이면 1217단계에서 상기 다운로드테이블에 해당 단위데이터를 백업 데이터로 등록한다. 이후 상기 제어부600은 1031단계에서 현재 단위데이터가 마지막 멀티미디어 데이터인가 검사하며, 아니면 1013단계에서 다음에 수신할 단위데이터를 상기 1211단계에서 기준 대역폭을 결정하며, 1013단계에서 상기 서버100에서 다음 단위 데이터의 전송을 요청한다. 즉, 상기 도 12에서 N번째 단위데이터 구간에서 H.TS 또는 VH.Frag 단위 데이터를 수신한 후, 데이터 수신율이 M.TS(또는 L.TS) 또는 VM.Frag(또는 VL.Frag)의 대역폭으로 결정된 경우, 상기 제어부600은 1033단계에서 상기 서버100이 N+1번째 단위데이터의 데이터 수신율을 M.TS(또는 L.TS) 또는 VM.Frag(또는 VL.Frag) 대역폭으로 설정한다. 따라서 데이터 수신율을 기준 대역폭보다 낮은 경우, 현재 수신하고 있는 단위 데이터의 수신을 완료한 후 다음 단위데이터의 대역폭을 변경한다.
또한 상기 비교 결과 단위 데이터 수신율이 상기 단위데이터의 재생시간보다 높으면, 상기 제어부600은 이를 감지하고, 1041단계에서 상기 데이터 수신율이 백업 데이터를 다운로드할 수 있는 데이터 수신율인가를 검사한다. 본 발명의 실시에에서는 상기 단위 데이터 수신율이 상기 단위데이터의 재생시간보다 높고, 현재 다운로드된 단위데이타가 설정된 개수 이상인 경우에 데이터 수신율이 백업 가능한 데이터 수신율이라고 판정한다. 여기서 상기 설정된 개수를 3개의 단위데이터라고 가정하면, 상기 제어부600은 현재 데이터 수신율이 설정된 단위데이터의 대역폭보다 높고 현재 다운로드되어 재생되지 않은 단위데이터가 3개 이상이면 백업 가능한 데이터 수신율이라고 판정한다. 이런 경우, 상기 제어부600은 1043단계에서 백업 데이터가 다운로드 테이블에 등록되어 있는 경우 백업 데이터의 전송을 요청하여 저장한다.
도 13을 참조하면, 상기 제어부600은 1311단계에서 다음 단위데이터를 수신할 대역폭을 기준 대역폭의 단위데이터를 요청할 수 있도록 설정하며(즉, H.TS 또는 VH.Frag), 1313단계에서 현재 시간에 재생할 단위데이터를 표시부640을 통해 표시한다. 이후 백업 멀티미디어 데이터의 수신하면, 상기 제어부600은 1315단계에서 이를 감지하고, 1317단계에서 수신되는 백업 단위데이터를 상기 저장부610의 대응되는 단위 데이터 저장영역에 저장하며, 다운로드테이블에서 해당 단위 데이터의 등록을삭제한다. 이후 상기 제어부600은 1319단계에서 상기 다운로드테이블을 검사하여 백업 다운로드할 단위데이터가 더 있는가 검사하며, 백업할 데이터가 있는 경우, 1321단계에서 다음에 백업할 단위데이터의 구간을 결정한다. 이때 상기 높은 대역폭을 가지는 단위데이터의 경우, 상기 도 16a 및 도 16b 또는 상기 도 18a 또는 도 18b에 도시된 바와 같이 복수의 세그먼트 데이터로 분할되어 수신될 수 있다. 따라서 상기 제어부600은 상기 데이터 수신율에 따라 수신 가능한 백업데이터의 수신율을 확인한 후, 그 결과에 따라 백업 단위데이터의 세그먼트 데이터들을 결정할 수 있다.
이후 상기 제어부600은 1031단계에서 종료가 아님을 감지하면, 1033단계에서 다음에 재생채널을 통해 수신할 단위 데이터(기준 대역폭 및 수신 단위데이터의 번호 정보를 포함) 및 백업 데이터로 다운로드할 단위데이터(여기서는 기준 대역폭 및 백업 단위 데이터의 번호 정보 및 세그먼트 번호)를 설정한 후, 상기 1013단계에서 현재 단위 데이터 및 백업 단위 데이터의 전송을 요청한다.
상기한 바와 같이 본 발명의 실시예에서 데이터 수신율이 백업가능한 수신율이라고 판단되면, 상기 제어부600은 다음에 전송요청할 단위데이터를 기준 대역폭의 데이터 수신율로 설정하고, 또한 단위 데이터 재생시간 동안 더 수신할 수 있는 대역폭 만큼의 백업 데이터 양을 설정한다. 예를들어 단위 데이터의 재생시간이 10초이고, 현재 측정된 데이터 수신율이 상기 단위 데이터를 수신하는데 7초가 소요되는 것으로 판정되면, 상기 제어부600은 나머지 3초 시간에 대응되는 백업 데이터의 구간을 설정하여 다음 단위데이터 전송 요청시 함께 전송을 요청할 수 있다. 이때 상기 설정된 대역폭의 단위 데이터는 복수 개의 세그먼트 데이터로 분할되어 수신되며, 이때 상기 단위데이터의 크기 및 세그먼트수를 알면 상기 세그먼트 데이터의 크기를 알 수 있다. 따라서 상기 제어부600은 현재 측정된 데이터 수신율로 상기 단위데이터의 수신시간(즉, 다운로드 시간)을 확인한 후, 상기 단위데이터의 재생시간에서 상기 단위데이타의 실제 수신시간을 빼면 백업 데이터를 수신할 수 있는 시간을 알 수 있으며, 상기 잔여시간 동안 수신할 수 있는 백업 데이터의 사이즈를 설정한 후, 상기 다운로드테이블에 등록된 백업할 단위데이터를 선택한다. 그리고 상기 단위데이터 및 선택된 백업 단위 데이터(이때 상기 백업 단위 데이터는 해당 단위 데이터의 세그먼트 데이터가 될 수도 있다.)의 전송율을 요청한다. 이때 상기 단위데이터 및 백업 단위데이터의 대역폭은 기준 대역폭이 된다. 또한 상기 세그먼트 데이터의 크기는 수신되는 세그먼트 데이터의 헤더(예를들면 HTTP 헤더) 정보에 해당 세그먼트 데이터의 크기(data size) 정보를 포함하고 있으며, 따라서 세그먼트 단위로 백업데이터를 다운로드하는 경우, 상기 세그먼트 헤더 정보를 이용하여 단위 데이터로 생성할 수 있다.
또한 상기와 같이 단위데이터를 수신하고 남은 시간 동안에 백업 데이터를 수신하는 방법 이외에 해당 단위 데이터 구간에서 백업데이터만을 전송요청할 수도 있다. 즉, 상기 통신환경이 양호하면(즉, 단위데이터의 재생시간보다 상기 단말장치가 단위데이터를 수신하는 시간이 더 짧으면), 상기 제어부600은 연속하여 단위 데이터 전송을 요청할 수 있다. 이런 경우 상기 표시부640을 통해 재생되는 단위데이터 보다 더 큰 번호의 단위데이터(즉, 재생시간이 한참 후인 단위데이터)들을 저장부610에 저장하게 된다. 이런 경우 상기 단위데이터의 다운로드를 완료했거나 또는 단위 데이터를 다운로드를 중단하고 상기 다운로드 테이블에 등록된 백업할 단위데이터들의 전송을 요청하여 백업단위데이터들을 저장할 수도 있다. 이런 경우, 상기 제어부600은 상기 저장부610에서 설정된 재생시간의 단위데이터를 억세스하여 상기 표시부640에 표시하며 동시에 수신되는 백업 단위데이터들을 저장부610에 저장할 수 있다.
또한 측정된 데이터 수신율이 기준 대역폭을 만족하지만 백업 데이터를 수신할 대역폭보다는 낮은 경우, 또는 상기 데이터 수신율이 백업 가능하지만 백업할 데이터가 없는 경우, 상기 제어부600은 1041단계에서 이를 감지하고, 1051단계에서 현재 재생할 단위 데이터를 억세스하여 표시부640에서 재생되도록 하며, 또한 수신되는 단위데이터를 상기 저장부610의 대응되는 단위데이터 구간에 저장한다. 그리고 프로그래시브 다운로드 재생이 종료가 아니면, 상기 제어부600은 1031단계에서 이를 감지하고, 1033단계에서 다음에 전송요청할 단위데이타의 데이터 수신율을 기준 대역폭으로 결정한다.
상기와 같은 동작을 수행하면서 프로그래시브 다운로드 재생을 수행하며, 상기 재생의 완료가 되면 상기 제어부600은 1031단계에서 프로그래시브 다운로드 재생을 종료한다.
상기 도 14를 참조하면, 상기 제어부600은 1411단계에서 상기 다운로드 테이블을 검사하여 다운로드할 백업 데이터 정보가 있는가 검사한다. 이때 백업할 데이터가 등록되어 있으면, 상기 제어부600은 1413단계에서 백업할 단위데이터의 정보(단위 데이터의 번호, 다운로드할 단위데이터의 대역폭)를 상기 서버100에 전송하며, 또한 다운로드되는 백업 데이터를 저장부610에 저장한다. 이후 상기 1415단계에서 등록된 백업 데이터의 다운로드 저장을 완료하였는가 검사하며, 완료하지 못한 경우에는 상기 1413단계로 되돌아와 같이 다음 단위데이터 수신 구간에서 수신할 벡업 데이터의 전송요구 및 수신된 백업 데이터를 재생한다. 그리고 상기 1415단계에서 백업 데이터의 저장완료를 감지하면, 상기 제어부600은 1417단계에서 프로그래시브 다운로드 재생 절차를 종료한다.
상기한 바와 같이 단말장치의 데이터 수신율이 기준 대역폭을 가지는 단위 데이터의 재생시간보다 낮으면, 상기 단말장치200은 상기 기준 대역폭보다 낮은 대역폭을 가지는 단위 데이터의 전송을 요청하며, 또한 기준 대역폭보다 낮은 대역폭을 가지는 단위데이터를 수신하면 상기 단말장치는 해당하는 단위데이터의 구간을 백업 구간으로 등록한다. 따라서 기준 대역폭보다 낮은 대역폭의 단위데이터를 수신하는 경우, 상기 단말장치는 다운로드된 낮은 대역폭(즉, 저화질)의 데이터를 재생하게 되며, 해당 단위데이터를 백업데이터로 등록한다. 그리고 상기 단말장치의 데이터 수신율이 기준 대역폭보다 높아지고 또한 백업 데이터의 수신이 가능하면, 상기 단말장치는 수신되는 기준 대역폭의 단위데이터를 다운로드하여 저장부610에 저장하며, 또한 등록된 백업 데이터의 리스트(즉, 다운로드 테이블)를 분석하여 백업 데이터의 전송을 요청하고, 다운로드되는 백업 데이터를 저장부610에 저장한다. 즉, 통신환경이 양호해지면 상기 다운로드 테이블에 등록된 단위데이터들의 전송을 요청하고, 이에 대한 응답으로 수신되는 백업 데이터를 상기 저장부610에 저장한다. 따라서 프로그래시브 다운로드 재생시 상기 단말장치는 통신 환경에 따라 적응적으로 멀티미디어 데이터의 대역폭을 가변시켜 다운로드 및 재생하며, 상기 다운로드시 기준 대역폭보다 낮은 대역폭으로 수신되는 멀티미디어 데이터들을 통신환경이 양호해지는 시점에서 백업 채널을 통해 다시 다운로드한다. 이로인해 단말장치는 프로그래시브 다운로드 재생시 통신환경에 관계없이 멀티미디어 데이터를 끊김없이 재생할 수 있으며, 또한 기준 대역폭보다 낮은 대역폭으로 다운로드된 멀티미디어 데이터들을 기준 대역폭으로 재요청하여 다운로드하므로써 기준 대역폭의 멀티미디어 데이터로 저장할 수 있게 된다.
도 15 - 도 16b를 참조하여 Http Live Streaming의 프로그래시브 다운로드 재생절차를 살펴본다. 먼저 프로그래시브 다운로드 재생 설정과정에서 원하는 멀티미디어 데이터 및 저장하고자 대역폭을 설정하면, 단말장치200은 1610 과정에서 서버100에 도 15와 같은 구성을 가지는 메인 인덱스파일 및 서브 인덱스 파일을 연속 요청하면, 상기 서버100은 이에 대한 응답으로 메인 인덱스 파일 및 서브 인덱스 파일을 다운로드한다. 이때 상기 서브 인덱스 파일은 High/stream이 선택된 예를 도시하고 있다. 그러면 상기 단말은 상기 인덱스 파일을 파싱하여 기준 대역폭의 단위데이터 구성을 확인한다.
먼저 1610 과정에서 인덱스 파일을 수신한 후, 상기 단말장치200은 데이터의 수신율을 분석하여 첫번째 단위 데이터의 전송을 요구한다. 상기 데이터 수신율이 기준 대역폭의 데이터를 수신할 수 있는 경우(즉, network is stable), 상기 단말장치는 상기 서버100에 1-H.TS 단위 데이터의 전송을 요구하며, 이에 따라 서버100은 상기 단말장치200에 1-H.TS 데이터를 다운로드한다. 상기 도 16a 및 도 16b에서 H.TS는 3개의 세그먼트 데이터로 이루어지고, M.TS는 2개의 세그먼트 데이터로 이루어진 예로 도시되고 있다.
상기와 같이 1-H.TS 단위데이터를 수신하여 저장한다. 또한 상기 1-H.TS 단위데이터를 다운로드하면서 상기 단말장치200은 단위데이터의 수신율을 측정한다. 이때 상기 데이터 수신율이 기준 대역폭의 단위데이타 재생시간보다 낮으면 다음에 전송요청할 단위데이터(여기서는 두번째 TS가 될 수 있음)의 대역폭을 낮추어 선택한다.
두번째로 1620과정에서 데이터 수신율이 기준 대역폭을 가지는 단위데이터의 재생시간보다 낮은 경우(즉, network getting worse), 상기 단말장치200은 상기 서버100에 2-M.TS의 전송을 요구한다. 그러면 상기 서버100은 2-M.TS 단위 데이터를 단말장치200에 다운로드한다. 이때 상기 단말장치는 다운로드되는 2-M.TS 단위 데이터를 상기 다운로드테이블에 백업 단위데이터로 등록한다. 그리고 상기 2-M.TS 단위 데이터를 다운로드하면서 데이터 수신율을 측정하며, 데이터 수신율이 더 나빠지면 다음에 전송요청할 단위데이터(여기서는 세번째 TS가 될 수 있음)를 가장 낮은 대역폭으로 설정한다.
세번째로 1630과정에서 데이터 수신율이 매우 낮은 경우(즉, network is congested), 상기 단말장치200은 상기 서버100에 3-L.TS의 전송을 요구한다. 그러면 상기 서버100은 3-L.TS 단위 데이터를 단말장치200에 다운로드한다. 이때 상기 단말장치는 다운로드되는 3-L.TS 단위 데이터를 상기 다운로드테이블에 백업 단위데이터로 등록한다. 그리고 상기 3-L.TS 단위 데이터를 다운로드하면서 데이터 수신율을 측정한다. 이때 데이터 수신율이 정상적으로 회복되면서 기준 대역폭의 단위데이터를 수신할 수 있는 상태로 판단되면, 상기 단말장치200은 다음에 전송요청할 단위데이터(여기서는 네번째 TS가 될 수 있음)를 기준 대역폭으로 설정한다.
네번째로 1640과정에서 상기 단말장치200은 상기 데이터 수신율이 기준 대역폭의 데이터를 수신할 수 있는 경우(즉, network is recovered), 상기 단말장치는 상기 서버100에 4-H.TS 단위 데이터의 전송을 요구하며, 이에 따라 서버100은 상기 단말장치200에 4-H.TS 데이터를 다운로드한다. 그러면 상기 단말장치200은 4-H.TS 단위데이터를 수신하여 저장한다. 또한 상기 4-H.TS 단위데이터를 다운로드하면서 상기 단말장치200은 단위데이터의 수신율을 측정한다. 이때 상기 데이터 수신율이 기준 대역폭의 단위데이타 재생시간보다 높고, 또한 백업등록된 단위데이터의 전송이 가능하면 다음에 전송요청할 단위데이터(여기서는 다섯번째 TS가 될 수 있음)의 대역폭을 기준 대역폭으로 설정한다.
다섯번째로 1650과정에서 상기 단말장치200은 상기 데이터 수신율이 기준 대역폭의 데이터를 수신할 수 있는 경우(즉, network is stable), 상기 단말장치는 상기 서버100에 5-H.TS 단위 데이터 및 백업 단위데이터인 2-H.TS의 전송을 요구하며, 이에 따라 서버100은 상기 단말장치200에 5-H.TS 데이터를 다운로드하며, 상기 단말장치200은 5-H.TS 단위데이터를 수신하여 저장한다. 또한 서버100은 상기 단말장치200에 2-H.TS 데이터를 다운로드하며, 상기 단말장치200은 2-H.TS 단위데이터를 수신하여 저장한다. 이때 상기 백업 단위데이터 2-H.TS의 다운로드는 복수의 세그먼트 데이터(여기서는 3개로 예시되어 있음)들 전부 또는 이들 중 일부 세그먼트 데이터가 전송될 수 있다. 그리로 이런 결정은 단말장치가 측정 데이터 수신율에 따라 결정할 수 있으며, 또한 서버100이 결정할 수 있다. 이런 경우, 상기 단말장치는 세그먼트 데이터들을 수신한 후 다시 하나의 단위데이터로 결합하여 저장할 수 있으며, 그대로 저장할 수도 있다. 상기 5-H.TS 단위데이터를 다운로드하면서 상기 단말장치200은 단위데이터의 수신율을 측정한다. 이때 상기 데이터 수신율이 기준 대역폭의 단위데이타 재생시간보다 높고, 또한 백업등록된 단위데이터의 전송이 가능하면 다음에 전송요청할 단위데이터(여기서는 여섯번째 TS가 될 수 있음)의 대역폭을 기준 대역폭으로 설정한다
여섯번째로 1660과정에서 상기 단말장치200은 상기 데이터 수신율이 기준 대역폭의 데이터를 수신할 수 있는 경우(즉, network is stable), 상기 단말장치는 상기 서버100에 6-H.TS 단위 데이터 및 백업 단위데이터인 2-H.TS의 나머지 데이터의 전송을 요구하며, 이에 따라 서버100은 상기 단말장치200에 6-H.TS 데이터를 다운로드하며, 상기 단말장치200은 6-H.TS 단위데이터를 수신하여 저장한다. 또한 서버100은 상기 단말장치200에 2-H.TS 데이터를 다운로드하며, 상기 단말장치200은 2-H.TS 단위데이터를 수신하여 저장한다.
상기 도 16a 및 16b에 예시된 바와 같이, 네트워크 환경이 좋지 않으면(즉, 단말장치의 데이터 수신율이 단위데이터의 재생시간보다 낮으면), 1620과정 및 1630과정에서와 같이 기준 대역폭보다 낮은 대역폭을 가지는 단위데이터를 다운로드하여 저장하며, 이후 네트워크 안정되어 단말장치의 데이터 수신율을 높아지면, 1650과정 및 1660과정에 도시된 바와 같이 현재 수신하여야 단위 데이터와 함께 백업 데이터로 등록된 단위 데이터를 다운로드하여 저장할 수 있다. 이때 상기와 같이 다운로드되는 단위데이터는 일정 재생시간 분량까지 누적하여 저장되며, 일정 재생시간을 확보하면(즉, 일정수의 단위데이터들을 저장한 경우) 상기 단말장치는 저장된 단위 데이터들을 억세스하면서 재생 동작을 수행한다.
도 17 - 도 18b를 참조하여 smooth Streaming의 프로그래시브 다운로드 재생절차를 살펴본다. 먼저 프로그래시브 다운로드 재생 설정과정에서 원하는 멀티미디어 데이터 및 저장하고자 대역폭을 설정하면, 단말장치200은 1810 과정에서 서버100에 도 17과 같은 구성을 가지는 인덱스 파일을 요청하면, 상기 서버100은 이에 대한 응답으로 인덱스 파일을 다운로드한다. 그러면 상기 단말은 상기 인덱스 파일을 파싱하여 기준 대역폭의 단위데이터 구성을 확인한다. 이때 상기 smooth streaming의 경우 비디오 및 오디오 데이터를 각각 구성하고 있으므로, 상기 단말장치200은 다운로드 요청시 기준 대역폭의 비디오 데이터 및 오디오 데이터를 전송 요청하여야 한다. 또한 상기 smooth streaming의 경우 비디오 데이터의 프래그먼트는 재생시간 정보를 포함하고 있다. 이런 경우, 상기 단말장치는 상기 시간정보를 포함하는 단위데이터의 전송을 요구한다. 여기서 각 프래그먼트 단위데이터의 시간은 10초인 경우를 가정하고 있다.
먼저 1810 과정에서 인덱스 파일을 수신한 후, 상기 단말장치200은 데이터의 수신율을 분석하여 첫번째 단위 데이터의 전송을 요구한다. 상기 데이터 수신율이 기준 대역폭의 데이터를 수신할 수 있는 경우(즉, network is stable), 상기 단말장치는 상기 서버100에 QualityLevel(High)/Video(0) 단위 데이터의 전송을 요구하며, 이에 따라 서버100은 상기 단말장치200에 QualityLevel(High)/Video(0) 데이터를 다운로드한다. 상기 도 18a 및 도 18b에서 QualityLevel(High)/Video는 3개의 세그먼트 데이터로 이루어지고, QualityLevel(Mid)/Video는 2개의 세그먼트 데이터로 이루어진 예로 도시되고 있다. 그리고 상기 단말장치는 해당 프래그먼트의 QualityLevel(High)/Audio(0) 오디오 데이터의 전송을 요청하고 이에 따라 서버100은 오디오 데이터를 다운로드하며, 단말장치는 다운로드되는 오디오데이터를 저장한다.
상기와 같이 QualityLevel(High)/Video(0) 단위데이터를 수신하여 저장한다. 또한 상기 QualityLevel(High)/Video(0) 단위데이터를 다운로드하면서 상기 단말장치200은 단위데이터의 수신율을 측정한다. 이때 상기 데이터 수신율이 기준 대역폭의 단위데이타 재생시간보다 낮으면 다음에 전송요청할 단위데이터(여기서는 두번째 프래그먼트가 될 수 있음)의 대역폭을 낮추어 선택한다.
두번째로 1820과정에서 데이터 수신율이 기준 대역폭을 가지는 단위데이터의 재생시간보다 낮은 경우(즉, network getting worse), 상기 단말장치200은 상기 서버100에 QualityLevel(Mid)/Video(10)의 전송을 요구한다. 그러면 상기 서버100은 (QualityLevel(Mid)/Video(10)단위 데이터를 단말장치200에 다운로드한다. 이때 상기 단말장치는 다운로드되는 두번째 프래그먼트의 비디오 단위 데이터를 상기 다운로드테이블에 백업 단위데이터로 등록한다. 또한 상기 단말장치는 해당 프래그먼트의 QualityLevel(High)/Audio(10) 오디오 데이터의 전송을 요청하고 이에 따라 서버100은 오디오 데이터를 다운로드하며, 단말장치는 다운로드되는 오디오데이터를 저장한다. 이때 상기 오디오 데이터는 데이터 수신율에 상관없이 동일한 크기를 가지는 오디오 데이터를 다운로드한다. 그리고 상기 두번째 프래그먼트 비디오 단위 데이터를 다운로드하면서 데이터 수신율을 측정하며, 데이터 수신율이 더 나빠지면 다음에 전송요청할 단위데이터(여기서는 세번째 프래그먼트가 될 수 있음)를 가장 낮은 대역폭으로 설정한다.
세번째로 1830과정에서 데이터 수신율이 매우 낮은 경우(즉, network is congested), 상기 단말장치200은 상기 서버100에 QualityLevel(Low)/Video(20)의 전송을 요구한다. 그러면 상기 서버100은 QualityLevel(Low)/Video(20) 단위 데이터를 단말장치200에 다운로드한다. 이때 상기 단말장치는 다운로드되는 QualityLevel(Low)/Video(20) 단위 데이터를 상기 다운로드테이블에 백업 단위데이터로 등록한다. 그리고 상기 단말장치200은 단위 데이터를 다운로드하면서 데이터 수신율을 측정한다. 이때 데이터 수신율이 정상적으로 회복되면서 기준 대역폭의 단위데이터를 수신할 수 있는 상태로 판단되면, 상기 단말장치200은 다음에 전송요청할 단위데이터(여기서는 네번째 프래그먼트가 될 수 있음)를 기준 대역폭으로 설정한다.
네번째로 1640과정에서 상기 단말장치200은 상기 데이터 수신율이 기준 대역폭의 데이터를 수신할 수 있는 경우(즉, network is recovered), 상기 단말장치는 상기 서버100에 QualityLevel(High)/Video(30) 단위 데이터의 전송을 요구하며, 이에 따라 서버100은 상기 단말장치200에 QualityLevel(High)/Video(30) 데이터를 다운로드하며, 상기 단말장치200은 이를 수신하여 저장한다. 그리고 상기 단말장치200은 대응되는 프래그먼트의 오디오 데이터의 전송을 요청하고, 다운로드되는 오디오데이터를 저장한다. 또한 상기 단말장치는 데이터를 다운로드하면서 데이터 수신율을 측정한다. 이때 상기 데이터 수신율이 기준 대역폭의 단위데이타 재생시간보다 높고, 또한 백업등록된 단위데이터의 전송이 가능하면 다음에 전송요청할 단위데이터(여기서는 다섯번째 프래그먼트가 될 수 있음)의 대역폭을 기준 대역폭으로 설정한다.
다섯번째로 1850과정에서 상기 단말장치200은 상기 데이터 수신율이 기준 대역폭의 데이터를 수신할 수 있는 경우(즉, network is stable), 상기 단말장치는 상기 서버100에 QualityLevel(High)/Video(40) 단위 데이터의 전송을 요구하며, 이에 따라 서버100은 상기 단말장치200에 QualityLevel(High)/Video(40) 데이터를 다운로드하며, 상기 단말장치200은 이를 수신하여 저장한다. 또한 단말장치는 상기 서버100에 백업 등록된 QualityLevel(High)/Video(10) 단위 데이터의 전송을 요구한다. 그러면 상기 서버100은 상기 단말장치200에 QualityLevel(High)/Video(10) 데이터를 다운로드하며, 상기 단말장치200은 이를 수신하여 저장한다. 이때 상기 백업 단위데이터 QualityLevel(High)/Video(10)의 다운로드는 복수의 세그먼트 데이터(여기서는 3개로 예시되어 있음)들 전부 또는 이들 중 일부 세그먼트 데이터가 전송될 수 있다. 그리로 이런 결정은 단말장치가 측정 데이터 수신율에 따라 결정할 수 있으며, 또한 서버100이 결정할 수 있다. 이런 경우, 상기 단말장치는 세그먼트 데이터들을 수신한 후 다시 하나의 단위데이터로 결합하여 저장할 수 있으며, 그대로 저장할 수도 있다. 상기 데이터를 다운로드하면서 상기 단말장치200은 단위데이터의 수신율을 측정한다. 이때 상기 데이터 수신율이 기준 대역폭의 단위데이타 재생시간보다 높고, 또한 백업등록된 단위데이터의 전송이 가능하면 다음에 전송요청할 단위데이터(여기서는 여섯번째 프래그먼트가 될 수 있음)의 대역폭을 기준 대역폭으로 설정한다
여섯번째로 1660과정에서 상기 단말장치200은 상기 데이터 수신율이 기준 대역폭의 데이터를 수신할 수 있는 경우(즉, network is stable), 상기 단말장치는 상기 서버100에 QualityLevel(High)/Video(50) 단위 데이터의 전송을 요구한다. 그러면 상기 서버100은 상기 단말장치200에 QualityLevel(High)/Video(50) 데이터를 다운로드하며, 상기 단말장치200은 이를 수신하여 저장한다. 또한 단말장치는 상기 서버100에 백업 등록된 QualityLevel(High)/Video(10) 단위 데이터의 남은 세그먼트 데이터 전송을 요구하고, 이에 따라 서버100은 상기 단말장치200에 QualityLevel(High)/Video(10) 데이터를 다운로드하며, 상기 단말장치200은 이를 수신하여 저장한다.
상기 도 18a 또는 18b에 예시된 바와 같이, 네트워크 환경이 좋지 않으면(즉, 단말장치의 데이터 수신율이 단위데이터의 재생시간보다 낮으면), 1820과정 및 1830과정에서와 같이 기준 대역폭보다 낮은 대역폭을 가지는 단위데이터를 다운로드하여 저장하며, 이후 네트워크 안정되어 단말장치의 데이터 수신율을 높아지면, 1850과정 및 1860과정에 도시된 바와 같이 현재 수신하여야 단위 데이터와 함께 백업 데이터로 등록된 단위 데이터를 다운로드하여 저장할 수 있다. 이때 상기와 같이 다운로드되는 단위데이터는 일정 재생시간 분량까지 누적하여 저장되며, 일정 재생시간을 확보하면(즉, 일정수의 단위데이터들을 저장한 경우) 상기 단말장치는 저장된 단위 데이터들을 억세스하면서 재생 동작을 수행한다.
본 명세서와 도면에 개시 된 본 발명의 실시예들은 본 발명의 기술 내용을 쉽게 설명하고 본 발명의 이해를 돕기 위해 특정 예를 제시한 것일 뿐이며, 본 발명의 범위를 한정하고자 하는 것은 아니다. 여기에 개시된 실시예들 이외에도 본 발명의 기술적 사상에 바탕을 둔 다른 변형 예들이 실시 가능하다는 것은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에게 자명한 것이다.

Claims (23)

  1. 단말장치의 프로그래시브 다운로드 재생 방법에 있어서,
    제 1 품질을 가지는 제 1 데이터의 제 1 수신율을 측정하는 과정과,
    상기 제 1 수신율이 기준 대역폭보다 낮으면, 상기 제 1 품질 보다 낮은 제 2 품질을 가지는 제 2 데이터의 전송을 요청하는 과정과,
    상기 제 1 데이터의 수신을 중지하고, 상기 제 2 데이터를 수신하는 과정과,
    상기 제 2 데이터를 수신하는 기간을 백업 구간으로 등록하는 과정과,
    상기 제 2 데이터의 제 2 수신율을 측정하는 과정과,
    상기 제 2 수신율이 상기 기준 대역폭 보다 높으면, 백업 채널을 통해 상기 제 2 데이터에 대응하는 백업 데이터의 전송을 요청하는 과정과,
    상기 백업 데이터를 저장하는 과정을 포함하고,
    상기 백업 데이터는 상기 제 1 품질을 가지는 것을 특징으로 하는 방법.
  2. 제1항에 있어서,
    상기 제 1 수신율이 상기 기준 대역폭 보다 낮으면, 상기 제 1 수신율에 대응하는 대역폭으로 상기 제 2 데이터의 전송을 요청하는 과정을 더 포함하는 하는 방법.
  3. 제2항에 있어서,
    상기 백업 데이터는 상기 제 2 수신율이 상기 기준 대역폭 보다 높으며, 다운로드되어 재생되지 않은 제 1 데이터 또는 제 2 데이터 중 적어도 하나가 설정된 크기 이상일 때 요청되는 것을 특징으로 하는 방법.
  4. 제3항에 있어서,
    상기 제 2 수신율이 상기 기준 대역폭 보다 높으면, 상기 기준 대역폭으로 데이터의 전송을 요청하고, 상기 데이터를 저장하는 과정을 더 구비하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서, 상기 데이터는 동영상 데이터인 것을 특징으로 하는 방법.
  6. 프로그래시브 다운로드 재생의 기준 대역폭을 설정하는 과정과,
    제 1 멀티미디어 데이터를 수신하는 제 1 수신율을 측정하는 과정과,
    상기 제 1 수신율이 상기 기준 대역폭 보다 낮으면, 백업 멀티미디어 데이터의 전송을 요청하는 과정과,
    상기 제 1 멀티미디어 데이터의 수신을 중지하고, 상기 백업 멀티미디어 데이터를 수신하는 과정과,
    상기 백업 멀티미디어 데이터를 수신하는 기간을 백업 구간으로 등록하는 과정과,
    상기 백업 멀티미디어 데이터의 수신율을 측정하는 과정과,
    상기 백업 멀티미디어 데이터의 수신율이 상기 기준 대역폭 보다 높으면, 상기 백업 멀티미디어 데이터에 대응하는 제 2 멀티미디어 데이터를 요청하는 과정을 포함하고,
    상기 제 1 멀티미디어 데이터 및 상기 제 2 멀티미디어 데이터는 제 1 품질을 가지는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 백업 멀티미디어 데이터 및 상기 제 2 멀티미디어 데이터는 서로 다른 품질을 가지는 동일한 멀티미디어 데이터의 사본이며, 동일한 재생시간을 가지는 단위 데이터들로 구성되는 것을 특징으로 하는 방법.
  8. 제7항에 있어서, 상기 기준 대역폭을 설정하는 과정은,
    멀티미디어 데이터의 인덱스 파일을 선택하는 과정과,
    상기 인덱스파일을 파싱하여 프로그래시브 다운로드 재생할 단위데이터의 기준 대역폭을 선택하는 과정을 더 포함하는 방법.
  9. 제8항에 있어서, 상기 백업 구간으로 등록하는 과정은,
    단위데이터의 수신율에 대응하도록 상기 기준 대역폭을 설정하는 과정과,
    상기 단위데이터의 수신율이 상기 기준 대역폭 보다 낮으면, 상기 단위데이터를 수신한 구간을 다운로드 테이블에 상기 백업 구간으로 등록하는 과정을 포함하는 방법
  10. 제9항에 있어서,
    상기 제 2 멀티미디어 데이터는 상기 백업 멀티미디어 데이터의 수신율이 기준 대역폭 보다 높으며 다운로드되어 재생되지 않은 상기 단위데이터의 수가 설정된 수 이상일 때 요청되는 것을 특징으로 하는 방법.
  11. 삭제
  12. 삭제
  13. 제8항에 있어서,
    상기 멀티미디어 데이터는 HTTP live streaming 동영상 데이터이며, 상기 단위데이터는 TS인 것을 특징으로 하는 방법.
  14. 제13항에 있어서,
    상기 멀티미디어 데이터는 H.TS. M.TS 및 L.TS 대역폭들을 가지는 동영상 데이터인 것을 특징으로 하는 방법.
  15. 제8항에 있어서,
    상기 멀티미디어 데이터는 Smooth streaming 동영상 데이터이며, 상기 단위데이터는 프래그먼트인 것을 특징으로 하는 방법.
  16. 제15항에 있어서,
    상기 멀티미디어 데이터는 VH.Frag. VM.Frag 및 VL.Frag 대역폭들을 가지는 동영상 데이터인 것을 특징으로 하는 방법.
  17. 단말의 프로그래시브 다운로드 재생 장치에 있어서,
    서버에 데이터의 전송을 요청하며, 재생채널을 통해 데이터를 다운로드하고 백업채널을 통해 백업 데이터를 다운로드하는 통신부와,
    다운로드테이블 및 콘텐츠 저장부를 구비하는 저장부와,
    제 1 품질을 가지는 제 1 데이터의 제 1 수신율을 측정하고, 상기 제 1 수신율이 기준 대역폭보다 낮으면 상기 제 1 품질 보다 낮은 제 2 품질을 가지는 제 2 데이터의 전송을 요청하고, 상기 제 1 데이터의 수신을 중지하고, 상기 제 2 데이터를 수신하고, 상기 제 2 데이터를 수신하는 기간을 백업 구간으로 등록하고, 상기 제 2 데이터의 제 2 수신율을 측정하고, 상기 제 2 수신율이 상기 기준 대역폭보다 높으면 상기 백업 채널을 통해 상기 제 2 데이터에 대응하는 백업 데이터의 전송을 요청하고, 상기 백업 데이터를 상기 콘텐츠 저장부에 저장하는 제어부를 포함하고,상기 백업 데이터는 상기 제 1 품질을 가지는 것을 특징으로 하는 장치.
  18. 제17항에 있어서,
    상기 백업 데이터 및 상기 제 2 데이터는 서로 다른 품질을 가지는 동일한 멀티미디어 데이터의 사본이며, 동일한 재생시간을 가지는 단위 데이터들로 구성되는 것을 특징으로 하는 장치
  19. 제18항에 있어서,
    상기 제어부는 상기 제 1 수신율이 상기 기준 대역폭보다 낮으면, 상기 제 1 수신율에 대응하는 대역폭으로 상기 제 데이터의 전송을 요청하도록 설정된 장치.
  20. 제19항에 있어서,
    상기 제어부는 상기 제 2 수신율이 상기 기준 대역폭보다 높으며 다운로드되어 재생되지 않은 제 1 데이터 또는 제 2 데이터 중 하나가 설정된 단위데이터 수 이상일 때 상기 백업 데이터의 전송을 요청하도록 설정된 장치.
  21. 제20항에 있어서,
    상기 제어부는 제 2 수신율이 상기 기준 대역폭 보다 높으면 상기 기준 대역폭으로 데이터의 전송을 요청하고, 상기 데이터를 상기 콘텐츠 저장부에 저장하도록 설정된 장치.
  22. 제21항에 있어서,
    상기 데이터는 HTTP live streaming 동영상 데이터이며, 상기 단위데이터는 TS인 것을 특징으로 하는 장치.
  23. 제21항에 있어서,
    상기 데이터는 Smooth streaming 동영상 데이터이며, 상기 단위데이터는 프래그먼트인 것을 특징으로 하는 장치.
KR1020120025778A 2012-03-13 2012-03-13 단말장치의 멀티미디어 처리장치 및 방법 KR101904053B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020120025778A KR101904053B1 (ko) 2012-03-13 2012-03-13 단말장치의 멀티미디어 처리장치 및 방법
US13/792,878 US10404772B2 (en) 2012-03-13 2013-03-11 Multimedia data processing apparatus and method of terminal
EP13158761.0A EP2640083B1 (en) 2012-03-13 2013-03-12 Multimedia data processing apparatus and method of terminal
PCT/KR2013/002001 WO2013137634A1 (en) 2012-03-13 2013-03-13 Multimedia data processing apparatus and method of terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120025778A KR101904053B1 (ko) 2012-03-13 2012-03-13 단말장치의 멀티미디어 처리장치 및 방법

Publications (2)

Publication Number Publication Date
KR20130104358A KR20130104358A (ko) 2013-09-25
KR101904053B1 true KR101904053B1 (ko) 2018-11-30

Family

ID=48050422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120025778A KR101904053B1 (ko) 2012-03-13 2012-03-13 단말장치의 멀티미디어 처리장치 및 방법

Country Status (4)

Country Link
US (1) US10404772B2 (ko)
EP (1) EP2640083B1 (ko)
KR (1) KR101904053B1 (ko)
WO (1) WO2013137634A1 (ko)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929551B2 (en) * 2013-03-13 2021-02-23 Comcast Cable Communications, Llc Methods and systems for managing data assets
US9569352B2 (en) 2013-03-14 2017-02-14 Sandisk Technologies Llc Storage module and method for regulating garbage collection operations based on write activity of a host
US20160309210A1 (en) * 2013-11-25 2016-10-20 Le Shi Zhi Xin Electronic Technology (Tianjin) Limited Video playback method, apparatus and intelligent terminal
US9864760B1 (en) * 2013-12-05 2018-01-09 EMC IP Holding Company LLC Method and system for concurrently backing up data streams based on backup time estimates
US9471254B2 (en) * 2014-04-16 2016-10-18 Sandisk Technologies Llc Storage module and method for adaptive burst mode
KR102221021B1 (ko) * 2014-07-21 2021-02-26 삼성전자주식회사 전자 장치 및 인터넷 프로토콜 기반의 네트워크에서 패킷을 처리하는 방법
JP6043825B2 (ja) * 2015-03-20 2016-12-14 ヤフー株式会社 情報処理装置、情報処理方法、情報処理プログラム、および配信装置
US9813299B2 (en) * 2016-02-24 2017-11-07 Ciena Corporation Systems and methods for bandwidth management in software defined networking controlled multi-layer networks
US9990158B2 (en) 2016-06-22 2018-06-05 Sandisk Technologies Llc Storage system and method for burst mode management using transfer RAM
CN106375403B (zh) * 2016-08-31 2021-06-01 惠州学院 数据同步方法及装置
KR102649957B1 (ko) 2016-12-20 2024-03-20 엘지디스플레이 주식회사 액정 표시 장치
US10762284B2 (en) * 2017-08-21 2020-09-01 International Business Machines Corporation Automated summarization of digital content for delivery to mobile devices
US11588876B2 (en) * 2020-06-16 2023-02-21 T-Mobile Usa, Inc. Device-side playback restrictions on high throughput networks
CN115720130A (zh) * 2021-08-23 2023-02-28 中兴通讯股份有限公司 音频处理方法、装置、终端及计算机可读存储介质
CN115022717B (zh) * 2022-05-31 2023-11-07 北京字跳网络技术有限公司 一种数据下载方法、装置、计算机设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041674A1 (en) 2002-09-25 2006-02-23 Koninklijke Philips Electronics N.V. Communication system and method of managing a streaming session
US20100254684A1 (en) * 2008-10-06 2010-10-07 Plannet Associate Co., Ltd. Distribution system of contents

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5898833A (en) * 1996-12-31 1999-04-27 Intel Corporation Method and apparatus for increasing the effective bandwidth of video sequences transmitted over a network by using cached data
US6672775B1 (en) * 1997-08-01 2004-01-06 International Business Machines Corporation Cross-machine web page download and storage
US6879808B1 (en) * 2000-11-15 2005-04-12 Space Systems/Loral, Inc Broadband communication systems and methods using low and high bandwidth request and broadcast links
US7447791B2 (en) 2000-12-15 2008-11-04 British Telecommunications Public Limited Company Transmission and reception of audio and/or video material
KR100892977B1 (ko) 2002-11-16 2009-04-10 엘지전자 주식회사 대화형 광디스크 장치에서의 콘텐츠 정보 재생방법과,콘텐츠 제공서버에서의 콘텐츠 정보 제공방법
JP2006191186A (ja) 2004-12-28 2006-07-20 Toshiba Corp コンテンツの再生システム、再生装置、再生方法、及び配信サーバ
US8154988B2 (en) 2007-12-06 2012-04-10 Cisco Technology, Inc. Delivery of streams to repair errored media streams in periods of insufficient resources
US20090178091A1 (en) 2008-01-08 2009-07-09 Hiroki Miyamoto Contents distribution method and receiving device
JP5150459B2 (ja) 2008-01-08 2013-02-20 株式会社日立製作所 コンテンツ配信方法及び受信装置
JP4670902B2 (ja) 2008-05-30 2011-04-13 ソニー株式会社 送信装置、送信方法および受信装置
US8370887B2 (en) * 2008-05-30 2013-02-05 Microsoft Corporation Media streaming with enhanced seek operation
JP4444358B1 (ja) 2008-12-24 2010-03-31 株式会社プランネット・アソシエイツ プログレッシブダウンロード再生用プログラム
JP2010098526A (ja) 2008-10-16 2010-04-30 Sony Corp 受信装置、コンテンツ受信方法、およびプログラム
JP5278059B2 (ja) 2009-03-13 2013-09-04 ソニー株式会社 情報処理装置及び方法、プログラム、並びに情報処理システム
KR101428980B1 (ko) 2009-08-03 2014-08-13 에스케이플래닛 주식회사 컨텐츠 제공 방법 및 서버
US8914835B2 (en) 2009-10-28 2014-12-16 Qualcomm Incorporated Streaming encoded video data
US9613142B2 (en) * 2010-04-26 2017-04-04 Flash Networks Ltd Method and system for providing the download of transcoded files
US9002259B2 (en) * 2010-08-13 2015-04-07 Bose Corporation Transmission channel substitution
US20120110628A1 (en) * 2010-10-27 2012-05-03 Candelore Brant L Storage of Adaptive Streamed Content
US9112942B2 (en) * 2011-07-15 2015-08-18 Shmuel Ur Dynamic modification of media streams' quality
WO2013058684A1 (en) * 2011-10-17 2013-04-25 Telefonaktiebolaget L M Ericsson (Publ) Method for adaptive streaming, local storing and post-storing quality increase of a content file
US9900630B2 (en) * 2011-11-08 2018-02-20 Comcast Cable Communications, Llc Adaptive content selection
EP2789142A1 (en) * 2011-12-08 2014-10-15 Telefonaktiebolaget L M Ericsson (publ) Progressive download prioritisation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041674A1 (en) 2002-09-25 2006-02-23 Koninklijke Philips Electronics N.V. Communication system and method of managing a streaming session
US20100254684A1 (en) * 2008-10-06 2010-10-07 Plannet Associate Co., Ltd. Distribution system of contents

Also Published As

Publication number Publication date
EP2640083B1 (en) 2018-05-02
EP2640083A3 (en) 2014-12-31
KR20130104358A (ko) 2013-09-25
EP2640083A2 (en) 2013-09-18
WO2013137634A1 (en) 2013-09-19
US10404772B2 (en) 2019-09-03
US20130246582A1 (en) 2013-09-19

Similar Documents

Publication Publication Date Title
KR101904053B1 (ko) 단말장치의 멀티미디어 처리장치 및 방법
US10911506B2 (en) Methods for quality-aware adaptive streaming over hypertext transfer protocol and reporting quality of experience
US8683071B2 (en) Method and apparatus for supporting time shift playback in adaptive HTTP streaming transmission solution
KR102119287B1 (ko) 이용가능한 대역폭에 따라 전송 프로토콜을 선택함으로써 콘텐츠를 획득하는 장치
KR102270034B1 (ko) 다수 개의 무선 억세스 인터페이스들을 지원하는 이동 통신 시스템에서 스트리밍 서비스 데이터 수신 장치 및 방법
US9871740B2 (en) Methods and systems for optimal delivery of internet video over wireless networks
US20090125634A1 (en) Network media streaming with partial syncing
CN110636339B (zh) 基于码率的调度方法、装置及电子设备
US10715569B2 (en) Delivery control device and delivery control method for content delivery according to ABR delivery method
US9826283B2 (en) Apparatus and method for inserting advertisement in a broadcasting system
US9131251B2 (en) Use of a receive-window size advertised by a client to a content server to change a video stream bitrate streamed by the content server
KR101922552B1 (ko) 멀티미디어 컨텐트 전송 시스템에서 적응적 스트리밍을 이용한 트래픽 제어 방법 및 장치
KR20170037408A (ko) 다수의 무선 접속 인터페이스를 지원하는 이동 통신 시스템에서 스트리밍 서비스 데이터를 수신하는 장치 및 방법
EP2704443A2 (en) Device for controlling streaming of media, server, receiver and method of controlling thereof
KR101555792B1 (ko) 멀티미디어 청크(chunk)를 수신하는 통신 단말기의 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체
KR101548501B1 (ko) 청크 기반의 끊김 없는 스트림 송수신 장치 및 그 방법
CN116193133A (zh) 基于无线空口带宽的码率自适应调整装置和方法
KR101428980B1 (ko) 컨텐츠 제공 방법 및 서버
CN112823527B (zh) 在能够运行一个自适应流传输会话的设备处实现的方法以及对应的设备
GB2505486A (en) Controlling the streaming of media from a server to a receiver using variable bit-rates
Kalinin ANALYTICAL AND SIMULATION MODELS FOR QUALITY EVALUATION OF VIDEO STREAMING TRANSMISSION VIA WIRELESS NETWORK
Ameur TCP protocol optimization for HTTP adaptive streaming
KR101479864B1 (ko) 멀티미디어 청크(chunk)를 수신하는 통신 단말기 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체
CN116132746A (zh) 一种动态码率自适应网络视频传输方法及终端设备
CN115604507A (zh) 基于多站点协同的视频传输装置

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