KR20180024841A - 스트리밍 서비스 서버 및 그의 제어 방법 - Google Patents

스트리밍 서비스 서버 및 그의 제어 방법 Download PDF

Info

Publication number
KR20180024841A
KR20180024841A KR1020160111769A KR20160111769A KR20180024841A KR 20180024841 A KR20180024841 A KR 20180024841A KR 1020160111769 A KR1020160111769 A KR 1020160111769A KR 20160111769 A KR20160111769 A KR 20160111769A KR 20180024841 A KR20180024841 A KR 20180024841A
Authority
KR
South Korea
Prior art keywords
quality
session
user
user terminal
streaming service
Prior art date
Application number
KR1020160111769A
Other languages
English (en)
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 KR1020160111769A priority Critical patent/KR20180024841A/ko
Publication of KR20180024841A publication Critical patent/KR20180024841A/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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • 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
    • H04N21/2365Multiplexing of several video streams
    • H04N21/23655Statistical multiplexing, e.g. by controlling the encoder to alter its bitrate to optimize the bandwidth utilization
    • 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/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/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/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level

Landscapes

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

Abstract

본 발명은 스트리밍 서비스 서버 및 그의 제어 방법에 관한 것으로, 본 발명에 따른 스트리밍 서비스 서버의 제어 방법은 사용자 단말 장치로부터 특정 컨텐츠에 대한 정상 재생을 위한 기본 레이어 및 상기 기본 레이어에 대하여 향상된 레이어를 포함하는 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받는 단계; 및 상기 요청받은 제1 품질이 기본 레이어인지 여부, 상기 사용자에 대한 세션 형성 여부 및 상기 제1 품질에 할당된 세션 수를 기초로 스트리밍 서비스를 제공하도록 제어하는 단계;를 포함한다. 본 발명의 다양한 실시 예에 따르면, 스트리밍 서버는 사용자 단말 장치에 제공될 스트리밍 컨텐츠의 품질 별로 네트워크 대역폭을 분배하여 할당함으로써, 네트워크상의 지연 시간이나 데이터 손실률을 보장하고(QoS 보장), 소수의 사용자들이 대부분의 네트워크 트래픽을 사용하는 것을 막고(Denial of Service) 좀더 안정적으로 클라이언트로 해상도별 컨텐츠를 제공할 수 있다.

Description

스트리밍 서비스 서버 및 그의 제어 방법{STREAMING SERVICE SERVER AND CONTROL METHOD THEREOF}
본 발명은 스트리밍 서비스 서버 및 그의 제어 방법에 관한 것으로, 보다 상세하게는 안정적인 동적 적응형 스트리밍 서비스를 제공할 수 있는 스트리밍 서비스 서버 및 그의 제어 방법에 관한 것이다.
최근에는 인터넷 속도, 즉 전송 대역폭의 증가(이는 전송되는 데이터의 양이 커진다는 의미와 같다)로 인해 사용자들의 만족도가 커지고 있는데, 이러한 인터넷 관련기술을 빠른 발전으로 인해 생동감 있는 오디오(audio)와 비디오(video)들이 결합된 멀티미디어를 온라인(on-line) 검색을 통해 보고들을 수 있도록 해주는 인터넷 서비스가 가능하게 되었다. 그의 대표적인 것이 멀티미디어 스트리밍 서비스이다.
여기서 스트리밍(streaming)이란 크기가 큰 오디오 데이터 또는 비디오 데이터(동영상데이터)를 실행시키는데 있어서 전부 다운(down)받아 실행하는 것이 아니고 여러 개의 파일로 나누어 연이어 실시간 전송하는 것이다.
이러한 오디오 파일이나 비디오 파일들을 스트리밍 형식으로 듣거나 화면에 나타내기 위해서는 클라이언트(사용자)(또는 사용자) 단말 장치에 여러 어플리케이션(application) 소프트웨어가 내장되어야 한다. 다시 말해서, 오디오 스트리밍/비디오 스트리밍(audio streaming/video streaming)을 위해서는 리얼 오디오 플레이어(real audio player)와 같은 오디오 스트리밍 어플리케이션이나 윈도우즈 미디어플레이어(windows media player)와 같은 멀티미디어 스트리밍 어플리케이션이 내장되어야 한다는 것이다.
이 같은 스트리밍 어플리케이션은 대부분 실시간(real time)으로 오디오/비디오 스트리밍을 지원하는 멀티미디어 플러그 인(multimedia plug in)이며, 웹 브라우저(web browser)를 기반으로 하여 동작할 수 있는 부가적인 어플리케이션 프로그램이다.
현재 상기한 멀티미디어 스트리밍을 통해 지원될 수 있는 서비스로는, 스포츠나 뉴스나 라이브 콘서트 등의 실시간 중계방송서비스, 주문형 비디오 서비스(VOD : Video On Demand) 등이 있으며, 스트리밍 기술을 이용한 인터넷 방송국, 인터넷 영화관 등의 많은 인터넷 서비스 사업이 속속 생겨나고 있다.
스트리밍 서비스는 네트워크 대역폭에 따라 영향을 받는다는 점이 가장 큰 단점이고, 더욱 강력한 PC를 요구하고 있기 때문에 제한적 서비스라는 한계가 있었다. 하지만 최근 들어 인터넷 전용선이 빠르게 확장되고 있고 PC도 고성능화 되고 있어 이러한 문제는 점진적으로 사라지고 있다.
더불어 이러한 단점을 보안하기 위하여 유동적인 네트워크 환경에 적절한 품질의 콘텐츠를 제공할 수 있는 적응적 스트리밍 기술의 개발이 필요하다. 이러한 기술의 대표적인 서비스로 MPEG DASH 서비스가 있다.
MPEG DASH는 MPEG에서 표준화한, HTTP 를 이용한 적응형 비디오 스트리밍 기술이다. DASH(Dynamic Adaptive Streaming over HTTP) 기술의 기본적인 구성요소로는 MPD(Media Presentation Description)와 segment 가 있다. MPD는 스트리밍 서비스 제공을 목적으로 미디어에 관한 정보를 제공하는 XML형식의 데이터이고, segment는 MPD에서 미디어 데이터를 표현할 수 있는 가장 작은 단위의 데이터 유닛을 지칭한다. 이러한 MPD 및 segment가 HTTP 서버에서 사용자 단말 장치로 전송되는 구조를 바탕으로 DASH 기술이 구성되어진다.
다만, 제한적인 네트워크 환경에서 고품질의 스트리밍 서비스를 요청한 사용자들 모두에게 고품질의 스트리밍 서비스를 제공하는 것은 어렵다. 따라서, 품질 저하가 있더라도 사용자에게 끊김 없는 스트리밍 서비스를 제공할 수 있는 기술 필요하다. 또한, 사용자 의 MPEG DASH Player 마다 MPD를 분석하는 기준과 처리하는 방식이 다르기 때문에 네트워크 상태에 따라서 지연이 생기거나 안정적으로 데이터 손실률을 보장 하기 어렵다.
또한, SVC 특성상 기본 레이어(base layer) 가 보장되지 않으면 향상된 레이어(Enhancement layer)들이 전달 되더라도 정상적인 화면의 재생이 불가하다는 문제점이 있으며. 나아가, 최근 들어 유선 및 무선의 기가급 인터넷망을 사용하는 개인유저들이 늘어남에 따라 하나의 클라이언트가 서버 전체의 트래픽을 소비하는 경우가 발생한다.
본 발명은 상술한 필요성에 따라 안출된 것으로, 본 발명의 목적은 복수의 품질 별로 네트워크 대역폭을 할당하여 관리하는 스트리밍 서비스 서버 및 그의 제어 방법을 제공함에 있다. 보다 상세하게는 본 발명의 목적은 사용자 단말 장치에서 요청된 제1 품질의 세그먼트에 할당된 네트워크 대역폭을 확인하고, 확인 결과에 따라 결정된 품질의 세그먼트로 스트리밍 서비스를 제공하는 스트리밍 서비스 서버 및 그의 제어 방법을 제공함에 있다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 스트리밍 서비스 서버의 제어 방법은 사용자 단말 장치로부터 특정 컨텐츠에 대한 정상 재생을 위한 기본 레이어 및 상기 기본 레이어에 대하여 향상된 레이어를 포함하는 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받는 단계; 및 상기 요청받은 제1 품질이 기본 레이어인지 여부, 상기 사용자에 대한 세션 형성 여부 및 상기 제1 품질에 할당된 세션 수를 기초로 스트리밍 서비스를 제공하도록 제어하는 단계;를 포함한다.
상기 스트리밍 서비스를 제공하도록 제어하는 단계는, 상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 제1 품질에 할당된 세션 수가 기 설정된 기준치를 초과하는 경우, 접속 오류 코드를 생성하여 상기 사용자 단말 장치에 전송하도록 제어하고, 상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태인 경우, 상기 세션 유효 시간을 갱신하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것이 바람직하다.
상기 스트리밍 서비스를 제공하도록 제어하는 단계는, 상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 제1 품질에 할당된 세션 수가 기 설정된 기준치 이하인 경우, 상기 사용자에 대한 세션을 형성하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것이 바람직하다.
상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 기본 레이어에 할당된 세션 수가 기 설정된 기준치 이하인 경우, 상기 사용자에 대한 세션을 형성하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 기본 레이어의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키고, 상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 기본 레이어에 할당된 세션 수가 기 설정된 기준치를 초과하는 경우, 접속 오류 코드를 생성하여 상기 사용자 단말 장치에 전송하도록 제어하는 것이 바람직하다.
상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태인 경우 상기 세션 유효 시간을 갱신하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것이 바람직하다.
컨텐츠에 대해 복수의 품질로 생성된 복수의 세그먼트 및 상기 복수의 세그먼트에 대한 속성 정보를 저장하는 단계; 상기 사용자 단말 장치에서 특정 컨텐츠의 재생이 요청되면, 상기 사용자의 식별 정보 및 상기 재생 요청된 특정 컨텐츠에 대응되는 속성 정보의 요청을 수신하는 단계; 상기 저장된 속성 정보로부터 상기 요청받은 속성 정보를 검출하고, 상기 검출된 속성 정보와 상기 사용자의 식별 정보를 상기 사용자 단말 장치에 전송하는 단계; 및 상기 수신된 사용자의 식별 정보를 이용하여 상기 사용자 단말 장치와 세션 연결을 형성하는 단계;를 포함한다.
상기 속성 정보는, DASH(Dynamic Adaptive Streaming over HTTP) 기술의 MPD(Media Presentation Description) 문서일 수 있고, 상기 검출된 속성 정보와 상기 사용자의 식별 정보를 상기 사용자 단말 장치에 전송하는 단계는, 상기 MPD 문서에 상기 사용자 식별 정보를 포함시켜 상기 사용자 단말 장치에 전송하는 것이 바람직하다.
상기 사용자 단말 장치는, 상기 속성 정보, 상기 사용자 단말 장치의 네트워크 대역폭 상태 및 상기 사용자 단말 장치의 하드웨어 상태 중 적어도 하나를 이용하여 상기 스트리밍 서비스 서버에 요청할 세그먼트의 품질을 결정하고, 상기 사용자 단말 장치로부터 특정 컨텐츠에 대한 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받는 단계는, 상기 사용자 단말 장치에서 결정된 품질의 식별 정보 및 상기 사용자 식별 정보를 포함하는 요청을 상기 사용자 단말 장치로부터 수신하는 단계이며, 상기 복수의 품질은, 상기 기본 레이어의 품질을 정의하는 SD(Standard Definition)와 상기 향상된 레이어의 품질을 정의하는 UHD(Ultra High Definition), FHD(Full High Definition) 및 HD(High Definition) 중 적어도 하나를 포함한다.
상기 스트리밍 서비스 서버는, 전체 네트워크 대역폭을 분배하여 상기 복수의 품질 각각에 할당하고, 상기 할당된 대역폭을 기초로 상기 복수의 품질 각각에 최대 가능 세션 수를 할당하는 것이 바람직하다.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 스트리밍 서비스 서버는 사용자 단말 장치로부터 특정 컨텐츠에 대한 정상 재생을 위한 기본 레이어 및 상기 기본 레이어에 대하여 향상된 레이어를 포함하는 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받고, 상기 요청받은 제1 품질이 기본 레이어인지 여부, 상기 사용자에 대한 세션 형성 여부 및 상기 제1 품질에 할당된 세션 수를 기초로 스트리밍 서비스를 제공하도록 제어하는 제어부;를 포함한다.
상기 제어부는, 상기 사용자 단말 장치에서 특정 컨텐츠의 재생이 요청되면, 상기 사용자의 식별 정보 및 상기 재생 요청된 특정 컨텐츠에 대응되는 속성 정보의 요청을 수신하고, 상기 저장된 속성 정보로부터 상기 요청받은 속성 정보를 검출하고, 상기 검출된 속성 정보와 상기 사용자의 식별 정보를 상기 사용자 단말 장치에 전송하도록 제어하며, 상기 스트리밍 서비스 서버는, 컨텐츠에 대해 복수의 품질로 생성된 복수의 세그먼트 및 상기 복수의 세그먼트에 대한 속성 정보를 저장하는 저장부; 및 상기 수신된 사용자의 식별 정보를 이용하여 상기 사용자 단말 장치와 세션 연결을 형성하는 세션 관리부;를 더 포함한다.
상기 속성 정보는, DASH(Dynamic Adaptive Streaming over HTTP) 기술의 MPD(Media Presentation Description) 문서일 수 있고, 상기 제어부는, 상기 MPD 문서에 상기 사용자 식별 정보를 포함시켜 상기 사용자 단말 장치에 전송하도록 제어하는 것이 바람직하다.
상기 사용자 단말 장치는, 상기 속성 정보, 상기 사용자 단말 장치의 네트워크 대역폭 상태 및 상기 사용자 단말 장치의 하드웨어 상태 중 적어도 하나를 이용하여 상기 스트리밍 서비스 서버에 요청할 세그먼트의 품질을 결정하고, 상기 제어부는, 상기 사용자 단말 장치에서 결정된 품질의 식별 정보 및 상기 사용자 식별 정보를 포함하는 제1 품질의 세그먼트 요청을 상기 사용자 단말 장치로부터 수신하며, 상기 복수의 품질은, 상기 기본 레이어의 품질을 정의하는 SD(Standard Definition)와 상기 향상된 레이어의 품질을 정의하는 UHD(Ultra High Definition), FHD(Full High Definition) 및 HD(High Definition) 중 적어도 하나를 포함한다.
상기 복수의 품질 각각에 대응되는 세그먼트로 스트리밍 서비스를 제공하는 복수의 스트리밍 서비스 제공부;를 더 포함하고, 상기 복수의 스트리밍 서비스 제공부 각각은, 전체 네트워크 대역폭의 일부 대역폭을 각각 할당받은 것이 바람직하다.
상기 제어부는, 상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 제1 품질에 할당된 세션 수가 기 설정된 기준치를 초과하는 경우, 접속 오류 코드를 생성하여 상기 사용자 단말 장치에 전송하도록 제어하고, 상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태인 경우, 상기 세션 유효 시간을 갱신하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것이 바람직하다.
상기 스트리밍 서비스를 제공하도록 제어하는 단계는, 상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 제1 품질에 할당된 세션 수가 기 설정된 기준치 이하인 경우, 상기 사용자에 대한 세션을 형성하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것이 바람직하다.
상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 기본 레이어에 할당된 세션 수가 기 설정된 기준치 이하인 경우, 상기 사용자에 대한 세션을 형성하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 기본 레이어의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키고, 상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 기본 레이어에 할당된 세션 수가 기 설정된 기준치를 초과하는 경우, 접속 오류 코드를 생성하여 상기 사용자 단말 장치에 전송하도록 제어하는 것이 바람직하다.
상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태인 경우 상기 세션 유효 시간을 갱신하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것이 바람직하다.
상기 세션 관리부는, 상기 형성된 세션에 대하여 세션 유효 시간을 할당하고, 할당된 유효 시간 동안에만 상기 형성된 세션에 대한 세션 정보를 관리하는 것이 바람직하다.
상술한 본 발명의 다양한 실시 예에 따르면, 스트리밍 서버는 사용자 단말 장치에 제공될 스트리밍 컨텐츠의 품질 별로 네트워크 대역폭을 분배하여 할당함으로써, 네트워크상의 지연 시간이나 데이터 손실률을 보장하고(QoS 보장), 소수의 사용자들이 대부분의 네트워크 트래픽을 사용하는 것을 막고(Denial of Service) 좀더 안정적으로 클라이언트로 해상도별 컨텐츠를 제공할 수 있다.
도 1은 본 발명의 일 실시예에 따른 SVC(Scalable Video Coding)의 개념을 나타내는 예시도이다.
도 2는 본 발명의 일 실시 예에 따른 스트리밍 서비스 시스템을 나타내는 블록도 이다.
도 3은 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버를 나타내는 블록도 이다.
도 4는 본 발명의 다른 실시 예에 따른 스트리밍 서비스 서버를 나타내는 블록도 이다.
도 5는 본 발명의 일 실시 예에 따른 세그먼트 요청 포맷을 나타내는 도면이다.
도 6은 본 발명의 일 실시 예에 따른 스트리밍 서비스 시스템의 동작을 나타내는 타이밍도 이다.
도 7은 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버의 동작을 구체적으로 나타내는 흐름도 이다.
도 8은 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버의 스트리밍 서비스를 위한 품질을 결정하는 동작을 구체적으로 나타내는 흐름도 이다.
도 9은 본 발명의 다른 실시 예에 따른 스트리밍 서비스 시스템을 나타내는 블록도 이다.
도 10은 본 발명의 다른 실시 예에 따른 스트리밍 서비스 시스템의 동작을 나타내는 타이밍도 이다.
이하의 내용은 단지 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시 되지 않았지만 발명의 원리를 구현하고 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이외같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해 질 것이며, 그에 따라 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다.
또한, 발명을 설명함에 있어서 발명과 관련된 공지 기술에 대한 구체적인 설명이 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다. 이하에는 첨부한 도면을 참조하여 본 발명의 바람직한 실시 예에 대해 상세하게 설명한다.
도 1은 SVC(Scalable Video Coding)의 개념을 예시하는 개념도로서, 도 1에서 표현한 것과 같이 최 고화질로 스트리밍을 하기 위해서는 기본 레이어(Base Layer) 와 향상된 레이어(Enhancement Layer1, Enhancement Layer2)가 모두 필요로 된다.
이를 위해 다양한 품질로 생성된 미디어 파일(세그먼트)과 각 파일에 관한 MPD가 서버에 저장되어 있다. 서버와 사용자 간의 통신은 HTTP 프로토콜을 이용하여, 사용자의 요청과 이에 대한 서버의 응답을 통하여 이루어진다.
사용자는 서버에 MPD를 요청하게 되고, 전달된 MPD를 통하여 서버에 저장되어 있는 해당 파일에 관한 정보를 인식하여 원하는 콘텐츠에 대한 세그먼트를 요청한다. 이에 서버는 해당 세그먼트를 사용자에게 제공함으로써 DASH 서비스가 이뤄진다.
이 때 제한적인 네트워크 환경에서 모든 사용자에게 고화질의 스트리밍 서비스를 제공하는 것은 어렵다. 화질 저하가 있더라도 사용자에게 끊김 없는 스트리밍 서비스를 제공할 수 있는 기술 필요하다.  또한, 사용자 의 MPEG DASH 플레이어 마다 MPD를 분석하는 기준과 처리하는 방식이 다르기 때문에 네트워크 상태에 따라서 지연이 생기거나 안정적으로 데이터 손실률을 보장 하기 어렵다.
SVC 특성상 기본 레이어가 보장되지 않으면 향상된 레이어 들이 전달 되더라도 정상적인 화면의 재생이 불가하다.
또한, 최근 들어 유선 및 무선의 기가급 인터넷망을 사용하는 개인유저들이 늘어남에 따라 하나의 클라이언트가 서버 전체의 트래픽을 소비하는 경우가 발생한다.
따라서, 본 발명의 목적은 상기한 점들을 감안하여 안출한 것으로 비디오 컨텐츠를 바탕으로 다양한 스트리밍 서비스를 제공함에 있어서 제어부와 비디오 컨텐츠의 해상도에 따라 스트리밍 서버를 각각 배치하고 일정 기준 사용자들에 한해 세션(session)을 맺고, 정해진 기준 이상으로 세션이 맺어지면, 이후로 발생되는 클라이언트의 요청에서는 더 이상 해당 향상된 레이어(고화질)를 응답 주지 않는다.
기존에 세션이 맺어진 클라이언트에 대해서는 지속적인 고화질 스트리밍을 보장함으로써 서비스 품질 향상에 적합한 스트리밍 서버 의 대역폭 관리 방법 및 그를 위한 시스템을 제공하는데 있다. 또한 스트리밍 서버의 네트워크 대역폭을 충분히 활용하는 방안으로 저화질 사용자의 요청이 오더라도 고화질 스트리밍 서버의 대역폭이 충분히 여유 있을 경우 해당 서버로 요청을 리다이렉트 하여, 계속해서 스트리밍 요청을 허용한다. 그리고 한 유저가 불필요한 네트워크 대역폭을 사용하는 것을 막기 위해 세션당 네트워크 속도를 강제로 제한을 준다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시 예를 상세히 설명하기로 한다.
도 2는 본 발명의 일 실시 예에 따른 스트리밍 서비스 시스템을 나타내는 블록도 이다. 도 2를 참조하면, 스트리밍 서비스 시스템(1000)은 복수의 사용자 단말 장치(100-1,100-2,..100-N), 스트리밍 서비스 서버(200)의 전부 또는 일부를 포함한다.
사용자 단말 장치(100-1,100-2,..100-N)에는 오디오, 비디오, 또는 오디오와 비디오가 결합된 멀티미디어 컨텐츠 등을 스트리밍으로 제공받을 수 있는 어플리케이션이 설치되어 있을 수 있고, 스마트 폰, PC(Personal Computer), 태블릿 컴퓨터, 노트북 컴퓨터, PDA(personal digital assistant), PMP(portable multimedia player), 착용형 스마트 글래스, 착용형 스마트 워치, 디지털 tv 등과 같은 다양한 장치로 구현될 수 있다.
이러한, 사용자 단말 장치(100-1,100-2,..100-N)는 사용자가 재생 요청한 컨텐츠에 대한 속성 정보, 컨텐츠의 세그먼트를 스트리밍 서비스 서버(200)에 요청하고, 요청에 따른 데이터를 스트리밍 서비스 서버(200)로부터 수신함으로써, 사용자가 재생 요청한 컨텐츠를 스트리밍으로 제공받을 수 있다.
여기서, 속성 정보는, DASH(Dynamic Adaptive Streaming over HTTP) 기술의 MPD(Media Presentation Description) 문서일 수 있고, MPD 문서는 세그먼트에 대한 정보를 XML(eXtensible Markup Language)형식으로 기술하며, 해당 세그먼트에 상응하는 컨텐츠 시간상의 위치, URL, 크기 등 사용자 단말 장치(100)가 사전에 인지하여야할 정보를 포함할 수 있다.
또한, 세그먼트는, 사용자 단말 장치(100-1,100-2,..100-N)의 스트리밍 서비스 요청 시 사용자 단말 장치(100)에 제공될 수 있는 일정 시간으로 잘려진 비트 스트림의 최소 데이터 단위일 수 있다.
한편, 사용자 단말 장치(100-1,100-2,..100-N)는 사용자가 재생 요청한 컨텐츠에 대한 속성 정보의 요청과 동시에 사용자 식별 정보를 스트리밍 서비스 서버(200)에 전송할 수 있다. 여기서, 사용자 식별 정보는, 사용자 단말 장치(100-1,100-2,..100-N)의 MAC Address 등과 같은 주소 정보, 사용자 단말 장치(100-1,100-2,..100-N)의 전화 번호 정보, 사용자의 ID/패스워드 정보 등과 같이, 복수의 사용자 각각을 식별 가능하게 하는 정보일 수 있다. 이러한 사용자 식별 정보는 사용자 단말 장치(100-1,100-2,..100-N)와 스트리밍 서비스 서버(200) 사이에 세션을 형성하는데 이용될 수 있다.
스트리밍 서비스 서버(200)는 스트리밍 서비스의 전반적인 동작을 관리할 수있다. 구체적으로, 스트리밍 서비스 서버(200)는 컨텐츠에 대해 복수의 품질로 생성된 복수의 세그먼트 및 복수의 세그먼트에 대한 속성 정보를 저장할 수 있다. 일 예로, 스트리밍 서비스 서버(200)는 복수의 컨텐츠 각각에 대해 UHD(Ultra High Definition), FHD(Full High Definition), HD(High Definition), SD(Standard Definition) 중 적어도 두 개 이상의 품질로 생성된 복수의 세그먼트 및 및 복수의 세그먼트에 대한 속성 정보를 저장할 수 있다.
또한, 스트리밍 서비스 서버(200)는 운영 가능한 전체 네트워크 대역폭을 분배하여 복수의 품질 각각에 할당하고, 할당된 대역폭을 기초로 복수의 품질 각각에 최대 가능 세션 수를 할당할 수 있다. 이 경우, 사용자 단말 장치(100-1,100-2,..100-N)로부터 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받으면, 스트리밍 서비스 서버(200)는 요청받은 제1 품질이 기본 레이어(예를 들어, 복수의 품질이 UHD, FHD, HD, SD로 구성되는 경우, SD 품질)인지 판단할 수 있다. 만약, 요청받은 제1 품질이 기본 레이어가 아닌 경우, 스트리밍 서비스 서버(200)는 제1 품질에 할당된 세션 수 및 사용자에 대한 세션 형성 여부를 기초로 스트리밍 서비스를 제공하도록 제어할 수 있다.
이러한, 사용자 단말 장치(100-1,100-2,..100-N)와 스트리밍 서비스 서버(200) 간의 통신은 근거리 통신망(LAN : Local Area Network) 및 인터넷망을 통해 무선 또는 유선방식으로 접속되는 형태, USB(Universal Serial Bus)포트를 통하여 접속되는 형태, 3G, 4G와 같은 이동 통신망을 통해 접속되는 형태, NFC(Near Field Communication, RFID(Radio Frequency Identification), Wi-Fi등과 같은 근거리 무선 통신방식을 통해 접속되는 형태 등과 같이 다양한 통신 방식을 이용하여 구현될 수 있다.
이하에서는 이 후 도면을 참조하여 스트리밍 서비스 서버(200)에 대해서 보다 구체적으로 설명하기로 한다.
도 3은 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버를 나타내는 블록도 이다. 도 3을 참조하면, 스트리밍 서비스 서버(200)는 저장부(210), 세션 관리부(220), 복수의 스트리밍 서비스 제공부(230), 제어부(240)의 전부 또는 일부를 포함한다.
저장부(210)는 스트리밍 서비스 서버(200)의 동작에 필요한 다양한 데이터 및 어플리케이션을 저장하는 기능을 한다. 특히, 저장부(210)는 컨텐츠에 대해 복수의 품질로 생성된 복수의 세그먼트 및 상기 복수의 세그먼트에 대한 속성 정보를 저장할 수 있다. 일 예로, 저장부(210)는 제1 컨텐츠에 대해 UHD(Ultra High Definition), FHD(Full High Definition) 및 HD(High Definition)의 품질로 생성된 복수의 세그먼트 및 복수의 세그먼트에 대한 속성 정보를 저장할 수 있고, 제2 컨텐츠에 대해 UHD(Ultra High Definition), FHD(Full High Definition), HD(High Definition) 및 SD(Standard Definition)의 품질로 생성된 복수의 세그먼트 및 복수의 세그먼트에 대한 속성 정보를 저장할 수 있다.
여기서 저장부(210)는 RAM(Random Access Memory), 플레시메모리, ROM(Read Only Memory), EPROM(Erasable Programmable ROM), EEPROM(Electronically Erasable and Programmable ROM), 레지스터, 하드디스크, 리무버블 디스크, 메모리 카드, USIM(Universal Subscriber Identity Module)등과 같은 내장된 형태의 저장소자는 물론, USB 메모리 등과 같은 착탈가능한 형태의 저장소자로 구현될 수도 있다.
이러한 저장부(210)는 스트리밍 서비스 서버(200) 내에 구현될 수 있고, 또는 스트리밍 서비스 서버(200)와 연결된 외부 데이터 베이스(DB)형태로 구현될 수 있다.
세션 관리부(220)는 사용자 단말 장치(100)와 스트리밍 서비스 서버(200) 간의 세션을 관리할 수 있다. 구체적으로, 세션 관리부(220)는 사용자 단말 장치(100)로부터 수신된 사용자의 식별 정보를 이용하여 사용자 단말 장치(100)와 스트리밍 서비스 서버(200) 간의 세션을 형성하고, 형성된 세션에 대응되는 세션 정보를 저장할 수 있다.
또한, 세션 관리부(220)는 형성된 세션의 유효 시간을 할당하고, 할당된 유효 시간 동안만 세션 정보를 관리할 수 있다. 만약, 유효 시간 내에 사용자 단말 장치(100)로부터 세그먼트 요청이 수신되면, 세션 관리부(220)는 시간의 흐름에 따라 줄어들고 있는 세션 유효 시간을 갱신할 수 있다. 여기서, 세션 유효 시간 갱신의 의미는, 시간의 카운트를 초기화하는 것을 의미할 수 있다. 예를 들어, 형성된 세션의 세션 유효 시간으로 1분이 할당되고 시간의 흐름에 따라 세션 유효 시간이 1분에서 점차 줄어드는 경우, 세션 유효 시간의 갱신은 세션 유효 시간의 카운트를 초기화하고 1 분에서부터 다시 카운트하도록 하는 것일 수 있다.
다만, 할당된 유효 시간 내에 사용자 단말 장치(100)로부터 세그먼트 요청이 수신되지 않고 세션 유효 시간이 경과하면, 세션 관리부(220)는 사용자 단말 장치(100)와 스트리밍 서비스 서버(200) 간의 세션을 끊고 세션 정보를 삭제할 수 있다.
이러한, 세션 유효 시간에 따르면, 스트리밍을 중단하여 유효 시간 범위를 벗어난 사용자 대신 스트리밍을 요청한 신규 사용자에게 신속하게 고해상도의 화질로 스트리밍을 제공할 수 있다.
한편, 복수의 스트리밍 서비스 제공부(230) 각각은 스트리밍 서비스 서버(200)에서 운영 가능한 전체 네트워크 대역폭의 일부 대역폭이 각각 할당될 수 있고, 상기 할당된 대역폭을 기초로 최대 가능 세션 수가 할당될 수 있다. 그리고, 복수의 스트리밍 서비스 제공부(230) 각각은 할당된 최대 가능 세션 수 범위 내에서 사용자 단말 장치(100)에 해당 품질의 세그먼트를 제공하여 스트리밍 서비스를 제공할 수 있다.
일 예로, 복수의 스트리밍 서비스 제공부(230)는 UHD 품질의 스트리밍 서비스 제공부, FHD 품질의 스트리밍 서비스 제공부, HD 품질의 스트리밍 서비스 제공부, SD 품질의 스트리밍 서비스 제공부 중 적어도 두 개 이상을 포함할 수 있다. 스트리밍 서비스 서버(200)에서 운영 가능한 전체 네트워크 대역폭이 8Gbps인 경우, UHD 품질의 스트리밍 서비스 제공부에는 4Gbps, FHD 품질의 스트리밍 서비스 제공부에는 2Gbps, HD 품질의 스트리밍 서비스 제공부에는 1Gbps, SD 품질의 스트리밍 서비스 제공부에는 1Gbps의 네트워크 대역폭이 할당될 수 있다.
만약, UHD 품질의 스트리밍 서비스 제공부에 4Gbps가 할당되고, UHD 품질의 스트리밍 서비스를 위해서는 32Mbps의 bit-rate가 요구되는 경우, UHD 품질의 스트리밍 서비스 제공부에 할당된 최대 가능 세션 수는 125개일 수 있다.
그리고, FHD 품질의 스트리밍 서비스 제공부에 2Gbps가 할당되고, FHD 품질의 스트리밍 서비스를 위해서는 8Mbps의 bit-rate가 요구되는 경우, FHD 품질의 스트리밍 서비스 제공부에 할당된 최대 가능 세션 수는 250개일 수 있다.
그리고, HD 품질의 스트리밍 서비스 제공부 및 SD 품질의 스트리밍 서비스 제공부에 대해서도 각각에서 요구되는 bit-rate를 반영하여 최대 가능 세션 수가 할당될 수 있다.
만약, 상술한 예시를 기본 레이어로(SD 품질에 대응), 향상된 레이어 (Enhancement Layer 1(FHD 품질에 대응), Enhancement Layer 2(UHD 품질에 대응))로 구성된 SVC에 적용하면, FHD 스트리밍만을 위하여 할당된 세션 수는 FHD의 최대 가능 세션 수 250 에서 UHD 스트리밍 시 필요한 FHD 세션 수 125를 제외한 125개 일 수 있다.
이에 따라, 복수의 스트리밍 서비스 제공부(220) 각각은 할당된 최대 가능 세션 수 내에서 사용자 단말 장치(100)에 해당 품질의 세그먼트를 전송하여 스트리밍 서비스를 제공할 수 있다.
또한, 표 1과 같이 품질에 따른 해상도와 비트레이트가 결정된 경우 최대 가능 세션 수는 다음과 같이 결정될 수 있다.
구분 해상도 bit-rate
(동영상 전송률)
UHD (enhancement layer 2) 3840 x 2160 24000 Kbps / 24Mbps
FHD (enhancement layer 1) 1920 x 1080 6000 Kbps / 6Mbps
SD (base layer) 854 x 480 2000 Kbps / 2Mbps
UHD 스트리밍 서버에 할당된 대역폭이 3Gbps 라면 UHD 스트리밍 최대 가능 세션 수는 125(3000 / 24)로 결정되며, FHD 스트리밍 서버에 할당된 대역폭이 2Gbps 라면 FHD 스트리밍 최대 가능 세션 수는 333 (2000 / 6)으로 결정될 수 있다. 이때, 순수한 FHD 스트리밍(UHD 스트리밍 제외) 수는 208 이다.
따라서, 사용자 단말 장치 MPD를 분석하고 클라이언트의 네트워크 대역폭의 상태와, 해당 Device 하드웨어 상태를 고려하여 동영상 컨텐츠의 적절한 해상도를 선택하고 해당 세그먼트 파일을 컨트롤 서버로 호출한다. 컨트롤 서버는 클라이언트에서 호출한 세그먼트 파일 이름에 포함된 식별자를 확인한다.
한편, 제어부(240)는 스트리밍 서비스 서버(200)의 전반적인 동작을 제어한다. 구체적으로, 제어부(240)는 저장부(210), 세션 관리부(220), 복수의 스트리밍 서비스 제공부(230)의 전부 또는 일부를 제어할 수 있다.
특히, 제어부(240)는 사용자 단말 장치(100)에서 특정 컨텐츠의 재생이 요청되면(예를 들어, 사용자가 사용자 단말 장치(100)의 디스플레이 화면에 표시된 동영상을 재생 입력하는 경우), 사용자 단말 장치(100)로부터 사용자의 식별 정보를 수신하고, 동시에 재생 요청된 특정 컨텐츠에 대응되는 속성 정보 요청을 수신할 수 있다. 여기서, 사용자 식별 정보는, 복수의 사용자 각각을 식별 가능하게 하는 정보일 수 있고, 이러한 사용자 식별 정보는 사용자 단말 장치(100-1,100-2,..100-N)와 스트리밍 서비스 서버(200) 사이에 세션을 형성하는데 이용될 수 있다.
그리고, 제어부(240)는 저장부(210)에 저장된 속성 정보들 중 재생 요청된 컨텐츠에 대한 속성 정보를 검출하고, 검출된 속성 정보와 사용자의 식별 정보를 사용자 단말 장치(100)에 전송하도록 제어할 수 있다. 여기서, 속성 정보는, MPD 문서일 수 있고, MPD 문서는 세그먼트에 대한 정보를 XML 형식으로 기술하며, 해당 세그먼트에 상응하는 컨텐츠 시간상의 위치, URL, 크기 등 사용자 단말 장치(100)가 사전에 인지하여야할 정보를 포함할 수 있다.
특히, 본 발명의 일 실시 예에 따르면, 제어부(240)는 사용자 식별 정보를 MPD 문서에 담아서 사용자 단말 장치(100)에 전송할 수 있다. 이에 따라, 사용자 단말 장치(100)는 수신된 MPD 문서에서 사용자 식별 정보를 검출하여 해당 단말 장치에서 요청한 MPD 문서인지 여부를 판단할 수 있다.
한편, 사용자 단말 장치(100)는 속성 정보, 사용자 단말 장치(100)의 네트워크 대역폭 상태 및 사용자 단말 장치(100)의 하드웨어 상태 중 적어도 하나를 이용하여 스트리밍 서비스 서버(200)에 요청할 세그먼트의 품질을 결정할 수 있다. 일 예로, 사용자 단말 장치(100)는 스트리밍 서비스 서버(200)에 요청할 세그먼트의 품질을 UHD, FHD, HD 및 SD의 품질 중 하나로 결정할 수 있다.
그리고, 사용자 단말 장치(100)는 결정된 품질의 세그먼트를 스트리밍 서비스 서버(200)에 요청할 수 있다. 이 경우, 세그먼트 요청 포맷은 도 5와 같을 수 있다. 즉, 도 5를 참조하면, 세그먼트 요청 포맷은 사용자 단말 장치(100)에서 결정된 품질이 무엇인지 식별 가능하도록 하는 품질 식별 정보(301) 및 사용자 식별 정보(302)를 포함할 수 있다. 만약, 스트리밍 서비스 서버(200)가 상기 세그먼트 요청 포맷을 수신하면, 제어부(240)는 품질 식별 정보(301) 및 사용자 식별 정보(302)를 검출할 수 있다. 그리고, 제어부(240)는 검출된 품질 식별 정보(301)를 이용하여 요청된 세그먼트의 품질을 판단하고, 검출된 사용자 식별 정보(302)를 이용하여 사용자 단말 장치(100)와 스트리밍 서비스 서버(200) 사이에 세션이 형성되었는지 여부를 판단할 수 있다.
한편, 사용자 단말 장치(100)로부터 세그먼트 요청이 수신되면, 제어부(240)는, 도 5와 같은 세그먼트 요청 포맷을 이용하여, 요청된 세그먼트의 품질이 기본 레이어인지 여부, 요청받은 품질에 할당된 세션 수, 및 사용자에 대한 세션 형성 여부를 기초로 스트리밍 서비스를 제공하도록 스트리밍 서비스 제공부(230)을 제어할 수 있다.
일 예로, 요청받은 제1 품질이 기본 레이어가 아니고, 제1 품질에 할당된 세션 수가 기 설정된 기준치를 초과하며, 사용자에 대한 세션이 형성된 상태가 아닌 경우, 제어부(240)는 HTTP 404와 같은 접속 오류 코드를 생성하여 사용자 단말 장치(100)에 전송하도록 스트리밍 서비스 제공부(230)를 제어할 수 있다. 이 경우, 접속 오류 코드를 수신한 사용자 단말 장치(100)는 이전에 요청한 제1 품질과는 다른 품질의 세그먼트를 스트리밍 서비스 서버(200)에 요청할 수 있다.
다른 예로, 요청받은 제1 품질이 기본 레이어가 아니고, 제1 품질에 할당된 세션 수가 기 설정된 기준치를 초과하며, 사용자에 대한 세션이 형성된 상태인 경우, 제어부(240)는 세션 유효 시간을 갱신하도록 세션 관리부(220)를 제어하고, 형성된 세션을 이용하여 사용자 단말 장치(100)에 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 스트리밍 서비스 제공부(230)를 제어할 수 있다.
또 다른 예로, 요청받은 제1 품질이 기본 레이어가 아니고, 제1 품질에 할당된 세션 수가 기 설정된 기준치 이하이며, 사용자에 대한 세션이 형성된 상태가 아닌 경우, 제어부(240)는 사용자에 대한 세션을 형성하도록 세션 관리부(240)를 제어하고, 형성된 세션을 이용하여 사용자 단말 장치(100)에 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 스트리밍 서비스 제공부(230)를 제어할 수 있다.
또 다른 예로, 요청받은 제1 품질이 기본 레이어가 아니고, 제1 품질에 할당된 세션 수가 기 설정된 기준치 이하이며, 사용자에 대한 세션이 형성된 상태인 경우, 제어부(240)는 세션 유효 시간을 갱신하도록 세션 관리부(220)를 제어하고, 형성된 세션을 이용하여 사용자 단말 장치(100)에 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 스트리밍 서비스 제공부(230)를 제어할 수 있다.
이러한, 본 발명에 따르면, 서버와 사용자 간의 세션 유지 정책을 제공함으로써, 네트워크 대역폭 변화에도 불구하고 기존 고화질 스트리밍 중이던 사용자에게 지속적으로 고화질 스트리밍을 제공할 수 있다.
한편, 요청받은 제1 품질이 기본 레이어인 경우, 제어부(240)는 사용자 단말 장치(100)에 기본 레이어의 세그먼트로 스트리밍 서비스를 제공하도록 스트리밍 서비스 제공부(230)를 제어할 수 있다. 이에 따라, 사용자 단말 장치의 세그먼트 요청 시 기본 레이어(예를 들어, SD 품질)을 보장함으로써, 저화질로라도 최대한 다수의 사용자가 스트리밍 가능하도록할 수 있다.
이러한, 제어부(240)의 제어 동작에 대해서는 도 8을 참조하여 보다 구체적으로 설명하기로 한다.
도 4는 본 발명의 다른 실시 예에 따른 스트리밍 서비스 서버를 나타내는 블록도 이다. 도 4를 참조하면, 스트리밍 서비스 서버(200)는 저장부(210), 세션 관리부(220), 스트리밍 서비스 제공부(230), 제어부(240), 트랜스코딩부(250), 세그먼트 생성부(260), 속성 정보 생성부(270)의 전부 또는 일부를 포함한다. 여기서, 도 4의 스트리밍 서비스 서버(200)의 일부 구성은 도 3에서 설명한 구성과 중복되고, 이하에서는 중복되는 구성의 설명은 생략하고, 차이 구성을 위주로 구체적으로 설명하기로 한다.
트랜스코딩부(250)는 컨텐츠를 복수의 상이한 품질로 인코딩하여 하나의 콘텐츠에 대한 복수의 비트 스트림을 생성할 수 있다. 구체적으로, 트랜스코딩부(240)는 코덱 정보를 바탕으로 비트율(Bit Rate), 해상도(Resolution), 프레임율(Frame Rate) 등과 같은 인자들을 조절함으로써 하나의 콘텐츠를 복수의 상이한 품질로 인코딩할 수 있다.
세그먼트 생성부(260)는 서로 상이한 품질로 인코딩된 복수의 비트 스트림을 일정한 시간 간격으로 세분화하여, 각 비트 스트림의 재생에 필요한 초기화 세그먼트와 미디어 세그먼트를 생성할 수 있다. 여기서, 생성된 세그먼트들은 저장부(210)에 저장될 수 있다.
속성 정보 생성부(270)는 생성된 세그먼트에 관한 정보를 기초로 해당 세그먼트에 상응하는 콘텐츠 시간상의 위치, URL, 크기 등을 포함하는 MPD 문서를 생성할 수 있다. 여기서, 생성된 MPD 문서들은 저장부(210)에 저장될 수 있다.
도 6은 본 발명의 일 실시 예에 따른 스트리밍 서비스 시스템의 동작을 나타내는 타이밍도 이다. 도 6을 참조하면, 먼저 사용자는 사용자 단말 장치(100)를 이용한 웹 서핑 중에 특정 컨텐츠를 선택하고, 선택된 컨텐츠의 재생 명령을 입력할 수 있다(S101).
이 경우, 해당 웹 서버(300)는 스트리밍 컨텐츠를 제공받기 위한 주소 정보, 예를 들어, 스트리밍 서비스 서버(200)의 주소 정보와 선택된 스트리밍 컨텐츠의 경로를 나타내는 고유 자원 주소 정보(Uniform Resource Locator : URL)를 사용자 단말 장치(100)에 전송할 수 있다(S102).
그리고, 사용자 단말 장치(100)는 수신된 주소 정보를 이용하여 스트리밍 서비스 서버(200)에 선택된 스트리밍 컨텐츠에 대한 속성 정보를 요청하고, 요청과 동시, 요청 전 또는 요청 후 스트리밍 서비스 서버(200)에 사용자 식별 정보를 전송할 수 있다(S103).
이 경우, 스트리밍 서비스 서버(200)는 요청된 속성 정보 및 사용자 식별 정보를 사용자 단말 장치(100)에 전송할 수 있다(S104). 일 예로, 스트리밍 서비스 서버(200)는 속성 정보에 대응되는 MPD 문서에 사용자 식별 정보를 담아 사용자 단말 장치(100)에 전송할 수 있다
이 경우, 사용자 단말 장치(100)는, 속성 정보, 사용자 단말 장치(100)의 네트워크 대역폭 상태 및 사용자 단말 장치(100)의 하드웨어 상태 중 적어도 하나를 이용하여 스트리밍 서비스 서버(100)에 요청할 세그먼트의 품질을 제1 품질로 결정할 수 있다(S105). 여기서, 제1 품질은, UHD, FHD, HD, SD 중 하나일 수 있다.
그리고, 사용자 단말 장치(100)는 제1 품질의 식별 정보 및 사용자 식별 정보를 포함하는 세그먼트 요청을 스트리밍 서비스 서버(200)에 전송할 수 있다(S106).
이 경우, 스트리밍 서비스 서버(200)는 제1 품질이 기본 레이어인지 여부, 요청받은 제1 품질에 할당된 세션 수 및 사용자에 대한 세션 형성 여부를 확인할 수 있다(S107).
그리고, 스트리밍 서비스 서버(200)는 확인 결과를 기초로 기초로 스트리밍 서비스를 제공하도록 스트리밍 서비스 제공부(230)을 제어할 수 있다(S108).
도 7은 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버의 동작을 구체적으로 나타내는 흐름도 이다. 도 7을 참조하면, 먼저 스트리밍 서비스 서버(200)는 컨텐츠에 대해 복수의 품질로 생성된 복수의 세그먼트 및 복수의 세그먼트에 대한 속성 정보를 저장할 수 있다(S201).
그리고, 스트리밍 서비스 서버(200)는 사용자 단말 장치에서 특정 컨텐츠의 재생이 요청되면, 사용자 단말 장치(100)로부터 사용자의 식별 정보 및 재생 요청된 특정 컨텐츠에 대응되는 속성 정보의 요청을 수신할 수 있다(S202).
그리고, 스트리밍 서비스 서버(200)는 저장된 속성 정보로부터 요청받은 속성 정보를 검출할 수 있다(S203).
그리고, 스트리밍 서비스 서버(200)는 검출된 속성 정보와 사용자의 식별 정보를 사용자 단말 장치(100)에 전송할 수 있다(S204).
그리고, 스트리밍 서비스 서버(200)는 사용자의 식별 정보를 이용하여 사용자 단말 장치(100)와 세션을 형성할 수 있다(S205). 구체적으로, 세션 관리부(220)는 사용자 단말 장치(100)와 스트리밍 서비스 서버(200) 간의 세션을 형성하고, 형성된 세션에 대응되는 세션 정보를 저장하며, 할당된 유효 시간 동안만 세션 정보를 관리하고, 유효 시간이 경과하면 사용자 단말 장치(100)와 스트리밍 서비스 서버(200) 간의 세션을 끊고 세션 정보를 삭제할 수 있다.
한편, 스트리밍 서비스 서버(200)는 사용자 단말 장치(100)로부터 특정 컨텐츠에 대한 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받을 수 있다(S206).
그리고, 요청받은 제1 품질이 기본 레이어가 아닌 경우, 스트리밍 서비스 서버(200)는 제1 품질에 할당된 세션 수 및 사용자에 대한 세션 형성 여부를 기초로 스트리밍 서비스를 제공하도록 제어할 수 있다(S207). 이러한 S207 단계에 대해서는 도 8을 참조하여 보다 구체적으로 설명하기로 한다.
도 8은 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버의 스트리밍 제어 동작을 구체적으로 나타내는 흐름도 이다. 이하에서는 복수의 품질이 UHD, FHD, HD, SD로 구성되는 경우를 예로, 도 8을 참조하여 설명하기로 한다.
먼저, 스트리밍 서비스 서버(200)는 사용자 단말 장치(100)로부터 특정 컨텐츠에 대한 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받을 수 있다(S301).
이 경우, 스트리밍 서비스 서버(200)는 요청받은 제1 품질이 기본 레이어인지 여부를 판단할 수 있다(S302). 일 예로, 스트리밍 서비스 서버(200)는 요청받은 제1 품질이 SD 품질인지 여부를 판단할 수 있다.
이후, 기본 레이어인지 여부에 따라 1차적으로 세션의 형성 여부를 각각 확인하고, 이에 따른 프로세스를 진행한다.
만약, 요청받은 제1 품질이 기본 레이어인 경우(S302:Y), 스트리밍 서비스 서버(200)는 사용자 식별 정보를 참조하여 세션을 맺은 서버가 있는 지 여부를 확인할 수 있다(S303).
구체적으로, 스트리밍 서비스 서버(200)는 사용자 단말 장치(100)의 세그먼트 요청 포맷에 포함된 사용자 식별 정보를 기초로 해당 사용자 단말 장치와의 세션이 형성된 상태인지 여부를 판단할 수 있다. 만약, 유효 시간 내에 사용자 단말 장치(100)로부터 세그먼트 요청이 수신되면, 스트리밍 서비스 서버(200)는 사용자에 대한 세션이 형성된 상태라고 판단할 수 있다. 다만, 세션 유효 시간의 경과에 따라 사용자 단말 장치(100)와 스트리밍 서비스 서버(200) 간의 세션이 끊어진 상태에서 세그먼트 요청이 수신되면, 스트리밍 서비스 서버(200)는 사용자에 대한 세션이 형성되지 않은 상태라고 판단할 수 있다.
S303단계를 통해 기 형성된 세션이 존재하는 경우 세션 유효 기간을 갱신한다(S305).
다음, 갱신된 세션을 통해 사용자 단말 장치(100)에 기본 레이어의 세그먼트로 스트리밍 서비스를 제공하도록 제어할 수 있다.(S308). 일 예로, 요청받은 제1 품질이 SD 품질인 경우, 스트리밍 서비스 서버(200)는 SD 품질의 세그먼트로 스트리밍 서비스를 제공하도록 제어할 수 있다. 이에 따라, 사용자 단말 장치의 세그먼트 요청 시 기본 레이어(예를 들어, SD 품질)을 보장함으로써, 저화질로라도 최대한 다수의 사용자가 스트리밍 가능하도록할 수 있다.
또한, 제1 품질이 기본 레이어이더라도, 세션이 형성되지 않은 경우(S303:N), 스트리밍 서비스 서버(200)는 기본 레이어에 할당된 세션 수가 기설정된 기준치를 초과하는지 여부를 확인하여 제공 여부를 결정한다(S306). 이에 대한 제어는 제1 품질이 기본 레이어인지 여부와 무관하게 동일하게 수행될 수 있으며, 후술한다.
한편, 요청받은 제1 품질이 기본 레이어가 아닌 경우(S302:N)이며, 세션이 형성되지 않은 경우(S303:N), 스트리밍 서비스 서버(200)는 제1 품질에 할당된 세션 수가 기 설정된 기준치를 초과하는지 판단할 수 있다(S306).
즉, 제1 품질에 할당된 세션 수가 기 설정된 기준치를 초과하는 경우(S306:Y)는 제1 품질에 할당된 네트워크 대역폭이 이용 불가능한 상태일 수 있고, 제1 품질에 할당된 세션 수가 기 설정된 기준치 이하인 경우(S306:N)는 제1 품질에 할당된 네트워크 대역폭이 이용 가능한 상태일 수 있다.
만약, 제1 품질에 할당된 세션 수가 기 설정된 기준치를 초과하는 경우(S306:Y), 스트리밍 서비스 서버(200)는 접속 오류 코드를 생성하여 사용자 단말 장치(100)에 전송하도록 제어할 수 있다(S309). 이 경우, 접속 오류 코드를 수신한 사용자 단말 장치(100)는 이전에 요청한 제1 품질과는 다른 품질의 세그먼트를 스트리밍 서비스 서버(200)에 요청하여 추후 스트리밍 과정을 재개할 수 있다.
만약, 사용자에 대한 세션이 형성된 상태인 경우(S304:Y), 스트리밍 서비스 서버(200)는 세션 유효 시간을 갱신하고(S305), 형성된 세션을 이용하여 사용자 단말 장치(100)에 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 제어할 수 있다(S308).
한편, 제1 품질에 할당된 세션 수가 기 설정된 기준치 이하인 경우(S306:N), 스트리밍 서비스 서버(200)는 사용자에 대한 세션을 형성하고(S307), 형성된 세션을 이용하여 사용자 단말 장치(100)에 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 제어할 수 있다(S308).
다만, 사용자에 대한 세션이 형성된 상태인 경우(S304:Y), 스트리밍 서비스 서버(200)는 세션 유효 시간을 갱신(S305)하고, 형성된 세션을 이용하여 사용자 단말 장치(100)에 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 제어할 수 있다(S308).
이에 따라, 서버와 사용자 간의 세션 유지 정책을 제공함으로써, 네트워크 대역폭 변화에도 불구하고 기존 고화질 스트리밍 중이던 사용자에게 지속적으로 고화질 스트리밍을 제공할 수 있다.
또한, 본 발명의 다른 실시예에 따른 스트리밍 서비스 서버(200)는 스트리밍을 제어하는 서버와 세그먼트를 전송하는 노드 서버로 분산되어 구성될 수 있다.
이러한 환경에서는 호출한 세그먼트 파일이 스트리밍 서비스 서버에서 해당 해상도에 대한 세션이 기형성 되어 있거나 세션 수가 일정 기준치 이하라면 요청을 노드 서버로 리다이렉트 시키고(S308) 노드 서버는 상기 세그먼트를 클라이언트로 전달한다. 이와 더불어 노드 서버는 각각 세션 요청의 네트워크 대역폭을 서버 설정에 따라 일정 속도 이하로만 데이터를 전달하도록 제한을 둘 수 있다.
도 9는 상술한 실시 예에 따라 스트리밍 서비스 서버(200)가 분산된 스트리밍 서비스 시스템을 나타내는 블록도 이다. 도 9를 참조하면, 스트리밍 서비스 시스템(2000)은 복수의 사용자 단말 장치(100-1,100-2,..100-N), 스트리밍 제어 서버(200-1), 복수의 스트리밍 서버(200-2,,,200-5)의 전부 또는 일부를 포함한다.
즉, 스트리밍 서비스 서버(200)는 도 2와 같이 상술한 기능을 모두 수행하는 한 개의 서버로 구현될 수 있고, 또는 도 9와 같이, 상술한 기능을 각자 분할하여 수행하는 스트리밍 제어 서버(200-1), 복수의 스트리밍 노드 서버(200-2,,,200-N)를 포함하는 복수의 서버로 구현될 수 있다. 이 경우, 스트리밍 제어 서버(200-1)는 스트리밍 서비스 서버(200)의 제어부(240)의 기능을 수행할 수 있고, 복수의 스트리밍 노드 서버(200-2,,,200-N) 각각은 스트리밍 서비스 서버(200)의 복수의 스트리밍 서비스 제공부(230) 각각의 기능을 수행할 수 있다.
즉, 복수의 품질의 세그먼트 중 특정 품질의 세그먼트가 결정되면, 스트리밍 제어 서버(200-1)는 결정된 품질에 대응되는 스트리밍 노드 서버(200-2,,,200-N)로 리다이렉트 시킴으로써, 사용자 단말 장치(100)에 스트리밍 서비스를 제공할 수 있다.
도 10은 도 9에 따른 스트리밍 서비스 시스템의 동작을 나타내는 타이밍도 이다. 도 9를 참조하면, 먼저 사용자는 사용자 단말 장치(100)를 이용한 웹 서핑 중에 특정 컨텐츠를 선택하고, 선택된 컨텐츠의 재생 명령을 입력할 수 있다(S101).
이 경우, 해당 웹 서버(300)는 스트리밍 컨텐츠를 제공받기 위한 주소 정보, 예를 들어, 스트리밍 서비스 제어 서버(200-1)의 주소 정보와 선택된 스트리밍 컨텐츠의 경로를 나타내는 고유 자원 주소 정보(Uniform Resource Locator : URL)를 사용자 단말 장치(100)에 전송할 수 있다(S102).
그리고, 사용자 단말 장치(100)는 수신된 주소 정보를 이용하여 스트리밍 서비스 제어 서버(200-1)에 선택된 스트리밍 컨텐츠에 대한 속성 정보를 요청하고, 요청과 동시, 요청 전 또는 요청 후 스트리밍 서비스 제어 서버(200-1)에 사용자 식별 정보를 전송할 수 있다(S103).
이 경우, 스트리밍 서비스 제어 서버(200-1)는 요청된 속성 정보 및 사용자 식별 정보를 사용자 단말 장치(100)에 전송할 수 있다(S104). 일 예로, 스트리밍 서비스 제어 서버(200-1)는 속성 정보에 대응되는 MPD 문서에 사용자 식별 정보를 담아 사용자 단말 장치(100)에 전송할 수 있다
이 경우, 사용자 단말 장치(100)는, 속성 정보, 사용자 단말 장치(100)의 네트워크 대역폭 상태 및 사용자 단말 장치(100)의 하드웨어 상태 중 적어도 하나를 이용하여 스트리밍 서비스 제어 서버(100)에 요청할 세그먼트의 품질을 제1 품질로 결정할 수 있다(S105). 여기서, 제1 품질은, UHD, FHD, HD, SD 중 하나일 수 있다.
그리고, 사용자 단말 장치(100)는 제1 품질의 식별 정보 및 사용자 식별 정보를 포함하는 세그먼트 요청을 스트리밍 서비스 제어 서버(200-1)에 전송할 수 있다(S106).
이 경우, 스트리밍 서비스 제어 서버(200-1)는 제1 품질이 기본 레이어인지 여부, 요청받은 제1 품질에 할당된 세션 수 및 사용자에 대한 세션 형성 여부를 확인할 수 있다(S107).
그리고, 스트리밍 서비스 제어 서버(200-1)는 확인 결과를 기초로 기초로 스트리밍 서비스를 제공하도록 스트리밍 서비스 제공부(230)을 제어할 수 있다(S108).
이때 스트리밍 서비스 제어 서버(200-1)가 스트리밍 서비스를 제공하도록 결정된 경우, 실제 스트리밍 되는 세그먼트를 관리하는 해당 스트리밍 서비스 노드 서버(200-2~N) 중 하나에 요청을 리다이렉트한다(S109).
다음 리다이렉트된 요청을 수신한 스트리밍 서비스 노드는 세그먼트를 사용자 단말 장치(100)에 회신하여 준다(S110).
한편, 상술한 본 발명의 다양한 실시 예들에 따른 제어 방법은 프로그램으로 구현되어 서버 또는 기기들에 제공될 수 있다. 이에 따라, 각 장치들은 프로그램이 저장된 서버 또는 기기에 접속하여, 상기 프로그램을 다운로드할 수 있다.
또한, 상술한 본 발명의 다양한 실시 예들에 따른 제어 방법은 프로그램으로 구현되어 다양한 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다. 비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.

Claims (19)

  1. 스트리밍 서비스 서버의 제어 방법에 있어서,
    사용자 단말 장치로부터 특정 컨텐츠에 대한 정상 재생을 위한 기본 레이어 및 상기 기본 레이어에 대하여 향상된 레이어를 포함하는 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받는 단계; 및
    상기 요청받은 제1 품질이 기본 레이어인지 여부, 상기 사용자에 대한 세션 형성 여부 및 상기 제1 품질에 할당된 세션 수를 기초로 스트리밍 서비스를 제공하도록 제어하는 단계;를 포함하는 제어 방법.
  2. 제1항에 있어서,
    상기 스트리밍 서비스를 제공하도록 제어하는 단계는,
    상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 제1 품질에 할당된 세션 수가 기 설정된 기준치를 초과하는 경우, 접속 오류 코드를 생성하여 상기 사용자 단말 장치에 전송하도록 제어하고,
    상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태인 경우, 상기 세션 유효 시간을 갱신하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것을 특징으로 하는 제어 방법.
  3. 제1항에 있어서,
    상기 스트리밍 서비스를 제공하도록 제어하는 단계는,
    상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 제1 품질에 할당된 세션 수가 기 설정된 기준치 이하인 경우, 상기 사용자에 대한 세션을 형성하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것을 특징으로 하는 제어 방법.
  4. 제1항에 있어서,
    상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 기본 레이어에 할당된 세션 수가 기 설정된 기준치 이하인 경우, 상기 사용자에 대한 세션을 형성하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 기본 레이어의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키고,
    상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 기본 레이어에 할당된 세션 수가 기 설정된 기준치를 초과하는 경우, 접속 오류 코드를 생성하여 상기 사용자 단말 장치에 전송하도록 제어하는 것을 특징으로 하는 제어 방법.
  5. 제1항에 있어서,
    상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태인 경우 상기 세션 유효 시간을 갱신하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것을 특징으로 하는 제어 방법.
  6. 제1항에 있어서,
    컨텐츠에 대해 복수의 품질로 생성된 복수의 세그먼트 및 상기 복수의 세그먼트에 대한 속성 정보를 저장하는 단계;
    상기 사용자 단말 장치에서 특정 컨텐츠의 재생이 요청되면, 상기 사용자의 식별 정보 및 상기 재생 요청된 특정 컨텐츠에 대응되는 속성 정보의 요청을 수신하는 단계;
    상기 저장된 속성 정보로부터 상기 요청받은 속성 정보를 검출하고, 상기 검출된 속성 정보와 상기 사용자의 식별 정보를 상기 사용자 단말 장치에 전송하는 단계; 및
    상기 수신된 사용자의 식별 정보를 이용하여 상기 사용자 단말 장치와 세션 연결을 형성하는 단계;를 포함하는 것을 특징으로 하는 제어 방법.
  7. 제6항에 있어서,
    상기 속성 정보는,
    DASH(Dynamic Adaptive Streaming over HTTP) 기술의 MPD(Media Presentation Description) 문서일 수 있고,
    상기 검출된 속성 정보와 상기 사용자의 식별 정보를 상기 사용자 단말 장치에 전송하는 단계는,
    상기 MPD 문서에 상기 사용자 식별 정보를 포함시켜 상기 사용자 단말 장치에 전송하는 것을 특징으로 하는 제어 방법.
  8. 제7항에 있어서,
    상기 사용자 단말 장치는, 상기 속성 정보, 상기 사용자 단말 장치의 네트워크 대역폭 상태 및 상기 사용자 단말 장치의 하드웨어 상태 중 적어도 하나를 이용하여 상기 스트리밍 서비스 서버에 요청할 세그먼트의 품질을 결정하고,
    상기 사용자 단말 장치로부터 특정 컨텐츠에 대한 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받는 단계는,
    상기 사용자 단말 장치에서 결정된 품질의 식별 정보 및 상기 사용자 식별 정보를 포함하는 요청을 상기 사용자 단말 장치로부터 수신하는 단계이며,
    상기 복수의 품질은,
    상기 기본 레이어의 품질을 정의하는 SD(Standard Definition)와 상기 향상된 레이어의 품질을 정의하는 UHD(Ultra High Definition), FHD(Full High Definition) 및 HD(High Definition) 중 적어도 하나를 포함하는 것을 특징으로 하는 제어 방법.
  9. 제4항에 있어서,
    상기 스트리밍 서비스 서버는,
    전체 네트워크 대역폭을 분배하여 상기 복수의 품질 각각에 할당하고,
    상기 할당된 대역폭을 기초로 상기 복수의 품질 각각에 최대 가능 세션 수를 할당하는 것을 특징으로 하는 제어 방법.
  10. 스트리밍 서비스 서버에 있어서,
    사용자 단말 장치로부터 특정 컨텐츠에 대한 정상 재생을 위한 기본 레이어 및 상기 기본 레이어에 대하여 향상된 레이어를 포함하는 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받고,
    상기 요청받은 제1 품질이 기본 레이어인지 여부, 상기 사용자에 대한 세션 형성 여부 및 상기 제1 품질에 할당된 세션 수를 기초로 스트리밍 서비스를 제공하도록 제어하는 제어부;를 포함하는 스트리밍 서비스 서버.
  11. 제10항에 있어서,
    상기 제어부는,
    상기 사용자 단말 장치에서 특정 컨텐츠의 재생이 요청되면, 상기 사용자의 식별 정보 및 상기 재생 요청된 특정 컨텐츠에 대응되는 속성 정보의 요청을 수신하고,
    상기 저장된 속성 정보로부터 상기 요청받은 속성 정보를 검출하고, 상기 검출된 속성 정보와 상기 사용자의 식별 정보를 상기 사용자 단말 장치에 전송하도록 제어하며,
    상기 스트리밍 서비스 서버는,
    컨텐츠에 대해 복수의 품질로 생성된 복수의 세그먼트 및 상기 복수의 세그먼트에 대한 속성 정보를 저장하는 저장부; 및
    상기 수신된 사용자의 식별 정보를 이용하여 상기 사용자 단말 장치와 세션 연결을 형성하는 세션 관리부;를 더 포함하는 것을 특징으로 하는 스트리밍 서비스 서버.
  12. 제11항에 있어서,
    상기 속성 정보는,
    DASH(Dynamic Adaptive Streaming over HTTP) 기술의 MPD(Media Presentation Description) 문서일 수 있고,
    상기 제어부는,
    상기 MPD 문서에 상기 사용자 식별 정보를 포함시켜 상기 사용자 단말 장치에 전송하도록 제어하는 것을 특징으로 하는 스트리밍 서비스 서버.
  13. 제11항에 있어서,
    상기 사용자 단말 장치는, 상기 속성 정보, 상기 사용자 단말 장치의 네트워크 대역폭 상태 및 상기 사용자 단말 장치의 하드웨어 상태 중 적어도 하나를 이용하여 상기 스트리밍 서비스 서버에 요청할 세그먼트의 품질을 결정하고,
    상기 제어부는,
    상기 사용자 단말 장치에서 결정된 품질의 식별 정보 및 상기 사용자 식별 정보를 포함하는 제1 품질의 세그먼트 요청을 상기 사용자 단말 장치로부터 수신하며,
    상기 복수의 품질은,
    상기 기본 레이어의 품질을 정의하는 SD(Standard Definition)와 상기 향상된 레이어의 품질을 정의하는 UHD(Ultra High Definition), FHD(Full High Definition) 및 HD(High Definition) 중 적어도 하나를 포함하는 것을 특징으로 하는 스트리밍 서비스 서버.
  14. 제13항에 있어서,
    상기 복수의 품질 각각에 대응되는 세그먼트로 스트리밍 서비스를 제공하는 복수의 스트리밍 서비스 제공부;를 더 포함하고,
    상기 복수의 스트리밍 서비스 제공부 각각은,
    전체 네트워크 대역폭의 일부 대역폭을 각각 할당받은 것을 특징으로 하는 스트리밍 서비스 서버.
  15. 제14항에 있어서,
    상기 제어부는,
    상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 제1 품질에 할당된 세션 수가 기 설정된 기준치를 초과하는 경우, 접속 오류 코드를 생성하여 상기 사용자 단말 장치에 전송하도록 제어하고,
    상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태인 경우, 상기 세션 유효 시간을 갱신하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것을 특징으로 하는 스트리밍 서비스 서버.
  16. 제14항에 있어서,
    상기 스트리밍 서비스를 제공하도록 제어하는 단계는,
    상기 요청받은 제1 품질이 기본 레이어가 아니고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 제1 품질에 할당된 세션 수가 기 설정된 기준치 이하인 경우, 상기 사용자에 대한 세션을 형성하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것을 특징으로 하는 스트리밍 서비스 서버.
  17. 제14항에 있어서,
    상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 기본 레이어에 할당된 세션 수가 기 설정된 기준치 이하인 경우, 상기 사용자에 대한 세션을 형성하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 기본 레이어의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키고,
    상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태가 아니며, 상기 기본 레이어에 할당된 세션 수가 기 설정된 기준치를 초과하는 경우, 접속 오류 코드를 생성하여 상기 사용자 단말 장치에 전송하도록 제어하는 것을 특징으로 하는 스트리밍 서비스 서버.
  18. 제14항에 있어서,
    상기 요청받은 제1 품질이 기본 레이어이고, 상기 사용자에 대한 세션이 형성된 상태인 경우 상기 세션 유효 시간을 갱신하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 요청을 리다이렉트 시키는 것을 특징으로 하는 스트리밍 서비스 서버
  19. 제15항 또는 제18항에 있어서,
    상기 세션 관리부는,
    상기 형성된 세션에 대하여 세션 유효 시간을 할당하고, 할당된 유효 시간 동안에만 상기 형성된 세션에 대한 세션 정보를 관리하는 것을 특징으로 하는 스트리밍 서비스 서버.
KR1020160111769A 2016-08-31 2016-08-31 스트리밍 서비스 서버 및 그의 제어 방법 KR20180024841A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160111769A KR20180024841A (ko) 2016-08-31 2016-08-31 스트리밍 서비스 서버 및 그의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160111769A KR20180024841A (ko) 2016-08-31 2016-08-31 스트리밍 서비스 서버 및 그의 제어 방법

Publications (1)

Publication Number Publication Date
KR20180024841A true KR20180024841A (ko) 2018-03-08

Family

ID=61725952

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160111769A KR20180024841A (ko) 2016-08-31 2016-08-31 스트리밍 서비스 서버 및 그의 제어 방법

Country Status (1)

Country Link
KR (1) KR20180024841A (ko)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020117571A1 (en) * 2018-12-04 2020-06-11 The Nielsen Company (Us), Llc Methods and apparatus to identify media presentations by analyzing network traffic
CN113793612A (zh) * 2021-09-15 2021-12-14 京东科技信息技术有限公司 模型服务的更新方法、装置及存储介质
KR102361883B1 (ko) 2021-07-28 2022-02-14 주식회사 코모컴퍼니 온라인 플랫폼에서 사용자 맞춤형 캐릭터 상품을 제공하는 방법 및 그 서버
US12132956B2 (en) 2019-10-15 2024-10-29 Interdigital Madison Patent Holdings, Sas Method and apparatuses for sending and receiving a video

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020117571A1 (en) * 2018-12-04 2020-06-11 The Nielsen Company (Us), Llc Methods and apparatus to identify media presentations by analyzing network traffic
US10805690B2 (en) 2018-12-04 2020-10-13 The Nielsen Company (Us), Llc Methods and apparatus to identify media presentations by analyzing network traffic
US11463770B2 (en) 2018-12-04 2022-10-04 The Nielsen Company (Us), Llc Methods and apparatus to identify media presentations by analyzing network traffic
US11877028B2 (en) 2018-12-04 2024-01-16 The Nielsen Company (Us), Llc Methods and apparatus to identify media presentations by analyzing network traffic
US12132956B2 (en) 2019-10-15 2024-10-29 Interdigital Madison Patent Holdings, Sas Method and apparatuses for sending and receiving a video
KR102361883B1 (ko) 2021-07-28 2022-02-14 주식회사 코모컴퍼니 온라인 플랫폼에서 사용자 맞춤형 캐릭터 상품을 제공하는 방법 및 그 서버
CN113793612A (zh) * 2021-09-15 2021-12-14 京东科技信息技术有限公司 模型服务的更新方法、装置及存储介质
CN113793612B (zh) * 2021-09-15 2024-04-09 京东科技信息技术有限公司 模型服务的更新方法、装置及存储介质

Similar Documents

Publication Publication Date Title
US10455404B2 (en) Quality of experience aware multimedia adaptive streaming
US10764623B2 (en) Method and system for media adaption
TWI580237B (zh) 單一播放適應性位元率串流
US9118738B2 (en) Systems and methods for controlling access to a media stream
US20230254357A1 (en) Fast encoding of live streaming media content
US8516144B2 (en) Startup bitrate in adaptive bitrate streaming
CA2924087C (en) Streaming policy management system and method
JP6014870B2 (ja) ストリーミング・メディア・コンテンツのリアルタイム・トランスマックス変換の方法およびシステム
EP3172863B1 (en) Quality of experience based network resource management
US9131027B2 (en) Method, system, and client for streaming media service
US9118943B2 (en) Video on demand processing
US20150032854A1 (en) System and method for network-assisted adaptive streaming
EP3172861B1 (en) Generating and utilizing contextual network analytics
KR20180024841A (ko) 스트리밍 서비스 서버 및 그의 제어 방법
US9338204B2 (en) Prioritized side channel delivery for download and store media
MX2015003953A (es) Aparato y metodo relativo a la transmision de contenido a uno o mas dispositivos de usuario.
KR102457526B1 (ko) 미디어 스트림 송신 방법, 장치, 시스템, 및 디바이스
KR101922552B1 (ko) 멀티미디어 컨텐트 전송 시스템에서 적응적 스트리밍을 이용한 트래픽 제어 방법 및 장치
EP3371978B1 (en) Contiguous streaming of media stream
KR20160031642A (ko) 스트리밍 서비스 서버 및 그의 제어 방법
KR20170022057A (ko) 스트리밍 서비스 서버 및 그의 제어 방법
KR102419087B1 (ko) 미디어 스트리밍 제어 장치 및 방법
KR102597653B1 (ko) 무선 스트리밍 방법
KR101565137B1 (ko) 무선 스트리밍 서비스 제공 방법 및 장치