Nothing Special   »   [go: up one dir, main page]

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

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

Info

Publication number
KR20170022057A
KR20170022057A KR1020150116535A KR20150116535A KR20170022057A KR 20170022057 A KR20170022057 A KR 20170022057A KR 1020150116535 A KR1020150116535 A KR 1020150116535A KR 20150116535 A KR20150116535 A KR 20150116535A KR 20170022057 A KR20170022057 A KR 20170022057A
Authority
KR
South Korea
Prior art keywords
quality
streaming service
session
user terminal
user
Prior art date
Application number
KR1020150116535A
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 KR1020150116535A priority Critical patent/KR20170022057A/ko
Publication of KR20170022057A publication Critical patent/KR20170022057A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1086In-session procedures session scope modification
    • H04L65/4084
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

스트리밍 서비스 서버의 제어 방법이 개시된다. 본 제어 방법은, 사용자 단말 장치로부터 특정 컨텐츠에 대한 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받는 단계 및 요청받은 제1 품질이 최하위 품질이 아닌 경우, 제1 품질에 할당된 세션수 및 사용자에 대한 세션 형성 여부를 기초로 스트리밍 서비스를 제공하도록 제어하는 단계를 포함한다.

Description

스트리밍 서비스 서버 및 그의 제어 방법{STREAMING SERVICE SERVER AND CONTROL METHOD THEREOF}
본 발명은 스트리밍 서비스 서버 및 그의 제어 방법에 관한 것으로, 보다 상세하게는 안정적인 동적 적응형 스트리밍 서비스를 제공할 수 있는 스트리밍 서비스 서버 및 그의 제어 방법에 관한 것이다.
최근에는 인터넷 속도, 즉 전송 대역폭의 증가(이는 전송되는 데이터의 양이 커진다는 의미와 같다)로 인해 사용자들의 만족도가 커지고 있는데, 이러한 인터넷 관련기술을 빠른 발전으로 인해 생동감 있는 오디오(audio)와 비디오(video)들이 결합된 멀티미디어를 온라인(on-line) 검색을 통해 보고들을 수 있도록 해주는 인터넷 서비스가 가능하게 되었다. 그의 대표적인 것이 멀티미디어 스트리밍 서비스이다.
여기서 스트리밍(streaming)이란 크기가 큰 오디오 데이터 또는 비디오 데이터(동영상데이터)를 실행시키는데 있어서 전부 다운(down)받아 실행하는 것이 아니고 여러 개의 파일로 나누어 연이어 실시간 전송하는 것이다.
이러한 오디오 파일이나 비디오 파일들을 스트리밍 형식으로 듣거나 화면에 나타내기 위해서는 클라이언트(client)(또는 사용자) 단말 장치에 여러 어플리케이션(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와 segment 가 있다. MPD(Media Presentation Description)는 스트리밍 서비스 제공을 목적으로 미디어에 관한 정보를 제공하는 XML형식의 데이터이고, segment는 MPD에서 미디어 데이터를 표현할 수 있는 가장 작은 단위의 데이터 유닛을 지칭한다. 이러한 MPD 및 segment가 HTTP 서버에서 사용자 단말 장치로 전송되는 구조를 바탕으로 DASH 기술이 구성되어진다.
다만, 제한적인 네트워크 환경에서 고품질의 스트리밍 서비스를 요청한 사용자들 모두에게 고품질의 스트리밍 서비스를 제공하는 것은 어렵다. 따라서, 품질 저하가 있더라고 사용자에게 끊김 없는 스트리밍 서비스를 제공할수 있는 기술 필요하다.
또한, Client 의 MPEG DASH Player 마다 MPD를 분석하는 기준과 처리하는 방식이 다르기 때문에 네트워크 상태에 따라서 지연이 생기거나 안정적으로 데이터 손실률을 보장 하기 어렵다.
한편, 최근에는 독립 부호화 방식 대비 높은 부호화 효율을 목표로 하여 공간적(spatial), 화질적(SNR), 시간적(temporal) 스케일러빌리티를 지원하는 SVC(Scalable Video Coding)이 개발되었다. SVC는 복호하고자 하는 최상위 계층만을 복호하고, 하위계층들은 계층 간 예측에 필요한 최소의 정보만을 복호하는 단일 루프 복호화 방식을 채택하여 연산량 및 메모리 사용량을 줄였다.
즉, Base Layer, Enhancement Layer 1, Enhancement Layer 2를 포함하는 복수의 Layer로 구성된 SVC에서, UHD와 같은 최고의 품질로 스트리밍을 하기 위해서는 최고 품질의 Enhancement Layer 2 뿐만 아니라, Base Layer, Enhancement Layer 1, 모두 필요로 한다. 이러한 SVC를 이용하면, 스트리밍 서버 입장에서는 캐시 효율이 높아지므로 non-scalable 방식 보다 데이터 전송에 효과적일 수 있다.
다만, SVC 특성상 최하위 품질의 base layer 가 보장되지 않으면 Enhancement layer 들이 전달 되더라도 정상적인 화면의 재생이 불가하다는 문제점이 있다.
본 발명은 상술한 필요성에 따라 안출된 것으로, 본 발명의 목적은 복수의 품질 별로 네트워크 대역폭을 할당하여 관리하는 스트리밍 서비스 서버 및 그의 제어 방법을 제공함에 있다. 보다 상세하게는 본 발명의 목적은 사용자 단말 장치에서 요청된 제1 품질의 세그먼트에 할당된 네트워크 대역폭을 확인하고, 확인 결과에 따라 결정된 품질의 세그먼트로 스트리밍 서비스를 제공하는 스트리밍 서비스 서버 및 그의 제어 방법을 제공함에 있다.
또한, 본 발명의 목적은 일정 기준 사용자들에 한하여 세션(session)을 맺고, 정해진 기준 이상으로 세션이 맺어지면 이 후로 발생되는 사용자 단말 장치의 요청에는 더 이상 고품질의 응답을 주지 않는 스트리밍 서비스 서버 및 그의 제어 방법을 제공함에 있다.
상술한 목적을 달성하기 위한 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버의 제어 방법은, 사용자 단말 장치로부터 특정 컨텐츠에 대한 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받는 단계 및 상기 요청받은 제1 품질이 최하위 품질이 아닌 경우, 상기 제1 품질에 할당된 세션수 및 상기 사용자에 대한 세션 형성 여부를 기초로 스트리밍 서비스를 제공하도록 제어하는 단계를 포함한다.
그리고, 컨텐츠에 대해 복수의 품질로 생성된 복수의 세그먼트 및 상기 복수의 세그먼트에 대한 속성 정보를 저장하는 단계, 상기 사용자 단말 장치에서 특정 컨텐츠의 재생이 요청되면, 상기 사용자의 식별 정보 및 상기 재생 요청된 특정 컨텐츠에 대응되는 속성 정보의 요청을 수신하는 단계, 상기 저장된 속성 정보로부터 상기 요청받은 속성 정보를 검출하고, 상기 검출된 속성 정보와 상기 사용자의 식별 정보를 상기 사용자 단말 장치에 전송하는 단계 및 상기 수신된 사용자의 식별 정보를 이용하여 상기 사용자 단말 장치와 세션 연결을 형성하는 단계를 더 포함할 수 있다.
또한, 상기 속성 정보는, DASH(Dynamic Adaptive Streaming over HTTP) 기술의 MPD(Media Presentation Description) 문서일 수 있고, 상기 검출된 속성 정보와 상기 사용자의 식별 정보를 상기 사용자 단말 장치에 전송하는 단계는, 상기 MPD 문서에 상기 사용자 식별 정보를 포함시켜 상기 사용자 단말 장치에 전송할 수 있다.
그리고, 상기 사용자 단말 장치는, 상기 속성 정보, 상기 사용자 단말 장치의 네트워크 대역폭 상태 및 상기 사용자 단말 장치의 하드웨어 상태 중 적어도 하나를 이용하여 상기 스트리밍 서비스 서버에 요청할 세그먼트의 품질을 결정하고, 상기 사용자 단말 장치로부터 특정 컨텐츠에 대한 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받는 단계는, 상기 사용자 단말 장치에서 결정된 품질의 식별 정보 및 상기 사용자 식별 정보를 포함하는 요청을 상기 사용자 단말 장치로부터 수신하는 단계이며, 상기 복수의 품질은, UHD(Ultra High Definition), FHD(Full High Definition), HD(High Definition), SD(Standard Definition) 중 적어도 두 개를 포함할 수 있다.
또한, 상기 스트리밍 서비스 서버는, 전체 네트워크 대역폭을 분배하여 상기 복수의 품질 각각에 할당하고, 상기 할당된 대역폭을 기초로 상기 복수의 품질 각각에 최대 가능 세션수를 할당할 수 있다.
그리고, 상기 스트리밍 서비스를 제공하도록 제어하는 단계는, 상기 요청받은 제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 품질의 세그먼트 요청을 상기 사용자 단말 장치로부터 수신하며, 상기 복수의 품질은, UHD(Ultra High Definition), FHD(Full High Definition), HD(High Definition), SD(Standard Definition) 중 적어도 두 개를 포함할 수 있다.
또한, 상기 복수의 품질 각각에 대응되는 세그먼트로 스트리밍 서비스를 제공하는 복수의 스트리밍 서비스 제공부를 더 포함하고, 상기 복수의 스트리밍 서비스 제공부 각각은, 전체 네트워크 대역폭의 일부 대역폭을 각각 할당받은 것일 수 있다.
그리고, 상기 제어부는, 상기 요청받은 제1 품질이 최하위 품질이 아니고, 상기 제1 품질에 할당된 세션수가 기 설정된 기준치를 초과하며, 상기 사용자에 대한 세션이 형성된 상태가 아닌 경우, 접속 오류 코드를 생성하여 상기 사용자 단말 장치에 전송하도록 상기 스트리밍 서비스 제공부를 제어하고, 상기 요청받은 제1 품질이 최하위 품질이 아니고, 상기 제1 품질에 할당된 세션수가 기 설정된 기준치를 초과하며, 상기 사용자에 대한 세션이 형성된 상태인 경우, 상기 세션 유효 시간을 갱신하도록 상기 세션 관리부를 제어하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 스트리밍 서비스 제공부를 제어할 수 있다.
또한, 상기 제어부는, 상기 요청받은 제1 품질이 최하위 품질이 아니고, 상기 제1 품질에 할당된 세션수가 기 설정된 기준치 이하이며, 상기 사용자에 대한 세션이 형성된 상태가 아닌 경우, 상기 사용자에 대한 세션을 형성하도록 상기 세션 관리부를 제어하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 스트리밍 서비스 제공부를 제어하며, 상기 요청받은 제1 품질이 최하위 품질이 아니고, 상기 제1 품질에 할당된 세션수가 기 설정된 기준치 이하이며, 상기 사용자에 대한 세션이 형성된 상태인 경우, 상기 세션 유효 시간을 갱신하도록 상기 세션 관리부를 제어하고, 상기 형성된 세션을 이용하여 상기 사용자 단말 장치에 상기 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 스트리밍 서비스 제공부를 제어할 수 있다.
또한, 상기 요청받은 제1 품질이 최하위 품질인 경우, 상기 사용자 단말 장치에 상기 최하위 품질의 세그먼트로 스트리밍 서비스를 제공하도록 상기 스트리밍 서비스 제공부를 제어할 수 있다.
그리고, 상기 세션 관리부는, 상기 형성된 세션에 대하여 세션 유효 시간을 할당하고, 할당된 유효 시간 동안에만 상기 형성된 세션에 대한 세션 정보를 관리할 수 있다.
상술한 본 발명의 다양한 실시 예에 따르면, 스트리밍 서버는 사용자 단말 장치에 제공될 스트리밍 컨텐츠의 품질 별로 네트워크 대역폭을 분배하여 할당함으로써, 네트워크상의 지연 시간이나 데이터 손실률을 보장하고(QoS 보장), 좀 더 안정적으로 사용자 측에 품질 별 스트리밍 컨텐츠를 제공할수 있다.
또한, 상술한 본 발명의 다양한 실시 예에 따르면, 사용자 단말 장치의 세그먼트 요청시 최하위 품질(예를 들어, SD 품질)을 보장함으로써, 저화질로라도 최대한 다수의 사용자가 스트리밍 가능하도록할 수 있다.
또한, 상술한 본 발명의 다양한 실시 예에 따르면, 서버와 사용자 간의 세션 유지 정책을 제공함으로써, 네트워크 대역폭 변화에도 불구하고 기존 고화질 스트리밍 중이던 사용자에게 지속적으로 고화질 스트리밍을 제공할 수 있다.
도 1은 본 발명의 일 실시 예에 따른 스트리밍 서비스 시스템을 나타내는 블록도 이다.
도 2는 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버를 나타내는 블록도 이다.
도 3은 본 발명의 다른 실시 예에 따른 스트리밍 서비스 서버를 나타내는 블록도 이다.
도 4는 본 발명의 일 실시 예에 따른 세크먼트 요청 포맷을 나타내는 도면이다.
도 5는 본 발명의 일 실시 예에 따른 스트리밍 서비스 시스템의 동작을 나타내는 타이밍도 이다.
도 6는 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버의 동작을 구체적으로 나타내는 흐름도 이다.
도 7은 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버의 스트리밍 제어 동작을 구체적으로 나타내는 흐름도 이다.
도 8은 본 발명의 다른 실시 예에 따른 스트리밍 서비스 시스템을 나타내는 블록도 이다.
이하의 내용은 단지 본 발명의 원리를 예시한다. 그러므로 당업자는 비록 본 명세서에 명확히 설명되거나 도시되지 않았지만 본 발명의 원리를 구현하고 본 발명의 개념과 범위에 포함된 다양한 장치를 발명할 수 있는 것이다. 또한, 본 명세서에 열거된 모든 조건부 용어 및 실시 예들은 원칙적으로, 본 발명의 개념이 이해되도록 하기 위한 목적으로만 명백히 의도되고, 이와 같이 특별히 열거된 실시 예들 및 상태들에 제한적이지 않는 것으로 이해되어야 한다.
또한, 본 발명의 원리, 관점 및 실시 예들 뿐만 아니라 특정 실시 예를 열거하는 모든 상세한 설명은 이러한 사항의 구조적 및 기능적 균등물을 포함하도록 의도되는 것으로 이해되어야 한다. 또한 이러한 균등물들은 현재 공지된 균등물뿐만 아니라 장래에 개발될 균등물 즉 구조와 무관하게 동일한 기능을 수행하도록 발명된 모든 소자를 포함하는 것으로 이해되어야 한다.
따라서, 모든 흐름도, 상태 변환도, 의사 코드 등은 컴퓨터가 판독 가능한 매체에 실질적으로 나타낼 수 있고 컴퓨터 또는 프로세서가 명백히 도시되었는지 여부를 불문하고 컴퓨터 또는 프로세서에 의해 수행되는 다양한 프로세스를 나타내는 것으로 이해되어야 한다.
프로세서 또는 이와 유사한 개념으로 표시된 기능 블럭을 포함하는 도면에 도시된 다양한 소자의 기능은 전용 하드웨어뿐만 아니라 적절한 소프트웨어와 관련하여 소프트웨어를 실행할 능력을 가진 하드웨어의 사용으로 제공될 수 있다. 프로세서에 의해 제공될 때, 상기 기능은 단일 전용 프로세서, 단일 공유 프로세서 또는 복수의 개별적 프로세서에 의해 제공될 수 있고, 이들 중 일부는 공유될 수 있다.
상술한 목적, 특징 및 장점은 첨부된 도면과 관련한 다음의 상세한 설명을 통하여 보다 분명해질 것이며, 그에 따라 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 것이다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에 그 상세한 설명을 생략하기로 한다.
이하, 첨부된 도면을 참조하여 본 발명의 다양한 실시 예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시 예에 따른 스트리밍 서비스 시스템을 나타내는 블록도 이다. 도 1을 참조하면, 스트리밍 서비스 시스템(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)에 대해서 보다 구체적으로 설명하기로 한다.
도 2는 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버를 나타내는 블록도 이다. 도 2를 참조하면, 스트리밍 서비스 서버(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를 반영하여 최대 가능 세션수가 할당될 수 있다.
만약, 상술한 예시를 Base Layer(SD 품질에 대응), Enhancement Layer 1(FHD 품질에 대응), Enhancement Layer 2(UHD 품질에 대응)로 구성된 SVC에 적용하면, FHD 스트리밍만을 위하여 할당된 세션수는 FHD의 최대 가능 세션수 250 에서 UHD 스트리밍시 필요한 FHD 세션수 125를 제외한 125개 일 수 있다.
이에 따라, 복수의 스트리밍 서비스 제공부(220) 각각은 할당된 최대 가능 세션수 내에서 사용자 단말 장치(100)에 해당 품질의 세그먼트를 전송하여 스트리밍 서비스를 제공할 수 있다.
한편, 제어부(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)에 요청할 수 있다. 이 경우, 세그먼트 요청 포맷은 도 4와 같을 수 있다. 즉, 도 4를 참조하면, 세그먼트 요청 포맷은 사용자 단말 장치(100)에서 결정된 품질이 무엇인지 식별 가능하도록 하는 품질 식별 정보(301) 및 사용자 식별 정보(302)를 포함할 수 있다. 만약, 스트리밍 서비스 서버(200)가 상기 세그먼트 요청 포맷을 수신하면, 제어부(240)는 품질 식별 정보(301) 및 사용자 식별 정보(302)를 검출할 수 있다. 그리고, 제어부(240)는 검출된 품질 식별 정보(301)를 이용하여 요청된 세그먼트의 품질을 판단하고, 검출된 사용자 식별 정보(302)를 이용하여 사용자 단말 장치(100)와 스트리밍 서비스 서버(200) 사이에 세션이 형성되었는지 여부를 판단할 수 있다.
한편, 사용자 단말 장치(100)로부터 세그먼트 요청이 수신되면, 제어부(240)는, 도 4와 같은 세그먼트 요청 포맷을 이용하여, 요청된 세그먼트의 품질이 최하위 품질인지 여부, 요청받은 품질에 할당된 세션수, 및 사용자에 대한 세션 형성 여부를 기초로 스트리밍 서비스를 제공하도록 스트리밍 서비스 제공부(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)의 제어 동작에 대해서는 도 7을 참조하여 보다 구체적으로 설명하기로 한다.
도 3은 본 발명의 다른 실시 예에 따른 스트리밍 서비스 서버를 나타내는 블록도 이다. 도 3을 참조하면, 스트리밍 서비스 서버(200)는 저장부(210), 세션 관리부(220), 스트리밍 서비스 제공부(230), 제어부(240), 트랜스코딩부(250), 세그먼트 생성부(260), 속성 정보 생성부(270)의 전부 또는 일부를 포함한다. 여기서, 도 3의 스트리밍 서비스 서버(200)의 일부 구성은 도 2에서 설명한 구성과 중복되고, 이하에서는 중복되는 구성의 설명은 생략하고, 차이 구성을 위주로 구체적으로 설명하기로 한다.
트랜스코딩부(250)는 컨텐츠를 복수의 상이한 품질로 인코딩하여 하나의 콘텐츠에 대한 복수의 비트 스트림을 생성할 수 있다. 구체적으로, 트랜스코딩부(240)는 코덱 정보를 바탕으로 비트율(Bit Rate), 해상도(Resolution), 프레임율(Frame Rate) 등과 같은 인자들을 조절함으로써 하나의 콘텐츠를 복수의 상이한 품질로 인코딩할 수 있다.
세그먼트 생성부(260)는 서로 상이한 품질로 인코딩된 복수의 비트 스트림을 일정한 시간 간격으로 세분화하여, 각 비트 스트림의 재생에 필요한 초기화 세그먼트와 미디어 세그먼트를 생성할 수 있다. 여기서, 생성된 세그먼트들은 저장부(210)에 저장될 수 있다.
속성 정보 생성부(270)는 생성된 세그먼트에 관한 정보를 기초로 해당 세그먼트에 상응하는 콘텐츠 시간상의 위치, URL, 크기 등을 포함하는 MPD 문서를 생성할 수 있다. 여기서, 생성된 MPD 문서들은 저장부(210)에 저장될 수 있다.
도 5는 본 발명의 일 실시 예에 따른 스트리밍 서비스 시스템의 동작을 나타내는 타이밍도 이다. 도 5를 참조하면, 먼저 사용자는 사용자 단말 장치(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).
도 6은 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버의 동작을 구체적으로 나타내는 흐름도 이다. 도 6를 참조하면, 먼저 스트리밍 서비스 서버(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 단계에 대해서는 도 7을 참조하여 보다 구체적으로 설명하기로 한다.
도 7은 본 발명의 일 실시 예에 따른 스트리밍 서비스 서버의 스트리밍 제어 동작을 구체적으로 나타내는 흐름도 이다. 이하에서는 복수의 품질이 UHD, FHD, HD, SD로 구성되는 경우를 예로, 도 7을 참조하여 설명하기로 한다.
먼저, 스트리밍 서비스 서버(200)는 사용자 단말 장치(100)로부터 특정 컨텐츠에 대한 복수의 품질의 세그먼트 중 제1 품질의 세그먼트를 요청받을 수 있다(S301).
이 경우, 스트리밍 서비스 서버(200)는 요청받은 제1 품질이 최하위 품질인지 여부를 판단할 수 있다(S302). 일 예로, 스트리밍 서비스 서버(200)는 요청받은 제1 품질이 SD 품질인지 여부를 판단할 수 있다.
만약, 요청받은 제1 품질이 최하위 품질인 경우(S302:Y), 스트리밍 서비스 서버(200)는 사용자 단말 장치(100)에 최하위 품질의 세그먼트로 스트리밍 서비스를 제공하도록 제어할 수 있다.(S303). 일 예로, 요청받은 제1 품질이 SD 품질인 경우, 스트리밍 서비스 서버(200)는 SD 품질의 세그먼트로 스트리밍 서비스를 제공하도록 제어할 수 있다. 이에 따라, 사용자 단말 장치의 세그먼트 요청시 최하위 품질(예를 들어, SD 품질)을 보장함으로써, 저화질로라도 최대한 다수의 사용자가 스트리밍 가능하도록할 수 있다.
한편, 요청받은 제1 품질이 최하위 품질이 아닌 경우(S302:N), 스트리밍 서비스 서버(200)는 제1 품질에 할당된 세션수가 기 설정된 기준치를 초과하는지 판단할 수 있다(S304). 제1 품질에 할당된 세션수가 기 설정된 기준치를 초과하는 경우는 제1 품질에 할당된 네트워크 대역폭이 이용 불가능한 상태일 수 있고, 제1 품질에 할당된 세션수가 기 설정된 기준치 이하인 경우는 제1 품질에 할당된 네트워크 대역폭이 이용 가능한 상태일 수 있다.
만약, 제1 품질에 할당된 세션수가 기 설정된 기준치를 초과하는 경우(S304:Y), 사용자에 대한 세션이 형성된 상태인지 여부를 판단할 수 있다(S305). 구체적으로, 스트리밍 서비스 서버(200)는 사용자 단말 장치(100)의 세그먼트 요청 포맷에 포함된 사용자 식별 정보를 기초로 해당 사용자 단말 장치와의 세션이 형성된 상태인지 여부를 판단할 수 있다. 만약, 유효 시간 내에 사용자 단말 장치(100)로부터 세그먼트 요청이 수신되면, 스트리밍 서비스 서버(200)는 사용자에 대한 세션이 형성된 상태라고 판단할 수 있다. 다만, 세션 유효 시간의 경과에 따라 사용자 단말 장치(100)와 스트리밍 서비스 서버(200) 간의 세션이 끊어진 상태에서 세그먼트 요청이 수신되면, 스트리밍 서비스 서버(200)는 사용자에 대한 세션이 형성되지 않은 상태라고 판단할 수 있다.
만약, 사용자에 대한 세션이 형성된 상태가 아닌 경우(S305:N), 스트리밍 서비스 서버(200)는 접속 오류 코드를 생성하여 사용자 단말 장치(100)에 전송하도록 제어할 수 있다(S306). 이 경우, 접속 오류 코드를 수신한 사용자 단말 장치(100)는 이전에 요청한 제1 품질과는 다른 품질의 세그먼트를 스트리밍 서비스 서버(200)에 요청하여 추후 스트리밍 과정을 재개할 수 있다.
만약, 사용자에 대한 세션이 형성된 상태인 경우(S305:Y), 스트리밍 서비스 서버(200)는 세션 유효 시간을 갱신하고(S307), 형성된 세션을 이용하여 사용자 단말 장치(100)에 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 제어할 수 있다(S303).
한편, 제1 품질에 할당된 세션수가 기 설정된 기준치 이하인 경우(S304:N), 사용자에 대한 세션이 형성된 상태인지 여부를 판단할 수 있다(S308). 만약, 사용자에 대한 세션이 형성된 상태가 아닌 경우(S308:N), 스트리밍 서비스 서버(200)는 사용자에 대한 세션을 형성하고(S309), 형성된 세션을 이용하여 사용자 단말 장치(100)에 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 제어할 수 있다(S303).
다만, 사용자에 대한 세션이 형성된 상태인 경우(S308:Y), 스트리밍 서비스 서버(200)는 세션 유효 시간을 갱신(S307)하고, 형성된 세션을 이용하여 사용자 단말 장치(100)에 제1 품질의 세그먼트로 스트리밍 서비스를 제공하도록 제어할 수 있다(S303).
이에 따라, 서버와 사용자 간의 세션 유지 정책을 제공함으로써, 네트워크 대역폭 변화에도 불구하고 기존 고화질 스트리밍 중이던 사용자에게 지속적으로 고화질 스트리밍을 제공할 수 있다.
도 8은 본 발명의 다른 실시 예에 따른 스트리밍 서비스 시스템을 나타내는 블록도 이다. 도 8을 참조하면, 스트리밍 서비스 시스템(2000)은 복수의 사용자 단말 장치(100-1,100-2,..100-N), 스트리밍 제어 서버(200-1), 복수의 스트리밍 서버(200-2,,,200-5)의 전부 또는 일부를 포함한다.
즉, 스트리밍 서비스 서버(200)는 도 1과 같이 상술한 기능을 모두 수행하는 한 개의 서버로 구현될 수 있고, 또는 도 8과 같이, 상술한 기능을 각자 분할하여 수행하는 스트리밍 제어 서버(200-1), 복수의 스트리밍 서버(200-2,,,200-N)를 포함하는 복수의 서버로 구현될 수 있다. 이 경우, 스트리밍 제어 서버(200-1)는 스트리밍 서비스 서버(200)의 제어부(240)의 기능을 수행할 수 있고, 복수의 스트리밍 서버(200-2,,,200-N) 각각은 스트리밍 서비스 서버(200)의 복수의 스트리밍 서비스 제공부(230) 각각의 기능을 수행할 수 있다.
즉, 복수의 품질의 세그먼트 중 특정 품질의 세그먼트가 결정되면, 스트리밍 제어 서버(200-1)는 결정된 품질에 대응되는 스트리밍 서버(200-2,,,200-N)로 리다이렉트 시킴으로써, 사용자 단말 장치(100)에 스트리밍 서비스를 제공할 수 있다.
한편, 상술한 본 발명의 다양한 실시 예들에 따른 제어 방법은 프로그램으로 구현되어 서버 또는 기기들에 제공될 수 있다. 이에 따라, 각 장치들은 프로그램이 저장된 서버 또는 기기에 접속하여, 상기 프로그램을 다운로드할 수 있다.
또한, 상술한 본 발명의 다양한 실시 예들에 따른 제어 방법은 프로그램으로 구현되어 다양한 비일시적 판독 가능 매체(non-transitory computer readable medium)에 저장되어 제공될 수 있다. 비일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
또한, 이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진자에 의해 다양한 변형실시가 가능한 것은 물론이고, 이러한 변형실시들은 본 발명의 기술적 사상이나 전망으로부터 개별적으로 이해되어져서는 안될 것이다.
1000 : 스트리밍 서비스 시스템 100 : 사용자 단말 장치
200 : 스트리밍 서비스 서버 210 : 저장부
220 : 세션 관리부 230 : 스트리밍 서비스 제공부
230 : 제어부 240 : 트랜스코딩부
250 : 세그먼트 생성부 260 : 속성 정보 생성부

Claims (18)

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

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150116535A KR20170022057A (ko) 2015-08-19 2015-08-19 스트리밍 서비스 서버 및 그의 제어 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150116535A KR20170022057A (ko) 2015-08-19 2015-08-19 스트리밍 서비스 서버 및 그의 제어 방법

Publications (1)

Publication Number Publication Date
KR20170022057A true KR20170022057A (ko) 2017-03-02

Family

ID=58426711

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150116535A KR20170022057A (ko) 2015-08-19 2015-08-19 스트리밍 서비스 서버 및 그의 제어 방법

Country Status (1)

Country Link
KR (1) KR20170022057A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020071816A1 (ko) * 2018-10-02 2020-04-09 삼성전자 주식회사 디스플레이 장치 및 상기 디스플레이 장치와 통신하는 서버
KR20220071057A (ko) * 2020-11-23 2022-05-31 서울대학교산학협력단 미디어 스트리밍 제어 장치 및 방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020071816A1 (ko) * 2018-10-02 2020-04-09 삼성전자 주식회사 디스플레이 장치 및 상기 디스플레이 장치와 통신하는 서버
US11882332B2 (en) 2018-10-02 2024-01-23 Samsung Electronics Co., Ltd. Display device and server for communicating with display device
KR20220071057A (ko) * 2020-11-23 2022-05-31 서울대학교산학협력단 미디어 스트리밍 제어 장치 및 방법

Similar Documents

Publication Publication Date Title
US10764623B2 (en) Method and system for media adaption
CA2924087C (en) Streaming policy management system and method
JP6337350B2 (ja) ビデオ品質向上
CN105814900B (zh) 用于在自适应流播环境中管理相邻频道的系统和方法
US9351020B2 (en) On the fly transcoding of video on demand content for adaptive streaming
CN111526418B (zh) 用于在自适应流播环境中实行快速频道改变的系统和方法
US11463758B2 (en) Systems, methods, and devices for optimizing streaming bitrate based on multiclient display profiles
US20150249622A1 (en) Conflict detection and resolution in an abr network
US20150032854A1 (en) System and method for network-assisted adaptive streaming
US10917653B2 (en) Accelerated re-encoding of video for video delivery
US10834161B2 (en) Dash representations adaptations in network
US10003626B2 (en) Adaptive real-time transcoding method and streaming server therefor
US10708667B1 (en) Combining fragments with different encodings
US20130304933A1 (en) Multi-network environment adaptive media streaming transmission method and apparatus
KR20180024841A (ko) 스트리밍 서비스 서버 및 그의 제어 방법
KR20160031642A (ko) 스트리밍 서비스 서버 및 그의 제어 방법
KR20170022057A (ko) 스트리밍 서비스 서버 및 그의 제어 방법
KR20120012089A (ko) 스케일러블 비디오 코딩기법을 활용하는 영상 제공 시스템 및 그 방법
US20150149593A1 (en) Virtual desktop infrastructure server, computer implemented video streaming method, and non-transitory computer readable storage medium thereof
Khan et al. SAND and Cloud-based Strategies for Adaptive Video Streaming
KR20140086801A (ko) 실시간 콘텐츠 트랜스코딩 방법, 장치 및 시스템, 및 실시간 콘텐츠 수신 장치 및 방법
EP4311242A1 (en) Method for dynamic configuration of multimedia content encoder and apparatus for implementing the same
KR101565137B1 (ko) 무선 스트리밍 서비스 제공 방법 및 장치