KR20190062817A - Vod 컨텐츠 제공 서버 장치 및 이의 운용 방법 - Google Patents

Vod 컨텐츠 제공 서버 장치 및 이의 운용 방법 Download PDF

Info

Publication number
KR20190062817A
KR20190062817A KR1020170161382A KR20170161382A KR20190062817A KR 20190062817 A KR20190062817 A KR 20190062817A KR 1020170161382 A KR1020170161382 A KR 1020170161382A KR 20170161382 A KR20170161382 A KR 20170161382A KR 20190062817 A KR20190062817 A KR 20190062817A
Authority
KR
South Korea
Prior art keywords
vod
file
client
mpd
providing server
Prior art date
Application number
KR1020170161382A
Other languages
English (en)
Other versions
KR102123070B1 (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 KR1020170161382A priority Critical patent/KR102123070B1/ko
Priority to PCT/KR2017/013803 priority patent/WO2019107593A1/ko
Publication of KR20190062817A publication Critical patent/KR20190062817A/ko
Application granted granted Critical
Publication of KR102123070B1 publication Critical patent/KR102123070B1/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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23106Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving caching operations
    • 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
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234318Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by decomposing into objects, e.g. MPEG-4 objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/2365Multiplexing of several video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests

Abstract

본 발명은 VOD(Video on demand) 컨텐츠 제공 서버 장치 및 이의 운용 방법에 관한 것이다. 본 발명에 따른 VOD 컨텐츠 제공 서버 장치는 VOD 컨텐츠 파일을 제공하는 트랜스코더와 통신 채널을 형성하는 제1 통신 회로와, 클라이언트 단말과 통신 채널을 형성하는 제2 통신 회로와, VOD 컨텐츠 파일, VOD 컨텐츠 파일의 DASH(Dynamic Adaptive Streaming over HTTP) 처리에 따라 생성된 MPD(Media Presentation Description) 파일 및 세그먼트 파일들을 저장하는 메모리, 및 제1 통신 회로, 제2 통신 회로 및 메모리에 전기적으로 연결되는 프로세싱부를 포함한다. 프로세싱부는 클라이언트에 VOD 리스트를 제공하고, 클라이언트 요청에 따른 MPD 파일 및 세그먼트 파일들을 클라이언트에 전송하도록 설정된다.

Description

VOD 컨텐츠 제공 서버 장치 및 이의 운용 방법{Video on Demand Steaming Server device and operating method thereof}
본 발명은 컨텐츠 제공과 관련한 VOD 컨텐츠 제공 서버 장치 및 이의 운용 방법에 관한 것이다.
인터넷 네트워크의 발달에 따라 고화질의 대용량 미디어 파일의 전송이 가능해지고 있다. 하지만 아직까지도 대용량 미디어 컨텐츠를 제공하는 서비스를 위해서 인터넷망의 QoS(Quality of Service)가 보장되지 않고, 대역폭의 한계가 존재하여 소비자에게 끊김 없는 컨텐츠 제공 서비스가 어려운 상태였다.
이를 해결하기 위해 네트워크 환경에 적응적으로 서비스 할 수 있는 다양한 기술 개발이 요구되었으며, 국제 표준화 기구인 MPEG(Moving Picture Experts Group)에서 DASH(Dynamic Adaptive Streaming over HTTP)라는 이름으로 표준화가 진행되었다.
MPEG-DASH는 사용자 환경(네트워크 및 단말 성능 등)에 맞추어 미디어 컨텐츠를 사용자에게 끊김 없이 서비스하기 위한 표준으로, MPEG-DASH에서 다루는 표준화 범위는 미디어 컨텐츠의 소비, 조합 및 기타 정보를 기술하는 MPD(Media Presentation Description) 기술, 시간 기반 컨텐츠 분할 기술인 Media Segmentation 기술, 시분할된 각각의 파일을 다운로드/스트리밍 할 수 있는 액세스 위치 기술, MPEG-DASH를 지원하는 file format 기술, 디지털 미디어 소비 및 저장 형식에 따라 MPD 구성을 변경할 수 있는 Profiling 기술 등이 해당된다.
한국등록특허 제10-1764317호(2017.07.27. 등록)
한편, 종래 MPEG-DASH 기반으로 컨텐츠를 제공하더라도, 끊김 없는 컨텐츠 제공이 어려운 문제가 있었다.
이에, 본 발명은 보다 원활하고 끊김 없는 또는 상대적으로 저지연의 VOD 컨텐츠 제공이 가능한 VOD 컨텐츠 제공 서버 장치 및 이의 운용 방법을 제공함에 있다.
본 발명의 실시 예에 따르면, 본 발명의 VOD 컨텐츠 제공 서버 장치는 VOD(Video on demand) 컨텐츠 파일을 제공하는 트랜스코더와 통신 채널을 형성하는 제1 통신 회로, 클라이언트 단말과 통신 채널을 형성하는 제2 통신 회로, 상기 VOD 컨텐츠 파일, 상기 VOD 컨텐츠 파일의 DASH(Dynamic Adaptive Streaming over HTTP) 처리에 따라 생성된 MPD(Media Presentation Description) 파일 및 세그먼트 파일들을 저장하는 메모리, 상기 제1 통신 회로, 상기 제2 통신 회로 및 상기 메모리에 전기적으로 연결되는 프로세싱부를 포함하고, 상기 프로세싱부는 상기 클라이언트에 VOD 리스트를 제공하고, 상기 클라이언트 요청에 따른 MPD 파일 및 세그먼트 파일들을 상기 클라이언트에 전송하도록 설정될 수 있다.
상기 프로세싱부는 상기 트랜스코더로부터 수신한 VOD 컨텐츠 파일을 임시 디렉토리에 저장하고, 상기 VOD 컨텐츠 파일들의 DASH 처리가 완료되면 상기 임시 디렉토리에 저장된 VOD 컨텐츠 파일들을 삭제하도록 설정될 수 있다.
상기 프로세싱부는 상기 VOD 컨텐츠의 이름별로 DASH 처리한 미디어 파일 조각들을 저장하도록 설정될 수 있다.
상기 프로세싱부는 상기 트랜스코더로부터 HEVC Tiled Encoding 된 다양한 해상도의 공간 분할된 VOD 컨텐츠 파일들을 수신하도록 설정될 수 있다.
상기 VOD 컨텐츠 제공 서버 장치는 상기 MPD 파일이 저장된 MPD 캐쉬, 상기 세그먼트 파일이 저장되는 미디어 캐쉬, 상기 DASH 처리된 MPD 파일 및 상기 세그먼트 파일들이 저장되는 VOD 기본 디렉토리를 더 포함할 수 있다.
또한, 본 발명의 VOD 컨텐츠 제공 서버 장치 운용 방법은 클라이언트 단말과 통신 채널을 형성하는 단계, 상기 클라이언트에 VOD(Video on demand) 리스트를 제공하는 단계, 상기 클라이언트 요청에 따른 MPD(Media Presentation Description) 파일 및 세그먼트 파일들을 MPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP) 기반으로 상기 클라이언트에 전송하는 단계를 포함할 수 있다.
상술한 바와 같이, 본 발명의 VOD 컨텐츠 제공 서버 장치 및 이의 운용 방법에 따르면, 본 발명은 끊김 없거나 상대적으로 지연이 적은 방식의 컨텐츠 제공 서비스가 가능하도록 지원할 수 있다.
도 1은 본 발명의 실시 예에 따른 VOD 컨텐츠 제공 서비스 시스템의 한 예를 나타낸 도면이다.
도 2는 본 발명의 실시 예에 따른 VOD 컨텐츠 제공 서버 구성의 일예를 나타낸 도면이다.
도 3은 본 발명의 일 실시 예에 따른 수신부의 구성의 한 예를 나타낸 도면이다.
도 4는 본 발명의 일 실시 예에 따른 VOD 기본 디렉토리 구조의 일예를 나타낸 도면이다.
도 5는 본 발명의 일 실시 예에 따른 스트리밍 서비스부의 일예를 나타낸 도면이다.
도 6은 본 발명의 일 실시 예에 따른 LRU 캐쉬 구조의 일 예를 나타낸 도면이다.
도 7은 본 발명의 일 실시 예에 따른 서버 및 클라이언트 간의 신호 흐름의 일 예를 나타낸 도면이다.
이하, 본 발명의 다양한 실시 예가 첨부된 도면을 참조하여 기재된다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 실시 예의 다양한 변경(modification), 균등물(equivalent), 및/또는 대체물(alternative)을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다.
도 1은 본 발명의 실시 예에 따른 VOD 컨텐츠 제공 서비스 시스템의 한 예를 나타낸 도면이다.
도 1을 참조하면, 일 실시 예에 따른 VOD 컨텐츠 제공 서비스 시스템(10)은 트랜스코더(12), VOD 컨텐츠 제공 서버(13)(또는 VOD 컨텐츠 제공 서버 장치, 또는 VOD 컨텐츠 스트리밍 서버 장치), 클라이언트(14)(또는 클라이언트 단말 장치)를 포함할 수 있다.
상술한 VOD 컨텐츠 제공 서비스 시스템(10)은 트랜스코더(12)가 지정된 VOD 컨텐츠를 VOD 컨텐츠 제공 서버(13)에 전달하고, VOD 컨텐츠 제공 서버(13)는 수신된 VOD 컨텐츠에 대한 DASHing을 수행하고, 클라이언트(14) 요청에 따라 지정된 VOD 컨텐츠를 클라이언트(14)에 제공할 수 있다. 이 동작에서 VOD 컨텐츠 제공 서버(13)는 VOD 컨텐츠를 스트리밍 형태로 클라이언트(14)에 제공할 수 있다.
트랜스코더(12)는 지정된 정책 및 룰에 따라 VOD 미디어 파일을 동일한 해상도의 복수의 공간들로 분할하거나 또는 서로 다른 해상도의 복수의 공간들로 분할하거나 또는 지정된 시간 단위로 분할할 수 있다. 분할된 VOD 미디어 파일 조각들 또는 데이터 청크(예: HEVC(high efficiency video coding) 타일드 인코딩된 데이터 청크)들은 VOD 컨텐츠 제공 서버(13)에 전달될 수 있다.
VOD 컨텐츠 제공 서버(13)는 수신된 미디어 파일 조각들(또는 미디어 데이터 청크들)에 대한 MEPG-DASHing을 수행하고, 클라이언트(14) 요청에 대응하여 지정된 VOD 미디어 파일 조각들을 클라이언트(14)에 제공할 수 있다. DASH(Dynamic Adaptive Streaming over HTTP) 처리(또는 Dashing)된 컨텐츠는 HTTP를 기반으로 하는 세그먼트의 시퀀스로 분할될 수 있다.
상술한 바와 같이, VOD 컨텐츠 제공 서비스 시스템(10)은 지정된 정책 또는 룰에 따라 분할된 미디어 파일 조각들(또는 데이터 청크들)을 기반으로 MPEG-DASH를 통한 데이터 전송을 처리함으로써, 데이터 전송의 부하를 저감하여 저지연 VOD 컨텐츠 제공 서비스 또는 끊김 없는 VOD 컨텐츠 제공 서비스를 가능하도록 지원할 수 있다.
예를 들면, VOD 컨텐츠 제공 서비스 시스템(10)은 실시간으로 인코딩되어 수신되는 영상을 Dashing하여 세그먼테이션 된 미디어 파일 조각들(MP4 Transport Segments(.m4s))과 MPD(Media Presentation Description) 파일을 생성할 수 있다.
트랜스코더(12)는 특정 VOD 컨텐츠를 타일드 인코딩(Tiled Encoding(HEVC)) 또는 Encoding(HEVC) 하여 VOD 컨텐츠 제공 서버(13)로 전송할 수 있다. Tiled Encoding 동작 수행 시, 트랜스코더(12)는 VOD 컨텐츠 제공 서버(13)에서 필요한 Tiled 정보(MetaInfo)를 작성하고, 작성된 Tiled 정보(MetaInfo)를 미디어 파일 조각들 전송 시 함께 VOD 컨텐츠 제공 서버(13)에 전송할 수 있다. 트랜스코더(12)는 고품질 영상에 대해 실시간으로 또는 VOD Name별로 HEVC Tiled Encoding 을 수행할 수 있다. 이 동작에서 트랜스코더(12)는 하나의 영상을 특정 시간 단위로 분할하고, 분할된 미디어 파일 조각들에 대해 순차적으로 HEVC Tiled Encoding을 수행하여 VOD 컨텐츠 제공 서버(13)에 전송할 수 있다. 또는, 트랜스코더(12)는 하나의 영상을 일정 크기(또는 공간) 단위로 분할하고, 분할된 미디어 파일 조각들에 대하여 순차적으로 HEVC Tiled Encoding을 수행하여 VOD 컨텐츠 제공 서버(13)에 전송할 수 있다. 트랜스코더(12)가 VOD 컨텐츠 제공 서버(13)에 전송하는 미디어 파일 조각들은 예컨대, HQ(8K 급 이상의 HEVC Tiled Encoding된 고품질 영상), MQ(2K 또는 4K 급 이상의 HEVC Tiled Encoding된 중품질 영상), FullMQ(2K 또는 4K급의 HEVC Encoding된 중품질 영상)을 포함할 수 있다. MetaInfo(또는 Tiled 정보)는 상술한 HQ, MQ 파일에 대한 Meta 정보(Tile, Bitrate, FPS, bandwidth 등)를 포함할 수 있다.
VOD 컨텐츠 제공 서버(13)는 트랜스코더(12)로부터 수신 받은 미디어 파일 조각들에 대한 데싱(Dashing) 작업을 수행할 수 있다. VOD 컨텐츠 제공 서버(13)는 데싱 작업이 수행된 미디어 파일 조각들(예: 세그먼트 파일들)을 클라이언트(14)요청에 따라 MPEG-DASH-SRD(Spatial Relationship Description) 기반의 VOD 스트리밍 서비스를 통해 제공할 수 있다.
클라이언트(14)는 VOD 컨텐츠 제공 서버(13)와 MPEG-DASH 기반으로 연결되고, 사용자 입력에 따라 선택된 VOD 컨텐츠를 VOD 컨텐츠 제공 서버(13)에 요청할 수 있다. 클라이언트(14)는 VOD 컨텐츠 제공 서버(13)가 제공한 미디어 파일 조각들(예: MPD 파일 및 세그먼트 파일들)을 수신하고, 수신된 미디어 파일 조각들을 출력할 수 있다.
도 2는 본 발명의 실시 예에 따른 VOD 컨텐츠 제공 서버 구성의 일예를 나타낸 도면이다.
도 2를 참조하면, 일 실시 예에 따른 VOD 컨텐츠 제공 서버(13)는 제1 통신 회로(110), 제2 통신 회로(120), 메모리(140) 및 프로세싱부(300)(예: 컨트롤러, 적어도 하나의 프로세서, 또는 적어도 하나의 프로세싱 모듈)를 포함할 수 있다.
제1 통신 회로(110)는 트랜스코더(12)와 통신할 수 있는 통신 채널을 형성할 수 있다. 제1 통신 회로(110)는 유선 통신 인터페이스 또는 무선 통신 인터페이스 중 적어도 하나를 포함할 수 있다. 제1 통신 회로(110)는 트랜스코더(12)가 전송하는 다양한 품질의 미디어 파일 조각들을 수신할 수 있다. 제1 통신 회로(110)는 트랜스코더(12)가 전송하는 다양한 품질의 미디어 파일 조각들에 대한 MetaInfo를 수신할 수 있다.
제2 통신 회로(120)는 클라이언트(14)와 통신할 수 있는 통신 채널을 형성할 수 있다. 제2 통신 회로(120)는 유선 통신 인터페이스 또는 무선 통신 인터페이스 중 적어도 하나를 포함할 수 있다. 제2 통신 회로(120)는 클라이언트(14) 접속에 따른 채널을 할당하고, 클라이언트(14)로부터 VOD 컨텐츠 요청 신호를 수신할 수 있다. 제2 통신 회로(120)는 VOD 컨텐츠 요청 신호에 대응하는 MPD 파일 및 세그먼테이션 된 파일 조각들(또는 세그먼트 파일들)을 클라이언트(14)에 제공할 수 있다.
메모리(140)는 VOD 컨텐츠 제공 서버(13) 운용에 필요한 다양한 프로그램 또는 다양한 명령어를 저장할 수 있다. 예컨대, 메모리(140)는 제1 통신 회로(110)를 기반으로 트랜스코더(12)로부터 미디어 파일 조각들(예: Tiled Encoding된 미디어 파일 조각들)을 수신하도록 설정된 적어도 하나의 명령어들, 트랜스코더(12)로부터 수신한 미디어 파일 조각들에 대한 MPD를 작성하도록 설정된 적어도 하나의 명령어들, 수신한 미디어 파일 조각들에 대한 세그먼테이션을 수행하도록 설정된 적어도 하나의 명령어들, 클라이언트(14)의 VOD 컨텐츠 요청을 수신하고 및 수신된 VOD 컨텐츠 요청에 대응하여 세그먼테이션 된 파일 조각들을 전송하도록 설정된 적어도 하나의 명령어들을 저장할 수 있다.
프로세싱부(300)는 VOD 컨텐츠 제공 서버(13) 운용과 관련한 명령어의 처리 및 데이터(예: 미디어 파일 조각들 또는 데이터 청크들)의 저장 관리와 전송을 수행할 수 있다. 이와 관련하여, 프로세싱부(300)는 수신부(301) 및 스트리밍 서비스부(303)를 포함할 수 있다. 수신부(301)는 제1 통신 회로(110)를 통하여 트랜스코더(12)로부터 미디어 파일 조각들을 수신하고, 수신된 미디어 파일 조각들을 저장할 수 있다. 스트리밍 서비스부(303)는 수신부(301)가 메모리(140)에 저장한 미디어 파일 조각들과 관련한 MPD 생성 및 세그먼테이션을 수생하고, 클라이언트(14)의 VOD 컨텐츠 요청에 대응하여 지정된 MPD 파일 및 세그먼테이션 된 파일 조각들을 클라이언트(14)에 제공할 수 있다.
프로세싱부(300), 수신부(301) 및 스트리밍 서비스부(303) 중 적어도 하나는 적어도 하나의 프로세서로 구현되거나 또는 적어도 하나의 소프트웨어 모듈에 의해 구현되고 지정된 프로세서에 의해 운용될 수 있다.
도 3은 본 발명의 일 실시 예에 따른 수신부의 구성의 한 예를 나타낸 도면이다.
도 3을 참조하면, 일 실시 예에 따른 수신부(301)는 인코딩 미디어 파일 수신기(310)(EncodingMediaFileReceiver), VOD 핸들러(320)(VODHandler), 임시 디렉토리(330)(Temp_Dir), 데싱 모듈(340)을 포함하는 데이터 매니저(340) 및 VOD 기본 디렉토리(350)(VOD_BASE_DIR)를 포함할 수 있다.
인코딩 미디어 파일 수신기(310)는 트랜스코더(12)로부터 Tiled Encoding된 미디어 조각 파일 수신과 관련한 채널을 생성할 수 있다. 예컨대, 인코딩 미디어 파일 수신기(310)는 트랜스코더(12)로부터 미디어 조각 파일 수신을 위한 소켓(Socket)을 생성하고, 소켓이 트랜스코더(12)와 연결되면 VOD 핸들러 쓰레드를 호출하고, 소켓을 VOD 핸들러(320)에 전달할 수 있다.
VOD 핸들러(320)는 인코딩 미디어 파일 수신기(310)로부터 전달받은 소켓을 이용하여 트랜스코더(12)로부터 미디어 파일(예: Tile Encoding된 파일)을 수신할 수 있다. 예컨대, VOD 핸들러(320)는 트랜스코더(12)로부터 MetaInfo와, HQ, MQ, FullMQ 미디어 파일들을 수신할 수 있다. VOD 핸들러(320)는 트랜스코더(12)로부터 수신된 미디어 파일들을 임시 디렉토리(330)에 저장할 수 있다. VOD 핸들러(320)는 미디어 파일들의 수신이 완료되면, 데이터 매니저(340)의 데싱 모듈(340)을 호출할 수 있다.
데이터 매니저(340)는 VOD 핸들러(320)가 미디어 파일들을 수신하면, 요청에 따라 데싱 모듈(340)을 생성할 수 있다. 데싱 모듈(340)은 수신된 미디어 파일들에 대한 데싱 처리를 수행할 수 있다. 데이터 매니저(340)는 데싱 처리된 데이터들(예: MPD 파일 및 세그먼트 파일들)을 VOD 기본 디렉토리(350)에 저장할 수 있다.
VOD 핸들러(320)는 미디어 파일들에 대한 데싱 처리가 완료되면, 임시 디렉토리(330)에 저장된 원본 파일을 삭제할 수 있다.
임시 디렉토리(330) 및 VOD 기본 디렉토리(350)는 메모리(140)의 적어도 일부가 될 수 있다. 임시 디렉토리(330) 및 VOD 기본 디렉토리(350)는 수신된 미디어 파일들의 크기에 따라 크기가 조정될 수 있다.
도 4는 본 발명의 실시 예에 따른 데싱 파일 시스템 구조의 한 예를 나타낸 도면이다.
도 4를 참조하면, 데싱 파일 시스템 구조는 VOD 기본 디렉토리의 하부 구조로서 복수의 VOD_NAME 디렉토리가 배치될 수 있다. 각각의 VOD_NAME 디렉토리는 예컨대 하나의 미디어 파일에 대응할 수 있다. 각각의 VOD_NAME 디렉토리는 데싱 처리에 따라 MPD 파일 및 세그먼트 파일들이 저장될 수 있다.
도 5는 본 발명의 일 실시 예에 따른 VOD 컨텐츠 제공 서버의 스트리밍 서비스부 구성의 일예를 나타낸 도면이다.
도 5를 참조하면, 스트리밍 서비스부(303)는 데이터 매니저(340), VOD 기본 디렉토리(350), MPD 매니저(360), 세그먼트 매니저(370), 서브렛 커넥터(380)을 포함할 수 있다.
데이터 매니저(340)는 데싱 모듈(340) 및 데이터 로더(342)를 포함할 수 있다. 여기서, 데이터 매니저(340)의 데싱 모듈(340)은 수신부(301)의 구성으로서 동작하고, 데이터 매니저(340)의 데이터 로더(342)는 스트리밍 서비스부(303)로 동작할 수 있다. 데싱 모듈(340)은 수신된 미디어 파일 조각들에 대한 데싱 처리를 수행하고, 데싱 처리된 데이터 청크들(또는 미디어 파일 조각들)을 VOD 기본 디렉토리(350)에 저장할 수 있다. 데이터 로더(342)는 VOD 기본 디렉토리(350)에 저장된 데이터 청크들을 읽어서 MPD 매니저(360) 및 세그먼트 매니저(370)에 전달할 수 있다. VOD 기본 디렉토리(350)는 운용 과정에서 데싱된 데이터들(예: MPD 파일 및 세그먼트 파일들)을 저장하는 동안 수신부(301)의 구성으로서 동작하고, 클라이언트(14)에 데이터들을 전송하는 동안 스트리밍 서비스부(303)로서 동작할 수 있다.
MPD 매니저(360)는 서브렛 커넥터(380)의 연결 핸들러(385)(ConnectionHandler)로부터 요청 받은 MPD 데이터를 Loading하여 전달하는 역할을 수행할 수 있다. MPD 매니저(360)는 1차적으로 MPD 캐쉬(361)의 리스트에서 해당 MPD 데이터의 캐싱 여부를 확인하고, MPD 캐쉬(361)에 해당 MPD 데이터가 없을 경우, VOD 기본 디렉토리(350)에서 MPD 값을 독출하여 서브렛 커넥터(380)에 전달할 수 있다. MPD 매니저(360)는 MPD 데이터 전달 이후, 전달한 MPD를 MPD 캐쉬(361)에 추가할 수 있다. 이 동작에서, MPD 매니저(360)는 데이터 매니저(340)의 데이터 로더(342)를 호출하여 MPD 데이터를 VOD 기본 디렉토리(350)에서 독출할 수 있다. MPD 캐쉬(361)는 Key/Value 형식의 해쉬맵(HashMap)으로 구성될 수 있다. 예컨대, Key는 {vod_name}{file_separator}{mpd file name}이며, Value는 MPD 파일의 내용이며 Byte Array(byte[])가 될 수 있다. 여기서, file_separator는 windows OS 환경에서는 “\”이며, Unix 또는 Linux 환경에서는 “/”가 될 수 있다.
세그먼트 매니저(370)는 서브렛 커넥터(380)의 연결 핸들러(385)로부터 요청 받은 세그먼트 데이터(또는 세그먼트 파일)를 로딩하여 전달하는 역할을 수행할 수 있다. 이와 관련하여, 세그먼트 매니저(370)는 1차적으로 미디어 캐쉬(371)의 캐쉬 리스트에서 해당 세그먼트 데이터의 캐싱 여부를 확인하고, 해당 세그먼트 데이터가 미디어 캐쉬(371)에 없을 경우, VOD 기본 디렉토리(350)에서 세그먼트 값을 독출하여 서브렛 커넥터(380)에 전달할 수 있다. 세그먼트 매니저(370)는 세그먼트 값을 독출하여 전달한 후, 해당 세그먼트 값을 미디어 캐쉬(371)에 추가할 수 있다. 이 동작에서, 세그먼트 매니저(370)는 데이터 매니저(340)의 데이터 로더(342)를 호출하여 세그먼트 데이터를 VOD 기본 디렉토리(350)에서 독출할 수 있다. 세그먼트 캐쉬(371)는 Key/Value 형식의 해쉬맵(HashMap)으로 구성될 수 있다. Key는 {vod_name}{file_separator}{segment file name}이며, Value는 세그먼트 파일 내용이며, byte 배열로 구성될 수 있다.
서브렛 커넥터(380)는 HTTP 연결(390)을 통하여 클라이언트(14)로부터 요청(Request)을 수신하고, 요청에 대응하는 응답(Response)를 클라이언트(14)에 전달하는 역할을 수행할 수 있다. 서브렛 커넥터(380)는 수신기(383)(Receiver), 송신기(381)(Sender) 및 연결 핸들러(385)(ConnectionHandler(Thread))를 포함할 수 있다.
수신기(383) 및 송신기(381)는 HTTP 연결(390)을 통해 수신한 메시지 예컨대, HTTP Request, Response를 처리하는 모듈이며, 연결 핸들러(385)는 RequestURI에 따라 데싱 데이터를 로드하여 송신기(381)에 전달하는 역할을 수행할 수 있다.
수신기(383)는 HTTP 연결(390)을 수신하면, 연결 핸들러 쓰레드에 해당하는 연결 핸들러(385)를 생성하고, 연결 핸들러(385)에 해당 HTTP Connection Servlet을 전달할 수 있다. 수신기(383)는 HTTP Connection Servlet 전달 이후, 다음 HTTP Connection 수신을 위해 대기할 수 있다.
연결 핸들러(385)는 Request URI를 분석하여 요청한 MPD 또는 세그먼트 파일을 MPD 매니저(360) 또는 세그먼트 매니저(370)에 요청할 수 있다. 연결 핸들러(385)는 MPD 매니저(360) 또는 세그먼트 매니저(370)로부터 MPD 파일 또는 세그먼트 파일들을 획득하고, 획득된 파일을 송신기(381)에 전달할 수 있다.
송신기(381)는 연결 핸들러(385)로부터 요청(Request)에 대응하는 Response 정보와, MPD 또는 Segment 파일을 수신할 수 있다. 송신기(381)는 수신된 파일을 요청을 보낸 클라이언트(14)에 전달할 수 있다.
도 6은 본 발명의 일 실시 예에 따른 LRU(Least Recently Used) 캐쉬 구조의 한 예를 나타낸 도면이다
도 6을 참조하면, MPD 버퍼 또는 세그먼트 버퍼의 LRU 캐쉬 구조는 해쉬 맵<key:String, value:byte[]>으로 구성될 수 있다. MPD 버퍼 또는 세그먼트 버퍼에는 MPD 파일에 대응하거나 또는 세그먼트 파일에 대응하는 P1, P2, P3, P4, P5, P6가 저장될 수 있다.
버퍼에 저장된 데이터들은 예컨대, LRU 캐쉬 리스트에서 LinkedList<key:String> 구조로 배열되데, 해쉬맵에 따라 P1은 N4에, P2는 N2에, P3는 N1에, P4는 N3에, P5는 N6에, P6는 N5에 매핑될 수 있다. 매핑의 순서는 key 값 또는 value 값 등에 따라 변경될 수 있다.
도 7은 본 발명의 일 실시 예에 따른 VOD 컨텐츠 제공 서버와 클라이언트 간의 신호 흐름을 나타낸 도면이다.
도 7을 참조하면, 일 실시 예에 따른 VOD 컨텐츠 제공 서버(13) 및 클라이언트(14) 간의 신호 흐름과 관련하여, 701 단계에서, 클라이언트(14)는 VOD 컨텐츠 제공 서버(13)에 VOD List를 요청할 수 있다. 예를 들어, 클라이언트(14)는 http://{ip_address}:{dash_vod_port}/GET_VOD_LIST 메시지를 VOD 컨텐츠 제공 서버(13)에 전송할 수 있다. 이에 대응하여, VOD 컨텐츠 제공 서버(13)는 클라이언트(14)에 대응하는 VOD List를 생성하고, 703 단계에서 VOD List를 클라이언트(14)에 전달할 수 있다. 예를 들어, VOD 컨텐츠 제공 서버(13)는 {vod_name}{vod_name}…{vod_name}과 같은 VOD List를 클라이언트(14)에 전달할 수 있다.
클라이언트(14)는 705 단계에서, MPD 파일을 VOD 컨텐츠 제공 서버(13)에 요청할 수 있다. 이와 관련하여, 클라이언트(14)는 http://{ip_address}:{dash_vod_port}/{vod_name}/GET_MPD를 포함하는 메시지를 VOD 컨텐츠 제공 서버(13)에 전송할 수 있다.
VOD 컨텐츠 제공 서버(13)는 707 단계에서, 클라이언트(14)가 요청한 MPD 파일을 클라이언트(14)에 전송할 수 있다.
클라이언트(14)는 709 단계에서, VOD 컨텐츠 제공 서버(13)에 연속된 세그먼트 파일들을 요청할 수 있다. 이와 관련하여, 클라이언트(14)는 http://{ip_address}:{dash_vod_port}/vod_name/{segment_file_name}를 포함하는 메시지를 VOD 컨텐츠 제공 서버(13)에 전송할 수 있다.
VOD 컨텐츠 제공 서버(13)는 클라이언트(14)로부터 세그먼트 파일을 요청하는 메시지를 수신하면, 711 단계에서, 해당 세그먼트 파일을 클라이언트(14)에 전송할 수 있다. 클라이언트(14)는 세그먼트 파일을 수신하면, 713 단계에서, 연속된 세그먼트 파일들 중 마지막 세그먼트 파일(예: (N) Segment 파일)을 VOD 컨텐츠 제공 서버(13)에 요청할 수 있다. VOD 컨텐츠 제공 서버(13)는 715 단계에서, 대응되는 세그먼트 파일을 클라이언트(14)에 전달할 수 있다.
세그먼트 파일들의 수신이 완료되면, 클라이언트는 사용자 입력에 따라 또는 스케줄링된 프로세스에 따라 705 단계 이전으로 분기하여 이하 동작을 반복적으로 수행할 수 있다.
상술한 본 문서에 개시된 실시 예는 개시된, 기술 내용의 설명 및 이해를 위해 제시된 것이며, 본 발명의 범위를 한정하는 것은 아니다. 따라서, 본 문서의 범위는, 본 발명의 기술적 사상에 근거한 모든 변경 또는 다양한 다른 실시 예를 포함하는 것으로 해석되어야 한다.
10 : VOD 컨텐츠 제공 서비스 시스템
12 : 트랜스코더
13 : VOD 컨텐츠 제공 서버
14 : 클라이언트
110 : 제1 통신회로
120 : 제2 통신회호
140 : 메모리
300 : 프로세싱부
301 : 수신부
303 : 스트리밍 서비스부

