KR101438737B1 - 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 - Google Patents

멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 Download PDF

Info

Publication number
KR101438737B1
KR101438737B1 KR1020130005746A KR20130005746A KR101438737B1 KR 101438737 B1 KR101438737 B1 KR 101438737B1 KR 1020130005746 A KR1020130005746 A KR 1020130005746A KR 20130005746 A KR20130005746 A KR 20130005746A KR 101438737 B1 KR101438737 B1 KR 101438737B1
Authority
KR
South Korea
Prior art keywords
content
scalability
layer
level
download
Prior art date
Application number
KR1020130005746A
Other languages
English (en)
Other versions
KR20140093430A (ko
Inventor
유혁
이정환
Original Assignee
고려대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 고려대학교 산학협력단 filed Critical 고려대학교 산학협력단
Priority to KR1020130005746A priority Critical patent/KR101438737B1/ko
Priority to PCT/KR2013/006149 priority patent/WO2014112698A1/ko
Publication of KR20140093430A publication Critical patent/KR20140093430A/ko
Application granted granted Critical
Publication of KR101438737B1 publication Critical patent/KR101438737B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2387Stream processing in response to a playback request from an end-user, e.g. for trick-play
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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/234327Processing 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 decomposing into layers, e.g. base layer and one or more enhancement layers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware

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)

Abstract

적어도 하나의 캐시 노드로 컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 스케일러빌리티 계층 레벨을 포함하는 컨텐츠 요청을 전송하고, 어느 하나의 캐시 노드로부터 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층부터 순차적으로 다운로드하여 버퍼링하고, 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생한다.

Description

멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법{SYSTEM AND METHOD FOR PROVIDING ADAPTIVE VIDEO STREAMING IN MULTIPLE CACHE NETWORK}
본 발명은 멀티플 캐시 네트워크(multiple cache network) 환경에서 스케일러블 비디오 코딩(SVC, Scalable Video Coding) 비디오 컨텐츠를 스트리밍하는 시스템 및 방법에 관한 것이다.
최근들어 Youtube, Vimeo, Netflex등 웹을 기반으로한 비디오 스트리밍 서비스에서 비디오 컨텐츠를 끊김없이 전송하기 위해 HAS(HTTP Adaptive Streaming) 방식을 사용하고 있다. 이에 따라 HTTP를 대상으로한 적응적 비디오 스트리밍 표준(MPEG-DASH)이 제정되었으며, 비디오 스트리밍 서비스 제공 업체들은 스무스 스트리밍(Smooth Streaming) 방식 및 IETF(Internet Engineering Task Force) HTTP 라이브 스트리밍(Live Streaming) 방식 등의 다양한 적응적 비디오 스트리밍 방식을 연구하고 있다.
기존의 HAS 방식에서는 컨텐츠 제공자가 비디오 컨텐츠를 비디오 세그먼트로 나누어 관리하되, 비트레이트(bit rate) 별로 독립적인 비디오 세그먼트를 제공한다. 이때, 컨텐츠 제공자는 클라이언트의 비디오 컨텐츠 요청 수신 시 네트워크 환경 조건에 적합한 비트레이트의 비디오 세그먼트를 제공한다. 이를 통해 클라이언트는 다양한 비트레이트를 선택적으로 수신함으로써 비디오 컨텐츠의 스트리밍 시 블랙 아웃(black-out) 현상을 방지할 수 있다. 또한 HTTP를 이용하기 때문에 HTTP를 지원하는 기존의 아키텍처를 그대로 사용 할 수 있으며, NAT/방화벽(firewall)과 같은 이슈가 발생하지 않는다.
이러한 HAS 방식에서는 동일한 비디오 컨텐츠를 다수의 클라이언트가 요청할 경우, 컨텐츠 제공자가 요청한 클라이언트 수만큼 비디오 컨텐츠를 반복 전송함에 따라 병목 현상 및 대역폭 부족 현상이 발생되는 문제점이 있었다.
이와 같은 문제를 해결하기 위한 방안으로서, 멀티플 캐시 네트워크를 통한 비디오 스트리밍 서비스 방식이 제안되었다. 멀티플 캐시 네트워크에서는 컨텐츠 제공자가 클라이언트에게 제공할 컨텐츠를 지역적으로 분산된 복수의 캐시 서버에 전달하여 저장해두고, 클라이언트의 요청이 있을 경우 최적의 캐시 서버로부터 컨텐츠를 제공받을 수 있도록 한다.
이와 관련하여, 한국공개특허 제10-2010-0053708호(발명의 명칭: 계층적 분산 저장 구조를 이용한 스트리밍 서비스 제공 시스템 및 방법)는, 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 캐시 서버들 중 클라이언트와 전송시간상 가까운 거리부터 먼 거리의 캐시 서버에 분산 저장하고, 클라이언트로부터 스트리밍 서비스 요청시 가까운 거리부터 먼 거리의 캐시 서버가 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 전송하며, 클라이언트가 스트리밍 컨텐츠의 첫 부분부터 마지막 부분을 순차적으로 수신하여 버퍼링하면서 재생하는 구성을 개시하고 있다.
이러한 멀티플 캐시 네트워크에 기존의 HAS 방식을 적용할 경우, 동일 컨텐츠에 대한 비트레이트 별 비디오 세그먼트를 복수의 캐시 서버에 분산하여 저장하게 된다.
그런데 이러한 방식에서는 복수의 캐시 서버에 캐싱되는 컨텐츠(즉, 비디오 세그먼트)가 급격히 변경됨으로써, 클라이언트로 제공할 컨텐츠의 비트레이트에 대한 정확한 예측이 어렵다는 문제가 있다.
그리고 클라이언트가 요청하는 비트레이트가 변경될 경우 캐시 서버는 동일한 비디오 세그먼트가 저장되어 있더라도 클라이언트가 새로 요청한 비트레이트의 비디오 세그먼트를 다른 캐시 서버 또는 컨텐츠 제공자로부터 획득하여 제공하여야한다. 이에 따라 비디오 스트리밍 시 지연 발생 가능성이 높아질 뿐만 아니라, 각 캐시 서버들의 자원 사용 효율이 떨어지게 된다는 문제점이 있다.
또한 클라이언트가 기존에 접속되어 있던 캐시 서버가 아닌 다른 캐시 서버로부터 비디오 세그먼트를 제공받고자 하는 경우, 요청된 비트레이트의 비디오 세그먼트를 저장하고 있는 캐시 서버가 클라이언트로부터 가깝게 존재하고 있지 않은 경우 비디오 세그먼트 전송 속도가 저하될 수 있다.
본 발명은 전술한 종래 기술의 문제점을 해결하기 위한 것으로서, 멀티플 캐시 네트워크 환경에서 SVC 비디오 컨텐츠를 네트워크 환경 조건에 따라 적응적으로 스트리밍하는 시스템 및 방법을 제공하고자 한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른 멀티플 캐시 네트워크 상에서 스케일러블 비디오 코딩(Scalable Video Coding, SVC) 비디오 컨텐츠를 스트리밍하는 클라이언트 장치는, 적어도 하나의 캐시 노드로 컨텐츠 요청을 전송하는 컨텐츠 요청부; 어느 하나의 캐시 노드로부터 상기 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 다운로드하는 컨텐츠 수신부; 상기 다운로드된 SVC 비디오 세그먼트를 버퍼링하는 버퍼; 상기 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생하는 컨텐츠 재생부; 및 상기 컨텐츠 요청 이전에 다운로드된 SVC 비디오 세그먼트의 비트레이트에 기초하여 상기 컨텐츠 요청에 적용할 스케일러빌리티 계층 레벨을 결정하는 계층 레벨 결정부를 포함하되, 상기 컨텐츠 수신부는 상기 어느 하나의 캐시 노드로부터 상기 결정된 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층의 SVC 비디오 세그먼트부터 순차적으로 수신한다.
그리고 본 발명의 다른 측면에 따른 멀티플 캐시 네트워크에서 클라이언트 장치가 스케일러블 비디오 코딩(Scalable Video Coding, SVC) 비디오 컨텐츠를 스트리밍하는 방법에 있어서, (a) 적어도 하나의 캐시 노드로 컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 스케일러빌리티 계층 레벨을 포함하는 컨텐츠 요청을 전송하는 단계; (b) 어느 하나의 캐시 노드로부터 상기 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 상기 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층부터 순차적으로 다운로드하여 버퍼링하는 단계; 및 (c) 상기 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생하는 단계를 포함하되, 상기 스케일러빌리티 계층 레벨은 이전에 다운로드된 SVC 비디오 세그먼트의 비트레이트에 기초하여 결정된 것이고, 상기 최하위 계층은 단독으로 스트리밍 재생이 가능한 기본 계층이다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 멀티플 캐시 네트워크에서 클라이언트가 요청한 컨텐츠의 적어도 한 계층의 SVC 비디오 세그먼트를 스트리밍함으로써, 캐시 노드들의 자원 활용율을 높이면서도 클라이언트의 조건에 적합한 비트레이트의 비디오 스트리밍이 가능하다는 효과가 있다.
그리고 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 클라이언트가 계층별 SVC 비디오 세그먼트 다운로드 도중 네트워크 환경 조건에 기초하여 계층별로 다운로드를 포기 처리할 수 있어, 비디오 계층별 다운로드 지연에 따른 블랙 아웃 현상을 방지할 수 있다.
또한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 클라이언트가 자신이 요청한 SVC 비디오 세그먼트의 전체 계층을 다운로드 완료한 후 클라이언트 버퍼량과 계층별 다운로드 속도에 기초하여 적어도 하나의 상위 계층의 SVC 비디오 세그먼트를 추가 획득할 수 있어, 비디오 스트리밍 시 지연을 방지하면서도 고화질의 컨텐츠를 스트리밍할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 비디오 스트리밍 시스템의 구성을 나타낸 구성도이다.
도 2는 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 제공 장치의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 제공 장치를 통한 적응적 비디오 스트리밍 방식을 설명하기 위한 개념도이다.
도 4는 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
도 1은 본 발명의 일 실시예에 따른 비디오 스트리밍 시스템의 구성을 나타낸 구성도이다.
도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 비디오 스트리밍 시스템(10)은 컨텐츠 서버(100), 복수의 캐시 노드(200) 및 클라이언트(300)를 포함하여 구성된다.
컨텐츠 서버(100)는 복수의 비디오 컨텐츠를 저장하고 있으며, 요청된 비디오 컨텐츠를 캐시 노드(200) 및 클라이언트(300)로 제공한다.
컨텐츠 서버(100)는 각 비디오 컨텐츠를 기설정된 단위(예를 들어, 청크(chunk))로 분할하여 복수의 컨텐츠 섹션을 저장하되, 각 컨텐츠 섹션이 복수의 스케일러빌리티(scalability) 계층(layer)을 갖도록 SVC 방식으로 인코딩하여 저장한다. 이하에서는 SVC 방식으로 인코딩된 청크를 ‘SVC 비디오 세그먼트’라고 지칭하도록 한다. 하나의 청크는 일정한 재생 시간(예를 들어, 초(second) 단위의 시간)을 갖는다.
참고로 SVC 방식은 네트워크 조건 및 사용자 디바이스 조건과 같은 사용 환경 조건을 고려하여 비디오 컨텐츠를 제공하기 위해 표준화된 코덱이다. 이러한 SVC 방식은 H.264/MPEG-4 AVC 비디오 압축 표준의 확장으로서, 비트레이트 간 계층적 구조를 통해 확장성을 제공한다는 특징이 있다.
구체적으로 SVC방식에서는 고화질 비트스트림을 시간적/공간적/화질적 스케일러빌리티를 갖는 하나 이상의 서브 비트스트림으로 나누어 계층적 구조를 구성한다. 이러한 계층적 구조에서는 기본 계층(base layer) 비트스트림만으로도 비디오 컨텐츠 재생이 가능하며, 기본 계층에 대한 상위 레벨의 계층(이하, ‘향상 계층(enhancement layer)’이라고 지칭함)들을 적용하여 기본 계층에 비해 고화질/해상도의 비디오 컨텐츠를 재생할 수 있다.
이때 컨텐츠 서버(100)는 각 SVC 비디오 세그먼트를 컨텐츠 식별 정보 및 비트레이트 별 스케일러빌리티 계층 레벨의 정보와 매칭하여 저장하되, 이러한 매칭 정보를 계층 조건 리스트로 캐시 노드(200) 및 클라이언트로(300)로 제공할 수 있다. 또한, 계층 조건 리스트에는 SVC 비디오 세그먼트의 계층 별 데이터 크기 및 비디오 비트레이트 정보와, 컨텐츠 별 총 섹션 개수 정보(즉, 청크의 개수)가 더 포함될 수 있다.
캐시 노드(200)는 컨텐츠 서버(100)로부터 제공된 SVC 비디오 세그먼트를 클라이언트(300)로 중계 처리하되, 중계 처리한 SVC 비디오 세그먼트를 캐싱한다.
특히, 본 발명의 일 실시예에 따른 캐시 노드(200)는 클라이언트(300)로부터 스케일러빌리티 계층 레벨의 정보를 포함하는 컨텐츠 요청을 수신하되, 수신된 컨텐츠 요청에 따른 적어도 하나의 계층의 SVC 비디오 세그먼트를 최하위 계층부터 순차적으로 클라이언트(300)로 전송한다. 이는, 아래에서 설명할 클라이언트(300)의 동작 중 설정된 스케일러빌리티 계층 레벨까지의 SVC 비디오 세그먼트의 다운로드 중 나머지 계층에 대한 다운로드 포기 처리를 수행하더라도, 클라이언트(300)가 다운로드를 완료한 최하위 계층만으로도 비디오 스트리밍 재생을 제공할 수 있도록 하기 위한 것이다.
이와 같은 캐시 노드(200)는 아래에서 설명할 CCN(Contents Centric Network)의 CCN 노드에 대응하며, 자세한 동작에 대해서는 아래에서 상세히 설명하도록 한다.
클라이언트(300)는 적어도 하나의 캐시 노드(200)로 비디오 컨텐츠를 요청하고, 현재 네트워크 환경 조건에 가장 적합한 어느 하나의 캐시 노드(200)로부터 비디오 컨텐츠 요청에 대응한 계층별 SVC 비디오 세그먼트를 수신하여 스트리밍 재생한다. 이와 같은 클라이언트(300)의 구성 및 동작에 대해서는 하기 도 2를 참조하여 상세히 설명하도록 한다.
한편, 본 발명의 일 실시예에 따른 비디오 스트리밍 시스템(10)은 멀티플 캐시 네트워크 상에 구성되며, CCN, CDN(contents delivery network)/TIC(Transparent Internet Caching) 등 복수의 캐시 노드를 통해 데이터를 송수신하는 다양한 방식이 적용될 수 있다.
예를 들어, CCN은 데이터의 이름(즉, 컨텐츠 식별 정보)을 주소 체계의 기반으로 하는 통신 구조(Named Data Networking)이다. CCN 상에서는 인터레스트 패킷(Interest Packet)과 데이터 패킷(Data Packet)의 두 가지 형태의 패킷이 사용되며, 이러한 CCN 패킷에서는 해당 컨텐츠의 이름이 패킷의 주소가 된다. 참고로, 인터레스트 패킷은 다른 CCN 노드(즉, 도 1의 ‘캐시 노드’)에 해당 데이터 패킷을 요청하는 기능을 수행한다. 그리고 데이터 패킷은 인터레스트 패킷에 대한 응답으로서, 실질적인 컨텐츠를 전송하는 기능을 수행한다.
본 발명의 일 실시예에 따른 캐시 노드(200)와 대응되는 CCN 노드는 핵심적인 구성 요소로서 FIB(Forwarding Information Base), Content Store(buffer memory) 및 PIT(Pending Interest Table)을 포함한다.
FIB는 타겟 데이터를 저장하고 있을 가능성이 있는 인터페이스(즉, 다른 CCN 노드 또는 호스트)로 인터레스트 패킷을 전달하기 위하여 사용된다. 이는 기존 IP(Internet Protocol) 기반의 라우터에서 사용되는 FIB의 기능과 유사하되, 하나의 인터페이스가 아닌 여러 개의 인터페이스에 대해 동시에 사용한다. 이에 따라 CCN은 데이터의 다양한 소스를 병렬적으로 이용 할 수 있다.
PIT는 전달한 인터레스트 패킷의 기록을 저장한다. 구체적으로, 데이터 패킷이 CCN 노드로 전달되면, 해당 CCN 노드는 PIT의 정보를 참조하여 해당 인터레스트 패킷을 전송한 사용자(즉, 클라이언트)에게 해당 데이터 패킷을전달한다.
컨텐츠 스토어(Content Store)는 IP 라우터의 버퍼 메모리와 유사하되, 교체 정책에 따라 캐싱된 데이터를 관리한다.
구체적으로, 각 CCN 노드들은 자신이 전달한 데이터 패킷을 컨텐츠 스토어에 저장(즉, 캐싱)한다. 그리고 CCN 노드는 자신이 저장하고 있는 데이터 패킷에 대한 인터레스 패킷을 수신하면 호스트(즉, 도 1의 ‘컨텐츠 서버’) 또는 다른 CCN 노드로부터 데이터 패킷을 받아오지 않고, 자신이 저장하고 있는 데이터 패킷을 즉시 전송한다. 반면, CCN 노드는 자신이 저장하고 있지 않은 데이터 패킷에 대한 인터레스트 패킷을 수신하면 주변의 다른 CCN 노드들에게 해당 인터레스트 패킷을 전송하여 해당 데이터 패킷을 획득하고, 이를 컨텐츠 스토어에 저장한 후 해당 인터레스트 패킷을 수신한 경로의 인터페이스(즉, 클라이언트)로 데이터 패킷을 전송한다.
이하, 도 2를 참조하여 본 발명의 일 실시예에 따른 클라이언트(300)의 구성 및 동작에 대해서 상세히 설명하도록 한다.
도 2는 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 제공 장치의 구성을 나타낸 블록도이다.
그리고 도 3은 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 제공 장치를 통한 적응적 비디오 스트리밍 방식을 설명하기 위한 개념도이다.
먼저, 도 2에서 설명할 적응적 비디오 스트리밍 제공 장치는 비디오 스트리밍 시스템(10)의 클라이언트(300)로서, 이하 클라이언트 장치(300)라고 지칭하도록 한다.
도 2에 도시한 바와 같이, 클라이언트 장치(300)는 컨텐츠 요청부(301), 컨텐츠 수신부(302), 버퍼(303), 컨텐츠 재생부(304), 비트레이트 산출부(305), 계층 조건 관리부(306), 계층 레벨 결정부(307), 다운로드 포기 결정부(308), 추가 다운로드 결정부(309) 및 부가 요청 전송부(310)를 포함하여 구성된다.
컨텐츠 요청부(301)는 비디오 스트리밍 시스템(10) 상의 적어도 하나의 캐시 노드(200)로 컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 스케일러빌리티 계층 레벨 정보를 포함하는 컨텐츠 요청을 전송한다.
참고로 스케일러빌리티 계층 레벨은 최하위 계층부터 최상위 계층까지 스케일러빌리티가 높을수록 높은 레벨로 설정되며, 컨텐츠 서버(300)가 생성한 하나의 컨텐츠 섹션의 총 계층 개수에 따라 최상위 계층의 값이 설정된다.
이때 컨텐츠 요청에 포함된 스케일러빌리티 계층 레벨 정보는 계층 레벨 결정부(307)가 클라이언트 장치(300)의 컨텐츠 요청 시점의 상태 조건에 따라 결정한 최상위 계층 레벨을 의미한다. 여기서, 컨텐츠 요청에 포함된 스케일러빌리티 계층 레벨 정보에는 적어도 최하위 계층에 대한 정보가 포함되며, 최하위 계층은 단독으로 스트리밍 재생이 가능한 기본 계층이다.
이에 따라 어느 하나의 캐시 노드(200)는 최하위 계층부터 상기 결정된 최상위 계층 레벨까지의 SVC 비디오 세그먼트를 클라이언트 장치(300)로 제공한다.
예를 들어, 도 3에 도시한 바와 같이, 컨텐츠 서버(300)가 하나의 컨텐츠 섹션을 3개의 계층으로 SVC 인코딩한 경우, 해당 컨텐츠 섹션은 레벨 값 ‘0’의 기본 계층으로부터 레벨 값 ‘2’의 향상 계층까지를 포함하여 구성된다. 도 3에서는 해당 컨텐츠가 3개의 계층(즉, 도 3에서는 ‘Bit Rate _1, Bit Rate _2, Bit Rate _3’으로 나타냄)의 SVC 비디오 세그먼트로 구성되는 것을 나타내었다.
그리고 CCN 상에 구성된 다수의 캐시 노드(200)들은 각각 적어도 하나의 비트레이트에 대응되는 스케일러빌리티 계층의 SVC 비디오 세그먼트를 캐싱하고 있다.
이러한 상태에서, 각 캐시 노드(200)들은 현재 접속한 클라이언트 장치(300)가 컨텐츠 요청한 스케일러빌리티 계층 레벨에 따른 SVC 비디오 세그먼트를 제공하되, 자신에게 캐싱되어 있지 않은 계층의 데이터를 다른 캐시 노드(200)들로부터 획득하여 클라이언트 장치(300)로 제공한다. 도 3에서는 클라이언트 장치(300)의 컨텐츠 요청의 순차에 따른 요청 데이터(Request Chunk)가 Bit Rate _3, Bit Rate _1, Bit Rate _2, Bit Rate _1, Bit Rate _3의 스케일러빌리티 계층 레벨인 것을 나타내었다.
컨텐츠 수신부(302)는 어느 하나의 캐시 노드(200)로부터 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 다운로드한다.
이때 컨텐츠 수신부(302)는 캐시 노드(200)로부터 컨텐츠 요청에 따른 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층(즉, 기본 계층)의 SVC 비디오 세그먼트부터 순차적으로 수신한다.
한편, 컨텐츠 수신부(302)는 하기에서 설명할 추가 다운로드 결정부(307)의 결정에 의해 상기 컨텐츠 요청에 따른 스케일러빌리티 계층 레벨보다 상위 레벨의 SVC 비디오 세그먼트를 추가적으로 수신할 수 있다. 이와 같은 경우, 컨텐츠 수신부(302)는 기본 계층부터 상기 상위 스케일러빌리티 계층 레벨의 계층까지의 모든 계층을 다시 수신하는 것이 아니라, 상기 상위 스케일러빌리티 계층 레벨에 따른 해당 계층의 SVC 비디오 세그먼트만을 추가로 수신한다.
버퍼(303)는 컨텐츠 수신부(302)를 통해 다운로드된 SVC 비디오 세그먼트를 순차적으로 버퍼링한다.
컨텐츠 재생부(304)는 버퍼(303)에 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생한다.
이때 컨텐츠 재생부(304)는 버퍼링된 SVC 비디오 세그먼트 중 동일 컨텐츠 섹션에 대한 적어도 하나의 계층의 SVC 비디오 세그먼트를 스케일러블 비디오 디코딩한다. 즉, 해당 컨텐츠 섹션에 대해 버퍼링된 적어도 하나의 계층의 SVC 비디오 세그먼트가 병합되도록 디코딩하여 재생한다.
비트레이트 산출부(305)는 버퍼(303)에 버퍼링된 SVC 비디오 세그먼트 중 컨텐츠 요청 직전에 다운로드된 SVC 비디오 세그먼트의 데이터 크기 및 다운로드 시간에 기초하여 현재 컨텐츠 요청에 적용할 비트레이트를 산출한다.
예를 들어, 도 3을 참조하면, 비트레이트 산출부(305)는 이전 다운로드된 SVC 비디오 세크먼트에 기초하여 대역폭 처리량(도 3에서는 ‘B/W throughput’으로 나타냄)를 산출하고, 산출된 대역폭 처리량에 기초하여 요청 데이터(도 3에서는 ‘Request Chunk’로 나타냄)의 비트레이트를 산출한다.
계층 조건 관리부(306)는 컨텐츠 서버(300)가 제공하는 계층 조건 리스트를 수신하고, 계층 조건 리스트에 포함된 컨텐츠 식별 정보 및 비트레이트 별 스케일러빌리티 계층 레벨의 정보를 매칭 저장한다. 이때, 계층 조건 리스트에 포함된 비트레이트 별 스케일러빌리티 계층 레벨은 해당 컨텐츠가 몇 개의 스케일러빌리티 계층으로 분할되어 있는지를 확인할 수 있는 기준 정보이며, 클라이언트 장치(300)가 각 비트레이트 별로 적합한 스케일러빌리티 계층 레벨을 확인할 수 있는 정보이다.
계층 레벨 결정부(307)는 상기 컨텐츠 요청 이전에 다운로드된 SVC 비디오 세그먼트의 비트레이트에 기초하여 현재 컨텐츠 요청에 적용할 스케일러빌리티 계층 레벨을 결정한다.
이때 계층 레벨 결정부(307)는 계층 조건 관리부(306)에 저장된 해당 컨텐츠의 비트레이트 별 스케일러빌리티 계층 레벨 기준 중 비트레이트 산출부(305)로부터 산출된 비트레이트와 매칭된 스케일러빌리티 계층 레벨을 검출한다.
한편, 앞서 설명한 바와 같이 클라이언트 장치(300)는, 이전에 다운로드한 SVC 비디오 세그먼트에 따른 네트워크 상태 조건에 기초하여 다음 컨텐츠 요청의 비트레이트를 결정하며, 결정된 비트레이트에 기초하여 요청할 컨텐츠의 스케일러빌리티 계층 레벨을 결정하게 된다.
그런데 본 발명이 적용되는 멀티플 캐시 네트워크 환경에서는 캐시 노드(200)가 동일 컨텐츠에 대해서 컨텐츠 섹션 별로 다양한 계층의 SVC 비디오 세그먼트를 캐싱하고 있다. 따라서 클라이언트 장치(300)가 요청한 스케일러빌리티 계층의 데이터가 해당 캐시 노드(200)에 캐싱되어 있지 않은 경우 또는 클라이언트(300)가 요청한 스케일러빌리티 계층의 데이터보다 상위 계층의 데이터가 캐싱되어 있는 경우 등과 같이, 캐시 노드(200)가 제공하는 비트레이트가 클라이언트(300)의 이전 컨텐츠 요청에 따른 비트레이트보다 높거나 낮은 경우가 발생할 수 있다.
이에 따라, 본 발명의 일 실시예에 따른 클라이언트 장치(300)는 캐시 노드(200)로 컨텐츠 요청을 한 이후 해당 캐시 노드(200)와의 데이터 전송 환경 조건에 따라 요청한 SVC 비디오 세그먼트의 계층에 대한 조절 처리를 수행할 수 있다. 즉, 클라이언트(300)는 수신 중인 SVC 비디오 세그먼트에 대해 하나 이상의 계층의 다운로드를 포기하여 버퍼량을 안전하게 유지시키거나, 컨텐츠 요청보다 더 높은 상위 계층의 SVC 비디오 세그먼트를 추가적으로 요청 및 획득하여 버퍼량에 영향을 미치지 않으면서도 좀 더 고화질의 비디오 컨텐츠를 스트리밍할 수 있다.
이를 위하여, 다운로드 포기 결정부(308)는 컨텐츠 요청에 따른 스케일러빌리티 계층 레벨에 포함된 계층 별 SVC 비디오 세그먼트의 다운로드 완료시마다 현재 버퍼량 및 총 다운로드 시간에 기초하여 나머지 계층에 대한 다운로드 포기 처리 여부를 결정한다.
구체적으로, 다운로드 포기 결정부(308)는 컨텐츠 수신부(302)를 통해 상기 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함된 계층 별 SVC 비디오 세그먼트가 다운로드 완료 시점을 확인한다. 그리고 다운로드 포기 결정부(308)는 계층 별 다운로드 완료 시점의 버퍼량을 확인하고, 현재 다운로드가 완료된 계층까지의 총 다운로드 시간을 산출하여 나머지 계층(다운로드가 완료된 계층의 나머지 향상 계층)에 대한 다운로드 포기 처리를 결정한다.
예를 들어, 다운로드 포기 결정부(308)는 하기 수학식 1의 두 개의 조건에 따라 다운로드 포기 처리를 결정할 수 있다.
<수학식 1>
Figure 112013005069367-pat00001
,
Figure 112013005069367-pat00002
상기 수학식 1에서, ‘Buffer Fullness’는 해당 시점의 버퍼량을 의미한다. 버퍼량은 스트리밍 재생 가능 시간으로서, 클라이언트 장치(300)가 버퍼링하고 있는 적어도 하나의 SVC 비디오 세그먼트를 재생할 수 있는 플레이 시간을 의미한다. 그리고 첫번째 조건 및 두번째 조건의 10s 및 17.5s는 ‘Δcertain target’으로서 각각 버퍼량에 따라 구분되는 두가지 상태의 한계값을 의미한다. 이때 버퍼량이 Δcertain target 값보다 작은 경우 점진적 다운로드(progressive download) 방식을 사용하고, 버퍼량이 Δcertain target 값보다 큰 경우 플레이 시간을 반영하여 다운로드를 요청한다. ‘ΔLayer Download’는 스케일러빌리티 계층 레벨에 포함된 적어도 하나의 계층 중 현재 다운로드 완료된 계층까지의 총 다운로드 시간을 의미한다. 그리고 ‘i’는 SVC 비디오 세그먼트에 대한 계층 값이고, ‘n’은 결정된 스케일러빌리티 계층 레벨의 값(즉, 컨텐츠 요청에 포함된 스케일러빌리티 계층 레벨의 값)이다. 또한, ‘ΔChunk Play’는 하나의 청크가 재생 가능한 시간을 의미하며, 고정된 시간으로 설정될 수 있다.
상기 수학식 1의 첫번째 조건에서와 같이, 클라이언트 장치(300)의 현재 버퍼량이 제 1 한계값(예를 들어, 안정적인 스트리밍 재생을 위한 최소의 재생 가능 시간 기준)보다 작은 경우, 현재까지 다운로드가 완료된 계층까지의 총 다운로드 시간이 하나의 청크 플레이 시간보다 큰 경우 상위 향상 계층 (Enhancement Layer(i+1))에 대한 포기 처리(Drop)를 결정한다.
또한 상기 수학식 1의 두번째 조건에서와 같이, 클라이언트 장치(300)의 현재 버퍼량이 제 2 한계값(예를 들어, 안정적인 스트리밍 재생을 위한 최소의 재생 가능 시간보다는 큰 값)보다 큰 경우, 현재까지 다운로드가 완료된 계층까지의 총 다운로드 시간이 현재 버퍼량에서 제 2 한계값을 차감한 값보다 큰 경우 상위 향상 계층에 대한 포기 처리를 결정한다.
추가 다운로드 결정부(309)는 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함된 전체 계층이 다운로드 완료된 시점의 버퍼량 및 전체 계층의 총 다운로드 시간에 기초하여 상위 스케일러빌리티 계층 레벨의 추가 요청을 결정한다.
구체적으로, 추가 다운로드 결정부(309)는 컨텐츠 수신부(302)를 통해 상기 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함된 모든 계층에 대한 SVC 비디오 세그먼트가 다운로드 완료 시점을 확인한다. 그리고 추가 다운로드 결정부(309)는 전체 계층의 다운로드 완료 시점의 버퍼량을 확인하고, 전체 계층의 총 다운로드 시간을 산출하여 상기 컨텐츠 요청의 스케일러빌리티 계층 레벨에서의 최상위 계층보다 상위 계층의 데이터에 대한 추가 다운로드 요청을 결정한다.
예를 들어, 추가 다운로드 결정부(309)는 하기 수학식 2의 조건에 따라 추가 다운로드 처리를 결정할 수 있다.
<수학식 2>
Figure 112013005069367-pat00003
상기 수학식 2의 조건에서와 같이, 클라이언트 장치(300)의 현재 버퍼량이 제 3 한계값(예를 들어, 상기 제 1 및 제 2 한계값 보다 크거나 같은 값)보다 큰 경우, 전체 계층의 다운로드 시간이 하나의 청크 플레이 값보다 작은 경우 컨텐츠 요청하였던 최상위 계층보다 상위 향상 계층(Enhancement Layer(n+1))에 대한 추가 다운로드 요청을 결정한다.
부가 요청 전송부(310)는 다운로드 포기 결정부(308)가 다운로드 포기를 결정한 경우 컨텐츠를 제공하던 캐시 노드(200)로 컨텐츠 다운로드 중지 요청을 전송한다.
또한 부가 요청 전송부(310)는 추가 다운로드 결정부(309)가 추가 다운로드 요청을 결정한 경우 컨텐츠를 제공하던 캐시 노드(200)로 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청을 전송한다. 이때 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청은 컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 상위 스케일리빌리티 계층 레벨에 대응하는 계층 정보를 포함한다.
이하, 도 4를 참조하여 본 발명의 일 실시예에 따른 클라이언트 장치(300)를 통해 적응적 비디오 스트리밍을 제공하는 방법을 상세히 설명하도록 한다.
도 4는 본 발명의 일 실시예에 따른 적응적 비디오 스트리밍 방법을 설명하기 위한 순서도이다.
먼저, 멀티플 캐시 네트워크 상의 적어도 하나의 캐시 노드(200)로 SVC 컨텐츠 요청을 전송한다(S410).
이때 컨텐츠 요청에는 요청하고자 하는 컨텐츠의 식별 정보, 해당 컨텐츠 중 획득하고자 하는 섹션의 정보 및 클라이언트 장치(300)의 네트워크 환경 조건인 비트레이트에 따라 결정된 스케일러빌리티 계층 레벨의 정보가 포함된다.
또한 SVC 컨텐츠 요청을 전송하기 이전에, 컨텐츠 서버(100)로부터 컨텐츠 식별 정보 및 비트레이트 별 스케일러빌리티 계층 레벨의 기준 정보를 수신하여 매칭 저장해 둘 수 있다. 이는 상기 저장된 정보에 기초하여 클라이언트 장치(300)의 네트워크 환경 조건에 따라 산출한 비트레이트에 매칭된 스케일러빌리티 계층 레벨을 검출하여 컨텐츠 요청에 적용할 스케일러빌리티 계층 레벨을 결정하기 위한 것이다.
그런 후 상기 컨텐츠 요청에 대하여 응답하는 어느 하나의 캐시 노드(200)로부터 컨텐츠 요청의 각 조건에 만족하는 SVC 비디오 세그먼트를 수신하여 다운로드한다(S420).
이때 클라이언트 장치(300)는 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함되는 적어도 하나의 계층 중 최하위 계층의 SVC 비디오 세그먼트부터 상위 향상 계층을 순차적으로 수신하여 다운로드한다.
참고로 컨텐츠 요청의 스케일러빌리티 계층 레벨은 클라이언트 장치(300)가 컨텐츠 요청 이전에 다운로드한 SVC 비디오 세그먼트의 비트레이트에 기초하여 결정되며, 최하위 계층은 단독으로 스트리밍 재생이 가능한 기본 계층 이다.
그런 다음, 다운로드된 SVC 비디오 세그먼트를 버퍼에 버퍼링하고(S430), 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생한다(S440).
이때 버퍼링된 SVC 비디오 세그먼트 중 동일 컨텐츠 섹션에 대한 적어도 하나의 계층의 SVC 비디오 세그먼트를 스케일러블 비디오 디코딩한 후 스트리밍 재생한다.
한편, 클라이언트 장치(300)와 해당 캐시 노드(200) 간의 네트워크 환경 조건에 따라 클라이언트 장치(300)의 버퍼량을 안정적으로 유지하면서도 고품질의 스트리밍 재생을 지원하기 위하여 다음과 같은 단계들을 추가적으로 수행할 수 있다.
상기 단계 (S430) 이후에, 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함된 계층 별 다운로드 완료시점마다 기설정된 조건에 따라 나머지 계층에 대한 다운로드 지속 여부를 결정한다.
이때 상기 다운로드 완료시점마다 클라이언트 장치(300)의 버퍼량 및 다운로드가 완료된 계층까지의 총 다운로드 시간에 기초하여 남은 계층에 대한 다운로드 포기 처리를 결정한다.
그런 후, 상기 나머지 계층에 대한 다운로드 포기 처리를 결정한 경우, 해당 캐시 노드(200)로 컨텐츠에 대한 다운로드 중지 요청을 전송한다.
이에 따라 클라이언트 장치(300)는 해당 캐시 노드(200)와의 네트워크 환경 조건(예를 들어, 데이터 다운로드 속도)이 일정 기준 이하로 비효율적일 경우, SVC 비디오 세그먼트를 다운로드 하는 중에라도 남은 스케일러빌리티 계층 데이터의 다운로드를 포기 처리함으로써 버퍼량을 유지하면서도 안정적으로 스트리밍 재생을 제공할 수 있다.
또한 상기 단계 (S430) 이후에, 컨텐츠 요청의 스케일러빌리티 계층 레벨에 포함된 어느 하나의 계층의 포기 처리 없이 모든 계층의 다운로드가 완료된 경우, 전체 계층의 다운로드가 완료된 시점의 클라이언트 장치(300)의 버퍼량과 전체 계층의 총 다운로드 시간에 기초하여 상위 스케일러빌리티 계층 레벨의 데이터를 추가 요청할 것인지 여부를 결정한다.
그런 후 상기 추가 요청을 결정한 경우, 해당 캐시 노드로 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청을 전송한다.
이에 따라 클라이언트 장치(300)는 해당 캐시 노드(200)와의 네트워크 환경 조건이 일정 기준 이상으로 효율적인 경우, 컨텐츠 요청에 따라 수신한 전체 계층의 SVC 비디오 세그먼트보다 상위 향상 계층의 SVC 비디오 세그먼트를 추가로 요청 및 획득함으로써 버퍼량을 유지하면서도 고품질의 스트리밍 재생을 제공할 수 있다.
본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
10: 비디오 스트리밍 시스템
100: 컨텐츠 서버
200: 캐시 노드
300: 클라이언트 장치

Claims (15)

  1. 멀티플 캐시 네트워크 상에서 스케일러블 비디오 코딩(Scalable Video Coding, SVC) 비디오 컨텐츠를 스트리밍하는 클라이언트 장치에 있어서,
    적어도 하나의 캐시 노드로 컨텐츠 요청을 전송하는 컨텐츠 요청부;
    어느 하나의 캐시 노드로부터 상기 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 다운로드하는 컨텐츠 수신부;
    상기 다운로드된 SVC 비디오 세그먼트를 버퍼링하는 버퍼;
    상기 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생하는 컨텐츠 재생부; 및
    상기 컨텐츠 요청 이전에 다운로드된 SVC 비디오 세그먼트의 비트레이트에 기초하여 상기 컨텐츠 요청에 적용할 스케일러빌리티 계층 레벨을 결정하는 계층 레벨 결정부를 포함하되,
    상기 컨텐츠 수신부는,
    상기 어느 하나의 캐시 노드로부터 상기 결정된 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층의 SVC 비디오 세그먼트부터 우선적으로 다운로드하고, 기설정된 상위 계층까지의 SVC 비디오 세그먼트를 낮은 스케일러빌리티 계층 레벨부터 순차적으로 다운로드하는 클라이언트 장치.
  2. 제 1 항에 있어서,
    상기 결정된 스케일러빌리티 계층 레벨에 포함된 계층 별 다운로드 완료 시점의 버퍼량 및 다운로드가 완료된 계층까지의 총 다운로드 시간에 기초하여 나머지 계층에 대한 다운로드 포기 처리를 결정하는 다운로드 포기 결정부를 더 포함하는 클라이언트 장치.
  3. 제 1 항에 있어서,
    상기 결정된 스케일러빌리티 계층 레벨에 포함된 전체 계층이 다운로드 완료된 시점의 버퍼량 및 상기 전체 계층의 총 다운로드 시간에 기초하여 상위 스케일러빌리티 계층 레벨의 추가 요청을 결정하는 추가 다운로드 결정부를 더 포함하는 클라이언트 장치.
  4. 제 2 항 또는 제 3 항에 있어서,
    상기 캐시 노드로 기설정된 컨텐츠 다운로드 중지 요청 또는 기설정된 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청을 전송하는 부가 요청 전송부를 더 포함하는 클라이언트 장치.
  5. 제 4 항에 있어서,
    상기 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청은,
    컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 상기 상위 스케일리빌리티 계층 레벨의 계층 정보를 포함하는 것인 클라이언트 장치.
  6. 제 1 항에 있어서,
    직전에 다운로드된 SVC 비디오 세그먼트의 데이터 크기 및 다운로드 시간에 기초하여 상기 비트레이트를 산출하는 비트레이트 산출부를 더 포함하는 클라이언트 장치.
  7. 제 1 항에 있어서,
    상기 컨텐츠 재생부는,
    상기 버퍼링된 SVC 비디오 세그먼트 중 동일 컨텐츠 섹션에 대한 적어도 하나의 계층의 SVC 비디오 세그먼트를 스케일러블 비디오 디코딩하는 것인 클라이언트 장치.
  8. 제 1 항에 있어서,
    상기 최하위 계층은,
    단독으로 스트리밍 재생이 가능한 기본 계층인 것인 클라이언트 장치.
  9. 제 1 항에 있어서,
    상기 컨텐츠 요청은,
    컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 스케일러빌리티 계층 레벨 정보를 포함하는 것인 클라이언트 장치.
  10. 제 1 항에 있어서,
    컨텐츠 서버가 제공하는 컨텐츠 식별 정보 및 비트레이트 별 스케일러빌리티 계층 레벨의 정보를 수신하여 매칭 저장하는 계층 조건 관리부를 더 포함하되,
    상기 계층 레벨 결정부는,
    상기 계층 조건 관리부로부터 상기 이전 다운로드된 SVC 비디오 세그먼트의 비트레이트에 매칭된 스케일러빌리티 계층 레벨을 검출하는 클라이언트 장치.
  11. 멀티플 캐시 네트워크에서 클라이언트 장치가 스케일러블 비디오 코딩(Scalable Video Coding, SVC) 비디오 컨텐츠를 스트리밍하는 방법에 있어서,
    (a) 적어도 하나의 캐시 노드로 컨텐츠 식별 정보, 컨텐츠 섹션 정보 및 스케일러빌리티 계층 레벨을 포함하는 컨텐츠 요청을 전송하는 단계;
    (b) 어느 하나의 캐시 노드로부터 상기 컨텐츠 요청에 대응하는 SVC 비디오 세그먼트를 상기 스케일러빌리티 계층 레벨에 포함된 계층 중 최하위 계층의 SVC 비디오 세그먼트부터 우선적으로 다운로드하고, 기설정된 상위 계층까지의 SVC 비디오 세그먼트를 낮은 스케일러빌리티 계층 레벨부터 순차적으로 다운로드하여 버퍼링하는 단계; 및
    (c) 상기 버퍼링된 SVC 비디오 세그먼트를 스트리밍 재생하는 단계를 포함하되,
    상기 스케일러빌리티 계층 레벨은 이전에 다운로드된 SVC 비디오 세그먼트의 비트레이트에 기초하여 결정된 것이고,
    상기 최하위 계층은 단독으로 스트리밍 재생이 가능한 기본 계층인 것인 SVC 비디오 컨텐츠 스트리밍 방법.
  12. 제 11 항에 있어서,
    상기 (b) 단계 이후에,
    상기 스케일러빌리티 계층 레벨에 포함된 계층 별 다운로드 완료 시점마다 버퍼량 및 다운로드가 완료된 계층까지의 총 다운로드 시간에 기초하여 나머지 계층에 대한 다운로드 포기 처리를 결정하는 단계; 및
    상기 다운로드 포기 처리를 결정한 경우 상기 어느 하나의 캐시 노드로 컨텐츠 다운로드 중지 요청을 전송하는 단계를 더 포함하는 SVC 비디오 컨텐츠 스트리밍 방법.
  13. 제 11 항에 있어서,
    상기 (b) 단계 이후에,
    상기 스케일러빌리티 계층 레벨에 포함된 전체 계층의 다운로드가 완료된 시점에 버퍼량 및 상기 전체 계층의 총 다운로드 시간에 기초하여 상위 스케일러빌리티 계층 레벨의 추가 요청을 결정하는 단계; 및
    상기 추가 요청을 결정한 경우 상기 어느 하나의 캐시 노드로 상기 상위 스케일러빌리티 계층 레벨의 컨텐츠 추가 요청을 전송하는 단계를 더 포함하는 SVC 비디오 컨텐츠 스트리밍 방법.
  14. 제 11 항에 있어서,
    상기 (c) 단계는,
    상기 버퍼링된 SVC 비디오 세그먼트 중 동일 컨텐츠 섹션에 대한 적어도 하나의 계층의 SVC 비디오 세그먼트를 스케일러블 비디오 디코딩한 후 스트리밍 재생하는 것인 SVC 비디오 컨텐츠 스트리밍 방법.
  15. 제 11 항에 있어서,
    상기 (a) 단계 이전에,
    컨텐츠 서버로부터 컨텐츠 식별 정보 및 비트레이트 별 스케일러빌리티 계층 레벨의 정보를 수신하여 매칭 저장하는 단계를 더 포함하되,
    상기 결정된 스케일러빌리티 계층 레벨은 상기 저장된 비트레이트 중 상기 이전에 다운로드된 SVC 비디오 세그먼트의 비트레이트에 매칭된 스케일러빌리티 계층 레벨을 검출하여 결정된 것인 SVC 비디오 컨텐츠 스트리밍 방법.
KR1020130005746A 2013-01-18 2013-01-18 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법 KR101438737B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020130005746A KR101438737B1 (ko) 2013-01-18 2013-01-18 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법
PCT/KR2013/006149 WO2014112698A1 (ko) 2013-01-18 2013-07-10 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130005746A KR101438737B1 (ko) 2013-01-18 2013-01-18 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20140093430A KR20140093430A (ko) 2014-07-28
KR101438737B1 true KR101438737B1 (ko) 2014-09-05

Family

ID=51209775

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130005746A KR101438737B1 (ko) 2013-01-18 2013-01-18 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법

Country Status (2)

Country Link
KR (1) KR101438737B1 (ko)
WO (1) WO2014112698A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101789391B1 (ko) * 2015-12-14 2017-10-25 경희대학교 산학협력단 셀룰러 무선 접근 네트워트가 활성화된 icn에서의 스케일러블 비디오 스트리밍 전송 시스템 및 방법
CN109121018A (zh) * 2018-09-12 2019-01-01 中国地质大学(武汉) 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101654898B1 (ko) 2015-04-15 2016-09-07 고려대학교 산학협력단 적응형 스트리밍 서비스를 수신하는 방법
CN113038245B (zh) * 2019-12-24 2023-07-21 瑞昱半导体股份有限公司 多媒体内容播放装置与多媒体内容播放方法
CN111372096B (zh) * 2020-03-12 2022-02-18 重庆邮电大学 一种基于d2d辅助的视频质量自适应缓存方法和设备
CN113473248B (zh) * 2020-03-30 2023-03-24 中国电信股份有限公司 流媒体传输方法、装置和计算机可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100062811A (ko) * 2008-12-01 2010-06-10 한국전자통신연구원 멀티미디어 콘텐츠 서비스 장치 및 방법
KR20110120836A (ko) * 2010-04-29 2011-11-04 이르데토 비.브이. 디지털 콘텐트의 적응형 스트리밍 제어

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100062811A (ko) * 2008-12-01 2010-06-10 한국전자통신연구원 멀티미디어 콘텐츠 서비스 장치 및 방법
KR20110120836A (ko) * 2010-04-29 2011-11-04 이르데토 비.브이. 디지털 콘텐트의 적응형 스트리밍 제어

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
논문1:한국정보과학회 *
논문1:한국정보과학회*
논문2:한국정보과학회 *
논문2:한국정보과학회*

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101789391B1 (ko) * 2015-12-14 2017-10-25 경희대학교 산학협력단 셀룰러 무선 접근 네트워트가 활성화된 icn에서의 스케일러블 비디오 스트리밍 전송 시스템 및 방법
CN109121018A (zh) * 2018-09-12 2019-01-01 中国地质大学(武汉) 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备
CN109121018B (zh) * 2018-09-12 2020-01-17 中国地质大学(武汉) 用于svc-dash点播系统的动态缓存调度方法、设备及存储设备

Also Published As

Publication number Publication date
KR20140093430A (ko) 2014-07-28
WO2014112698A1 (ko) 2014-07-24

Similar Documents

Publication Publication Date Title
TWI574531B (zh) 於相同視訊傳送管線內之客戶前提元件中將多重播放適應性位元率及單一播放適應性位元率與累進下載適應性位元率合併之技術
US11477262B2 (en) Requesting multiple chunks from a network node on the basis of a single request message
KR101983432B1 (ko) 동적 적응형 스트리밍 오버 http(dash)를 http 라이브 스트리밍(hls)으로 변환 또는 번역하기 위한 장치, 시스템, 및 방법
US9197677B2 (en) Multi-tiered scalable media streaming systems and methods
TWI580237B (zh) 單一播放適應性位元率串流
Ma et al. Mobile video delivery with HTTP
JP6016778B2 (ja) チャンクの形態でストリーミングされたコンテンツを回復する方法
US10034048B2 (en) Multipath delivery for adaptive streaming
Sanchez et al. Efficient HTTP-based streaming using scalable video coding
KR102110627B1 (ko) 적응적 비트레이트 스트리밍에서 대역폭 할당을 위한 방법들 및 디바이스들
KR101438737B1 (ko) 멀티플 캐시 네트워크에서의 적응적 비디오 스트리밍 시스템 및 방법
EP2360923A1 (en) Method for selectively requesting adaptive streaming content and a device implementing the method
US20130114744A1 (en) Segmented parallel encoding with frame-aware, variable-size chunking
Thomas et al. Enhancing MPEG DASH performance via server and network assistance
Schierl et al. Priority-based media delivery using SVC with RTP and HTTP streaming
GB2524855A (en) Q-flow HLS
KR20120010089A (ko) Http 기반의 멀티미디어 스트리밍 서비스의 품질 향상을 위한 방법 및 장치
JP2014515144A (ja) バイト範囲リクエストを使用したビデオデータのネットワークストリーミング
KR20150083793A (ko) 클라이언트 단말기에서, 멀티미디어 컨텐츠의 세그먼트의 다가오는 시퀀스를 다운로딩하는 방법, 및 대응하는 단말기
US10499094B2 (en) Transmission apparatus, transmitting method, reception apparatus, and receiving method
CN108370281B (zh) 流式传输内容的多播传送的数据速率适配
KR20160106701A (ko) 세그먼트들로 분할된 멀티미디어 콘텐츠를 수신하도록 구성된 클라이언트 단말에 의해 네트워크 정보를 획득하기 위한 방법
KR20190048186A (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 분할 전송 시스템 및 스트리밍 방법
KR102237900B1 (ko) 클라이언트 단말에 의해 멀티미디어 콘텐츠의 콘텐츠 부분을 검색하기 위한 방법
CA2657444C (en) Multi-tiered scalable media streaming systems and methods

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170707

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180723

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190808

Year of fee payment: 6