KR20230047719A - 컨텐츠 풀 기반 방송 시스템 및 그 방법 - Google Patents

컨텐츠 풀 기반 방송 시스템 및 그 방법 Download PDF

Info

Publication number
KR20230047719A
KR20230047719A KR1020210130873A KR20210130873A KR20230047719A KR 20230047719 A KR20230047719 A KR 20230047719A KR 1020210130873 A KR1020210130873 A KR 1020210130873A KR 20210130873 A KR20210130873 A KR 20210130873A KR 20230047719 A KR20230047719 A KR 20230047719A
Authority
KR
South Korea
Prior art keywords
content
manifest
broadcasting
filler
program
Prior art date
Application number
KR1020210130873A
Other languages
English (en)
Inventor
강춘운
조성길
엄정일
김영
서동원
Original Assignee
(주)뉴아이디
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by (주)뉴아이디 filed Critical (주)뉴아이디
Priority to KR1020210130873A priority Critical patent/KR20230047719A/ko
Publication of KR20230047719A publication Critical patent/KR20230047719A/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/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26233Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • 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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads

Landscapes

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

Abstract

본 발명은 컨텐츠 풀 기반 방송 시스템 및 그 방법에 관한 것으로, 다양한 컨텐츠를 HLS(HTTP Live Streaming) 포맷의 미디어 데이터로 인코딩하여 컨텐츠 풀로 관리하고, 설정된 스케줄에 따라 별도의 인코딩 없이 미디어 데이터에 대한 매니페스트를 이용하여 방송하며, 방송이 송출되지 않는 구간이 발생하거나 또는 컨텐츠에 이상이 있는 경우 필러를 이용하여 생성되는 대체 컨텐츠를 방송함으로써, 컨텐츠 풀을 기반으로 끊김 없는 무중단 방송 서비스를 제공할 수 있다.

Description

