KR101970894B1 - 저전력 스트리밍을 위한 방법 및 시스템 - Google Patents

저전력 스트리밍을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR101970894B1
KR101970894B1 KR1020170142685A KR20170142685A KR101970894B1 KR 101970894 B1 KR101970894 B1 KR 101970894B1 KR 1020170142685 A KR1020170142685 A KR 1020170142685A KR 20170142685 A KR20170142685 A KR 20170142685A KR 101970894 B1 KR101970894 B1 KR 101970894B1
Authority
KR
South Korea
Prior art keywords
moving picture
storing
video
client
resolution
Prior art date
Application number
KR1020170142685A
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 KR1020170142685A priority Critical patent/KR101970894B1/ko
Application granted granted Critical
Publication of KR101970894B1 publication Critical patent/KR101970894B1/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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234363Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the spatial resolution, e.g. for clients with a lower screen resolution
    • 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/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences

Landscapes

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

Abstract

저전력 스트리밍을 위한 방법 및 시스템이 개시된다. 저전력 스트리밍 방법은, 클라이언트의 네트워크 환경에 대응되는 해상도의 동영상을 스트리밍으로 제공하는 단계를 포함하고, 상기 제공하는 단계는, 동영상들 중 일부 동영상들에 대해 제공 가능한 모든 해상도의 동영상을 저장하고 동영상 저장에 필요한 저장 공간과 소비 전력을 절감하고자 나머지 동영상들에 대해서는 제공 가능한 해상도 중 하나의 해상도의 동영상을 저장하는 단계를 포함할 수 있다.

Description