Claims (6)

  1. VOD(Video on demand) 컨텐츠 파일을 제공하는 트랜스코더와 통신 채널을 형성하는 제1 통신 회로;
    클라이언트 단말과 통신 채널을 형성하는 제2 통신 회로;
    상기 VOD 컨텐츠 파일, 상기 VOD 컨텐츠 파일의 DASH(Dynamic Adaptive Streaming over HTTP) 처리에 따라 생성된 MPD(Media Presentation Description) 파일 및 세그먼트 파일들을 저장하는 메모리;
    상기 제1 통신 회로, 상기 제2 통신 회로 및 상기 메모리에 전기적으로 연결되는 프로세싱부;를 포함하고,
    상기 프로세싱부는
    상기 클라이언트에 VOD 리스트를 제공하고, 상기 클라이언트 요청에 따른 MPD 파일 및 세그먼트 파일들을 상기 클라이언트에 전송하도록 설정된 VOD 컨텐츠 제공 서버 장치.
  2. 제1항에 있어서,
    상기 프로세싱부는
    상기 트랜스코더로부터 수신한 VOD 컨텐츠 파일을 임시 디렉토리에 저장하고, 상기 VOD 컨텐츠 파일들의 DASH 처리가 완료되면 상기 임시 디렉토리에 저장된 VOD 컨텐츠 파일들을 삭제하도록 설정된 VOD 컨텐츠 제공 서버 장치.
  3. 제1항에 있어서,
    상기 프로세싱부는
    상기 VOD 컨텐츠의 이름별로 DASH 처리한 미디어 파일 조각들을 저장하도록 설정된 VOD 컨텐츠 제공 서버 장치.
  4. 제1항에 있어서,
    상기 프로세싱부는
    상기 트랜스코더로부터 HEVC Tiled Encoding 된 다양한 해상도의 공간 분할된 VOD 컨텐츠 파일들을 수신하도록 설정된 VOD 컨텐츠 제공 서버 장치.
  5. 제1항에 있어서,
    상기 MPD 파일이 저장된 MPD 캐쉬;
    상기 세그먼트 파일이 저장되는 미디어 캐쉬;
    상기 DASH 처리된 MPD 파일 및 상기 세그먼트 파일들이 저장되는 VOD 기본 디렉토리;
    를 더 포함하는 VOD 컨텐츠 제공 서버 장치.
  6. 클라이언트 단말과 통신 채널을 형성하는 단계;
    상기 클라이언트에 VOD(Video on demand) 리스트를 제공하는 단계;
    상기 클라이언트 요청에 따른 MPD(Media Presentation Description) 파일 및 세그먼트 파일들을 MPEG-DASH(Moving Picture Experts Group - Dynamic Adaptive Streaming over HTTP) 기반으로 상기 클라이언트에 전송하는 단계;를 포함하는 VOD 컨텐츠 제공 서버 장치 운용 방법.
