KR101055169B1 - 스트리밍 시스템의 트래픽 제어 방법 및 그 장치 - Google Patents
스트리밍 시스템의 트래픽 제어 방법 및 그 장치 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims description 25
- 239000000872 buffer Substances 0.000 claims abstract description 124
- 239000000523 sample Substances 0.000 description 20
- 230000005540 biological transmission Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 12
- 238000005516 engineering process Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003139 buffering effect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000011094 buffer selection Methods 0.000 description 1
- 230000001364 causal effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2416—Real-time traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/23406—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing 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/2387—Stream 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)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
본 발명은 네트워크를 통해 수신되는 멀티미디어 컨텐츠에 대한 트래픽을 버퍼에 임시 저장하고, 상기 트래픽을 디코딩 처리하여 재생하는 적어도 하나 이상의 터미널과, 상기 멀티미디어 컨텐츠의 비디오 데이터를 적어도 하나 이상의 비트율로 인코딩되어 생성된 각 비디오 데이터를 각기 다른 비디오 버퍼에 저장하고, 상기 네트워크의 가용 대역폭 또는 상기 터미널의 버퍼 레벨을 기반으로 선택되는 상기 비디오 버퍼에 저장된 비디오 데이터와, 오디오 버퍼에 저장된 오디오 데이터에 따른 트래픽을 상기 터미널로 전송하는 스트리밍 서버를 포함하는 스트리밍 시스템을 개시하여, 스트리밍 서버가 비디오 데이터를 각기 다른 비트율로 인코딩 또는 변환한 이후에 네트워크의 가용 대역폭 또는 터미널의 버퍼 레벨을 기반으로 각기 다른 비트율 중 최적의 비트율을 가진 비디오 데이터와 오디오 데이터에 따른 트래픽을 해당 터미널로 전송할 수 있음에 따라 가용 대역폭이 매우 낮거나, 터미널의 버퍼 레벨이 매우 낮은 경우에도 빠르게 대응할 수 있도록 하는 것이다.
Description
본 발명은 스트리밍 시스템의 트래픽 제어 방법 및 그 장치에 대한 것으로, 더욱 상세하게는, 스트리밍 시스템에서 트래픽을 전송하는 스트리밍 서버가 네트워크의 가용 대역폭 또는 터미널의 버퍼 레벨을 기반으로 각기 다른 비트율로 인코딩 또는 변환되어 데이터 베이스(저장 장치)에 저장되어 있는 비디오 데이터 중 최적의 비트율을 가진 비디오 데이터와 오디오 데이터에 따른 트래픽을 해당 터미널로 전송할 수 있음에 따라 가용 대역폭이 매우 낮거나, 터미널의 버퍼 레벨이 매우 낮은 경우에도 빠르게 대응할 수 있는 스트리밍 시스템의 트래픽 제어 방법 및 그 장치에 대한 것이다.
네트워크 기술 및 전자 기술의 발전으로, 유선 네트워크뿐만 아니라 무선 네트워크가 널리 보급되어 있으며, 이동 통신 기술이 발전함에 의해 무선 네트워크가 제공하는 전송 속도역시 빠르게 증가하고 있다.
그러나, 무선 네트워크는 특성상 유선 네트워크와 달리 기지국의 위치와 주변 환경에 의해 데이터 전송 속도가 영향을 받기 때문에 데이터 전송 속도 측면에서 변동성이 매우 크다.
따라서, 무선 네트워크를 통해 고화질의 멀티미디어 컨텐츠(데이터)를 가입자의 터미널로 안정적으로 전송하기 위해서는 네트워크의 환경에 적합하게 트래픽을 제어하는 기술에 대한 연구가 활발히 진행되고 있다.
예를 들어, 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과 같이 산출할 수 있다.
한편, 스트리밍 서버(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)
- 스트리밍 시스템에 있어서,네트워크를 통해 수신되는 멀티미디어 컨텐츠에 대한 트래픽을 버퍼에 임시 저장하고, 상기 트래픽을 디코딩 처리하여 재생하는 적어도 하나 이상의 터미널과,상기 멀티미디어 컨텐츠의 비디오 데이터를 적어도 하나 이상의 비트율로 인코딩되어 생성된 각 비디오 데이터를 각기 다른 비디오 버퍼에 저장하고, 상기 네트워크의 가용 대역폭 또는 상기 터미널의 버퍼 레벨을 기반으로 선택되는 상기 비디오 버퍼에 저장된 비디오 데이터와, 오디오 버퍼에 저장된 오디오 데이터에 따른 트래픽을 상기 터미널로 전송하는 스트리밍 서버와;상기 멀티미디어 컨텐츠의 비디오 데이터를 각기 다른 비트율로 인코딩하는 인코딩 서버를 포함하며;상기 스트리밍 서버는 상기 네트워크의 가용 대역폭 또는 버퍼 레벨이 낮을수록 낮은 비트율을 비디오 데이터가 저장된 비디오 버퍼를 선택하며, 오디오 및 비디오의 동기화를 위해 상기 트래픽의 타임스템프(timestamp)에 동일한 타임스케일(timescale)으로 보상 적용하는 서버인 것을 특징으로 하는 스트리밍 시스템.
- 삭제
- 삭제
- 삭제
- 제 1항에 있어서, 상기 인코딩 서버는,다수의 멀티미디어 컨텐츠에 대한 비디오/오디오 데이터를 저장하는 데이터 베이스와,상기 데이터 베이스 또는 별도의 저장 장치에 저장된 상기 비디오 데이터를 각기 다른 비트율로 인코딩하는 다수의 비디오 인코더와, 상기 오디오 데이터를 인코딩하는 오디오 인코더로 구성되는 인코딩부를 포함하는 스트리밍 시스템.
- 제1 항에 있어서, 상기 스트리밍 시스템은,다수의 멀티미디어 컨텐츠에 대한 미디어 파일에 저장된 상기 비디오 데이터를 각기 다른 비트율로 변환하는 트랜스코딩 서버를 더 포함하는 스트리밍 시스템.
- 제6 항에 있어서, 상기 트랜스코딩 서버는,상기 미디어 파일을 저장하는 데이터 베이스와,상기 데이터 베이스 또는 별도의 저장 장치에 저장된 상기 비디오 데이터를 각기 다른 비트율로 변환하는 다수의 비디오 트랜스코더와, 상기 오디오 데이터를 기설정된 비트율로 변환하는 오디오 트랜스코더로 구성되는 트랜스코딩부를 포함하는 스트리밍 시스템.
- 삭제
- 삭제
- 삭제
- 삭제
- 삭제
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)
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)
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)
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 | 엘지전자 주식회사 | 스트리밍 시스템 및 적응적 대역 할당 방법 |
-
2009
- 2009-03-26 KR KR1020090025654A patent/KR101055169B1/ko active IP Right Grant
Patent Citations (3)
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)
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 |