KR101055169B1 - 스트리밍 시스템의 트래픽 제어 방법 및 그 장치 - Google Patents

스트리밍 시스템의 트래픽 제어 방법 및 그 장치 Download PDF

Info

Publication number
KR101055169B1
KR101055169B1 KR1020090025654A KR20090025654A KR101055169B1 KR 101055169 B1 KR101055169 B1 KR 101055169B1 KR 1020090025654 A KR1020090025654 A KR 1020090025654A KR 20090025654 A KR20090025654 A KR 20090025654A KR 101055169 B1 KR101055169 B1 KR 101055169B1
Authority
KR
South Korea
Prior art keywords
buffer
video
terminal
audio
server
Prior art date
Application number
KR1020090025654A
Other languages
English (en)
Other versions
KR20100107547A (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 KR1020090025654A priority Critical patent/KR101055169B1/ko
Publication of KR20100107547A publication Critical patent/KR20100107547A/ko
Application granted granted Critical
Publication of KR101055169B1 publication Critical patent/KR101055169B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2416Real-time traffic
    • 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/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

본 발명은 네트워크를 통해 수신되는 멀티미디어 컨텐츠에 대한 트래픽을 버퍼에 임시 저장하고, 상기 트래픽을 디코딩 처리하여 재생하는 적어도 하나 이상의 터미널과, 상기 멀티미디어 컨텐츠의 비디오 데이터를 적어도 하나 이상의 비트율로 인코딩되어 생성된 각 비디오 데이터를 각기 다른 비디오 버퍼에 저장하고, 상기 네트워크의 가용 대역폭 또는 상기 터미널의 버퍼 레벨을 기반으로 선택되는 상기 비디오 버퍼에 저장된 비디오 데이터와, 오디오 버퍼에 저장된 오디오 데이터에 따른 트래픽을 상기 터미널로 전송하는 스트리밍 서버를 포함하는 스트리밍 시스템을 개시하여, 스트리밍 서버가 비디오 데이터를 각기 다른 비트율로 인코딩 또는 변환한 이후에 네트워크의 가용 대역폭 또는 터미널의 버퍼 레벨을 기반으로 각기 다른 비트율 중 최적의 비트율을 가진 비디오 데이터와 오디오 데이터에 따른 트래픽을 해당 터미널로 전송할 수 있음에 따라 가용 대역폭이 매우 낮거나, 터미널의 버퍼 레벨이 매우 낮은 경우에도 빠르게 대응할 수 있도록 하는 것이다.

Description

스트리밍 시스템의 트래픽 제어 방법 및 그 장치{apparatus and method of control traffic in streaming system}
본 발명은 스트리밍 시스템의 트래픽 제어 방법 및 그 장치에 대한 것으로, 더욱 상세하게는, 스트리밍 시스템에서 트래픽을 전송하는 스트리밍 서버가 네트워크의 가용 대역폭 또는 터미널의 버퍼 레벨을 기반으로 각기 다른 비트율로 인코딩 또는 변환되어 데이터 베이스(저장 장치)에 저장되어 있는 비디오 데이터 중 최적의 비트율을 가진 비디오 데이터와 오디오 데이터에 따른 트래픽을 해당 터미널로 전송할 수 있음에 따라 가용 대역폭이 매우 낮거나, 터미널의 버퍼 레벨이 매우 낮은 경우에도 빠르게 대응할 수 있는 스트리밍 시스템의 트래픽 제어 방법 및 그 장치에 대한 것이다.
네트워크 기술 및 전자 기술의 발전으로, 유선 네트워크뿐만 아니라 무선 네트워크가 널리 보급되어 있으며, 이동 통신 기술이 발전함에 의해 무선 네트워크가 제공하는 전송 속도역시 빠르게 증가하고 있다.
그러나, 무선 네트워크는 특성상 유선 네트워크와 달리 기지국의 위치와 주변 환경에 의해 데이터 전송 속도가 영향을 받기 때문에 데이터 전송 속도 측면에서 변동성이 매우 크다.
따라서, 무선 네트워크를 통해 고화질의 멀티미디어 컨텐츠(데이터)를 가입자의 터미널로 안정적으로 전송하기 위해서는 네트워크의 환경에 적합하게 트래픽을 제어하는 기술에 대한 연구가 활발히 진행되고 있다.
예를 들어, 3세대 이동 통신 기술인 CDMA(code division multiple access)(/W-CDMA)보다 빠른 전송 속도를 가지는 3.5세대의 통신 기술인 HSDPA(high speed downlink packet access)에서는 빠른 전송 속도를 가지므로, 네트워크의 환경을 빠르게 파악할 수 있는 방식의 연구가 시급한 실정이다.
그리고, 네트워크를 통해 가입자들에게 제공하는 서비스 역시 다양해지고 있으며, 네트워크의 전송 속도가 증가함에 따라 실시간으로 끊김없이 멀티미디어 컨텐츠를 제공하는 스트리밍 서비스가 개발되어 많은 가입자들이 유선 및 무선 네트워크를 통해 스트리밍 서비스를 이용하고 있다.
스트리밍 서비스는 가장 큰 특징은 가입자가 터미널을 통해 시청하는 멀티미디어 컨텐츠가 끊김없이 재생되도록 하는 것이므로, 스트리밍 시스템에서 스트리밍 서버가 트래픽을 전송 제어하는 측면이 가장 중요한 요소이다.
현재 스트리밍 시스템에서 트래픽을 전송 제어하는 방식은 크게 네트워크의 가용 대역폭(available bandwidth)에 따라 트래픽의 전송률을 제어하거나, 터미널의 버퍼에 저장된 트래픽의 양, 즉 버퍼 레벨에 따라 트래픽의 전송률을 제어하는 방식이 사용되고 있다.
그러나, 기존의 스트리밍 시스템의 트래픽 전송 제어 방식에서는 단순히 트래픽의 전송률 제어하는 방식에 그치고 있으므로, 오버플로우/언더플로우(overflow/underflow) 현상에 의해 터미널에서 멀티미디어 컨텐츠의 재생 끊김이 발생하게 된다.
즉, 스트리밍 시스템의 스트리밍 서버가 빠르게 변화하는 네트워크 환경에 적응적으로 대응하지 못하게 됨은 물론, 터미널의 버퍼가 완전히 빈 상태(empty) 또는 네트워크의 가용 대역폭이 매우 낮은 경우에는 터미널의 버퍼에 빠른 속도로 트래픽이 전송되도록 제어해야 하나, 기존의 방식은 단순히 전송률만을 제어함에 따라 적극적인 대응이 이루어지지 않게 된다.
본 발명은 상술한 문제를 해소하기 위해 제안되는 것으로, 스트리밍 시스템에서 터미널로 멀티미디어 컨텐츠에 대한 트래픽을 전송하는 스트리밍 서버가 터미널의 버퍼가 텅빈 상태 또는 네트워크의 가용 대역폭이 매우 낮은 상태 등과 같은 상황에 적응적으로 빠르게 대응할 수 있도록 함에 의해 서비스 품질을 향상시킬 수 있는 스트리밍 시스템의 트래픽 제어 방법 및 그 장치를 제공하는 데 그 목적이 있다.
본 발명의 일 측면에 따른 스트리밍 시스템은, 네트워크를 통해 수신되는 멀티미디어 컨텐츠에 대한 트래픽을 버퍼에 임시 저장하고, 상기 트래픽을 디코딩 처리하여 재생하는 적어도 하나 이상의 터미널과, 상기 멀티미디어 컨텐츠의 비디오 데이터를 적어도 하나 이상의 비트율로 인코딩되어 생성된 각 비디오 데이터를 각기 다른 비디오 버퍼에 저장하고, 상기 네트워크의 가용 대역폭 또는 상기 터미널의 버퍼 레벨을 기반으로 선택되는 상기 비디오 버퍼에 저장된 비디오 데이터와, 오디오 버퍼에 저장된 오디오 데이터에 따른 트래픽을 상기 터미널로 전송하는 스트리밍 서버를 포함한다.
상기 스트리밍 서버는, 상기 네트워크의 가용 대역폭 또는 버퍼 레벨이 낮을수록 낮은 비트율을 비디오 데이터가 저장된 비디오 버퍼를 선택하는 것이 바람직하다.
상기 스트리밍 서버는, 오디오 및 비디오의 동기화를 위해 상기 트래픽의 타임스템프(timestamp)에 동일한 타임스케일(timescale)으로 보상 적용한다.
상기 스트리밍 시스템은, 상기 멀티미디어 컨텐츠의 비디오 데이터를 각기 다른 비트율로 인코딩하는 인코딩 서버를 더 포함한다.
상기 인코딩 서버는, 다수의 멀티미디어 컨텐츠에 대한 비디오/오디오 데이터를 저장하는 데이터 베이스와, 상기 데이터 베이스 또는 별도의 저장 장치에 저장된 상기 비디오 데이터를 각기 다른 비트율로 인코딩하는 다수의 비디오 인코더와, 상기 오디오 데이터를 인코딩하는 오디오 인코더로 구성되는 인코딩부를 포함 한다.
상기 스트리밍 시스템은, 다수의 멀티미디어 컨텐츠에 대한 미디어 파일에 저장된 상기 비디오 데이터를 각기 다른 비트율로 변환하는 트랜스코딩 서버를 더 포함한다.
상기 트랜스코딩 서버는, 상기 미디어 파일을 저장하는 데이터 베이스와, 상기 데이터 베이스 또는 별도의 저장 장치에 저장된 상기 비디오 데이터를 각기 다른 비트율로 변환하는 다수의 비디오 트랜스코더와, 상기 오디오 데이터를 기설정된 비트율로 변환하는 오디오 트랜스코더로 구성되는 트랜스코딩부를 포함한다.
본 발명의 다른 측면에 따른 스트리밍 시스템의 트래픽 제어 방법은, 스트리밍 서버가 적어도 하나 이상의 비트율로 생성된 멀티미디어 컨텐츠의 비디오 데이터를 각기 다른 비디오 버퍼에 저장하는 단계와, 상기 멀티미디어 컨텐츠의 오디오 데이터를 오디오 버퍼에 저장하는 단계와, 네트워크의 가용 대역폭 또는 터미널의 버퍼 레벨을 파악하는 단계와, 상기 네트워크의 가용 대역폭 또는 상기 터미널의 버퍼 레벨을 기반으로 선택되는 상기 각 비디오 버퍼 중 하나의 비디오 버퍼를 선택하는 단계와, 상기 비디오 버퍼에 저장된 비디오 데이터와, 상기 오디오 버퍼에 저장된 오디오 데이터에 따른 트래픽을 상기 터미널로 전송하는 단계를 포함한다.
상기 비디오 버퍼를 선택하는 단계는, 상기 네트워크의 가용 대역폭 또는 버퍼 레벨이 낮을수록 낮은 비트율을 비디오 데이터가 저장된 비디오 버퍼를 선택하는 것이 바람직하다.
상기 트래픽을 상기 터미널로 전송하는 단계는, 오디오 및 비디오의 동기화 를 위해 상기 트래픽의 타임스템프(timestamp)에 동일한 타임스케일(timescale)을 보상 적용한다.
상기 스트리밍 시스템의 트래픽 제어 방법은, 인코딩 서버가 비디오 소스를 각기 다른 비트율로 인코딩하여 상기 스트리밍 서버의 상기 각기 다른 비디오 버퍼에 저장하는 단계를 더 포함한다.
상기 스트리밍 시스템의 트래픽 제어 방법은, 트랜스코딩 서버가 미디어 파일의 비디오 데이터를 각기 다른 비트율로 변환하여 상기 스트리밍 서버의 상기 각기 다른 비디오 버퍼에 저장하는 단계를 더 포함한다.
상술한 바와 같은 본 발명에 따르면, 스트리밍 서버가 네트워크의 가용 대역폭 또는 터미널의 버퍼 레벨을 기반으로 각기 다른 비트율로 인코딩 또는 변환되어 데이터 베이스에 저장된 비디오 데이터 중 최적의 비트율을 가진 비디오 데이터와 오디오 데이터에 따른 트래픽을 해당 터미널로 전송할 수 있음에 따라 가용 대역폭이 매우 낮거나, 터미널의 버퍼 레벨이 매우 낮은 경우에도 빠르게 대응할 수 있으므로, 터미널의 재생 끊김 현상을 방지할 수 있다.
이하 본 발명의 바람직한 실시예에 따른 스트리밍 시스템의 트래픽 제어 방법 및 그 장치를 첨부 도면을 참조하여 상세 설명하며, 본 발명의 주된 기술 요지를 흐리거나, 주지된 기술 내용에 대한 상세 설명은 생략한다.
도 1은 본 발명의 제1 실시예에 따른 스트리밍 시스템을 설명하기 위한 블록 도면이다.
도 1을 참조하면, 스트리밍 서버(200)와 터미널(100)은 유선 또는 무선 네트워크를 통해 연결되며, 스트리밍 서버(200)와 터미널(100)은 RTCP(Real Time Control Protocol)의 메쏘드에 따라 세션을 설정한 이후에 데이터 세션(channel)을 RTP 패킷(트래픽)을 전송한다.
터미널(100)은 스트리밍 서버(200)로부터 RTP 패킷을 수신하는 패킷 수신부(110)와, 패킷 수신부(110)를 통해 수신되는 RTP 패킷을 임시 저장하는 버퍼(120)와, 버퍼(120)에 임시 저장된 RTP 패킷을 프레임 단위로 읽어들여 디코딩하는 디코더(130)를 포함한다.
그리고, 스트리밍 서버(200)는 다수의 터미널(100)과 설정되는 세션을 관리하는 세션 관리부(210)와, RTCP의 메쏘드에 따라 터미널(100)과 세션을 설정/종료하는 RTCP 핸들러(220)와, 인코딩 서버(300)에서 각기 다른 비트율로 인코딩된 비디오 데이터를 저장하는 데이터 베이스(310) 또는 별도의 저장 장치로부터 제공되는 비디오 데이터를 저장하는 다수개의 비디오 버퍼(V buffer) 및 오디오 데이터를 저장하는 오디도 버퍼(A buffer)를 포함하고, RTCP 핸들러(220)는 데이터 베이스에 저장된 멀티미디어 컨텐츠의 다수의 트랙 중 적절한 버퍼(V buffer)을 선택하는 버퍼 선택부(230)를 포함한다.
또한, 인코딩 서버(300)는 비디오 및 오디오 소스(데이터)를 저장하는 데이터 베이스(310)와, 다수의 비디오 인코더(V encoder)와, 오디오 인코더(A encoder) 로 구성되는 인코딩부(320)를 포함한다.
즉 인코딩 서버(300)는 비디오 및 오디오 소스(예를 들어, 방송 컨텐츠, 웹캠 촬영 영상 등)에서 비디오 데이터를 각기 다른 비트율로 인코딩한다. 이때, 인코딩 서버(300)는 비디오 데이터가 오디오 데이터에 비해 상대적으로 크기 때문에 비디오 데이터만 각기 다른 비트율로 인코딩하여 다수개의 데이터 트랙을 생성하는 것이 바람직하다.
인코딩부(320)의 오디오 인코더(A encoder)는 오디오 데이터를 기설정된 코덱 기법에 따라 인코딩하여 오디오 버퍼(A buffer)에 저장한다.
그리고, 인코딩부(320)의 각 비디오 인코더(V encoder)는 각기 다른 비트율(bit per second)로 비디오 데이터를 기설정된 코덱 기법에 따라 인코딩하여 스트리밍 서버(200)의 각기 설정된 비디오 버퍼(V buffer)로 저장한다.
스트리밍 서버(200)의 버퍼 선택부(230)는 터미널(100)의 버퍼 레벨 또는 가용 대역폭을 기반으로 최적의 비디오 버퍼(V buffer)를 선택하고, 스트리밍 서버(200)는 버퍼 선택부(230)가 선택한 비디오 버퍼(V buffer)에 저장된 비디오 데이터와, 오디오 버퍼(A buffer)에 저장된 오디오 데이터에 해당하는 트래픽을 터미널(100)로 전송한다.
스트리밍 서버(200)가 터미널(100)의 버퍼 레벨을 파악하는 방식은 터미널(100)의 버퍼 레벨 정보가 포함되는 알림 메시지를 스트리밍 서버(200)로 전송하는 방식과, 스트리밍 서버(200)가 터미널(100)의 버퍼 레벨을 측정하는 방식으로 구분할 수 있다.
도 2는 터미널이 버퍼 레벨을 스트리밍 서버로 전송하는 방식을 설명하기 위한 도면으로, 도 2를 참조하면, 스트리밍 서버(200)와 터미널(100)은 RTSP(Real Time Streaming Protocol)에 따라 TCP 상에서 패킷을 전송하기 위한 세션, 즉 데이터 채널(data channel)을 설정하고, 세션이 설정되면, 스트리밍 서버(200)는 UDP 상에서 RTP에 따라 패킷(트래픽)을 전송한다. 즉, 스트리밍 서버(200)와 터미널(100)간 제어 세션은 TCP 상에서 설정되고, 데이터 전송 세션은 UDP 상에서 설정된다.
터미널(100)은 데이터 채널을 통해 RTP 패킷을 수신하면서 제어 세션으로 버퍼 크기 정보, 즉 버퍼 레벨 정보가 포함되는 알림 메시지(NOTI)를 스트리밍 서버(200)로 전송하고, 스트리밍 서버(200)는 알림 메시지로부터 터미널(100)의 버퍼 크기 정보를 파악한다.
RTSP(Real Time Streaming Protocol)에 대한 내용은 'RFC 2326'에 정의되어 있고, RTP에 대한 내용은 'RFC 1889'에 정의되어 있으므로, 상세 설명은 생략한다.
도 3a는 RTCP APP 메시지의 구조를 예시한 도면이고, 도 3b는 터미널이 스트리밍 서버로 전송하는 알림 메시지를 예시한 도면이다.
도 3a에 예시된 메시지 구조의 각 필드에 대한 내용은 'RFC 2326'에 상세 설명은 생략하며, RTCP APP(APPlication Defined) 패킷의 응용 데이터 필드(Application-dependent data)를 이용하여 프로브 메시지 및 응답 메시지를 생성할 수 있다.
그리고, 터미널(100)는 RTCP APP 패킷의 응용 데이터 필드에 알림 메시지임 을 알리는 메시지 타입(MSG Type)과, 버퍼 크기(레벨)(buffer level)를 포함시켜 알림 메시지를 생성하여 스트리밍 서버(200)로 전송한다.
도 4는 스트리밍 서버가 터미널의 버퍼 레벨을 측정하는 방식을 설명하기 위한 도면이다.
도 4를 참조하면, 터미널(100)의 최대 버퍼 크기(SMCB)와, 버퍼(220)에 저장된 프레임 중 가장 먼저 저장된 프레임의 크기(SNXT)와, 버퍼(220)에 마지막에 저장된 프레임의 크기(SLST)와, 현재 시간(TCUR)과, 초기 버퍼링 시간(TIBT)을 기반으로 터미널(100)의 버퍼 레벨(SCB)을 다음 수학식 1과 같이 산출할 수 있다.
SCB = SUM(SLST:SNXT)
한편, 스트리밍 서버(200)는 네트워크의 가용 대역폭을 측정한다.
도 5는 본 발명에 따른 가용 대역폭을 측정하는 흐름을 설명하기 위한 개념도이다.
도 5를 참조하면, RTSP에 따라 스트리밍 서버(200)와 터미널(100)간 세션(data channel)이 설정되면, 스트리밍 서버(200)는 세션을 통해 패킷을 터미널(100)로 전송한다.
이때, 스트리밍 서버(200)는 터미널(100)이 유효 대역폭을 산출하기 위해 사용하는 프로브(probe) 패킷을 인식할 수 있도록 프루브 메시지(PROBE)를 터미 널(100)로 전송한다.
그리고, 터미널(100)은 프로브 패킷의 크기(비트수)와 프로브 패킷이 수신된 시간을 기반으로 수신률을 산출하고, 수신률이 포함되는 응답 메시지(EBW REPORT)를 스트리밍 서버(200)로 전송한다.
이때, 터미널(100)이 산출하는 수신률은 네트워크의 유효 대역폭과 동일하게 간주할 수 있다.
도 6a는 본 발명에 적용되는 프로브 메시지의 구조를 예시한 도면이고, 도 6b는 본 발명에 적용되는 응답 메시지의 구조를 예시한 도면이다.
도 6a 및 6b를 참조하면, 스트리밍 서버(200)는 유효 대역폭을 추정하기 위한 프로브 패킷의 시작 (PROBE_START)과 종료(PROBE_END)와, 스트리밍 서버(200)가 프루브 패킷을 전송한 전송률(Sending Rate)을 명시한 프루브 메시지를 생성하여 터미널(100)로 전송한다.
이때, 프로브 패킷의 시작 및 종료는 패킷의 시퀸스 넘버(sequence number)로 구별할 수 있으며, 프루브 메시지는 RTSP(Real Time Streaming Protocol)의 'SET_PARAMETER'를 설정하여 생성하거나, RTCP APP(APPlication Defined) 메시지를 이용하여 생성할 수 있다.
또한, 스트리밍 서버(200)는 프루브 패킷보다 프루브 메시지를 소정 시간 이전에 전송하여 터미널(100)이 프루브 패킷의 시작 및 종료를 파악할 수 있도록 한다.
이때, 패킷 세션(데이터 채널)과 제어 세션간 시간적인 인과 관계가 없으므 로, 프루브 패킷이 프루브 메시지보다 이전에 수신되는 경우를 방지하는 것이 바람직하다.
터미널(100)은 프루브 메시지로부터 프루브 패킷의 시작 및 종료를 파악하고, 프루브 패킷이 수신되는 시간과 패킷의 크기(size)에 따라 수신율(R)을 측정한다.
그리고, 터미널(100)은 수신율(R)을 가용 대역폭으로 스트리밍 서버(200)로 전송한다. 즉, 터미널(100)은 도 6b에 도시된 바와 같이, 응답 메시지임을 알리는 메시지 타입(MSG type)과, 가용 대역폭의 측정 결과임을 알리는 결과(Rsult) 및 가용 대역폭 정보(RATE)가 포함되는 응답 메시지를 스트리밍 서버(200)로 전송한다.
한편, 스트리밍 서버(200)는 파악되는 터미널(100)의 버퍼 레벨과, 네트워크의 가용 대역폭(ABW)을 기반으로 최적의 비트율을 선정하여 해당 비트율로 인코딩된 비디오 데이터가 포함되는 비디오 버퍼(V buffer)를 선택한다.
일례로, 스트리밍 서버(200)는 가용 대역폭 또는 버퍼 레벨의 값을 일정 레벨 범위로 구분한 다음 파악된 가용 대역폭 또는 버퍼 레벨이 포함되는 레벨 범위에 상응하는 비디오 버퍼(V buffer)를 선택할 수 있다.
또한, 스트리밍 서버(200)는 가용 대역폭 또는 버퍼 레벨 중 어느 하나의 값에 가중치를 부여하여 비디오 버퍼(V buffer)를 선택할 수 있으며, 기타 다양한 방식으로 가용 대역폭이 낮을수록 비트율이 낮은 비디오 데이터가 저장된 비디오 버퍼(V buffer)를 선택하고, 터미널(100)의 버퍼 레벨이 낮은수록 비트율이 비디오 데이터가 저장된 비디오 버퍼(V buffer)를 선택하는 방식을 적용할 수 있다.
도 7은 본 발명의 제2 실시예에 따른 스트리밍 시스템을 설명하기 위한 도면이다.
도 7에서 상기 도 1에서 설명된 구성 요소와 명칭 및 기능이 동일한 구성 요소에 대한 상세 설명은 생략한다.
도 7을 참조하면, 트랜스코딩 서버(400)가 데이터 베이스(410)에 저장되는 미디어 파일에 저장된 비디오 및 오디오 데이터를 기설정된 비트율로 변환하여 스트리밍 서버(200)로 제공한다.
미디어 파일은 트랜스코딩 서버(400)의 데이터 베이스(410)에 저장되거나, 별도의 네트워크 저장 장치에 저장되어 트랜스코딩 서버(400)가 접근할 수 있는 저장 수단에 저장될 수 있다.
트랜스코딩 서버(400)는 멀티미디어 컨텐츠에 대한 미디어 파일을 저장하는 데이터 베이스(410)와, 미디어 파일에 저장된 오디오 데이터를 기설정된 비트율로 변환하는 오디오 트랜스코더(Audio Transcoder)와, 미디어 파일에 저장된 비디오 데이터를 각기 다른 비트율로 변환하여, 각기 다른 비디오 버퍼(V buffer)에 저장하는 다수개(예를 들어, 3개)의 비디오 트랜스코더(V transcoder)로 구성되는 트랜스코딩부(420)를 포함한다.
즉, 상기 도 1의 제1 실시예에서는 인코딩 서버(300)가 비디오 소스(데이터)를 각기 다른 비트율로 인코딩하여 각기 다른 비디오 버퍼(V buffer)에 저장하지만, 상기 도 7의 제2 실시예에서는 트랜스코딩 서버(400)가 미디어 파일의 비디오 데이터를 각기 다른 비트율을 변환하여 각기 다른 비디오 버퍼(V buffer)에 저장한 다.
그리고, 스트리밍 서버(200)는 상술한 바와 같이, 네트워크의 가용 대역폭 또는 터미널(100)의 버퍼 레벨을 기반으로 최적의 비디오 버퍼(V buffer)를 선택하여 트래픽을 해당 터미널(100)로 전송한다.
한편, 스트리밍 서버(200)는 네트워크의 가용 대역폭 또는 터미널(100)의 버퍼 레벨에 따라 선택되는 비디오 데이터의 비트율이 달라짐으로, 오디오 및 비디오의 동기화를 유지하기 위해서 모든 트래픽의 타임스템프(timestamp)를 동일한 타임스케일(timescale)으로 보상한다.
도 8은 본 발명의 바람직한 실시예에 따른 스트리밍 시스템의 트래픽 제어 방법을 설명하기 위한 플로챠트이다.
도 8을 참조하면, 본 발명에 따른 스트리밍 서버(200)는 각기 다른 비트율을 가지는 다수의 비디오 데이터(stream)를 각기 다른 비디오 버퍼에 저장한다(S 100).
이때, 스트리밍 서버(200)는 인코딩 서버(300)로부터 각기 다른 비트율로 인코딩된 비디오 데이터 또는 트랜스코딩 서버(400)로부터 각기 다른 비트율로 변환된 비디오 데이터를 각 비디오 버퍼에 저장한다.
그리고, 스트리밍 서버(200)는 오디오 데이터를 오디오 버퍼에 저장한다(S 110).
스트리밍 서버(200)는 네트워크의 가용 대역폭 및 터미널(100)의 버퍼 레벨을 파악한다(S 120).
그리고, 스트리밍 서버(200)는 네트워크의 가용 대역폭이 낮을수록 낮은 비트율을 가지는 비디오 데이터가 저장된 비디오 버퍼를 선택한다(S 130).
또한, 스트리밍 서버(200)는 터미널(100)의 버퍼 레벨이 낮을수록 낮은 비트율을 가지는 비디오 데이터가 저장된 비디오 버퍼를 선택한다.
일례로, 스트리밍 서버(200)는 가용 대역폭 또는 버퍼 레벨의 값을 일정 레벨 범위로 구분한 다음 파악된 가용 대역폭 또는 버퍼 레벨이 포함되는 레벨 범위에 상응하는 비디오 버퍼(V buffer)를 선택할 수 있다.
또한, 스트리밍 서버(200)는 가용 대역폭 또는 버퍼 레벨 중 어느 하나의 값에 가중치를 부여하여 비디오 버퍼(V buffer)를 선택할 수 있으며, 기타 다양한 방식으로 가용 대역폭이 낮을수록 비트율이 낮은 비디오 데이터가 저장된 비디오 버퍼(V buffer)를 선택하고, 터미널(100)의 버퍼 레벨이 낮은수록 비트율이 비디오 데이터가 저장된 비디오 버퍼(V buffer)를 선택하는 방식을 적용할 수 있다.
그리고, 스트리밍 서버(200)는 선택되는 비디오 버퍼에 저장된 비디오 데이터와, 오디오 버퍼에 저장된 오디오 데이터에 상응하는 트래픽을 해당 터미널(100)로 전송한다(S 140).
상술한 본 발명에 따르면, 스트리밍 서버(200)가 네트워크의 가용 대역폭 또는 터미널(100)의 버퍼 레벨을 기반으로 각기 다른 비트율을 가지는 비디오 데이터를 포함하는 트래픽을 전송할 수 있음에 따라 가용 대역폭이 매우 낮거나, 터미널(100)의 버퍼 레벨이 매우 낮은 경우에 빠르게 대응할 수 있다. 즉 스트리밍 서버(200)는 가용 대역폭 또는 버퍼 레벨이 매우 낮은 경우에 작은 비디오 데이터를 전송하여 터미널(100)의 재생 끊김 현상을 방지할 수 있다.
이상에서 본 발명은 기재된 구체 예에 대해서만 상세히 설명하였지만 본 발명의 기술 사상 범위 내에서 다양한 변형 및 수정이 가능함은 당업자에게 있어서 명백한 것이며, 이러한 변형 및 수정이 첨부된 특허청구범위에 속함은 당연한 것이다.
도 1은 본 발명의 제1 실시예에 따른 스트리밍 시스템을 설명하기 위한 블록 도면.
도 2는 터미널이 버퍼 레벨을 스트리밍 서버로 전송하는 방식을 설명하기 위한 도면.
도 3a는 RTCP APP 메시지의 구조를 예시한 도면.
도 3b는 터미널이 스트리밍 서버로 전송하는 알림 메시지를 예시한 도면.
도 4는 스트리밍 서버가 터미널의 버퍼 레벨을 측정하는 방식을 설명하기 위한 도면.
도 5는 본 발명에 따른 가용 대역폭을 측정하는 흐름을 설명하기 위한 개념도.
도 6a는 본 발명에 적용되는 프로브 메시지의 구조를 예시한 도면.
도 6b는 본 발명에 적용되는 응답 메시지의 구조를 예시한 도면.
도 7은 본 발명의 제2 실시예에 따른 스트리밍 시스템을 설명하기 위한 도면.
도 8은 본 발명의 바람직한 실시예에 따른 스트리밍 시스템의 트래픽 제어 방법을 설명하기 위한 플로챠트.
**도면의 주요부분에 대한 부호의 설명**
100 : 터미널 110 : 패킷 수신부
120 : 버퍼 130 : 디코더
200 : 스트리밍 서버 210 : 세션 관리부
220 : RTCP(Real Time Control Protocol) 핸들러
230 : 버퍼 선택부 240 : 버퍼링부
250 : 데이터 베이스 260 : 인코딩부
270 : 트랜스코딩부

Claims (12)

  1. 스트리밍 시스템에 있어서,
    네트워크를 통해 수신되는 멀티미디어 컨텐츠에 대한 트래픽을 버퍼에 임시 저장하고, 상기 트래픽을 디코딩 처리하여 재생하는 적어도 하나 이상의 터미널과,
    상기 멀티미디어 컨텐츠의 비디오 데이터를 적어도 하나 이상의 비트율로 인코딩되어 생성된 각 비디오 데이터를 각기 다른 비디오 버퍼에 저장하고, 상기 네트워크의 가용 대역폭 또는 상기 터미널의 버퍼 레벨을 기반으로 선택되는 상기 비디오 버퍼에 저장된 비디오 데이터와, 오디오 버퍼에 저장된 오디오 데이터에 따른 트래픽을 상기 터미널로 전송하는 스트리밍 서버와;
    상기 멀티미디어 컨텐츠의 비디오 데이터를 각기 다른 비트율로 인코딩하는 인코딩 서버를 포함하며;
    상기 스트리밍 서버는 상기 네트워크의 가용 대역폭 또는 버퍼 레벨이 낮을수록 낮은 비트율을 비디오 데이터가 저장된 비디오 버퍼를 선택하며, 오디오 및 비디오의 동기화를 위해 상기 트래픽의 타임스템프(timestamp)에 동일한 타임스케일(timescale)으로 보상 적용하는 서버인 것을 특징으로 하는 스트리밍 시스템.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제 1항에 있어서, 상기 인코딩 서버는,
    다수의 멀티미디어 컨텐츠에 대한 비디오/오디오 데이터를 저장하는 데이터 베이스와,
    상기 데이터 베이스 또는 별도의 저장 장치에 저장된 상기 비디오 데이터를 각기 다른 비트율로 인코딩하는 다수의 비디오 인코더와, 상기 오디오 데이터를 인코딩하는 오디오 인코더로 구성되는 인코딩부를 포함하는 스트리밍 시스템.
  6. 제1 항에 있어서, 상기 스트리밍 시스템은,
    다수의 멀티미디어 컨텐츠에 대한 미디어 파일에 저장된 상기 비디오 데이터를 각기 다른 비트율로 변환하는 트랜스코딩 서버를 더 포함하는 스트리밍 시스템.
  7. 제6 항에 있어서, 상기 트랜스코딩 서버는,
    상기 미디어 파일을 저장하는 데이터 베이스와,
    상기 데이터 베이스 또는 별도의 저장 장치에 저장된 상기 비디오 데이터를 각기 다른 비트율로 변환하는 다수의 비디오 트랜스코더와, 상기 오디오 데이터를 기설정된 비트율로 변환하는 오디오 트랜스코더로 구성되는 트랜스코딩부를 포함하는 스트리밍 시스템.
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
KR1020090025654A 2009-03-26 2009-03-26 스트리밍 시스템의 트래픽 제어 방법 및 그 장치 KR101055169B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090025654A KR101055169B1 (ko) 2009-03-26 2009-03-26 스트리밍 시스템의 트래픽 제어 방법 및 그 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090025654A KR101055169B1 (ko) 2009-03-26 2009-03-26 스트리밍 시스템의 트래픽 제어 방법 및 그 장치

Publications (2)

Publication Number Publication Date
KR20100107547A KR20100107547A (ko) 2010-10-06
KR101055169B1 true KR101055169B1 (ko) 2011-08-08

Family

ID=43129228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090025654A KR101055169B1 (ko) 2009-03-26 2009-03-26 스트리밍 시스템의 트래픽 제어 방법 및 그 장치

Country Status (1)

Country Link
KR (1) KR101055169B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10321184B2 (en) 2016-12-13 2019-06-11 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101568387B1 (ko) * 2013-10-02 2015-11-12 주식회사 요쿠스 동영상 제공 서비스 방법
KR102123439B1 (ko) * 2013-11-20 2020-06-16 삼성전자 주식회사 이동 망에서 비디오 트래픽의 사용자 만족도 최적화를 고려한 혼잡 완화 방법 및 그 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030035525A (ko) * 2001-10-31 2003-05-09 삼성전자주식회사 네트워크에 적응적인 실시간 멀티미디어 스트리밍 시스템및 방법
KR20030075567A (ko) * 2002-03-19 2003-09-26 삼성전자주식회사 멀티미디어 스트리밍 서비스를 위한 패킷 전송장치 및 그방법
KR20060082473A (ko) * 2005-01-12 2006-07-18 엘지전자 주식회사 스트리밍 시스템 및 적응적 대역 할당 방법

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030035525A (ko) * 2001-10-31 2003-05-09 삼성전자주식회사 네트워크에 적응적인 실시간 멀티미디어 스트리밍 시스템및 방법
KR20030075567A (ko) * 2002-03-19 2003-09-26 삼성전자주식회사 멀티미디어 스트리밍 서비스를 위한 패킷 전송장치 및 그방법
KR20060082473A (ko) * 2005-01-12 2006-07-18 엘지전자 주식회사 스트리밍 시스템 및 적응적 대역 할당 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10321184B2 (en) 2016-12-13 2019-06-11 Samsung Electronics Co., Ltd. Electronic apparatus and controlling method thereof

Also Published As

Publication number Publication date
KR20100107547A (ko) 2010-10-06

Similar Documents

Publication Publication Date Title
KR100705432B1 (ko) 미디어 스트리밍
US8527649B2 (en) Multi-stream bit rate adaptation
US9973345B2 (en) Calculating and signaling segment availability times for segments of media data
JP4927333B2 (ja) 帯域幅適応
US9003051B2 (en) Content server media stream management
KR101727450B1 (ko) 화상 전화에서의 지연 감소
US20030198184A1 (en) Method of dynamically determining real-time multimedia streaming rate over a communications networks
JP5207895B2 (ja) 送信装置、受信装置、及び方法、プログラム
JP2004153620A (ja) 通信システム、無線通信端末、データ配信装置及び通信方法
US20050002337A1 (en) Reducing effects caused by transmission channel errors during a streaming session
WO2004028095A1 (en) Bandwidth adaptation
Lentisco et al. Reducing latency for multimedia broadcast services over mobile networks
KR20100007368A (ko) 스트리밍 서비스의 비트 레이트를 제어하기 위한 시스템 및그 방법
Lentisco et al. QoE-based analysis of DASH streaming parameters over mobile broadcast networks
KR101055169B1 (ko) 스트리밍 시스템의 트래픽 제어 방법 및 그 장치
JP2005322995A (ja) リアルタイム映像転送におけるバッファ制御方法、送信端末、受信端末、映像配信システム、およびプログラム
EP2308215B1 (en) Thinning of packet-switched video data
JP4433281B2 (ja) 受信装置および方法、記録媒体、並びにプログラム
Ozcelebi et al. Minimum delay content adaptive video streaming over variable bitrate channels with a novel stream switching solution
JP4773505B2 (ja) マルチメディアチャネルの切り替え
Cranley et al. Perceptual quality adaptation (PQA) algorithm for 3GP and multitracked MPEG-4 content over wireless IP networks
KR101094694B1 (ko) 스트리밍 시스템에서 초기 버퍼링 시간을 최소화하는 방법 및 그 장치
Ghimire et al. Enhanced the Quality of telemedicine Real-Time Video Transmission and Distortion Minimization in Wireless Network
Singh Rate-control for conversational H. 264 video communication in heterogeneous networks
Curcio QoS Aspects of Mobile Multimedia Applications

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160728

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180725

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190731

Year of fee payment: 9