컨텐츠 풀 기반 방송 시스템 및 그 방법{Broadcasting System Based on Contents Pool And Method}
본 발명은 스트리밍 서비스를 이용하여 컨텐츠를 방송하는 컨텐츠 풀 기반 방송 시스템 및 그 방법에 관한 것이다.
최근 인터넷 클라우드 기반 서비스의 확장과, 다양한 컨텐츠에 대한 소비자의 요구에 부응하여, 온라인 플랫폼을 기반으로, 다양한 컨텐츠를 제공하는 서비스 제공자가 증가하고 있다.
이러한 서비스의 확대로, 소정 테마에 따라 제작된 비디오 컨텐츠는 물론 사용자가 제작한 비디오 컨텐츠 등 다양한 컨텐츠가 제공되고, 방송국 외에도 개인이 실시간으로 방송을 진행할 수 있으므로, 플랫폼을 기반으로 누구나 컨텐츠를 제작하여 공급할 수 있고, 소비자는 필요에 따라 선택적으로 컨텐츠를 소비할 수 있다.
온라인상의 컨텐츠는 컨텐츠를 제공하는 제공자 측과 소비자의 단말 사이의 네트워크 환경, 컨텐츠를 제공하는 제공자 측의 서버 트래픽 등에 따라 컨텐츠의 전송에 차이가 발생할 수 있다.
스트리밍의 경우 재생 전에 멀티미디어 파일 전체가 클라이언트에게 전송되는 다운로딩과 달리, 클라이언트가 소비하는 컨텐츠가 작은 조각으로 나뉘어 클라이언트에게 전송되는 프로세스로, 공중파 등을 이용한 방송뿐 아니라, 인터넷을 이용한 개인 방송에도 적용되고 있다.
대한민국 공개특허 제10-2021-0030191호에 기재된 바와 같이, 종래의 비디오 컨텐츠에 대한 스트리밍 서비스는, 비디오 컨텐츠를 제공하는 제공자 측에서 요구되는 컨텐츠를 전송환경에 맞춰 인코딩 한 후 전송하도록 구성된다.
그러나, 비디오 컨텐츠는 텍스트 또는 오디오 보다 파일의 용량이 크므로 인코딩 과정과 이를 전송하는 과정에 많은 자원이 소모된다.
사용자는 컨텐츠를 끊김 없이 재생하고자 하나, 최근 인터넷 인프라가 확대되었음에도 불구하고 일부 끊김 현상이 발생되어 소비자의 불만을 초래할 수 있다.
또한, 비디오 컨텐츠에 대한 스트리밍은 인터넷 트래픽의 대부분을 차지하고 있으며 급격히 증가하고 있으므로 보다 효율적으로 처리하고, 끊김 없이 컨텐츠를 제공하는 방안이 필요하다.
대한민국 공개특허 제10-2021-0030191호
본 발명은 상기와 같은 필요성에 의해 창출된 것으로서, 다양한 컨텐츠를 HLS(HTTP Live Streaming) 포맷의 미디어 데이터로 인코딩하여 컨텐츠 풀로 관리하고, 설정된 스케줄에 따라 별도의 인코딩 없이 송출하여 방송하는 컨텐츠 풀 기반 방송 시스템 및 그 방법을 제공하는데 그 목적이 있다.
본 발명은 복수의 청크를 컨텐츠 풀을 통해 관리하고, 청크에 이상이 있는지 확인하여 컨텐츠 풀에 저장된 필러를 이용하여 대체 컨텐츠를 생성함으로써 이상이 있는 청크를 대체하여 대체 컨텐츠가 방송되도록 하는 컨텐츠 풀 기반 방송 시스템 및 그 방법을 제공하는데 그 목적이 있다.
본 발명은 컨텐츠 간의 종료시간과 시작시간이 일치하지 않아 공백이 발생하는 경우, 필러를 이용하여 시간 공백 동안 대체 컨텐츠를 방송함으로써, 컨텐츠 풀을 기반으로 끊김 없는 무중단 방송을 송출하는 컨텐츠 풀 기반 방송 시스템 및 그 방법을 제공하는데 그 목적이 있다.
상기한 목적을 달성하기 위하여 본 발명에 따른 컨텐츠 풀 기반 방송 시스템은, 오리지널 컨텐츠를 수신하여 소정 포맷으로 인코딩하고, 미리 인코딩된 컨텐츠에 대한 매니페스트(Manifest)를 스케줄에 따라 조합하여, 컨텐츠 전송 네트워크(CDN, Content Delivery Network)를 통해 스트리밍 방식으로 방송 서비스를 제공하는 방송 서버; 상기 방송 서버에 의해 인코딩된 컨텐츠 데이터를 컨텐츠 풀로 구성하여 저장하는 컨텐츠 데이터베이스; 및 상기 방송 서버에 의해 제공되는 스트리밍 서비스를 수신하여 컨텐츠를 재생하는 클라이언트 단말; 을 포함하고, 상기 방송 서버는, 상기 컨텐츠 풀에 저장된 복수의 컨텐츠 중, 제 1 컨텐츠를 현재 프로그램으로 설정하고 상기 스케줄에 따라 제 2 컨텐츠를 다음 프로그램으로 설정하는 경우, 상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간을 비교하여 블랙아웃의 발생 여부에 따라 상기 컨텐츠 풀에 저장된 필러를 이용하여 대체 컨텐츠를 방송하는 것을 특징으로 한다.
상기 방송 서버는, 상기 제 1 컨텐츠의 종료 후, 일정 시간 경과 후 상기 제 2 컨텐츠가 시작하는 경우, 상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간 사이의 시간 공백 동안, 상기 필러를 기반으로 상기 대체 컨텐츠를 생성하여 방송하는 것을 특징으로 한다.
상기 방송 서버는, 상기 필러로부터 제 3 컨텐츠에 대한 필러 청크를 획득하여, 상기 대체 컨텐츠를 생성하는 것을 특징으로 하는 방송 시스템.
상기 방송 서버는, 상기 컨텐츠에 대응하는 상기 필러에 대한 정보가 포함된 필러 매니페스트를 상기 컨텐츠 풀로부터 획득하고, 상기 필러 매니페스트를 기반으로 상기 필러를 파싱하여 상기 대체 컨텐츠로써 필러 청크를 획득하는 것을 특징으로 한다.
상기 방송 서버는, 상기 제 1 컨텐츠에 대한 매니페스트를 기반으로 상기 제 1 컨텐츠의 상태를 확인하고, 상기 제 1 컨텐츠에 이상이 있는 경우 상기 필러를 이용하여 상기 제 1 컨텐츠에 대한 상기 대체 컨텐츠를 생성하여 방송하는 것을 특징으로 한다.
상기 방송 서버는, 제 1 컨텐츠의 메인 매니페스트에 포함된 복수의 서브 매니페스트를 확인하고, 시간의 경과에 따라 서브 매니페스트1과M 서브 매니페스트2를 순차적으로 호출하여 갱신하며, 상기 서브 매니페스트1 및 상기 서브 매니페스트2에 각각 포함되는 청크 리스트를 이용하여 상기 제 1 컨텐츠를 구성하는 각각의 청크의 상태를 확인하는 것을 특징으로 한다.
상기 컨텐츠 풀은, 복수의 컨텐츠에 대하여 제 1 컨텐츠에 대한 필러와 제 2 컨텐츠에 대한 필러를 각각 저장하는 것을 특징으로 한다.
상기 방송 서버는, HLS 포맷으로 컨텐츠를 인코딩하는 인코더; 방송 일정에 대응하여 컨텐츠에 대한 스케줄을 설정하는 스케줄부; 및 상기 스케줄을 바탕으로, 상기 인코더에 의해 미리 HLS 포맷으로 인코딩되어 컨텐츠 풀(21)에 저장되는 미디어 데이터를 송출하기 위한 컨텐츠 별 매니페스트를 호출하여 청크의 이상여부를 판단하고, 상기 필러로부터 획득되는 상기 대체 컨텐츠를 방송용 스트림으로 변환하여 송출하는 스트리밍부; 를 포함한다.
본 발명의 방송 시스템의 제어방법은, 방송 서버가, 스케줄에 따라 현재시간의 프로그램으로 제 1 컨텐츠를 설정하는 단계; 상기 스케줄에 따라 다음 프로그램으로 제 2 컨텐츠를 설정하는 단계; 상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간을 비교하는 단계; 상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간이 일치하지 않는 경우, 상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간의 차이에 따라, 컨텐츠 풀에 저장된 필러를 이용하여 대체 컨텐츠를 생성하는 단계; 및 상기 대체 컨텐츠를 방송하는 단계; 를 포함한다.
상기 비교하는 단계 이후, 상기 제 1 컨텐츠의 종료시간이 상기 제 2 컨텐츠의 시작시간 보다 늦은 경우, 상기 제 2 컨텐츠의 시작시간을 상기 제 1 컨텐츠의 종료시간으로 변경하여 방송하는 단계; 를 더 포함한다.
상기 비교하는 단계 이후, 상기 제 1 컨텐츠의 종료 후, 일정 시간 경과 후 상기 제 2 컨텐츠가 시작하는 경우, 상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간 사이의 시간 공백 동안, 상기 대체 컨텐츠를 방송하는 것을 특징으로 한다.
상기 대체 컨텐츠를 생성하는 단계는 상기 필러의 정보가 포함된 필러 매니페스트를 획득하는 단계; 상기 필러 매니페스트를 기반으로 제 3 컨텐츠에 대한 필러를 파싱하는 단계; 및 상기 제 3 컨텐츠에 대한 필러 청크를 획득하여 상기 대체 컨텐츠로 설정하는 단계; 를 더 포함한다.
상기 제 1 컨텐츠를 방송하는 중, 상기 제 1 컨텐츠에 이상이 있는 경우, 상기 필러를 바탕으로 상기 대체 컨텐츠를 생성하여 방송하는 것을 특징으로 한다.
상기 제 1 컨텐츠를 방송하는 중, 상기 제 1 컨텐츠의 메인 매니페스트를 통해 복수의 서브 매니페스트를 확인하고 상기 복수의 서브 매니페스트를 순차적으로 호출하는 단계; 각 서브 매니페스트에 포함된 청크 리스트를 기반으로 청크의 이상을 판단하는 단계; 상기 청크에 이상이 있는 경우 상기 제 1 컨텐츠에 대응하는 상기 필러를 기반으로 상기 대체 컨텐츠를 획득하는 단계; 및 상기 대체 컨텐츠를 방송 재생하는 단계; 를 더 포함한다.
본 발명에 따른 컨텐츠 풀 기반 방송 시스템 및 그 방법은, 방송 송출 시 별도의 추가 인코딩 작업 없이 컨텐츠 풀에 저장되는 컨텐츠 데이터를 스케줄에 따라 조합하여 송출함으로써, 컨텐츠를 빠르게 처리할 수 있고 그에 따라 끊김 없는 방송을 제공할 수 있다.
본 발명은 컨텐츠 스트림이 클라이언트 단말에 전달되기 전, 콘텐츠를 구성하는 청크에 대하여 가용성을 판단하고, 이상이 있는 경우 컨텐츠 풀에 저장된 필러 청크를 대체 컨텐츠로써 방송하여 방송 스트림에 이상이 발생하더라도 빠르게 대응할 수 있다.
본 발명은 컨텐츠 간의 종료시간과 시작시간이 일치하지 않아 공백이 발생하는 경우, 필러를 이용하여 시간 공백 동안 대체 컨텐츠를 방송하여 블랙아웃의 발생을 방지함으로써 끊김 없는 라이브 방송을 서비스할 수 있다.
도 1 은 본 발명의 일 실시예에 따른 컨텐츠 풀 기반 방송 시스템의 구성이 간략하게 도시된 도이다.
도 2 는 본 발명의 일 실시예에 따른 컨텐츠 풀 기반 방송 시스템의 서비스 흐름이 간략하게 도시된 도이다.
도 3 은 본 발명의 일 실시예에 따른 방송 시스템의 서버 구성이 도시된 블록도이다.
도 4 는 본 발명의 일 실시예에 따른 컨텐츠 풀을 설명하는데 참조되는 도이다.
도 5 는 본 발명의 일 실시예에 따른 컨텐츠 풀의 해상도 별 데이터를 설명하는데 참조되는 도이다.
도 6 은 본 발명의 일 실시예에 따른 서버의 컨텐츠 송출을 설명하는데 참조되는 도이다.
도 7 은 본 발명의 일실시예에 따른 방송 시스템의 제어방법이 도시된 순서도이다.
도 8 은 본 발명의 일실시예에 따른 방송 시스템의 매니페스트 및 청크 리스트를 설명하는데 참조되는 도이다.
도 9 는 본 발명의 일실시예에 따른 방송 시스템의 데이터 이상에 따른 프로그램 변경을 설명하는데 참조되는 도이다.
도 10 은 본 발명의 일실시예에 따른 방송 시스템의 시간에 따른 프로그램 변경을 설명하는데 참조되는 도이다.
도 11 은 본 발명의 일실시예에 따른 방송 시스템의 블랙아웃에 따른 프로그램 변경을 설명하는데 참조되는 도이다.
도 12 은 본 발명의 일실시예에 따른 방송 시스템의 방송에 따른 프로그램 변경방법이 도시된 순서도이다.
이하, 첨부된 도면들을 참조하여 본 발명을 설명하도록 한다.
이 과정에서 도면에 도시된 선들의 두께나 구성요소의 크기 등은 설명의 명료성과 편의상 과장되게 도시되어 있을 수 있다. 또한, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례에 따라 달라질 수 있다. 그러므로, 이러한 용어들에 대한 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.
도 1 은 본 발명의 일 실시예에 따른 컨텐츠 풀 기반 방송 시스템의 구성이 간략하게 도시된 도이다.
도 1에 도시된 바와 같이, 본 발명의 방송 시스템은, 컨텐츠 제공서버(30), 방송 서버(10), 컨텐츠 데이터베이스(20), 컨텐츠 전송 네트워크(CDN, Content Delivery Network)(50), 클라이언트 단말(90)(91 내지 93)을 포함한다.
컨텐츠 제공서버(30)는 이미지, 오디오, 비디오 등의 다양한 형태의 오리지널 컨텐츠 데이터를 제공한다. 컨텐츠 제공서버(30)는 오리지널 컨텐츠 데이터를 저장하고 관리하는 데이터베이스(DB)(미도시)를 더 포함한다.
방송 서버(10)는 컨텐츠 제공서버(30)로부터 제공되는 오리지널 컨텐츠 데이터를 복수의 미디어 데이터로 분할하여 인코딩하고, 컨텐츠 데이터베이스(20)에 저장한다.
방송 서버(10)는 컨텐츠 데이터베이스(20)에 저장되는 인코딩된 미디어 데이터를, 지정된 스케줄에 맞춰 조합하여 방송용 스트림으로 변환한 후 컨텐츠 전송 네트워크(CDN)(50)를 통해 방송으로 송출한다. 방송 서버(10)는 복수의 서버로 구성되어 데이터를 분산 처리할 수 있다.
컨텐츠 데이터베이스(20)는 컨텐츠 별로 인코딩된 복수의 미디어 데이터가 저장되면, 미디어 데이터와 그에 대한 매니페스트를 포함하는 컨텐츠 풀(contents pool)(21)을 형성한다.
컨텐츠 데이터베이스(20)는 HLS(HTTP Live Streaming) 형태로 인코딩된 미디어 데이터를 해상도, 코덱, 대역폭별로 저장한다.
컨텐츠 전송 네트워크(CDN)(50)는 방송 서버(10)로부터 제공되는 컨텐츠의 스트리밍 데이터를 분산된 서비스 자원을 이용하여, 복수의 클라이언트 단말(91 내지 93)로 전송한다.
컨텐츠 전송 네트워크(CDN)(50)는 클라이언트 단말(90)에 인접한 서비스 자원을 통해 각 클라이언트 단말(90)로 스트리밍 데이터를 전송한다.
컨텐츠 전송 네트워크(CDN)(50)는 분산된 서버로 이루어진 플랫폼으로 컨텐츠를 요청하는 클라이언트 단말에 인접한 서버를 통해 클라이언트 단말의 요구를 처리하고, 요구되는 컨텐츠에 인접한 서버에서 요구를 처리하는 방식을 적용하여 서비스를 제공하는 서버와 사용자의 클라이언트 단말 간의 물리적 거리를 줄여 컨텐츠 로드에 따른 지연을 최소화한다.
또한, 컨텐츠 전송 네트워크(CDN)(50)는 분산된 서버를 이용하여 컨텐츠를 캐싱함으로써 컨텐츠의 전송 경로를 최적화하여 트래픽을 감소시키고 컨텐츠를 클라이언트 단말에 빠르고 안전하게 제공할 수 있다.
컨텐츠 전송 네트워크(CDN)(50)는 4K 및 HD 품질의 동영상, 오디오 스트림, 앱/게임/OS 업데이트와 같은 소프트웨어 다운로드, 의료 정보와 금융 정보가 포함된 데이터 레코드 등 다양한 컨텐츠를 전송한다. 즉, 컨텐츠 전송 네트워크(CDN)(50)는 디지털화될 수 있는 모든 데이터를 전송할 수 있다.
클라이언트 단말(90)은 컨텐츠 전송 네트워크(CDN)(50)를 통해, 방송 서버(10) 로부터 송출되는 방송을 수신하여 플레이 한다.
클라이언트 단말(90)은 컨텐츠를 소비하는 사용자의 단말로, 컨텐츠를 재생하는 플레이어모듈(미도시)을 포함한다.
클라이언트 단말(90)은 휴대용 이동통신 단말, 개인용 PC, 랩탑, 태블릿 PC, PDA, 웨어러블 단말, 스마트 TV, 스마트 냉장고 등의 백색가전 등, 컨텐츠를 재생하는 플레이어 모듈이 구비되는 단말이라면 어느 것이나 사용 가능하다.
도 2 는 본 발명의 일 실시예에 따른 컨텐츠 풀 기반 방송 시스템의 서비스 흐름이 간략하게 도시된 도이다.
도 2에 도시된 바와 같이, 방송 서버(10)는 컨텐츠 제공서버(30)로부터 제공되는 오리지널 컨텐츠 데이터를 수신하고, 복수의 미디어 파일로 분할하여 컨텐츠 데이터베이스(20)에 컨텐츠 풀 형태로 저장하고 이를 관리한다.
방송 서버(10)는 인코더(140), 스케줄부(120), 스트리밍부(130)를 포함한다. 또한, 방송 서버(10)는 컨텐츠 데이터베이스(20)를 포함할 수 있다.
방송 서버(10)의 인코더(140)는 컨텐츠를 HLS(HTTP Live Streaming) 포맷으로 인코딩한다. 인코더는 HLS외에도 스트리밍 서비스에 적용 가능한 포맷으로 인코딩 가능하다.
인코더(140)는 컨텐츠에 대한 HLS 포맷의 미디어 데이터를 생성하면서 HLS 미디어 데이터에 대한 매니페스트(Manifest)와 청크 리스트를 생성한다. 매니페스트 는 HLS 포맷으로 인코딩되어 저장된다.
인코더(140)에 의해 변환된 HLS 미디어 데이터(미디어 청크), 매니페스트와 청크 리스트는 컨텐츠 데이터베이스(20)에 저장되어 컨텐츠 풀(21)을 형성한다. HLS 미디어 데이터는 HLS 포맷으로 인코딩된 미디어 데이터이고, 이하 미디어 데이터는 HLS 미디어 데이터인 것을 명시한다.
컨텐츠 데이터베이스(20)는 HLS 포맷으로 인코딩된 컨텐츠 별 미디어 데이터를 저장하고 관리한다.
컨텐츠 데이터베이스(20)는 소정 기준에 따라 컨텐츠 데이터를 분류하고 적어도 하나의 컨텐츠 풀(21)을 형성하여 관리한다.
컨텐츠 데이터베이스(20)는 HLS로 인코딩된 컨텐츠에 대하여, 서비스 사양에 따라 다양한 해상도 및 인코딩 옵션으로 인코딩된 미디어 청크(Media chunks)(미디어 데이터)를 저장한다.
방송 서버(10)의 스케줄부(120)는 컨텐츠 데이터베이스(20)의 컨텐츠 풀(21)에서 제공하는 메타데이터(Metadata)를 기반으로 방송 송출을 위한 스케줄을 설정한다.
스케줄부(120)는 지정된 방송 일정에 따라 프로그램의 방송 순서를 결정하고 방송 시간을 설정한다.
스트리밍부(130)는 인코더(140)를 통해 미리 HLS 포맷으로 인코딩되어 컨텐츠 풀(21)에서 관리하는 미디어 데이터가 송출될 수 있도록 매니페스트를 방송 용 스트림, 즉 라이브 매니페스트로 변환하여 송출한다.
스트리밍부(130)는 스케줄부(120)에서 생성되는 스케줄에 따라 컨텐츠 풀(21)의 데이터가 송출될 수 있도록, 순차적으로 매니페스트(Manifest)를 호출하여 조합한다.
스트리밍부(130)는 HLS 포맷의 매니페스트를 스케줄에 따라 조합하여 라이브 HLS 매니페스트(Live HLS Manifest)를 생성하며, 수초 단위로 라이브 HLS 매니페스트를 실시간으로 업데이트한다.
스트리밍부(130)는 컨텐츠에 따라 메인 매니페스트를 읽어 서브 매니페스트를 확인하고, 복수의 서브 매니페스트를 통해 청크 리스트를 확인하며, 서브 매니페스트를 갱신한다.
라이브 매니페스트(또는 라이브 HLS 매니페스트)는 미디어 데이터에 대한 전체 청크 리스트(chunk list)를 다 포함하지 않고 일부만 포함하므로, 스트리밍부(130)는 일정 시간을 주기로 라이브 매니페스트를 업데이트한다. 스트리밍부(130)는 예를 들어 6초 단위로 라이브 매니페스트를 업데이트 할 수 있다.
스트리밍부(130)는 라이브 HLS 매니페스트를 전송하여, 컨텐츠 전송 네트워크(CDN)(50)를 통해 미디어 데이터(미디어 청크)가 전송되도록 함으로써 컨텐츠에 대한 방송을 송출한다.
스트리밍부(130)는 현재 방송되는 컨텐츠와 다음에 방송될 컨텐츠의 인코딩 정보가 상이하거나 또는 호환되지 않는 경우, 예를 들어 해상도가 호환되지 않는 경우, 컨텐츠 풀(21)에 저장된 해상도별 데이터를 이용하여, 라이브 매니페스트에 변경된 해상도에 대한 정보를 옵션(해상도)으로 포함하여 라이브 매니페스트를 갱신할 수 있다. 인코딩 정보는 컨텐츠의 해상도, 코덱, 대역폭 중 적어도 하나를 포함한다.
또한, 스트리밍부(130)는 미리 인코딩된 데이터를 컨텐츠 풀(21)로부터 전송하는데 있어서, 컨텐츠의 인코딩 정보가 상이한 경우, 해상도, 코덱 및 대역폭 중 적어도 하나의 인코딩 정보를 삽입하여 라이브 매니페스트를 전송한다.
스트리밍부(130)는 프로그램에 따라 각각의 컨텐츠를 방송하는데 있어서, 서브 매니페스트에 포함되는 컨텐츠의 해상도, 코덱, 대역폭 등의 인코딩 정보를 확인하여, 컨텐츠 간에 해상도가 상이한 경우 이를 조정하여 컨텐츠를 송출한다.
한편, 스트리밍부(130)는 방송할 청크(Chunk)에 이상이 있는 경우, 해당 컨텐츠에 대한 필러 매니페스트(filler manifest)를 호출하고, 필러 매니페스트를 파싱하여 필러 청크를 획득한다.
스트리밍부(130)는 청크에 이상이 있는 경우 해당 컨텐츠에 이상이 있는 것으로 판단할 수 있다.
스트리밍부(130)는 이상이 있는 청크에 대하여, 필러 매니페스트를 통해 획득된 필러 청크로 대체하여 방송한다. 즉, 스트리밍부는 컨텐츠를 구성하는 청크의 이상에 대응하여, 대체 컨텐츠인 필러 청크를 방송한다.
필러 매니페스트는 필러 청크와 함께 컨텐츠 풀(21)에 저장된다.
하나의 컨텐츠는 복수의 해상도로 인코딩되어 컨텐츠 풀(21)을 통해 관리되므로, 스트리밍부(130)는 방송할 해상도에 대응하는 서브 매니페스트를 이용하여 컨텐츠를 송출할 수 있다.
서브 매니페스트는 청크 리스트를 포함하여, 실시간으로 컨텐츠가 송출되는 것에 대응하여 업데이트된다.
클라이언트 단말(90)은 방송 서버(10)로부터 라이브 매니페스트를 수신하여 스트리밍 데이터에 대한 컨텐츠를 재생한다.
클라이언트 단말(90)은 매니페스트에 포함된 청크 리스트를 통해 컨텐츠 별 미디어 데이터를 수신한다.
클라이언트 단말(90)은 컨텐츠 전송 네트워크(CDN)(50)를 통해 인접한 서비스 자원으로부터 스트리밍 데이터를 수신하고, 플레이어모듈에 의해 컨텐츠를 재생한다.
또한, 클라이언트 단말(90)은 매니페스트에 포함된 인코딩 정보를 바탕으로 컨텐츠의 해상도에 대응하여 재생 옵션을 변경할 수 있다.
방송 서버(10)는 컨텐츠 데이터를 송출 전에 인코딩 하지 않고, 미리 인코딩된 데이터를 컨텐츠 풀(21)로 관리하여 컨텐츠 전송 네트워크를 통해 송출함으로써, 방송 송출과정에서 인코딩으로 인한 시간을 단축할 수 있다.
방송 서버(10)는 컨텐츠 데이터를 복수의 미디어 데이터로 분할하여 인코딩된 미디어 데이터를 컨텐츠 풀(21)로 관리하며, 미디어 데이터에 대한 정보를 포함하는 매니페스트를 별도로 관리한다.
또한, 방송 서버(10)는 매니페스트를 HLS 포맷으로 인코딩하여 컨텐츠 풀(21)에 저장하고 프로그램 리스트에 따라 매니페스트를 호출하여 순서에 따라 조합한 후, 방송 스트림으로 변환하여 라이브 매니패스트를 순차적으로 송출한다.
방송 서버(10)는 매니페스트를 짧은 시간 단위로 주기적으로 갱신하여, 프로그램 정보를 전송하며, 전송과정에서 필요에 따라 매니페스트를 수정하거나 업데이트 함으로써, 방송 중에 발생되는 문제를 즉시 반영하여 문제를 해소할 수 있다.
그에 따라 방송 서버(10)는 컨텐츠 풀 기반으로, 계속 갱신되는 라이브 매니페스트를 클라이언트 단말(90)로 전송함으로써, 끊김 없는 방송 서비스를 제공할 수 있다.
도 3 은 본 발명의 일 실시예에 따른 방송 시스템의 서버 구성이 도시된 블록도이다.
도 3에 도시된 바와 같이, 방송 서버(10)는 스케줄부(120), 스트리밍부(130)를 포함하고, 컨텐츠 데이터베이스(20)로 구성되어, 컨텐츠를 송출하여 클라이언트 단말(90)로 제공한다. 컨텐츠 데이터베이스(20)는 방송 서버(10)에 포함되거나 또는 외부에 별도로 구비되어 방송 서버(10)와 통신할 수 있다.
앞서 설명한 바와 같이, 스케줄부(120)는 컨텐츠 데이터베이스(20)에 저장되는 컨텐츠 별 HLS 포맷의 미디어 데이터(미디어 청크)에 대하여, 방송 일정에 따라 스케줄을 설정한다.
스케줄부(120)는 컨텐츠 풀(21) 기반으로 컨텐츠에 대한 메타데이터를 수집하여 스케줄을 설정한다.
스트리밍부(130)는 스케줄부(120)에 의해 설정되는 스케줄에 따라 컨텐츠 풀(21)의 HLS 포맷의 미디어 데이터를 조합하여 컨텐츠 전송 네트워크(CDN)(50)를 통해 전송되도록 한다.
스트리밍부(130)는 프로듀서(Producer)(131), 컨수머(Consumer)(132) 및 랜더러(Renderer)(133)를 포함한다.
프로듀서(131)는 미디어 데이터에 대한 매니페스트를 컨텐츠 풀(21)로부터 수신하여 스케줄에 따라 매니페스트를 순차적으로 컨수머(132)로 전송한다.
프로듀서(131)는 설정된 스케줄에 따라 방송이 재생되도록 매니페스트를 호출하되, 청크가 정상인지 여부를 판단한다. 프로듀서(131)는 청크에 이상이 있는 경우 필러 매니페스트를 호출하여 필러 청크를 획득한다.
또한, 프로듀서(131)는 방송 중 지정된 스케줄에 따라 제 1 프로그램이 종료되면 다음 프로그램인 제 2 프로그램을 현재 프로그램으로 설정하여 해당 프로그램을 방송 한다.
프로듀서(131)는 프로그램의 종료 및 시작 시간이 일치하지 않는 경우, 스케줄부(120)에 스케줄 변경을 요청할 수 있다.
프로듀서(131)는 제 1 프로그램의 방송 종료 시점과 제 2 프로그램의 발송 시작 시점을 비교하여, 제 2 프로그램이 제 1 프로그램의 종료보다 늦게 시작하는 경우 방송이 송출되지 않는 블랙아웃이 발생할 수 있으므로 발생하므로 프로그램을 시작시간을 조절한다.
프로듀서(131)는 제 1 프로그램이 지정된 시간 보다 일찍 종료되는 경우 다음 프로그램인 제 2 프로그램의 시작시간을 제 1 프로그램의 종료시간으로 변경할 수 있다.
또한, 프로듀서(131)는 제 2 프로그램의 시작시간은 기존의 설정을 유지하면서 제 1 프로그램 종료후 제 2 프로그램이 시작하기 까지의 시간 동안 새로운 프로그램을 추가할 수도 있다. 컨수머(132)는 스케줄에 따라 컨텐츠가 방송될 수 있도록 매니패스트를 조합하고, 방송용 스트림으로 변환한다. 컨수머(132)는 컨텐츠 풀(21)의 매니페스트를 스케줄에 따라 변환하여 라이브 HLS 매니페스트를 생성하여 랜더러(133)로 전송한다.
컨수머(132)는 랜더러(133)에서 플래이백(playback) 하기 위한 매니페스트(manifest)를 조립하여 배포한다.
라이브 매니페스트에는 수초 내의 짧은 청크 리스트(Chunk List)만 포함하므로, 컨수머(132)는 라이브 매니페스트를 주기적으로 생성하여, 라이브 매니페스트에 포함되는 청크 리스트를 업데이트 한다.
랜더러(133)는 HLS 포맷의 미디어데이터를 스트리밍으로 방송하기 위해, 컨수머(132)에 의해 배포되는 라이브 매니페스트를 전송한다.
랜더러(133)는 복수의 랜더러(133a 내지 133c)로 구성된다.
랜더러(133)는 클라이언트 단말(90)의 증가, 즉 트래픽의 증가에 따라 추가될 수 있다. 랜더러(133)는 하나의 랜더러의 처리 용량이 한계 임계치에 도달하면, 추가될 수 있다. 예를 들어, 랜더러(133)는 초당 요청 수, 초당 대기 프로세서의 수 등이 기 설정된 임계치에 도달하면, 증가할 수 있다.
랜더러(133)는 복수의 클라이언트 단말(91 내지 93)로 스트리밍 데이터가 송출될 수 있도록 복수의 랜더러(133a 내지 133c)를 통해 스트리밍 데이터, 라이브 매니페스트의 송출을 분산 처리한다.
컨텐츠 전송 네트워크(CDN)(50)는 컨텐츠 별 미디어 데이터(미디어 청크)를 클라이언트 단말(90)로 각각 전송한다.
그에 따라 클라이언트 단말(90)은 수신되는 스트리밍 데이터와 매니페스트를 이용하여 플레이어 모듈을 통해 컨텐츠를 재생한다.
도 4 는 본 발명의 일 실시예에 따른 컨텐츠 풀을 설명하는데 참조되는 도이다.
도 4에 도시된 바와 같이, 컨텐츠 데이터베이스(20)는 컨텐츠 풀(21)을 형성하고, 복수의 컨텐츠의 HLS 포맷의 미디어 데이터가 저장된다. 컨텐츠 풀은 복수로 구비될 수 있다.
컨텐츠 풀(21)은 인코딩된 미디어 데이터와 미디어 데이터에 대한 매니패스트가 저장된다.
매니페스트는 HLS(HTTP Live Streaming) 포맷으로 저장되며, 메인 매니페스트(Main Manifest)와 서브 매니페스트(Sub Manifest)로 구성된다.
메인 매니페스트(Main Manifest)에는 지원 가능한 해상도를 명시한 서브 매니페스트(Sub Manifest)를 저장하고, 서브 매니페스트(Sub Manifest)에는 재생할 스트림(Stream)이 청크(Chunk) 단위로 구성된다.
매니페스트(Manifest)는 재생해야 할 컨텐츠 데이터의 정보를 순차적으로 명시한 파일로, 옵션에 대한 부가정보를 포함하여 클라이언트 단말(90)에 정보를 전달할 수 있다.
도 5 는 본 발명의 일 실시예에 따른 컨텐츠 풀의 해상도별 데이터를 설명하는데 참조되는 도이다.
도 5에 도시된 바와 같이, 컨텐츠 풀(21)은 복수의 컨텐츠를 인덱스 파일(Index file)을 통해 데이터를 관리한다. 인덱스 파일은 개별 컨텐츠에 대한 해상도 정보를 포함하는 대체 인덱스(Alternate index)를 관리한다.
하나의 컨텐츠는 복수의 미디어 데이터(Media Chunk)로 구성된다. 복수의 미디어 데이터는 청크 리스트를 통해 관리된다.
컨텐츠는 복수의 미디어 데이터로 분할되는데, 이때 미디어 데이터 하나 하나의 조각은 청크(Chunk)이고, 청크 리스트는 청크에 대한 목록이다. 즉 미디어 데이터는 청크(미디어 청크)이다. 경우에 따라 복수의 청크가 하나의 미디어 데이터를 구성할 수 있다.
컨텐츠 풀(21)에는 각 미디어 데이터(미디어 청크)에 대한 메타데이터(Metadata)와 HLS 매니페스트(HLS Manifest)가 저장된다.
컨텐츠 풀(21)에는 하나의 컨텐츠에 대하여 해상도에 따라, 복수의 미디어 데이터가 저장될 수 있다.
HLS로 인코딩 된 컨텐츠는 서비스 사양에 따라 다양한 해상도 및 인코딩 옵션으로 인코딩된 미디어 청크(Media chunks)(미디어 데이터)를 포함한다.
하나의 컨텐츠에 대하여 미디어 데이터는, 저해상도의 로우파일(로우1, 로우2, 로우3, 로우4), 중간해상도의 미드파일(미드1, 미드2, 미드3, 미드4), 그리고 고해상도의 하이파일(하이1, 하이2, 하이3, 하이4)로 구성된다. 예를 들어 해상도는 1920x1080, 1280x720, 960x540 등으로 설정될 수 있다.
컨텐츠 풀(21)은 요구되는 해상도에 따라 미디어 데이터를 선택적으로 전송한다.
도 6 은 본 발명의 일 실시예에 따른 서버의 컨텐츠 송출을 설명하는데 참조되는 도이다.
도 6에 도시된 바와 같이, 방송 서버(10)는 설정되는 스케줄에 따라 컨텐츠 풀의 HLS 포맷의 미디어 데이터를 조합하여 방송을 송출한다.
스케줄부(120)는 시간에 따른 복수의 프로그램에 대한 스케줄(P01)을 설정한다.
프로듀서(131)는 스케줄부(120)의 스케줄(P01)을 수신하고, 프로그램의 스케줄에 따라 컨텐츠 풀(21)의 미디어 데이터에 대한 정보를 호출한다.
프로듀서(131)는 스케줄(P01)에 따라 프로그램1, 프로그램2, 프로그램3의 순서로 방송이 송출될 수 있도록, 프로그램1에 포함되는 컨텐츠 정보, 프로그램2에 포함되는 컨텐츠 정보, 프로그램3에 포함되는 컨텐츠 정보를 각각 수신한다.
프로듀서(131)는 프로그램에 포함되는 컨텐츠 정보에 대응하여, 적어도 하나의 컨텐츠가 순차적으로 송출될 수 있도록 각 컨텐츠 별 미디어 데이터에 대한 매니페스트(P02)를 순차적으로 호출한다.
프로듀서(131)는 프로그램2에 포함되는 컨텐츠가 컨텐츠5, 컨텐츠11 인 경우, 컨텐츠5에 대한 매니페스트v01 내지 매니페스트v04를 순차적으로 호출하여 컨수머(132)로 전송한다. 또한, 프로듀서(131)는 컨텐츠5를 전송한 후, 컨텐츠11에 대한 매니페스트v01 내지 매니페스트V5를 컨수머로 전송한다.
컨수머(132)는 프로듀서(131)로부터 순차적으로 수신되는 각 컨텐츠의 매니페스트에 따라 방송용 라이브 매니페스트(P03)를 생성하여 조합한다.
컨수머(132)는 프로그램1 이후, 프로그램2에 대한 컨텐츠가 방송되도록, 프로듀서(131)로부터 순차적으로 수신되는 컨텐츠5에 대한 매니페스트v01 내지 매니페스트v04를 조합하고, 방송용 스트림으로 변환하여 라이브 매니페스트v01 내지 라이브 매니페스트v04를 생성한다.
컨수머(132)는 컨텐츠5 이후 컨텐츠11에 대한 매니페스트v01 내지 매니페스트v05를 순차적으로 조합하고 라이브 매니페스트v01 내지 라이브 매니페스트v05를 생성한다.
컨수머(132)는 생성된 라이브 매니페스트(P03)를 랜더러(133)로 전송하고, 랜더러(133)는 라이브 매니페스트(P03)를 송출한다.
컨텐츠 전송 네트워크(50)는 컨텐츠 풀(21)에 저장된 HLS 포맷의 컨텐츠 별 미디어 데이터를 클라이언트 단말(90)로 전송한다.
클라이언트 단말(90)은 수신되는 라이브 매니페스트(P03)를 기반으로 컨텐츠 전송 네트워크(50)를 통해 매니페스트에 대한 컨텐츠의 미디어 데이터를 수신한다.
클라이언트 단말(90)은 수신되는 매니페스트에 대응하여 순차적으로 미디어 데이터를 실행함으로써, 방송을 플레이한다.
도 7 은 본 발명의 일실시예에 따른 방송 시스템의 제어방법이 도시된 순서도이다.
도 7에 도시된 바와 같이, 방송 서버(10)는 컨텐츠 제공서버(30)로부터 컨텐츠 데이터를 수신한다(S310).
방송 서버(10)는 수신되는 데이터를 인코딩하여(S320) 컨텐츠 데이터베이스(20)에 저장한다(S330). 인코더(140)는 컨텐츠를 HLS 포맷으로 인코딩하며 하나의 컨텐츠를 복수의 미디어 데이터로 생성한다. 또한, 인코더(140)는 각 미디어 데이터에 대한 매니페스트(HLS 매니페스트)를 생성한다.
방송 서버(10)는 컨텐츠 데이터베이스(20)에 컨텐츠 풀(21)을 형성하여 복수의 컨텐츠 데이터를 관리한다. 컨텐츠 풀(21)에는 HLS로 인코딩된, 컨텐츠 별 미디어 데이터가 복수로 저장되고, 각 미디어 데이터에 대한 매니페스트와 리스트가 저장된다.
스케줄부(120)는 컨텐츠 풀(21)로부터 컨텐츠에 대한 메타데이터(Metadata)를 수신하고, 이를 바탕으로 프로그램에 따른 스케줄을 설정한다(S340).
스트리밍부(130)는 스케줄부(120)에 의해 설정되는 스케줄에 대응하여, 컨텐츠 풀(21)의 매니페스트를 호출하여 순차적으로 조합한다(S350).
스트리밍부(130)는 스케줄에 대응하여 컨텐츠에 대한 매니페스트를 순차적으로 호출하고, 그에 대하여 방송용 라이브 매니페스트를 생성한다(S360).
라이브 매니페스트는 청크 리스트의 일부를 포함하고 있으므로 주기적으로 업데이트함으로써 다음 청크 리스트가 포함되는 라이브 매니페스트를 생성할 수 있다.
스트리밍부(130)는 라이브 매니페스트를 복수의 랜더러(133)를 통해 클라이언트 단말(90)로 송출한다. 랜더러의 수는 트래픽에 따라 증설될 수 있다.
한편, 방송 서버(10)는 컨텐츠 전송 네트워크(50)를 통해 컨텐츠 풀(21)의 미디어 데이터를 클라이언트 단말(90)로 전송한다(S370).
클라이언트 단말(90)은 방송 서버(10)의 라이브 매니페스트를 수신하고, 라이브 매니페스트에 포함되는 정보에 따라 컨텐츠 전송 네트워크(CDN)(50)로부터 컨텐츠 풀(21)의 인코딩된 컨텐츠, 즉 미디어 데이터를 수신한다.
클라이언트 단말(90)은 구비되는 플레이어 모듈에 의해 컨텐츠 방송을 재생한다(S380).
방송 서버(10)는 프로그램이 종료되기 까지(S390), 스케줄에 따라 라이브 매니페스트를 주기적으로 업데이트하여 송출한다(S360 내지 S380).
방송 서버(10)는 하나의 프로그램이 종료되면, 다음 프로그램에 대하여 방송을 계속하여 송출한다.
그에 따라 방송 서버(10)는 컨텐츠 풀(21)을 이용하여 미리 인코딩된 컨텐츠를 방송으로 송출함으로써, 끊임없는 방송 서비스를 제공한다.
클라이언트 단말은 끊김 없이 방송을 수신하여 컨텐츠를 재생할 수 있다.
도 8 은 본 발명의 일실시예에 따른 방송 시스템의 매니페스트 및 청크 리스트를 설명하는데 참조되는 도이다.
도 8에 도시된 바와 같이, 메인 매니페스트(Main Manifest)에는 지원 가능한 해상도를 명시한 서브 매니페스트(Sub Manifest)를 저장하고, 서브 매니페스트(Sub Manifest)에는 재생할 스트림(Stream)이 청크(Chunk) 단위로 구성된다.
예를 들어, 제 1 컨텐츠(C1)는 content A로 메인 매니페스트1에는 복수의 서브 매니페스트1을 포함하고, 복수의 청크에 대하여 코덱, 대역폭, 해상도 정보를 포함한다. 제 2 컨텐츠(C2)는 content B로 메인 매니페스트2가 복수의 서브 매니페스트2를 포함하고, 컨텐츠를 구성하는 복수의 청크에 대하여 코덱, 대역폭, 해상도 정보를 포함한다. 제 3 컨텐츠(C3)는 content C, 제 4 컨텐츠(C4)는 content D로 각각 메인 매니페스트3, 4와 복수의 서브 매니페스트3, 4를 포함한다.
제 1 컨텐츠(C1)는 mp4 비디오 코덱, aac 오디오 코덱으로 인코딩되고, 해상도 1920x1080, 해상도 1280x720, 해상도 960x540, 해상도 640x360에 대하여 각각의 청크가 컨텐츠 풀(21)에 저장된다.
즉, 제 1 컨텐츠(C1)는 시간에 따라 청크1-3(C1_01, C1_02, C1_03)을 포함하고, 해상도 1920x1080의 청크1-3, 해상도 1280x720의 청크1-3, 해상도 960x540 청크1-3, 해상도 640x360의 청크1-3가 각각 컨텐츠 풀(21)에 저장된다.
서브 매니페스트는 이러한 청크에 대한 정보를 청크 리스트로 포함한다.
제 1 컨텐츠(C1)가 해상도 1920x1080로 방송되는 경우, 스트리밍부(130)는 메인 매니페스트1과 서브 매니페스트1을 확인하여 해상도 1920x1080로 인코딩된 제 11 청크 내지 제 13 청크를 방송한다. 스트리밍부(130)는 제 1 컨텐츠의 메인 매니페스트1을 확인한 후 별도의 메인 매니페스트N을 생성한다.
서브 매니페스트1은 복수개이고, 해상도 1920x1080에 대하여, 방송 시간 별로 각각의 청크 리스트를 포함한다.
서브 매니페스트1 중, 제 1 서브 매니페스트1은 1시 10분 00에 방송 재생할 청크 리스트를 포함하고, 제 2 서브 매니페스트1은 1시 10분 10초에 방송 재생할 청크 리스트를 포함하고, 제 3 서브 매니페스트1은 1시 10분 20에 방송 재생할 청크 리스트를 포함하며, 제 4 서브 매니페스트1은 1시 10분 40초에 방송 재생할 청크 리스트를 포함하도록 구성된다.
그에 따라 스트리밍부(130)는 메인 매니페스트1를 통해 제 1 서브 매니페스트1 내지 제 4 서브 매니페스트1을 확인하고, 방송 순서에 따라 순차적으로 복수의 서브 매니페스트1을 호출하여 각각 청크 단위로 컨텐츠를 재생할 수 있다.
각 청크가 재생되는 동안, 스트리밍부(130)는 서브 매니페스트를 순차적으로 호출하여 청크 리스트를 갱신할 수 있다. 해상도 1920x1080의 제 1 컨텐츠에 대하여 제 1 서브 매니페스트1(sub01)에 1920x1080_00100.ts 내지 1920x1080_00103.ts의 청크 리스트를 포함한 상태에서, 방송이 진행됨에 따라 1920x1080_00100.ts는 삭제하고 다음 청크인 1920x1080_00104.ts가 추가된 제 2 서브 매니페스트1(sub02)을 호출하여 방송하게 된다.
스트리밍부(130)는 방송 중에 제 1 서브 매니페스트1, 제 2 서브 매니페스트1, 제 3 서브 매니페스트1 순서로 복수의 서브 매니페스트1를 호출하여 서브 매니페스트1가 갱신되도록 한다.
즉 서브 매니페스트의 갱신은, 실제 서브 매니페스트1이 변경되는 것은 아니고, 포함하는 청크 리스트가 상이한 복수의 서브 매니페스트1이 순차적으로 호출됨에 따라, 현재 호출된 서브 매니페스트가 변경되는 것이다.
한편, 제 1 컨텐츠(C1, content A)가 해상도 1920x1080로 방송된 후, 제 3 컨텐츠(C3, content C)를 방송되는 경우, 스트리밍부(130)는 제 3 컨텐츠의 메인 매니페스트3을 확인하여 동일한 해상도 1920x1080의 서브 매니페스트3을 이용하여 방송한다.
제 1 컨텐츠(C1, content A)가 해상도 1920x1080로 방송된 후, 제 2 컨텐츠(C2, content B)가 방송되는 경우, 스트리밍부(130)는 제 2 컨텐츠의 메인 매니페스트2를 확인하여 동일한 해상도 1920x1080의 청크가 존재하지 않는 것을 서브 매니페스트2를 통해 확인할 수 있다.
스트리밍부(130)는 제 2 컨텐츠의 해상도가 제 1 컨텐츠의 해상도와 상이하면, 제 1 컨텐츠 방송 중 생성된 새로운 메인 매니페스트N을 갱신하여 제 2 컨텐츠의 해상도에 따라 방송 해상도를 변경한다. 제 2 컨텐츠의 해상도가 해상도 1280x720, 해상도 640x360, 해상도 360x240의 청크를 포함하므로, 스트리밍부(13)는 해상도 1280x720로 메인 매니페스트N을 갱신할 수 있다.
도 9 는 본 발명의 일실시예에 따른 방송 시스템의 데이터 이상에 따른 프로그램 변경을 설명하는데 참조되는 도이다.
도 9의 (a)에 도시된 바와 같이, 스트리밍부(130)는 스케줄부(120)에서 설정된 프로그램 스케줄에 따라, 프로그램1(201), 프로그램2(202), 프로그램3(203), 프로그램4(204)의 순서로 방송한다.
스트리밍부(130)는 프로그램 별 각 컨텐츠의 매니페스트를 호출하여 청크 리스트를 확인하고, 매니페스트를 갱신하면서 해당 컨텐츠를 방송 재생한다.
도 9의 (b)에 도시된 바와 같이, 스트리밍부(130)는 매니페스트를 통해 청크 리스트를 확인한 후, 청크 리스트에 포함된 복수의 청크에 대하여 정상인지 여부를 판단한 후 해당 청크를 방송한다.
스트리밍부(130)는 청크 리스트에 포함된 청크가 컨텐츠 풀(21)에 존재하지 않는 경우, 청크가 존재하기는 하나 데이터에 이상이 발생하여 재생할 수 없는 경우, 청크가 다른 컨텐츠인 경우 중 적어도 하나에 대하여 이상 여부를 판단할 수 있다.
스트리밍부(130)는 청크에 이상이 있는 경우 해당 컨텐츠에 대한 필러를 이용하여 필러 청크를 획득하고, 컨텐츠를 대체하여 방송을 송출한다.
도 9의 (c)에 도시된 바와 같이, 스트리밍부(130)는 프로그램3(203)의 매니페스트를 통해 청크 리스트를 확인한다. 스트리밍부(130)는 프로그램3의 청크에 이상이 있는 경우 프로그램3의 필러 매니페스트를 호출하고, 필러를 파싱하여 필러 청크를 획득하고, 필러 청크를 이용하여 프로그램3(203)의 대체 컨텐츠로써 프로그램3-1(205)을 방송한다.
필러는 컨텐츠 풀(21)에 저장되며, 각 컨텐츠에 대한 정보를 포함하는 비상용 대체파일이다.
도 10 은 본 발명의 일실시예에 따른 방송 시스템의 시간에 따른 프로그램 변경을 설명하는데 참조되는 도이다.
도 10의 (a)에 도시된 바와 같이, 스트리밍부(130)는 스케줄에 따라 프로그램1(201), 프로그램2(202), 프로그램3(203), 프로그램4(204)의 순서로 방송한다.
도 10의 (b)에 도시된 바와 같이, 스트리밍부(130)는 프로그램3(203)이 종료되고 다음 프로그램인 프로그램4(204)를 현재 프로그램으로 설정하는 때에, 프로그램3(203)의 종료시간과 다음 프로그램인 프로그램4(204)의 시작시간을 비교한다.
스트리밍부(130)는 프로그램3(203)이 기존의 종료시간인 시간 t3에 종료되지 않고 t4에 종료되는 경우, 프로그램3(203)의 종료시간 t4와 프로그램4(204)의 시작시간 t3에 차이가 있으므로, 프로그램을 변경한다.
도 10의 (c)에 도시된 바와 같이, 스트리밍부(130)는 프로그램3(203)이 종료되는 시간 t4까지 현재 프로그램으로 유지하고, 다음 프로그램4(204)의 시작시간을 시간 t3에서 시간 t4로 변경한다
그에 따라 스트리밍부(130)는 시간 t4에 프로그램3(203)이 종료되면, 프로그램4(204)에 대한 방송 재생을 시작한다.
도 11 은 본 발명의 일실시예에 따른 방송 시스템의 블랙아웃에 따른 프로그램 변경을 설명하는데 참조되는 도이다.
도 11의 (a)에 도시된 바와 같이, 스트리밍부(130)는 스케줄에 따라 프로그램1(201), 프로그램2(202), 프로그램3(203), 프로그램4(204)의 순서로 방송한다.
스트리밍부(130)는 프로그램2(202)가 종료되면 다음 프로그램인 프로그램3(203)을 현재 프로그램으로 설정하고, 프로그램3(203)에 대한 방송을 송출한다.
스트리밍부(130)는 프로그램2(212)가 종료되기 전, 프로그램2(202)의 종료시간과 다음 프로그램인 프로그램3(203)의 시작시간(t1)을 비교하여 프로그램을 조절할 수 있다.
도 11의 (b)에 도시된 바와 같이, 스트리밍부(130)는 프로그램2(202)가 지정된 종료시간보다 빠르게 종료되어 t2 시간에 종료되고, 프로그램3(203)이 t1에 시작하는 경우, 시간 t1과 t2 사이에 일정시간의 공백이 발생할 수 있다.
도 11의 (c)에 도시된 바와 같이, 스트리밍부(130)는 프로그램2(202)의 종료시간 t2와 프로그램3(203)의 시작시간 t1 사이에 시간 공백(206)이 있는 경우, 프로그램2(202)와 프로그램3(203)의 사이에 새로운 프로그램5(207)를 추가할 수 있다.
스트리밍부(130)는 시간 공백(206)에 대응하여, 필러 매니페스트를 호출하고, 필러 매니페스트를 파싱하여 프로그램5(207)의 필러 청크를 획득하고, 이를 프로그램5로 설정하여 시간 공백(206) 동안 대체 컨텐츠로 방송한다.
또한, 스트리밍부(130)는 프로그램2(202)의 종료시간(t2)과 프로그램3(203)의 시작시간(t1) 사이에 차이가 있는 경우, 프로그램3(203)의 시작시간을 시간 t2로 변경할 수 있다.
그에 따라 방송 서버(10)는 방송이 송출되지 않는 블랙아웃 없이 연속하여 방송을 재생할 수 있다.
도 12 은 본 발명의 일실시예에 따른 방송 시스템의 방송에 따른 프로그램 변경방법이 도시된 순서도이다.
도 12에 도시된 바와 같이, 스케줄부(120)는 방송 일정에 따라 프로그램에 대한 스케줄을 설정하며, 프로그램 별 재생할 컨텐츠들에 대하여 세부 스케줄을 설정한다.
스트리밍부(130)는 스케줄부(120)에 의해 설정된 스케줄을 기반으로 프로그램 리스트를 확인한다(S410).
스트리밍부(130)는 현재 발송할 프로그램을 찾고(S420), 현재 프로그램으로 설정한다(S430).
예를 들어, 스트리밍부(130)는 프로그램1이 종료되면, 스케줄에 따라 다음의 프로그램2를 확인하여 해당 프로그램2에 대한 메인 매니페스트를 호출하고, 프로그램2를 현재 프로그램으로 설정하여 프로그램2에 대한 방송을 시작한다.
스트리밍부(130)는 프로그램2에 대한 메인 매니페스트로부터 서브 매니페스트를 확인한다(S440).
스트리밍부(130)는 서브 매니페스트에 포함되는 청크 리스트를 확인하고, 현재시간의 청크(Chunk)를 확인하고(S450), 해당 청크가 정상인지 판단한다(S460).
스트리밍부(130)는 청크에 이상이 있는 경우, 프로그램2의 컨텐츠에 대한 필러 매니페스트를 컨텐츠 풀(21)로부터 호출하여 획득하고(S530), 필러 매니페스를 파싱하여(S540), 프로그램5(207)의 필러 청크를 획득한다(S550).
스트리밍부(130)는 이상이 있는 청크를 대체하여 필러 청크가 방송으로 재생되도록 한다.
스트리밍부(130)는 청크가 정상인 경우, 방송을 송출하고, 서브 매니페스트를 업데이트 하여 청크 리스트를 업데이트 한다. 즉, 스트리밍부(130)는 프로그램2의 컨텐츠에 대한 복수의 서브 매니페스트에 대하여, 시간의 경과에 따라 다음 서브 매니페스트로 변경하여 현재 청크를 확인하고 방송을 송출하는 것을 반복한다.
앞서 설명한 도 8과 같이, 스트리밍부(130)는 서브 매니페스트를 순차적으로 호출하여 변경함으로써, 시간1에 방송할 청크, 시간2에 방송할 청크가 순차적으로 방송으로 재생되도록 한다.
스트리밍부(130)는 청크가 정상인지 여부를 지속적으로 확인한다.
스트리밍부(130)는 현재 프로그램이 종료되기 전, 현재 프로그램2를 이전 프로그램으로 설정하고(S480), 스케줄에 따라 다음 순서의 프로그램3을 찾는다. 스트리밍부(130)는 다음 프로그램인 프로그램3의 메인 매니페스트를 찾아 해당 서브 매니페스트를 확인한다(S490).
스트리밍부(130)는 프로그램3 다음 프로그램으로 설정한다(S500).
스트리밍부(130)는 메인 매니페스트로부터 서브 매니페스트를 확인하고, 서브 매니페스트를 이용하여 청크 리스트를 확인한다.
스트리밍부(130)는 앞서 설명한 바와 같이 서브 매니페스트에 포함된 정보를 바탕으로 청크가 정산인지 여부를 확인한다.
스트리밍부(130)는 현재 프로그램인 프로그램2의 종료시간과 다음의 프로그램3의 시작시간을 비교하여 블랙아웃의 발생 여부를 판단한다(S510).
스트리밍부(130)는 프로그램2의 종료시간과 프로그램3의 시작시간이 일치하는 경우 다음 프로그램인 프로그램3을 현재 프로그램으로 설정한다(S520).
스트리밍부(130)는 프로그램3의 서브 매니페스트를 확인하여 방송을 송출하여 앞서 설명한 바와 같이 청크의 상태 확인과 다음 프로그램 확인 과정을 반복하여 끊김없이 방송이 진행되도록 한다(S440 내지 S510).
한편, 스트리밍부(130)는 프로그램2의 종료시간과 프로그램3의 시작시간이 일치하지 않는 경우 필러를 이용하여 프로그램을 변경한다.
프로그램2의 종료시간이 프로그램3의 시작시간보다 늦는 경우, 스트리밍부(130)는 프로그램3의 시작시간을 프로그램2의 종료시간으로 변경하여 프로그램2가 종료된 후, 프로그램3이 방송되도록 한다.
한편, 프로그램2이 종료된 후 일정 시간이 경과한 후 프로그램3이 시작하는 경우, 프로그램2와 프로그램3의 사이에 발생하는 시간 공백에 대하여, 스트리밍부(130)는 필러 매니페스트를 컨텐츠 풀(21)로부터 획득한 후(S530), 필러를 파싱하여(S540), 필러 청크를 획득한다(S550).
스트리밍부(130)는 획득된 필러 청크를 시간 공백에 방송으로 재생한다.
스트리밍부(130)는 프로그램2가 종료된 후 필러 청크를 이용하여 프로그램5가 발송되도록 함으로써 블랙아웃을 방지한다.
그에 따라 방송 서버(10)는 끊김없이 컨텐츠를 재생하여 방송 서비스를 제공할 수 있다.
본 발명은 도면에 도시된 실시예를 참고로 하여 설명되었으나, 이는 예시적인 것에 불과하며 당해 기술이 속하는 기술분야에서 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호범위는 아래의 특허청구범위에 의하여 정해져야할 것이다.
10: 방송 서버 20: 컨텐츠 데이터베이스
21: 컨텐츠 풀 30: 컨텐츠 제공서버
50: 컨텐츠 전송 네트워크(CDN)
90, 91 내지 93: 클라이언트 단말
120: 스케줄부 130: 스트리밍부
131: 프로듀서 132: 컨수머
133: 랜더러

Claims (17)

  1. 오리지널 컨텐츠를 수신하여 소정 포맷으로 인코딩하고, 미리 인코딩된 컨텐츠에 대한 매니페스트(Manifest)를 스케줄에 따라 조합하여, 컨텐츠 전송 네트워크(CDN, Content Delivery Network)를 통해 스트리밍 방식으로 방송 서비스를 제공하는 방송 서버;
    상기 방송 서버에 의해 인코딩된 컨텐츠 데이터를 컨텐츠 풀로 구성하여 저장하는 컨텐츠 데이터베이스; 및
    상기 방송 서버에 의해 제공되는 스트리밍 서비스를 수신하여 컨텐츠를 재생하는 클라이언트 단말; 을 포함하고,
    상기 방송 서버는, 상기 컨텐츠 풀에 저장된 복수의 컨텐츠 중, 제 1 컨텐츠를 현재 프로그램으로 설정하고 상기 스케줄에 따라 제 2 컨텐츠를 다음 프로그램으로 설정하는 경우, 상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간을 비교하여 블랙아웃의 발생 여부에 따라 상기 컨텐츠 풀에 저장된 필러를 이용하여 대체 컨텐츠를 방송하는 것을 특징으로 하는 방송 시스템.
  2. 제 1 항에 있어서,
    상기 방송 서버는, 상기 제 1 컨텐츠의 종료시간이 상기 제 2 컨텐츠의 시작시간 보다 늦은 경우, 상기 제 2 컨텐츠의 시작시간을 상기 제 1 컨텐츠의 종료시간으로 변경하여 방송하는 것을 특징으로 하는 방송 시스템.
  3. 제 1 항에 있어서,
    상기 방송 서버는, 상기 제 1 컨텐츠의 종료 후, 일정 시간 경과 후 상기 제 2 컨텐츠가 시작하는 경우,
    상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간 사이의 시간 공백 동안, 상기 필러를 기반으로 상기 대체 컨텐츠를 생성하여 방송하는 것을 특징으로 하는 방송 시스템.
  4. 제 3 항에 있어서,
    상기 방송 서버는, 상기 필러로부터 제 3 컨텐츠에 대한 필러 청크를 획득하여, 상기 대체 컨텐츠를 생성하는 것을 특징으로 하는 방송 시스템.
  5. 제 1 항에 있어서,
    상기 방송 서버는, 상기 컨텐츠에 대응하는 상기 필러에 대한 정보가 포함된 필러 매니페스트를 상기 컨텐츠 풀로부터 획득하고, 상기 필러 매니페스트를 기반으로 상기 필러를 파싱하여 상기 대체 컨텐츠로써 필러 청크를 획득하는 것을 특징으로 하는 방송 시스템.
  6. 제 1 항에 있어서,
    상기 방송 서버는, 상기 제 1 컨텐츠에 대한 매니페스트를 기반으로 상기 제 1 컨텐츠의 상태를 확인하고, 상기 제 1 컨텐츠에 이상이 있는 경우 상기 필러를 이용하여 상기 제 1 컨텐츠에 대한 상기 대체 컨텐츠를 생성하여 방송하는 것을 특징으로 하는 방송 시스템.
  7. 제 6 항에 있어서,
    상기 방송 서버는, 제 1 컨텐츠의 메인 매니페스트에 포함된 복수의 서브 매니페스트를 확인하고,
    시간의 경과에 따라 서브 매니페스트1와 서브 매니페스트2를 순차적으로 호출하여 갱신하며, 상기 서브 매니페스트1 및 상기 서브 매니페스트2에 각각 포함되는 청크 리스트를 이용하여 상기 제 1 컨텐츠를 구성하는 각각의 청크의 상태를 확인하는 것을 특징으로 하는 방송 시스템.
  8. 제 1 항에 있어서,
    상기 컨텐츠 풀은, 상기 컨텐츠를 분할하여 HLS포맷으로 인코딩한 복수의 청크를 상기 컨텐츠 데이터로 저장하고,
    상기 복수의 청크는, 해상도 별로 복수개 존재하는 것을 특징으로 하는 방송 시스템.
  9. 제 1 항에 있어서,
    상기 컨텐츠 풀은, 복수의 컨텐츠에 대하여 제 1 컨텐츠에 대한 필러와 제 2 컨텐츠에 대한 필러를 각각 저장하는 것을 특징으로 하는 방송 시스템.
  10. 제 1 항에 있어서,
    상기 방송 서버는,
    HLS 포맷으로 컨텐츠를 인코딩하는 인코더;
    방송 일정에 대응하여 컨텐츠에 대한 스케줄을 설정하는 스케줄부; 및
    상기 스케줄을 바탕으로, 상기 인코더에 의해 미리 HLS 포맷으로 인코딩되어 컨텐츠 풀(21)에 저장되는 미디어 데이터를 송출하기 위한 컨텐츠 별 매니페스트를 호출하여 청크의 이상여부를 판단하고, 상기 필러로부터 획득되는 상기 대체 컨텐츠를 방송용 스트림으로 변환하여 송출하는 스트리밍부; 를 포함하는 방송 시스템.
  11. 제 10 항에 있어서,
    상기 스트리밍부는, 상기 스케줄에 대응하여, 순차적으로 컨텐츠 별 메인 매니페스트를 기반으로 서브 매니페스트를 호출하는 프로듀서를 포함하고,
    상기 프로듀서는 상기 서브 매니페스트에 포함되는 청크 리스트를 확인하여 상기 컨텐츠를 구성하는 청크의 이상을 확인하고 상기 필러를 호출하는 것을 특징으로 하는 방송 시스템.
  12. 방송 서버가, 스케줄에 따라 현재시간의 프로그램으로 제 1 컨텐츠를 설정하는 단계;
    상기 스케줄에 따라 다음 프로그램으로 제 2 컨텐츠를 설정하는 단계;
    상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간을 비교하는 단계;
    상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간이 일치하지 않는 경우, 상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간의 차이에 따라, 컨텐츠 풀에 저장된 필러를 이용하여 대체 컨텐츠를 생성하는 단계; 및
    상기 대체 컨텐츠를 방송하는 단계; 를 포함하는 방송 시스템의 제어방법.
  13. 제 12 항에 있어서,
    상기 비교하는 단계 이후,
    상기 제 1 컨텐츠의 종료시간이 상기 제 2 컨텐츠의 시작시간 보다 늦은 경우, 상기 제 2 컨텐츠의 시작시간을 상기 제 1 컨텐츠의 종료시간으로 변경하여 방송하는 단계; 를 더 포함하는 방송 시스템의 제어방법.
  14. 제 12 항에 있어서,
    상기 비교하는 단계 이후,
    상기 제 1 컨텐츠의 종료 후, 일정 시간 경과 후 상기 제 2 컨텐츠가 시작하는 경우,
    상기 제 1 컨텐츠의 종료시간과 상기 제 2 컨텐츠의 시작시간 사이의 시간 공백 동안, 상기 대체 컨텐츠를 방송하는 것을 특징으로 하는 방송 시스템의 제어방법.
  15. 제 12 항에 있어서,
    상기 대체 컨텐츠를 생성하는 단계는
    상기 필러의 정보가 포함된 필러 매니페스트를 획득하는 단계;
    상기 필러 매니페스트를 기반으로 제 3 컨텐츠에 대한 필러를 파싱하는 단계; 및
    상기 제 3 컨텐츠에 대한 필러 청크를 획득하여 상기 대체 컨텐츠로 설정하는 단계; 를 더 포함하는 방송 시스템의 제어방법.
  16. 제 11 항에 있어서,
    상기 제 1 컨텐츠를 방송하는 중,
    상기 제 1 컨텐츠에 이상이 있는 경우, 상기 필러를 바탕으로 상기 대체 컨텐츠를 생성하여 방송하는 것을 특징으로 하는 방송 시스템의 제어방법.
  17. 제 11 항에 있어서,
    상기 제 1 컨텐츠를 방송하는 중,
    상기 제 1 컨텐츠의 메인 매니페스트를 통해 복수의 서브 매니페스트를 확인하고 상기 복수의 서브 매니페스트를 순차적으로 호출하는 단계;
    각 서브 매니페스트에 포함된 청크 리스트를 기반으로 청크의 이상을 판단하는 단계;
    상기 청크에 이상이 있는 경우 상기 제 1 컨텐츠에 대응하는 상기 필러를 기반으로 상기 대체 컨텐츠를 획득하는 단계; 및
    상기 대체 컨텐츠를 방송 재생하는 단계; 를 더 포함하는 방송 시스템의 제어방법.
KR1020210130873A 2021-10-01 2021-10-01 컨텐츠 풀 기반 방송 시스템 및 그 방법 KR20230047719A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210130873A KR20230047719A (ko) 2021-10-01 2021-10-01 컨텐츠 풀 기반 방송 시스템 및 그 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210130873A KR20230047719A (ko) 2021-10-01 2021-10-01 컨텐츠 풀 기반 방송 시스템 및 그 방법

Publications (1)

Publication Number Publication Date
KR20230047719A true KR20230047719A (ko) 2023-04-10

Family

ID=85984558

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210130873A KR20230047719A (ko) 2021-10-01 2021-10-01 컨텐츠 풀 기반 방송 시스템 및 그 방법

Country Status (1)

Country Link
KR (1) KR20230047719A (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210030191A (ko) 2019-09-09 2021-03-17 경상국립대학교산학협력단 수신단 캐싱을 활용한 적응형 비디오 스트리밍 시스템

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210030191A (ko) 2019-09-09 2021-03-17 경상국립대학교산학협력단 수신단 캐싱을 활용한 적응형 비디오 스트리밍 시스템

Similar Documents

Publication Publication Date Title
US11109081B2 (en) Methods and systems for assisted content delivery
US10587907B2 (en) Broadcast management services platform
US20080086570A1 (en) Digital content buffer for adaptive streaming
CN104079622A (zh) 用于媒体分发的设备、方法及系统
US20230254532A1 (en) Identification of elements in a group for dynamic element replacement
JP7443544B2 (ja) 遠隔要素分解のクライアントベースの記憶装置
US20240179378A1 (en) Methods, systems, and apparatuses for improved content scoring and delivery
KR20230047719A (ko) 컨텐츠 풀 기반 방송 시스템 및 그 방법
KR20230047718A (ko) 컨텐츠 풀 기반 방송 시스템 및 그 방법
KR20230047717A (ko) 컨텐츠 풀 기반 방송 시스템 및 그 방법
KR20230047720A (ko) 컨텐츠 풀 기반 방송 시스템 및 그 방법

Legal Events

Date Code Title Description
E902 Notification of reason for refusal