KR20200081161A - 컨텐츠 스트리밍 장치, 시스템 및 방법 - Google Patents

컨텐츠 스트리밍 장치, 시스템 및 방법 Download PDF

Info

Publication number
KR20200081161A
KR20200081161A KR1020180171354A KR20180171354A KR20200081161A KR 20200081161 A KR20200081161 A KR 20200081161A KR 1020180171354 A KR1020180171354 A KR 1020180171354A KR 20180171354 A KR20180171354 A KR 20180171354A KR 20200081161 A KR20200081161 A KR 20200081161A
Authority
KR
South Korea
Prior art keywords
rendition
renditions
segment
user terminal
content
Prior art date
Application number
KR1020180171354A
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 KR1020180171354A priority Critical patent/KR20200081161A/ko
Priority to PCT/KR2018/016886 priority patent/WO2020138567A1/ko
Publication of KR20200081161A publication Critical patent/KR20200081161A/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 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/23439Processing 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 for generating different versions
    • 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
    • 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/234381Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • 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/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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
    • 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
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 명세서에 개시된 에지 서버의 비디오 스트리밍 방법은 컴퓨팅 장치에 의해 수행되는 동작으로서, 동일한 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션(rendition)으로서, 각 렌디션은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함하고, 복수의 렌디션의 각 세그먼트들은 동일한 인코딩 품질 파라미터 값의 범위를 갖는 상기 복수의 렌디션을 저장하는 동작, 사용자 단말의 제1 요청을 수신하는 동작 및 사용자 단말의 제1 요청에 대한 응답으로 복수의 렌디션 중 제1 렌디션의 제1 세그먼트를 전송하는 동작을 포함한다.

Description

컨텐츠 스트리밍 장치, 시스템 및 방법{CONTENT STREAMING APPARATUS, SYSTEM AND METHODS}
본 명세서는 컨텐츠 데이터를 전송하는 장치, 시스템 및 그 방법에 관한 것이다.
많은 사용자들이 모바일 단말기, 컴퓨터 등의 사용자 단말에서 유/무선 네트워크를 통해 동영상 등의 대용량 미디어 컨텐츠를 다운로드 및 재생하는 서비스를 이용하고 있고, 컨텐츠 제공자는 사용자의 만족도를 위해서 컨텐츠 데이터 전송의 끊김 없이 서비스를 제공하려는 노력을 하고 있다.
컨텐츠 제공자는 복제 서버를 통해 사용자 단말로 컨텐츠 데이터를 전송할 수 있다. 즉, 컨텐츠 데이터를 전송하는 방법의 하나로서, 컨텐츠 제공자는 적어도 일부 컨텐츠를 복제 서버에 미리 저장하고, 사용자 단말은 복제 서버로부터 미리 저장된 컨텐츠 데이터를 수신하는 방법이 있다. 복제 서버를 통한 컨텐츠 전송 방법은 CDN(Content Delivery Network) 서비스를 포함한다. 복제 서버는, 예를 들어, 캐시 서버, 고스트 서버, 에지 서버 또는 미러 서버일 수 있다.
예를 들어, CDN 서비스는 각 CDN 서비스 정책의 방식에 따라 다르지만, 복수의 CDN 복제 서버들 중에서 컨텐츠 데이터를 요청한 사용자 단말의 위치에서 가장 가까운 CDN 복제 서버 또는 최적의 접속 경로를 가진 CDN 복제 서버에 대한 접속 정보를 사용자 단말로 전송하고, 사용자 단말은 해당 CDN 복제 서버로부터 스트리밍(Streaming) 방식 또는 다운로드 방식으로 컨텐츠 데이터를 수신할 수 있다.
CDN 서비스 사업자는 컨텐츠 데이터 전송의 끊김 없는 서비스를 제공하기 위해, 컨텐츠를 서로 다른 비트레이트(Bitrate)를 가진 복수의 렌디션(Rendition)으로 인코딩하고 각 사용자 단말의 네트워크 환경을 고려한 렌디션을 전송하는 ABR(Adaptive Bitrate) 방식을 제공할 수 있다.
종래 기술의 컨텐츠 제공자가 CDN을 통해 컨텐츠를 제공하는 경우, 동일한 컨텐츠에 대해 단말기의 네트워크 상황에 적합하게 비트레이트가 서로 다른 복수의 렌디션(Rendition) 중 어느 한 렌디션을 제공하는 ABR(Adaptive Bitrate) 방식은 사용자가 체감하는 컨텐츠의 화질이 렌디션에 따라 열화되는 문제점에 대해서, 사용자가 체감하는 화질의 열화 없이 네트워크 상황에 적합한 렌디션을 제공하는 ABR 방식의 컨텐츠 제공 장치 및 방법이 필요하게 되었다.
본 명세서는 에지 서버의 비디오 스트리밍 방법을 제시한다. 상기 에지 서버의 비디오 스트리밍 방법은 동일한 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션(Rendition)으로서, 각 렌디션은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함하고, 동일한 렌디션의 각 세그먼트들은 동일한 인코딩 품질 파라미터 값의 범위를 갖는 상기 복수의 렌디션을 저장하는 동작, 사용자 단말의 제1 요청을 수신하는 동작 및 상기 사용자 단말의 제1 요청에 대한 응답으로 상기 복수의 렌디션 중 제1 렌디션의 제1 세그먼트를 전송하는 동작을 포함할 수 있다.
상기 에지 서버의 비디오 스트리밍 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 사용자 단말의 제2 요청을 수신하는 동작을 더 포함하고, 상기 사용자 단말의 제2 요청에 대한 응답으로 상기 제1 렌디션과 다른 제2 렌디션의 적어도 하나의 세그먼트를 전송하는 동작을 포함하고, 상기 제2 렌디션의 세그먼트의 인코딩 품질 파라미터 값의 범위는 상기 제1 렌디션의 제1 세그먼트의 인코딩 품질 파라미터 값의 범위와 서로 동일할 수 있다.
상기 사용자 단말의 제2 요청을 수신하는 동작을 더 포함하고, 상기 사용자 단말의 제2 요청에 대한 응답으로 상기 제1 렌디션의 제2 세그먼트를 전송하는 동작을 포함하고, 상기 제2 세그먼트의 인코딩 품질 파라미터 값의 범위는 상기 제1 세그먼트의 인코딩 품질 파라미터 값의 범위와 동일하고, 상기 제2 세그먼트의 해상도는 상기 제1 세그먼트의 해상도와 상이할 수 있다.
본 명세서는 컨텐츠 서버의 비디오 스트리밍 방법을 제시한다. 상기 컨텐츠 서버의 비디오 스트리밍 방법은 동일한 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션(Rendition)에 기반한 매니페스트(Manifest) 파일을 생성하거나 제공받는 동작, CDN(Contents Delivery Network) 장치로부터 상기 복수의 렌디션 중 적어도 어느 한 렌디션에 대한 데이터 전송 요청을 수신하는 동작 및 요청받은 렌디션에 대한 데이터를 상기 CDN 장치로 전송하는 동작을 포함하고, 상기 복수의 렌디션 중 각 렌디션은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함하고,상기 복수의 렌디션 중 동일한 렌디션에 포함된 복수의 세그먼트들은 동일한 인코딩 품질 파라미터 값의 범위를 가질 수 있다.
상기 컨텐츠 서버의 비디오 스트리밍 방법 및 그 밖의 실시 예는 다음과 같은 특징을 포함할 수 있다.
상기 복수의 렌디션의 각 렌디션에 포함된 세그먼트들의 해상도 변화 양상은 서로 동일할 수 있다.
본 명세서는 에지 서버를 제시한다. 상기 에지 서버는 동일한 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션(Rendition)으로서, 각 렌디션은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함하고, 동일한 렌디션의 각 세그먼트들은 동일한 인코딩 품질 파라미터 값의 범위를 갖는 상기 복수의 렌디션을 저장하는 저장부, 사용자 단말로부터 상기 비디오 컨텐츠에 대한 제1 전송 요청을 수신하고 이에 대한 응답을 송신하는 통신부 및 상기 통신부를 통한 상기 사용자 단말의 제1 전송 요청에 대한 응답으로 상기 복수의 렌디션 중 제1 렌디션의 제1 세그먼트를 전송하도록 제어하는 제어부를 포함할 수 있다.
상기 에지 서버 및 그 밖의 실시 예로서 상기 통신부는 상기 사용자 단말의 상기 비디오 컨텐츠에 대한 제2 전송 요청을 수신하고, 상기 제어부는 상기 제2 전송 요청에 대한 응답으로 상기 제1 렌디션과 다른 제2 렌디션의 적어도 하나의 세그먼트를 전송하도록 제어하고, 상기 제2 렌디션의 세그먼트의 인코딩 품질 파라미터 값의 범위는 상기 제1 렌디션의 제1 세그먼트의 인코딩 품질 파라미터 값의 범위와 동일할 수 있다.
본 명세서는 CDN 시스템을 제시한다. 상기 CDN 시스템은 제1 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션(rendition) 중 제1 렌디션을 저장하고, 사용자 단말로 상기 제1 렌디션의 적어도 하나의 세그먼트를 전송하는 제1 서버 및 상기 제1 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션 중 제2 렌디션을 저장하고, 상기 사용자 단말로 상기 제2 렌디션의 적어도 하나의 세그먼트를 전송하는 제2 서버를 포함하고, 상기 제1 렌디션은 서로 다른 해상도를 가지는 복수의 세그먼트들을 포함하고, 상기 제2 렌디션은 서로 다른 해상도를 가지는 복수의 세그먼트들을 포함하고, 상기 제1 렌디션 및 상기 제2 렌디션은 동일한 인코딩 품질 파라미터 값을 가질 수 있다.
본 명세서는 컨텐츠 서버를 제시한다. 상기 컨텐츠 서버는 동일한 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션(Rendition)에 기반한 매니페스트(Manifest) 파일을 생성 또는 저장하는 패키징부, CDN(Contents Delivery Network) 장치로부터 상기 복수의 렌디션 중 적어도 어느 한 렌디션에 대한 데이터 전송 요청을 수신하는 통신부 및 요청받은 렌디션에 대한 데이터를 상기 CDN 장치로 전송하도록 제어하는 제어부를 포함하고, 상기 복수의 렌디션 중 각 렌디션은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함하고, 상기 복수의 렌디션 중 동일한 렌디션에 포함된 복수의 세그먼트들은 동일한 인코딩 품질 파라미터 값의 범위를 가질 수 있다.
본 명세서에 개시된 실시 예들에 의하면, 사용자 단말의 네트워크 상황에 적합한 렌디션을 전송하는 적응적 비트레이트(ABR) 기술을 제공할 수 있다.
본 명세서에 개시된 실시 예들에 의하면, 사용자가 체감하는 영상 화질의 열화가 없는 적응적 비트레이트 기술을 제공할 수 있다.
도 1은 컨텐츠 전송 시스템을 포함한 실시예를 개략적으로 도시한다.
도 2는 컨텐츠 전송 시스템을 포함한 실시예를 개략적으로 도시한다.
도 3은 서로 다른 비트레이트를 가지는 복수의 렌디션의 실시예를 개략적으로 도시한다.
도 4는 서로 다른 비트레이트를 가지는 복수의 렌디션을 생성하는 실시예를 개략적으로 도시한다.
도 5는 에지 서버의 구성을 개략적으로 도시한다.
도 6은 컨텐츠 서버의 구성을 개략적으로 도시한다.
도 7은 에지 서버의 동작을 개략적으로 도시한다.
도 8은 컨텐츠 서버의 동작을 개략적으로 도시한다.
본 명세서에 개시된 기술은 컨텐츠 전송 장치 및 관련된 장치에 적용될 수 있다. 그러나 본 명세서에 개시된 기술은 이에 한정되지 않고, 상기 기술의 기술적 사상이 적용될 수 있는 모든 전자 장치 및 방법에도 적용될 수 있다.
본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 명세서에 개시된 기술의 사상을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 명세서에 개시된 기술의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 본 명세서에 개시된 기술이 속하는 분야에서 통상의 지식을 가진 자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 명세서에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥 상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.
본 명세서에서 사용되는 제1, 제2 등과 같이 서수를 포함하는 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성 요소는 제2 구성 요소로 명명될 수 있고, 유사하게 제2 구성 요소도 제1 구성 요소로 명명될 수 있다.
이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예들을 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.
또한, 본 명세서에 개시된 기술을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 기술의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 기술의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 그 기술의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다.
도 1은 컨텐츠 전송 시스템을 포함한 실시예를 개략적으로 도시한다. 컨텐츠 전송 시스템은 에지 서버를 포함하는 CDN(Content Delivery Network)(120) 및 오리진(Origin) 서버(110)를 포함할 수 있다.
CDN(120)은 컨텐츠의 복사본들을 저장 및 전송하기 위한 캐싱(Caching) 노드들로 구성된 계층적 구조를 가질 수 있고, 계층적 구조에서 상위 구조(High tier)의 캐싱 노드들과 사용자 단말로 컨텐츠를 전송하는 에지 서버(캐시 서버, 고스트 서버, 에지 서버 또는 미러 서버로 불릴 수 있다.)를 포함할 수 있다.
도 1은 오리진 서버(110)를 CDN(120) 밖에 존재하는 것으로 도시했지만, 오리진 서버(110)는 CDN(120)의 한 장치로서 동작하는 것을 배제하지 않는다.
적응적 컨텐츠(Adaptive Content)는 RTP/RTSP(Real Time Transport Protocol /Real Time Streaming Protocol), RTMP(Real Time Message Protocol) 또는 HTTP(hypertext transfer protocol) 방식으로 사용자 단말에 배포될 수 있고, 사용자 단말은 오리진 서버(110) 또는 별도의 CDN 장치로 요청 가능한 컨텐트 리스트를 확보하기 위해 주기적으로 매니페스트(Manifest) 파일을 요청할 수 있다.
오리진 서버(110)는 일 실시예에서 컨텐츠 원본(메자니 파일, mezzanine file)을 제공받아 비트스트림(bitstream)으로 인코딩(encoding)하거나 인코딩된 비트스트림을 패키징(packaging)할 수 있다. 일 실시예에서 오리진 서버(110)는 인코더 또는 패키징 장치로 불릴 수 있다.
오리진 서버(110)는 다른 실시예에서 스포츠 중계 방송, 콘서트 실황 중계 등의 라이브 스트림(live stream), TV 프로그램, 영화 등의 미리 기록된 컨텐츠 또는 광고 컨텐츠를 제공 받아 이를 인코딩 또는 패키징 할 수 있다.
다른 실시예에서, 오리진 서버(110)는 이미 인코딩 또는 패키징 된 컨텐츠를 제공 받고 이를 CDN(120)으로 전송할 수 있으며, 이후 명세서에서 오리진 서버(110)가 인코딩 또는 패키징한다는 설명은 이미 인코딩 또는 패키징 된 컨텐츠를 제공 받고 이를 CDN(120)으로 전송하는 개념을 포함한다.
오리진 서버(110)는 컨텐츠를 서로 비트레이트(bitrate)가 다른 복수의 렌디션(rendition)으로 인코딩, 패키징하거나, 또는 서로 다른 비트레이트로 인코딩 또는 패키징된 컨텐츠를 제공 받아 이를 CDN(120)으로 전송할 수 있다.
컨텐츠를 다양한 설정 또는 환경에 기반하여 인코딩 또는 패키징한 각 비트스트림을 렌디션(Rendition)이라고 부를 수 있다.
서로 비트레이트가 다른 복수의 렌디션은 상위 비트레이트로 인코딩된 렌디션 및 하위 비트레이트로 인코딩 된 렌디션을 포함할 수 있고, 렌디션의 개수는 특별히 한정하지 않는다.
오리진 서버(110)는 컨텐츠에 대한 복수의 렌디션을 동시에 인코딩 또는 패키징하여 CDN 장치로 전송하거나, CDN 장치의 요청에 따라 복수의 렌디션 중 어느 한 렌디션을 인코딩 또는 패키징하여 전송할 수 있다.
컨텐츠의 각 렌디션은 적어도 하나의 세그먼트(segment, 청크(chunk)라 불릴 수 있다.)를 포함하고, 각 세그먼트는 적어도 하나의 화상 그룹(GOP, Group of Pictures)을 포함할 수 있다.
세그먼트는 컨텐츠가 인코딩 된 비트스트림의 일 부분을 나타내며, 각 세그먼트들은 사용자 단말에서 디코딩되어 재생되거나 사용자 단말에 (임시적 또는 일정 기간 동안) 저장될 수 있다.
오리진 서버(110)는 복수의 렌디션에 대한 매니페스트(manifest) 파일을 생성하거나 이를 제공 받아 CDN 장치로 전송할 수 있다.
다른 실시예에서, 해당 매니페스트 파일은 CDN(120) 내의 상위 계층(High-tier) 캐싱 노드가 생성하거나 제공할 수 있다.
상기 매니페스트 파일은 사용자 단말(130)이 요청 가능한 컨텐츠 비트스트림의 각 렌디션들의 세그먼트 또는 다른 관련 데이터들의 접속(요청) 경로 또는 관련 메타데이터(metadata)를 포함할 수 있다.
일 실시예로서, 동일한 컨텐츠에 대해 비트레이트가 서로 다른 복수의 렌디션이 존재하고 사용자 단말(130)이 이를 모두 이용 가능한 경우, 오리진 서버(110) 또는 상위 계층의 캐싱 노드는 상기 복수의 렌디션을 요청 가능한 접속 경로를 포함하여 매니페스트 파일을 생성할 수 있다. 일 실시예에서, 오리진 서버(110)가 매니페스트 파일을 생성하는 경우, CDN의 상위 계층 캐싱 노드는 이를 제공 받을 수 있다.
일 실시예에서, 오리진 서버(110)가 생성 또는 제공하는 매니페스트 파일은 비트레이트가 서로 다른 복수의 렌디션에 기반한 것일 수 있고, 각 렌디션은 복수의 세그먼트들로 구성되고, 어느 한 렌디션의 세그먼트들 중 일부의 세그먼트들은 서로 다른 해상도를 가지나 동일한 인코딩 품질 파라미터(encoding quality parameter) 값(또는 인코딩 품질 파라미터 값의 범위)을 가질 수 있다. 인코딩 품질 파라미터는 인코딩 시 영상의 화질 자체에 영향을 미치는 파라미터로서, QP(Quantization Parameter), RF(Rate Factor)일 수 있다. 이에 대해서는 아래에서 자세히 설명한다.
CDN(120)은 컴퓨팅 장치(예를 들면, 서버들)들의 네트워크로 구성된 시스템을 의미하며, CDN(120)의 각 컴퓨팅 장치는 노드(Node)로 불릴 수 있고, CDN(120)은 컨텐츠의 비트스트림화된 렌디션을 저장 또는 (각 노드간에 또는 사용자 단말로) 전송할 수 있다.
CDN(120)은 각 노드간에 광대역 네트워크를 통해 컨텐츠의 비트스트림화된 렌디션을 전송할 수 있으며, 네트워크는 예를 들어, 무선 네트워크, 유선 네트워크, 인터넷과 같은 공용 네트워크, 사설 네트워크, 모바일 통신 네트워크용 광역 시스템(global system for mobile communication network; GSM) 네트워크, 범용 패킷 무선 네트워크(general packet radio network; GPRS), 근거리 네트워크(local area network; LAN), 광역 네트워크(wide area network; WAN), 거대도시 네트워크(metropolitan area network; MAN), 셀룰러 네트워크, 공중 전화 교환 네트워크(public switched telephone network; PSTN), 개인 네트워크(personal area network), 블루투스, Wi-Fi 다이렉트(Wi-Fi Direct), 근거리장 통신(Near Field communication), 초 광 대역(UltraWide band), 이들의 조합, 또는 임의의 다른 네트워크일 수 있지만 이들로 한정되는 것은 아니다.
사용자 단말(130)은 네트워크를 통해 오리진 서버(110) 또는 별도의 장치(CDN의 DNS 서버, 컨텐츠 서버, 매니페스트 서버)등으로부터 사용자 단말(130)의 컨텐츠 제공 요청에 대한 컨텐츠 접속 정보를 수신하여, 해당 접속 정보에 따른 에지 서버로 컨텐츠 전송 요청을 할 수 있다.
본 명세서에 개시된 실시예의 사용자 단말(130)은 퍼스널 컴퓨터(PC, Personal Computer) 뿐만 아니라 태블릿 컴퓨터, 스마트폰 등을 포함한다.
도 2는 컨텐츠 전송 시스템을 포함한 실시예를 개략적으로 도시한다. 컨텐츠 전송 시스템은 에지 서버(223, 224)를 포함하는 CDN(220) 및 오리진(Origin) 서버(210)를 포함할 수 있다. 도 2는 오리진 서버(210)를 CDN 외부에 존재하는 것으로 도시했지만, 오리진 서버(210)는 CDN(220)의 한 장치로서 동작하는 것을 배제하지 않는다.
일 실시예로서, 오리진 서버(210)는 능동적인 스트림 서버로 동작할 수 있으며, 사용자 단말(230)로부터의 컨텐츠 데이터에 대한 요청이 CDN(220)을 통해서 또는 직접적으로 오리진 서버(210)로 전송될 수 있고, 상기 요청은 RTP/RTSP, RTMP 또는 HTTP에 기반한 프로토콜에 의할 수 있다.
일 실시예로서, 오리진 서버(210)는 컨텐츠의 비트스트림화된 렌디션 및 매니페스트 파일을 CDN(220)의 중간 계층(Mid-tier) 캐싱 노드(221, 222) 또는 에지 서버(223, 224)의 요청에 따라, 혹은 최초 컨텐츠 배포 시에 미리 중간 계층 캐싱 노드(221, 222) 또는 에지 서버(223, 224)에 전송할 수 있으며, 이는 CDN 서비스의 정책에 따라 다를 수 있다.
중간 계층 캐싱 노드(221, 222) 또는 에지 서버(223, 224)는 사용자 단말(230)의 컨텐츠 요청 또는 컨텐츠의 어느 한 렌디션 요청시 상위 계층 캐싱 노드 또는 오리진 서버(210)로 컨텐츠에 대한 복수의 렌디션 전체 또는 어느 한 렌디션을 요청하고 이를 전송 받은 후, 로컬 저장부에 저장할 수 있다.
이 경우, 복수의 렌디션은 동일한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 가질 수 있다. 또한, 복수의 렌디션의 각 렌디션들은 각각 복수의 세그먼트들을 포함하고, 각 렌디션은 서로 다른 해상도를 가지는 복수의 세그먼트들을 포함할 수 있다.
따라서, 사용자 단말이 동일한 비트레이트(Bitrate) 렌디션의 복수의 세그먼트들을 전송 받는 경우에도, 해상도는 다르나 동일한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 가진 세그먼트를 전송받으므로 영상의 특성이 변화하는 경우에도 사용자의 체감상 화질의 열화가 적은 컨텐츠를 전송받을 수 있다. 사용자의 컨텐츠에 대한 체감은 해상도 보다는 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)으로 대변되는 화질에 더 민감하기 때문이다.
일 실시예에서, 컨텐츠 제공자는 오리진 서버(210) 또는 네임 서버(미도시)를 통해 컨텐츠 제공을 위한 IP 어드레스를 질의 받으면 CDN 관리 서버(미도시)로 리 디렉션(Re-direction) 하거나 오리진 서버(210) 자체적 또는 리 디렉션된 CDN 관리 서버가 요청한 사용자 단말(230)의 상황을 고려하여 해당 컨텐츠를 보유하고 있는 에지 서버(223, 224)를 판단하여 해당 접속 경로를 사용자 단말(230)로 제공할 수 있다. 또는, 사용자 단말(230)은 미리 저장된 CDN 관리 서버의 IP 어드레스로 접속해 컨텐츠 제공 요청을 할 수 있고, CDN 관리 서버는 요청한 사용자 단말의 상황을 고려하여 적절한 에지 서버를 판단하여 해당 접속 경로를 사용자 단말로 알려줄 수 있다.
다른 실시예에서, 컨텐츠 제공자는 오리진 서버(210) 또는 네임 서버를 통해 컨텐츠 제공을 요청 받으면 응답으로서 매니페스트 파일을 전송하고, 사용자 단말(230)은 동일한 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션에 대한 접속 정보를 포함한 매니페스트 파일에 기반하고 사용자 단말(230)의 네트워크 상황을 고려하여 적합한 렌디션에 대해 매니페스트 파일의 접속 정보에 따라 에지 서버(223, 224)로 컨텐츠 제공 요청(렌디션 제공 요청)을 할 수 있다.
본 명세서에서 개시되는 컨텐츠 데이터의 렌디션에 대한 스트리밍 전송 방식은, 예를 들어, RTP/RTSP, RTMP 기반 프로토콜 또는 HTTP 기반 프로토콜(예를 들어, HLS/HDS, Smooth Streaming, Dynamic Streaming, MPEG DASH 등) 등일 수 있으나, 특별히 그 방법으로 한정되지 않는다.
일 실시예에서, 에지 서버(223, 224) 또는 중간 계층의 캐싱 노드(221, 222)가 사용자 단말(230)로부터 요청 받은 컨텐츠의 렌디션을 저장하고 있지 않은 경우, 오리진 서버(210) 또는 CDN의 상위 계층(High-tier) 캐싱 노드에 컨텐츠의 어느 한 렌디션에 대한 전송 요청을 전송할 수 있고, 오리진 서버(210) 또는 CDN의 상위 계층(High-tier) 캐싱 노드는 요청 받은 렌디션에 대한 비트스트림 데이터를 요청한 CDN 장치(221~224)로 전송할 수 있다.
오리진 서버(210)는 CDN 중간 계층 캐싱 노드(221, 222) 또는 에지 서버(223,224)로부터 특정 컨텐츠에 대한 복수의 렌디션 모두 또는 적어도 어느 한 렌디션에 대하여 전송 요청을 수신할 수 있고, 오리진 서버(210)는 요청한 CDN 장치(221~224)로 복수의 렌디션 모두 또는 적어도 어느 한 렌디션을 전송할 수 있다.
또 다른 실시예에서, 동일한 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션이 렌디션별로 서로 다른 에지 서버(223, 224)에 저장될 수 있다.
예를 들어, 도 2를 참조하면, 특정 컨텐츠의 상위 비트레이트 렌디션은 제1 에지서버(223)에 저장되고, 하위 비트레이트 렌디션은 제2 에지 서버(224)에 저장될 수 있다.
일 실시예로서, 사용자 단말(230)은 컨텐츠 요청에 따른 응답으로 서로 다른 비트레이트를 가지는 복수의 렌디션에 대한 정보가 포함된 매니페스트 파일을 전송 받고, 최초 세그먼트를 전송 받을 때는 네트워크 상황에 따라 제1 에지서버(223)로부터 상위 비트레이트 렌디션을 전송 받다가, 이 후 네트워크 상황이 나빠지면 매니페스트 파일을 참고하여 제2 에지서버(224)로부터 하위 비트레이트 렌디션을 이어서 전송 받을 수 있다.
이 경우, 제1 에지서버(223)가 보유한 상위 비트레이트 렌디션과 제2 에지서버가 보유한 하위 비트레이트 렌디션은 아래에서 설명될 도 3의 렌디션들(301, 302, 303)처럼 동일한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 가질 수 있다.
또한, 제1 에지서버(223)가 보유한 상위 비트레이트 렌디션과 제2 에지서버가 보유한 하위 비트레이트 렌디션은 아래에서 설명될 도 3의 렌디션들(301, 302, 303)처럼 각각 해상도가 서로 다른 복수의 세그먼트들로 구성될 수 있다.
오리진 서버(210) 또는 상위 계층의 CDN 캐싱 노드는 인코더(encoder) 또는 패키징 장치(packager)로 동작하는 경우 컨텐츠 원본을 제공받아 비트스트림으로 인코딩하거나 인코딩된 비트스트림을 패키징(packaging)할 수 있고, 패키징 시 비트스트림화된 렌디션들에 기반한 매니페스트 파일을 포함시킬 수 있다.
이 경우, 오리진 서버(210) 또는 상위 계층의 CDN 캐싱 노드는 컨텐츠 원본을 서로 다른 비트레이트를 가지는 복수의 렌디션으로 인코딩하거나 복수의 렌디션을 제공 받아 패키징할 수 있다.
일 실시예에서, 복수의 렌디션은 ABR 방식을 지원하기 위해서 서로 다른 비트레이트를 가지는 렌디션일 수 있다.
또한, 각 렌디션은 서로 다른 해상도를 가진 복수의 세그먼트들로 구성되고, 각 렌디션의 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)은 렌디션별이 다르더라도 서로 동일할 수 있다.
도 3을 참조하면, 일 실시예에서, 오리진 서버(210) 또는 상위 계층의 CDN 캐싱 노드는 인코더로 동작하여 컨텐츠 원본 데이터를 3Mbps의 비트레이트를 갖는 상위 렌디션(301), 1Mbps의 비트레이트를 갖는 중위 렌디션(302), 0.5Mbps의 비트레이트를 갖는 하위 렌디션(303)으로 인코딩하거나 제공 받을 수 있고, 렌디션의 개수는 특별히 한정하지 않고 서로 다른 비트레이트를 가지는 2개 이상의 복수의 렌디션일 수 있다.
일 실시예에서, 상위 렌디션(301), 중위 렌디션(302), 하위 렌디션(303)은 각각 복수의 세그먼트들로 구성될 수 있다. 예를 들면 각 렌디션은 첫 번째 세그먼트(310), 두 번째 세그먼트(320), 세 번째 세그먼트(330)를 포함할 수 있고, 컨텐츠 원본의 재생 시간에 따라 더 많은 세그먼트들을 포함할 수 있음은 당연하다.
일 실시예에서, 각 렌디션(301, 302, 303)은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함할 수 있다.
예를 들어 도 3을 참조하면, 상위 렌디션(301)은 720p(편의상 가로 방향의 해상도로 설명한다.)의 해상도를 가지는 첫 번째 세그먼트(311), 1080p의 해상도를 가지는 두 번째 세그먼트(321) 및 720p의 해상도를 가지는 세 번째 세그먼트(331)를 포함할 수 있으며, 중위 렌디션(302)은 480p의 해상도를 가지는 첫 번째 세그먼트(312), 720p의 해상도를 가지는 두 번째 세그먼트(322) 및 720p의 해상도를 가지는 세 번째 세그먼트(332)를 포함할 수 있으며, 하위 렌디션(303)은 320p의 해상도를 가지는 첫 번째 세그먼트(313), 480p의 해상도를 가지는 두 번째 세그먼트(323) 및 320p의 해상도를 가지는 세 번째 세그먼트(333)를 포함할 수 있다.
일 실시예에서, 각 렌디션(301, 302, 303)은 동일한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 가질 수 있다.
예를 들어, 도 3을 참조하면, 상위 렌디션(301), 중위 렌디션(302) 및 하위 렌디션(303)은 동일한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 가질 수 있다.
일 실시예에서, 각 렌디션(301, 302, 303)에 포함된 세그먼트들의 해상도 변화 양상은 서로 동일할 수 있다.
도 3을 참조하여 설명하면, 상위 렌디션(301)은 첫 번째 세그먼트(311)의 해상도보다 두 번째 세그먼트(321)의 해상도가 더 크며, 세 번째 세그먼트(331)의 해상도는 두 번째 세그먼트(321)의 해상도보다 작아지며 다시 첫 번째 세그먼트(311)의 해상도와 같아진다. 이러한 상위 렌디션(301)에 포함된 세그먼트들의 해상도 변화 양상은 중위 렌디션(302) 및 하위 렌디션(303)에 포함된 세그먼트들의 해상도 변화 양상과 같아서, 중위 렌디션(302) 및 하위 렌디션(303)에 포함된 세그먼트들도 첫 번째 세그먼트(310)의 해상도보다 두 번째 세그먼트(320)의 해상도가 크고 세 번째 세그먼트(330)의 해상도는 두 번째 세그먼트(320)의 해상도보다 작아지면서 다시 첫 번째 세그먼트(310)의 해상도와 같아지는 변화를 보일 수 있다.
도 3에서 설명한, 오리진 서버(110, 210) 또는 상위 계층의 CDN 캐싱 노드가 인코딩한 복수의 렌디션들 또는 제공 받은 복수의 렌디션들은, 중간 계층의 CDN 캐싱 노드(221, 222) 및/또는 에지 서버(223, 224)에 모두 저장되거나 각 중간 계층의 CDN 개싱 노드 별 및/또는 각 에지 서버 별로 어느 한 렌디션만 저장될 수 있다.
도 4는 서로 다른 비트레이트를 가지는 복수의 렌디션을 생성하는 실시예를 개략적으로 도시한다.
일 실시예에서 오리진 서버(110, 210) 또는 별도의 인코딩 장치(미도시)는 컨텐츠 원본 데이터를 인코딩하여 서로 다른 비트레이트를 가지는 복수의 렌디션으로서, 각 렌디션은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함하고, 동일한 렌디션의 각 세그먼트들은 미리 설정된 범위의 인코딩 품질 파라미터 값 또는 동일한 인코딩 품질 파라미터 값을 갖는 복수의 렌디션을 생성할 수 있다.
예를 들면, 오리진 서버(110, 210) 또는 별도의 인코딩 장치는 컨텐츠 원본 데이터를 제공 받아 해상도 별로 각각 복수의 중간(intermediate, temporary) 렌디션을 생성하되, 각 중간 렌디션들은 동일한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 가지도록 설정하여 인코딩할 수 있다. 따라서, 동일한 중간 렌디션의 경우에도 도 4 처럼 인코딩되는 컨텐츠 원본 데이터의 영상 특성(움직임, 복잡도 등)에 따라 데이터 크기(비트레이트)가 서로 다른 세그먼트들이 생성될 수 있다.
도 4를 참조하면, 오리진 서버(110, 210) 또는 별도의 인코딩 장치는 컨텐츠 원본 데이터를 제공 받아 1080p(편의상 가로 방향의 해상도로 설명한다.)의 해상도 및 미리 설정된 일정한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 갖도록 인코더(encoder)를 설정하여 첫 번째 중간 렌디션(410)을 생성하고, 720p의 해상도 및 첫 번째 중간 렌디션(410)과 동일한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 갖도록 인코더를 설정하여 두 번째 중간 렌디션(420)을 생성하고, 480p의 해상도 및 첫 번째 중간 렌디션(410)과 동일한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 갖도록 인코더를 설정하여 세 번째 중간 렌디션(430)을 생성하고, 320p의 해상도 및 첫 번째 중간 렌디션(410)과 동일한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 갖도록 인코더를 설정하여 네 번째 중간 렌디션(440)을 생성할 수 있다.
이 경우, 각 중간 렌디션은 해상도 및 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)이 고정되어 인코딩되므로 컨텐츠 원본의 내용의 영상 특성에 따라 각기 다른 데이터 크기(비트레이트)로 인코딩된다. 즉, 움직임이 많은 장면 또는 복잡한 장면 등은 세그먼트 파일 크기가 증가하고, 그 반대의 경우는 세그먼트 파일 크기가 작아지게 된다.
예를 들어, 도 4를 참조하면, 첫 번째 중간 렌디션(410)의 각 세그먼트들은 1080p의 동일한 해상도와 동일한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 가지나 컨텐츠 원본의 내용의 영상 특성에 따라 첫 번째 세그먼트(411)는 파일 크기가 5Mbps이나 두 번째 세그먼트(412)는 파일 크기가 3Mbps이고 세 번째 세그먼트(413)는 파일 크기가 다시 5Mbps일 수 있다.
동일한 컨텐츠 원본을 해상도만 다르게 인코딩한 것이므로, 세그먼트 파일 크기 변화의 양상은 두 번째 중간 렌디션(420), 세 번째 중간 렌디션(430) 및 네 번째 중간 렌디션(440)에도 같게 나타남을 알 수 있다.
중간 렌디션들(410, 420, 430, 440)이 생성된 후, 또는 중간 렌디션들의 각 세그먼트들이 생성될 때마다, 동일한 파일 크기를 갖는 세그먼트들을 모아서 서로 비트레이트가 다른 최종 렌디션을 구성할 수 있다.
예를 들어, 도 3 및 도 4를 참조하면, 매니페스트에 3 가지의 서로 다른 비트레이트를 가지는 최종 렌디션들의 비트레이트 기준이 3Mbps, 1Mbps, 0.5Mbps로 설정되어 3Mbps, 1Mbps, 0.5Mbps의 비트레이트를 가지는 상위 렌디션(301), 중위 렌디션(302), 하위 렌디션(303)의 최종 렌디션을 구성한다면, 중간 렌디션들(410, 420, 430, 440)의 첫 번째 세그먼트들(411, 421, 431, 441)이 생성된 후 두 번째 중간 렌디션(420)의 첫 번째 세그먼트(421)로 상위 렌디션(301)의 첫 번째 세그먼트(311)를 구성하고, 세 번째 중간 렌디션(430)의 첫 번째 세그먼트(431)로 중위 렌디션(302)의 첫 번째 세그먼트(312)를 구성하고, 네 번째 중간 렌디션(440)의 첫 번째 세그먼트(441)로 하위 렌디션(303)의 첫 번째 세그먼트(313)를 구성할 수 있다.
최종 렌디션을 구성할 때 각 최종 렌디션들에서 동일한 렌디션의 각 세그먼트들은 컨텐츠 데이터의 서로 다른 재생 부분에 대응되고, 재생 순서가 겹치지 않도록 중간 렌디션에서 선택된다.
또한, 복수의 중간 렌디션들에 포함된 세그먼트들에 기반하여 최종 렌디션을 구성할 때, 중간 렌디션의 각 세그먼트에 대해 PSNR, SSIM, MS-SSIM 또는 VMAF 측정 방법을 이용해 품질 측정을 수행하고, 측정된 중간 렌디션 세그먼트의 품질에 기반하여 미리 설정된 품질 기준에 적합하지 않은 경우 그보다 하위 비트레이트를 가지는 중간 렌디션의 세그먼트를 이용하여 최종 렌디션을 구성할 수 있다.
예를 들어, 상위 렌디션(301)의 첫 번째 세그먼트(311)를 구성할 때 두 번째 중간 렌디션(420)의 첫 번째 세그먼트(421)가 세그먼트 품질 기준에 적합하지 않다면 그보다 비트레이트가 낮은 세 번째 중간 렌디션(430)의 첫 번째 세그먼트(431)에 대하여 품질을 측정하고 이를 이용하여 상위 렌디션(301)의 첫 번째 세그먼트(311)를 구성할 수 있다.
품질 측정은 PSNR(Peak Signal-to-noise ratio), SSIM(Structural Similarity Index), MS-SSIM(Multi-scale Structural Similarity) 또는 VMAF(Video Multimethod Assessment Fusion) 등의 영상 품질 평가 방법을 사용할 수 있으며, 영상의 품질을 측정하는 방법으로서 결과를 비교 가능한 것이라면 특별히 그 종류를 한정하지 않는다.
이 후 중간 렌디션들(410, 420, 430, 440)의 두 번째 세그먼트들(412, 422, 432, 442)이 생성된 후 첫 번째 중간 렌디션(410)의 두 번째 세그먼트(412)로 상위 렌디션(301)의 두 번째 세그먼트(321)를 구성하고, 두 번째 중간 렌디션(420)의 두 번째 세그먼트(422)로 중위 렌디션(302)의 두 번째 세그먼트(312)를 구성하고, 세 번째 중간 렌디션(430)의 두 번째 세그먼트(432)로 하위 렌디션(303)의 두 번째 세그먼트(323)를 구성할 수 있다.
마찬가지 방법으로, 중간 렌디션들(410, 420, 430, 440)의 세 번째 세그먼트들(413, 423, 433, 443)이 생성된 후 최종 렌디션들(301, 302, 303)의 세 번째 세그먼트들(331, 332, 333)을 구성할 수 있다.
오리진 서버(110, 210) 또는 별도의 인코딩 장치 또는 별도의 패키징 장치는 생성된 최종 렌디션들에 대해서 매니페스트 파일을 생성할 수 있다.
중간 렌디션들 및 최종 렌디션들의 생성은 복수의 인코더를 이용하여 동시에 생성될 수 있고, 라이브 스트림을 인코딩하는 경우 라이브 스트림의 입력으로부터 짧은 시간 간격(예를 들면, 한 세그먼트의 재생 시간)을 두고 거의 리얼 타임으로 최종 렌디션들을 생성할 수 있다.
도 5는 에지 서버(223, 224)의 구성을 개략적으로 도시한다.
일 실시예에서, 에지 서버(223, 224)는 특정 비디오 컨텐츠에 대한 서로 다른 비트레이트를 가지는 복수의 렌디션 또는 어느 한 렌디션을 일시적 또는 일정 기간 동안 저장하는 저장부(510), 사용자 단말로부터 컨텐츠 전송 요청 또는 렌디션 전송 요청을 전송 받고 이에 대한 응답을 전송하는 통신부(520) 및 사용자 단말의 전송 요청에 대한 응답으로 통신부(520)로 하여금 어느 한 렌디션을 전송하도록 제어하는 제어부(530)를 포함할 수 있다.
일 실시예에서, 에지 서버(223, 224)는 사용자의 컨텐츠 요청에 따라 상위 캐싱 노드 또는 오리진 서버로 비디오 컨텐츠에 대한 서로 다른 비트레이트를 가지는 복수의 렌디션 또는 어느 한 렌디션을 요청하고 이를 전송 받아 저장부에 저장할 수 있다.
다른 실시예에서, 에지 서버(223, 224)는 컨텐츠 제공자 또는 CDN 사업자의 정책에 따라 상위 캐싱 노드 또는 오리진 서버로부터 비디오 컨텐츠에 대한 서로 다른 비트레이트를 가지는 복수의 렌디션 또는 어느 한 렌디션을 전송 받아 저장부에 저장할 수 있다.
에지 서버(223, 224)의 저장부가 복수의 렌디션을 저장하는 경우, 복수의 렌디션의 각 렌디션은 서로 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)이 동일할 수 있다.
또한, 상기 복수의 렌디션의 각 렌디션은 도 3과 같은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함할 수 있다.
저장부(510)는 자기 저장 매체(magnetic storage media), 플래시 저장 매체(flash storage media)를 포함할 수 있고 일시적 저장 매체 또는 반 영구적 저장 매체일 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
통신부(520)는 사용자 단말로부터 비디오 컨텐츠에 대한 특정 렌디션(예를 들어, 상위 비트레이트 렌디션)의 전송 요청을 수신할 수 있고, 제어부(530)는 이에 대한 응답으로서 통신부(520)로 하여금 사용자 단말이 요청한 렌디션의 적어도 하나의 세그먼트를 전송하도록 제어할 수 있다.
이 후, 통신부(520)는 상기 사용자 단말로부터 네트워크 환경이 변화하여 동일한 비디오 컨텐츠에 대한 다른 렌디션(예를 들어, 하위 비트레이트 렌디션)의 전송 요청을 수신할 수 있고, 제어부(530)는 이에 대한 응답으로서 통신부(520)로 하여금 다른 렌디션의 적어도 하나의 세그먼트를 전송하도록 제어할 수 있고, 이 경우 앞서 설명한 것처럼 다른 렌디션의 세그먼트는 처음 전송한 렌디션의 세그먼트와 비트레이트는 상이하지만 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)은 동일할 수 있다.
도 6은 컨텐츠 서버의 구성을 개략적으로 도시한다.
일 실시예에서 컨텐츠 서버는 오리진 서버(110, 210)이거나 상위 계층의 CDN 캐싱 노드일 수 있다.
일 실시예에서, 컨텐츠 서버는 특정 비디오 컨텐츠에 대한 서로 다른 비트레이트를 가지는 복수의 렌디션에 기반한 매니페스트 파일을 생성하거나 일시적 또는 일정 기간 동안 저장하는 패키징부(610), CDN 장치로부터 컨텐츠 전송 요청 또는 렌디션 전송 요청을 전송 받고 이에 대한 응답을 전송하는 통신부(620) 및 CDN 장치의 전송 요청에 대한 응답으로 통신부(520)로 하여금 어느 한 렌디션을 전송하도록 제어하는 제어부(630)를 포함할 수 있다.
일 실시예에서, 컨텐츠 서버의 패키징부(610)는 컨텐츠의 원본 메자니 파일, 라이브 스트림 등을 서로 다른 비트레이트로 인코딩하거나 인코딩된 복수의 렌디션을 제공 받고, 서로 다른 비트레이트를 가지는 복수의 렌디션에 기반하여 매니페스트 파일을 생성하거나 제공 받아 일시적 또는 일정 기간 동안 저장할 수 있다.
컨텐츠 서버의 패키징부(610)가 복수의 렌디션에 대한 매니페스트 파일을 생성하거나 저장하는 경우, 매니페스트 파일이 기반한 복수의 렌디션의 각 렌디션은 서로 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)이 동일할 수 있다.
또한, 상기 복수의 렌디션의 각 렌디션은 도 3과 같은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함할 수 있다.
이 경우, 매니페스트 파일에는 복수의 렌디션에 대한 비트레이트 정보, 컨텐츠의 재생시간, 접속 경로(URL 등), 인코딩 타입, 세그먼트의 해상도 등에 대한 정보를 포함할 수 있다.
매니페스트 파일은 각 렌디션의 매니페스트 파일을 지시하는 방식일 수 있고, 각 렌디션의 매니페스트 파일은 각 렌디션의 세그먼트 접속 경로, 세그먼트의 재생 시간, 인코딩 타입, 세그먼트의 해상도 등에 대한 정보를 포함할 수 있다.
일 실시예에서, 컨텐츠 서버의 패키징부(610)는 각 렌디션을 HLS(HTTP Live Streaming), DASH(Dynamic Adaptive Streaming over HTTP) 및 MSS(Microsoft Smooth Streaming) 형식으로 패키징할 수 있다.
통신부(620)는 CDN 장치(에지 서버, 중간 계층의 캐싱 노드 등)로부터 비디오 컨텐츠에 대한 특정 렌디션(예를 들어, 상위 비트레이트 렌디션) 또는 렌디션 전부의 전송 요청을 수신할 수 있고, 제어부(630)는 이에 대한 응답으로서 통신부(620)로 하여금 CDN 장치가 요청한 렌디션 또는 렌디션 전부를 CDN 장치로 전송하도록 제어할 수 있다.
일 실시예에서, CDN 장치가 특정 컨텐츠에 대한 복수의 렌디션의 전송을 요청하는 경우, 각 렌디션의 비트레이트는 서로 다르나 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)은 동일하고, 각 렌디션은 도 3과 같은 서로 다른 해상도를 가지는 복수의 세그먼트들을 포함할 수 있다.
상기 패키징부 또는 제어부는 범용적인 중앙 처리 장치(CPU) 이외에도 ASICs(application specific integrated circuits), FPGAs(field programmable gate arrays), PLDs(programmable logic devices), CPLDs(complex programmable logic devices), RFICs(radio frquency integrated circuits), ASSPs(application specific standard products)로 구현되거나, 해당 프로세서에 의해 실행 가능한 명령어들 또는 펌웨어(firmware) 또는 소프트웨어(software)로 구현될 수 있다.
도 7은 에지 서버(223, 224)의 동작을 개략적으로 도시한다.
에지 서버(223, 224)는 오리진 서버(110, 210) 또는 상위 캐싱 노드로부터 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션을 저장할 수 있다(S710). 복수의 렌디션의 각 렌디션은 서로 동일한 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)을 가질 수 있다. 복수의 렌디션의 각 렌디션은 복수의 세그먼트들을 포함할 수 있고, 이 경우 복수의 세그먼트들 중 적어도 2개의 세그먼트는 서로 해상도가 다른 세그먼트일 수 있다.
에지 서버(223, 224)는 사용자 단말(130, 230)로부터 특정 컨텐츠에 대한 요청 또는 특정 컨텐츠의 어느 한 렌디션에 대한 요청을 수신하면(S720), 사용자 단말이 요청한 렌디션 또는 네트웍 상황에 맞는 렌디션을 사용자 단말(130, 230)로 전송할 수 있다(S730).
예를 들어, 사용자 단말(130, 230)이 특정 컨텐츠에 대해 상위 비트레이트 렌디션의 전송을 요청하는 경우, 에지 서버(223, 224)는 해당 상위 비트레이트 렌디션의 첫 번째 세그먼트부터 전송을 시작하고, 매니페스트 파일 정책에 따라 사용자 단말은 각 세그먼트 전송시마다 에지 서버로 요청하거나 일정 개수의 세그먼트 단위로 에지 서버로 전송을 요청할 수 있다.
사용자 단말(130, 230)이 동일한 상위 렌디션의 후속 세그먼트들에 대해서 전송 요청을 다시 하는 경우(S740), 에지 서버(223, 224)가 그에 대한 응답으로 전송하는 동일한 상위 렌디션의 후속 세그먼트들은 앞서 전송된 상위 렌디션의 세그먼트와 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)은 동일하지만 해상도는 서로 다를 수 있다(S750).
다른 실시예로서, 사용자 단말(130, 230)의 네트워크 상황이 변하여 상위 렌디션이 아닌 하위 비트레이트 렌디션을 요청할 수 있다(S740). 이 경우, 하위 렌디션의 후속 세그먼트들은 앞서 전송된 상위 렌디션의 세그먼트와 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)은 서로 동일할 수 있다.
도 8은 컨텐츠 서버의 동작을 개략적으로 도시한다.
일 실시예에서 컨텐츠 서버는 오리진 서버(110, 210)이거나 상위 계층의 CDN 캐싱 노드일 수 있다.
컨텐츠 서버는 컨텐츠의 원본 메자니 파일, 라이브 스트림 등을 서로 다른 비트레이트로 인코딩하거나 인코딩된 복수의 렌디션을 제공 받고, 서로 다른 비트레이트를 가지는 복수의 렌디션에 기반하여 매니페스트 파일을 생성하거나 제공 받아 일시적 또는 일정 기간 동안 저장할 수 있다(S810).
컨텐츠 서버가 복수의 렌디션에 대한 매니페스트 파일을 생성하거나 제공 받는 경우, 매니페스트 파일이 기반한 복수의 렌디션의 각 렌디션은 서로 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)이 동일할 수 있다.
상기 복수의 렌디션의 각 렌디션은 도 3과 같은 서로 다른 해상도를 가지는 세그먼트들을 포함할 수 있다.
매니페스트 파일에는 복수의 렌디션에 대한 비트레이트 정보, 컨텐츠의 재생시간, 접속 경로(URL 등), 인코딩 타입, 세그먼트의 해상도 등에 대한 정보를 포함할 수 있고, 매니페스트 파일은 각 렌디션의 매니페스트 파일을 지시하는 방식일 수 있고, 각 렌디션의 매니페스트 파일은 각 렌디션의 세그먼트 접속 경로, 세그먼트의 재생 시간, 인코딩 타입, 세그먼트의 해상도 등에 대한 정보를 포함할 수 있다.
컨텐츠 서버는 CDN 장치(에지 서버, 중간 계층의 캐싱 노드 등)로부터 비디오 컨텐츠에 대한 특정 렌디션(예를 들어, 상위 비트레이트 렌디션) 또는 렌디션 전부의 전송 요청을 수신할 수 있고(S820), 이에 대한 응답으로서 CDN 장치가 요청한 렌디션 또는 렌디션 전부를 CDN 장치로 전송할 수 있다(S830).
일 실시예에서, CDN 장치가 특정 컨텐츠에 대한 복수의 렌디션의 전송을 요청하는 경우, 각 렌디션의 비트레이트는 서로 다르나 인코딩 품질 파라미터 값(또는 인코딩 품질 파라미터 값의 범위)은 서로 동일하고, 각 렌디션은 도 3과 같은 서로 다른 해상도를 가지는 복수의 세그먼트들을 포함할 수 있다.
본 문서에서 사용된 용어 "부"는, 예를 들어, 하드웨어, 소프트웨어 또는 펌웨어(firmware) 중 하나 또는 둘 이상의 조합을 포함하는 단위(unit)를 의미할 수 있다. "부"는, 예를 들어, 유닛(unit), 로직(logic), 논리블록 (logical block), 부품(component), 또는 회로(circuit) 등의 용어와 바꾸어 사용(interchangeably use)될 수 있다. "부"는, 일체로 구성된 부품의 최소 단위 또는 그 일부가 될 수 있다. "부"는 하나 또는 그 이상의 기능을 수행하는 최소 단위 또는 그 일부가 될 수도 있다. "부"는 기계적으로 또는 전자적으로 구현될 수 있다. 예를 들어, "부"는, 알려졌거나 앞으로 개발될, 어떤 동작들을 수행하는 ASIC(application-specific integrated circuit) 칩, FPGAs(field-programmable gate arrays) 또는 프로그램 가능 논리 장치(programmable-logic device) 중 적어도 하나를 포함할 수 있다.
다양한 실시예에 따른 장치(예: 모듈들 또는 그 기능들) 또는 방법(예: 동작들)의 적어도 일부는, 예컨대, 프로그램 모듈의 형태로 컴퓨터로 읽을 수 있는 저장매체(computer-readable storage media)에 저장된 명령어로 구현될 수 있다. 상기 명령어가 프로세서에 의해 실행될 경우, 상기 하나 이상의 프로세서가 상기 명령어에 해당하는 기능을 수행할 수 있다. 컴퓨터로 읽을 수 있는 저장매체는, 예를 들어, 상기 저장부(510)가 될 수 있다.
컴퓨터로 판독 가능한 기록 매체는, 하드디스크, 플로피디스크, 마그네틱 매체(magnetic media)(예: 자기테이프), 광기록 매체(optical media)(예: CD-ROM(compact disc read only memory), DVD(digital versatile disc), 자기-광 매체(magneto-optical media)(예: 플롭티컬 디스크(floptical disk)), 하드웨어 장치(예: ROM(read only memory), RAM(random access memory), 또는 플래시 메모리 등) 등을 포함할 수 있다. 또한, 프로그램 명령에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 다양한 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지다.
다양한 실시예에 따른 모듈 또는 프로그램 모듈은 전술된 구성요소들 중 적어도 하나 이상을 포함하거나, 일부가 생략되거나, 또는 추가적인 다른 구성요소를 더 포함할 수 있다. 다양한 실시예에 따른 모듈, 프로그램 모듈 또는 다른 구성요소에 의해 수행되는 동작들은 순차적, 병렬적, 반복적 또는 휴리스틱(heuristic)한 방법으로 실행될 수 있다. 또한, 일부 동작은 다른 순서로 실행되거나, 생략되거나, 또는 다른 동작이 추가될 수 있다.
이상에서 본 명세서의 기술에 대한 바람직한 실시 예가 첨부된 도면들을 참조하여 설명되었다. 여기서, 본 명세서 및 청구 범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니되며, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
본 발명의 범위는 본 명세서에 개시된 실시 예들로 한정되지 아니하고, 본 발명은 본 발명의 사상 및 특허청구범위에 기재된 범주 내에서 다양한 형태로 수정, 변경, 또는 개선될 수 있다.

Claims (10)

  1. 컴퓨팅 장치에 의해 수행되는 동작으로서,
    동일한 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션(rendition)으로서, 각 렌디션은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함하고, 상기 복수의 렌디션의 각 세그먼트들은 동일한 인코딩 품질 파라미터 값의 범위를 갖는 상기 복수의 렌디션을 저장하는 동작;
    사용자 단말의 제1 요청을 수신하는 동작; 및
    상기 사용자 단말의 제1 요청에 대한 응답으로 상기 복수의 렌디션 중 제1 렌디션의 제1 세그먼트를 전송하는 동작을 포함하는 에지 서버의 비디오 스트리밍 방법.
  2. 제1 항에 있어서,
    상기 사용자 단말의 제2 요청을 수신하는 동작을 더 포함하고,
    상기 사용자 단말의 제2 요청에 대한 응답으로 상기 제1 렌디션과 다른 제2 렌디션의 적어도 하나의 세그먼트를 전송하는 동작을 포함하고,
    상기 제2 렌디션의 세그먼트는 상기 제1 렌디션의 제1 세그먼트의 인코딩 품질 파라미터 값과 동일한 인코딩 품질 파라미터 값의 범위를 가지고, 상기 제1 렌디션의 제1 세그먼트의 비트레이트와 다른 비트레이트를 갖는 에지 서버의 비디오 스트리밍 방법.
  3. 제1 항에 있어서,
    상기 사용자 단말의 제2 요청을 수신하는 동작을 더 포함하고,
    상기 사용자 단말의 제2 요청에 대한 응답으로 상기 제1 렌디션의 제2 세그먼트를 전송하는 동작을 포함하고,
    상기 제2 세그먼트의 해상도는 상기 제1 세그먼트의 해상도와 상이하고, 상기 제2 세그먼트의 비트레이트는 상기 제1 세그먼트의 비트레이트와 동일한 에지 서버의 비디오 스트리밍 방법.
  4. 제1 항에 있어서,
    상기 사용자 단말의 제1 요청 및 상기 제1 요청에 대한 응답은 HTTP(hypertext transfer protocol)에 기반하는 에지 서버의 비디오 스트리밍 방법.
  5. 컴퓨팅 장치에 의해 수행되는 동작으로서,
    동일한 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션(rendition)에 기반한 매니페스트(manifest) 파일을 생성하거나 제공받는 동작;
    CDN(Contents Delivery Network) 장치로부터 상기 복수의 렌디션 중 적어도 어느 한 렌디션에 대한 데이터 전송 요청을 수신하는 동작; 및
    요청받은 렌디션에 대한 데이터를 상기 CDN 장치로 전송하는 동작을 포함하고,
    상기 복수의 렌디션의 각 렌디션은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함하고,
    상기 복수의 렌디션의 세그먼트들은 동일한 인코딩 품질 파라미터 값을 갖는 컨텐츠 서버의 비디오 스트리밍 방법.
  6. 제5 항에 있어서,
    상기 복수의 렌디션의 각 렌디션에 포함된 세그먼트들의 해상도 변화 양상은 서로 동일한 컨텐츠 서버의 비디오 스트리밍 방법.
  7. 동일한 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션(Rendition)으로서, 각 렌디션은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함하고, 상기 복수의 렌디션의 각 세그먼트들은 동일한 인코딩 품질 파라미터 값을 갖는 상기 복수의 렌디션을 저장하는 저장부;
    사용자 단말로부터 상기 비디오 컨텐츠에 대한 제1 전송 요청을 수신하고 이에 대한 응답을 송신하는 통신부; 및
    상기 통신부를 통한 상기 사용자 단말의 제1 전송 요청에 대한 응답으로 상기 복수의 렌디션 중 제1 렌디션의 제1 세그먼트를 전송하도록 제어하는 제어부를 포함하는 에지 서버.
  8. 제7 항에 있어서,
    상기 통신부는 상기 사용자 단말의 상기 비디오 컨텐츠에 대한 제2 전송 요청을 수신하고,
    상기 제어부는 상기 제2 전송 요청에 대한 응답으로 상기 제1 렌디션과 다른 제2 렌디션의 적어도 하나의 세그먼트를 전송하도록 제어하고,
    상기 제2 렌디션의 세그먼트는 상기 제1 렌디션의 제1 세그먼트의 인코딩 품질 파라미터 값과 동일한 인코딩 품질 파라미터 값을 가지고, 상기 제1 렌디션의 제1 세그먼트의 비트레이트와 다른 비트레이트를 갖는 에지 서버.
  9. 제1 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션(rendition) 중 제1 렌디션을 저장하고, 사용자 단말로 상기 제1 렌디션의 적어도 하나의 세그먼트를 전송하는 제1 서버; 및
    상기 제1 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션 중 제2 렌디션을 저장하고, 상기 사용자 단말로 상기 제2 렌디션의 적어도 하나의 세그먼트를 전송하는 제2 서버를 포함하고,
    상기 제1 렌디션은 서로 다른 해상도를 가지는 복수의 세그먼트들을 포함하고,
    상기 제2 렌디션은 서로 다른 해상도를 가지는 복수의 세그먼트들을 포함하고,
    상기 제1 렌디션 및 상기 제2 렌디션은 동일한 인코딩 품질 파라미터 값을 가지는 CDN(Contents Delivery Network) 시스템.
  10. 동일한 비디오 컨텐츠의 서로 다른 비트레이트를 가지는 복수의 렌디션(rendition)에 기반한 매니페스트(manifest) 파일을 생성 또는 저장하는 패키징부;
    CDN(Contents Delivery Network) 장치로부터 상기 복수의 렌디션 중 적어도 어느 한 렌디션에 대한 데이터 전송 요청을 수신하는 통신부; 및
    요청받은 렌디션에 대한 데이터를 상기 CDN 장치로 전송하도록 제어하는 제어부를 포함하고,
    상기 복수의 렌디션 중 각 렌디션은 서로 다른 해상도를 가진 복수의 세그먼트들을 포함하고,
    상기 복수의 렌디션 중 각 렌디션의 복수의 세그먼트들은 동일한 인코딩 품질 파라미터 값을 갖는 컨텐츠 서버.
KR1020180171354A 2018-12-27 2018-12-27 컨텐츠 스트리밍 장치, 시스템 및 방법 KR20200081161A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020180171354A KR20200081161A (ko) 2018-12-27 2018-12-27 컨텐츠 스트리밍 장치, 시스템 및 방법
PCT/KR2018/016886 WO2020138567A1 (ko) 2018-12-27 2018-12-28 컨텐츠 스트리밍 장치, 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180171354A KR20200081161A (ko) 2018-12-27 2018-12-27 컨텐츠 스트리밍 장치, 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20200081161A true KR20200081161A (ko) 2020-07-07

Family

ID=71126095

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180171354A KR20200081161A (ko) 2018-12-27 2018-12-27 컨텐츠 스트리밍 장치, 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR20200081161A (ko)
WO (1) WO2020138567A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220006943A (ko) * 2020-07-09 2022-01-18 동국대학교 경주캠퍼스 산학협력단 사용자의 네트워크 상태를 기반으로 가상 3d 객체를 모델링하는 방법 및 장치
KR102539674B1 (ko) * 2022-10-20 2023-06-02 주식회사 메디씽큐 캐시 서버를 이용한 수술 영상 전송 방법 및 이를 이용한 시스템
KR102539691B1 (ko) * 2022-10-20 2023-06-02 주식회사 메디씽큐 수술 단계 영상 전송 방법 및 이를 이용한 시스템

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101777347B1 (ko) * 2009-11-13 2017-09-11 삼성전자주식회사 부분화에 기초한 적응적인 스트리밍 방법 및 장치
US9357275B2 (en) * 2011-09-06 2016-05-31 Qualcomm Incorporated Network streaming of coded video data
US9125073B2 (en) * 2012-08-03 2015-09-01 Intel Corporation Quality-aware adaptive streaming over hypertext transfer protocol using quality attributes in manifest file
US10218981B2 (en) * 2015-02-11 2019-02-26 Wowza Media Systems, LLC Clip generation based on multiple encodings of a media stream
US20190014358A1 (en) * 2016-02-12 2019-01-10 Sony Corporation Information processing apparatus and information processing method

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220006943A (ko) * 2020-07-09 2022-01-18 동국대학교 경주캠퍼스 산학협력단 사용자의 네트워크 상태를 기반으로 가상 3d 객체를 모델링하는 방법 및 장치
KR102539674B1 (ko) * 2022-10-20 2023-06-02 주식회사 메디씽큐 캐시 서버를 이용한 수술 영상 전송 방법 및 이를 이용한 시스템
KR102539691B1 (ko) * 2022-10-20 2023-06-02 주식회사 메디씽큐 수술 단계 영상 전송 방법 및 이를 이용한 시스템
WO2024085467A1 (ko) * 2022-10-20 2024-04-25 주식회사 메디씽큐 수술 단계 영상 전송 방법 및 이를 이용한 시스템
WO2024085466A1 (ko) * 2022-10-20 2024-04-25 주식회사 메디씽큐 캐시 서버를 이용한 수술 영상 전송 방법 및 이를 이용한 시스템

Also Published As

Publication number Publication date
WO2020138567A1 (ko) 2020-07-02

Similar Documents

Publication Publication Date Title
US9351020B2 (en) On the fly transcoding of video on demand content for adaptive streaming
US10368075B2 (en) Clip generation based on multiple encodings of a media stream
US9936206B2 (en) Distributed encoding of a video stream
US9042449B2 (en) Systems and methods for dynamic transcoding of indexed media file formats
US9100461B2 (en) Automatically publishing streams to multiple destinations
US9113182B2 (en) Selecting a media content source based on monetary cost
US20140297804A1 (en) Control of multimedia content streaming through client-server interactions
US10298965B2 (en) Selection of a content source based on performance data
US8997199B2 (en) Token-based security for links to media streams
KR20180018747A (ko) 미디어 세그먼트들을 저장하기 위한 디렉토리 제한 기반 시스템 및 방법
US9253545B2 (en) Routing media content based on monetary cost
US10834161B2 (en) Dash representations adaptations in network
KR20200081161A (ko) 컨텐츠 스트리밍 장치, 시스템 및 방법
KR20120035881A (ko) Http 스트리밍의 표현 스위칭시 자연스런 재생을 위한 스케일러블한 http 스트리밍 전송 방법
US11743535B2 (en) Video fragment file processing
EP2773078A1 (en) Method, system and devices for multimedia content delivery using adaptive streaming
US20190069036A1 (en) System and method for distributed control of segmented media
US9607002B2 (en) File retrieval from multiple storage locations
KR20200081162A (ko) 컨텐츠 인코딩 장치 및 방법
KR101819193B1 (ko) 실시간 파일 포맷 변환 스트리밍 서비스 방법
JP6400163B2 (ja) 受信装置、受信方法、送信装置、送信方法、及びプログラム
US11303940B2 (en) Transmission apparatus, transmission method, and non-transitory computer-readable storage medium

Legal Events

Date Code Title Description
E601 Decision to refuse application