KR20220064283A - 방송 시스템에서 멀티미디어 콘텐츠 제공장치 및 방법 - Google Patents

방송 시스템에서 멀티미디어 콘텐츠 제공장치 및 방법 Download PDF

Info

Publication number
KR20220064283A
KR20220064283A KR1020210092222A KR20210092222A KR20220064283A KR 20220064283 A KR20220064283 A KR 20220064283A KR 1020210092222 A KR1020210092222 A KR 1020210092222A KR 20210092222 A KR20210092222 A KR 20210092222A KR 20220064283 A KR20220064283 A KR 20220064283A
Authority
KR
South Korea
Prior art keywords
media
resolution
original data
metadata
server
Prior art date
Application number
KR1020210092222A
Other languages
English (en)
Other versions
KR102577215B1 (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 주식회사 네트워크디파인즈
Publication of KR20220064283A publication Critical patent/KR20220064283A/ko
Application granted granted Critical
Publication of KR102577215B1 publication Critical patent/KR102577215B1/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • 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/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/77Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television camera
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/91Television signal processing therefor
    • H04N5/917Television signal processing therefor for bandwidth reduction
    • H04N5/919Television signal processing therefor for bandwidth reduction by dividing samples or signal segments, e.g. television lines, among a plurality of recording channels

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 개시의 다양한 실시 예는 원본 파일의 형태를 고려하여 트랜스코딩 처리를 조절하는 미디어 처리 서버 및 그 방법에 관한 것이다. 이를 위해, 미디어 처리 서버는 사용자 단말로부터 수신 모듈을 통해 수신받은 메시지에 기반하여 원본 데이터가 분할 미디어 스트림인지 미분할 미디어 스트림인지 식별하고, 상기 수신 모듈을 통해 상기 사용자 단말 또는 미디어 서버로부터 상기 원본 데이터를 수신받고, 상기 원본 데이터를 적어도 하나 이상의 소정의 해상도로 트랜스코딩 하여, 복수의 분할 미디어 스트림으로 변환하고, 상기 복수의 분할 미디어 스트림과 연관된 적어도 하나 이상의 메타데이터를 생성하여 상기 저장부에 저장하며, 상기 복수의 분할 미디어 스트림과 상기 적어도 하나 이상의 메타데이터를 송신 모듈이 미디어 서버로 전송하도록 구성할 수 있다. 그 밖의 다양한 실시예가 가능하다.

Description

방송 시스템에서 멀티미디어 콘텐츠 제공장치 및 방법{APPARATUS AND METHOD FOR PROVIDING MULTIMEDIA CONTENTS IN A BROADCASTING SYSTEM}
본 개시의 다양한 실시예들은 방송 시스템에서 복수의 해상도를 기반으로 멀티미디어 콘텐츠를 제공하는 장치 및 방법에 관한 것이다.
미디어 스트리밍 서비스는 소리, 음악, 동영상 등의 다양한 멀티미디어 데이터를 스트리밍 방식으로 제공하는 서비스를 의미한다. 스트리밍은 전송되는 데이터를 지속적이며 끊임없이 처리하고 재생할 수 있는 기술을 말한다. 보통은 파일 전체를 내려 받고 난 뒤에 멀티미디어를 재생하여 대용량의 파일의 경우 전체 파일을 내려 받는데 시간이 오래 걸릴 수 있으나, 스트리밍 기술을 이용하면, 파일이 모두 전송되기 전에 멀티미디어 재생이 가능하다.
적응형 미디어 스트리밍이란 여러 개의 작은 조각 형태로 저장된 다양한 해상도의 비디오를 미리 준비하여 사용자가 비디오를 시청할 때 네트워크 환경에 최적화된 원본(조각)으로 스트리밍을 제공하는 것을 의미한다. 적응형 미디어 스트리밍 서비스의 예로 HTTP Live Streaming (HLS), Dynamic Adaptive Streaming over HTTP (DASH) 등이 있다.
HTTP 동적 적응 스트리밍 (Dynamic Adaptive Streaming over HTTP)은 HTTP를 이용하여 사용자의 통신 상태에 맞춰 최적의 품질로 멀티미디어 콘텐츠를 전송하는 적응 스트리밍 기술로서, 멀티미디어 콘텐츠를 전송률, 비디오 해상도 같은 파라미터를 달리하여 작성한 뒤, 이를 여러 조각의 파일과 주소를 갖는 메타데이터 파일로 작성하여 서버에 저장해 두고, 클라이언트가 HTTP를 이용하여 상기 메타데이터부터 읽어서 콘텐츠 파일 조각들을 순서대로 내려 받아 끊김 없이 재생할 수 있도록 한다. 서버는 단순히 HTTP만 지원하면 되고, 클라이언트가 메타데이터를 분석하여 네트워크 상태와 단말 상태에 맞춰 최적의 성능을 내기 위한 모든 지능적인 기능을 담당하여 서버의 부담을 최소화할 수 있다.
컨텐츠 소스의 형식에 상관없이 다양한 해상도를 갖는 적응형 미디어 스트리밍 데이터를 제공할 수 있어야 한다.
본 개시는 전술한 문제점 및 단점을 해결하고, 적어도 하기에 기술된 이점을 제공하기 위해 만들어질 수 있다.
본 개시의 다양한 실시 예에 따르면, 원본 파일의 형태를 고려하여 트랜스코딩 처리를 조절하는 미디어 처리 서버 및 그 방법을 제공할 수 있다.
본 개시의 다양한 실시 예에 따르면, 콘텐츠 원본 소스가 분할 미디어 스트리밍 데이터인지 미분할 미디어 스트리밍 데이터인지 여부에 상관없이 다양한 해상도의 적응형 미디어 스트리밍을 지원하는 장치 및 방법을 제공하는데 있다.
본 개시의 다양한 실시 예에 따르면, 미디어 처리 서버가 트랜스코딩을 수행함에 있어서 사용자 단말이 제공하는 원본 소스가 분할 미디어 스트리밍 데이터인지 미분할 미디어 스트리밍 데이터인지를 고려하여, 전송 절차와 트랜스코딩 처리를 조절하는 미디어 처리 서버 장치와 그 방법을 제공하는데 있다.
본 개시의 일 실시예에 따르면 미디어 처리 서버는, 수신부와 송신부를 포함하는 통신부; 저장부; 상기 통신부 및 상기 저장부와 전기적으로 연결되는 제어부; 여기서 상기 제어부는 사용자 단말로부터 상기 수신부를 통해 수신 받은 메시지에 기반하여 원본 데이터가 분할 미디어 스트림인지 미분할 미디어 스트림인지 식별하고, 상기 수신부를 통해 상기 사용자 단말 또는 미디어 서버로부터 상기 원본 데이터를 수신 받고, 상기 원본 데이터를 적어도 하나 이상의 소정의 해상도로 트랜스코딩 하여, 복수의 분할 미디어 스트림으로 변환하고; 상기 복수의 분할 미디어 스트림과 연관된 적어도 하나 이상의 메타데이터를 생성하여 상기 저장부에 저장하고; 상기 복수의 분할 미디어 스트림과 상기 적어도 하나 이상의 메타데이터를 상기 송신부가 상기 미디어 서버로 전송하도록 구성된다.
또한, 본 개시의 일 실시예에 따르면 미디어 처리 서버가, 적응형 미디어 스트리밍을 제공하는 방법에 있어서, 원본 데이터를 제공하는 사용자 단말로부터 메시지를 수신하여, 상기 원본 데이터가 분할 미디어 스트림인지 미분할 미디어 스트림인지 식별하는 과정; 상기 원본 데이터가 분할 미디어 스트림이면, 상기 원본 데이터를 미디어 서버로부터 수신하는 과정; 상기 원본 데이터를 적어도 하나 이상의 소정의 해상도로 트랜스코딩 하는 과정; 상기 트랜스코딩 한 결과 생성된 복수의 분할 미디어 스트림과 연관된 적어도 하나 이상의 메타데이터를 해상도별로 생성하는 과정; 상기 적어도 하나 이상의 메타데이터를 저장하는 과정; 상기 원본 데이터를 제외한, 상기 복수의 분할 미디어 스트림을 상기 미디어 서버로 전송하는 과정; 상기 적어도 하나 이상의 메타데이터를 상기 미디어 서버로 전송하는 과정을 포함하되, 상기 원본 데이터가 미분할 미디어 스트림이면, 상기 원본 데이터를 사용자 단말로부터 직접 수신하는 과정; 상기 원본 데이터를 적어도 하나 이상의 소정의 해상도로 트랜스코딩 하는 과정; 상기 트랜스코딩 한 결과 생성된 복수의 분할 미디어 스트림과 연관된 적어도 하나 이상의 메타데이터를 해상도별로 생성하는 과정; 상기 적어도 하나 이상의 메타데이터를 저장하는 과정; 상기 복수의 분할 미디어 스트림을 상기 미디어 서버로 전송하는 과정; 상기 적어도 하나 이상의 메타데이터를 상기 미디어 서버로 전송하는 과정을 포함한다.
다양한 실시예에 따라서, 콘텐츠 원본 소스가 분할 미디어 스트리밍 데이터인지 미분할 미디어 스트리밍 데이터인지 여부에 상관없이 다양한 해상도의 적응형 미디어 스트리밍을 제공할 수 있다.
도 1은 본 개시의 다양한 실시예에 따라, 사용자 단말, 미디어 처리 서버, 미디어 서버, 클라이언트 플레이어 및 이들을 서로 연결하는 통신 네트워크를 포함하는 적응형 미디어 스트리밍 시스템 환경을 개략적으로 도시한 도면이다.
도 2는 본 개시의 일 실시예에 따라, 사용자 단말에서 분할 미디어 스트림을 제공하는 경우의 적응형 미디어 스트림의 흐름을 도시한다.
도 3은 본 개시의 일 실시예에 따라 사용자 단말에서 미분할 미디어 스트리밍 데이터를 제공하는 경우의 적응형 미디어 스트리밍 데이터의 흐름을 도시한다.
도 4는 본 개시의 일 실시예에 따른 미디어 처리 서버에서 동작하는 적응형 미디어 스트리밍 방법의 개략적인 흐름도이다.
도 5a와 도 5b는 본 개시의 일 실시예에 따라 사용자 단말에서 분할 미디어 스트림을 제공하고, 분할 미디어 스트림에 관련된 메타데이터를 해상도별로 미디어 서버로 송신하는 경우의 적응형 미디어 스트리밍 시스템의 메시지 시퀀스를 도시한다.
도 6a와 도 6b는 본 개시의 일 실시예에 따라 사용자 단말에서 분할 미디어 스트림을 제공하고, 해상도별 분할 미디어 스트림에 관련된 모든 메타데이터를 한번에 일괄적으로 미디어 서버로 송신하는 경우의 적응형 미디어 스트리밍 시스템의 메시지 시퀀스를 도시한다.
도 7a와 도 7b는 본 개시의 일 실시예에 따라 사용자 단말에서 미분할 미디어 스트림을 제공하고, 분할 미디어 스트림에 관련된 메타데이터를 해상도별로 미디어 서버로 송신하는 경우의 적응형 미디어 스트리밍 시스템의 메시지 시퀀스를 도시한다.
도 8a와 도 8b는 본 개시의 일 실시예에 따라 사용자 단말에서 미분할 미디어 스트림을 제공하고, 해상도별 분할 미디어 스트림에 관련된 모든 메타데이터를 한번에 일괄적으로 미디어 서버로 송신하는 경우의 적응형 미디어 스트리밍 시스템의 메시지 시퀀스를 도시한다.
도 9는 본 개시의 일 실시예에 따라 미디어 서버에서 동작하는 적응형 미디어 스트리밍 방법의 흐름도이다.
도 10은 본 개시의 일 실시예에 따른 예시적인 Manifest 파일의 구조를 도시한다.
이하 첨부된 도면을 참고하여 다양한 실시예들을 상세히 설명한다. 후술될 설명에서, 상세한 구성 및 구성 요소와 같은 특정 세부 사항은 단지 본 개시의 실시예들에 대한 전반적인 이해를 돕기 위해 제공될 것이다. 따라서, 본 명세서에 설명된 실시예들의 다양한 변경 및 수정이 본 개시의 범위 및 사상을 벗어나지 않고 이루어질 수 있음이 당업자에게 명백해야 할 것이다. 또한, 잘 알려진 기능 및 구성에 대한 설명은 명확성과 간결성을 위해 생략될 수 있으며 후술될 수신 모듈은 수신부로 지칭할 수 있고, 송신 모듈은 송신부로 지칭할 수 있다.
도 1은 본 개시의 다양한 실시예에 따라, 사용자 단말, 미디어 처리 서버, 미디어 서버, 클라이언트 플레이어 및 이들을 서로 연결하는 통신 네트워크를 포함하는 적응형 미디어 스트리밍 시스템 환경을 개략적으로 도시한 도면이다.
도 1을 참조하면, 적응형 미디어 스트리밍 시스템(100)은 사용자 단말(110), 미디어 처리 서버(120), 미디어 서버(130), 적어도 하나 이상의 클라이언트 플레이어(140a ~ 140c) 및 통신 네트워크(150)를 포함할 수 있다.
본 개시의 일 실시예에 의하면, 사용자 단말(110)은 적응형 미디어 스트리밍 시스템(100)에 콘텐츠를 제공하는 장치이다. 콘텐츠는 VOD(Video On Demand) 또는 라이브 스트리밍 중 적어도 하나 일 수 있다. 본 개시의 일 실시예에 의하면, 사용자 단말(110)은 유선 또는 무선 통신 기능을 구비한 임의의 사용자 전자 장치일 수 있다. 사용자 단말(110)은 다양한 형태의 유선 또는 무선 통신 단말일 수 있다. 예컨대 스마트 폰, 태블릿 PC, 데스크탑, 랩탑, PDA, 디지털 TV 일 수 있으며, 특정 형태로 제한되지 않는다. 본 도면에서는, 하나의 사용자 단말(110)만이 도시되어 있으나 본 개시가 이로써 제한되는 것은 아니다. 본 개시의 다른 실시예에 의하면, 적응형 미디어 스트리밍 시스템(100) 환경은 더 많은 수의 다양한 형태의 사용자 단말을 포함할 수 있다.
본 개시의 일 실시예에 의하면, 사용자 단말(110)은, 통신 네트워크(150)를 통해서, 미디어 처리 서버(120) 및 미디어 서버(130)와 통신, 즉 필요한 정보를 송수신할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 단말(110)은, 외부로부터 음성 및/또는 텍스트 입력, 이미지 및/또는 영상 입력, 터치 입력, 기타 각종 제어 입력 등 다양한 형태의 사용자 입력을 수신할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 단말(110)상에서 수신된 다양한 형태의 사용자 입력은 통신 네트워크(150)를 통해 미디어 처리 서버(120) 및/또는 미디어 서버(130)로 전달될 수 있다. 본 개시의 일 실시예에 의하면, 사용자 단말(110)은 저장된 미디어 콘텐츠를 통신 네트워크(150)를 통해 미디어 처리 서버(120)로 전송할 수 있다. 본 개시의 일 실시예에 의하면, 사용자 단말(110)은, 통신 네트워크(150)를 통하여 외부(예컨대, 미디어 처리 서버(120) 및 미디어 서버(130))로부터 전송되어 온 다양한 신호를 수신할 수 있다.
본 개시의 일 실시예에 의하면, 미디어 처리 서버(120)는 통신 네트워크(150)를 통해 사용자 단말(110)및 미디어 서버(130)와 통신할 수 있다. 본 개시의 일 실시예에 의하면, 미디어 처리 서버(120)는 통신 네트워크(150)를 통해 미디어 서버(130)로부터 복수의 분할 미디어 스트림을 수신할 수 있다. 본 개시의 일 실시예에 의하면, 미디어 처리 서버(120)는 통신 네트워크(150)를 통해 사용자 단말(110)로부터 단일의 미분할 미디어 스트림을 수신할 수 있다. 미디어 처리 서버(120)는 수신된 분할/미분할 미디어 스트림을 입력으로 하여, 적응형 스트리밍이 가능한 미디어 조각(이하 세그먼트)들로 분할하여 미디어 서버(130)에 업로드 할 수 있다.
본 개시의 일 실시예에 의하면, 미디어 서버(130)는 스토리지 서비스를 제공하는 서버로서, 통신 네트워크(150)를 통하여 사용자 단말(110)이나 미디어 처리 서버(120)로부터 수신 받은 미디어 콘텐츠를 저장할 수 있다.
본 개시의 일 실시예에 의하면, 클라이언트 플레이어(140a ~ 140c)는 미디어 서버(130)로부터 적응형 미디어 스트리밍 서비스를 제공받는 장치이다. 클라이언트 플레이어(140a ~ 140c)는 적응형 미디어 스트리밍 서비스를 통해 콘텐츠를 수신하는 동시에 상기 콘텐츠를 재생할 수 있다. 본 개시의 일 실시예에 의하면, 클라이언트 플레이어(140a ~ 140c)는 사용자 단말(110)과 마찬가지로 스마트 폰, 태블릿 PC, 데스크탑, 랩탑, PDA, 디지털 TV 등을 포함한 다양한 유선 또는 무선 통신 단말일 수 있으며, 적응형 미디어 스트리밍 시스템(100) 환경은 더 많은 수의 다양한 형태의 클라이언트 플레이어를 포함할 수 있다. 본 개시의 일 실시예에 의하면, 클라이언트 플레이어(140a ~ 140c)는 통신 네트워크(150)를 통해 미디어 서버(130)에 접속하여, 각자의 장치 타입이나 네트워크 상황(예컨대, 자신의 전송 채널)에 맞는 품질의 세그먼트를 선택하여 제공받을 수 있으며, 동일한 콘텐츠에 대해서 스트리밍 세션의 어느 시점에서 네트워크 상황에 적합한 품질의 세그먼트로 스위칭 할 수 있다.
본 개시의 일 실시예에 의하면, 통신 네트워크(150)는 임의의 유선 네트워크 및 무선 네트워크, 예컨대 TCP/IP 통신망을 포함할 수 있다. 상기 통신 네트워크(150)는 WiFi(Wireless Fidelity), LAN(Local Area Network), WAN(Wide Area Network), 인터넷 등의 네트워크를 포함할 수 있으며, 본 개시의 범위가 이에 한정되는 것은 아니다. 또한, 상기 통신 네트워크(150)는 이더넷, GSM(Global System for Mobile Communications), EDGE(Enhanced Data GSM Environment), CDMA(Code Division Multiple Access), TDMA(Time Division Multiplexing Access), 5G, LTE(Long Term Evolution), LTE-A(LTE Advance), 블루투스, VoIP, WiMAX, WiBro(Wireless Broadband) 기타 임의의 다양한 유선 또는 무선 통신 프로토콜을 이용하여 구현될 수 있다. 상기 통신 네트워크(150)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 상기 통신 네트워크(150)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 상기 통신 네트워크(150)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다.
도 2는 본 개시의 일 실시예에 따라, 사용자 단말에서 분할 미디어 스트림을 제공하는 경우의 적응형 미디어 스트림의 흐름을 도시한다.
도 2를 참조하면, 사용자 단말(210)은 내장된 적응형 스트리밍 레코더 (Adaptive Streaming Recorder) (211) 모듈을 사용하여 미디어 스트림을 녹화한다. 상기 사용자 단말(210)은 녹화된 스트림을 직접 미디어 서버(230)로 업로드한다. 이 때 적응형 스트리밍 레코더(211)는 하나의 미디어 파일을 생성하는 것이 아니라, 적응형 스트리밍이 가능한 세그먼트, 예컨대 MPEG-2 TS(Transport Stream) 또는 MPEG-4 Part 14의 형태로 업로드 할 수 있다.
도시된 바와 같이, 미디어 처리 서버(220)는 제어부(221), 통신부(222), 저장부(227)를 포함할 수 있다. 상기 통신부(222)는 다른 시스템들이나 하나 또는 복수의 장치와의 통신을 제공한다. 본 개시의 일 실시예에서 상기 통신부(222)는 수신 모듈(224)과 송신 모듈(226)을 포함할 수 있다. 상기 저장부(227)는 상기 미디어 처리 서버(220)내에 포함되어 있는 데이터베이스를 포함할 수 있고, 다른 실시 예에 의하면 상기 미디어 처리 서버(220) 외부의 데이터베이스를 포함할 수 있다.
상기 제어부(221)는 비디오 프로세스 모듈(223)과 메타데이터 핸들러 모듈(225)을 포함할 수 있다.
본 개시의 일 실시예에 의하면, 상기 사용자 단말(210)은 상기 적응형 스트리밍 레코더(211)를 사용하여 미디어 스트림 녹화를 진행하면서 1080p (pixel) 해상도를 지닌 세그먼트들(231a)을 생성할 수 있다. 상기 사용자 단말(210)은 상기 세그먼트들(231a)을 상기 미디어 서버(230)로 직접 업로드 할 수 있다. 상기 업로드가 완료되면, 상기 사용자 단말(210)이 상기 미디어 처리 서버(220)로 업로드 완료를 통보할 수 있다. 상기 사용자 단말(210)은 상기 미디어 처리 서버(220)로 상기 세그먼트들(231a)에 관련된 메타데이터 정보를 제공할 수 있다. 상기 미디어 처리 서버(220)는 상기 수신 모듈(224)을 통해 상기 미디어 서버(230)에 저장된 상기 세그먼트들(231a)을 다운로드 받을 수 있다. 상기 비디오 프로세스 모듈(223)은 다운로드 받은 상기 세그먼트들(231a)을 입력으로 하여 720p, 480p, 360p의 다양한 해상도로 트랜스코딩(transcoding)을 수행할 수 있다. 상기 비디오 프로세스 모듈(223)에서 트랜스코딩 결과 생성된 세그먼트들(231b ~ 231d)은 상기 송신 모듈(226)을 통해 상기 미디어 서버(230)로 업로드 될 수 있다. 본 개시의 일 실시예에서는 1080p, 720p, 480p, 360p의 해상도만 언급했으나, 다양한 실시예에서 상기 미디어 처리 서버(220)의 자원과 프로세서 부하를 고려하고, 클라이언트 플레이어(140a ~140c)의 선호도를 반영하여, 예측되는 해상도 버전을 선택할 수 있다.
본 개시의 일 실시예에 의하면, 상기 메타데이터 핸들러 모듈(225)은 해상도별 세그먼트에 관련한 시간 정보, 파일 이름, 파일 위치, 파일 개수 등의 정보를 담고 있는 메타데이터를 생성할 수 있다. 상기 메타데이터 핸들러 모듈(225)은 상기 메타데이터를 상기 저장부(227)에 저장하여 관리할 수 있다. 본 개시의 일 실시예에 의하면, 상기 메타데이터는 상기 송신 모듈(226)을 통해 상기 미디어 서버(230)로 업로드 될 수 있다.
도 3은 본 개시의 일 실시예에 따라 사용자 단말에서 미분할 미디어 스트리밍 데이터를 제공하는 경우의 적응형 미디어 스트리밍 데이터의 흐름을 도시한다.
도 3을 참조하면, 사용자 단말(310)은 내장된 일반 레코더(General Recorder) (311) 모듈을 사용하여 미디어 스트림을 녹화하고, 녹화가 완료된 스트림을 미디어 처리 서버(320)로 업로드 할 수 있다. 상기 일반 레코더(311)가 생성하는 미디어 파일은 단일 스트림 파일일 수 있다. 일 실시예에서 상기 생성된 미디어 파일은 상기 사용자 단말(310)에서 생성할 수 있는 최고 해상도의 파일일 수 있다. 본 개시의 일 실시예에서는 상기 미디어 파일은 1080p 해상도의 단일 스트림 파일일 수 있다. 상기 하나의 단일 스트림 파일은 상기 미디어 처리 서버(320)로 업로드 될 수 있다. 상기 미디어 처리 서버(320)의 비디오 프로세스 모듈(323)은 수신 모듈(324)을 통해 수신 받은 상기 1080p 해상도의 단일 스트림 화일을 입력으로 하여 1080p, 720p, 480p, 360p의 다양한 해상도로 트랜스코딩(transcoding)을 수행할 수 있다. 상기 비디오 프로세스 모듈(323)에서 트랜스코딩 결과 생성된 세그먼트들(331a ~ 331d)은 송신 모듈(326)을 통해 미디어 서버(330)로 업로드 될 수 있다. 본 개시의 일 실시예에 의하면, 상기 메타데이터 핸들러 모듈(325)은 해상도별 세그먼트에 관련한 시간 정보, 파일 이름, 파일 위치, 파일 개수 등의 정보를 담고 있는 메타데이터를 생성할 수 있다. 상기 메타데이터 핸들러 모듈(325)은 상기 메타데이터를 저장부(327)에 저장하여 관리할 수 있다. 본 개시의 일 실시예에 의하면, 상기 메타데이터는 상기 송신 모듈(326)을 통해 상기 미디어 서버(330)로 업로드 될 수 있다.
도 4는 본 개시의 일 실시예에 따른 미디어 처리 서버에서 동작하는 적응형 미디어 스트리밍 방법의 개략적인 흐름도이다.
도 4를 참조하면, S401에서, 미디어 처리 서버(120)는 사용자 단말(110)로부터 미디어 서버(130)에 관한 정보를 요청받을 수 있다. 예를 들면, 상기 미디어 서버(130)에 관한 정보는 상기 미디어 서버(130)의 주소, 접속키 및 접속 방법을 포함할 수 있다.
S401에서 상기 미디어 서버(130)에 관한 정보 요청 메시지는 상기 사용자 단말(110)의 레코더 타입이 적응형 스트리밍 레코더(211)인지, 일반 레코더(311)인지 식별할 수 있는 필드를 포함할 수 있다.
S403에서, 상기 미디어 처리 서버(120)는 상기 사용자 단말(110)로 상기 미디어 서버(130)에 관한 정보를 응답메시지로 송신할 수 있다.
S405에서, 상기 미디어 처리 서버(120)는 S401에서 수신한 상기 요청 메시지에 기초하여, 상기 사용자 단말(110)의 레코더 타입이 적응형 스트리밍 레코더 타입인지 여부를 판단할 수 있다. 상기 미디어 처리 서버(120)는 상기 레코더 타입이 적응형 스트리밍 레코더 타입인 경우, S407을 수행할 수 있고, 적응형 스트리밍 레코더 타입이 아닌 경우(즉, 일반 레코더 타입인 경우) S421을 수행할 수 있다.
S407에서, 상기 미디어 처리 서버(120)는 상기 사용자 단말(110)로부터 제1 해상도의 세그먼트들을 상기 미디어 서버(130)로 업로드 완료했음을 알리는 통보 메시지를 수신할 수 있다. 상기 제1 해상도의 세그먼트들에 관련한 메타데이터는 S407에서 상기 통보 메시지에 포함될 수 있다. 다양한 실시 예에 따르면, 상기 미디어 처리 서버(120)는 상기 사용자 단말(110)로부터 상기 제1 해상도의 세그먼트들에 관련한 메타데이터를 상기 통보 메시지와 상이한, 별도의 메시지로 수신할 수 있다.
S409에서, 상기 미디어 처리 서버(120)는 상기 메타데이터를 저장할 수 있다.
S411에서, 상기 미디어 처리 서버(120)는 상기 미디어 서버(130)에 접속하여 상기 사용자 단말(110)이 업로드한 상기 제 1해상도의 세그먼트들을 다운로드 받을 수 있다.
S413에서, 상기 미디어 처리 서버(120)는 S411에서 다운로드 받은 상기 제 1해상도의 세그먼트들을 입력으로 하여, 적어도 하나 이상의 대상 해상도로 트랜스코딩을 수행할 수 있다. 예를 들면, 상기 제 1해상도가 1080p 해상도인 경우, 상기 대상 해상도는 720p 해상도, 480p 해상도, 360p 해상도 중 하나일 수 있다. S413에서, 트랜스코딩 결과 생성된 세그먼트들에 관한 메타데이터가 생성될 수 있다.
S415에서, 상기 미디어 처리 서버(120)는 상기 생성된 세그먼트들과 상기 메타데이터를 상기 미디어 서버(130)로 업로드 할 수 있다.
S417에서, 상기 미디어 처리 서버(120)는 상기 메타데이터를 저장할 수 있다. 다양한 실시 예에 따르면, S417은 S415 이전에 수행될 수 있다.
S421에서, 상기 미디어 처리 서버(120)는 상기 사용자 단말(110)로부터 일반 레코더로 녹화가 완료된 단일 스트림의 미디어 파일을 수신 받을 수 있다.
S423에서, 상기 미디어 처리 서버(120)는 상기 수신한 미디어 파일을 입력으로 하여, 적어도 하나 이상의 대상 해상도로 트랜스코딩을 수행할 수 있다. 상기 미디어 처리 서버(120)는 상기 트랜스코딩을 수행하여 생성된 세그먼트들에 대한 메타데이터를 생성할 수 있다.
S425에서, 상기 미디어 처리 서버(120)는 S423에서 생성한 세그먼트들과 상기 메타데이터를 상기 미디어 서버(130)로 업로드할 수 있다.
S427에서, 상기 미디어 처리 서버(120)는 상기 메타데이터를 저장할 수 있다. 다양한 실시 예에 따르면, S427은 S425 이전에 수행될 수 있다.
도 5a와 도 5b는 본 개시의 일 실시예에 따라 사용자 단말에서 분할 미디어 스트림을 제공하고, 분할 미디어 스트림에 관련된 메타데이터를 해상도별로 미디어 서버로 송신하는 경우의 적응형 미디어 스트리밍 시스템의 메시지 시퀀스를 도시한다.
도 5a와 도 5b를 참조하면, S501에서, 사용자 단말(210)이 수신 모듈(224) (도 2에서 수신 모듈(224))로 미디어 서버(230)에 대한 정보를 요청할 수 있다. 상기 수신 모듈(224)은 상기 사용자 단말(210)로부터 상기 미디어 서버(230)에 대한 정보 요청 메시지를 수신할 수 있다.
S503에서, 송신 모듈(226) (도 2에서 송신 모듈(226))이 상기 미디어 서버(230)에 대한 정보를 상기 사용자 단말(210)로 응답할 수 있다. 상기 사용자 단말(210)은 상기 송신 모듈(226)로부터 상기 미디어 서버(230)에 대한 정보를 담은 메시지를 수신할 수 있다.
S505에서, 상기 사용자 단말(210)이 미디어 스트림을 녹화하면서 상기 미디어 서버(230)로 제1 해상도의 세그먼트들과 관련 메타데이터를 업로드 할 수 있다. (S505a ~ S505d) 상기 미디어 서버(230)는 상기 사용자 단말(210)로부터 상기 제1 해상도의 세그먼트들과 관련 메타데이터를 수신할 수 있다.
S507에서, 상기 사용자 단말(210)이 상기 수신 모듈(224)로 상기 업로드가 완료되었음을 통보하고, 상기 제1 해상도의 세그먼트들에 관련한 메타데이터를 전송해줄 수 있다. 상기 수신 모듈(224)는 상기 사용자 단말(210)로부터 상기 업로드 완료 통보 메시지와 상기 제1 해상도의 세그먼트들에 관련한 메타데이터를 수신할 수 있다.
S509에서, 상기 수신 모듈(224)은 상기 사용자 단말(210)로부터 수신 받은 상기 메타데이터를 메타데이터 핸들러 모듈(225) (도 2에서 메타데이터 핸들러 모듈(225))로 전달해 줄 수 있다. 상기 메타데이터 핸들러 모듈(225)은 상기 수신 모듈(224)로부터 상기 메타데이터를 전달받을 수 있다.
S511에서, 상기 메타데이터 핸들러 모듈(225)은 전달받은 메타데이터를 저장부(227) (도 2에서 저장부(227))에 저장하여 관리할 수 있다.
S513에서, 상기 송신 모듈(226)은 상기 미디어 서버(230)에게, S505a ~ S505d에서 상기 사용자 단말(210)이 업로드했던 상기 제1 해상도의 세그먼트들을 요청할 수 있다. 상기 미디어 서버(230)은 상기 송신 모듈(226)로부터 상기 사용자 단말(210)이 업로드했던 상기 제1 해상도의 세그먼트들을 요청하는 메시지를 수신할 수 있다.
S515에서, 상기 수신 모듈(224)은 S513의 요청에 대한 응답으로 상기 제1 해상도의 세그먼트들을 상기 미디어 서버(230)로부터 수신할 수 있다. 상기 미디어 서버(230)는 상기 수신 모듈(224)로 상기 제1 해상도의 세그먼트들을 송신할 수 있다.
S517에서, 상기 수신 모듈(224)은 상기 제1 해상도의 세그먼트들 수신이 완료되었음을 상기 비디오 프로세스 모듈(223)로 통보할 수 있다. 상기 비디오 프로세스 모듈(223)은 상기 수신 모듈(224)로부터 상기 제1 해상도의 세그먼트들 수신이 완료되었음을 통보받을 수 있다.
S519에서, 상기 비디오 프로세스 모듈(223)은 상기 제1 해상도의 세그먼트들을 입력으로 하여 제2 해상도로 트랜스코딩을 수행할 수 있다.
S519a ~ S519b에서 상기 비디오 프로세스 모듈(223)은 상기 송신 모듈(226)과 상기 메타데이터 핸들러 모듈(225)로 제2 해상도 트랜스코딩이 완료되었음을 각각 통보할 수 있다. 상기 송신 모듈(226)과 상기 메타데이터 핸들러 모듈(225)은 상기 비디오 프로세스 모듈(223)로부터 제2 해상도 트랜스코딩이 완료되었음을 통보받을 수 있다.
S519c에서, 상기 송신 모듈(226)은 상기 미디어 서버(230)로 상기 제2 해상도의 세그먼트들과 관련 메타데이터를 업로드할 수 있다. 상기 미디어 서버(230)는 상기 송신 모듈(226)로부터 상기 제2 해상도의 세그먼트들과 관련 메타데이터를 수신할 수 있다.
S519d에서, 상기 메타데이터 핸들러 모듈(225)은 상기 메타데이터를 상기 저장부(227)에 저장할 수 있다.
S521 및 S521a ~ S521d와 S523 및 S523a ~ S523d는, 상기 제1 해상도의 세그먼트들을 입력으로 각각 제3 해상도와 제4 해상도로 트랜스코딩 수행시의 메시지의 흐름으로서, 전술한 제2 해상도에서의 트랜스코딩 수행시의 메시지 흐름(S519 및 S519a ~ S519d)과 동일하다.
도 6a와 도 6b는 본 개시의 일 실시예에 따라 사용자 단말에서 분할 미디어 스트림을 제공하고, 해상도별 분할 미디어 스트림에 관련된 모든 메타데이터를 한번에 일괄적으로 미디어 서버로 송신하는 경우의 적응형 미디어 스트리밍 시스템의 메시지 시퀀스를 도시한다.
도 6a와 도 6b를 참조하면, 도 5b의 S519c, S521c, S523c처럼 하나의 대상 해상도의 트랜스코딩이 완료된 후 다음 대상 해상도의 트랜스코딩이 수행되기 전에, 송신 모듈(226) (도 2에서 송신 모듈(226))이 미디어 서버(230)로, 상기 트랜스코딩 결과 생성된 세그먼트들과 관련 메타데이터를 함께 업로드한 것과 상이하게, 도 6b의 S601c , S603c, S605c에서는 해상도별 트랜스코딩 수행 후 생성된 세그먼트들만 상기 미디어 서버(230)로 업로드할 수 있다. 즉, 상기 미디어 서버(230)는 상기 송신 모듈(226)로부터 해상도별 트랜스코딩 수행 후 생성된 세그먼트들만 수신할 수 있다.
S607에서, 상기 송신 모듈(226) (도 2에서 송신 모듈(226))은 모든 해상도의 트랜스코딩이 완료된 후, 제2 해상도의 세그먼트들 관련 메타데이터, 제3 해상도의 세그먼트들 관련 메타데이터, 제4 해상도의 세그먼트들 관련 메타데이터를 일괄적으로 상기 미디어 서버(230)로 업로드 할 수 있다. 상기 미디어 서버(230)는 상기 송신 모듈(226)로부터 제2 해상도의 세그먼트들 관련 메타데이터, 제3 해상도의 세그먼트들 관련 메타데이터, 제4 해상도의 세그먼트들 관련 메타데이터를 일괄적으로 수신할 수 있다.
도 7a와 도 7b는 본 개시의 일 실시예에 따라 사용자 단말에서 미분할 미디어 스트림을 제공하고, 분할 미디어 스트림에 관련된 메타데이터를 해상도별로 미디어 서버로 송신하는 경우의 적응형 미디어 스트리밍 시스템의 메시지 시퀀스를 도시한다.
도 7a와 도 7b를 참조하면, S701에서, 사용자 단말(310)이 수신 모듈(324) (도 3에서 수신 모듈(324))로 미디어 서버(330)에 대한 정보를 요청할 수 있다. 상기 수신 모듈(324)은 상기 사용자 단말(310)로부터 상기 미디어 서버(330)에 대한 정보를 요청하는 메시지를 수신할 수 있다.
S703에서, 송신 모듈(326) (도 3에서 송신 모듈(326))이 상기 미디어 서버(330)에 대한 정보를 상기 사용자 단말(310)로 응답할 수 있다. 상기 사용자 단말(310)은 상기 송신 모듈(326)로부터 상기 미디어 서버(330)에 대한 정보를 수신할 수 있다.
S705에서, 상기 사용자 단말(310)이 미디어 스트림을 녹화할 수 있다.
S707에서, 상기 사용자 단말(310)이 상기 수신 모듈(324)로 상기 녹화한 미분할 미디어 스트림을 업로드 할 수 있다. 상기 수신 모듈(324)은 상기 사용자 단말(310)로부터 상기 녹화한 미분할 미디어 스트림을 수신할 수 있다.
S709에서, 상기 수신 모듈(324)은 상기 사용자 단말(310)로부터 상기 미분할 미디어 스트림을 다운로드 받았음을 비디오 프로세스 모듈(323) (도 3에서 비디오 프로세스 모듈(323))로 통보할 수 있다. 상기 비디오 프로세스 모듈(323)은 상기 수신 모듈(324)로부터 상기 미분할 미디어 스트림을 다운로드 받았음을 통보받을 수 있다.
S711에서, 상기 비디오 프로세스 모듈(323)은 상기 다운로드 받은 미분할 미디어 스트림을 입력으로 하여, 제1 해상도로 트랜스코딩을 수행할 수 있다.
S711a ~ S711b에서, 상기 비디오 프로세스 모듈(323)은 상기 송신 모듈(326)과 메타데이터 핸들러 모듈(325) (도 3에서 메타데이터 핸들러 모듈(325))로 제1 해상도 트랜스코딩이 완료되었음을 각각 통보할 수 있다. 상기 송신 모듈(326)과 상기 메타데이터 핸들러 모듈(325)는 상기 비디오 프로세스 모듈(323)로부터 제1 해상도 트랜스코딩이 완료되었음을 통보받을 수 있다.
S711c에서, 상기 송신 모듈(326)은 상기 미디어 서버(330)로 상기 제1 해상도의 세그먼트들과 관련 메타데이터를 업로드할 수 있다. 상기 미디어 서버(330)는 상기 송신 모듈(326)로부터 상기 제1 해상도의 세그먼트들과 관련 메타데이터를 수신할 수 있다.
S711d에서, 상기 메타데이터 핸들러 모듈(325)은 상기 메타데이터를 저장부(327) (도 3에서 저장부(327))에 저장할 수 있다.
S713 및 S713a ~ S713d와 S715 및 S715a ~ S715d와 S717 및 S717a ~ S717d는, 상기 미분할 미디어 스트림을 입력으로 각각 제2 해상도, 제3 해상도, 제4 해상도로 트랜스코딩 수행시의 메시지의 흐름으로서, 전술한 제1 해상도로 트랜스코딩 수행시의 메시지 흐름(S711 및 S711a ~ S711d)과 동일하다.
도 8a와 도 8b는 본 개시의 일 실시예에 따라 사용자 단말에서 미분할 미디어 스트림을 제공하고, 해상도별 분할 미디어 스트림에 관련된 모든 메타데이터를 한번에 일괄적으로 미디어 서버로 송신하는 경우의 적응형 미디어 스트리밍 시스템의 메시지 시퀀스를 도시한다.
도 8a와 도 8b를 참조하면, 도 7a의 S711c, 도 7b의 S713c, S715c, S717c처럼, 하나의 대상 해상도의 트랜스코딩이 완료된 후 다음 대상 해상도의 트랜스코딩이 수행되기 전에, 송신 모듈(326) (도 3에서 송신 모듈(326))이 미디어 서버(330)로, 상기 트랜스코딩 결과 생성된 세그먼트들과 관련 메타데이터를 함께 업로드한 것과 상이하게, 도 8a의 S801c, 도 8b의 S803c, S805c, S807c에서는 해상도별 트랜스코딩 수행 후 생성된 세그먼트들만 미디어 서버(330)로 업로드할 수 있다. 즉, 상기 미디어 서버(330)는 상기 송신 모듈(326)로부터 해상도별 트랜스코딩 수행 후 생성된 세그먼트들만 수신할 수 있다.
S809에서, 상기 송신 모듈(326)은 모든 해상도의 트랜스코딩이 완료된 후, 제1 해상도의 세그먼트들 관련 메타데이터, 제2 해상도의 세그먼트들 관련 메타데이터, 제3 해상도의 세그먼트들 관련 메타데이터, 제4 해상도의 세그먼트들 관련 메타데이터를 일괄적으로 상기 미디어 서버(330)로 업로드 할 수 있다. 상기 미디어 서버(330)는 상기 송신 모듈(326)로부터 제1 해상도의 세그먼트들 관련 메타데이터, 제2 해상도의 세그먼트들 관련 메타데이터, 제3 해상도의 세그먼트들 관련 메타데이터, 제4 해상도의 세그먼트들 관련 메타데이터를 일괄적으로 수신할 수 있다.
도 9는 본 개시의 일 실시예에 따라 미디어 서버에서 동작하는 적응형 미디어 스트리밍 방법의 흐름도이다.
도 9를 참조하면, S901에서, 미디어 서버(130)가 사용자 단말(110)로부터 직접 원본 해상도의 스트리밍을 수신하는 경우, S903을 수행할 수 있고, 상기 사용자 단말(110)로부터 직접 미디어 스트림을 수신하지 않은 경우, S911을 수행할 수 있다. 상기 원본 해상도의 스트리밍은 도 4의 S407에서의 제1 해상도의 세그먼트들로 간주할 수 있다.
S903에서, 상기 미디어 서버(130)는 상기 사용자 단말(110)로부터 원본 해상도의 세그먼트들에 대한 메타데이터를 수신할 수 있다.
S905에서, 상기 미디어 서버(130)는 상기 수신 받은 원본 해상도의 세그먼트들을 미디어 처리 서버(120)로 송신할 수 있다.
S907에서, 상기 미디어 서버(130)는 상기 미디어 처리 서버(120)에서 트랜스코딩이 완료된, 적어도 1개 이상의 대상 해상도의 세그먼트들을 수신할 수 있다. 예를 들어, 상기 대상 해상도는 상기 원본 해상도와는 상이한 해상도 중 하나일 수 있다.
S909에서, 상기 미디어 서버(130)는 상기 미디어 처리 서버(120)에서 상기 세그먼트들 관련 메타데이터를 수신할 수 있다.
S911에서, 상기 미디어 서버(130)는 상기 미디어 처리 서버(120)에서 상기 원본 해상도로 트랜스코딩 수행 후 생성된 세그먼트들을 수신 받을 수 있다.
S913에서, 상기 미디어 서버(130)는 상기 미디어 처리 서버(120)로부터 상기 세그먼트들 관련 메타데이터를 수신 받을 수 있다.
S913 이후 상기 미디어 서버(130)는 전술한 S907 ~ S909를 수행할 수 있다.
도 10은 본 개시의 일 실시예에 따른 예시적인 Manifest 파일의 구조를 도시한다.
도 10을 참조하면, 여러 해상도를 지원하기 위한 메타데이터(예컨대 m3u8파일)의 구조(1000)는 MyVideoMain.m3u8(1010)을 포함할 수 있다. 상기 MyVieoMain.m3u8(1010)은 클라이언트 플레이어(140a ~ 140c)의 장치 타입이나 네트워크 상황에 따라 어떤 해상도를 지원할지를 기술하고 있는 마스터 플레이리스트(Master Playlist)에 해당한다. 예컨대 상기 MyVideoMain.m3u8(1010)은 상기 클라이언트 플레이어(140a ~ 140c)의 가용 네트워크 대역폭이 상대적으로 높은 경우, 높은 해상도의 메타데이터인 Hi.m3u8(1015)에 기술된 세그먼트 파일을 다운로드 하도록 가이드 해주고, 네트워크 대역폭이 상대적으로 낮은 경우, 낮은 해상도의 메타데이터인 Low.m3u8(1011)에 기술된 세그먼트 파일을 다운로드 하도록 가이드 해준다. 해상도별 메타데이터인 상기 Low.m3u8(1011) 와 Mid.m3u8(1013)및 상기 Hi.m3u8(1015)에는 순차적으로 어떤 세그먼트를 다운로드 받아야 하는지, 세그먼트의 시간 정보, 세그먼트의 위치 정보 등이 기술되어 있다. 상기 클라이언트 플레이어(140a ~ 140c)는 각자의 장치 타입이나 네트워크 상황에 맞는 품질의 세그먼트를 선택하여 제공받을 수 있으며, 동일한 콘텐츠에 대해서 스트리밍 세션의 어느 시점에서 네트워크 상황에 적합한 품질의 세그먼트로 스위칭 할 수 있다.
본 개시 내용이 특정 실시 양태를 참조하여 특히 도시되고 설명되었지만, 첨부된 청구범위 및 그 균등물에 의해 정의된 바와 같이 개시 내용의 사상 및 범위를 벗어나지 않고 형태 및 세부 사항에 있어서 다양한 변형이 이루어질 수 있다는 것이 당업자에 의해 이해될 것이다.
본 문서에 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치(예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나", "A 또는 B 중 적어도 하나", "A, B 또는 C", "A, B 및 C 중 적어도 하나", 및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서의 다양한 실시예들에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로와 같은 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시 예들은 기기(machine)(예: 전자 장치(101)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(136) 또는 외장 메모리(138))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(140))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(101))의 프로세서(예: 프로세서(120))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장 매체는, 비 일시적(non-transitory) 저장 매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장 매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장 매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일 실시 예에 따르면, 본 문서에 개시된 다양한 실시 예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory(CD-ROM))의 형태로 배포되거나, 또는 애플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두 개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 애플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시 예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있으며, 복수의 개체 중 일부는 다른 구성요소에 분리 배치될 수도 있다. 다양한 실시 예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시 예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (8)

  1. 미디어 처리 서버에 있어서,
    수신부와 송신부를 포함하는 통신부;
    저장부; 및
    상기 통신부 및 상기 저장부와 전기적으로 연결되는 제어부를 포함하며,
    여기서 상기 제어부는,
    사용자 단말로부터 상기 수신부를 통해 수신받은 메시지에 기반하여 원본 데이터가 분할 미디어 스트림인지 미분할 미디어 스트림인지 식별하고,
    상기 수신부를 통해 상기 사용자 단말 또는 미디어 서버로부터 상기 원본 데이터를 수신받고,
    상기 원본 데이터를 적어도 하나 이상의 소정의 해상도로 트랜스코딩 하여, 복수의 분할 미디어 스트림으로 변환하고,
    상기 복수의 분할 미디어 스트림과 연관된 적어도 하나 이상의 메타데이터를 생성하여 상기 저장부에 저장하며,
    상기 복수의 분할 미디어 스트림과 상기 적어도 하나 이상의 메타데이터를 상기 송신부가 상기 미디어 서버로 전송하도록 구성되는, 미디어 처리 서버.
  2. 제1항에 있어서,
    상기 소정의 해상도는, 상기 원본 데이터가 제1 해상도를 갖는 분할 미디어 스트림인 경우, 상기 제1 해상도와 상이한 해상도 중 하나에 해당하고,
    상기 원본 데이터가 제1 해상도를 갖는 미분할 미디어 스트림인 경우, 상기 제1 해상도와 같거나 상이한 해상도 중 하나에 해당하는, 미디어 처리 서버.
  3. 제1항에서,
    상기 제어부는 상기 수신부가 상기 원본 데이터를 상기 미디어 서버로부터 수신한 경우, 상기 원본 데이터에 연관된 메타데이터를 상기 사용자 단말로부터 수신받도록 하는, 미디어 처리 서버.
  4. 제1항에 있어서,
    상기 제어부는 상기 송신부가 상기 사용자 단말로 상기 미디어 서버에 대한 정보를 전송해주도록 하는, 미디어 처리 서버.
  5. 미디어 처리 서버가, 적응형 미디어 스트리밍을 제공하는 방법에 있어서,
    원본 데이터를 제공하는 사용자 단말로부터 메시지를 수신하여,
    상기 원본 데이터가 분할 미디어 스트림인지 미분할 미디어 스트림인지 식별하는 과정;
    상기 원본 데이터가 분할 미디어 스트림이면,
    상기 원본 데이터를 미디어 서버로부터 수신하는 과정;
    상기 원본 데이터를 적어도 하나 이상의 소정의 해상도로 트랜스코딩 하는 과정;
    상기 트랜스코딩 한 결과 생성된 복수의 분할 미디어 스트림과 연관된 적어도 하나 이상의 메타데이터를 해상도별로 생성하는 과정;
    상기 적어도 하나 이상의 메타데이터를 저장하는 과정;
    상기 원본 데이터를 제외한, 상기 복수의 분할 미디어 스트림을 상기 미디어 서버로 전송하는 과정;
    상기 적어도 하나 이상의 메타데이터를 상기 미디어 서버로 전송하는 과정을 포함하되,
    상기 원본 데이터가 미분할 미디어 스트림이면,
    상기 원본 데이터를 사용자 단말로부터 직접 수신하는 과정;
    상기 원본 데이터를 적어도 하나 이상의 소정의 해상도로 트랜스코딩 하는 과정;
    상기 트랜스코딩 한 결과 생성된 복수의 분할 미디어 스트림과 연관된 적어도 하나 이상의 메타데이터를 해상도별로 생성하는 과정;
    상기 적어도 하나 이상의 메타데이터를 저장하는 과정;
    상기 복수의 분할 미디어 스트림을 상기 미디어 서버로 전송하는 과정;
    상기 적어도 하나 이상의 메타데이터를 상기 미디어 서버로 전송하는 과정을 포함하는, 방법.
  6. 제5항에 있어서,
    상기 소정의 해상도는
    상기 원본 데이터가 제1 해상도를 갖는 분할 미디어 스트림인 경우, 상기 제1 해상도와 상이한 해상도 중 하나에 해당하고,
    상기 원본 데이터가 제1 해상도를 갖는 미분할 미디어 스트림인 경우, 상기 제1 해상도와 같거나 상이한 해상도 중 하나에 해당하는, 방법.
  7. 제5항에 있어서,
    상기 원본 데이터가 분할 미디어 스트림인 경우, 상기 원본 데이터에 연관된 메타데이터를 상기 사용자 단말로부터 수신 받는 과정을 더 포함하는 방법.
  8. 제5항에 있어서,
    상기 미디어 처리 서버는 상기 사용자 단말로 상기 미디어 서버에 대한 정보를 전송해주는 과정을 더 포함하는 방법.
KR1020210092222A 2020-11-11 2021-07-14 방송 시스템에서 멀티미디어 콘텐츠 제공장치 및 방법 KR102577215B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020200150686 2020-11-11
KR20200150686 2020-11-11

Publications (2)

Publication Number Publication Date
KR20220064283A true KR20220064283A (ko) 2022-05-18
KR102577215B1 KR102577215B1 (ko) 2023-09-18

Family

ID=81800460

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210092222A KR102577215B1 (ko) 2020-11-11 2021-07-14 방송 시스템에서 멀티미디어 콘텐츠 제공장치 및 방법

Country Status (1)

Country Link
KR (1) KR102577215B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489803B1 (ko) * 2014-08-07 2015-02-09 (주)스트림비젼 미디어 파일 분산 트랜스코딩 방법
KR20160096918A (ko) * 2015-02-06 2016-08-17 주식회사 케이티 복수의 영상 스트림의 재생 제어 방법, 사용자 단말 및 복수의 영상 스트림 제공 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101489803B1 (ko) * 2014-08-07 2015-02-09 (주)스트림비젼 미디어 파일 분산 트랜스코딩 방법
KR20160096918A (ko) * 2015-02-06 2016-08-17 주식회사 케이티 복수의 영상 스트림의 재생 제어 방법, 사용자 단말 및 복수의 영상 스트림 제공 방법

Also Published As

Publication number Publication date
KR102577215B1 (ko) 2023-09-18

Similar Documents

Publication Publication Date Title
JP2020519094A (ja) ビデオ再生方法、デバイス、およびシステム
US20170245022A1 (en) Splicing method and splicing system for http live streaming media fragment
US10904642B2 (en) Methods and apparatus for updating media presentation data
US20140040496A1 (en) On-demand http stream generation
EP2201723B1 (en) Method of transcoding content, transcoder unit, and UPnP network system
US20140036098A1 (en) Terminal Apparatus And Video-Data Distribution Method
KR20150080278A (ko) 광고 컨텐츠 및 비디오 컨텐츠를 제공하는 장치 및 방법
CN106464943B (zh) 信息处理装置和方法
CN110784750A (zh) 视频播放方法、装置及计算机设备
CN105049931B (zh) 对移动终端中非支持格式的视频进行转换的方法及系统
WO2016174960A1 (ja) 受信装置、送信装置、およびデータ処理方法
EP3941070A1 (en) Resource transmission method and computer device
US11943515B2 (en) Methods, systems, and media for presenting media content
US20150135248A1 (en) Image pickup apparatus, image pickup system, control method for image pickup apparatus, and recording medium
KR102335495B1 (ko) 클라이언트 단말기들과 적어도 하나의 서버 사이의 송신 경로를 따라 배열된 캐시를 작동시키기 위한 방법, 및 대응하는 캐시
JP6193569B2 (ja) 受信装置、受信方法、及びプログラム、撮像装置、撮像方法、及びプログラム、送信装置、送信方法、及びプログラム
KR102577215B1 (ko) 방송 시스템에서 멀티미디어 콘텐츠 제공장치 및 방법
JP2017518703A (ja) クライアント端末と少なくとも1つのサーバとの間の伝送経路に沿って配置されたネットワーク装置を動作させる方法およびそれに対応するネットワーク装置
JP5869109B2 (ja) 中継装置
WO2016174959A1 (ja) 受信装置、送信装置、およびデータ処理方法
JP6400163B2 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
JP6885351B2 (ja) 品質予測装置、品質予測方法及びプログラム
US11303940B2 (en) Transmission apparatus, transmission method, and non-transitory computer-readable storage medium
KR20220167469A (ko) 적응형 미디어 스트리밍 환경에서 비디오 편집 속도 향상 방법 및 장치
JP2005143021A (ja) コンテンツ配信システム、コンテンツ中継装置、およびコンテンツ中継プログラム

Legal Events

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