저전력 스트리밍을 위한 방법 및 시스템{METHOD AND SYSTEM FOR LOW POWER STREAMING}
아래의 설명은 미디어 서버 시스템의 소비 전력을 감소시키는 기술에 관한 것이다.
유/무선 네트워크의 발달로 VOD(video-on-demand) 서비스에 대한 수요가 증가하고 있다. 또한, 클라이언트 디바이스의 다양화로 인해 하나의 동영상을 여러 해상도로 서비스할 수 있다. 이에 따라, 미디어 서버의 필요한 저장 공간과 네트워크 트래픽이 지속적으로 증가하고 있다.
한국공개특허 제10-2011-0057446호(공개일 2011년 06월 01일)에는 미디어 재생 장치의 성능에 최적인 미디어 데이터를 스트리밍 할 수 있는 미디어 스트리밍 서버에서 실시간 미디어 데이터의 트랜스코딩으로 인한 부하를 최소화할 수 있는 미디어 스트리밍 서버와 미디어 데이터 관리 방법이 개시되어 있다.
원활한 스트리밍 서비스를 제공하기 위해, 네트워크 환경에 따라 동영상의 해상도를 선택하여 네트워크 트래픽을 조절하는 HTTP 기반의 적응형 스트리밍(HTTP adaptive streaming)이 연구되고 있다. 이에 대한 대표적인 기술로, MPEG의 DASH(dynamic adaptive streaming over HTTP), Apple의 HLS(HTTP live streaming), Adobe의 HDS(HTTP dynamic streaming), Microsoft의 Smooth Streaming 등이 있다.
HLS는 웹 서버로부터 단말 장치에서 재생할 수 있도록 오디오와 비디오를 보내주는 기능을 제공한다. 다양한 비트레이트를 여러 개의 스트림으로 지원하고 클라이언트 소프트웨어는 네트워크 대역폭의 변화에 따라 스트림을 교체할 수 있다. 한편, HLS뿐만 아니라 다른 HTTP 적응형 스트리밍 또한 기본적으로 미디어 서버에서 각 동영상들을 다양한 해상도로 모두 저장하기 때문에 대용량의 저장공간이 필요하다.
VOD 서비스에 필요한 저장장치의 수를 줄이고 이를 통해 저장장치에서 사용하는 소비전력을 감소시켜 전체 시스템의 소비전력 효율성을 개선할 수 있는 시스템 및 방법을 제공한다.
컴퓨터로 구현되는 서버에서의 저전력 스트리밍 방법에 있어서, 클라이언트의 네트워크 환경에 대응되는 해상도의 동영상을 스트리밍으로 제공하는 단계를 포함하고, 상기 제공하는 단계는, 동영상들 중 일부 동영상들에 대해 제공 가능한 모든 해상도의 동영상을 저장하고 동영상 저장에 필요한 저장 공간과 소비 전력을 절감하고자 나머지 동영상들에 대해서는 제공 가능한 해상도 중 하나의 해상도의 동영상을 저장하는 단계를 포함하는 저전력 스트리밍 방법을 제공한다.
일 측면에 따르면, 상기 저장하는 단계는, 동영상의 인기도를 기준으로 인기도가 일정 레벨 이상인 동영상의 경우 제공 가능한 모든 해상도의 동영상을 저장하고 인기도가 일정 레벨 미만인 동영상의 경우 제공 가능한 해상도 중 최고 해상도의 동영상을 저장할 수 있다.
다른 측면에 따르면, 상기 저장하는 단계는, 동영상 각각에 대하여 동일한 길이의 세그먼트로 분할하여 저장하고 세그먼트를 참조하기 위한 매니페스트 파일(manifest file)을 생성하는 단계를 포함하고, 상기 매니페스트 파일은 상기 일부 동영상들과 상기 나머지 동영상들에 대해 제공 가능한 모든 해상도의 동영상이 존재하는 것으로 생성될 수 있다.
또 다른 측면에 따르면, 상기 제공하는 단계는, 상기 클라이언트로부터 상기 나머지 동영상에 대한 요청이 수신되는 경우 상기 하나의 해상도의 동영상을 트랜스코딩 하여 트랜스코딩 된 동영상을 상기 클라이언트로 전송하는 단계를 더 포함할 수 있다.
컴퓨터로 구현되는 저전력 스트리밍 시스템에 있어서, 클라이언트의 네트워크 환경에 대응되는 해상도의 동영상을 스트리밍으로 제공하기 위해 동영상들 중 일부 동영상들에 대해 제공 가능한 모든 해상도의 동영상을 저장하고 동영상 저장에 필요한 저장 공간과 소비 전력을 절감하고자 나머지 동영상들에 대해서는 제공 가능한 해상도 중 하나의 해상도의 동영상을 저장하는 저장 장치; 및 상기 클라이언트로부터 동영상에 대한 요청이 수신되는 경우 요청된 해상도의 동영상이 상기 저장 장치에 저장되어 있는지 확인하여 요청된 해상도의 동영상이 상기 저장 장치에 저장되어 있으면 해당 해상도의 동영상을 상기 저장 장치로부터 받아 상기 클라이언트로 전송하고 요청된 해상도의 동영상이 상기 저장 장치에 저장되어 있지 않으면 상기 저장 장치에 저장된 해상도의 동영상을 트랜스코딩 하여 트랜스코딩 된 동영상을 상기 클라이언트로 전송하는 서버를 포함하는 저전력 스트리밍 시스템을 제공한다.
본 발명의 실시예들에 따르면, 동영상에 대한 사용자들의 이용 패턴과 실시간 트랜스코딩을 이용하여 동영상 저장에 필요한 저장공간과 소비전력을 효율적으로 관리할 수 있다.
본 발명의 실시예들에 따르면, 미디어 서버 시스템에서 일부 동영상들에 대해 저장장치에 저장하지 않고 실시간 트랜스코딩으로 처리함으로써 필요한 저장장치의 수를 줄이고 이를 통해 저장장치에서 사용하는 소비전력을 감소시켜 전체 시스템의 소비전력 효율성을 개선할 수 있다.
도 1은 동영상 스트리밍을 위한 일반적인 미디어서버 시스템을 도시한 블록도이다.
도 2는 동영상을 나타내는 매니페스트 파일과 세그먼트를 설명하기 위한 도면이다.
도 3은 본 발명의 일실시예에 있어서 실시간 트랜스코딩 기반 미디어서버 시스템을 도시한 블록도이다.
이하, 본 발명의 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
VOD(video-on-demand) 서비스에 대한 수요가 증가하면서 미디어 서버의 필요한 저장 공간과 네트워크 트래픽이 지속적으로 증가하고 있다.
미디어 서버에서 사용하는 소비 전력을 줄이는 연구가 진행되면서, 다양한 성능의 서버들에 트랜스코딩 작업을 효율적으로 분배하여 소비전력을 줄이는 알고리즘, 대용량 데이터를 전송하는 과정에서 발생하는 소비전력을 줄일 수 있는 프로토콜, 클라우드 시스템에서 데이터의 저장, 연산, 전송 작업을 효율적으로 분배하여 소비전력을 줄이는 시스템, 서버 시스템의 일부만 쿨링하여 전체 시스템의 소비전력을 줄이는 알고리즘 등이 소개되고 있다.
원활한 스트리밍 서비스를 제공하기 위해, 네트워크 환경에 따라 동영상의 해상도를 선택하여 네트워크 트래픽을 조절하는 HTTP 기반의 적응형 스트리밍(HTTP adaptive streaming)이 연구되고 있다. 이에 대한 대표적인 기술로, MPEG의 DASH(dynamic adaptive streaming over HTTP), Apple의 HLS(HTTP live streaming), Adobe의 HDS(HTTP dynamic streaming), Microsoft의 Smooth Streaming 등이 있다.
HLS는 웹 서버로부터 단말 장치에서 재생할 수 있도록 오디오와 비디오를 보내주는 기능을 제공한다. 다양한 비트레이트를 여러 개의 스트림으로 지원하고 클라이언트 소프트웨어는 네트워크 대역폭의 변화에 따라 스트림을 교체할 수 있다. 한편, HLS뿐만 아니라 다른 HTTP 적응형 스트리밍 또한 기본적으로 미디어 서버에서 각 동영상들을 다양한 해상도로 모두 저장하기 때문에 대용량의 저장공간이 필요하다.
최근 HLS에 실시간 트랜스코딩을 적용한 연구가 진행되고 있으며, 일례로는 서버에서 네트워크 대역폭을 측정하여 대역폭의 변화에 따라 기존의 HLS보다 더 나은 비트레이트의 동영상을 제공하는 클라우드 지원형 HLS 기반 실시간 트랜스코딩 기법을 이용한다.
본 실시예에서는 다중화질 VOD 서비스를 위한 실시간 트랜스코딩 기반 HLS 미디어서버 시스템을 제공한다.
첫 번째, HLS 미디어서버 시스템에서는 저장공간 효율성을 개선할 수 있다. 인기 있는 동영상에 대해 모든 비트레이트의 동영상을 저장하고, 나머지 동영상들은 최고 비트레이트의 동영상만 저장한다. 만약, 인기 없는 동영상에 대해 하위 비트레이트에 대한 요청이 발생하면 최고 비트레이트의 동영상으로부터 실시간 트랜스코딩을 이용하여 처리한다.
두 번째, HLS 미디어서버 시스템에서는 소비전력을 감소시킬 수 있다. 저장공간의 효율성이 개선됨에 따라 아울러 저장장치에 필요한 소비전력이 감소될 수 있다.
먼저, 일반적인 HLS 미디어서버 시스템에 대해 설명하기로 한다.
HLS는 네트워크 대역폭의 변화에 따라 동영상의 비트레이트를 변경하면서 HTTP를 통해 라이브 또는 미리 저장된 동영상을 스트리밍으로 제공하는 기술이다. 도 1을 참조하면, HLS 미디어서버 시스템은 미디어 서버(server component)(10), 웹 서버(distribution component)(20), 그리고 클라이언트(30)로 구성된다.
미디어 서버(10)는 라이브 동영상(또는 오디오)을 입력 받으면 이를 인코딩 하고 스트림 세그먼터(stream segmenter)를 이용하여 동일한 길이의 세그먼트로 분할하여 저장한다. HLS는 보통 한 세그먼트를 10초의 동영상으로 생성한다. 또한, 미디어 서버(10)는 저장된 세그먼트를 참조하는 매니페스트 파일(manifest file)을 생성한다(도 2 참조). 이때, 도 2에 도시한 바와 같이 세그먼트는 ts 포맷으로 저장되고 매니페스트 파일은 m3u8 포맷으로 저장된다.
웹 서버(20)는 클라이언트(30)에게 매니페스트 파일과 동영상 파일들을 전송하는 역할을 수행한다. 웹 서버(20)는 클라이언트(30)의 요청을 받으면 미디어 서버(10)의 저장장치에 저장된 동영상을 클라이언트(30)로 전송한다.
클라이언트(30)는 웹 서버(20)로부터 받은 미디어 서버(10)의 매니페스트 파일을 참조하여 자신의 네트워크 환경에 맞는 동영상 세그먼트를 미디어 서버(10)에 요청하고, 요청한 세그먼트를 웹 서버(20)를 통해 미디어 서버(10)로부터 다운로드 받는다. 다운로드 받는 과정에서 요청한 세그먼트의 전송시간을 측정한다. 측정한 시간과 세그먼트의 용량을 기반으로 네트워크의 상황을 판단한 뒤, 미디어 서버(10)의 매니페스트 파일을 참조하여 다음에 요청할 세그먼트의 비트레이트를 계산한다. 또한, 클라이언트(30)는 사용자에게 순서에 맞게 스트림을 제공하도록 다운로드 받은 동영상의 순서를 재조합하는 기능을 수행한다. 이와 같은 방법으로 HLS는 서버의 부하를 줄이면서 클라이언트에게 원활한 스트리밍 서비스를 제공할 수 있다. 또한, 기존의 스트리밍 방식에 비해 방화벽 등 네트워크 제약에서 자유롭고, HTTP를 지원하는 기존의 캐시 서버와 프락시 서버를 그대로 이용할 수 있는 장점이 있다.
본 실시예에서는 네트워크 환경과 디바이스 성능 등의 발전으로 인해 VOD 서비스 이용량이 급격하게 증가하는 추세에서 서비스를 제공하는 미디어서버의 효율성을 개선하기 위해 사용자의 동영상 이용패턴을 분석하여 이를 바탕으로 VOD 서비스를 제공할 수 있다. 예를 들어, 유튜브 동영상의 경우 인기도가 상위 10%인 동영상이 전체 재생횟수의 약 80%를 차지한다는 점과, 사용자들의 동영상 재생이 동영상의 앞부분이나 뒷부분에 집중되는 경향이 있다는 점 등을 고려하여 VOD 서비스를 제공할 수 있다.
본 발명에 따른 HLS 미디어서버 시스템의 기본 아이디어는 클라이언트의 요청이 적은, 즉 인기 없는 동영상들은 가능한 저장장치에 저장하지 않고 실시간 트랜스코딩으로 처리하는 것이다. 이를 통해 필요한 저장장치의 수를 줄이고, 저장장치에서 사용하던 소비전력을 감소시켜 전체 시스템의 소비전력 효율성을 개선한다. 한편, 라이브 동영상에 대해 일시적으로 인기 있는 동영상으로 간주하여 기존의 HLS 방법과 동일하게 처리한다고 가정한다. 따라서, 미리 저장된 동영상에 대한 다중화질 VOD 서비스만을 고려한다.
도 3을 참조하면, 본 발명에 따른 HLS 미디어서버 시스템은 클라이언트의 네트워크 환경에 대응되는 해상도의 동영상을 스트리밍으로 제공하기 위한 구성으로서, 미디어 서버(310), 트랜스코딩 서버(340), 웹 서버(320), 그리고 클라이언트(330)로 구성된다.
대부분의 클라이언트 요청은 인기도가 높은 동영상에 집중된다는 것을 알 수 있다. 따라서, 미디어 서버(310)의 저장장치에는 모든 해상도의 동영상 세그먼트들을 저장하는 기존의 HLS 미디어서버와 달리, 일부 동영상들(인기도가 높은 동영상들)에 대해 제공 가능한 모든 해상도의 동영상 세그먼트들을 저장하고, 나머지 동영상들에 대해 제공 가능한 해상도 중 하나의 해상도(예컨대, 최고 화질의 해상도)의 동영상 세그먼트들만 저장한다. 일례로, 미디어 서버(310)는 서비스를 이용하는 전체 사용자들의 동영상 이용패턴에 기초하여 재생 횟수에 따른 인기도가 일정 레벨 이상인 동영상의 경우 모든 해상도의 동영상 세그먼트들을 저장하고, 인기도가 일정 레벨 미만인 동영상의 경우 최고화질의 동영상 세그먼트들만을 저장한다. 이때, 매니페스트 파일에는 모든 비트레이트의 동영상이 있는 것으로 저장한다.
웹 서버(320)는 클라이언트(330)에게 모든 비트레이트의 동영상이 존재한다는 매니페스트 파일을 전송한다. 웹 서버(320)는 클라이언트(330)로부터 임의의 동영상 세그먼트에 대한 요청을 받으면, 해당 세그먼트가 미디어 서버(310)의 저장장치에 저장되어 있는지 확인한다. 웹 서버(320)는 클라이언트(330)가 요청한 세그먼트가 미디어 서버(310)의 저장장치에 있다면, 저장장치로부터 해당 세그먼트를 받아 클라이언트(330)에게 전송한다. 없는 경우, 웹 서버(320)는 트랜스코딩 서버(340)에 클라이언트(330)의 요청을 보내고 트랜스코딩 서버(340)에 의해 트랜스코딩된 세그먼트들을 클라이언트(330)에게 전송한다.
트랜스코딩 서버(340)는 웹 서버(320)로부터 온 요청을 차례대로 처리하기 위해, 자료구조인 큐(queue)를 이용한다. 웹 서버(320)에서 트랜스코딩에 대한 요청이 올 때마다 인큐(enqueue)로 요청을 저장하고, 데큐(dequeue)로 큐에 저장된 요청을 차례대로 처리한다. 트랜스코딩 서버(340)는 클라이언트(330)로부터 요청된 동영상 비트레이트의 세그먼트를 생성하기 위해 미디어 서버(310)의 저장장치에서 최고 비트레이트의 세그먼트를 받아 실시간으로 트랜스코딩한다. 트랜스코딩 서버(340)는 트랜스코딩된 세그먼트들을 웹 서버(320)로 전송되고, 웹 서버(320)를 통해 클라이언트(330)에게 전송된다. 클라이언트의 동작은 도 1의 HLS 미디어서버 시스템을 통해 설명한 내용과 동일하다.
본 발명에 따른 방법의 저장공간 효율성 SE는 수학식 1로 계산할 수 있다.
[수학식 1]
Figure 112017107449894-pat00001
이때, n은 서비스하는 비트레이트의 수, Pk는 인기도가 일정 레벨 이상인 동영상의 k(1≤k≤n)번째 비트레이트 세그먼트들의 용량의 합, P'k는 인기도가 일정 레벨 미만인 동영상의 k
Figure 112017107449894-pat00002
번째 비트레이트 세그먼트들의 용량의 합을 나타낸다.
본 실시예에서는 동영상의 저장공간 효율성과 비례하여 저장장치에서 동영상 저장을 위해 사용되는 소비전력을 감소시켜 전체 시스템의 소비전력 효율성을 개선할 수 있다.
이와 같이, 본 발명의 실시예들에 따르면, 동영상에 대한 사용자들의 이용 패턴과 실시간 트랜스코딩을 이용하여 다중화질 VOD 서비스를 제공함으로써 동영상 저장에 필요한 저장공간과 소비전력을 효율적으로 관리할 수 있다. 구체적으로, 미디어 서버 시스템에서 일부 동영상들에 대해 저장장치에 저장하지 않고 실시간 트랜스코딩으로 처리함으로써 필요한 저장장치의 수를 줄이고 이를 통해 저장장치에서 사용하는 소비전력을 감소시켜 전체 시스템의 소비전력 효율성을 개선할 수 있다. QoS를 만족하면서 저장공간 효율성과 전력효율을 개선할 수 있으며, 트랜스코딩 서버의 계산 능력이 좋을수록 저장공간 효율성을 높일 수 있다. 동영상 저장에 필요한 소비전력을 절감하는 이점 이외에도 대용량 데이터 센터에서의 냉각 시스템이나 유지보수 비용 등 부수적인 비용 또한 함께 절감할 수 있는 이점이 있다.
본 발명에 따른 저전력 스트리밍 방법은 도 3을 통해 설명한 상세 내용을 바탕으로 둘 이상의 동작들을 포함할 수 있다. 본 발명에 따른 저전력 스트리밍 시스템은 도 3을 통해 설명한 본 발명의 특징을 포함할 수 있는 구성요소로서 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함할 수 있으며, 이때 적어도 하나의 프로세서는 상기한 저전력 스트리밍 방법을 실행할 수 있다.
본 발명에 따른 저전력 스트리밍 시스템은 컴퓨터 시스템을 통해 구현될 수 있고, 컴퓨터 시스템은 저전력 스트리밍 방법을 실행하기 위한 구성요소로서, 일례로 프로세서, 메모리, 영구 저장 장치, 버스, 입출력 인터페이스 및 네트워크 인터페이스를 포함할 수 있다.
프로세서는 명령어들의 시퀀스를 처리할 수 있는 임의의 장치를 포함하거나 그의 일부일 수 있다. 프로세서는 예를 들어 컴퓨터 프로세서, 이동 장치 또는 다른 전자 장치 내의 프로세서 및/또는 디지털 프로세서를 포함할 수 있다. 프로세서는 예를 들어, 서버 컴퓨팅 디바이스, 서버 컴퓨터, 일련의 서버 컴퓨터들, 서버 팜, 클라우드 컴퓨터, 컨텐츠 플랫폼, 이동 컴퓨팅 장치, 스마트폰, 태블릿, 셋톱 박스 등에 포함될 수 있다. 프로세서는 버스를 통해 메모리에 접속될 수 있다.
메모리는 컴퓨터 시스템에 의해 사용되거나 그에 의해 출력되는 정보를 저장하기 위한 휘발성 메모리, 영구, 가상 또는 기타 메모리를 포함할 수 있다. 예를 들어, 메모리는 랜덤 액세스 메모리(RAM: random access memory) 및/또는 동적 RAM(DRAM: dynamic RAM)을 포함할 수 있다. 메모리는 컴퓨터 시스템의 상태 정보와 같은 임의의 정보를 저장하는 데 사용될 수 있다. 메모리는 예를 들어 동영상 스트리밍을 제어하기 위한 명령어들을 포함하는 컴퓨터 시스템의 명령어들을 저장하는 데에도 사용될 수 있다. 컴퓨터 시스템은 필요에 따라 또는 적절한 경우에 하나 이상의 프로세서를 포함할 수 있다.
버스는 컴퓨터 시스템의 다양한 컴포넌트들 사이의 상호작용을 가능하게 하는 통신 기반 구조를 포함할 수 있다. 버스는 컴퓨터 시스템의 컴포넌트들 사이에, 예를 들어 프로세서와 메모리 사이에 데이터를 운반할 수 있다. 버스는 컴퓨터 시스템의 컴포넌트들 간의 무선 및/또는 유선 통신 매체를 포함할 수 있으며, 병렬, 직렬 또는 다른 토폴로지 배열들을 포함할 수 있다.
영구 저장 장치는 소정의 연장된 기간 동안 데이터를 저장하기 위해 컴퓨터 시스템에 의해 사용되는 바와 같은 메모리 또는 다른 영구 저장 장치와 같은 컴포넌트들을 포함할 수 있다. 영구 저장 장치는 컴퓨터 시스템 내의 프로세서에 의해 사용되는 바와 같은 비휘발성 메인 메모리를 포함할 수 있다. 예를 들어, 영구 저장 장치는 플래시 메모리, 하드 디스크, 광 디스크 또는 다른 컴퓨터 판독 가능 매체를 포함할 수 있다.
입출력 인터페이스는 키보드, 마우스, 마이크, 카메라, 디스플레이 또는 다른 입력 또는 출력 장치에 대한 인터페이스들을 포함할 수 있다. 구성 명령들 및/또는 동영상 스트리밍과 관련된 입력이 입출력 인터페이스를 통해 수신될 수 있다.
네트워크 인터페이스는 근거리 네트워크 또는 인터넷과 같은 네트워크들에 대한 하나 이상의 인터페이스를 포함할 수 있다. 네트워크 인터페이스는 유선 또는 무선 접속들에 대한 인터페이스들을 포함할 수 있다. 구성 명령들은 네트워크 인터페이스를 통해 수신될 수 있다. 그리고, 동영상 스트리밍과 관련된 정보들은 네트워크 인터페이스를 통해 수신 또는 송신될 수 있다.
또한, 다른 실시예들에서 컴퓨터 시스템은 상기한 구성요소들보다 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 시스템은 상술한 입출력 인터페이스와 연결되는 입출력 장치들 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), GPS(Global Positioning System) 모듈, 카메라, 각종 센서, 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다. 보다 구체적인 예로, 컴퓨터 시스템이 스마트폰과 같은 모바일 기기의 형태로 구현되는 경우, 일반적으로 모바일 기기가 포함하고 있는 카메라, 가속도 센서나 자이로 센서, 카메라, 각종 물리적인 버튼, 터치패널을 이용한 버튼, 입출력 포트, 진동을 위한 진동기 등의 다양한 구성요소들이 컴퓨터 시스템에 더 포함되도록 구현될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 이때, 매체는 컴퓨터로 실행 가능한 프로그램을 계속 저장하거나, 실행 또는 다운로드를 위해 임시 저장하는 것일 수도 있다. 또한, 매체는 단일 또는 수 개의 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있는데, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 매체의 예시로는, 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등을 포함하여 프로그램 명령어가 저장되도록 구성된 것이 있을 수 있다. 또한, 다른 매체의 예시로, 어플리케이션을 유통하는 앱 스토어나 기타 다양한 소프트웨어를 공급 내지 유통하는 사이트, 서버 등에서 관리하는 기록매체 내지 저장매체도 들 수 있다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (5)

  1. 컴퓨터로 구현되는 서버의 저전력 스트리밍 방법에 있어서,
    동영상의 인기도에 따라 결정되는 적어도 하나의 해상도를 기반으로 상기 동영상을 저장하는 단계;
    클라이언트로부터 상기 동영상에 대한 요청을 수신하는 단계;
    상기 클라이언트의 네트워크 환경에 대응되는 해상도가 상기 동영상의 해상도와 동일하면, 상기 동영상을 상기 클라이언트로 전송하는 단계; 및
    상기 네트워크 환경에 대응되는 해상도가 상기 동영상의 해상도와 상이하면, 상기 동영상을 트랜스코딩하여 상기 클라이언트로 전송하는 단계를 포함하고,
    상기 적어도 하나의 해상도를 기반으로 상기 동영상을 저장하는 단계는,
    상기 인기도가 일정 레벨 이상이면, 복수 개의 해상도들을 기반으로 상기 동영상을 저장하는 단계; 및
    상기 인기도가 상기 일정 레벨 미만이면, 상기 복수 개의 해상도들 중 어느 하나를 기반으로 상기 동영상을 저장하는 단계를 포함하는 저전력 스트리밍 방법.
  2. 제1항에 있어서,
    상기 복수 개의 해상도들 중 어느 하나를 기반으로 상기 동영상을 저장하는 단계는,
    상기 인기도가 상기 일정 레벨 미만이면, 상기 복수 개의 해상도들 중 최고 해상도로 상기 동영상을 저장하는 저전력 스트리밍 방법.
  3. 제1항에 있어서,
    상기 복수 개의 해상도들을 기반으로 상기 동영상을 저장하는 단계는,
    상기 동영상과 관련된 매니페스트 파일(manifest file)을 생성하는 단계를 포함하고,
    상기 매니페스트 파일은 상기 복수 개의 해상도들로 상기 동영상이 저장된 것으로 생성되는 저전력 스트리밍 방법.
  4. 제1항에 있어서,
    상기 복수 개의 해상도들 중 어느 하나를 기반으로 상기 동영상을 저장하는 단계는,
    상기 동영상과 관련된 매니페스트 파일(manifest file)을 생성하는 단계를 포함하고,
    상기 매니페이스 파일은 상기 복수 개의 해상도들로 상기 동영상이 저장된 것으로 생성되는 저전력 스트리밍 방법.
  5. 컴퓨터로 구현되는 저전력 스트리밍 시스템에 있어서,
    동영상의 인기도에 따라 결정되는 적어도 하나의 해상도를 기반으로 상기 동영상을 저장하는 저장 장치; 및
    클라이언트로부터 상기 동영상에 대한 요청을 수신하고, 상기 클라이언트의 네트워크 환경에 대응되는 해상도가 상기 동영상의 해상도와 동일하면, 상기 동영상을 상기 클라이언트로 전송하고, 상기 네트워크 환경에 대응되는 해상도가 상기 동영상의 해상도와 상이하면, 상기 동영상을 트랜스코딩하여 상기 클라이언트로 전송하는 서버를 포함하고,
    상기 저장 장치는,
    상기 인기도가 일정 레벨 이상이면, 복수 개의 해상도들을 기반으로 상기 동영상을 저장하고,
    상기 인기도가 상기 일정 레벨 미만이면, 상기 복수 개의 해상도들 중 어느 하나를 기반으로 상기 동영상을 저장하는 저전력 스트리밍 시스템.
