KR102367134B1 - 가속기를 제어하는 방법 및 이를 이용한 가속기 - Google Patents

가속기를 제어하는 방법 및 이를 이용한 가속기 Download PDF

Info

Publication number
KR102367134B1
KR102367134B1 KR1020150090496A KR20150090496A KR102367134B1 KR 102367134 B1 KR102367134 B1 KR 102367134B1 KR 1020150090496 A KR1020150090496 A KR 1020150090496A KR 20150090496 A KR20150090496 A KR 20150090496A KR 102367134 B1 KR102367134 B1 KR 102367134B1
Authority
KR
South Korea
Prior art keywords
media
metadata
priority
media metadata
playback device
Prior art date
Application number
KR1020150090496A
Other languages
English (en)
Other versions
KR20170001070A (ko
Inventor
이성호
김길종
정도영
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Priority to KR1020150090496A priority Critical patent/KR102367134B1/ko
Priority to PCT/KR2016/006645 priority patent/WO2016208971A1/en
Priority to CN201680037279.8A priority patent/CN107787577B/zh
Priority to US15/193,352 priority patent/US10530827B2/en
Publication of KR20170001070A publication Critical patent/KR20170001070A/ko
Application granted granted Critical
Publication of KR102367134B1 publication Critical patent/KR102367134B1/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/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • H04L65/4069
    • H04L65/601
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/561Adding application-functional data or data for application control, e.g. adding metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/93Regeneration of the television signal or of selected parts thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Library & Information Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

미디어 재생 장치의 동작 상태에 기초하여 미디어 재생 장치에서 요청된 미디어 메타데이터를 관리하는 가속기를 제어하는 방법 및 이를 이용한 가속기를 개시한다.

Description

가속기를 제어하는 방법 및 이를 이용한 가속기{Method for controlling accelerator and accelerator thereof}
가속기를 제어하는 방법 및 이를 이용한 가속기에 관한 것이다.
HTTP Adaptive Streaming은 다중 비트레이트로 인코딩된 미디어 세그먼트들 을 네트워크 상황에 기초하여 요청하고 스트리밍 서비스를 제공하는 방식이다. 대표적인 HTTP Adaptive Streaming 방식으로는 HLS(HTTP Live Streaming), SS(Smooth Streaming), DASH(Dynamic Adaptive Streaming over HTTP) 등이 있다.
HTTP Adaptive Streaming 시, 버퍼링 최소화 및 고화질 미디어 재생을 위한 가속기가 미디어 재생 장치와 미디어 세그먼트를 제공하는 서버 사이에 존재한다.
미디어 재생 장치의 동작 상태에 기초하여 미디어 재생 장치에서 요청된 미디어 메타데이터를 관리하도록 하는 가속기를 제어하는 방법 및 이를 이용한 가속기를 제공하는 것이다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 이하의 실시예들로부터 또 다른 기술적 과제들이 유추될 수 있다.
제 1 측면에 따른 미디어 컨텐츠를 제공하는 미디어 서버로부터 수신한 미디어 컨텐츠를 적어도 하나의 미디어 재생 장치로 전송하는 가속기를 제어하는 방법은, 상기 적어도 하나의 미디어 재생 장치의 동작 상태를 판단하는 단계; 상기 판단된 동작 상태에 기초하여, 상기 가속기에 저장된 미디어 메타데이터의 우선 순위를 결정하는 단계; 및 상기 우선 순위에 기초하여, 상기 적어도 하나의 미디어 재생 장치에서 요청된 미디어 메타데이터를 관리하는 단계;를 포함할 수 있다.
또한, 상기 동작 상태를 판단하는 단계는, 상기 적어도 하나의 미디어 재생 장치가 상기 미디어 컨텐츠를 구성하는 미디어 세그먼트들을 요청하는 패턴에 기초하여, 상기 동작 상태를 판단할 수 있다.
또한, 상기 관리하는 단계는, 상기 우선 순위대로 상기 저장된 미디어 메타데이터를 정렬시키는 단계; 및 상기 정렬된 미디어 메타데이터 중 상기 우선 순위가 상대적으로 낮은 소정의 개수의 미디어 메타데이터를 압축하여 저장하는 단계;를 포함할 수 있다.
또한, 상기 관리하는 단계는, 상기 우선 순위대로 상기 저장된 미디어 메타데이터를 정렬시키는 단계; 및 상기 정렬된 미디어 메타데이터 중 상기 미디어 재생 장치의 동작 상태가 정지인 미디어 메타데이터를 압축하여 저장하는 단계;를 포함할 수 있다.
또한, 상기 관리하는 단계는, 상기 우선 순위대로 상기 저장된 미디어 메타데이터를 정렬시키는 단계; 및 상기 정렬된 미디어 메타데이터 중 상기 우선순위가 소정의 기준 이하인 미디어 메타데이터를 압축하여 저장하는 단계;를 포함할 수 있다.
또한, 상기 관리하는 단계는, 상기 우선 순위대로 상기 저장된 미디어 메타데이터를 정렬시키는 단계; 및 상기 정렬된 미디어 메타데이터 중 상기 우선순위가 높은 미디어 메타데이터부터 제 1 스토리지에 저장하고, 상기 제 1 스토리지가 여유 공간이 부족한 상태인 때부터, 나머지 미디어 메타데이터를 압축하여 제 2 스토리지에 저장할 수 있다.
또한, 상기 관리하는 단계는, 상기 미디어 재생 장치로부터 요청된 미디어 세그먼트에 대응되는 미디어 메타데이터를 상기 제 1 스토리지에서 상기 제 2 스토리지 순서로 조회할 수 있다.
또한, 상기 관리하는 단계는, 상기 적어도 하나의 미디어 재생 장치에서 요청된 미디어 메타데이터를 저장하는 스토리지가 여유 공간이 부족한 상태인 경우, 새로운 미디어 메타데이터 수신 시, 후순위의 우선 순위를 갖는 미디어 메타데이터부터 삭제할 수 있다.
또한, 상기 미디어 재생 장치로부터 요청된 미디어 세그먼트에 대한 정보가 상기 삭제된 미디어 메타데이터에 포함되는 경우, 상기 미디어 서버에 상기 삭제된 미디어 메타데이터를 재요청하는 단계;를 더 포함할 수 있다.
또한, 상기 우선 순위를 결정하는 단계는, 상기 미디어 재생 장치의 동작 상태와 상기 미디어 재생 장치로부터 현재 요청된 미디어 세그먼트의 진척도에 기초하여, 상기 우선 순위를 결정할 수 있다.
제 2 측면에 따라, 상기 가속기를 제어하는 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체가 제공될 수 있다.
제 3 측면에 따른 미디어 컨텐츠를 제공하는 미디어 서버로부터 수신한 미디어 컨텐츠를 적어도 하나의 미디어 재생 장치로 전송하는 가속기는, 상기 적어도 하나의 미디어 재생 장치의 동작 상태를 판단하고, 상기 판단된 동작 상태에 기초하여, 상기 가속기에 저장된 미디어 메타데이터의 우선 순위를 결정하며, 상기 우선 순위에 기초하여, 상기 적어도 하나의 미디어 재생 장치에서 요청된 미디어 메타데이터를 관리하는 프로세서;를 포함할 수 있다.
또한, 상기 프로세서는, 상기 적어도 하나의 미디어 재생 장치가 상기 미디어 컨텐츠를 구성하는 미디어 세그먼트들을 요청하는 패턴에 기초하여, 상기 동작 상태를 판단할 수 있다.
또한, 상기 프로세서는, 상기 우선 순위대로 상기 저장된 미디어 메타데이터를 정렬시키고, 상기 정렬된 미디어 메타데이터 중 상기 우선 순위가 상대적으로 낮은 소정의 개수의 미디어 메타데이터를 압축하여 저장할 수 있다.
또한, 상기 프로세서는, 상기 우선 순위대로 상기 저장된 미디어 메타데이터를 정렬시기고, 상기 정렬된 미디어 메타데이터 중 상기 미디어 재생 장치의 동작 상태가 정지인 미디어 메타데이터를 압축하여 저장할 수 있다.
또한, 상기 프로세서는, 상기 우선 순위대로 상기 저장된 미디어 메타데이터를 정렬시키고, 상기 정렬된 미디어 메타데이터 중 상기 우선순위가 소정의 기준 이하인 미디어 메타데이터를 압축하여 저장할 수 있다.
또한, 제 1 스토리지와 제 2 스토리지로 구획되어, 상기 적어도 하나의 미디어 재생 장치에서 요청된 미디어 메타데이터를 저장하는 스토리지;를 더 포함하고, 상기 프로세서는, 상기 우선 순위대로 상기 저장된 미디어 메타데이터를 정렬시키고, 상기 정렬된 미디어 메타데이터 중 상기 우선순위가 높은 미디어 메타데이터부터 상기 제 1 스토리지에 저장하고, 상기 제 1 스토리지가 여유 공간이 부족한 상태인 때부터, 나머지 미디어 메타데이터를 압축하여 상기 제 2 스토리지에 저장할 수 있다.
또한, 상기 적어도 하나의 미디어 재생 장치에서 요청된 미디어 메타데이터를 저장하는 스토리지;를 더 포함하고, 상기 프로세서는, 상기 스토리지가 여유 공간이 부족한 상태인 경우, 새로운 미디어 메타데이터 수신 시, 후순위의 우선 순위를 갖는 미디어 메타데이터부터 삭제할 수 있다.
또한, 상기 프로세서는, 상기 미디어 재생 장치로부터 요청된 미디어 세그먼트에 대한 정보가 상기 삭제된 미디어 메타데이터에 포함되는 경우, 상기 미디어 서버에 상기 삭제된 미디어 메타데이터를 재요청할 수 있다.
또한, 상기 프로세서는, 상기 미디어 재생 장치의 동작 상태와 상기 미디어 재생 장치로부터 현재 요청된 미디어 세그먼트의 진척도에 기초하여, 상기 우선 순위를 결정할 수 있다.
도 1은 미디어 재생 장치, 가속기, 및 미디어 서버를 포함하는 미디어 시스템을 설명하기 위한 도면이다.
도 2는 미디어 메타데이터의 일 예를 설명하기 위한 도면이다.
도 3은 일 실시예에 따른 가속기의 구성을 설명하기 위한 블록도이다.
도 4는 미디어 세그먼트들을 요청하는 패턴에 기초하여, 미디어 재생 장치의 동작 상태를 판단하는 일 예를 설명하기 위한 도면이다.
도 5는 미디어 재생 장치의 동작 상태를 판단하기 위한 파라미터와 미디어 재생 장치의 동작 상태를 설명하기 위한 도면이다.
도 6은 미디어 재생 장치의 동작 상태를 확인하는 구체적인 예를 나타낸 도면이다.
도 7은 미디어 재생 장치의 동작 상태에 기초하여 우선순위를 결정하는 방식과 우선순위에 기초하여 미디어 메타데이터를 저장하는 방식을 설명하기 위한 도면이다.
도 8은 우선순위에 기초하여 미디어 메타데이터를 저장하는 과정을 설명하기 위한 도면이다.
도 9는 우선순위를 결정하고, 이에 기초하여 미디어 메타데이터를 저장하는 구체적인 예를 나타낸 도면이다.
도 10은 일 실시예에 따른 가속기를 제어하는 방법에 대한 흐름도이다.
도 11은 일 실시예에 따른 가속기를 제어하는 방법에서, 우선순위에 기초하여 미디어 메타데이터를 관리하는 일 예를 나타낸 상세 흐름도이다.
도 12는 일 실시예에 따른 가속기를 제어하는 방법에서, 우선순위에 기초하여 미디어 메타데이터를 관리하는 다른 예를 나타낸 상세 흐름도이다.
도 13은 일 실시예에 따른 가속기를 제어하는 방법에서, 우선순위에 기초하여 미디어 메타데이터를 관리하는 또 다른 예를 나타낸 상세 흐름도이다.
도 14는 일 실시예에 따른 가속기를 제어하는 방법에서, 우선순위에 기초하여 미디어 메타데이터를 관리하는 또 다른 예를 나타낸 상세 흐름도이다.
이하 첨부된 도면을 참조하면서 오로지 예시를 위한 실시예에 의해 발명을 상세히 설명하기로 한다. 하기 실시예는 발명을 구체화하기 위한 것일 뿐 발명의 권리 범위를 제한하거나 한정하는 것이 아님은 물론이다. 상세한 설명 및 실시예로부터 발명이 속하는 기술분야의 전문가가 용이하게 유추할 수 있는 것은 발명의 권리범위에 속하는 것으로 해석된다.
본 명세서에서 사용되는 '구성된다' 또는 '포함한다' 등의 용어는 명세서 상에 기재된 여러 구성 요소들, 또는 여러 단계들을 반드시 모두 포함하는 것으로 해석되지 않아야 하며, 그 중 일부 구성 요소들 또는 일부 단계들은 포함되지 않을 수도 있고, 또는 추가적인 구성 요소 또는 단계들을 더 포함할 수 있는 것으로 해석되어야 한다.
또한, 본 명세서에서 사용되는 '제 1' 또는 '제 2' 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용할 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만 사용된다.
본 실시예들은 가속기를 제어하는 방법 및 이를 이용한 가속기에 관한 것으로서 이하의 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서는 자세한 설명을 생략한다.
도 1은 미디어 재생 장치, 가속기, 및 미디어 서버를 포함하는 미디어 시스템을 설명하기 위한 도면이다.
도 1을 참고하면, 미디어 시스템은 미디어 컨텐츠를 요청하고 재생하는 미디어 재생 장치(100), 미디어 컨텐츠를 제공하는 미디어 서버(300), 미디어 재생 장치(100)와 미디어 서버(300) 사이에서 고화질의 미디어 컨텐츠를 제공하기 위한 가속기(200)로 구성될 수 있다.
가속기(200)는 미디어 재생 장치(100)로부터 미디어 컨텐츠 요청 신호가 수신되는 경우, 이와 같은 미디어 컨텐츠 요청 신호에 대응되는 미디어 컨텐츠에 대한 미디어 메타데이터를 미디어 서버(300)에 요청하여 전송받을 수 있다. 가속기(200)는 미디어 서버(300)로부터 수신한 미디어 메타데이터를 미디어 컨텐츠 요청에 대한 응답으로 미디어 재생 장치(100)에 전송할 수 있다. 이때, 가속기(200)는 미디어 재생 장치(100)에 전송한 미디어 메타데이터를 소정의 공간에 저장하여 관리할 수 있다.
미디어 컨텐츠는 적어도 하나의 미디어 세그먼트로 구성된 미디어 스트림을 실행시킴으로써 재생될 수 있다. 미디어 메타데이터는 미디어 스트림에 포함된 각 미디어 세그먼트에 관한 정보를 포함할 수 있다. 미디어 재생 장치(100)는 미디어 메타데이터를 이용하여, 각 미디어 세그먼트에 대응되는 부분의 미디어 컨텐츠를 재생할 수 있다.
도 2는 미디어 메타데이터의 일 예를 설명하기 위한 도면이다.
도 2를 참고하면, 일 예에 해당하는 미디어 메타데이터의 일부분을 나타내고 있다. 미디어 메타데이터는 계층적 구조로 존재할 수 있다. 도 2를 살펴보면, "master.m3u8"은 밴드위스와 해상도가 서로 다른 미디어 컨텐츠를 지원할 수 있다. 이 중 "http://10.251.72.51/slave/slave_1300k.m3u8" 에 대응되는 미디어 컨텐츠가 요청된 경우, 이와 대응되는 미디어 스트림 파일의 각 미디어 세그먼트에 대한 실행 요청이 발생될 수 있다.
도 2를 참고하면, "http://10.251.72.51/slave/slave_1300k.m3u8"는 5개의 미디어 세그먼트 각각에 대응되는 주소 정보를 가지고 있으며, 하나의 미디어 세그먼트는 10초의 듀레이션(duration)을 가짐을 알 수 있다.
한편, 미디어 재생 장치가 HTTP Adaptive Streaming을 지원하는 경우, 다중 비트레이트로 인코딩된 미디어 스트림 파일과 그 미디어 스트림에 대한 정보를 갖고 있는 미디어 메타데이터 파일을 이용하여, 미디어 컨텐츠를 재생할 수 있다.
도 3은 일 실시예에 따른 가속기의 구성을 설명하기 위한 블록도이다.
도 3을 참고하면, 가속기(200)는 통신 인터페이스(210), 프로세서(220), 스토리지(230), 프리패치 모듈(240)을 포함할 수 있다.
통신 인터페이스(210)는 외부의 기기와 통신을 수행할 수 있다. 가속기(200)는 통신 인터페이스(210)를 통해 다른 외부 기기로부터 정보를 수신하거나, 정보를 전송할 수 있다.
통신 인터페이스(210)는 프록시 서버와 같은 기능을 수행할 수 있다. 예를 들어, 가속기(200)에서 고화질의 미디어 컨텐츠 및 버피링 최소화를 위한 작업이 수행되고 있을 때, 통신 인터페이스(210)는 프록시 서버로써 미디어 재생 장치(100) 또는 미디어 서버(300)와 통신을 수행할 수 있다. 통신 인터페이스(210)는 미디어 재생 장치(100)로부터 미디어 컨텐츠 요청 신호를 수신할 수 있다. 이때, 미디어 컨텐츠 요청 신호는 원하는 미디어 컨텐츠에 대한 미디어 메타데이터의 요청일 수 있다. 통신 인터페이스(210)는 미디어 메타데이터를 미디어 서버(300)에 요청하여 전송받을 수 있다. 통신 인터페이스(210)는 미디어 재생 장치(100)에 미디어 서버(300)로부터 수신한 미디어 메타데이터를 전송할 수 있다.
프로세서(220)는 고화질의 미디어 컨텐츠 및 버퍼링 최소화를 위한 작업을 수행할 수 있다. 프로세서(220)는 가속기(200)의 한정된 리소스를 이용하더라도, 고화질의 미디어 컨텐츠가 제공될 수 있도록, 가속기(200)에 수신된 미디어 메타데이터를 효율적으로 관리하여야 한다.
이를 위해, 프로세서(220)는 적어도 하나의 미디어 재생 장치(100)의 동작 상태를 판단할 수 있다. 프로세서(220)는 판단된 동작 상태에 기초하여, 가속기(200)에 저장된 미디어 메타데이터의 우선 순위를 결정할 수 있다. 프로세서(220)는 우선 순위에 기초하여, 적어도 하나의 미디어 재생 장치(100)에서 요청된 미디어 메타데이터를 관리할 수 있다. 이때 적어도 하나의 미디어 재생 장치(100)에서 요청된 미디어 메타데이터는 가속기(200)가 미디어 서버(300)로부터 수신한 미디어 메타데이터를 포함할 수 있다.
프로세서(220)는 우선순위에 기초하여, 미디어 메타데이터를 저장하거나 미디어 메타데이터를 삭제할 수 있고, 우선순위를 고려하여 미디어 메타데이터를 조회할 수 있다. 예를 들어, 프로세서(220)는 적어도 하나의 미디어 재생 장치(100)에서 요청된 미디어 메타데이터를 저장할 때, 우선순위에 기초하여 미디어 메타데이터를 저장할 수 있다. 또한, 프로세서(220)는 적어도 하나의 미디어 재생 장치(100)에서 요청된 미디어 메타데이터를 저장하는 스토리지(230)가 여유 공간이 부족한 상태인 경우, 새로운 미디어 메타데이터 수신하면, 후순위의 우선 순위를 갖는 미디어 메타데이터부터 삭제할 수 있다. 프로세서(220)는 미디어 재생 장치(100)로부터 요청된 미디어 세그먼트에 대한 정보가 이미 삭제된 미디어 메타데이터에 포함되는 경우, 미디어 서버(300)에 삭제된 미디어 메타데이터를 재요청할 수 있다.
프로세서(220)는 하나의 통합된 형태의 모듈일 수도 있고, 기능별로 분리된 각각의 모듈로 구성될 수도 있다. 예를 들어, 스토리지(230)에 대한 미디어 메타데이터의 저장 또는 삭제를 맡는 모듈, 스토리지(230)에 메타데이터가 저장되어 있지 않은 경우, 미디어 서버(300)로 미디어 메타데이터의 요청을 맡는 모듈 등으로 나눌 수 있다.
스토리지(230)는 적어도 하나의 미디어 재생 장치(100)에서 요청된 미디어 메타데이터를 저장할 수 있다. 스토리지(230)에 저장된 미디어 메타 데이터는 프로세서(220)에 의해 관리될 수 있다.
프리패치 모듈(240)은 미디어 재생 장치(100)에서 재생되고 있는 미디어 세그먼트 이후의 미디어 세그먼트를 요청할 수 있다. 이때, 프리패치 모듈(240)은 프로세서(220)를 통해 미리 불러오기 할 미디어 세그먼트에 대한 정보를 받을 수 있다. 프리패치 모듈(240)은 네트워크 상황에 따라 미디어 세그먼트를 요청할 수 있다. 프리패치 모듈(240)은 도 3에 도시된 바와 같이, 프로세서(220)와 독립적인 별도의 모듈로서 구현될 수도 있고, 프로세서(220)에 통합된 형태로 구현될 수도 있다.
한편, 미디어 메타데이터가 저장되는 스토리지(230)는 한정적인 리소스 자원이므로, 미디어 재생 장치(100)에서 요청되는 모든 미디어 메타데이터를 계속해서 저장해 둘 수 없다. 따라서, 프로세서(220)에서 미디어 메타데이터를 어떻게 관리할 것인지가 중요한 문제가 될 수 있다. 이하, 이에 대해서 자세히 설명한다.
도 4는 미디어 세그먼트들을 요청하는 패턴에 기초하여, 미디어 재생 장치의 동작 상태를 판단하는 일 예를 설명하기 위한 도면이다.
프로세서(220)는 고화질의 미디어 컨텐츠가 버퍼링 없이 제공될 수 있도록, 가속기(200)에 수신된 미디어 메타데이터를 메타데이터 관리 알고리즘에 따라 효율적으로 관리할 수 있다.
본 개시된 실시예에 따른 메타데이터 관리 알고리즘에 따르면, 프로세서(220)는 적어도 하나의 미디어 재생 장치(100)의 동작 상태를 판단하고, 이에 기초하여 메타데이터를 관리할 수 있다. 스토리지(230)에 여유 공간이 부족한 경우, 미디어 서버(300)로부터 새로운 미디어 메타데이터가 수신되면, 이를 저장하기 위해, 스토리지(230)에 저장되어 있던 기존의 메타데이터를 삭제할 필요가 있다. 이때, 스토리지(230)에 저장된 순서대로, 즉, FIFO 방식으로 오래된 것부터 삭제한다면, 현재 미디어 재생 장치(100)의 요청과 무관하게 미디어 메타데이터가 삭제되므로, 효율적인 메타데이터 관리가 어려울 수 있다.
이에 본 개시된 실시예에 따른 프로세서(220)는 미디어 재생 장치(100)의 동작 상태를 판단하고, 판단된 동작 상태에 기초하여, 가속기(200)에 저장된 미디어 메타데이터의 우선 순위를 결정할 수 있다. 프로세서(220)는 우선 순위에 기초하여, 적어도 하나의 미디어 재생 장치(100)에서 요청된 미디어 메타데이터를 관리할 수 있다. 이때 적어도 하나의 미디어 재생 장치(100)에서 요청된 미디어 메타데이터는 현재 요청된 미디어 메타데이터 뿐만 아니라 가속기(200)에 저장된 미디어 메타데이터를 포함할 수 있다.
도 4를 참고하면, 미디어 재생 장치(100)가 미디어 컨텐츠 실행 시에 미디어 세그먼트들을 요청하는 패턴에 따라 미디어 재생 장치(100)의 동작 상태를 추정할 수 있음을 알 수 있다. 하나의 미디어 세그먼트가 10초의 듀레이션을 가짐을 알 수 있다.
미디어 재생 장치(100)에서 10초마다 각 미디어 세그먼트를 순차적으로 요청하는 경우, 미디어 재생 장치(100)에서 미디어 컨텐츠가 재생되고 있다고 추정할 수 있다. 또한, 미디어 재생 장치(100)에서 미디어 세그먼트를 10초마다 요청하던 것이 짧은 시간 내에 다른 미디어 세그먼트를 다시 요청하여 다시 10초마다 그 이후의 미디어 세그먼트를 순차적으로 요청하는 경우, 미디어 재생 장치(100)에서 되감기(Resume)와 같은 동작이 있음을 알 수 있다. 한편, 미디어 재생 장치(100)에서 10초마다 각 미디어 세그먼트를 순차적으로 요청하다가 어느 순간부터 미디어 세그먼트에 대한 아무런 요청이 없는 경우, 미디어 재생 장치(100)에서 재생을 정지한 것이므로, 일시 정지 또는 미디어 컨텐츠의 재생을 정지한 것으로 추정할 수 있다.
이와 같은 방식으로, 프로세서(220)는 적어도 하나의 미디어 재생 장치(100)가 미디어 컨텐츠를 구성하는 미디어 세그먼트들을 요청하는 패턴에 기초하여, 미디어 재생 장치(100)의 동작 상태를 판단할 수 있다.
도 5는 미디어 재생 장치의 동작 상태를 판단하기 위한 파라미터와 미디어 재생 장치의 동작 상태를 설명하기 위한 도면이다.
도 5를 참고하면, 테이블에 표시되어 있는 CSRT(Current Segment Request Time), LSRT(Last Segment Request Time), Last Session, Pause 라는 각 파라미터 값에 따라 미디어 재생 장치(100)의 동작 상태를 판단할 수 있음을 알 수 있다.
여기서, CSRT는 현재 미디어 세그먼트를 요청한 시점이 있는지를 의미하고, LSRT는 마지막 미디어 세그먼트를 요청한 시점이 있는지를 의미한다. 테이블 아래 그림을 살펴보면, CSRT_A는 컨텐츠 A의 미디어 세그먼트가 요청된 시점을 나타내고 있고, LSRT_A는 컨텐츠 A의 마지막 미디어 세그먼트가 요청된 시점을 나타내고 있다. 같은 방식으로, CSRT_B는 컨텐츠 B의 미디어 세그먼트가 요청된 시점을 나타내고 있고, LSRT_B는 컨텐츠 B의 마지막 미디어 세그먼트가 요청된 시점을 나타내고 있다. 이와 같은 경우, 위의 테이블에서 CSRT 및 LSRT는 모두 1인 경우가 될 수 있다.
Last Session은 미디어 재생 장치(100)와 가속기(200) 간의 마지막 세션 연결이 유지되고 있는지를 의미한다. Pause는 멈춤이 있는지를 의미한다.
예를 들어, 각 파라미터가 CSRT='1', LSRT='0', Last Session='1', Pause='1' 인 경우, 현재 미디어 세그먼트를 요청하였고, 마지막 미디어 세그먼트는 요청되지 않았으며, 미디어 재생 장치(100)와 가속기(200) 간의 마지막 세션이 유지되고, 멈춤이 있기 때문에, 미디어 재생 장치(100)는 미디어 컨텐츠를 모두 재생하지 못하고 멈추어 있는 상태라고 판단할 수 있다.
한편, 위와 같은 방식으로 각 파라미터 값에 따라 미디어 재생 장치(100)의 동작 상태를 판단해보았을 때, 그 결과를 4개의 그룹으로 나누어 볼 수 있다. 먼저, CSRT='0'이고, LSRT='1'인 경우, 현재 미디어 세그먼트에 대한 요청이 없는데 마지막 미디어 세그먼트에 대한 요청이 있는 것은 모순이므로 error 상태 및 error 그룹이라 할 수 있다. 다음으로, CSRT='0'이고, LSRT='0'인 경우, 현재 미디어 세그먼트에 대한 요청과 마지막 미디어 세그먼트에 대한 요청이 모두 없는 것으로서 아직 아무런 동작을 수행하지 않은 idle 상태 및 idle 그룹이라 할 수 있다. 한편, CSRT='1'이고, LSRT='0'인 경우, 현재 미디어 세그먼트에 대한 요청이 있으나 마지막 미디어 세그먼트에 대한 요청은 없는 상태로서, Stable 그룹이라 부를 수 있다. CSRT='1'이고, LSRT='1'인 경우, 현재 미디어 세그먼트에 대한 요청과 마지막 미디어 세그먼트에 대한 요청이 있는 상태로서, Metastable 그룹이라 부를 수 있다. 총 4개의 그룹에 대해, 0에서 3까지(이진수로, 00, 01, 10, 11에 해당함)의 그룹 ID를 부여할 수 있다. 이와 같은 그룹 ID는 추후 우선순위에 결정에 이용될 수 있다.
도 6은 미디어 재생 장치의 동작 상태를 확인하는 구체적인 예를 나타낸 도면이다.
도 6을 참고하면, Pause 값을 계산하는 수식과 각 미디어 컨테츠 별로 CSRT, LSRT,
Figure 112015061687750-pat00001
, Last Session 값이 주어진 경우에, 각 미디어 컨텐츠를 요청한 각각의 미디어 재생 장치(100)의 동작 상태를 확인한 결과를 나타내고 있다. 현재 시간(Current Time)=10:00;00, 상수 K=3, 듀레이션(duration)=10초임을 전제한 경우의 결과이다.
Figure 112015061687750-pat00002
값의 계산은 수식 (1)에 따르고, 이를 이용하여 Pause 값을 결정하는 것은 수식 (2)에 따른다. 이때,
Figure 112015061687750-pat00003
는 현재 시간이고, k는 미디어 메타데이터 파일 크기에 따라 변할 수 있는 값으로서, 10초의 듀레이션을 갖는 미디어 세그먼트의 경우 k를 3에서 5사이 값으로 정할 수 있다.
예를 들어, 컨텐츠 B의 경우, CSRT='True'(True=1)이고 LSRT='False'(False=0)이므로, 도 5의 테이블에 따를 때, stable 그룹에 해당하고, Last Session='1'이므로 마지막 세션 연결이 유지되고 있는 상태이며, 도 6의 수식에 의할 때
Figure 112015061687750-pat00004
='120/30'이므로 Pause='1'이 되어 미디어 컨텐츠의 재생이 멈춤임을 알 수 있다. 이는 도 5의 테이블에서, CSRT='1', LSRT='0', Last Session='1', Pause='1' 인 경우와 같다.
또 다른 예로, 컨텐츠 D의 경우, CSRT='True'(True=1)이고 LSRT='False'(False=0)이므로, 도 5의 테이블에 따를 때, stable 그룹에 해당하고, Last Session='0'이므로 마지막 세션 연결이 끊어진 상태로써, 도 6의 수식에 의할 때
Figure 112015061687750-pat00005
='180/30'이므로 Pause='1'이 되어 미디어 컨텐츠의 재생이 정지되었음을 알 수 있다. 이는 도 5의 테이블에서, CSRT='1', LSRT='0', Last Session='0', Pause='1' 인 경우와 같다.
도 4 내지 도 6에서 설명한 바와 같이, 가속기(200)는 미디어 재생 장치(100)가 미디어 컨텐츠를 구성하는 미디어 세그먼트들을 요청하는 패턴에 기초하여, 미디어 재생 장치(100)의 동작 상태를 판단할 수 있다.
도 7은 미디어 재생 장치의 동작 상태에 기초하여 우선순위를 결정하는 방식과 우선순위에 기초하여 미디어 메타데이터를 저장하는 방식을 설명하기 위한 도면이다.
본 개시된 실시예에 따른 가속기(200)는 미디어 메타데이터를 저장할 때, 복수 개의 미디어 메타데이터들의 중요도를 고려하여 저장할 수 있도록, 메타데이터의 우선순위를 결정할 수 있다. 본 개시된 실시예에 따른 가속기(200)의 프로세서(220)는 미디어 재생 장치(100)의 동작 상태와 미디어 재생 장치(100)로부터 현재 요청된 미디어 세그먼트의 진척도에 기초하여, 우선순위를 결정할 수 있다. 현재 요청된 미디어 세그먼트의 진척도가 높을수록 우선순위는 낮아지는 것이 바람직하므로, 우선순위를 결정할 때에는 잔여 듀레이션(remain duration)을 전체 듀레이션(total duration)으로 나눈 값으로 현재 요청된 미디어 세그먼트의 진척도를 반영할 수 있다.
도 7을 참고하면, 먼저, 미디어 재생 장치(100)의 동작 상태는 정지가 아닌 경우(Play, Resuem, Pause)와 정지(stop)인 경우로 나누어 우선순위를 결정할 수 있다. 각각의 경우에 대해, 도 7의 수식으로 우선순위를 수치화할 수 있는데, 위의 수식 (1)은 미디어 재생 장치(100)의 동작 상태가 정지가 아닌 경우에 우선순위를 결정하는 수식이고, 아래 수식 (2)는 미디어 재생 장치(100)의 동작 상태가 정지인 경우에 우선순위를 결정하는 수식이다.
k는 미디어 메타데이터 파일 크기에 따라 변할 수 있는 값이고,
Figure 112015061687750-pat00006
는 도 5에서 설명한 0에서 3까지(이진수로, 00, 01, 10, 11에 해당함)의 값으로, stable 그룹의 경우 2의 값을 가지고, metastable 그룹의 경우 3의 값을 가질 수 있다.
한편, 가속기(200)의 스토리지(230)는 미디어 메타데이터의 압축 저장 여부에 따라, 압축 없이 저장하는 제 1 스토리지와 압축 저장하는 제 2 스토리지로 구분될 수 있다. 다만, 스토리지(230)에서 제 1 스토리지의 공간을 얼마나 확보할 것인지는 가속기(200)의 운영 방식에 따라 달리 결정될 수 있다.
도 7을 참고하면, 우선순위를 수치화한 값에 따라 미디어 메타데이터의 압축 저장 여부 및 스토리지(230)에서의 저장 영역이 결정될 수 있음을 알 수 있다. 우선순위의 값이 큰 미디어 메타데이터는 압축 없이 제 1 스토리지에 저장될 수 있고, 우선순위 값이 작은 미디어 메타데이터는 압축하여 제 2 스토리지에 저장될 수 있다.
미디어 메타데이터를 압축하여 저장하는 기준 또는 압축할 대상에 대해서는 다음과 같은 다양한 방식이 적용될 수 있다.
미디어 메타데이터에 대한 우선순위가 결정되면, 가속기(200)의 프로세서(220)는 우선순위 대로 미디어 메타데이터를 정렬시키고, 정렬된 미디어 메타데이터 중 우선 순위가 상대적으로 낮은 소정의 개수의 미디어 메타데이터를 압축하여 저장할 수 있다. 예를 들어, 10개의 미디어 메타데이터가 있을 때, 미디어 메타데이터의 전체 갯수의 30%에 대해서는 압축하여 저장하도록 미디어 메타데이터를 관리하는 경우, 운선순위의 값이 상대적으로 작은 3개의 미디어 메타데이터를 압축하여 제 2 스토리지에 저장할 수 있다.
또한, 도 7의 우선순위를 결정하는 수식을 참고하면, 미디어 재생 장치(100)의 동작 상태가 정지인 미디어 메타데이터는 우선순위 값을 구할 때 k값을 가산하지 않아 더 낮은 우선순위를 갖게 될 것이므로, 정렬된 미디어 메타데이터 중 미디어 재생 장치(100)의 동작 상태가 정지인 미디어 메타데이터를 압축하여 저장할 수도 있다.
또한, 미디어 메타데이터에 대한 우선순위가 결정되면, 가속기(200)의 프로세서(220)는 우선순위 대로 미디어 메타데이터를 정렬시키고, 정렬된 미디어 메타데이터 중 우선순위가 소정의 기준 이하인 미디어 메타데이터를 압축하여 저장할 수도 있다. 이는 미디어 메타데이터들 간의 상대적인 우선순위가 아닌 절대적인 기준을 두고, 미디어 메타데이터를 관리하는 방식이다.
또한, 미디어 메타데이터에 대한 우선순위가 결정되면, 가속기(200)의 프로세서(220)는 우선순위 대로 미디어 메타데이터를 정렬시키고, 정렬된 미디어 메타데이터 중 우선순위가 높은 미디어 메타데이터부터 제 1 스토리지에 저장하고, 제 1 스토리지가 여유 공간이 부족한 상태인 때부터, 나머지 미디어 메타데이터를 압축하여 제 2 스토리지에 저장할 수도 있다. 이는 가급적 미디어 메타데이터를 그대로 저장하여 버퍼링 시간을 최소화하되, 제 1 스토리지의 공간이 차면, 제 2 스토리지의 공간을 활용하는 방식이다. 이와 같은 방식으로 미디어 메타데이터가 관리되는 경우, 미디어 재생 장치(100)로부터 미디어 세그먼트의 요청이 있으면, 요청된 미디어 세그먼트에 대응되는 미디어 메타데이터를 제 1 스토리지에서 제 2 스토리지 순서로 조회하는 것이 바람직할 수 있다.
도 8은 우선순위에 기초하여 미디어 메타데이터를 저장하는 과정을 설명하기 위한 도면이다.
도 8에서는 미디어 컨텐츠 1, 미디어 컨텐츠 2, 미디어 컨텐츠 3 각각에 대응되는 미디어 메타데이터가 가속기(200)의 스토리지(230)에 저장되어 있는 상황에서, 새로운 미디어 컨텐츠의 요청이 있는 경우, 가속기(200)에서의 미디어 메타데이터의 관리 과정을 나타내고 있다. 미디어 메타데이터의 관리 알고리즘은 다양할 수 있는데, 도 8에서는 가속기(200)가 미디어 재생 장치(100)의 동작 상태가 정지인 미디어 메타데이터를 압축하여 저장하는 방식에 대해서 설명하고 있다.
도 8을 참고하면, 첫 번째 그림에서, 가속기(200)의 스토리지(230)에서 미디어 메타데이터가 저장되는 공간에 미디어 컨텐츠 1, 미디어 컨텐츠 2, 미디어 컨텐츠 3 각각에 대응되는 미디어 메타데이터가 저장되어 있음을 알 수 있다. 다만, 새로운 미디어 메타데이터가 저장될 공간은 없는 상황이다.
이후, 미디어 재생 장치(100)에서 새로운 미디어 컨텐츠인 컨텐츠 4에 대한 요청이 있는 경우, 가속기(200)는 미디어 컨텐츠 4에 대응되는 미디어 메타데이터가 저장될 공간을 확보하기 위해, 미리 정의된 미디어 메타데이터 관리 방식에 따라, 일부 미디어 메타데이터를 압축하여 저장 공간을 마련할 수 있다.
가속기(200)는 각 미디어 메타데이터의 우선순위를 각 미디어 메타데이터를 요청한 미디어 재생 장치(100)의 동작 상태에 기초하여 결정할 수 있다. 이때, 앞서 도 4 내지 도 6에서 설명한 미디어 재생 장치(100)의 동작 상태 판단 방식과 도 7에서 설명한 미디어 메타데이터의 우선순위 결정 방식이 이용될 수 있다. 각 미디어 메타데이터의 우선순위가 결정되면, 우선순위대로 각 미디어 메타데이터를 정렬할 수 있다. 도 8의 두 번째 그림에서, 우선순위가 가장 높은 미디어 컨텐츠 1의 미디어 메타데이터부터 우선순위가 가장 낮은 미디어 컨텐츠 3의 미디어 메타데이터까지 순서대로 정렬되었음을 알 수 있다. 미디어 컨텐츠 1은 미디어 재생 장치(100)에서 재생 중이기 때문에 우선순위가 높고, 미디어 컨텐츠 2와 미디어 컨텐츠 3은 미디어 재생 장치(100)에서 정지된 것이기 때문에 우선순위가 낮다.
이후, 가속기(200)는 미디어 컨텐츠 4의 미디어 메타데이터의 저장에 필요한 공간을 확보하기 위하여, 우선순위가 낮은 미디어 메타데이터를 압축하여 저장할 수 있다. 도 8의 세 번째 그림에서, 미디어 컨텐츠 2의 미디어 메타데이터와 미디어 컨텐츠 3의 미디어 메타데이터가 압축되어 저장되고, 미디어 컨텐츠 1의 미디어 메타데이터는 그대로 저장됨을 알 수 있다. 미디어 컨텐츠 1은 미디어 재생 장치(100)에서 재생되고 있는 것이므로, 압축하지 않고 저장하는 것이 버퍼링을 최소화할 수 있기 때문이다.
가속기(200)의 스토리지(230)에 미디어 메타데이터의 저장 공간이 확보되면, 가속기(200)는 미디어 서버(300)로부터 새로 수신한 미디어 메타데이터를 저장할 수 있다. 도 8의 네 번째 그림에서, 미디어 컨텐츠 4의 미디어 메타데이터가 스토리지(230)의 확보된 저장 공간에 저장됨을 알 수 있다.
도 9는 우선순위를 결정하고, 이에 기초하여 미디어 메타데이터를 저장하는 구체적인 예를 나타낸 도면이다.
도 9를 참고하면 미디어 컨텐츠 A 부터 미디어 컨텐츠 D까지 4 개의 미디어 컨텐츠에 대한 미디어 메타데이터의 우선순위를 결정하고 저장하는 방식을 나타내고 있다.
먼저, 미디어 컨텐츠 A와 미디어 컨텐츠 B를 보면, 이를 요청한 미디어 재생 장치(100)의 동작 상태가 각각 재생(play) 또는 일시 멈춤(pause)인 것을 알 수 있고, 미디어 컨텐츠 C와 미디어 컨텐츠 D를 보면, 이를 요청한 미디어 재생 장치(100)의 동작 상태가 정지(stop)인 것을 알 수 있다. 미디어 재생 장치(100)의 동작 상태가 정지가 아닌 경우와 정지인 경우에 대해서, 도 7에서 설명한 수식 (1)과 수식 (2)를 가각 적용함을 설명한 바 있다.
각 미디어 컨텐츠에 대해 주어진 값들을 이용하여, 도 7의 수식 (1)과 수식 (2)를 적용한 결과, 미디어 컨텐츠 A의 미디어 메타데이터는 우선순위가 5.33, 미디어 컨텐츠 B의 미디어 메타데이터는 우선순위가 5.5, 미디어 컨텐츠 C의 미디어 메타데이터는 우선순위가 3, 미디어 컨텐츠 D의 미디어 메타데이터는 우선순위가 2.33인 것으로 결정되었다. 이와 같은 우선순위에 따르면 미디어 컨텐츠 B의 미디어 메타데이터가 가장 높은 우선순위를 가지고, 미디어 컨텐츠 D의 미디어 메타데이터가 가장 낮은 우선순위를 가지게 됨을 알 수 있다.
이때, 미디어 메타데이터 관리 알고리즘이 우선 순위가 낮은 하위 두 개의 미디어 메타데이터에 대해 압축 저장하도록 미리 정의되어 있거나 미디어 재생 장치(100)의 동작 상태가 정지(stop)인 미디어 메타데이터를 압축 저장하도록 미리 정의되어 있거나 또는 우선순위 값이 4 이하인 미디어 메타데이터에 대해서 압축 저장하도록 정의 되어 있다면, 도 9에 도시된 바와 같이, 미디어 컨텐츠 C와 미디어 컨텐츠 D 각각의 미디어 메타데이터에 대해서는 압축하여 저장하고, 미디어 컨텐츠 B와 미디어 컨텐츠 A 각각의 미디어 메타데이터에 대해서는 그대로 저장할 수 있다.
도 10은 일 실시예에 따른 가속기를 제어하는 방법에 대한 흐름도이다.
1010 단계에서, 가속기(200)는 적어도 하나의 미디어 재생 장치(100)의 동작 상태를 판단할 수 있다. 가속기(200)는 버퍼링을 최소화하여 고화질의 미디어 컨텐츠가 제공될 수 있도록, 미디어 재생 장치(100)의 동작 상태를 판단하여, 가속기(200)에 수신된 미디어 메타데이터를 효율적으로 관리할 수 있다.
적어도 하나의 미디어 재생 장치(100)로부터 미디어 컨텐츠 요청 신호가 수신되면, 가속기(200)는 미디어 컨텐츠에 대한 미디어 메타데이터를 미디어 서버(300)에 요청하여 전송받을 수 있다. 가속기(200)는 미디어 서버(300)로부터 수신한 미디어 메타데이터를 저장하고, 미디어 컨텐츠를 요청한 미디어 재생 장치(100)에도 미디어 컨텐츠에 대한 미디어 메타데이터를 전송할 수 있다. 이때, 가속기(200)는 새로 수신한 미디어 메타데이터와 기존에 저장되어 있던 다른 미디어 컨텐츠에 대응되는 미디어 메타데이터들을 효율적으로 관리하여야 하는데, 본 개시된 실시예에서는 미디어 재생 장치(100)의 동작 상태를 판단하여, 이를 이용할 수 있다. 가속기(200)는 적어도 하나의 미디어 재생 장치(100)가 미디어 컨텐츠를 구성하는 미디어 세그먼트들을 요청하는 패턴에 기초하여, 미디어 재생 장치(100)의 동작 상태를 판단할 수 있다.
1020 단계에서, 가속기(200)는 판단된 동작 상태에 기초하여, 가속기(200)에 저장된 미디어 메타데이터의 우선 순위를 결정할 수 있다. 가속기(200)는 미디어 재생 장치(100)의 동작 상태와 미디어 재생 장치(100)로부터 현재 요청된 미디어 세그먼트의 진척도에 기초하여, 우선순위를 결정할 수 있다.
1030 단계에서, 가속기(200)는 우선 순위에 기초하여, 적어도 하나의 미디어 재생 장치(100)에서 요청된 미디어 메타데이터를 관리할 수 있다. 가속기(200)는 우선순위에 기초하여, 미디어 메타데이터를 저장하거나, 미디어 메타데이터를 삭제하거나, 우선순위를 고려하여 미디어 메타데이터를 조회할 수 있다. 예를 들어, 가속기(200)는 적어도 하나의 미디어 재생 장치(100)에서 요청된 미디어 메타데이터를 저장할 때, 우선순위에 기초하여 미디어 메타데이터를 저장할 수 있다. 또한, 가속기(200)는 적어도 하나의 미디어 재생 장치(100)에서 요청된 미디어 메타데이터를 저장하는 스토리지(230)가 여유 공간이 부족한 상태인 경우, 새로운 미디어 메타데이터 수신 시, 후순위의 우선 순위를 갖는 미디어 메타데이터부터 삭제할 수 있다. 가속기(200)는 미디어 재생 장치(100)로부터 요청된 미디어 세그먼트에 대한 정보가 이미 삭제된 미디어 메타데이터에 포함되는 경우, 미디어 서버(300)에 삭제된 미디어 메타데이터를 재요청할 수 있다.
이하, 미디어 메타데이터를 관리하는 다양한 알고리즘에 따라, 가속기(200)에서 미디어 메타데이터를 관리하는 방식을 설명한다.
도 11은 일 실시예에 따른 가속기를 제어하는 방법에서, 우선순위에 기초하여 미디어 메타데이터를 관리하는 일 예를 나타낸 상세 흐름도이다.
1110 단계에서, 가속기(200)는 우선순위 대로 가속기(200)에 저장된 미디어 메타데이터를 정렬시킬 수 있다.
1120 단계에서, 가속기(200)는 정렬된 미디어 메타데이터 중 우선 순위가 상대적으로 낮은 소정의 개수의 미디어 메타데이터를 압축하여 저장할 수 있다. 이때, 소정의 개수는 가속기(200)의 네트워크 상황이나 하드웨어 리소스에 따라 변경될 수 있다.
도 12는 일 실시예에 따른 가속기를 제어하는 방법에서, 우선순위에 기초하여 미디어 메타데이터를 관리하는 다른 예를 나타낸 상세 흐름도이다.
1210 단계에서, 가속기(200)는 우선순위 대로 가속기(200)에 저장된 미디어 메타데이터를 정렬시킬 수 있다.
1220 단계에서, 가속기(200)는 정렬된 미디어 메타데이터 중 미디어 재생 장치(100)의 동작 상태가 정지인 미디어 메타데이터를 압축하여 저장할 수 있다. 그럼에도 불구하고, 스토리지(230)의 공간이 부족하다면, 우선순위가 낮은 미디어 메타데이터는 삭제될 수 있다.
도 13은 일 실시예에 따른 가속기를 제어하는 방법에서, 우선순위에 기초하여 미디어 메타데이터를 관리하는 또 다른 예를 나타낸 상세 흐름도이다.
1310 단계에서, 가속기(200)는 우선순위 대로 가속기(200)에 저장된 미디어 메타데이터를 정렬시킬 수 있다.
1320 단계에서, 가속기(200)는 정렬된 미디어 메타데이터 중 우선순위가 소정의 기준 이하인 미디어 메타데이터를 압축하여 저장할 수 있다. 이는 미디어 메타데이터들 간의 상대적인 우선순위가 아닌 절대적인 기준을 두고, 미디어 메타데이터를 관리하는 방식이다.
도 14는 일 실시예에 따른 가속기를 제어하는 방법에서, 우선순위에 기초하여 미디어 메타데이터를 관리하는 또 다른 예를 나타낸 상세 흐름도이다.
1410 단계에서, 가속기(200)는 우선순위 대로 가속기(200)에 저장된 미디어 메타데이터를 정렬시킬 수 있다.
1420 단계에서, 가속기(200)는 정렬된 미디어 메타데이터 중 우선순위가 높은 미디어 메타데이터부터 제 1 스토리지에 저장하고, 제 1 스토리지가 여유 공간이 부족한 상태인 때부터, 나머지 미디어 메타데이터를 압축하여 제 2 스토리지에 저장할 수 있다. 이는 가급적 미디어 메타데이터를 그대로 저장하여 버퍼링 시간을 최소화하되, 제 1 스토리지의 공간이 차면, 제 2 스토리지의 공간을 활용하는 방식이다. 이와 같은 방식으로 미디어 메타데이터가 관리되는 경우, 미디어 재생 장치(100)로부터 미디어 세그먼트의 요청이 있으면, 요청된 미디어 세그먼트에 대응되는 미디어 메타데이터를 제 1 스토리지에서 제 2 스토리지 순서로 조회하는 것이 바람직할 수 있다.
한편, 상술한 본 발명의 실시예에 따른 가속기를 제어하는 방법은 컴퓨터에서 실행될 수 있는 프로그램으로 작성가능하고, 컴퓨터로 읽을 수 있는 기록매체를 이용하여 이와 같은 프로그램을 동작시키는 범용 디지털 컴퓨터에서 구현될 수 있다. 이와 같은 컴퓨터로 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드 디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등)와 같은 저장매체를 포함한다.
이제까지 실시예들을 중심으로 살펴보았다. 개시된 실시예들이 속하는 기술 분야에서 통상의 지식을 가진 자는 개시된 실시예들이 본질적인 특성에서 벗어나지 않는 범위에서 변형된 형태로 구현될 수 있음을 이해할 수 있을 것이다. 그러므로 개시된 실시예들은 한정적인 관점이 아니라 설명적인 관점에서 고려되어야 한다. 실시예들에 따른 발명의 범위는 전술한 설명이 아니라 특허청구범위에 나타나 있으며, 그와 동등한 범위 내에 있는 모든 차이점은 발명의 범위에 포함된 것으로 해석되어야 할 것이다.
100 ... 미디어 재생 장치
200 ... 가속기
210 ... 통신 인터페이스
220 ... 프리패치 모듈
230 ... 프로세서
240 ... 스토리지
300 ... 미디어 서버

Claims (20)

  1. 가속기의 동작 방법에 있어서,
    적어도 하나의 미디어 재생 장치로부터, 미디어 컨텐츠에 대한 적어도 하나의 요청을 수신하는 단계;
    상기 미디어 컨텐츠 각각에 대응하는 미디어 메타데이터를 미디어 서버에게 요청하는 단계;
    상기 미디어 서버로부터, 상기 미디어 메타데이터를 수신하는 단계;
    상기 적어도 하나의 미디어 재생 장치의 동작 상태를 결정하는 단계; 및
    상기 동작 상태에 기초하여, 상기 수신된 미디어 메타데이터 각각에 대한 우선순위를 결정하는 단계; 를 포함하고,
    상기 우선순위를 결정하는 단계는,
    제1 미디어 메타데이터와 관련된 미디어 컨텐츠를 요청하는 미디어 재생 장치의 동작 상태가 재생 동작 상태인 경우, 상기 미디어 메타데이터 중 제1 미디어 메타데이터에 높은 우선순위를 할당하고, 상기 제1 미디어 메타데이터와 관련된 미디어 컨텐츠는 상기 미디어 재생 장치에 의해 재생되는 것인 단계; 및
    상기 결정된 우선순위에 기초하여 상기 미디어 메타데이터를 저장하는 방식을 결정하는 단계; 를 포함하고,
    상기 높은 우선순위는 정지 동작 상태인 미디어 재생 장치에 의해 요청된 미디어 컨텐츠에 대응하는 제2 미디어 메타데이터에 할당된 낮은 우선순위보다 높은 우선순위를 나타내고,
    상기 미디어 메타데이터를 저장하는 방식은, 상기 높은 우선순위가 할당된 상기 제1 미디어 메타데이터를 압축 없이 저장하는 제1 방식, 및
    상기 낮은 우선순위가 할당된 상기 제2 미디어 메타데이터를 압축하여 저장하는 제2 방식을 포함하는 방법.
  2. 제 1 항에 있어서,
    상기 적어도 하나의 미디어 재생 장치의 동작 상태는, 상기 미디어 컨텐츠의 실행 시 상기 적어도 하나의 미디어 재생 장치에 의해 미디어 세그먼트들이 요청되는 패턴에 기초하여 결정되는 방법.
  3. 제 1 항에 있어서,
    상기 미디어 메타데이터를 저장하는 방식은, 상기 우선순위에 따라 상기 미디어 메타데이터를 정렬하는 단계; 를 포함하는 방법.
  4. 제 1 항에 있어서,
    상기 미디어 메타데이터를 저장하는 방식은, 상기 우선순위에 따라 상기 미디어 메타데이터를 정렬하는 단계; 를 포함하고,
    상기 제2 미디어 메타데이터는, 상기 우선순위 중에서 미리 결정된 기준보다 같거나 작은 우선순위에 대응하는 방법.
  5. 제 1 항에 있어서,
    상기 미디어 메타데이터를 저장하는 방식은,
    상기 우선순위에 따라 상기 미디어 메타데이터를 정렬하는 단계;
    제1 스토리지에 상기 제1 미디어 메타데이터를 압축 없이 저장하는 단계; 및
    제2 스토리지에 상기 제2 미디어 메타데이터를 압축하여 저장하는 단계; 를 포함하는 방법.
  6. 제 5 항에 있어서,
    상기 제1 스토리지로부터 상기 제1 미디어 메타데이터를 요청하는 단계; 및
    이후, 상기 제2 스토리지로부터 상기 제2 미디어 메타데이터를 요청하는 단계; 를 더 포함하는 방법.
  7. 제 6 항에 있어서,
    상기 미디어 메타데이터가 저장된 스토리지에 새로운 미디어 메타데이터가 추가될 여유 공간이 충분하지 않은 경우, 상기 제2 스토리지로부터 상기 제2 미디어 메타데이터를 삭제하는 단계; 를 더 포함하는 방법.
  8. 제 7 항에 있어서,
    상기 적어도 하나의 미디어 재생 장치가 상기 삭제된 제2 미디어 메타데이터와 관련된 미디어 컨텐츠를 요청하는 경우, 상기 미디어 서버로부터 상기 삭제된 제2 미디어 메타데이터를 요청하는 단계; 를 더 포함하는 방법.
  9. 제 1 항에 있어서,
    상기 우선순위를 결정하는 단계는,
    상기 적어도 하나의 미디어 재생 장치의 동작 상태와 상기 적어도 하나의 미디어 재생 장치에 의해 현재 요청된 미디어 세그먼트의 진척도에 기초하여 상기 우선순위를 결정하는 단계; 를 포함하는 방법.
  10. 제 1 항 내지 제 9 항 중에 어느 한 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램이 기록된 컴퓨터로 판독 가능한 기록 매체.
  11. 가속기에 있어서,
    통신 인터페이스;
    메모리; 및
    적어도 하나의 미디어 재생 장치로부터, 미디어 컨텐츠에 대한 적어도 하나의 요청을 수신하고,
    상기 미디어 컨텐츠 각각에 대응하는 미디어 메타데이터를 미디어 서버에게 요청하고,
    상기 미디어 서버로부터, 상기 미디어 메타데이터를 수신하고,
    상기 적어도 하나의 미디어 재생 장치의 동작 상태를 결정하고,
    상기 동작 상태에 기초하여, 상기 수신된 미디어 메타데이터 각각에 대한 우선순위를 결정하고,
    제1 미디어 메타데이터와 관련된 미디어 컨텐츠를 요청하는 미디어 재생 장치의 동작 상태가 재생 동작 상태인 경우, 상기 미디어 메타데이터 중 제1 미디어 메타데이터에 높은 우선순위를 할당하고,
    상기 결정된 우선순위에 기초하여 상기 미디어 메타데이터를 저장하는 방식을 결정하는 프로세서; 를 포함하고,
    상기 제1 미디어 메타데이터와 관련된 미디어 컨텐츠는 상기 미디어 재생 장치에 의해 재생되고,
    상기 높은 우선순위는 정지 동작 상태인 미디어 재생 장치에 의해 요청된 미디어 컨텐츠에 대응하는 제2 미디어 메타데이터에 할당된 낮은 우선순위보다 높은 우선순위를 나타내고,
    상기 미디어 메타데이터를 저장하는 방식은, 상기 높은 우선순위가 할당된 상기 제1 미디어 메타데이터를 압축 없이 저장하는 제1 방식, 및
    상기 낮은 우선순위가 할당된 상기 제2 미디어 메타데이터를 압축하여 저장하는 제2 방식을 포함하는 가속기.
  12. 제 11 항에 있어서,
    상기 적어도 하나의 미디어 재생 장치의 동작 상태는, 상기 미디어 컨텐츠의 실행 시 상기 적어도 하나의 미디어 재생 장치에 의해 미디어 세그먼트들이 요청되는 패턴에 기초하여 결정되는 가속기.
  13. 제 11 항에 있어서,
    상기 미디어 메타데이터를 저장하는 방식으로서, 상기 프로세서는 상기 우선순위에 따라 상기 미디어 메타데이터를 정렬하는 가속기.
  14. 제 11 항에 있어서,
    상기 미디어 메타데이터를 저장하는 방식으로서, 상기 프로세서는 상기 우선순위에 따라 상기 미디어 메타데이터를 정렬하고,
    상기 제2 미디어 메타데이터는, 상기 우선순위 중에서 미리 결정된 기준보다 같거나 작은 우선순위에 대응하는 가속기.
  15. 제 11 항에 있어서,
    제1 스토리지 및 제2 스토리지로 분할되고, 상기 미디어 메타데이터를 저장하는 스토리지를 더 포함하고,
    상기 미디어 메타데이터를 저장하는 방식으로서, 상기 프로세서는 상기 우선순위에 따라 상기 미디어 메타데이터를 정렬하고,
    상기 제1 스토리지에 상기 제1 미디어 메타데이터를 압축 없이 저장하고,
    상기 제2 스토리지에 상기 제2 미디어 메타데이터를 압축하여 저장하는 가속기.
  16. 제 15 항에 있어서,
    상기 미디어 메타데이터가 저장된 스토리지에 새로운 미디어 메타데이터가 추가될 여유 공간이 충분하지 않은 경우, 상기 프로세서는 상기 제2 스토리지로부터 상기 제2 미디어 메타데이터를 삭제하는 가속기.
  17. 제 16 항에 있어서,
    상기 적어도 하나의 미디어 재생 장치가 상기 삭제된 제2 미디어 메타데이터와 관련된 미디어 컨텐츠를 요청하는 경우, 상기 프로세서는 상기 미디어 서버로부터 상기 삭제된 제2 미디어 메타데이터를 요청하는 가속기.
  18. 제 11 항에 있어서,
    상기 적어도 하나의 미디어 재생 장치의 동작 상태와 상기 적어도 하나의 미디어 재생 장치에 의해 현재 요청된 미디어 세그먼트의 진척도에 기초하여 상기 우선순위를 결정하는 가속기.
  19. 삭제
  20. 삭제
KR1020150090496A 2015-06-25 2015-06-25 가속기를 제어하는 방법 및 이를 이용한 가속기 KR102367134B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020150090496A KR102367134B1 (ko) 2015-06-25 2015-06-25 가속기를 제어하는 방법 및 이를 이용한 가속기
PCT/KR2016/006645 WO2016208971A1 (en) 2015-06-25 2016-06-23 Accelerator control method and accelerator using the same
CN201680037279.8A CN107787577B (zh) 2015-06-25 2016-06-23 操作加速器的方法、加速器和非临时计算机可读记录介质
US15/193,352 US10530827B2 (en) 2015-06-25 2016-06-27 Accelerator control method and accelerator using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150090496A KR102367134B1 (ko) 2015-06-25 2015-06-25 가속기를 제어하는 방법 및 이를 이용한 가속기

Publications (2)

Publication Number Publication Date
KR20170001070A KR20170001070A (ko) 2017-01-04
KR102367134B1 true KR102367134B1 (ko) 2022-02-24

Family

ID=57585800

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150090496A KR102367134B1 (ko) 2015-06-25 2015-06-25 가속기를 제어하는 방법 및 이를 이용한 가속기

Country Status (4)

Country Link
US (1) US10530827B2 (ko)
KR (1) KR102367134B1 (ko)
CN (1) CN107787577B (ko)
WO (1) WO2016208971A1 (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150023404A1 (en) * 2013-07-16 2015-01-22 Cisco Technology, Inc. Quality Optimization with Buffer and Horizon Constraints in Adaptive Streaming
WO2015035328A1 (en) * 2013-09-06 2015-03-12 Realnetworks, Inc. Device-centric media prioritization systems and methods
US20150143400A1 (en) * 2008-09-29 2015-05-21 The Nielsen Company (Us), Llc Methods and Apparatus for Determining the Operating State of Audio-Video Devices

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7730012B2 (en) * 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US9380096B2 (en) 2006-06-09 2016-06-28 Qualcomm Incorporated Enhanced block-request streaming system for handling low-latency streaming
JP4379471B2 (ja) 2006-12-29 2009-12-09 ソニー株式会社 再生装置および再生制御方法
KR100860076B1 (ko) 2007-02-22 2008-09-24 한국전자통신연구원 프록시 서버에서 스트리밍 서비스를 제공하기 위한 캐시교체 장치 및 그 방법
US20090249222A1 (en) * 2008-03-25 2009-10-01 Square Products Corporation System and method for simultaneous media presentation
US8156089B2 (en) 2008-12-31 2012-04-10 Apple, Inc. Real-time or near real-time streaming with compressed playlists
RU2629001C2 (ru) 2012-04-26 2017-08-24 Квэлкомм Инкорпорейтед Система улучшенной потоковой передачи блоков по запросу для обработки потоковой передачи с малой задержкой
CN103067744B (zh) * 2012-12-28 2014-03-12 中央电视台 一种可实时动态调整优先级的媒体文件整备方法
US20140281002A1 (en) * 2013-03-14 2014-09-18 General Instrument Corporation Devices, systems, and methods for managing and adjusting adaptive streaming traffic
US9444863B2 (en) * 2013-06-06 2016-09-13 Intel Corporation Manager for DASH media streaming
CA2867589A1 (en) * 2013-10-15 2015-04-15 Coho Data Inc. Systems, methods and devices for implementing data management in a distributed data storage system
US9721616B2 (en) * 2014-02-24 2017-08-01 Opanga Networks, Inc. Playback of content pre-delivered to a user device
CN105049879B (zh) * 2015-06-11 2018-02-09 西北工业大学 一种无线局域网中保障视频流业务QoE的两级资源分配方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150143400A1 (en) * 2008-09-29 2015-05-21 The Nielsen Company (Us), Llc Methods and Apparatus for Determining the Operating State of Audio-Video Devices
US20150023404A1 (en) * 2013-07-16 2015-01-22 Cisco Technology, Inc. Quality Optimization with Buffer and Horizon Constraints in Adaptive Streaming
WO2015035328A1 (en) * 2013-09-06 2015-03-12 Realnetworks, Inc. Device-centric media prioritization systems and methods

Also Published As

Publication number Publication date
US10530827B2 (en) 2020-01-07
CN107787577B (zh) 2020-10-27
US20160381100A1 (en) 2016-12-29
KR20170001070A (ko) 2017-01-04
WO2016208971A1 (en) 2016-12-29
CN107787577A (zh) 2018-03-09

Similar Documents

Publication Publication Date Title
US9781486B2 (en) RS-DVR systems and methods for unavailable bitrate signaling and edge recording
CN104580439B (zh) 一种云存储系统中使数据均匀分布的方法
EP3422702B1 (en) File generation device, file generation method, reproduction device, and reproduction method
US20160360265A1 (en) Movie package file format to persist hls onto disk
EP3422731A1 (en) File generation device, file generation method, reproduction device, and reproduction method
CN102118315A (zh) 数据流化方法、数据记录方法、数据读取方法及其系统
CN112565829B (zh) 网络调度方法、装置、系统及可读存储介质
KR102367134B1 (ko) 가속기를 제어하는 방법 및 이를 이용한 가속기
JP2016072858A (ja) メディアデータ生成方法、メディアデータ再生方法、メディアデータ生成装置、メディアデータ再生装置、コンピュータ読み取り可能な記録媒体、及びプログラム
JP6294527B2 (ja) 送信装置、送信方法、再生装置、及び再生方法
US11474948B2 (en) Adaptive retrieval of objects from remote storage
US11316945B2 (en) Vehicle multimedia system and memory management method therefor
US20230089154A1 (en) Virtual and index assembly for cloud-based video processing
US11509702B2 (en) Method and apparatus for selecting and receiving stream in distribution network-based multimedia streaming service
US20150088943A1 (en) Media-Aware File System and Method
JP2023004668A (ja) 配信装置、配信方法及び配信プログラム
JP2018098569A (ja) データ配信システム、通信端末、及びプログラム
CN113254685A (zh) 用于管理分段媒体内容的系统、方法和设备
WO2023049629A1 (en) Virtual and index assembly for cloud-based video processing
CN116939132A (zh) 一种视频存储方法,终端及存储介质
CN117981326A (zh) 用于基于云的视频处理的虚拟和索引装配

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant