KR102352679B1 - 다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법 - Google Patents

다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법 Download PDF

Info

Publication number
KR102352679B1
KR102352679B1 KR1020150041646A KR20150041646A KR102352679B1 KR 102352679 B1 KR102352679 B1 KR 102352679B1 KR 1020150041646 A KR1020150041646 A KR 1020150041646A KR 20150041646 A KR20150041646 A KR 20150041646A KR 102352679 B1 KR102352679 B1 KR 102352679B1
Authority
KR
South Korea
Prior art keywords
network
time
image data
activate
image
Prior art date
Application number
KR1020150041646A
Other languages
English (en)
Other versions
KR20160115020A (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 KR1020150041646A priority Critical patent/KR102352679B1/ko
Priority to US14/962,547 priority patent/US10887630B2/en
Publication of KR20160115020A publication Critical patent/KR20160115020A/ko
Application granted granted Critical
Publication of KR102352679B1 publication Critical patent/KR102352679B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0247Traffic management, e.g. flow control or congestion control based on conditions of the access network or the infrastructure network
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • H04L65/4069
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • 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/458Scheduling content for creating a personalised stream, e.g. by combining a locally stored advertisement with an incoming stream; Updating operations, e.g. for OS modules ; time-related management operations
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
    • 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/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64707Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless for transferring content from a first network to a second network, e.g. between IP and wireless
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0273Traffic management, e.g. flow control or congestion control adapting protocols for flow control or congestion control to wireless environment, e.g. adapting transmission control protocol [TCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/10Flow control between communication endpoints
    • H04W28/14Flow control between communication endpoints using intermediate storage
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Landscapes

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

Abstract

제 1 네트워크를 통하여 상기 영상 데이터를 수신하는 단계; 상기 수신된 영상 데이터 중 버퍼링된 영상 데이터에 대하여 재생 가능 시간을 계산하는 단계; 상기 계산된 재생 가능 시간에 기초하여, 제 2 네트워크의 활성화 여부를 결정하는 단계; 및 상기 결정에 따라, 상기 제 1 네트워크 및 상기 제 2 네트워크 중 적어도 하나를 이용하여 상기 영상 데이터를 수신하는 단계를 포함하는 다중 경로 전송 제어 프로토콜(MPTCP)를 지원하는 디바이스가 영상 데이터를 스트리밍으로 수신하는 방법이 개시된다.

Description

다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법{DEVICE SUPPORTING MULTIPATH TCP, AND METHOD OF RECEIVING VIDEO DATA OF DEVICE BY STREAMING}
다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법이 개시된다.
최근 인터넷이나 이동통신망을 통해서 동영상을 전송하는 스트리밍 서비스(streaming service)가 널리 사용되고 있다. 일반적으로, 스트리밍 서비스는 사용자의 단말기의 저장 장치에 멀티미디어 데이터를 저장하지 않고 재생(play)한 후 데이터를 제거하는 멀티미디어 서비스이다. 상기 스트리밍 서비스는 유선 통신 망에서도 널리 쓰이고 있으나 별도의 저장(storage) 공간이 부족한 휴대폰과 같은 이동통신 단말기의 경우 매우 유용한 서비스이다.
이러한 스트리밍 기술이 비약적으로 발전하면서, 실시간 IPTV(Internet Protocol Television) 서비스가 및 VOD(Video on Demand) 서비스가 활성화되고 있으며, 특히 모바일 디바이스가 널리 보급됨에 따라 무선 네트워크를 통한 모바일 디바이스의 스트리밍 서비스의 이용이 급증하고 있다.
스트리밍 서비스는 네트워크의 상태에 따라 많은 영향을 받는다. 모바일 디바이스의 화면이 더 커지고 프로세서의 성능이 더 좋아짐에 따라 고품질의 영상이 증가하여, 고품질의 영상을 스트리밍으로 수신하여 재생하기 위한 안정적이고 효율적인 무선 네트워크의 지원이 필요하다. 그러나, 사용자들의 네트워크 사용 빈도, 정도 및 사용 패턴이 다르므로 네트워크의 상태는 장소와 시간에 따라 변화가 심하다. 특히 모바일 디바이스에서의 스트리밍 서비스는 무선 네트워크 방식을 사용하는데, 무선 네트워크는 환경적인 요인에 따라 페이딩, 간섭 등이 발생하여 통신 신호가 변화할 가능성이 높으므로, 유선 네트워크에 비해 네트워크의 상태 변화가 더욱 심하다.
무선 네트워크를 이용하는 모바일 디바이스가 WiFi, 3G, LTE 등 다양한 통신 인터페이스들을 가지고 있는 것이 점점 일반화 되면서, 하나의 모바일 디바이스에서 다수의 네트워크 경로를 동시에 이용하여 전송 효율을 높이고자 하는 방법으로 다중 경로 전송 제어 프로토콜(Multipath Transport Control Protocol, MPTCP)가 연구되고 있다. MPTCP는 서로 다른 IP 주소를 가지고 있는 여러 통신 인터페이스를 동시에 사용한 데이터 전송을 가능하게 한다.
다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법을 제공한다.
일 측면에 따르면, 다중 경로 전송 제어 프로토콜(MPTCP)를 지원하는 디바이스가 영상 데이터를 스트리밍으로 수신하는 방법은, 제 1 네트워크를 통하여 상기 영상 데이터를 수신하는 단계; 상기 수신된 영상 데이터 중 버퍼링된 영상 데이터에 대하여 재생 가능 시간을 계산하는 단계; 상기 계산된 재생 가능 시간에 기초하여, 제 2 네트워크의 활성화 여부를 결정하는 단계; 및 상기 결정에 따라, 상기 제 1 네트워크 및 상기 제 2 네트워크 중 적어도 하나를 이용하여 상기 영상 데이터를 수신하는 단계를 포함한다.
또한, 상기 제 2 네트워크의 활성화 여부를 결정하는 단계는, 상기 계산된 재생 가능 시간을 소정의 기준 시간과 비교하여 상기 제 2 네트워크의 활성화 여부를 결정하는 단계를 포함할 수 있다.
또한, 상기 제 2 네트워크의 활성화 여부를 결정하는 단계는, 상기 계산된 재생 가능 시간이 제 1 소정의 시간보다 큰 경우 상기 제 2 네트워크를 비활성화하도록 결정하는 단계를 포함하고, 상기 제 1 소정의 시간은, 상기 영상의 재생을 시작하도록 하는, 상기 재생 가능 시간을 위한 기준을 나타내는 것일 수 있다.
또한, 상기 제 2 네트워크의 활성화 여부를 결정하는 단계는, 상기 계산된 재생 가능 시간을 기초로, 제 1 소정의 시간 및 제 2 소정의 시간을 참조하여 상기 제 2 네트워크를 활성화하도록 결정하는 단계를 포함하고, 상기 제 2 소정의 시간은, 상기 영상의 재생을 정지하도록 하는, 상기 재생 가능 시간의 기준을 위한 나타내는 것일 수 있다.
또한, 상기 제 1 네트워크를 통하여 상기 영상의 비트레이트에 관한 정보를 수신하는 단계를 더 포함하고, 상기 재생 가능 시간을 계산하는 단계는, 상기 수신된 비트레이트 정보를 이용하여 상기 수신된 영상의 재생 가능 시간을 계산하는 단계를 포함할 수 있다.
또한, 상기 방법은 상기 제 1 네트워크를 통하여 상기 영상 데이터가 수신되기 시작하면, 상기 제 1 네트워크의 전송 속도를 측정하는 단계를 더 포함하고, 상기 제 2 네트워크의 활성화 여부를 결정하는 단계는, 상기 측정된 제 1 네트워크의 전송 속도에 기초하여 상기 제 2 네트워크의 활성화 여부를 결정하는 단계를 포함할 수 있다.
또한, 상기 제 2 네트워크의 활성화 여부를 결정하는 단계는, 상기 측정된 제 1 네트워크의 전송 속도가 소정의 기준 속도보다 작은 경우 상기 제 2 네트워크를 활성화하도록 결정하는 단계를 포함할 수 있다.
또한, 상기 방법은 상기 결정에 기초하여 상기 소정의 기준 시간을 조정하는 단계를 더 포함할 수 있다.
또한, 상기 소정의 기준 시간을 조정하는 단계는, 상기 제 2 네트워크가 활성화되면 상기 소정의 기준 시간을 감소시키고, 상기 제 2 네트워크가 비활성화되면 상기 소정의 기준 시간을 증가시키는 단계를 포함할 수 있다.
다른 일 측면에 따르면, 다중 경로 전송 제어 프로토콜(MPTCP)를 지원하는 디바이스는, 제 1 네트워크를 통하여 영상 데이터를 스트리밍으로 수신하는 통신 인터페이스; 및 상기 수신된 영상 데이터 중 버퍼링된 영상 데이터에 대하여 재생 가능 시간을 계산하는 프로세서를 포함하고, 상기 프로세서는, 상기 계산된 재생 가능 시간에 기초하여, 제 2 네트워크의 활성화 여부를 결정하고, 상기 결정에 따라 상기 제 1 네트워크 및 상기 제 2 네트워크 중 적어도 하나를 이용하여 상기 영상 데이터를 수신하도록 상기 통신 인터페이스를 제어하는 것을 특징으로 한다.
또한, 상기 프로세서는, 상기 계산된 재생 가능 시간을 소정의 기준 시간과 비교하여 상기 제 2 네트워크의 활성화 여부를 결정할 수 있다.
또한, 상기 프로세서는, 상기 계산된 재생 가능 시간이 제 1 소정의 시간보다 큰 경우 상기 제 2 네트워크를 비활성화하도록 결정하고, 상기 제 1 소정의 시간은, 상기 영상을 재생을 시작하도록 하는, 상기 재생 가능 시간을 위한 기준을 나타내는 것일 수 있다.
또한, 상기 프로세서는, 상기 계산된 재생 가능 시간을 기초로, 제 1 소정의 시간 및 제 2 소정의 시간을 참조하여 상기 제 2 네트워크를 활성화하도록 결정하고, 상기 제 2 소정의 시간은, 상기 영상의 재상을 정지하도록 하는, 상기 재생 가능 시간을 위한 기준을 나타내는 것일 수 있다.
또한, 상기 통신 인터페이스는, 상기 영상의 비트레이트에 관한 정보를 수신하고, 상기 프로세서는, 상기 수신된 비트레이트 정보를 이용하여 상기 수신된 영상의 재생 가능 시간을 계산할 수 있다.
또한, 상기 프로세서는, 상기 제 1 네트워크를 통하여 상기 영상 데이터가 수신되지 시작하면, 상기 제 1 네트워크의 전송 속도를 측정하고, 상기 측정된 전송 속도에 기초하여 상기 제 2 네트워크의 활성화 여부를 결정할 수 있다.
또한, 상기 프로세서는, 상기 측정된 전송 속도가 소정의 기준 속도보다 작은 경우 상기 제 2 네트워크를 활성화하도록 결정할 수 있다.
또한, 상기 프로세서는, 상기 결정에 기초하여 상기 소정의 기준 시간을 조정할 수 있다.
또한, 상기 프로세서는, 상기 제 2 네트워크가 활성화되면 상기 소정의 기준 시간을 감소시키고, 상기 제 2 네트워크가 비활성화되면 상기 소정의 기준 시간을 증가시킬 수 있다.
또 다른 일 측면에 따르면, 다중 경로 전송 제어 프로토콜(MPTCP)를 지원하는 디바이스는, 제 1 네트워크를 통하여 영상 데이터를 스트리밍으로 수신하는 통신 인터페이스; 및 상기 수신된 영상 데이터 중 버퍼링된 영상 데이터에 대하여 재생 가능 시간 시간에 기초하여 제 2 네트워크를 활성화하고, 상기 제 1 네트워크 및 상기 제 2 네트워크 중 적어도 하나를 이용하여 상기 영상 데이터를 수신하도록 제어하는 프로세서를 포함한다.
본 발명의 다양한 실시 예들에 따르면, 다중 경로 전송 제어 프로토콜을 지원하는 디바이스는 서로 다른 네트워크를 이용하여 영상의 수신하여 스트리밍으로 영상을 재생할 수 있다. 디바이스는 고품질의 영상을 끊김 없이 재생하는 동시에, 서로 다른 네트워크들 중 비용이 드는 모바일 데이터 네트워크의 사용을 효율적으로 줄여 비용을 절감할 수 있다.
도 1은 일 실시예에 따른 다중 경로 전송 제어 프로토콜(MPTCP)를 지원하는 디바이스를 포함하는 시스템을 나타낸다.
도 2는 일 실시예에 따른 디바이스에서 영상에 대한 재생 가능 시간을 계산하는 과정을 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 디바이스에서 스트리밍 방식에 따른 영상의 재생 동작을 설명하기 위한 도면이다.
도 4는 일 실시예에 따른 MPTCP를 지원하는 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법을 설명하기 위한 도면이다.
도 5는 영상의 해상도에 따른 비트레이트의 예시를 나타낸다.
도 6은 다른 일 실시예에 따른 디바이스에서 영상 데이터를 영상 데이터를 스트리밍으로 수신하는 방법을 설명하기 위한 도면이다.
도 7은 일 실시예에 따른 디바이스의 영상 데이터를 스트리밍으로 수신하는 방법의 흐름도이다.
도 8은 다른 일 실시예에 따른 디바이스의 영상 데이터를 스트리밍으로 수신하는 방법의 흐름도이다.
도 9는 일 실시예에 따른 MPTCP를 지원하는 디바이스의 하드웨어 구성도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
본 명세서에서 본 발명의 원리들의 '일 실시예'와 이런 표현의 다양한 변형들의 지칭은 이 실시예와 관련되어 특정 특징, 구조, 특성 등이 본 발명의 원리의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 표현 '일 실시예에서'와, 본 명세서 전체를 통해 개시된 임의의 다른 변형예들은 반드시 모두 동일한 실시예를 지칭하는 것은 아니다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
이하 첨부된 도면을 참고하여 본 발명을 상세히 설명하기로 한다.
도 1은 일 실시예에 따른 다중 경로 전송 제어 프로토콜(MPTCP)를 지원하는 디바이스(100)를 포함하는 시스템(10)을 나타낸다.
도 1을 참조하면, 시스템(10)은 다중 경로 전송 제어 프로토콜(Multipath Transport Control Protocol, MPTCP)을 지원하는 디바이스(100) 및 서버(200)를 포함할 수 있다.
서버(200)는 디바이스(100)가 재생하려는 영상 데이터를 저장하고 있는 디바이스로서, 디바이스(100)의 외부의 디바이스일 수 있다.
디바이스(100)는 무선 네트워크를 사용할 수 있는 다양한 종류의 디바이스일 수 있다. 예를 들어, 디바이스(100)는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿(tablet) 디바이스, 전자북 디바이스, 스마트 TV, 디지털방송용 디바이스, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션 등으로 구현될 수 있다.
무선 네트워크를 사용하는 디바이스(100)는 다중 경로 전송 제어 프로토콜(Multipath Transport Control Protocol, MPTCP)을 통해 WiFi, 3G, LTE 등 다양한 네트워크 경로를 동시에 이용하여 데이터를 송수신할 수 있다. 예를 들어, 도 1에서 디바이스(100)는 서버(200)로부터 스트리밍으로 영상 데이터를 수신하는 때에 제 1 네트워크와 제 2 네트워크를 동시에 이용하여 영상 데이터를 수신할 수 있다.
제 1 네트워크는 AP(access point)를 통한 WLAN(Wireless LAN)일 수 있고, 제 2 네트워크는 3G, 4G와 같은 모바일 네트워크일 수 있다. 제 1 네트워크와 제 2 네트워크는 전송 비용 및 에너지 비용 측면에서 차이가 있을 수 있다. 따라서, MPTCP를 지원하는 디바이스(100)에서 제 1 네트워크와 제 2 네트워크를 통한 영상 데이터 수신을 제어함으로써 데이터 수신의 효율을 증대시킬 수 있다.
구체적으로, 디바이스(100)는 비용 특면에서 이점이 있는 제 1 네트워크를 통하여 영상 데이터를 수신하고, 수신된 영상 데이터 중 버퍼링된 영상 데이터에 대한 재생 가능 시간을 계산할 수 있다.
영상에 대한 재생 가능 시간(Buffer Duration)은 수신된 영상 데이터를 일시적으로 저장하는 버퍼의 버퍼량에 관한 정보로서, 버퍼량을 시간 단위로 나타낸 것을 의미할 수 있다. 예를 들어, 디바이스(100)는 제 1 네트워크를 통하여 영상의 비트레이트에 관한 정보를 수신하고, 수신된 비트레이트에 관한 정보를 이용하여 영상의 재생 가능 시간을 계산할 수 있다. 디바이스(100)는 계산된 재생 가능 시간에 기초하여 제 2 네트워크의 활성화 여부를 결정할 수 있다.
제 2 네트워크를 활성화 한다는 것은 디바이스(100)가 제 2 네트워크를 이용하여 영상 데이터를 수신하는 것일 수 있다. 즉, MPTCP를 지원하는 디바이스(100)는 제 1 네트워크 및 제 2 네트워크에 이미 접속된 상태일 수 있다. 이때, 제 2 네트워크가 활성화되면 디바이스(100)는 미리 연결된 제 2 네트워크를 이용하여 영상 데이터를 수신할 수 있다.
디바이스(100)는 계산된 재생 가능 시간을 소정의 기준 시간과 비교하여 제 2 네트워크의 활성화 여부를 결정할 수 있다. 예를 들어, 디바이스(100)는 재생 가능 시간이 제 1 소정의 시간보다 크면 제 2 네트워크를 비활성화할 수 있다. 제 1 소정의 시간은 재생 가능 시간을 위한 기준으로서, 영상의 재생을 시작하도록 하는 기준 시간일 수 있다.
또한, 디바이스(100)는 재생 가능 시간을 기초로 제 1 소정의 시간 및 제 2 소정의 시간을 참조하여 제 2 네트워크의 활성화 여부를 결정할 수 있다. 제 2 소정의 시간은 재생 가능 시간의 기준으로서, 영상의 재생을 정지하도록 하는 기준 시간일 수 있다.
제 1 소정의 시간 및 제 2 소정의 시간에 관한 자세한 설명은 이하 도 3을 참조하여 후술하도록 한다.
디바이스(100)는 현재 버퍼링된 영상 데이터에 대한 재생 가능 시간에 기초하여, 제 1 네트워크의 전송 속도가 충분히 빠른 경우에는 제 2 네트워크를 비활성화하여 비용의 효율성을 높이고, 제 1 네트워크의 전송 속도가 충분히 빠르지 않은 경우에는 제 2 네트워크를 활성화하여 영상 재생에 끊김이 없이 영상 데이터를 스트리밍으로 수신할 수 있다.
또한, 디바이스(100)는 제 2 네트워크의 활성화 여부를 더욱 신속하게 결정하기 위하여, 제 1 네트워크를 통하여 재생하려는 영상에 대한 데이터(예를 들면, 메타 데이터)가 수신되기 시작하면 제 1 네트워크의 전송속도를 측정할 수 있다. 재생하려는 영상에 대한 데이터는 영상의 메타 데이터 또는 영상 테이터를 포함하는 의미일 수 있다.
디바이스(100)는 측정된 제 1 네트워크의 전송 속도에 기초하여 제 2 네트워크의 활성화 여부를 결정할 수 있다. 예를 들어, 디바이스(100)는 측정된 제 1 네트워크의 전송 속도가 소정의 기준 속도보다 작은 경우 제 2 네트워크를 활성화하도록 결정할 수 있다.
소정의 기준 속도는 영상을 스트리밍으로 수신하여 끊김 없이 재생하기 위하여 필요한 속도를 나타낼 수 있다. 소정의 기준 속도에 대한 자세한 설명은 이하 도 4 및 5를 참조하여 후술하도록 한다.
디바이스(100)는 초기 버퍼링 단계에서 제 1 네트워크의 전송 속도에 기초하여 제 2 네트워크의 활성화 여부를 결정함으로써 영상 데이터 수신의 효율을 더욱 높일 수 있다. 예를 들어, 데이터가 수신되기 시작하면 먼저 영상의 메타 데이터가 수신될 수 있다. 디바이스(100)는 메타 데이터를 수신해야 메타 데이터에 포함되는 영상의 비트레이트에 관한 정보를 이용하여 재생 가능 시간을 계산할 수 있다. 따라서, 디바이스(100)는 메타 데이터를 수신하기 이전에도 제 2 네트워크의 활성화 여부를 신속하게 결정하기 위하여, 제 1 네트워크의 전송 속도에 기초하여 제 2 네트워크의 활성화 여부를 결정할 수 있다.
또한, 디바이스(100)는 제 2 네트워크의 활성화 여부가 결정되면, 결정에 기초하여 소정의 기준 시간을 동적으로 조정할 수 있다. 구체적으로, 디바이스(100)는 제 2 네트워크가 활성화되면 소정의 기준 시간을 감소시키고, 제 2 네트워크가 비활성화되면 소정의 기준 시간을 증가시킬 수 있다.
디바이스(100)는 스트리밍으로 영상 데이터를 수신함과 동시에 수신된 영상을 재생하고 있는 상태에서 소정의 기준 시간을 적응적으로 조정함으로써 영상의 재생의 정지 가능성을 줄일 수 있다. 디바이스(100)는 잦은 일시 정지에 따른 영상의 품질 저하를 방지할 수 있다.
예를 들어, 디바이스(100)는 제 2 네트워크의 활성화 여부에 따라, 영상의 재생을 시작하도록 하는 기준 시간인 제 1 소정의 시간 및 영상의 재생을 정지하도록 하는 기준 시간인 제 2 소정의 시간을 조정할 수 있다. 디바이스(100)는 제 2 네트워크의 활성화되면, 제 1 소정의 시간 및 제 2 소정의 시간을 감소시킬 수 있다.
도 2는 일 실시예에 따른 디바이스(100)에서 영상에 대한 재생 가능 시간을 계산하는 과정을 설명하기 위한 도면이다.
도 2를 참조하면, 디바이스(100)에서 영상을 재생하는 경우에 영상과 함께 표시될 수 있는 사용자 인터페이스가 나타난다. 예를 들어, 사용자 인터페이스는 재생 바(210)일 수 있다.
재생 바(210)는 현재 재생되는 영상에 관한 정보를 나타낼 수 있다. 예를 들어, 재생 바(210)는 현재 재생되는 영상의 전체 길이(220)를 나타낼 수 있다. 또한, 재생 바(210)는 영상의 전체 길이(220) 중 현재 재생 위치(230)를 나타낼 수 있다. 디바이스(100)가 영상을 스트리밍 방식으로 수신하여 재생하는 경우에 재생 바(210)는 전체 영상 데이터 중 수신된 영상 데이터에 대한 재생 가능 시간(240)를 더 표시할 수 있다.
영상 데이터에 대한 재생 가능 시간(240)은 수신된 영상 데이터를 일시적으로 저장하는 버퍼의 버퍼량에 관한 정보일 수 있다. 즉, 재생 가능 시간(240)은 일시적으로 저장된 버퍼량을 시간 정보로 나타낸 것일 수 있다. 예를 들어, 현재 재생 중인 영상의 버퍼량이 5초의 재생 가능 시간(240)에 대응되는 경우, 재생 바(210)는 5초의 재생 가능 시간(240)을 영상의 전체 길이(220)와 구별되게 표시하여 나타낼 수 있다.
디바이스(100)가 스트리밍 방식이 아닌 디바이스(100) 내에 저장된 영상 데이터를 재생하는 경우 또는 영상 데이터가 전부 수신되어 버퍼링된 경우, 재생 가능 시간(240)은 현재 재생 위치(202)로부터 영상의 마지막까지의 구간이 될 수 있다.
디바이스(100)는 수신된 영상 데이터 중 버퍼링된 영상 데이터에 대하여 재생 가능 시간(240)을 계산할 수 있다. 예를 들어, 재생 가능 시간(240)은 버퍼링된 영상 데이터의 양을 영상과 영상의 비트레이트를 참조하여 계산할 수 있다. 버퍼링된 영상 데이터의 양의 단위는 바이트(bytes)일 수 있고, 영상의 비트레이트의 단위는 비트/초(bits/second, bps)일 수 있다. 재생 가능 시간(240)의 단위는 초(seconds), 밀리초(milliseconds), 마이크로초(micorseconds) 등일 수 있다.
디바이스(100)는 제 1 네트워크를 통하여 수신된 버퍼링된 영상 데이터의 양을 실시간으로 측정하여 재생 가능 시간(240)을 계산할 수 있다. 디바이스(100)는 제 2 네트워크가 활성화되면 제 1 네트워크 및 제 2 네트워크 중 적어도 하나를 통하여 수신된 버퍼링된 영상 데이터의 양을 실시간으로 측정하여 재생 가능 시간(240)을 계산할 수 있다.
또한, 디바이스(100)는 제 1 네트워크를 통하여 데이터가 수신되기 시작하면 영상의 메타 데이터를 수신할 수 있다. 디바이스(100)는 수신된 메타 데이터에 포함된 영상의 비트레이트에 관한 정보를 이용하여 재생 가능 시간(240)을 계산할 수 있다.
도 3은 일 실시예에 따른 디바이스(100)에서 스트리밍 방식에 따른 영상의 재생 동작을 설명하기 위한 도면이다.
도 3을 참조하면, 시간에 따른 영상의 재생 가능 시간을 나타내는 그래프(300)가 나타난다. 그래프(300)의 X축은 시간축으로 단위는 초이고, Y축은 재생 가능 시간으로 단위는 초일 수 있다.
그래프(300)에서, S0 단계는 디바이스(100)가 영상 데이터를 수신하기 시작하는 단계이다. S0 단계는 초기 버퍼링 구간일 수 있다. 디바이스(100)는 초기에 영상의 재생을 중지하고 있는 상태일 수 있다. S0 단계에서, 디바이스(100)는 서버(200)로부터 영상 데이터를 수신하여 영상 데이터를 일시적으로 저장하는 버퍼에 버퍼링할 수 있다.
디바이스(100)는 버퍼량이 소정의 값 이상이 되면 영상의 재생을 시작할 수 있다. 예를 들어, 버퍼량에 따라 계산된 재생 가능 시간이 제 1 소정의 시간 이상이 되면 디바이스(100)는 영상의 재생을 시작할 수 있다. 제 1 소정의 시간은 HWM(High Water-Mark)로서, 영상의 재생을 시작하도록 하는 기준 시간일 수 있다. 예를 들어, 제 1 소정의 시간은 5초일 수 있다.
디바이스(100)가 영상의 재생을 시작하면 S1 단계가 된다. S1 단계에서, 재생 가능 시간은 영상 데이터의 수신 및 버퍼링 속도에 따라 감소할 수도 있고 증가할 수도 있다. 예를 들어, 시간에 따라 재생 되어 버퍼에서 삭제되는 영상 데이터의 양이 새로 버퍼링되는 양보다 많으면, 재생 가능 시간은 감소할 수 있다. 재생 가능 시간이 감소되어 제 2 소정의 시간 이하로 될 때까지 디바이스(100)는 영상을 재생할 수 있다.
재생 가능 시간이 제 2 소정의 시간 이하가 되면 S2 단계에서 디바이스(100)는 영상의 재생을 정지할 수 있다. 이때, 재생의 정지는 일시 정지(pause)일 수 있다. 제 2 소정의 시간은 LWM(Low Water-Mark)로서, 영상의 재생을 정지하도록 하는 기준 시간일 수 있다. 예를 들어, 제 2 소정의 시간은 2초일 수 있다. 디바이스(100)는 잦은 일시 정지에 따른 영상의 품질 저하를 방지하기 위하여 재생 가능 시간이 제 1 소정의 시간 이상이 될 때까지 일시 정지 상태를 유지한다.
재생 가능 시간이 다시 제 1 소정의 시간 이상이 되면 S3 상태에서 디바이스(100)는 영상의 재생을 재개(resume)할 수 있다.
디바이스(100)는 재생 가능 시간의 증가 또는 감소에 따라서 재생의 일시 정지와 재개를 반복할 수 있다.
또한, 디바이스는 영상의 재생이 EOS(end of stream) 상태에 진입하면 재생 가능 시간이 제 2 소정의 시간 이하가 되어도 영상을 일시 정지하지 않을 수 있다. EOS 상태는 영상의 종반을 나타내는 상태로서 EOS 상태에 관한 정보는 영상 데이터 중 메타 데이터에 포함되어 있을 수 있다. 예를 들어, 영상의 메타 데이터는 영상의 전체 재생 길이 정보 또는 전체 데이터 크기 정보를 포함할 수 있다.
EOS 상태에서는, 디바이스(100)는 영상이 재생 중인 때에 재생 가능 시간이 제 2 소정의 시간 이하가 되어도 영상을 일시 정지하지 않을 수 있다. 또한, 디바이스(100)는 영상의 재생이 일시 정지 중인 때에 EOS 상태에 진입하면, 재생 가능 시간이 제 1 소정의 시간 이상이 아니어도 영상의 재생을 재개할 수 있다.
그래프(300)에서 영상이 재생 중인 구간은 S1 및 S3 단계가 된다.
도 4는 일 실시예에 따른 MPTCP를 지원하는 디바이스(100)에서 영상 데이터를 스트리밍으로 수신하는 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 시간에 따른 영상의 재생 가능 시간을 나타내는 그래프(400)가 나타난다. 그래프(400)의 X축은 시간축으로 단위는 초이고, Y축은 재생 가능 시간으로 단위는 초일 수 있다.
일 실시예에 따른 디바이스(100)는 영상의 재생 요청이 수신되면 MPTCP를 이용하여 영상 데이터를 수신할 수 있다. MPTCP를 지원하는 디바이스(100)는 WiFi, 3G, LTE 등 다양한 네트워크 경로를 동시에 이용하여 데이터를 송수신할 수 있다. 예를 들어, 디바이스(100)는 WLAN의 제 1 네트워크와 모바일 네트워크의 제 2 네트워크를 이용할 수 있다.
구체적으로, 디바이스(100)는 제 1 네트워크를 통해 영상 데이터가 저장된 서버(200)에 접속하여 영상 데이터를 수신할 수 있다. 그래프(400)를 참조하면, 디바이스(100)는 0초에서 제 1 네트워크를 통한 영상에 관한 데이터의 수신을 시작할 수 있다.
그래프(400)에서, 401 구간은 제 1 네트워크의 전송 속도를 측정하기 위한 최소 시간일 수 있다. 또한, 402 구간은 제 1 네트워크를 통하여 영상의 비트레이트에 관한 정보가 포함된 메타 데이터를 수신하는 시간일 수 있다. 또한, 403 구간(0~70초)은 영상의 초기 버퍼링 구간일 수 있다.
디바이스(100)는 제 1 네트워크를 통하여 0초부터 영상의 메타 데이터를 수신할 수 있다. 402 구간(0~20초)이 끝나 메타 데이터의 전송이 완료되면 디바이스(100)는 영상 데이터를 수신할 수 있다.
이때, 재생 가능 시간을 계산하기 위해서는 402 구간이 끝나야 하므로, 디바이스(100)는 402 구간이 끝나기 전에 제 1 네트워크의 전송 속도를 측정하여 신속하게 제 2 네트워크의 활성화 여부를 결정할 수 있다. 예를 들어, 디바이스(100)는 401 구간(1~5초)에서 제 1 네트워크의 전송 속도를 측정하여, 401 구간이 끝나는 때에 제 1 네트워크의 전송 속도에 기초하여 제 2 네트워크의 활성화 여부를 결정할 수 있다.
구체적으로, 디바이스(100)는 측정된 제 1 네트워크의 전송 속도를 소정의 기준 속도와 비교하여 제 1 네트워크의 전송 속도가 소정의 기준 속도보다 작은 경우에 제 2 네트워크를 활성화할 수 있다.
소정의 기준 속도는 영상을 스트리밍으로 수신하여 끊김 없이 재생하기 위하여 필요한 속도를 나타낼 수 있다. 예를 들어, 소정의 기준 속도는 2500(Kbyte/s)으로 미리 결정될 수 있다. 소정의 기준 속도는 일반적으로 사용되는 영상의 해상도에 따른 비트레이트를 고려하여 미리 결정될 수 있다.
도 5는 영상의 해상도에 따른 비트레이트의 예시를 나타낸다.
도 5를 참조하면, 영상의 해상도에 따라 추천 비트레이트, 최소 비트레이트 및 최대 비트레이트가 나타난다. 예를 들어, 추천 비트레이트 중에서 대부분의 해상도의 영상의 비트레이트를 커버할 수 있는 2500(Kbyte/s)가 소정의 기준 속도로 결정될 수 있다.
다시 도 4를 참조하면, 디바이스(100)는 제 1 네트워크의 전송 속도가 2500보다 작으면 제 2 네트워크를 활성화하도록 결정할 수 있다. 그래프(400)의 빗금친 영역의 구간은 제 2 네트워크가 활성화된 구간을 나타낸다. 예를 들어, 그래프(400)에서 제 2 네트워크가 활성화된 구간은 5초에서 70초 사이일 수 있다.
디바이스(100)는 401 구간이 끝나는 때부터 제 1 네트워크 및 제 2 네트워크를 통하여 데이터를 수신할 수 있다. 예를 들어, 디바이스(100)는 402 구간이 끝나는 때까지 제 1 네트워크 및 제 2 네트워크를 통하여 메타 데이터를 수신하고, 메타 데이터가 수신되면 영상 데이터를 수신할 수 있다.
디바이스(100)는 수신된 영상 데이터 중 버퍼링된 영상 데이터에 대하여 재생 가능 시간을 계산할 수 있다. 디바이스(100)는 수신 및 버퍼링된 영상 데이터의 버퍼량 및 영상의 비트레이트를 참조하여 재생 가능 시간을 계산할 수 있다. 그래프(400)를 참조하면, 초기 버퍼링 구간(403)에서 디바이스(100)가 영상 데이터를 수신함에 따라 재생 가능 시간이 증가한다.
디바이스(100)는 재생 가능 시간이 제 1 소정의 시간 이상이 되면 제 2 네트워크를 비활성화하도록 결정할 수 있다. 제 1 소정의 시간은 재생 가능 시간을 위한 기준으로서, 영상의 재생을 시작하도록 하는 기준 시간일 수 있다. 구체적으로, 디바이스(100)는 70초에서, 영상의 재생을 시작하고, 제 2 네트워크를 비활성화하여 제 1 네트워크 만을 통하여 영상 데이터를 수신하도록 결정할 수 있다.
디바이스(100)가 영상을 재생하면 영상 데이터의 전송 속도에 따라 재생 가능 시간이 증가 또는 감소할 수 있다. 재생 가능 시간이 감소하여 제 3 소정의 시간의 이하가 되면, 디바이스(100)는 제 2 네트워크를 다시 활성화하여 제 2 네트워크를 통하여 영상 데이터를 수신하도록 할 수 있다.
제 3 소정의 시간은 제 2 네트워크를 비활성화하도록 하는 기준 시간으로서, 디바이스(100)는 제 1 소정의 시간 및 제 2 소정의 시간을 참조하여 제 3 소정의 시간을 결정할 수 있다. 구체적으로, 제 3 소정의 시간은 제 1 소정의 시간보다 작고, 영상의 재생을 정지하도록 하는 기준 시간인 제 2 소정의 시간보다는 클 수 있다. 예를 들어, 소 제 3 정의 시간은 제 1 소정의 시간과 제 2 소정의 시간의 평균값일 수 있지만, 이제 제한되지 않고 사용자의 설정 또는 네트워크 상태 등에 따라 다르게 결정될 수 있다.
디바이스(100)는 제 2 네트워크를 활성화하는 기준 시간인 제 1 소정의 시간 및 제 2 네트워크를 비활성화하는 기준 시간인 제 3 소정의 시간을 참조하여, 재생 가능 시간에 따라 제 2 네트워크의 활성화 여부를 결정함으로써 제 2 네트워크를 효율적으로 이용하여 영상을 수신할 수 있다.
도 6은 다른 일 실시예에 따른 디바이스(100)에서 영상 데이터를 영상 데이터를 스트리밍으로 수신하는 방법을 설명하기 위한 도면이다.
도 4를 참조하면, 시간에 따른 영상의 재생 가능 시간을 나타내는 그래프(600)가 나타난다. 그래프(600)의 X축은 시간축으로 단위는 초이고, Y축은 재생 가능 시간으로 단위는 초일 수 있다.
그래프(600)는 초기 버퍼링 구간을 지난 후의 시간에 대한 그래프로서 200초에서 영상은 재생 중일 수 있다.
그래프(600)에서 601 구간(250~330초) 및 602 구간(350~360초)은 제 2 네트워크가 활성화된 구간이다. 603 구간(350~360초)은 EOS 상태 구간이다.
디바이스(100)는 제 2 네트워크의 활성화 여부의 결정에 기초하여 소정의 기준 시간을 동적으로 조정할 수 있다. 소정의 기준 시간은 제 1 소정의 시간 및 제 2 소정의 시간을 포함할 수 있다.
구체적으로, 디바이스(100)는 제 2 네트워크가 활성화되면 제 1 소정의 시간 및 제 2 소정의 시간을 감소시킬 수 있다. 디바이스(100)는 제 2 네트워크가 비활성화되면 제 1 소정의 시간 및 제 2 소정의 시간을 증가시킬 수 있다. 디바이스(100)는 제 2 네트워크의 활성화 여부의 결정에 기초해 소정의 기준 시간을 적응적으로 조정함으로써, 불필요한 재생의 정지를 줄여 잦은 일시 정지에 따른 영상의 품질 저하를 방지할 수 있다.
그래프(600)를 보면, 250초에서 재생 가능 시간이 제 3 소정의 시간 이하로 감소하면 디바이스(100)는 제 2 네트워크를 활성화하여 제 2 네트워크를 통해 영상 데이터를 수신할 수 있다. 또한, 디바이스(100)는 제 2 네트워크가 활성화되면 제 1 소정의 시간 및 제 2 소정의 시간을 감소시킬 수 있다. 제 1 소정의 시간 및 제 2 소정의 시간의 감소에 따라 제 3 소정의 시간도 감소될 수 있다.
예를 들어, 제 2 소정의 시간이 2초에서 1초로 감소되면, 디바이스(100)는 재생 가능 시간이 2초 이하가 되어도 1초 이상인한 영상의 재생을 정지하지 않는다. 활성화된 제 2 네트워크를 통하여 영상 데이터가 수신되면 재생 가능 시간이 1초 미만이 되지 않을 수 있고, 영상은 정지 없이 계속해서 재생될 수 있다.
601 구간에서 디바이스(100)가 제 1 네트워크 및 제 2 네트워크를 통하여 영상 데이터를 수신하면 재생 가능 시간은 증가할 수 있다. 재생 가능 시간이 감소된 제 1 소정의 시간 이상이 되면 330초에서 디바이스(100)는 제 2 네트워크를 비활성화할 수 있다. 제 2 네트워크가 비활성화되면 디바이스(100)는 감소된 제 2 소정의 시간 및 제 2 소정의 시간을 다시 증가시킬 수 있다. 제 1 소정의 시간 및 제 2 소정의 시간의 증가에 따라 제 3 소정의 시간도 증가될 수 있다.
디바이스(100)는 350초에서 재생 가능 시간이 다시 증가된 제 3 소정의 시간 이하로 감소되면 제 2 네트워크를 활성화하고 제 1 소정의 시간 및 제 2 소정의 시간을 감소시킬 수 있다. 350초부터 디바이스(100)는 제 2 네트워크를 이용하여 영상 데이터를 수신할 수 있다.
이때, 360초에서 영상 데이터의 재생이 EOS 상태(603 구간)에 진입하게 되면, 재생 가능 시간에 상관없이 제 2 네트워크를 비활성화할 수 있다. 디바이스(100)는 360초부터 제 1 네트워크 만을 통하여 영상 데이터를 수신할 수 있다.
EOS 상태는 영상의 종반을 나타내는 상태로서 EOS 상태에 관한 정보는 영상 데이터 중 메타 데이터에 포함되어 있을 수 있다. 예를 들어, 영상의 메타 데이터는 영상의 전체 재생 길이 정보 또는 전체 데이터 크기 정보를 포함할 수 있다.
EOS 상태에서는, 디바이스(100)는 영상이 재생 중인 때에 재생 가능 시간이 제 2 소정의 시간 이하가 되어도 영상을 일시 정지하지 않을 수 있다. 또한, 디바이스(100)는 영상의 재생이 일시 정지 중인 때에 EOS 상태에 진입하면, 재생 가능 시간이 제 1 소정의 시간 이상이 아니어도 영상의 재생을 재개할 수 있다.
디바이스(100)는 재생 가능 시간에 대한 기준 시간이 되는 소정의 시간들을 동적으로 조정하여 영상 데이터 수신의 효율을 높이고 재생의 잦은 끊김을 방지할 수 있다.
도 7은 일 실시예에 따른 디바이스(100)의 영상 데이터를 스트리밍으로 수신하는 방법의 흐름도이다.
710 단계에서, 디바이스(100)는 제 1 네트워크를 통하여 영상 데이터를 수신할 수 있다.
디바이스(100)는 재생하려는 영상에 대한 데이터로서 메타 데이터 및 영상 데이터를 수신할 수 있다. 예를 들어, 디바이스(100)는 제 1 네트워크를 통하여 영상의 메타 데이터를 수신하고, 메타 데이터가 수신되면 이어서 영상 데이터를 수신할 수 있다.
720 단계에서, 디바이스(100)는 수신된 영상 데이터 중 버퍼링된 영상 데이터에 대하여 재생 가능 시간을 계산할 수 있다.
재생 가능 시간은 수신된 영상 데이터를 일시적으로 저장하는 버퍼의 버퍼량에 관한 정보로서, 버퍼량을 시간 단위로 나타낸 것을 의미할 수 있다. 예를 들어, 디바이스(100)는 제 1 네트워크를 통하여 영상의 비트레이트에 관한 정보를 수신하고, 수신된 비트레이트에 관한 정보를 이용하여 영상의 재생 가능 시간을 계산할 수 있다.
730 단계에서, 디바이스(100)는 계산된 재생 가능 시간에 기초하여, 제 2 네트워크의 활성화 여부를 결정할 수 있다.
제 2 네트워크를 활성화 한다는 것은 디바이스(100)가 제 2 네트워크를 이용하여 영상 데이터를 수신하는 것일 수 있다. 즉, MPTCP를 지원하는 디바이스(100)는 제 1 네트워크 및 제 2 네트워크에 미리 연결되어 있을 수 있다. 이때, 제 2 네트워크가 활성화되면 디바이스(100)는 미리 연결된 제 2 네트워크를 이용하여 영상 데이터를 수신할 수 있다.
디바이스(100)는 계산된 재생 가능 시간을 소정의 기준 시간과 비교하여 제 2 네트워크의 활성화 여부를 결정할 수 있다. 예를 들어, 디바이스(100)는 재생 가능 시간이 제 1 소정의 시간보다 크면 제 2 네트워크를 비활성화할 수 있다. 제 1 소정의 시간은 재생 가능 시간을 위한 기준으로서, 영상의 재생을 시작하도록 하는 기준 시간일 수 있다.
또한, 디바이스(100)는 재생 가능 시간을 기초로 제 1 소정의 시간 및 제 2 소정의 시간을 참조하여 제 2 네트워크의 활성화 여부를 결정할 수 있다. 제 2 소정의 시간은 재생 가능 시간의 기준으로서, 영상의 재생을 정지하도록 하는 기준 시간일 수 있다.
또한, 디바이스(100)는 메타 데이터를 수신하기 전에는 신속하게 제 2 네트워크의 활성화 여부를 결정하기 위하여, 초기 버퍼링 단계에서 제 1 네트워크의 전송 속도를 이용할 수도 있다.
구체적으로, 디바이스(100)는 제 1 네트워크를 통하여 데이터가 수신되기 시작하면 제 1 네트워크의 전송속도를 측정할 수 있다. 디바이스(100)는 측정된 제 1 네트워크의 전송 속도에 기초하여 제 2 네트워크의 활성화 여부를 결정할 수 있다. 예를 들어, 디바이스(100)는 측정된 제 1 네트워크의 전송 속도가 소정의 기준 속도보다 작은 경우 제 2 네트워크를 활성화하도록 결정할 수 있다.
소정의 기준 속도는 영상을 스트리밍으로 수신하여 끊김 없이 재생하기 위하여 필요한 속도를 나타낼 수 있다. 예를 들어, 소정의 기준 속도는 2500(Kbyte/s)으로 미리 결정될 수 있다. 소정의 기준 속도는 일반적으로 사용되는 영상의 해상도에 따른 비트레이트를 고려하여 미리 결정될 수 있다.
디바이스(100)는 초기 버퍼링 단계에서 제 1 네트워크의 전송 속도에 기초하여 제 2 네트워크의 활성화 여부를 결정함으로써 영상 데이터 수신의 효율을 더욱 높일 수 있다.
또한, 디바이스(100)는 제 2 네트워크의 연결 상태, 전송 속도, 네트워크 타입에 따라 제 2 네트워크의 활성화 여부를 결정할 수 있다. 예를 들어, 디바이스(100)는 재생 가능 시간 또는 제 1 네트워크의 전송 속도에 기초하여 제 2 네트워크가 활성화되도록 결정된 경우에도, 제 2 네트워크의 연결 상태가 나쁘거나 전송 속도가 느리면 제 2 네트워크를 활성화하지 않을 수 있다. 또한, 제 2 네트워크의 타입이 3G 네트워크의 전송 속도 이상의 전송 속도를 갖는 네트워크 타입이 아닌 경우에도 디바이스(100)는 제 2 네트워크를 활성화하지 않을 수 있다.
또한, 디바이스(100)는 제 2 네트워크의 활성화 여부가 결정되면, 결정에 기초하여 소정의 기준 시간을 동적으로 조정할 수 있다. 구체적으로, 디바이스(100)는 제 2 네트워크가 활성화되면 소정의 기준 시간을 감소시키고, 제 2 네트워크가 비활성화되면 소정의 기준 시간을 증가시킬 수 있다. 소정의 기준 시간은 제 1 소정의 시간 및 제 2 소정의 시간을 포함할 수 있다.
디바이스(100)는 스트리밍으로 영상 데이터를 수신함과 동시에 수신된 영상을 재생하고 있는 상태에서 소정의 기준 시간을 적응적으로 조정함으로써 영상의 재생의 정지 가능성을 줄일 수 있다. 디바이스(100)는 잦은 일시 정지에 따른 영상의 품질 저하를 방지할 수 있다.
예를 들어, 디바이스(100)는 제 2 네트워크의 활성화되면, 영상의 재생을 시작하도록 하는 기준 시간인 제 1 소정의 시간 및 영상의 재생을 정지하도록 하는 기준 시간인 제 2 소정의 시간을 감소시켜 영생의 재생의 정지를 줄일 수 있다.
740 단계에서, 디바이스(100)는 제 2 네트워크의 활성화 여부의 결정에 따라, 제 1 네트워크 및 제 2 네트워크 중 적어도 하나를 이용하여 영상 데이터를 수신할 수 있다.
구체적으로, 디바이스(100)는 제 2 네트워크가 활성화되도록 결정되면 제 1 네트워크 및 제 2 네트워크를 통하여 영상 데이터를 수신할 수 있다. 디바이스(100)는 MPTCP를 이용하여 제 1 네트워크 및 제 2 네트워크를 동시에 사용함으로써, 영상 데이터의 전송 속도를 높여 끊김 없이 영상을 재생할 수 있다.
또한, 디바이스(100)는 제 2 네트워크가 비활성화되도록 결정되면 제 1 네트워크만을 통하여 영상 데이터를 수신할 수 있다. 제 1 네트워크의 전속 속도가 충분하여 제 1 네트워크만을 이용하는 경우 비용 측면에서 효율적으로 영상 데이터를 수신할 수 있다.
도 8은 다른 일 실시예에 따른 디바이스(100)의 영상 데이터를 스트리밍으로 수신하는 방법의 흐름도이다.
도 8의 흐름도는 도 7에서 설명된 단계와 중복되는 단계를 생략하고 있을 수 있다.
801 단계에서, 디바이스(100)는 영상의 재생 상태가 초기 버퍼링 단계인지 판단할 수 있다.
초기 버퍼링 단계는 재생하려는 영상의 재생이 아직 시작되기 전 단계일 수 있다. 예를 들어, 디바이스(100)는 영상 데이터에 대한 재생 가능 시간이 제 1 소정의 시간 이상이 되면 영상의 재생을 시작할 수 있고, 재생 가능 시간이 제 1 소정의 시간 이상이 되기 전까지의 구간이 초기 버퍼링 단계가 될 수 있다.
영상의 재생 상태가 초기 버퍼링 단계로 판단되면, 802 단계에서, 디바이스(100)는 제 1 네트워크의 전송 속도를 측정할 수 있다. 예를 들어, 디바이스(100)는 영상에 대한 메타 데이터가 수신되는 동안에 제 1 네트워크의 전송 속도를 측정할 수 있다.
디바이스(100)는 제 1 네트워크의 전송 속도를 이용함으로써, 초기 버퍼링 단계에서 신속하게 제 2 네트워크의 활성화 여부를 결정할 수 있다.
구체적으로, 803 단계에서, 디바이스(100)는 측정된 제 1 네트워크의 전송 속도와 비교할 수 있다.
소정의 기준 속도는 영상을 스트리밍으로 수신하여 끊김 없이 재생하기 위하여 필요한 속도를 나타낼 수 있다. 예를 들어, 소정의 기준 속도는 2500(Kbyte/s)으로 미리 결정될 수 있다. 소정의 기준 속도는 일반적으로 사용되는 영상의 해상도에 따른 비트레이트를 고려하여 미리 결정될 수 있다.
측정된 제 1 네트워크의 전송 속도가 소정의 기준 속도보다 작으면, 804 단계에서 디바이스(100)는 제 2 네트워크를 활성화하도록 결정할 수 있다. 디바이스(100)는 제 2 네트워크를 통하여 영상 데이터를 수신하여 영상 데이터의 전송 속도를 높일 수 있다.
801 단계에서 초기 버퍼링 단계가 아닌 것으로 판단되면, 805 단계에서 디바이스(100)는 영상의 재생 상태가 EOS 상태인지 여부를 판단할 수 있다. EOS 상태는 영상의 종반을 나타내는 상태로서 EOS 상태에 관한 정보는 영상 데이터 중 메타 데이터에 포함되어 있을 수 있다.
영상의 재생 상태가 EOS 상태로 판단되면, 806 단계에서 디바이스(100)는 제 2 네트워크를 비활성화하도록 결정할 수 있다.
영상의 재생 상태가 EOS 상태가 아닌 것으로 판단되면, 807 단계에서 디바이스(100)는 수신된 영상 데이터 중 버퍼링된 영상 데이터에 대하여 재생 가능 시간을 계산할 수 있다.
영상에 대한 재생 가능 시간은 수신된 영상 데이터를 일시적으로 저장하는 버퍼의 버퍼량에 관한 정보로서, 버퍼량을 시간 단위로 나타낸 것을 의미할 수 있다. 예를 들어, 디바이스(100)는 제 1 네트워크를 통하여 영상의 비트레이트에 관한 정보를 수신하고, 수신된 비트레이트에 관한 정보를 이용하여 영상의 재생 가능 시간을 계산할 수 있다.
808 단계에서, 디바이스(100)는 계산된 재생 가능 시간을 제 1 소정의 시간과 비교할 수 있다.
제 1 소정의 시간은 재생 가능 시간을 위한 기준으로서, 영상의 재생을 시작하도록 하는 기준 시간일 수 있다.
재생 가능 시간이 제 1 소정의 시간 이상이면, 806 단계에서 디바이스(100)는 제 2 네트워크를 비활성화하도록 결정할 수 있다.
재생 가능 시간이 제 1 소정의 시간보다 작으면, 809 단계에서 디바이스(100)는 재생 가능 시간을 제 3 소정의 시간과 비교할 수 있다.
제 3 소정의 시간은 제 2 네트워크를 비활성화하도록 하는 기준 시간으로서, 디바이스(100)는 제 1 소정의 시간 및 제 2 소정의 시간을 참조하여 제 3 소정의 시간을 결정할 수 있다. 구체적으로, 제 3 소정의 시간은 제 1 소정의 시간보다 작고, 영상의 재생을 정지하도록 하는 기준 시간인 제 2 소정의 시간보다는 클 수 있다. 예를 들어, 소 제 3 정의 시간은 제 1 소정의 시간과 제 2 소정의 시간의 평균값일 수 있다.
재생 가능 시간이 제 3 소정의 시간 이하이면, 804 단계에서 디바이스(100)는 제 2 네트워크가 활성화되도록 결정할 수 있다.
804 단계에서 제 2 네트워크가 활성화되면, 디바이스(100)는 제 1 소정의 시간 및 제 2 소정의 시간을 감소시킬 수 있다. 제 1 소정의 시간 및 제 2 소정의 시간의 감소에 따라 제 3 소정의 시간도 감소될 수 있다.
또한, 806 단계에서 제 2 네트워크가 비활성화되면, 디바이스(100)는 제 1 소정의 시간 및 제 2 소정의 시간을 증가시킬 수 있다. 제 1 소정의 시간 및 제 2 소정의 시간의 증가에 따라 제 3 소정의 시간도 증가될 수 있다.
디바이스(100)는 제 2 네트워크의 활성화 여부의 결정에 기초해 소정의 기준 시간을 적응적으로 조정함으로써, 불필요한 재생의 정지를 줄여 잦은 일시 정지에 따른 영상의 품질 저하를 방지할 수 있다.
도 9는 일 실시예에 따른 MPTCP를 지원하는 디바이스(100)의 하드웨어 구성도이다.
디바이스(100)는 무선 네트워크를 사용할 수 있는 다양한 종류의 디바이스일 수 있다. 예를 들어, 디바이스(100)는 휴대폰, 스마트 폰(smart phone), 노트북 컴퓨터(laptop computer), 태블릿(tablet) 디바이스, 전자북 디바이스, 스마트 TV, 디지털방송용 디바이스, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 네비게이션 등으로 구현될 수 있다.
도 9를 참조하면, 디바이스(100)는 통신 인터페이스(110), 사용자 인터페이스(120) 및 프로세서(130)를 포함할 수 있다.
통신 인터페이스(110)는 외부 디바이스와 데이터를 송수신하기 위한 구성으로서, 근거리 통신 모듈, 무선 통신 모듈, 모바일 통신 모듈, 유선 통신 모듈 등을 포함할 수 있다.
구체적으로, 통신 인터페이스(110)는 WiFi와 같은 WLAN인 제 1 네트워크에 접속하기 위한 제 1 네트워크 인터페이스 및 3G, 4G와 같은 모바일 네트워크에 접속하기 위한 제 2 네트워크 인터페이스를 포함할 수 있다. 즉, 통신 인터페이스(110)는 제 1 네트워크 인터페이스의 기능과 제 2 네트워크 인터페이스의 기능을 동시에 수행할 수 있는 하나의 하드웨어 구성일 수 있다.
또는, 통신 인터페이스(110)는 제 1 네트워크에 접속하기 위한 하나의 하드웨어 구성인 제 1 네트워크 인터페이스 및 제 2 네트워크에 접속하기 위한 별도의 하나의 하드웨어 구성인 제 2 네트워크 인터페이스로 구분하여 구현될 수 있다.
통신 인터페이스(110)는 다중 경로 전송 제어 프로토콜(MPTCP)를 지원할 수 있다. 통신 인터페이스(110)는 MPTCP를 이용하여 서로 다른 IP 주소를 가지는 제 1 네트워크 및 제 2 네트워크를 동시에 사용할 수 있다.
통신 인터페이스(110)는 제 1 네트워크 인터페이스 및 제 2 네트워크 인터페이스를 이용하여 제 1 네트워크 및 제 2 네트워크에 접속된 상태일 수 있다. 이때, 제 1 네트워크 또는 제 2 네트워크의 활성화 여부에 따라 통신 인터페이스(110)는 활성화된 제 1 네트워크 또는 제 2 네트워크를 이용하여 데이터를 수신할 수 있다.
구체적으로, 통신 인터페이스(110)는 재생하려는 영상에 대한 데이터를 제 1 네트워크를 통하여 수신할 수 있다. 재생하려는 영상에 대한 데이터는 영상의 메타 데이터 및 영상 데이터를 포함할 수 있다.
또한, 통신 인터페이스(110)는 제 2 네트워크의 활성화 여부에 따라 제 1 네트워크 및 제 2 네트워크 중 적어도 하나를 이용하여 영상 데이터를 수신할 수 있다.
예를 들어, 통신 인터페이스(110)는 제 2 네트워크가 활성화되면, 제 1 네트워크 및 제 2 네트워크를 통하여 서버(200)로부터 영상 데이터를 수신할 수 있다. 또한, 통신 인터페이스(110)는 제 2 네트워크가 비활성화되면, 제 1 네트워크만을 통하여 영상 데이터를 수신할 수 있다.
사용자 인터페이스(120)는 사용자에게 정보를 제공하고 사용자로부터 입력을 수신하기 위한 구성으로, 키보드, 정전식/감압식 터치스크린, 디스플레이, 물리적 버튼 등을 포함할 수 있다.
사용자 인터페이스(120)는 스트리밍으로 수신되는 영상 데이터를 디스플레이할 수 있다. 구체적으로, 사용자 인터페이스(120)는 영상의 재생 또는 정지에 관한 신호를 프로세서(130)로부터 수신하여 영상의 재생 화면을 디스플레이할 수 있다.
또한, 사용자 인터페이스(120)는 사용자로부터 영상의 재생 또는 정지에 관한 입력을 수신하여 영상의 재생 화면을 디스플레이할 수 있다.
프로세서(130)는 CPU(Central Processing Unit), AP(application processor) 등과 같은 적어도 하나의 프로세싱 유닛으로 구현된 구성으로서, 디바이스(100)의 전반적인 동작을 제어하는 기능을 수행할 수 있다.
프로세서(130)는 통신 인터페이스(110)가 서버(200)로부터 스트리밍으로 영상 데이터를 수신하여 사용자 인터페이스(120)가 영상을 재생할 수 있도록, 통신 인터페이스(110)를 제어할 수 있다.
구체적으로, 프로세서(130)는 영상에 대한 재생이 요청되면 제 1 네트워크를 통하여 영상 데이터를 수신하도록 통신 인터페이스(110)를 제어할 수 있다.
프로세서(130)는 재생하려는 영상에 대한 데이터로서 메타 데이터 및 영상 데이터를 수신하도록 통신 인터페이스(110)를 제어할 수 있다. 예를 들어, 프로세서(130)는 제 1 네트워크를 통하여 영상의 메타 데이터를 수신하고, 메타 데이터가 수신되면 이어서 영상 데이터를 수신하도록 통신 인터페이스(110)를 제어할 수 있다.
프로세서(130)는 수신된 영상 데이터 중 버퍼링된 영상 데이터에 대하여 재생 가능 시간을 계산할 수 있다. 프로세서(130)는 제 1 네트워크를 통하여 영상의 비트레이트에 관한 정보를 수신하고, 수신된 비트레이트에 관한 정보를 이용하여 영상의 재생 가능 시간을 계산할 수 있다.
프로세서(130)는 계산된 재생 가능 시간에 기초하여, 제 2 네트워크의 활성화 여부를 결정할 수 있다. 예를 들어, 프로세서(130)는 재생 가능 시간이 제 1 소정의 시간 이상이면 제 2 네트워크를 비활성화하도록 통신 인터페이스(110)를 제어할 수 있다. 제 1 소정의 시간은 재생 가능 시간을 위한 기준으로서, 영상의 재생을 시작하도록 하는 기준 시간일 수 있다.
또한, 프로세서(130)는 제 1 소정의 시간과 제 2 소정의 시간을 이용하여 결정되는 제 3 소정의 시간을 참조하여 제 2 네트워크를 활성화하도록 통신 인터페이스(110)를 제어할 수 있다. 프로세서(130)는 재생 가능 시간이 제 3 소정의 시간보다 작으면 제 2 네트워크를 활성화할 수 있다. 제 2 소정의 시간은 재생 가능 시간의 기준으로서, 영상의 재생을 정지하도록 하는 기준 시간일 수 있다.
또한, 프로세서(130)는 제 2 네트워크의 활성화 여부를 더욱 신속하게 결정하기 위하여, 제 1 네트워크를 통하여 재생하려는 영상에 대한 데이터(예를 들면, 메타 데이터)가 수신되기 시작하면 제 1 네트워크의 전송속도를 측정할 수 있다.
프로세서(130)는 측정된 제 1 네트워크의 전송 속도에 기초하여 제 2 네트워크의 활성화 여부를 결정할 수 있다. 예를 들어, 프로세서(130)는 측정된 제 1 네트워크의 전송 속도가 소정의 기준 속도보다 작은 경우 제 2 네트워크를 활성화하도록 통신 인터페이스(110)를 제어할 수 있다.
소정의 기준 속도는 영상을 스트리밍으로 수신하여 끊김 없이 재생하기 위하여 필요한 속도를 나타낼 수 있다. 예를 들어, 소정의 기준 속도는 2500(Kbyte/s)으로 미리 결정될 수 있다. 소정의 기준 속도는 일반적으로 사용되는 영상의 해상도에 따른 비트레이트를 고려하여 미리 결정될 수 있다.
또한, 프로세서(130)는 제 2 네트워크의 활성화 여부가 결정되면, 결정에 기초하여 소정의 기준 시간을 동적으로 조정할 수 있다. 구체적으로, 프로세서(130)는 제 2 네트워크가 활성화되면 소정의 기준 시간을 감소시키고, 제 2 네트워크가 비활성화되면 소정의 기준 시간을 증가시킬 수 있다.
프로세서(130)는 스트리밍으로 영상 데이터를 수신함과 동시에 수신된 영상을 재생하고 있는 상태에서 소정의 기준 시간을 적응적으로 조정함으로써 영상의 재생의 정지 가능성을 줄일 수 있다. 프로세서(130)는 잦은 일시 정지에 따른 영상의 품질 저하를 방지할 수 있다.
또한, 프로세서(130)는 영상의 재생 상태가 EOS 상태인지 여부를 판단할 수 있다. EOS 상태는 영상의 종반을 나타내는 상태로서 EOS 상태에 관한 정보는 영상 데이터 중 메타 데이터에 포함되어 있을 수 있다.
영상의 재생 상태가 EOS 상태로 판단되면, 프로세서(130)는 제 2 네트워크를 비활성화하도록 통신 인터페이스(110)를 제어할 수 있다.
프로세서(130)는 제 2 네트워크의 활성화 여부의 결정에 따라, 제 1 네트워크 및 제 2 네트워크 중 적어도 하나를 이용하여 영상 데이터를 수신하도록 통신 인터페이스(110)를 제어할 수 있다.
한편, 상술한 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성 가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 상기 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 또한, 상술한 방법에서 사용된 데이터의 구조는 컴퓨터로 읽을 수 있는 기록매체에 여러 수단을 통하여 기록될 수 있다. 상기 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
본 실시예와 관련된 기술 분야에서 통상의 지식을 가진 자는 상기된 기재의 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 방법들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 본 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 본 발명에 포함된 것으로 해석되어야 할 것이다.

Claims (20)

  1. 다중 경로 전송 제어 프로토콜(MPTCP)를 지원하는 디바이스가 영상 데이터를 스트리밍으로 수신하는 방법에 있어서,
    제 1 네트워크를 통하여 상기 영상 데이터의 일부를 수신하는 단계;
    상기 영상 데이터의 일부를 수신하는 동안, 상기 수신된 영상 데이터의 일부 중 버퍼링된 영상 데이터에 대하여 제1 재생 가능 시간을 계산하는 단계;
    상기 계산된 제1 재생 가능 시간과 소정의 기준 시간의 비교에 기초하여, 제 2 네트워크의 활성화 여부를 결정하는 단계;
    상기 제2 네트워크를 활성화하도록 결정함에 따라, 상기 제2 네트워크를 활성화하고, 상기 제 1 네트워크 및 상기 제 2 네트워크를 이용하여 상기 영상 데이터의 나머지 일부를 수신하고, 상기 기준 시간을 감소시키는 단계;
    상기 영상 데이터의 나머지 일부를 수신하는 동안 버퍼링된 영상 데이터에 대하여 제2 재생 가능 시간을 계산하는 단계;
    상기 계산된 제2 재생 가능 시간과 상기 감소된 기준 시간의 비교에 기초하여, 상기 제2 네트워크의 비활성화 여부를 결정하는 단계; 및
    상기 제2 네트워크를 비활성화하도록 결정함에 따라, 상기 제2 네트워크를 비활성화하고, 상기 제1 네트워크를 이용하여 상기 영상 데이터의 나머지 일부를 수신하고, 상기 기준 시간을 증가시키는 단계;를 포함하고,
    상기 기준 시간은, 상기 영상 데이터의 재생이 시작되기 위한 재생 시간의 양을 나타내는 것인, 방법.
  2. 삭제
  3. 제 1 항에 있어서,
    상기 제 2 네트워크의 활성화 여부를 결정하는 단계는,
    상기 계산된 제1 재생 가능 시간이 상기 소정의 기준 시간보다 큰 경우 상기 제 2 네트워크를 비활성화하도록 결정하는 단계를 포함하는, 방법.

  4. 제 1 항에 있어서,
    상기 소정의 기준 시간은 제1 소정의 시간을 포함하고,
    상기 제 2 네트워크의 활성화 여부를 결정하는 단계는,
    상기 계산된 제1 재생 가능 시간을 기초로, 상기 제 1 소정의 시간 및 제 2 소정의 시간을 참조하여 상기 제 2 네트워크를 활성화하도록 결정하는 단계를 포함하고,
    상기 제 2 소정의 시간은, 상기 영상의 재생을 정지하도록 하는, 상기 재생 가능 시간의 기준을 위한 나타내는 것인, 방법.
  5. 제 1 항에 있어서,
    상기 제 1 네트워크를 통하여 상기 영상의 비트레이트에 관한 정보를 수신하는 단계를 더 포함하고,
    상기 제1 재생 가능 시간을 계산하는 단계는,
    상기 수신된 비트레이트 정보를 이용하여 상기 수신된 영상 데이터의 일부의 제1 재생 가능 시간을 계산하는 단계를 포함하는, 방법.
  6. 제 1 항에 있어서,
    상기 제 1 네트워크를 통하여 상기 영상 데이터가 수신되기 시작하면, 상기 제 1 네트워크의 전송 속도를 측정하는 단계를 더 포함하고,
    상기 제 2 네트워크의 활성화 여부를 결정하는 단계는,
    상기 측정된 제 1 네트워크의 전송 속도에 기초하여 상기 제 2 네트워크의 활성화 여부를 결정하는 단계를 포함하는, 방법.
  7. 제 6 항에 있어서,
    상기 제 2 네트워크의 활성화 여부를 결정하는 단계는,
    상기 측정된 제 1 네트워크의 전송 속도가 소정의 기준 속도보다 작은 경우 상기 제 2 네트워크를 활성화하도록 결정하는 단계를 포함하는, 방법.
  8. 삭제
  9. 삭제
  10. 제 1 항, 제 3 항 내지 제 7 항 중 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체.
  11. 다중 경로 전송 제어 프로토콜(MPTCP)를 지원하는 디바이스에 있어서,
    통신 인터페이스; 및
    상기 통신 인터페이스를 통하여, 제 1 네트워크를 이용하여 영상 데이터의 일부를 수신하고,
    상기 영상 데이터의 일부를 수신하는 동안, 상기 수신된 영상 데이터의 일부 중 버퍼링된 영상 데이터에 대하여 제1 재생 가능 시간을 계산하고,
    상기 계산된 제1 재생 가능 시간과 소정의 기준 시간의 비교에 기초하여, 제 2 네트워크의 활성화 여부를 결정하고,
    상기 제2 네트워크를 활성화하도록 결정함에 따라, 상기 제2 네트워크를 활성화하고, 상기 제 1 네트워크 및 상기 제 2 네트워크를 이용하여 상기 영상 데이터의 나머지 일부를 수신하도록 상기 통신 인터페이스를 제어하고, 상기 기준 시간을 감소시키고,
    상기 영상 데이터의 나머지 일부를 수신하는 동안 버퍼링된 영상 데이터에 대하여 제2 재생 가능 시간을 계산하고,
    상기 계산된 제2 재생 가능 시간과 상기 감소된 기준 시간의 비교에 기초하여, 상기 제2 네트워크의 비활성화 여부를 결정하고,
    상기 제2 네트워크를 비활성화하도록 결정함에 따라, 상기 제2 네트워크를 비활성화하고, 상기 제1 네트워크를 이용하여 상기 영상 데이터의 나머지 일부를 수신하고, 상기 기준 시간을 증가시키는, 프로세서를 포함하고,
    상기 기준 시간은, 상기 영상 데이터의 재생이 시작되기 위한 재생 시간의 양을 나타내는 것인, 디바이스.
  12. 삭제
  13. 제 11 항에 있어서,
    상기 프로세서는,
    상기 계산된 제1 재생 가능 시간이 상기 소정의 기준 시간보다 큰 경우 상기 제 2 네트워크를 비활성화하도록 결정하는, 디바이스.
  14. 제 11 항에 있어서,
    상기 소정의 기준 시간은 제1 소정의 시간을 포함하고,
    상기 프로세서는,
    상기 계산된 제1 재생 가능 시간을 기초로, 상기 제 1 소정의 시간 및 제 2 소정의 시간을 참조하여 상기 제 2 네트워크를 활성화하도록 결정하고,
    상기 제 2 소정의 시간은, 상기 영상의 재상을 정지하도록 하는, 상기 재생 가능 시간을 위한 기준을 나타내는 것인, 디바이스.
  15. 제 11 항에 있어서,
    상기 통신 인터페이스는,
    상기 영상의 비트레이트에 관한 정보를 수신하고,
    상기 프로세서는,
    상기 수신된 비트레이트 정보를 이용하여 상기 수신된 영상 데이터의 일부의 제1 재생 가능 시간을 계산하는, 디바이스.
  16. 제 11 항에 있어서,
    상기 프로세서는,
    상기 제 1 네트워크를 통하여 상기 영상 데이터가 수신되지 시작하면, 상기 제 1 네트워크의 전송 속도를 측정하고,
    상기 측정된 전송 속도에 기초하여 상기 제 2 네트워크의 활성화 여부를 결정하는, 디바이스.
  17. 제 16 항에 있어서,
    상기 프로세서는,
    상기 측정된 전송 속도가 소정의 기준 속도보다 작은 경우 상기 제 2 네트워크를 활성화하도록 결정하는, 디바이스.
  18. 삭제
  19. 삭제
  20. 삭제
KR1020150041646A 2015-03-25 2015-03-25 다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법 KR102352679B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150041646A KR102352679B1 (ko) 2015-03-25 2015-03-25 다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법
US14/962,547 US10887630B2 (en) 2015-03-25 2015-12-08 Device supporting multipath transport control protocol and method by which device receives video data through streaming

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150041646A KR102352679B1 (ko) 2015-03-25 2015-03-25 다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법

Publications (2)

Publication Number Publication Date
KR20160115020A KR20160115020A (ko) 2016-10-06
KR102352679B1 true KR102352679B1 (ko) 2022-01-18

Family

ID=56974466

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150041646A KR102352679B1 (ko) 2015-03-25 2015-03-25 다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법

Country Status (2)

Country Link
US (1) US10887630B2 (ko)
KR (1) KR102352679B1 (ko)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018007591A1 (en) * 2016-07-08 2018-01-11 Alcatel Lucent Flow aggregation and routing for multi-connectivity client devices
CN110169078A (zh) * 2017-01-18 2019-08-23 华为技术有限公司 视频数据处理方法及设备
CN106878808A (zh) * 2017-03-17 2017-06-20 福建中金在线信息科技有限公司 一种视频播放方法及装置
WO2019091591A1 (en) * 2017-11-10 2019-05-16 Telefonaktiebolaget Lm Ericsson (Publ) Multipath policy decisions for encrypted video streams
US10582394B2 (en) 2017-11-15 2020-03-03 Arris Enterprises Llc Flexible gateway for heterogenous-device management
US10623791B2 (en) 2018-06-01 2020-04-14 At&T Intellectual Property I, L.P. Field of view prediction in live panoramic video streaming
US10812774B2 (en) 2018-06-06 2020-10-20 At&T Intellectual Property I, L.P. Methods and devices for adapting the rate of video content streaming
US10616621B2 (en) * 2018-06-29 2020-04-07 At&T Intellectual Property I, L.P. Methods and devices for determining multipath routing for panoramic video content
US11019361B2 (en) 2018-08-13 2021-05-25 At&T Intellectual Property I, L.P. Methods, systems and devices for adjusting panoramic view of a camera for capturing video content
US10708494B2 (en) 2018-08-13 2020-07-07 At&T Intellectual Property I, L.P. Methods, systems and devices for adjusting panoramic video content
US11277351B2 (en) 2018-11-08 2022-03-15 Arris Enterprises Llc Priority-based queueing for scalable device communication
CN115442452A (zh) * 2019-01-08 2022-12-06 华为技术有限公司 一种数据传输方法及电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120184323A1 (en) 2011-01-19 2012-07-19 Fujitsu Limited Wireless communication device, wireless communication method and communication control program
US20130103849A1 (en) * 2011-09-21 2013-04-25 Qualcomm Incorporated Signaling characteristics of segments for network streaming of media data
US20130308919A1 (en) * 2012-05-18 2013-11-21 At&T Mobility Ii, Llc Video Service Buffer Management

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993335B2 (en) 2002-11-15 2006-01-31 Motorola, Inc. Apparatus and method for mobile/IP handoff between a plurality of access technologies
US7555559B2 (en) 2003-02-28 2009-06-30 Onion Networks, KK Parallel data transfer over multiple channels with data order prioritization
US7761900B2 (en) * 2006-08-02 2010-07-20 Clarendon Foundation, Inc. Distribution of content and advertisement
US20080080412A1 (en) * 2006-09-29 2008-04-03 Advanced Micro Devices, Inc. Connection manager with communication load monitoring
US8732272B2 (en) 2009-09-29 2014-05-20 Qualcomm Incorporated Methods and apparatus for obtaining integrated content from multiple networks
US8516147B2 (en) 2010-02-26 2013-08-20 Simula Innovation Sa Data segmentation, request and transfer method
US9455897B2 (en) * 2010-04-06 2016-09-27 Qualcomm Incorporated Cooperative bandwidth aggregation using multipath transport
US8599794B2 (en) 2010-09-08 2013-12-03 Intel Corporation Enhanced base station and method for communicating through an enhanced distributed antenna system (eDAS)
KR101209196B1 (ko) 2011-02-23 2012-12-06 주식회사에어플러그 이종(異種)망을 병용하는 데이터 송수신 방법과 이를 위한 장치
EP2679015A4 (en) * 2011-06-07 2014-05-21 Huawei Tech Co Ltd DEVICE AND METHOD FOR CONTROLLING VIDEO SESSION IN A DATA NETWORK
KR101304422B1 (ko) 2011-08-17 2013-09-05 주식회사에어플러그 콘텐츠 구간 정보 표시 방법, 콘텐츠 재생 장치 및 콘텐츠 제공 시스템
KR101243737B1 (ko) 2011-09-15 2013-03-13 주식회사에어플러그 버퍼링된 데이터량에 따라 이종망(異種網)들간에 사용망을 선택적으로 전환하면서 스트리밍 데이터를 수신하는 방법과 그 방법을 위한 장치
US8897753B2 (en) * 2011-10-12 2014-11-25 Motorola Mobility Llc Method for retrieving content by a wireless communication device having first and second radio access interfaces, wireless communication device and communication system
US8640174B2 (en) * 2012-03-01 2014-01-28 Motorola Mobility Llc Method for retrieving content, wireless communication device and communication system
US8688029B2 (en) * 2012-08-30 2014-04-01 Cellco Partnership Radio access network integrated set-top device
KR102164457B1 (ko) 2013-04-25 2020-10-14 삼성전자주식회사 다중 무선 억세스를 위한 전자 장치 및 그 방법
KR102096425B1 (ko) 2013-08-20 2020-04-03 삼성전자주식회사 무선 통신 시스템에서 복수의 네트워크 인터페이스를 이용하는 트래픽 분산 방법 및 장치
KR102143620B1 (ko) 2014-02-17 2020-08-11 삼성전자주식회사 전자 장치에서 다중 인터페이스를 이용한 응용 계층의 요청 처리 장치 및 방법
CN106105132A (zh) * 2014-03-19 2016-11-09 瑞典爱立信有限公司 用于授权网络接入的方法和节点
WO2016049933A1 (zh) * 2014-09-30 2016-04-07 华为技术有限公司 多路径传输控制协议通信的地址管理装置、系统及方法
US9813465B2 (en) * 2014-12-19 2017-11-07 Intel Corporation Network proxy for energy efficient video streaming on mobile devices
CN106507696B (zh) * 2015-06-26 2018-10-12 瑞典爱立信有限公司 用于确定是否要发起第二多路径传输控制协议连接的第一网络节点及其中的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120184323A1 (en) 2011-01-19 2012-07-19 Fujitsu Limited Wireless communication device, wireless communication method and communication control program
US20130103849A1 (en) * 2011-09-21 2013-04-25 Qualcomm Incorporated Signaling characteristics of segments for network streaming of media data
US20130308919A1 (en) * 2012-05-18 2013-11-21 At&T Mobility Ii, Llc Video Service Buffer Management

Also Published As

Publication number Publication date
US20160286251A1 (en) 2016-09-29
KR20160115020A (ko) 2016-10-06
US10887630B2 (en) 2021-01-05

Similar Documents

Publication Publication Date Title
KR102352679B1 (ko) 다중 경로 전송 제어 프로토콜을 지원하는 디바이스 및 디바이스에서 영상 데이터를 스트리밍으로 수신하는 방법
KR102154800B1 (ko) 전자 장치의 데이터 스트리밍 방법 및 그 전자 장치
KR101918017B1 (ko) 정보 처리 장치 및 정보 처리 방법
KR101332615B1 (ko) 전송 완료되지 않은 데이터량에 따라 접속 전환을 제어하는 방법과 그 방법을 위한 장치
WO2015062521A1 (zh) 一种智能电视的码率切换方法及装置
JP6268174B2 (ja) 出力データ提供サーバおよび出力データ提供方法
JP5528496B2 (ja) 情報処理装置およびその制御方法
WO2008108379A1 (ja) メディア配信システム、配信サーバ装置及びそれらに用いるメディア配信方法並びにそのプログラム
US20110310965A1 (en) Communication device, communication method, and communication program product
KR20130104358A (ko) 단말장치의 멀티미디어 처리장치 및 방법
KR20160038586A (ko) 다수 개의 무선 억세스 인터페이스들을 지원하는 이동 통신 시스템에서 스트리밍 서비스 데이터 수신 장치 및 방법
JP6021385B2 (ja) ストリーミングメディア再生装置、ストリーミングメディア再生方法、及びプログラム
KR20140105297A (ko) 스트리밍 서비스를 제공하기 위한 동적 버퍼링 방법 및 그 장치
WO2021143388A1 (zh) 码率切换方法及设备
US20230140805A1 (en) Network path selection in a single service set id
KR101548501B1 (ko) 청크 기반의 끊김 없는 스트림 송수신 장치 및 그 방법
JP2014056404A (ja) 通信システム、及び端末装置
KR101879439B1 (ko) 적응적 비트레이트 영상 서비스 방법
KR101993418B1 (ko) 휴대 단말기의 무선 통신 채널 운용 방법 및 시스템
EP3217681B1 (en) Display apparatus
JP6099715B2 (ja) ストリーミングメディア再生装置、ストリーミングメディア再生方法、及びプログラム
US11343579B2 (en) Intelligent buffering method, device and storage medium of a web video based on a browser
JP2004214902A (ja) ストリーミング再生携帯端末、ストリーミング再生方法、コンピュータプログラム、並びにコンピュータ読み取り可能な記録媒体
JP2012222689A (ja) 再生装置及び再生方法
KR101845131B1 (ko) Ieee1722 네트워크 기반 비디오 패킷 무손실 전송을 위한 버퍼 관리 방법

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