KR1020170161382A 2017-11-29 2017-11-29 Vod 컨텐츠 제공 서버 장치 및 이의 운용 방법 KR102123070B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020170161382A KR102123070B1 (ko) 2017-11-29 2017-11-29 Vod 컨텐츠 제공 서버 장치 및 이의 운용 방법
PCT/KR2017/013803 WO2019107593A1 (ko) 2017-11-29 2017-11-29 Vod 컨텐츠 제공 서버 장치 및 이의 운용 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170161382A KR102123070B1 (ko) 2017-11-29 2017-11-29 Vod 컨텐츠 제공 서버 장치 및 이의 운용 방법

Publications (2)

Publication Number Publication Date
KR20190062817A true KR20190062817A (ko) 2019-06-07
KR102123070B1 KR102123070B1 (ko) 2020-06-16

Family

ID=66663956

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170161382A KR102123070B1 (ko) 2017-11-29 2017-11-29 Vod 컨텐츠 제공 서버 장치 및 이의 운용 방법

Country Status (2)

Country Link
KR (1) KR102123070B1 (ko)
WO (1) WO2019107593A1 (ko)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120076294A (ko) * 2010-09-01 2012-07-09 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
KR20140041256A (ko) * 2012-09-27 2014-04-04 배재대학교 산학협력단 Http에 기초한 동적 적응적 스트리밍 시스템
KR20150070260A (ko) * 2012-10-12 2015-06-24 캐논 가부시끼가이샤 비디오 데이터를 스트리밍하기 위한 방법 및 대응하는 장치
KR20160113270A (ko) * 2014-07-03 2016-09-28 후아웨이 테크놀러지 컴퍼니 리미티드 적응형 스트리밍을 위한 포렌식 마킹의 시그널링 및 핸들링
KR101764317B1 (ko) 2016-11-03 2017-08-02 주식회사 헤카스 스트리밍 서버, 스트리밍 시스템 및 스트리밍 방법

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10924781B2 (en) * 2014-06-27 2021-02-16 Satellite Investors, Llc Method and system for real-time transcoding of MPEG-DASH on-demand media segments while in transit from content host to dash client
EP2963894A1 (en) * 2014-07-04 2016-01-06 Thomson Licensing Method for operating a cache arranged along a transmission path between client terminals and at least one server, and corresponding cache.
US10291681B2 (en) * 2015-06-18 2019-05-14 Ericsson Ab Directory limit based system and method for storing media segments

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20120076294A (ko) * 2010-09-01 2012-07-09 한국전자통신연구원 스트리밍 컨텐츠 제공 장치 및 방법
KR20140041256A (ko) * 2012-09-27 2014-04-04 배재대학교 산학협력단 Http에 기초한 동적 적응적 스트리밍 시스템
KR20150070260A (ko) * 2012-10-12 2015-06-24 캐논 가부시끼가이샤 비디오 데이터를 스트리밍하기 위한 방법 및 대응하는 장치
KR20160113270A (ko) * 2014-07-03 2016-09-28 후아웨이 테크놀러지 컴퍼니 리미티드 적응형 스트리밍을 위한 포렌식 마킹의 시그널링 및 핸들링
KR101764317B1 (ko) 2016-11-03 2017-08-02 주식회사 헤카스 스트리밍 서버, 스트리밍 시스템 및 스트리밍 방법