KR1020170142685A 2017-10-30 2017-10-30 저전력 스트리밍을 위한 방법 및 시스템 KR101970894B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170142685A KR101970894B1 (ko) 2017-10-30 2017-10-30 저전력 스트리밍을 위한 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170142685A KR101970894B1 (ko) 2017-10-30 2017-10-30 저전력 스트리밍을 위한 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR101970894B1 true KR101970894B1 (ko) 2019-04-19

Family

ID=66283367

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170142685A KR101970894B1 (ko) 2017-10-30 2017-10-30 저전력 스트리밍을 위한 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR101970894B1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009003639A (ja) * 2007-06-20 2009-01-08 Victor Co Of Japan Ltd クライアント装置、データ処理方法およびそのプログラム
KR20130092287A (ko) * 2012-02-10 2013-08-20 (주)네오위즈게임즈 자동 스트리밍 품질 조절이 가능한 스트리밍 서비스 제공 방법 및 그 서버
KR20170100079A (ko) * 2016-02-24 2017-09-04 경북대학교 산학협력단 네트워크 환경 적응형 클라우드 스트리밍 서비스 제공시스템 및 그 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009003639A (ja) * 2007-06-20 2009-01-08 Victor Co Of Japan Ltd クライアント装置、データ処理方法およびそのプログラム
KR20130092287A (ko) * 2012-02-10 2013-08-20 (주)네오위즈게임즈 자동 스트리밍 품질 조절이 가능한 스트리밍 서비스 제공 방법 및 그 서버
KR20170100079A (ko) * 2016-02-24 2017-09-04 경북대학교 산학협력단 네트워크 환경 적응형 클라우드 스트리밍 서비스 제공시스템 및 그 방법

Similar Documents

Publication Publication Date Title
US20230283653A1 (en) Methods and apparatus to reduce latency for 360-degree viewport adaptive streaming
US10819645B2 (en) Combined method for data rate and field of view size adaptation for virtual reality and 360 degree video streaming
US11128903B2 (en) Systems and methods of orchestrated networked application services
KR20140111336A (ko) 클라우드 컴퓨팅 서비스 스토리지를 액세스하기 위한 서비스 또는 게이트웨이 서버를 통한 여러 미디어 장치
US11202110B2 (en) Information processing apparatus, control method of the same, and storage medium
JP2018110387A (ja) リアルタイムライブ環境でのバッファに基づく帯域幅測定および適応的データ送信のための方法およびシステム
EP2408205A1 (en) A video server, video client and method of scalable encoding video files
US9369509B2 (en) Stream sharing method, apparatus, and system
US20210014547A1 (en) System for distributing an audiovisual content
EP3354033B1 (en) Dynamic seeking in video delivery systems
KR20220030736A (ko) 실시간 라이브 스트리밍에서 지연을 최소화하기 위한 방법, 시스템, 및 컴퓨터 판독가능한 기록 매체
KR101970894B1 (ko) 저전력 스트리밍을 위한 방법 및 시스템
JP2016015566A (ja) 端末装置及びデータ配信方法
Vats et al. Semantic-aware view prediction for 360-degree videos at the 5g edge
Younus et al. A model for a practical evaluation of a DASH-based rate adaptive algorithm over HTTP
KR100611099B1 (ko) 미디어 스트리밍을 위한 스트리머 프로세스 관리 장치 및그 방법
EP3788768A1 (en) Methods and systems for streaming media data over a content delivery network
US20240205473A1 (en) Selection of content delivery networks using agents
EP4391494A1 (en) Selection of content delivery networks using agents
US20240031420A1 (en) Content delivery network (cdn) selection using performance metric
EP4312417A1 (en) Content delivery network (cdn) selection using performance metric
EP2624520B1 (en) Method, control device and delivery infrastructure for improving efficiency in adaptive streaming
Sahoo et al. Video transcoding services in cloud computing environment
Darwich Cost-Efficient Video On Demand (VOD) Streaming Using Cloud Services
Paravati et al. A Novel Approach to Support Quality of Experience in Remote Visualization on Mobile Devices.

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant