KR20140041256A - Http에 기초한 동적 적응적 스트리밍 시스템 - Google Patents

Http에 기초한 동적 적응적 스트리밍 시스템 Download PDF

Info

Publication number
KR20140041256A
KR20140041256A KR1020120108360A KR20120108360A KR20140041256A KR 20140041256 A KR20140041256 A KR 20140041256A KR 1020120108360 A KR1020120108360 A KR 1020120108360A KR 20120108360 A KR20120108360 A KR 20120108360A KR 20140041256 A KR20140041256 A KR 20140041256A
Authority
KR
South Korea
Prior art keywords
segment
http
web server
file
dash client
Prior art date
Application number
KR1020120108360A
Other languages
English (en)
Other versions
KR101397551B1 (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 KR1020120108360A priority Critical patent/KR101397551B1/ko
Publication of KR20140041256A publication Critical patent/KR20140041256A/ko
Application granted granted Critical
Publication of KR101397551B1 publication Critical patent/KR101397551B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/762Media network packet handling at the source 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

HTTP에 기초한 동적 적응적 스트리밍 시스템이 개시된다.
본 발명의 일 실시예에 따르면, HTTP에 기초한 동적 적응적 스트리밍 시스템에 있어서, 콘텐츠를 다양한 품질로 인코딩하여 생성한 복수의 비트 스트림을 일정 시간 간격으로 분할하여 각 비트 스트림마다 복수의 세그먼트를 생성하고, 생성된 복수의 세그먼트에 관한 생성 정보를 기술한 파일(이하 'MPD 파일'이라 칭함)을 생성하는 DASH 서버, 상기 생성된 복수의 세그먼트 및 상기 MPD 파일이 저장되는 HTTP 웹 서버 및 상기 HTTP 웹 서버로부터 상기 MPD 파일을 수신하여 획득한 상기 복수의 세그먼트에 관한 생성 정보를 바탕으로 상기 HTTP 웹 서버에 저장된 세그먼트를 선택적으로 수신하는 DASH 클라이언트를 포함하되, 상기 DASH 클라이언트는 상기 세그먼트를 수신하는 네트워크 상황에 맞추어 수신할 세그먼트의 품질을 결정하는 것을 특징으로 하는 HTTP에 기초한 동적 적응적 스트리밍 시스템을 제공한다.

Description

HTTP에 기초한 동적 적응적 스트리밍 시스템{Dynamic and Adaptive Streaming System over HTTP}
본 실시예는 HTTP에 기초한 동적 적응적 스트리밍 시스템에 관한 것이다. 더욱 상세하게는, 클라이언트가 HTTP 웹 서버에 위치한 동영상을 재생함에 있어, 통신망이나 트래픽 등의 간섭을 고려하여 현재의 네트워크 상황에 맞는 비트율의 화질을 스트리밍하는 시스템에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
인터넷 네트워크 인프라의 발달로 방송망이 아닌 인터넷 망을 통하여 데이터 용량이 큰 고화질의 콘텐츠를 전송할 수 있게 됨에 따라 인터넷 네트워크의 부담이 가중될 것으로 보인다.
기존의 스트리밍 방식은 RTSP, RTMP, MMS 등과 같은 전용 스트리밍 프로토콜을 사용하고, CDN(Cntent Delivery Network)의 전용회선을 이용하여, 현 시점에서 필요한 영상을 미디어 서버로부터 수신하는 방식이었다. 이는 마치 서버와 클라이언트가 하나의 논리적인 회로를 설정해주는 스테이트풀 방식으로 생각할 수 있다.
이와는 달리, 최근 YouTube, Vimeo, MySpace, MSN Soapbox 등에서는 웹 표준 프로토콜인 HTTP를 이용하여 미디어 콘텐츠를 버퍼링하고 플레이이를 하는 프로그레시브 다운로드 방식이 널리 이용되고 있다. 기존의 스트리밍 방식과 달리, 웹 표준 프로토콜을 이용한 전송방식은 HTTP를 지원하는 종래의 구조적 체계나 아키텍쳐를 그대로 이용하여, 언제 어디서나 인터넷을 이용하여 미디어 서비스에 접근이 가능하다는 점과 인터넷에 존재하는 캐시 또는 프록시 서버들을 이용하여 네트워크를 효율적으로 사용할 수 있다. 또한 RTP/RTSP와 같은 전송 프로토콜의 경우처럼 NAT/Firewall과 같은 이슈가 발생하지 않는다는 장점이 있기 때문에, 웹 상의 비디오 전송 방식으로 널리 사용되고 있다.
한편, 기존의 HTTP상에서 스트리밍 방식은 대상 동영상으로부터 한가지의 비트율을 클라이언트에 서비스하는 구조였다. 이러한 구조 하에서 통신망 상에서의 간섭이나 트래픽이 일정순간 과도하게 발생하는 경우 버퍼링이나 화면의 끊김과 같은 현상이 발생할 수 있다. 따라서 제한적인 네트워크 환경에서 모든 사용자에게 고화질의 스트리밍 서비스를 제공하는 것은 어려울 것으로 예상되므로 화질의 저하가 있더라도 사용자에게는 끊김 없는 스트리밍 서비스를 제공할 수 있는 기술 개발이 필요하다.
본 실시예는 클라이언트가 HTTP 웹 서버에 위치한 동영상을 재생함에 있어서, 통신망이나 트래픽 등의 간섭을 고려하여 현재의 네트워크 상황에 맞는 비트율의 화질을 스트리밍하는 시스템을 제공하는 데 주된 목적이 있다.
본 실시예의 일 측면에 의하면, HTTP에 기초한 동적 적응적 스트리밍 시스템에 있어서, 콘텐츠를 다양한 품질로 인코딩하여 생성한 복수의 비트 스트림을 일정 시간 간격으로 분할하여 각 비트 스트림마다 복수의 세그먼트를 생성하고, 생성된 복수의 세그먼트에 관한 생성 정보를 기술한 파일(이하 'MPD 파일'이라 칭함)을 생성하는 DASH 서버, 상기 생성된 복수의 세그먼트 및 상기 MPD 파일이 저장되는 HTTP 웹 서버 및 상기 HTTP 웹 서버로부터 상기 MPD 파일을 수신하여 획득한 상기 복수의 세그먼트에 관한 생성 정보를 바탕으로 상기 HTTP 웹 서버에 저장된 세그먼트를 선택적으로 수신하는 DASH 클라이언트를 포함하되, 상기 DASH 클라이언트는 상기 세그먼트를 수신하는 네트워크 상황에 맞추어 수신할 세그먼트의 품질을 결정하는 것을 특징으로 하는 HTTP에 기초한 동적 적응적 스트리밍 시스템을 제공한다.
상기 복수의 비트 스트림은 비트율, 해상도 및 프레임율 중 적어도 어느 하나의 인자를 조절함으로써 그 품질이 조절된 것일 수 있다.
또한, 상기 세그먼트에 관한 생성 정보는 상기 복수의 세그먼트 각각에 관한 세그먼트의 구조, 세그먼트의 저장 위치, 세그먼트의 품질 정보 및 서비스 형태 중 적어도 어느 하나의 정보를 포함할 수 있다.
또한, 상기 일정 시간 간격은 상기 비트 스트림의 GOP에 기초해 설정된 것일 수 있다.
또한, 상기 일정 시간 간격은 상기 비트 스트림의 하나 또는 둘 이상의 GOP의 프레임들에 대응되는 시간 간격으로 설정된 것일 수 있다.
또한, 상기 DASH 클라이언트는 재생 초기에 낮은 품질의 세그먼트로 스트리밍을 시작하되, 이후 네트워크 상황에 맞추어 수신할 세그먼트의 품질을 결정할 수 있다.
또한, 상기 DASH 클라이언트는 상기 세그먼트를 수신하는 네트워크의 대역폭, 상기 HTTP 웹 서버의 사용 가능한 하드웨어 자원, 상기 DASH 클라이언트의 사용 가능한 하드웨어 자원 중 적어도 어느 하나에 기초하여 네트워크 환경을 판단할 수 있다.
더불어, 상기 DASH 클라이언트는 수신하는 비트 스트림의 타임 스탬프 및 비트 에러율에 기초해 상기 네트워크 환경을 판단할 수 있다.
본 발명의 다른 측면에 의하면, 서로 상이한 품질로 인코딩된 복수의 비트 스트림을 일정 시간 간격으로 분할하여 생성된 세그먼트 파일 및 상기 세그먼트 파일의 생성 정보가 기술된 MPD 파일을 저장하고 있는 HTTP 웹 서버로부터 상기 세그먼트 파일 및 상기 MPD 파일을 수신하는 입력부, 상기 입력부로부터 상기 MPD 파일을 전달받아, 상기 MPD 파일을 분석하여 상기 세그먼트 파일의 생성 정보를 취득하는 메타데이터 분석부, 네트워크 환경을 분석하여 망의 상태에 따라 소정의 품질의 세크먼트를 선택적으로 수신하여 버퍼에 저장하는 무결절 스위처 및 미디어 플레이어를 통해 상기 버퍼에 저장된 세그먼트를 재생하는 세그먼트 컨트롤러를 포함하는 것을 특징으로 하는 DASH 클라이언트를 제공한다.
상기 무결절 스위처는 재생 초기에 낮은 품질의 세그먼트를 수신하되, 이후 네트워크 상황에 맞추어 수신할 세그먼트의 품질을 결정할 수 있다.
또한, 상기 무결절 스위처는 상기 세그먼트를 수신하는 네트워크의 대역폭, 상기 HTTP 웹 서버의 사용 가능한 하드웨어 자원, 상기 DASH 클라이언트의 사용 가능한 하드웨어 자원 중 적어도 어느 하나에 기초하여 네트워크 환경을 판단할 수 있다.
더불어, 상기 무결절 스위처는 수신하는 비트 스트림의 타임 스탬프 및 비트 에러율에 기초해 상기 네트워크 환경을 판단할 수 있다.
본 발명의 또다른 측면에 의하면, 서로 상이한 품질로 인코딩된 복수의 비트 스트림을 일정 시간 간격으로 분할하여 생성된 세그먼트 파일 및 상기 세그먼트 파일의 생성 정보가 기술된 MPD 파일을 저장하고 있는 HTTP 웹 서버로부터 상기 세그먼트 파일 및 상기 MPD 파일을 수신하는 제1과정, 수신한 MPD 파일을 분석하여 상기 세그먼트 파일의 생성 정보를 취득하는 제2과정, 네트워크 환경을 분석하여 망의 상태에 따라 소정의 품질의 세크먼트를 선택적으로 수신하여 버퍼링하는 제3과정 및 버퍼링 세그먼트를 순차적으로 재생하는 제4과정을 포함하는 것을 특징으로 하는 HTTP에 기초한 DASH 클라이언트의 동적 적응적 스트리밍 방법을 제공한다.
상기 제3과정은 재생 초기에 낮은 품질의 세그먼트를 수신하되, 이후 네트워크 상황에 맞추어 수신할 세그먼트의 품질을 결정할 수 있다.
또한, 상기 제3과정은 상기 세그먼트를 수신하는 네트워크의 대역폭, 상기 HTTP 웹 서버의 사용 가능한 하드웨어 자원, 상기 DASH 클라이언트의 사용 가능한 하드웨어 자원 중 적어도 어느 하나에 기초하여 네트워크 환경을 판단하는 것일 수 있다.
더불어, 상기 제3과정은 수신하는 비트 스트림의 타임 스탬프 및 비트 에러율에 기초해 상기 네트워크 환경을 판단하는 것일 수 있다.
이상에서 설명한 바와 같이 본 실시예에 의하면, 유동적인 HTTP망 상태를 고려하여 다양한 품질로 서버에 저장되어 있는 미디어 콘텐츠를 선택적으로 전송받음으로써, 사용자는 끊김없는 적응적 스트리밍 서비스를 받아볼 수 있다.
또한, 가변적인 네트워크 대역폭을 가지는 인터넷을 이용하여 사용자들의 다양한 단말을 통해 끊김없는 스트리밍 서비스가 가능해진다.
도 1은 본 발명의 일 실시예에 따른 DASH 시스템을 도시한다.
도 2는 본 발명의 일 실시예에 따른 DASH 서버의 기능 블록을 간략히 도시한 도면이다.
도 3은 본 발명의 일 실시예에 따른 DASH 클라이언트의 기능 블록을 개략적으로 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 DASH 서버의 세그먼트 생성 방법을 도식화한 신호흐름도이다.
도 5는 본 발명의 일 실시예에 따른 DASH 클라이언트의 컨텐츠 재생 방법을 도식적으로 나타낸 도면이다.
이하, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다. 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 부호를 가지도록 하고 있음에 유의해야 한다. 또한, 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명은 생략한다.
도 1은 본 발명의 일 실시예에 따른 DASH 시스템을 도시한다.
도 1을 참조하면, 본 발명의 일 실시예에 따른 DASH 시스템은 DASH 서버(110), HTTP 웹 서버(120) 및 DASH 클라이언트(130)를 포함한다.
HTTP 웹 서버(120)가 DASH 클라이언트(130)가 HTTP 웹 서버(120)로부터 미디어 데이터의 스트리밍 서비스를 제공받을 때, 스트리밍 환경은 변경될 수 있다. 예를 들어, 스트리밍을 위한 네트워크(140) 대역폭이 변경될 수도 있고, HTTP 웹 서버(120)가 비트 스트림을 전송하기 위해 사용 가능한 하드웨어 자원 또는 DASH 클라이언트(130)가 비트 스트림을 수신하기 위해 사용 가능한 하드웨어 자원이 변경될 수도 있다.
유동적인 스트리밍 환경에 적응적으로 스트리밍 서비스를 하기 위해서, 본 실시예는 동일한 콘텐츠에 대해 여러 가지 품질로 인코딩된 비트 스트림을 생성하고, 생성된 비트 스트림 파일을 적당한 크기의 조각으로 나누어 HTTP 웹 서버(120)에 저장한다.
HTTP 웹 서버(120)에는 다양한 품질로 생성된 비트 스트림이 일정한 조각(이하 '세그먼트'라고 칭함)으로 잘려진 세그먼트 형태로 저장되어 있고, 이러한 세그먼트에 관한 정보를 담고 있는 MPD 문서 역시 HTTP 웹 서버(120)에 저장된다. HTTP 웹 서버(120)와 DASH 클라이언트(130) 간의 통신은 HTTP 프로토콜을 이용한 DASH 클라이언트(130)의 요청과 이에 대한 HTTP 웹 서버(120)의 응답을 통해 이루어진다. 최초에 DASH 클라이언트(130)는 HTTP 웹 서버(120)에 MPD 파일을 요청하게 되고, 전달된 MPD 파일을 통해 HTTP 웹 서버(120)에 저장되어 있는 해당 파일에 관한 정보를 인식하여 원하는 콘텐츠에 대한 세그먼트 파일을 네트워크 환경에 맞는 품질의 세그먼트 파일의 전송을 HTTP 웹 서버(120)에 요청한다. 이에 HTTP 웹 서버(120)는 요청된 세그먼트 파일을 네트워크 환경에 적응적으로 사용자에게 제공함으로써 DASH 스트리밍 서비스가 이루어진다.
이하에서는 도 2를 참고하여 DASH 서버(110)의 구성 및 기능을 설명한다.
DASH 서버(110)와 HTTP 웹 서버(120)는 별개의 서버로 구축될 수도 있으나, DASH 서버(110)가 HTTP 웹 서버(120)에 아래에 설명할 기능을 수행하는 모듈 형태로 포함될 수도 있다.
도 2는 본 발명의 일 실시예에 따른 DASH 서버의 기능 블록을 간략히 도시한 도면이다.
도 2에 도시된 바와 같이, DASH 서버(110)는 트랜스코딩부(210), 세그먼트 생성부(220) 및 MPD 생성부(230)를 포함한다.
트랜스 코딩부는 원본 컨텐츠 파일을 복수의 상이한 품질로 인코딩하여 하나의 콘텐츠에 대한 복수의 비트 스트림을 생성한다. 코덱 정보를 바탕으로 비트율(Bit Rate), 해상도(Resolution), 프레임율(Frame Rate) 등과 같은 인자들을 조절함으로써 하나의 콘텐츠를 복수의 상이한 품질로 인코딩할 수 있다.
세그먼트 생성부(220)는 서로 상이한 품질로 인코딩된 복수의 비트 스트림을 일정한 시간 간격으로 세분화하여, 각 비트 스트림의 재생에 필요한 초기화 세그먼트와 미디어 세그먼트를 생성한다. 분할의 기초가 되는 시간 간격은 GOP(Group of Picture)에 기초해 설정될 수 있다. 하나 또는 둘 이상의 GOP의 프레임들에 대응되는 비트 스트림을 하나의 세그먼트로 설정할 수 있다. 생성된 세그먼트들은 HTTP 웹 서버(120)에 저장되며, 각 세그먼트는 그에 해당하는 URL(Uniform Resource Locator) 경로를 할당받게 된다. 여기서, 세그먼트는 DASH 클라이언트(130)의 요청시 HTTP 경로를 통하여 제공될 수 있는 일정 시간으로 잘려진 비트 스트림의 최소 데이터 단위이다.
세그먼트를 분할하는 시간 간격을 좁게 하는 경우, HTTP 망의 상태에 따라 높은 전환 단위의 세그먼트 레벨을 갖으며 실시간 스트리밍과 유사한 측면을 갖는 대신, 세그먼트 파일의 수 및 세그먼트의 URL의 수가 증가하게 된다.
MPD 생성부(230)는 위 세그먼트에 관한 정보를 기초로 MPD(Media Presentation Description) 문서를 생성한 후 이를 HTTP 웹 서버(120)에 저장한다. MPD 문서는 세그먼트에 대한 정보를 XML(eXtensible Markup Language)형식으로 기술하며, 해당 세그먼트에 상응하는 콘텐츠 시간상의 위치, URL, 크기 등 DASH 클라이언트(130)가 사전에 인지하여야 할 정보가 포함할 수 있다. 다시 말해, 유동적인 인터넷 망 상태에 신속히 대응하기 위해서 전체 콘텐츠 파일을 적당한 크기의 조각으로 나누어 HTTP 웹 서버(120)에 저장시켜 두고, 이렇게 조각난 파일들을 어떻게 순차적으로 가져와서 재생할 것인지에 대한 정보를 별도의 파일로 만들어서 HTTP 웹 서버(120)에 올려 두어야 하는데, 이것이 MPD 문서이다. 생성된 MPD 문서에 대해 MPD 생성부(230)는 스키마 검증(Schema Validation)을 수행하여 오류 여부를 판단할 수 있다.
한편, HTTP 웹 서버(120)는 DASH 클라이언트(130)가 MPD 문서 및 세그먼트 파일을 전송할 것을 요청하면, 요청된 MPD 문서 및 세그먼트 파일을 DASH 클라이언트(130)에 전송한다. HTTP 웹 서버(120)는 HTTP 데몬을 가지고 있으며, HTTP 데몬은 DASH 클라이언트(130)의 HTTP 요청을 기다리고 있다가 HTTP 요청이 들어오면 해당 요청을 처리한다.
HTTP 웹 서버(120)는 한 대의 서버를 셋팅하여 DASH 클라이언트(130)가 한대의 서버로부터 복수의 품질의 세그먼트 파일을 전송받도록 구성될 수도 있고, 여러 대의 서버에 각 품질별 세그먼트 파일들을 분산시켜 스트리밍 서비스를 제공하도록 구성될 수도 있다.
DASH 서버(110)와 HTTP 웹 서버(120)는 별개의 서버로 구축될 수도 있으나, DASH 서버(110)가 HTTP 웹 서버(120)에 아래에 설명할 기능을 수행하는 모듈 형태로 포함될 수도 있다.
이하에서는 DASH 클라이언트의 구성을 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 DASH 클라이언트의 기능 블록을 개략적으로 도시한 도면이다.
DASH 클라이언트(130)는 음악 파일, 동영상 컨텐츠 등 다양한 컨텐츠를 스트리밍 받을 수 있는 애플리케이션이 구비된 모든 단말기를 포함하는데, 예를 들어, 셀룰러폰(Cellular phone), 피씨에스폰(PCS phone: Personal Communications Services phone), 동기식/비동기식 IMT-2000(International Mobile Telecommunication-2000) 단말기일 수 있을 뿐만 아니라, 컨텐츠를 스트리밍 받을 수 있는 노트북 PC, 데스크탑 PC, 팜 PC(Palm Personal Computer), 개인용 디지털 보조기(PDA:Personal Digital Assistant), 스마트폰(Smart phone), 왑폰(WAP phone:Wireless application protocol phone), 모바일 게임기(mobile play-station) 등의 모든 통신 장치로 구현될 수 있다.
HTTP 웹 서버(120)와 DASH 클라이언트(130) 간의 네트워크 망은 유선 인터넷 망을 비롯하여 무선 인터넷 망, Wibro, WCDMA, CDMA2000, LAN 등 다양한 형태의 네트워크 프로토콜을 지원할 수 있다. 이 네트워크 망을 통하여 멀티미디어 데이터의 전송 채널을 획득하게 된다.
도 3을 참조하면, DASH 클라이언트(130)는 MPD 분석부(310), 무결절 스위처(320)(Seamless Switcher) 및 세그먼트 컨트롤러(330)를 포함한다.
MPD 분석부(310)는 HTTP 웹 서버(120)에 MPD 파일을 요청하고, HTTP 웹 서버(120)로부터 전달받은 MPD 파일을 분석하여, HTTP 웹 서버(120)에 저장되어 있는 세그먼트의 정보를 획득한다. MPD 분석부(310)는 MPD 파일이 올바른 것인지 검사하고, DASH 클라이언트에서 지원 가능한 MPD 파일인지 여부를 판별하며, DASH 서버(110)에 존재하는 세그먼트의 구조 및 위치, 서비스 형태(실시간 스트리밍 방식인지 VOD 방식 등) 등의 정보를 수집할 수 있다. 즉, MPD 문서는 HTTP 웹 서버(120)와 DASH 클라이언트(130) 간의 세그먼트 전송과 수신을 위한 매개체로서 기능한다.
무결절 스위처(320)는 네트워크 상태를 분석하여 망의 상태에 가장 적당한 비트율을 판단한다. 판단 결과를 바탕으로 현재의 네트워크 통신망 환경에 맞는 세그먼트를 HTTP 웹 서버(120)에 요청하여 전달받는다. HTTP 웹 서버(120)로의 세그먼트 요청시 MPD 문서에 기술된 해당 세그먼트에 관한 HTTP-URL 정보가 이용된다.
즉, 무결절 스위처(320)는 스트리밍 환경이 악화되어 현재 수신중인 비트 스트림을 계속하여 수신하면 끊임없이 컨텐츠를 재생할 수 없다고 판단되는 경우에는 현재 수신중인 비트 스트림보다 낮은 품질로 인코딩된 비트 스트림의 세그먼트를 요청하고, 스트리밍 환경이 개선되어 현재 수신중인 비트 스트림보다 높은 품질로 인코딩된 비트 스트림을 수신하더라도 끊임없이 콘텐츠를 재생할 수 있는 경우에는 현재 수신중인 비트 스트림보다 높은 품질로 인코딩된 비트 스트림의 세그먼트를 요청한다.
또한, 무결절 스위처(320)는 컨텐츠의 재생을 시작할 때, DASH 클라이언트(130)는 낮은 품질의 세그먼트로 스트리밍하면서 DASH 클라이언트(130) 단말기의 네트워크 상황에 맞추어 대역폭을 올리는 방식으로 차후 수신할 세그먼트의 품질을 판단할 수 있다. 대개의 컨텐츠의 경우 처음에 로고 및 제목 표시 등으로 시작하고 사용자는 이러한 화면에 크게 주의를 기울이지 않기 때문에 이러한 과정에서의 낮은 품질은 거의 눈에 띄지 않을 것이다.
무결절 스위처(320)가 스트리밍 환경을 추정함에 있어서, HTTP 웹 서버(120) 또는 DASH 클라이언트(130)가 사용 가능한 하드웨어 자원에 기초해 스트리밍 환경을 추정하는 다양한 방법들이 이용될 수 있다. 예를 들어, DASH 클라이언트(130)는 수신되는 비트 스트림의 타임 스탬프 및 비트 에러율(Bit Error Rate: BER)에 기초해 스트리밍 환경을 추정할 수 있다. 수신되는 비트 스트림의 타임 스탬프를 확인하여 미디어 데이터가 재생 속도보다 느린 속도로 수신되고 있으면, 스트리밍 환경이 악화되고 있는 것으로 판단할 수 있다. 또한, 수신되는 비트 스트림의 비트 에러율이 높아져도 스트리밍 환경이 악화되고 있는 것으로 판단할 수 있다.
또한, 무결절 스위처(320)가 스트리밍 환경을 추정함에 있어서, HTTP 웹 서버(120)와 DASH 클라이언트(130) 사이의 가용 네트워크 대역폭을 측정하는 알고리즘이 사용될 수 있다. 가용 네트워크 대역폭이란 네트워크 링크가 가지는 대역폭 전체 수용능력 중 현재 사용되고 있는 부분을 제외한 나머지 대역폭을 말한다. 이 경우 DASH 클라이언트(130)는 현재 네트워크의 가용 대역폭을 측정하고, 이를 기준으로 끊김 없는 미디어 재생이 가능한 미디어 품질을 결정하고, 이를 기반으로 HTTP 웹 서버(120)에 결정된 품질에 대응하는 세그먼트의 전송을 요청할 수 있다.
세그먼트 컨트롤러(330)는 HTTP 웹 서버(120)로부터 전달받은 세그먼트들이 끊김없이 재생될 수 있도록 시간 정보의 체크 및 세그먼트 순서 등을 조정하여 미디어 엔진에 전달한다.
도 4는 본 발명의 일 실시예에 따른 DASH 서버의 세그먼트 생성 방법을 도식화한 신호흐름도이다.
먼저, DASH 서버(110)는 코덱정보, 압축비트율 등을 바탕으로 입력된 원본 컨텐츠 파일을 인코딩하여 여러 품질의 비트 스트림 파일을 생성한다(S410~S420). 비트율(Bit Rate), 해상도, 프레임율(Frame Rate) 등과 같은 인자들을 조절함으로써 하나의 콘텐츠를 복수의 상이한 품질로 인코딩할 수 있다. 또한, 생성된 MPD 파일은 HTTP 웹 서버(120)에 저장된다(S430).
이후, DASH 서버(110)는 복수의 상이한 품질로 인코딩된 복수의 비트 스트림을 일정한 시간 간격으로 세분화하여, 재생하는데 필요한 초기화 세그먼트와 미디어 세그먼트를 생성한다(S440).
이후, DASH 서버(110)는 위 세그먼트 생성 정보를 기초로 MPD(Media Presentation Description) 문서를 생성한다(S450). MPD 문서에는 해당 세그먼트에 상응하는 콘텐츠 시간상의 위치, URL(Uniform Resource Locator), 크기 등 클라이언트가 사전에 인지하여야 할 정보가 포함될 수 있다. DASH 서버(110)는 생성된 MPD 문서에 대해 검증을 수행할 수 있다. 생성된 MPD 파일은 HTTP 웹 서버(120)에 저장된다(S460).
S410~S450 과정에서 수행되는 상세한 내용은 DASH 서버(110)의 구성과 관련하여 이미 설명하였으므로, 여기서는 생략한다.
도 5는 본 발명의 일 실시예에 따른 DASH 클라이언트의 컨텐츠 재생 방법을 도식적으로 나타낸 도면이다.
먼저, DASH 클라이언트(130)는 MPD URI 정보를 기초로 HTTP 웹 서버(120)에 해당 컨텐츠에 관한 MPD 문서의 전송을 요청하는 HTTP 요청을 전송하고, 그에 대한 응답으로 MPD 파일을 전송받는다(S510~S520).
이후, DASH 클라이언트(130)는 전송받은 MPD 문서가 올바른 MPD 문서인지, DASH 클라이언트(130)에서 지원 가능한 MPD 문서인지 여부를 판별하고, DASH 서버(110)에 존재하는 세그먼트의 구조 및 위치, 서비스 형태 등의 정보를 수집한다(S520).
이후, DASH 클라이언트(130)는 네트워크 상태를 분석하고, 분석된 네트워크 상태에 적합한 비트율을 가진 세크먼트를 결정한다(S525~S530).
이후, 세그먼트의 위치 정보 등을 기초로 결정된 세크먼트에 관한 전송을 요청하는 HTTP 요청을 HTTP 웹 서버(120)에 전송하고, 그에 대한 응답으로 해당 세그먼트를 전달받는다(S535~S540).
DASH 클라이언트(130)는 HTTP 웹 서버(120)로부터 전송되는 세그먼트 데이터를 버퍼에 저장하고, 이로부터 오디오 및 비디오를 분리한 후 각각을 시간정보에 맞추어 재생한다(S545~S555).
DASH 클라이언트(130)는 마지막 세그먼트의 전송이 완료될 때까지 S525~S555 과정을 반복하여 수행한다.
S410~S450 과정에서 수행되는 상세한 내용은 DASH 클라이언트(130)의 구성과 관련하여 이미 설명하였으므로, 여기서는 생략한다.
한편, 도 4 및 도 5에 도시된 과정들은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 즉, 컴퓨터가 읽을 수 있는 기록매체는 마그네틱 저장매체(예를 들면, 롬, 플로피 디스크, 하드디스크 등), 광학적 판독 매체(예를 들면, 시디롬, 디브이디 등) 및 캐리어 웨이브(예를 들면, 인터넷을 통한 전송)와 같은 저장매체를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수 있다.
이상의 설명은 본 실시예의 기술 사상을 예시적으로 설명한 것에 불과한 것으로서, 본 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자라면 본 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 다양한 수정 및 변형이 가능할 것이다. 따라서, 본 실시예들은 본 실시예의 기술 사상을 한정하기 위한 것이 아니라 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.
110: DASH 서버 120: HTTP 웹 서버
130: DASH 클라이언트 210: 트랜스 코딩부
220: 세그먼트 생성부 230: MPD 생성부
310: MPD 분석부 320: 무결절 스위처
330: 세그먼트 컨트롤러 350: 미디어 플레이어

Claims (17)

  1. HTTP에 기초한 동적 적응적 스트리밍 시스템에 있어서,
    콘텐츠를 다양한 품질로 인코딩하여 생성한 복수의 비트 스트림을 일정 시간 간격으로 분할하여 각 비트 스트림마다 복수의 세그먼트를 생성하고, 생성된 복수의 세그먼트에 관한 생성 정보를 기술한 파일(이하 'MPD 파일'이라 칭함)을 생성하는 DASH 서버;
    상기 생성된 복수의 세그먼트 및 상기 MPD 파일이 저장되는 HTTP 웹 서버; 및
    상기 HTTP 웹 서버로부터 상기 MPD 파일을 수신하여 획득한 상기 복수의 세그먼트에 관한 생성 정보를 바탕으로 상기 HTTP 웹 서버에 저장된 세그먼트를 선택적으로 수신하는 DASH 클라이언트를 포함하되,
    상기 DASH 클라이언트는 상기 세그먼트를 수신하는 네트워크 상황에 맞추어 수신할 세그먼트의 품질을 결정하는 것을 특징으로 하는 HTTP에 기초한 동적 적응적 스트리밍 시스템.
  2. 제1항에 있어서,
    상기 복수의 비트 스트림은,
    비트율, 해상도 및 프레임율 중 적어도 어느 하나의 인자를 조절함으로써 그 품질이 조절된 것임을 특징으로 하는 HTTP에 기초한 동적 적응적 스트리밍 시스템.
  3. 제1항에 있어서,
    상기 세그먼트에 관한 생성 정보는,
    상기 복수의 세그먼트 각각에 관한 세그먼트의 구조, 세그먼트의 저장 위치, 세그먼트의 품질 정보 및 서비스 형태 중 적어도 어느 하나의 정보를 포함하는 것을 특징으로 하는 HTTP에 기초한 동적 적응적 스트리밍 시스템.
  4. 제1항에 있어서,
    상기 일정 시간 간격은 상기 비트 스트림의 GOP에 기초해 설정된 것임을 특징으로 하는 HTTP에 기초한 동적 적응적 스트리밍 시스템.
  5. 제4항에 있어서,
    상기 일정 시간 간격은,
    상기 비트 스트림의 하나 또는 둘 이상의 GOP의 프레임들에 대응되는 시간 간격으로 설정된 것임을 특징으로 하는 HTTP에 기초한 동적 적응적 스트리밍 시스템.
  6. 제1항에 있어서,
    상기 HTTP 웹 서버는,
    복수의 단위 서버로 구성되되, 상기 복수의 단위 서버는 각기 다른 품질별 세그먼트가 저장되는 것을 특징으로 하는 HTTP에 기초한 동적 적응적 스트리밍 시스템.
  7. 제1항에 있어서,
    상기 DASH 클라이언트는,
    재생 초기에 낮은 품질의 세그먼트로 스트리밍을 시작하되, 이후 네트워크 상황에 맞추어 수신할 세그먼트의 품질을 결정하는 것을 특징으로 하는 HTTP에 기초한 동적 적응적 스트리밍 시스템.
  8. 제1항에 있어서,
    상기 DASH 클라이언트는,
    상기 세그먼트를 수신하는 네트워크의 대역폭, 상기 HTTP 웹 서버의 사용 가능한 하드웨어 자원, 상기 DASH 클라이언트의 사용 가능한 하드웨어 자원 중 적어도 어느 하나에 기초하여 네트워크 환경을 판단하는 것을 특징으로 하는 HTTP에 기초한 동적 적응적 스트리밍 시스템.
  9. 제1항에 있어서,
    상기 DASH 클라이언트는,
    수신하는 비트 스트림의 타임 스탬프 및 비트 에러율에 기초해 상기 네트워크 환경을 판단하는 것을 특징으로 하는 HTTP에 기초한 동적 적응적 스트리밍 시스템.
  10. 서로 상이한 품질로 인코딩된 복수의 비트 스트림을 일정 시간 간격으로 분할하여 생성된 세그먼트 파일 및 상기 세그먼트 파일의 생성 정보가 기술된 MPD 파일을 저장하고 있는 HTTP 웹 서버로부터 상기 세그먼트 파일 및 상기 MPD 파일을 수신하는 입력부;
    상기 입력부로부터 상기 MPD 파일을 전달받아, 상기 MPD 파일을 분석하여 상기 세그먼트 파일의 생성 정보를 취득하는 메타데이터 분석부;
    네트워크 환경을 분석하여 망의 상태를 바탕으로 결정된 소정의 품질을 가진 세크먼트를 선택적으로 수신하여 버퍼에 저장하는 무결절 스위처; 및
    미디어 플레이어를 통해 상기 버퍼에 저장된 세그먼트를 재생하는 세그먼트 컨트롤러
    를 포함하는 것을 특징으로 하는 DASH 클라이언트.
  11. 제10항에 있어서,
    상기 무결절 스위처는,
    재생 초기에 낮은 품질의 세그먼트를 수신하되, 이후 네트워크 상황에 맞추어 수신할 세그먼트의 품질을 결정하는 것을 특징으로 하는 DASH 클라이언트.
  12. 제10항에 있어서,
    상기 무결절 스위처는,
    상기 세그먼트를 수신하는 네트워크의 대역폭, 상기 HTTP 웹 서버의 사용 가능한 하드웨어 자원, 상기 DASH 클라이언트의 사용 가능한 하드웨어 자원 중 적어도 어느 하나에 기초하여 네트워크 환경을 판단하는 것을 특징으로 하는 DASH 클라이언트.
  13. 제10항에 있어서,
    상기 무결절 스위처는,
    수신하는 비트 스트림의 타임 스탬프 및 비트 에러율에 기초해 상기 네트워크 환경을 판단하는 것을 특징으로 하는 DASH 클라이언트.
  14. 서로 상이한 품질로 인코딩된 복수의 비트 스트림을 일정 시간 간격으로 분할하여 생성된 세그먼트 파일 및 상기 세그먼트 파일의 생성 정보가 기술된 MPD 파일을 저장하고 있는 HTTP 웹 서버로부터 상기 세그먼트 파일 및 상기 MPD 파일을 수신하는 제1과정;
    수신한 MPD 파일을 분석하여 상기 세그먼트 파일의 생성 정보를 취득하는 제2과정;
    네트워크 환경을 분석하여 망의 상태에 따라 소정의 품질의 세크먼트를 선택적으로 수신하여 버퍼링하는 제3과정; 및
    버퍼링 세그먼트를 순차적으로 재생하는 제4과정
    을 포함하는 것을 특징으로 하는 HTTP에 기초한 DASH 클라이언트의 동적 적응적 스트리밍 방법.
  15. 제14항에 있어서,
    상기 제3과정은,
    재생 초기에 낮은 품질의 세그먼트를 수신하되, 이후 네트워크 상황에 맞추어 수신할 세그먼트의 품질을 결정하는 것을 특징으로 하는 HTTP에 기초한 DASH 클라이언트의 동적 적응적 스트리밍 방법.
  16. 제14항에 있어서,
    상기 제3과정은,
    상기 세그먼트를 수신하는 네트워크의 대역폭, 상기 HTTP 웹 서버의 사용 가능한 하드웨어 자원, 상기 DASH 클라이언트의 사용 가능한 하드웨어 자원 중 적어도 어느 하나에 기초하여 네트워크 환경을 판단하는 것을 특징으로 하는 HTTP에 기초한 DASH 클라이언트의 동적 적응적 스트리밍 방법.
  17. 제14항에 있어서,
    상기 제3과정은,
    수신하는 비트 스트림의 타임 스탬프 및 비트 에러율에 기초해 상기 네트워크 환경을 판단하는 것을 특징으로 하는 HTTP에 기초한 DASH 클라이언트의 동적 적응적 스트리밍 방법.
KR1020120108360A 2012-09-27 2012-09-27 Http에 기초한 동적 적응적 스트리밍 시스템 KR101397551B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120108360A KR101397551B1 (ko) 2012-09-27 2012-09-27 Http에 기초한 동적 적응적 스트리밍 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120108360A KR101397551B1 (ko) 2012-09-27 2012-09-27 Http에 기초한 동적 적응적 스트리밍 시스템

Publications (2)

Publication Number Publication Date
KR20140041256A true KR20140041256A (ko) 2014-04-04
KR101397551B1 KR101397551B1 (ko) 2014-06-27

Family

ID=50651123

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120108360A KR101397551B1 (ko) 2012-09-27 2012-09-27 Http에 기초한 동적 적응적 스트리밍 시스템

Country Status (1)

Country Link
KR (1) KR101397551B1 (ko)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10045162B2 (en) 2015-04-08 2018-08-07 Electronics And Telecommunications Research Institute Device and method for transmitting and receiving media service in hybrid network
KR101964126B1 (ko) * 2017-10-26 2019-04-01 주식회사 이누씨 고화질 동영상의 스트리밍 전송 장치 및 방법
KR101982290B1 (ko) * 2018-02-27 2019-05-24 광운대학교 산학협력단 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법
WO2019107595A1 (ko) * 2017-11-29 2019-06-06 전자부품연구원 방송 수신기 및 이의 운용 방법
WO2019107593A1 (ko) * 2017-11-29 2019-06-06 전자부품연구원 Vod 컨텐츠 제공 서버 장치 및 이의 운용 방법
KR20220133964A (ko) * 2021-01-06 2022-10-05 텐센트 아메리카 엘엘씨 Http를 통한 동적 적응적 스트리밍을 위한 방법 및 장치

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106330905B (zh) * 2010-09-01 2020-12-01 艾迪尔哈布股份有限公司 内容提供方法和接收提供的内容的方法
KR20120083747A (ko) * 2011-01-18 2012-07-26 삼성전자주식회사 방송통신 융합형 서비스를 위한 전송 방법 및 장치

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10045162B2 (en) 2015-04-08 2018-08-07 Electronics And Telecommunications Research Institute Device and method for transmitting and receiving media service in hybrid network
KR101964126B1 (ko) * 2017-10-26 2019-04-01 주식회사 이누씨 고화질 동영상의 스트리밍 전송 장치 및 방법
WO2019107595A1 (ko) * 2017-11-29 2019-06-06 전자부품연구원 방송 수신기 및 이의 운용 방법
WO2019107593A1 (ko) * 2017-11-29 2019-06-06 전자부품연구원 Vod 컨텐츠 제공 서버 장치 및 이의 운용 방법
KR20190062817A (ko) * 2017-11-29 2019-06-07 전자부품연구원 Vod 컨텐츠 제공 서버 장치 및 이의 운용 방법
KR20190062818A (ko) * 2017-11-29 2019-06-07 전자부품연구원 방송 수신기 및 이의 운용 방법
KR101982290B1 (ko) * 2018-02-27 2019-05-24 광운대학교 산학협력단 적응적 스트리밍 서비스의 체감 품질 향상을 위한 콘텐츠 특성 기반 스트리밍 시스템 및 방법
KR20220133964A (ko) * 2021-01-06 2022-10-05 텐센트 아메리카 엘엘씨 Http를 통한 동적 적응적 스트리밍을 위한 방법 및 장치

Also Published As

Publication number Publication date
KR101397551B1 (ko) 2014-06-27

Similar Documents

Publication Publication Date Title
JP6648223B2 (ja) メディアコンテンツをクライアントデバイスにストリーミングするための方法および装置
US10511646B2 (en) System and method for delivering content
KR101845585B1 (ko) 멀티미디어 스트림의 적응성 트랜스코딩을 위한 방법 및 장치
US9258333B2 (en) Method for recovering content streamed into chunk
RU2622621C2 (ru) Система и способ для потоковой передачи воспроизводимого контента
US9294531B2 (en) Signaling and processing content with variable bitrates for adaptive streaming
US8719442B2 (en) System and method for providing and transmitting condensed streaming content
KR101702562B1 (ko) 멀티미디어 스트림 파일의 저장 파일 포맷, 저장 방법 및 이를 이용한 클라이언트 장치
KR101397551B1 (ko) Http에 기초한 동적 적응적 스트리밍 시스템
CN101917613B (zh) 一种流媒体采集编码服务系统
US20150296274A1 (en) Manifest generation and segment packetization
US20120246335A1 (en) Method, terminal, and server for implementing fast playout
CN105228001B (zh) 一种flv格式视频在线播放的方法及系统
CN112771877A (zh) 用于流式传输媒体数据的服务描述
KR20140004262A (ko) 시그널링 또는 블록 생성을 이용하는 개선된 블록-요청 스트리밍 시스템
Riiser et al. Low overhead container format for adaptive streaming
CN115943631A (zh) 流式传输包括具有切换集的可寻址资源索引轨道的媒体数据
CN109151614B (zh) 一种降低hls直播播放延迟的方法及装置
Kesavan et al. Rate adaptation performance and quality analysis of adaptive HTTP streaming methods
US20140201368A1 (en) Method and apparatus for enforcing behavior of dash or other clients
KR20190048186A (ko) 적응적 스트리밍 서비스를 위한 다중 경로 기반 분할 전송 시스템 및 스트리밍 방법
KR20140086801A (ko) 실시간 콘텐츠 트랜스코딩 방법, 장치 및 시스템, 및 실시간 콘텐츠 수신 장치 및 방법
KR20130029235A (ko) 스트리밍 되어오는 동영상 파일을 실시간 변환하여 스트리밍 전송하는 방법

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: 20170216

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180406

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20190304

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 7