Also Published As

Publication number Publication date
KR102123070B1 (ko) 2020-06-16
WO2019107593A1 (ko) 2019-06-06

Similar Documents

Publication Publication Date Title
US11647235B2 (en) Real-time and secured picture/video upload via a content delivery network
US10616301B2 (en) Request-based encoding for streaming content portions
US9015335B1 (en) Server side stream switching
KR20170012471A (ko) 개량된 스트리밍 미디어 재생
US8555324B2 (en) Video download mechanism for transferring large data
KR20160080929A (ko) 클라우드 기반의 적응형 초고화질 멀티미디어 스트리밍 서비스 장치 및 방법
US20140189064A1 (en) Method and system for adaptive video transmission
KR102030983B1 (ko) 분할 영상 기반의 라이브 스트리밍 서비스 운용 방법 및 이를 지원하는 전자 장치
US10917477B2 (en) Method and apparatus for MMT integration in CDN
US20140325023A1 (en) Size prediction in streaming enviroments
US20080115177A1 (en) Method and system for providing a file
KR102024642B1 (ko) 라이브 스트리밍 서버 장치 및 이의 운용 방법
CN108271039B (zh) 一种文件发送方法及装置
KR102123070B1 (ko) Vod 컨텐츠 제공 서버 장치 및 이의 운용 방법
US20110145440A1 (en) Method of distributed computing electronic device and system applying the method
KR102007669B1 (ko) 방송 수신기 및 이의 운용 방법
CN115349248A (zh) 利用实时上行链路流式传输框架(flus)和5g应用功能(af)的基于网络的媒体处理(nbmp)部署
CN110784775A (zh) 一种视频分片缓存方法、装置及视频点播系统
US10165033B2 (en) Live encoding for distribution of long tail media content
KR102063093B1 (ko) 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
US9288153B2 (en) Processing encoded content
US20230171441A1 (en) Method providing to a user terminal a target multimedia content available at a master server
KR102307863B1 (ko) 클라우드 스트리밍 서비스 시스템, 인코딩 영역의 축소를 이용한 이미지 클라우드 스트리밍 서비스 방법 및 이를 위한 장치
CN117336530A (zh) 图片转码方法、装置、服务器及存储介质
KR20180041785A (ko) 클라우드 컴퓨팅 기반 멀티미디어 스트리밍 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E90F Notification of reason for final refusal
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant