KR100924309B1 - 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템 - Google Patents

시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템 Download PDF

Info

Publication number
KR100924309B1
KR100924309B1 KR1020090049438A KR20090049438A KR100924309B1 KR 100924309 B1 KR100924309 B1 KR 100924309B1 KR 1020090049438 A KR1020090049438 A KR 1020090049438A KR 20090049438 A KR20090049438 A KR 20090049438A KR 100924309 B1 KR100924309 B1 KR 100924309B1
Authority
KR
South Korea
Prior art keywords
multimedia data
buffer
client terminal
frames
quality
Prior art date
Application number
KR1020090049438A
Other languages
English (en)
Inventor
박성주
이석필
Original Assignee
전자부품연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 전자부품연구원 filed Critical 전자부품연구원
Priority to KR1020090049438A priority Critical patent/KR100924309B1/ko
Application granted granted Critical
Publication of KR100924309B1 publication Critical patent/KR100924309B1/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
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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 

Landscapes

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

Abstract

본 발명은 시간적 확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템에 관한 것으로, 보다 상세하게는 현재 네트워크 상태를 기반으로 TCP 친화적인 데이터 전송률을 계산하고, 계산된 전송률에 의거하여 인코딩된 데이터 스트림 전송률을 조절하고 클라이언트 버퍼 상태 판단을 통해 품질 적응 기법을 보완하여 사용자에게 끊김없고 부드러운 품질 적응적 스트리밍 서비스를 제공하는 방법 및 시스템에 관한 것이다.
본 발명은 네트워크 상태 기반 적응적인 멀티미디어 데이터 스트리밍 서비스의 품질 적응 기법과 달리 멀티미디어 데이터 스트림의 시간적 확장성(Temporal Scalability), 즉 프레임율 조절을 이용한 품질 적응 기법을 통해 사용자에게 끊김없고 부드러운 스트리밍 서비스를 제공하는 것을 목적으로 한다.
이러한 목적을 달성하기 위하여 본 발명의 품질 적응적 스트리밍 시스템은 전송하고자 하는 멀티미디어 데이터를 적어도 2 이상의 프레임 타입 중 어느 하나의 프레임 타입을 갖는 멀티미디어 데이터 프레임으로 인코딩하는 인코더와, 클라이언트 단말의 버퍼에 버퍼링된 데이터량의 추정값을 계산하고, 계산된 추정값에 의해 특정시점에서의 상기 클라이언트 단말의 버퍼 상태를 판단하는 버퍼상태판단모듈과, 피드백 메시지 정보를 통해 TCP 트래픽의 평균 전송률을 계산하고, TCP 트래픽의 평균 전송률에 의거하여 클라이언트 단말로 전송할 멀티미디어 데이터 스트림의 전송률을 산출하는 전송률산출모듈과, 피드백 메시지 정보를 통해 네트워크 상태를 판단하는 네트워크상태판단모듈과, 인코딩된 멀티미디어 데이터 프레임 중 상기 클라이언트 단말로 전송할 일부 멀티미디어 데이터 프레임을 활성화시키고, 클라이언트 단말의 버퍼 상태 또는 네트워크 상태에 따라 활성화된 멀티미디어 데이터 프레임 수를 조절하며, 상기 활성화된 멀티미디어 데이터 프레임 수를 이용하여 각각의 프레임 타입별로 가용 대역폭을 계산하는 품질적응모듈을 포함하여 이루어질 수 있다.
품질 적응 기법, 스트리밍, 프레임율, 시간확장성, 전송률 제어

Description

시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템{QUALITY ADAPTIVE STREAMING METHOD USING TEMPORAL SCALABILITY AND SYSTEM THEREOF}
본 발명은 시간적 확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템에 관한 것으로, 보다 상세하게는 현재 네트워크 상태를 기반으로 TCP 친화적인 데이터 전송률을 계산하고, 계산된 전송률에 의거하여 인코딩된 데이터 스트림 전송율을 조절하고 클라이언트 버퍼 상태 판단을 통해 품질 적응 기법을 보완하여 사용자에게 끊김없고 부드러운 품질 적응적 스트리밍 서비스를 제공하는 방법 및 시스템에 관한 것이다.
오늘날 인터넷을 통한 비디오 스트리밍 기술은 방송, 교육 등 다양한 인터넷 콘텐츠의 형태로 적용되고 있으며 그 사용이 날로 증가하고 있다. 특히, 최근 VOD의 수요가 큰 폭으로 증가하고 UCC 등의 활성화로 인해 인터넷에서 효율적인 비디오 스트리밍 기술에 대한 요구가 점차 높아지고 있다.
WWW나 FTP와 같은 기존 인터넷의 주요 트래픽들은 데이터의 신뢰성 있는 전 송을 중요시하여 전송계층 프로토콜로 TCP를 사용하였으나, 비디오 스트리밍과 같은 멀티미디어 트래픽들은 다른 통신 기술과 달리 데이터의 신뢰적인 전달보다는 지연에 민감한 실시간성을 가지며 영상 품질에 민감하지만 어느 정도의 패킷 손실을 허용하며 전송률을 기반으로 동작하는 측면이 있다. 따라서 이러한 멀티미디어 어플리케이션들은 신뢰적인 데이터 전송에 필요한 재전송으로 인해 발생하는 추가적인 지연을 피하기 위해 전송 프로토콜로서 주로 UDP를 사용해 왔다. 하지만 혼잡제어 메커니즘이 없는 UDP를 전송 프로토콜로 사용할 경우 네트워크의 가용 대역폭을 점유하는 특징 때문에 네트워크 혼잡상황을 심화시키고 경쟁하는 TCP기반 트래픽의 성능을 급격히 저하시키는 문제가 있다.
상술한 혼잡제어 메커니즘이 없는 종래의 멀티미디어 전송 프로토콜의 단점을 개선하기 위해 TCP와 친화적으로 전송률을 조절하는 멀티미디어 스트림의 전송 방법이 연구되었다. 동일한 네트워크 환경에서 TCP 기반의 트래픽과 non-TCP 기반의 트래픽이 대역폭을 경쟁할 경우, 경쟁 TCP 트래픽이 점유하는 평균 대역폭 이하를 사용하도록 전송률을 조절하는 것을 TCP 친화적(TCP-Friendly)라고 할 수 있다.
인터넷을 통한 비디오 스트리밍에서 TCP 친화적인 전송률 조절 방법은 네트워크의 안정성을 향상시키고 프로토콜 간의 형평성을 향상시킨다는 장점을 가진다. 종래의 전송률 조절 방식으로는 TCP와 유사한 혼잡제어 메커니즘을 수행하면서 동시에 비디오 스트림 전송에 적합하도록 전송률의 변화를 줄인, RAP, SQRT와 같은 기법들이 있다. RAP는 TCP와 유사한 혼잡제어 메커니즘을 사용하지만 ACK 기반의 윈도우 조절방식이 아닌 전송률 조절방식을 사용하여 전송률의 변화를 감소시킨다. 한편, SQRT는 TCP의 AIMD(Additive Increase and Multiplicative Decrease) 기법의 파라미터 값 변경을 통해 비디오 스트림 전송에 적합하도록 전송률의 변화를 줄인다.
Padhye가 제안한 TCP 전송률 모델링 공식을 이용한 TCP 친화적 전송률 조절 방법은 하기의 수학식에 의해 계산된 TCP 평균 전송률을 이용하여 비디오 스트림의 전송률을 TCP 친화적으로 조절한다.
<수학식1>
Figure 112009033888238-pat00001
여기서 S는 세그먼트 크기, p는 패킷손실률, tRTT는 종단간 지연, tRTO는 재전송 타임아웃을 의미하고, T는 TCP 연결(트래픽)의 평균 전송률을 의미한다.
하지만, TCP 친화적으로 전송률을 제어하더라도 최선형 서비스를 제공하는 인터넷 환경에서 네트워크 정보를 미리 알 수 없으며 여전히 전송률의 변화가 크게 발생할 수 있다는 문제점이 여전히 남아 있다. 또한 네트워크의 안정성 및 프로토콜 간의 형평성 향상이 사용자에게 제공되는 스트리밍 서비스 품질의 향상을 가져 오지는 않는다는 문제점이 있다. 따라서, 비디오 스트리밍에서 네트워크의 안정성 향상과 동시에 사용자에게 제공되는 서비스의 품질의 향상을 가져오기 위해서는 네트워크 상태를 기반으로 서비스되는 비디오 스트림의 품질을 적응적으로 조절하는 방법이 적용되어야 한다.
한편, 종래의 네트워크 상태 기반의 품질 적응 기법은 몇가지로 구분될 수 있다. 첫째로 네트워크 상태에 적합한 전송률을 가지는 데이터 전송을 위해, 이미 인코딩된 비디오 스트림을 디코딩한 후, 양자화 파라미터를 수정하여 다시 인코딩하여 전송하는 방법이 있다. 이 방법은 디코딩과 인코딩을 다시 수행하는 과정에서 CPU 부하가 크고 다수의 클라이언트에 대한 서비스에 어려움이 있다는 문제점이 있다. 또 다른 방법은 여러 버전으로 인코딩된 비디오 스트림을 준비하고 네트워크 가용 대역폭의 변화에 따라 적절한 데이터율을 갖는 비디오 스트림을 선택하여 전송하는 방법이다.
계층적인 인코딩을 사용하는 방법의 경우에 서버는 계층적으로 인코딩된 비디오 스트림의 다음 상위 레이어를 활성화하거나 활성화되어 있는 상위레이어를 제거하는 방법을 통해 비디오 스트림의 품질을 조절한다.
인터넷 환경에서 효율적인 비디오 스트리밍을 위해서는 TCP 친화적인 전송률 조절기법만으로는 한계가 있다. 이러한 한계를 극복하기 위하여 TCP 친화적인 전송률에 맞추어 서비스되는 비디오 스트림을 계층적인 인코딩 방식에 기반하여 품질 적응 기법을 적용하여 왔다.
하지만 현실적으로 이러한 계층적인 인코딩 기능을 갖춘 인코더가 거의 없고, 실질적으로 계층적인 인코딩 방식은 스트리밍 어플리케이션에 적용되지 않고 있다.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명은 네트워크 상태 기반 적응적인 멀티미디어 데이터 스트리밍 서비스의 품질 적응 기법과 달리 멀티미디어 데이터 스트림의 시간적 확장성(Temporal Scalability), 즉 프레임율 조절을 이용한 품질 적응 기법을 통해 사용자에게 끊김없고 부드러운 스트리밍 서비스를 제공하는 것을 목적으로 한다.
또한, 네트워크 상태 정보를 이용하여 TCP 친화적인 전송률을 계산하고 이를 기반으로 인코딩된 비디오 스트림의 품질을 결정함으로써 네트워크의 안정성과 TCP의 친화성을 향상시킬뿐만아니라 클라이언트의 버퍼상태를 판단하여 멀티미디어 데이터 스트림의 서비스 품질을 부드럽게 조절하여 보다 고품질의 스트리밍 서비스를 제공하는 것을 목적으로 한다.
또한, 계층적으로 인코딩된 비디오 스트림을 기반으로 하는 품질 적응적 비디오 스트림 제어 방법이 아닌 MPEG 압축 표준에서 일반적으로 소개되어 있는 압축된 멀티미디어 데이터 스트림의 시간적 확장성과 버퍼 상태 판단을 통한 품질 적응적 스트리밍 방법을 제공함으로 목적으로 한다.
또한, 버퍼상태 판단을 위해 별도의 제어메시지의 수신이 필요하지 않도록 하여 추가적인 오버헤드가 발생하지 않도록 하면서도 정확하게 버퍼상태를 판단할 수 있도록 함을 목적으로 한다.
상기의 목적을 달성하기 위한 본 발명의 품질 적응적 멀티미디어 데이터 스트리밍 서버는 전송하고자 하는 멀티미디어 데이터를 적어도 2 이상의 프레임 타입 중 어느 하나의 프레임 타입을 갖는 멀티미디어 데이터 프레임으로 인코딩하는 인코더와, 클라이언트 단말의 버퍼에 버퍼링된 데이터량의 추정값을 계산하고, 계산된 추정값에 의해 특정시점에서의 상기 클라이언트 단말의 버퍼 상태를 판단하는 버퍼상태판단모듈과, 피드백 메시지 정보를 통해 TCP 트래픽의 평균 전송률을 계산하고, TCP 트래픽의 평균 전송률에 의거하여 클라이언트 단말로 전송할 멀티미디어 데이터 스트림의 전송률을 산출하는 전송률산출모듈과, 피드백 메시지 정보를 통해 네트워크 상태를 판단하는 네트워크상태판단모듈과, 인코딩된 멀티미디어 데이터 프레임 중 상기 클라이언트 단말로 전송할 일부 멀티미디어 데이터 프레임을 활성화시키고, 클라이언트 단말의 버퍼 상태 또는 네트워크 상태에 따라 활성화된 멀티미디어 데이터 프레임 수를 조절하며, 상기 활성화된 멀티미디어 데이터 프레임 수를 이용하여 각각의 프레임 타입별로 가용 대역폭을 계산하는 품질적응모듈을 포함하여 이루어질 수 있다.
또한 전술한 구성에서, 품질적응모듈은, 버퍼상태판단모듈이 클라이언트 단말의 버퍼 상태를 판단한 결과 상기 클라이언트 단말의 버퍼가 언더플로(Underflow) 될 것으로 판단되는 경우 상기 활성화된 멀티미디어 데이터 프레임 수를 감소시키고, 상기 클라이언트 단말의 버퍼가 오버플로(Overflow) 될 것으로 판단되는 경우 상기 인코딩된 멀티미디어 데이터 프레임 중 일부를 추가로 활성화하여 활성화된 멀티미디어 데이터 프레임 수를 증가시킬 수 있다.
또한 전술한 구성에서, 네트워크상태판단모듈이 네트워크 상태가 혼잡상태인 것으로 판단하는 경우, 품질적응모듈은, 각각의 프레임 타입별로 계산된 가용 대역폭에 따라 각각의 프레임 타입별로 활성화된 멀티미디어 데이터 프레임의 전송률을 제어할 수 있다.
또한 전술한 구성에서, 네트워크상태판단모듈이 네트워크 상태가 안정상태인 것으로 판단하는 경우, 품질적응모듈은 경쟁하는 트래픽과의 대역폭 경쟁을 위해 멀티미디어 데이터 스트림의 전송률을 소정의 크기만큼 증가시킬 수 있다.
또한 전술한 구성에서, 네트워크상태판단모듈이 네트워크 상태가 안정상태인 것으로 판단하는 경우, 품질적응모듈은 가용 대역폭의 여유가 있는 지를 판단하여, 여유가 있는 경우에는 상기 인코딩된 멀티미디어 데이터 프레임 중 일부를 추가로 활성화함으로써 활성화된 멀티미디어 데이터 프레임 수를 증가시킬 수 있다.
또한 전술한 구성에서, 증가되는 멀티미디어 데이터 스트림의 전송률의 크기는 같은 네트워크 조건에서 경쟁하는 TCP 트래픽의 전송률 증가분을 초과하지 않는 것을 특징으로 할 수 있다.
또한 전술한 구성에서, 버퍼상태판단모듈은, 활성화된 멀티미디어 데이터 프레임 수에 변동이 있는 경우 변동된 멀티미디어 데이터 프레임 수를 기반으로 다음 주기에서의 클라이언트 단말의 버퍼 상태를 다시 판단할 수 있다.
또한 전술한 구성에서, 품질적응모듈은 클라이언트 단말의 버퍼에 버퍼링된 GOP(Group of Pictures)의 수(ΔGOP)를 계산하고, 클라이언트 단말의 버퍼에 버퍼링된 GOP의 수(ΔGOP)를 각각 소정의 최소 문턱치(ΔMIN) 및 최대 문턱치(ΔMAX)와 비교 함으로써 버퍼의 언더플로 및 오버플로 발생 가능성 여부를 판단할 수 있다.
또한 전술한 구성에서, 품질적응모듈은 하기의 수학식7 내지 9에 표현된 조건들에 따라 활성화된 멀티미디어 데이터 프레임 수의 조절 여부를 결정할 수 있다.
<수학식7>
Figure 112009033888238-pat00002
,
<수학식8>
Figure 112009033888238-pat00003
,
<수학식9>
Figure 112009033888238-pat00004
또한 전술한 구성에서, 버퍼상태판단모듈은 하기의 수학식3에 의해 산출된 값을 이용하여 클라이언트 단말의 버퍼상태를 판단할 수 있다.
<수학식3>
Figure 112009033888238-pat00005
Figure 112009033888238-pat00006
Figure 112009033888238-pat00007
또한, 본 발명의 품질 적응적 멀티미디어 데이터 스트리밍 방법은, 클라이언트 단말로부터 주기적으로 네트워크 상태 정보를 포함하는 피드백 메시지를 수신하는 단계와, 클라이언트 단말의 버퍼에 버퍼링된 데이터량을 판단하여 특정 시점에서의 클라이언트 단말의 버퍼 상태를 판단하고, 버퍼의 언더플로(Underflow) 또는 오버플로(Overflow)의 발생 가능성을 판단하는 단계와, 언더플로 또는 오버플로의 발생 가능성 판단 결과 언더플로 또는 오버플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임 수를 조절하는 단계를 포함하여 이루어질 수 있다.
또한, 전술한 구성에서, 활성화된 멀티미디어 데이터 프레임 수를 조절하는 단계를 수행한 후, 피드백 메시지를 이용하여 네트워크 상태가 혼잡상태인지 안정상태인지를 판단하는 네트워크상태판단단계를 더 포함하여 이루어질 수 있다.
또한, 전술한 구성에서, 네트워크 상태가 안정상태로 판단된 경우, 경쟁 트래픽과의 대역폭 경쟁을 위하여 전송률을 소정의 크기만큼 증가시킬 수 있다.
또한, 전술한 구성에서, 네트워크 상태가 안정상태로 판단된 경우, 가용 대역폭에 여유가 있는지를 판단하여 가용 대역폭의 여유가 있는 경우 활성화된 멀티미디어 데이터 프레임의 수를 증가시킬 수 있다.
또한, 전술한 구성에서, 네트워크 상태가 혼잡상태로 판단된 경우, TCP 트래픽의 평균 전송률을 상기 피드백 메시지 정보를 활용하여 산출하고, TCP 트래픽의 평균 전송률에 따라 멀티미디어 데이터 스트림의 전송률을 산출하며, 전송할 멀티미디어 데이터 프레임에 대하여 멀티미디어 데이터 스트림의 전송률을 이용하여 각 프레임 타입별로 가용 대역폭을 할당하고 각 프레임 타입별 전송률을 조절할 수 있다.
또한, 전술한 구성에서, 버퍼의 언더플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임의 수를 감소시키고, 버퍼의 오버플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임의 수를 증가시킬 수 있다.
또한, 전술한 구성에서, TCP 트래픽의 평균 전송률은 하기의 수학식10에 의해 산출된 패킷 손실률을 이용하여 산출될 수 있다.
<수학식10>
Figure 112009052427799-pat00061
또한, 전술한 구성에서, 활성화된 멀티미디어 데이터 프레임의 수에 변동이 있는 경우, 버퍼 상태를 다시 판단하는 단계를 더 포함할 수 있다.
본 발명에 따르면 네트워크의 안정성이 향상됨과 동시에 시간적 확장성을 이용한 네트워크 상태 적응적인 품질 변화를 통해 사용자에게 향상된 QoS를 제공하며 끊김없는 부드러운 스트리밍 서비스를 제공할 수 있는 효과가 있다.
또한, 네트워크 상태 정보를 이용하여 TCP 친화적인 전송률을 계산하고 이를 기반으로 인코딩된 비디오 스트림의 품질을 결정함으로써 네트워크의 안정성과 TCP의 친화성을 향상시킬뿐만아니라 클라이언트의 버퍼상태를 판단하여 멀티미디어 데이터 스트림의 서비스 품질을 부드럽게 조절하여 보다 고품질의 스트리밍 서비스를 제공할 수 있는 효과가 있다.
또한, 계층적으로 인코딩된 비디오 스트림을 기반으로 하는 품질 적응적 비디오 스트림 제어 방법이 아닌 MPEG 압축 표준에서 일반적으로 소개되어 있는 압축된 멀티미디어 데이터 스트림 자체를 이용하여 시간적 확장성과 버퍼 상태 판단을 통한 품질 적응적 스트리밍 방법을 제공할 수 있는 효과가 있다.
또한, 버퍼상태 판단을 위해 별도의 제어메시지의 수신이 필요하지 않아 추가적인 오버헤드가 발생하지 않고 시스템 자원을 보다 효율적으로 사용할 수 있도록 하면서도 정확하게 버퍼상태를 판단할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 품질 적응적 스트리밍 서버와 클라이언트 단말의 구조를 도시한 것이다.
도 1에 도시된 바와 같이, 품질 적응적 스트리밍 시스템은 스트리밍 서버(100)와 클라이언트 단말(200) 그리고, 인터넷과 같은 스트리밍 서버(100)와 클라이언트 단말(200) 간의 통신망을 포함하여 이루어질 수 있다.
스트리밍 서버(100)는 멀티미디어 데이터를 인코딩하는 인코더(110), 인코딩 된 멀티미디어 데이터를 저장하는 메모리(120), 클라이언트 단말(200)의 버퍼(210) 상태를 판단하는 버퍼상태판단모듈(130), 네트워크 상태가 혼잡상태인지를 판단하는 네트워크상태판단모듈(140), 클라이언트 단말에서 주기적으로 송신하는 피드백 메시지 정보를 통해 TCP 트래픽의 평균 전송률을 산출하고, 산출된 TCP 트래픽의 평균전송률 이하가 되도록 멀티미디어 데이터 스트림의 전송률을 산출하는 전송률산출모듈(150), 네트워크 상태 및 클라이언트 단말의 버퍼상태 등에 따라 인코딩된 멀티미디어 데이터의 활성 프레임 수를 조절하고 가용 대역폭을 할당하여 전송률을 제어하는 품질적응모듈(160)을 포함하여 이루어질 수 있다.
또한, 클라이언트 단말(200)은 스트리밍 서비스를 위해 수신된 멀티미디어 데이터를 버퍼링하는 버퍼(210), 인코딩된 멀티미디어 데이터를 디코딩하는 디코더(220), 디코딩된 멀티미디어 데이터를 출력하는 출력부(230)를 포함하여 이루어질 수 있다.
사용자로부터 서비스 요청될 멀티미디어 데이터 스트림은 MPEG 계열 방식과 같은 압축 기술을 통해 일정 프레임율을 갖도록 인코딩되어 스트리밍 서버(100)에 저장된다. 전송프로토콜이 가지는 혼잡제어 메커니즘에 따라 현재 네트워크 상태를 기반으로 스트리밍 서버는 TCP 친화적인 전송률을 계산하며, TCP 친화적인 전송률에 따라 적합한 분량만큼 활성화(Active)되어 있는 데이터 프레임들은 전송세션으로 클라이언트 단말(200)에 전달된다.
한편, 클라이언트는 상기 스트리밍 서버가 송신한 데이터 프레임을 수신하여 해당 타입별로 구분된 버퍼(210)들에 버퍼링시키며, 디코더(220)는 버퍼링된 데이터들을 디코딩하여 출력함으로써 최종적으로 수신된 프레임을 소비하게 된다.
인코딩된 멀티미디어 데이터 스트림의 타입은 I,P,B 프레임의 세 가지 타입으로 구분된다. 프레임은 영상 데이터 스트림의 기본 구성단위로서, 가까운 2개의 I 프레임 사이에 존재하는 프레임들은 하나의 GOP(Group of Pictures)를 구성하며, 이러한 GOP는 두 개의 I 프레임 사이에 존재하는 P 프레임의 수와, 두 개의 P 프레임 사이에 존재하는 B 프레임의 수를 파라미터로 갖는다. 각 프레임 타입별로 각기 다른 데이터 크기를 갖는다.
GOP 순열 I-B-B-P-B-B-P-B-B-P
프레임율 25fps
인코딩 데이터율 1.4Mbps
프레임 타입 I 프레임 P 프레임 B 프레임
GOP 당 프레임 수 1 3 6
프레임 크기(bytes) 25K 10K 2.5K
표 1은 멀티미디어 데이터 스트림의 특성을 예를 들어 설명하기 위한 것이다. 멀티미디어 데이터 스트림의 특성을 위 표 1을 참조하여 설명하면 하나의 GOP는 1개의 I 프레임, 3개의 P 프레임, 6개의 B 프레임으로 구성된다. 여기서 P 프레임은 I 프레임 사이에 3개가 포함되고 B 프레임은 2개의 P 프레임 사이에 2개가 포함되도록 구성된다. 하나의 GOP는 총 10개의 프레임으로 구성되고 프레임율이 25fps이므로 초당 25개의 프레임율을 갖는다. 따라서, 하나의 GOP가 10개의 프레임을 갖게 되므로 초당 2.5 GOP율을 갖는다는 것을 알 수 있다.
프레임의 데이터 크기는 프레임 타입별로 다른데 하나의 GOP의 크기를 구하면 (25+30+15)K, 즉, 70K바이트임을 알 수 있다. 초당 GOP율이 2.5이므로 인코딩 데이터율을 산출하면 70K*2.5는 175K (바이트/초)이고, 175K*8 = 1.4Mbps의 인코딩 데이터율을 갖는다는 것을 알 수 있다.
다음으로, 품질 적응적 멀티미디어 데이터 스트림 전송 제어 방법을 설명하기 위하여 필요한 용어 정의는 다음과 같다.
다 음
Bk; K 프레임 하나의 바이트 수(K 프레임의 크기), 여기서
Figure 112009033888238-pat00009
오리지널 인코딩된 데이터 스트림(Originally encoded data stream):
NFk; K 프레임의 수
하나의 GOP 내의 프레임 수; NFGOP = NFI + NFP + NFB
하나의 GOP의 바이트 수; BGOP = NFI*BI + NFP*BP + NFB*BB
인코딩된 프레임의 초당 프레임율; FRGOP
적응적 데이터 스트림(Adaptive data stream):
α,β,γ; 각각 활성화된 I, P, B 프레임 수
활성화된 하나의 GOP 내의 프레임 수; NFACTIVE = α + β + γ
활성화된 하나의 GOP의 바이트 수; BACTIVE = α*BI + β*BP + γ*BB
활성화된 프레임의 초당 프레임율; FRACTIVE
여기서 오리지널 인코딩된 데이터 스트림은 인코딩되고 바로 스트리밍 서버(100)의 메모리(120)에 저장된 멀티미디어 데이터 스트림을 의미하고, 적응적 데이터 스트림은 품질 적응 기법이 적용되어 실제로 클라이언트 단말(200)로 전송될 활성화된 데이터 스트림을 의미한다. 그러므로, 적응적 데이터 스트림의 활성 프레임 수는 오리지널 인코딩된 데이터 스트림의 프레임 수보다 작거나 같게 된다.(
Figure 112009033888238-pat00010
)
멀티미디어 데이터 스트림을 전송하고 혼잡제어를 수행하는 메커니즘은 TCP 친화적인 전송률 제어를 포함하는데, 위 TCP 친화적인 전송률 제어는 RTP 프로토콜 기반의 TCP 친화적인 전송률 제어 방법을 사용할 수 있다.
네트워크 상태 정보는 클라이언트 단말(200)로부터 주기적으로 전송되는 제어 프로토콜인 RTCP(Real-time Transport Control Protocol)를 통해 스트리밍 서버(100)측에 통보된다. 주기적으로 피드백되는 전송간 지연(RTT)과 패킷 손실률을 이용하여 스트리밍 서버(100)의 전송률산출모듈(150)은 현재 네트워크 상태에 기반한 TCP 친화적인 전송률을 계산할 수 있다. 전송률산출모듈(150)에서 계산된 TCP 친화적인 전송률은 품질적응모듈(160)로 전달된다.
고품질의 스트리밍 서비스를 제공하기 위해서는 클라이언트 단말(200)의 버퍼상태 정보가 필요하다. 버퍼상태 정보는 추가적인 제어메시지를 이용하여 클라이언트 단말(200)이 스트리밍 서버(100)측으로 전송할 수 있지만 이러한 방법은 제어 메시지의 주기적 전송에 따른 오버헤드가 있다는 문제와 과거의 버퍼상태에 대한 정보를 전달한다는 문제점이 있다.
따라서, 버퍼상태판단모듈(130)을 통해 스트리밍 서버(100)측에서 클라이언트 단말(200)의 버퍼상태를 판단하는 방법을 사용할 수 있다. 버퍼상태 판단에 대한 자세한 내용은 추후 후술하기로 한다.
품질적응모듈(160)은 전달받은 TCP 친화적인 전송률과 버퍼상태판단모듈(130)로부터 전달받은 클라이언트 단말의 버퍼상태판단을 기반으로, 하나의 GOP 내에서 전송할 프레임 수를 결정하여 활성화하고 각각의 활성화된 프레임에 대하여 적절한 대역폭을 할당한다. 클라이언트의 버퍼 상태는 다음 주기에서의 전송률과 각각의 프레임별 대역폭 할당 정보를 기반으로 판단하게되며 버퍼 상태 판단 방법은 전술한 바와 같다.
품질적응모듈(160)은 인코딩된 데이터 스트림의 데이터율이 현재 네트워크의 가용대역폭보다 크거나 작을 경우에 동작한다. 품질적응모듈(160)은 전송률산출모듈(150)로부터 전달받은 TCP 친화적인 전송률에 적합하도록 GOP 내의 활성프레임 수를 증가 또는 감소시키면서 스트리밍 서비스의 품질과 전송률을 조절한다.
도 2는 본 발명의 일실시예에 따른 품질적응적 스트리밍 시스템에 포함되는 스트리밍 서버에서의 각 프레임 타입별 대역폭 할당과 클라이언트측에서의 데이터 버퍼링 상태정보를 도시한 것이다.
도 2에 도시된 바와 같이, 스트리밍 서버는 인코딩된 데이터를 계산된 TCP 친화적인 전송률과 네트워크 상태 정보에 따라 각각의 프레임 타입별로 전송할 프레임을 활성화하여 전송한다. 여기서 X(t)는 임의의 시간 t에서 산출된 TCP 친화적인 전송률을 의미하고, 스트리밍 서버는 멀티미디어 데이터 스트림을 구성하는 I,P,B 프레임을 주어진 전송률에 맞추어 전송한다. 만일 네트워크 상태가 혼잡하여 가용 대역폭이 인코딩된 데이터 스트림의 전체 프레임을 수용할 수 없을 경우, 품질적응모듈은 TCP 친화적인 전송률에 근거하여 하나의 GOP 내에서의 활성 프레임 수를 결정하고, 가용대역폭(Actual bandwidth) XGOP 내에서 각 프레임별로 대역폭을 할당한다. 여기서, XI ,XP ,XB 는 각각 I,P,B 프레임 별로 할당된 대역폭을 의미하며, 활성 프레임 수 결정과 가용대역폭 할당은 하나의 GOP 단위로 수행된다.
표 2는 인코딩된 데이터 스트림의 기대 대역폭과 적응적 데이터 스트림의 가용 대역폭을 산출하는 수식을 나타낸 것이다.
인코딩된 데이터 스트림(Encoded data stream) 적응적 데이터 스트림(Adapted data stream)
기대 대역폭(Expected bandwidth),
Figure 112009033888238-pat00011
가용 대역폭(Actual bandwidth),
Figure 112009033888238-pat00012
Figure 112009033888238-pat00013
Figure 112009033888238-pat00014
Figure 112009033888238-pat00015
Figure 112009033888238-pat00016
Figure 112009033888238-pat00017
Figure 112009033888238-pat00018
Figure 112009033888238-pat00019
Figure 112009033888238-pat00020
표 2에서 기대 대역폭(Expected bandwidth) EXGOP 는 오리지널 인코딩된 데이터 스트림 전체 프레임을 전송하는데 필요한 대역폭을 의미한다. 실제 대역폭(Actual bandwidth) XGOP 는 TCP 친화적인 전송률에 따라 품질 적응기법이 적용되어 활성화된 적응적 데이터 스트림에 할당되어야 하는 실제 대역폭을 의미한다.
오리지널 인코딩된 데이터 스트림의 경우, 현재의 가용 대역폭이 인코딩된 데이터 스트림 전체 프레임을 전송할 수 있다면 각 프레임 타입에 할당되는 대역폭(EXI ,EXP ,EXB)의 전체 합 EXGOP 로 기대 대역폭이 할당되고 기대 전송률이 계산될 수 있다. 적응적 데이터 스트림의 경우, 임의의 시간 t에서의 가용 대역폭은 기대 대역폭보다 작은 값을 가지며 산출된 TCP 친화적인 전송률에 적합한 활성 프레임의 수(α,β,γ)에 따라 결정된다. 임의의 시간 t에서의 네트워크 전체 가용 대역폭은 선택된 활성 프레임들의 데이터 크기에 따라 비례적으로 할당되며, 하나의 GOP에 할당되는 가용 대역폭 XGOP 는 각 프레임 타입별로 할당되는 대역폭(XI ,XP ,XB)의 합과 같다.
다음으로 버퍼상태 판단모듈에서 수행되는 버퍼상태 판단방법을 설명하기로 한다.
도 2에 도시된 바와 같이, 네트워크 가용 대역폭을 통해 전송된 활성 프레임들은 클라이언트 버퍼에 쌓이며 임의의 시점 t에서의 전체 버퍼링된 데이터량(YT(t))는 하기의 수학식1에 의해 표현될 수 있다.
<수학식1>
Figure 112009033888238-pat00021
상기 수학식1과 같이 임의의 시점 t에서의 전체 버퍼링된 데이터량(YT(t))는 이전 시간(t-1)에 버퍼링된 데이터량(YT(t-1))과 단위시간 동안 네트워크로부터 전송된 데이터량과 단위시간 동안 디코더에 의해 소비된 데이터량의 차인
Figure 112009033888238-pat00022
의 합으로 구해질 수 있다. 여기서,
Figure 112009033888238-pat00023
는 버퍼에 저장된 데이터 스트림의 소비율(Consumption Rate)를 의미한다. 또한, 시점 (t-1)은 시점 t보다 1초전의 의미로 반드시 해석되는 것이 아니고, 바로 시점 t 바로 이 전에 버퍼상태를 판단한 시점으로도 해석될 수 있다. 즉, t와 t-1 사이의 시간 간격은 단위시간 간격을 어떻게 설정하느냐에 따라 달라질 수 있다.
또한, 임의의 시점 t에서 각 I,P,B 프레임 별로 버퍼링된 데이터량은 하기의 수학식2와 같이 표현될 수 있다.
<수학식2>
Figure 112009033888238-pat00024
Figure 112009033888238-pat00025
Figure 112009033888238-pat00026
여기서, 수학식2의 좌변은 위에서부터 차례로 임의의 시점 t에서 각 I,P,B 프레임 별로 버퍼링된 데이터량을 의미하고, 우변의 첫번째 텀은 위에서부터 차례로 시점 (t-1)에서 각 I,P,B 프레임 별로 버퍼링된 데이터량을 의미한다. 또한, 괄호 안에 있는 우변의 두번째 텀은 위에서부터 차례로 시점 t-1부터 시점 t까지 각 I,P,B 프레임 별로 전송된 데이터량을 의미하고, 괄호 안에 있는 우변의 세번째 텀은 위에서부터 차례로 시점 t-1부터 시점 t까지 각 I,P,B 프레임 별로 디코더에서 소비된 데이터량을 의미한다.
하지만, 상기 수학식1과 수학식2의 괄호 안의 값을 실시간으로 정확히 알 수 없기 때문에 각각의 프레임 타입별로 버퍼링된 데이터량의 추정값을 계산하기 위해 하기의 수학식3을 이용한다.
<수학식3>
Figure 112009033888238-pat00027
Figure 112009033888238-pat00028
Figure 112009033888238-pat00029
버퍼상태 판단을 위해 수학식3에서 계산된 버퍼링된 데이터량의 추정값들을 사용하며 상기 수학식3에서는, 상기 수학식2의 단위시간 동안 전송된 데이터량과 소비된 데이터량을 계산하는 부분을 단위시간 동안 전송되는 GOP 갯수(FRACTIVE/NFACTIVE)에 관한 식으로 치환하였다.
상기 수학식3으로 부터 계산된, 각 프레임 타입별 버퍼링된 데이터량을 기반으로 각 프레임 타입별 버퍼링된 프레임 수(ΔI, ΔP, ΔB) 및 클라이언트 버퍼에 버퍼링된 GOP의 수를 하기의 수학식4와 같이 계산할 수 있다.
<수학식4>
Figure 112009033888238-pat00030
Figure 112009033888238-pat00031
Figure 112009033888238-pat00032
Figure 112009033888238-pat00033
즉, 프레임 타입별로 버퍼링된 프레임 수를 하나의 GOP내에서 현재 활성화된 프레임 수인 α,β,γ로 각각 나누어 버퍼링된 GOP의 갯수를 판단할 수 있다. 이는 I,P,B 프레임들이 하나의 GOP를 구성하며 하나의 GOP 내에서 각각의 프레임 들이 상호 의존성을 갖기 때문이다.
한편, 클라이언트 단말의 버퍼는 데이터 전송 간의 지터를 완화시키고 사용자에게 끊김없는 재생 서비스를 제공하는 역할을 하므로 비디오 스트리밍 어플리케이션에서 필수적으로 사용되고 있다. 만일 클라이언트 단말의 버퍼에 버퍼링된 데이터가 없다면 디코더에 의해 재생할 수 있는 데이터가 없다는 것을 의미하므로, 결과적으로 재생이 중단되는 것과 같은 심각한 스트리밍 품질의 저하를 가져올 수 있다. 반대로 버퍼링된 데이터의 소비속도보다 버퍼로 유입되는 데이터의 유입속도가 높아서 버퍼의 용량을 초과하는 경우에도 스트리밍 서비스의 품질 저하를 가져올 수 있다. 따라서 이러한 버퍼의 언더플로나 오버플로는 스트리밍 서비스 품질의 향상을 위해 반드시 방지해야 하는 요소라고 할 수 있다.
품질적응모듈은 판단되어진 버퍼링된 GOP 수(ΔGOP)를 기반으로 버퍼의 언더플로나 오버플로를 예방할 수 있다. 단위시간 동안 네트워크를 통해 전송되는 GOP 수를 θ라고 하고, 단위시간 동안 디코더에 의해 소비되는 GOP 수를 φ라고 할 때, 전송되는 GOP 수와 버퍼링된 GOP 수의 합(ΔGOP+θ)가 소비되는 GOP 수 보다 크도록 유지하면 버퍼의 언더플로를 예방할 수 있다. 또한, 버퍼링되어 있는 GOP의 수가 클라이언트 단말의 버퍼 크기보다 작을 경우, 버퍼의 오버플로를 예방할 수 있다. 서비스 품질에 큰 영향을 미치지 않는 범위 내에서 언더플로와 오버플로를 예방할 수 있도록 두 기준치인 최소문턱치(ΔMIN)와 최대문턱치(ΔMAX)(Minimum and Maximum Threshold)를 설정할 수 있다. 이를 정리하면 다음과 같다.
다 음
1. 언더플로 예방조건
(소비되는 GOP 수 + ΔMIN)
Figure 112009033888238-pat00034
(클라이언트 단말버퍼로 전송된 GOP수 + 버퍼링된 GOP 수)
<수학식5>
Figure 112009033888238-pat00035
2. 오버플로 예방조건
버퍼링된 GOP 수
Figure 112009033888238-pat00036
ΔMAX
<수학식6>
Figure 112009033888238-pat00037
여기서, φ와 θ는 각각 아래와 같이 구할 수 있다.
Figure 112009033888238-pat00038
,
Figure 112009033888238-pat00039
다음으로, 네트워크 상태에 따른 품질 적응 기법에 대해 설명하기로 한다. 네트워크의 가용 대역폭이 현재 활성 프레임들의 소비율보다 높다면, 스트리밍 서버는 하나의 프레임을 추가로 활성화하여 클라이언트 단말에 전송하는 방법을 고려할 수 있다. 하지만, 이러한 방법은 네트워크 가용 대역폭의 변화를 예측할 수 없으므로 서비스 품질의 변화가 빈번히 발생할 수 있는 문제가 있다.
따라서, 좀 더 품질 변화가 빈번히 일어나지 않고 부드럽게 적용될 수 있도록 현재의 가용 대역폭의 크기가 현재 활성화된 프레임에 하나의 프레임을 추가했을 때의 전체 소비율보다 클 경우에만 새로운 프레임을 추가로 활성화시키는 방법을 사용할 수 있다. 새롭게 추가되는 활성 프레임의 타입은 현재 활성화되어 있는 프레임들에 따라 결정된다. 예를 들어, GOP 내에서 모든 P 프레임이 활성화되어 있지 않은 경우 다음 추가되는 프레임은 다음 P 프레임으로 결정되며, 모든 P 프레임이 이미 활성화되어 있는 경우 B 프레임이 추가 활성화 된다. 즉, P프레임이 먼저 모두 활성화되고 난 후에야 B 프레임이 활성화 된다.
현재의 가용 대역폭이 하나의 프레임을 추가했을 때의 전체 소비율보다 작을 경우에는 현재의 활성 프레임 수를 유지하고, 남는 대역폭은 현재 활성화된 프레임의 데이터들을 버퍼링하는데 사용된다. 새로운 활성 프레임을 추가하기 위한 조건은 하기의 수학식7에 의해 표현될 수 있다.
<수학식7>
조건 1:
Figure 112009033888238-pat00040
여기서 좌변은 n번째 GOP를 전송할 때 필요한 가용 대역폭에서 n-1번째 GOP를 전송할 때 필요한 가용 대역폭을 뺀 차를 의미한다. 즉, 이전 GOP에 비해 현재 GOP를 전송할 때 대역폭의 차이(여유분)가 얼마나 있는지를 의미한다. 우변은 각 I,B,P 프레임 하나를 보낼 때 필요한 대역폭을 의미한다.
따라서 상기 수학식7은 좌변의 여유대역폭(이전보다 이번에 발생한 여유 대역폭)이 I,P 또는 B 프레임 하나를 보낼 때 필요한 대역폭보다 크거나 같은 경우 하나의 프레임을 더 활성화하여 전송한다는 것을 의미한다.
그러나, 클라이언트 단말 버퍼 상태에 대한 고려없이, 수학식7의 조건 1만으로는 품질적응 기법에 문제점이 있다. 현재 활성화된 프레임들을 전송하고 남은 잉여 대역폭들은 활성 프레임들의 데이터 전송과 버퍼링에 사용되는데, 버퍼링 시간이 길어질 경우 버퍼의 오버플로가 발생할 가능성이 있기 때문이다.
따라서, 버퍼의 오버플로가 발생하는 것을 예방하기 위해 아래의 조건 2와 같은 버퍼의 오버플로가 예상될 경우, 스트리밍 서버는 하나의 프레임을 추가로 활성화시킴으로써 버퍼의 오버플로를 예방하고 제공되는 서비스 품질을 높여준다. 이는 프레임율을 높여주면 단위시간 당 소비되는 프레임 수가 증가하게 되며, 결과적으로 클라이언트 버퍼의 점유도가 낮아짐으로써 버퍼의 오버플로를 예방할 수 있게 된다.
<수학식8>
조건 2:
Figure 112009033888238-pat00041
반대로, 현재 활성 프레임의 전체 소비율이 가용 대역폭보다 높은 경우에는 활성 프레임의 수를 감소시켜야 한다. 하지만, 가능한 오랫동안 높은 품질의 서비스를 제공하기 위해 가능한 천천히 활성 프레임의 수를 감소시키는 것이 바람직하다. 따라서, 아래의 조건 3을 만족하여 클라이언트 단말 버퍼의 언더플로가 예상될 경우 스트리밍 서버는 현재 활성 프레임의 수를 감소시켜 서비스 품질을 낮추게 된다. 현재의 전송률은 유지하면서 전송되는 활성프레임의 수를 감소시키므로, 단위시간 동안 전송되는 GOP 수는 증가하는 동시에 소비되는 프레임 수는 감소하며, 결과적으로 버퍼의 언더플로를 예방할 수 있다. 활성프레임 수의 감소로 인해 서비스 품질의 저하가 발생하기는 하지만, 네트워크 상태에 적응적으로 대처할 수 있으며, 언더플로로 인한 서비스 중단과 같은 더 큰 문제를 예방하여 끊김없는 서비스를 제공할 수 있다.
<수학식9>
조건 3:
Figure 112009033888238-pat00042
위에서 설명한 세가지 조건을 만족하지 않는 경우에 스트리밍 서버는 현재의 활성 프레임의 수를 그대로 유지한다. 전송률은 전송률 조절 주기마다 계산된 TCP 친화적인 전송률로 조절되며, 스트리밍 서버는 계산된 가용 대역폭을 위 표 2와 같이 활성화된 프레임 타입별로 공평하게 분배하여 클라이언트 단말측으로 전송한다.
이하에서는 본 발명의 일실시예에 따른 품질 적응적 멀티미디어 데이터 스트리밍 방법에 대해 설명하기로 한다.
도 3은 본 발명의 일실시예에 따른 품질 적응적 멀티미디어 데이터 스트리밍 시스템을 도시한 것이다.
품질적응적 멀티미디어 데이터 스트리밍 방법은 TCP 친화적인 전송률 변화와 클라이언트 단말의 버퍼상태 변화 정보를 기반으로 동작한다. 클라이언트 단말은 전송간지연(RTT), 재전송 타임아웃(RTO), 패킷 손실률과 같은 네트워크 상태 정보를 주기적으로 RTCP 메시지(피드백 메시지)를 통해 스트리밍 서버측에 통보하며, 스트리밍 서버는 이러한 네트워크 상태 정보를 이용하여 가용 대역폭, 즉 TCP 친화적인 전송률을 계산한다. 클라이언트 단말 버퍼의 언더플로나 오버플로 예상을 위한 최소, 최대 문턱치는 각각 소정의 시간 간격동안(예컨대 각각 1초 동안) 소비되는 GOP 수와 최대 버퍼링 GOP 수에서 최소 문턱치를 뺀 수로 설정할 수 있다.
도 4는 본 발명의 일실시예에 따른 품질 적응적 멀티미디어 데이터 스트리밍 방법을 도시한 것이다.
도 4에 도시된 바와 같이, 스트리밍 서버가 클라이언트 단말로부터 주기적으로 RTCP 제어 메시지(피드백 메시지)를 수신하면, 스트리밍 서버는 클라이언트 단말의 버퍼상태를 판단한다(S410). 다음으로 스트리밍 서버는 위에서 상술한 조건2와 조건3을 이용하여 버퍼의 언더플로나 오버플로의 발생 가능성을 검사한다(S420). 다음으로 버퍼의 언더플로가 예상되는 경우, 활성 프레임의 수를 감소시켜 언더플로의 발생을 예방하며, 오버플로가 예상되는 경우, 활성 프레임의 수를 증가시켜 오버플로를 예방하게 된다(S430). 다음으로 클라이언트로부터 전달된 네트워크 상태정보를 기반으로 네트워크 상태를 혼잡상태 또는 안정상태로 판단한다(S440). 만일, 네트워크 상태가 안정상태로 판단될 경우, 스트리밍 서버는 경쟁 트래픽과의 대역폭 경쟁을 위해 전송률을 RINC 만큼 증가시키게 된다(S450). 전송률 증가분 RINC 는 같은 네트워크 조건에서 경쟁하는 TCP 트래픽의 전송률 증가분을 초과하지 않는 범위내에서 설정되는 것이 바람직하다. 네트워크 안정상태에서는 추가적으로 위에서 상술한 조건 1을 검사하여 가용 대역폭에 여유가 있는 경우 활성프레임의 수를 증가시킨다(S460). 만일 네트워크 상태가 혼잡상태로 판단될 경우, 스트리밍 서버는 TCP 친화적인 전송률을 RTCP 제어메시지 정보와 저대역 필터링 기법을 통해 산출한다(S455). 네트워크 혼잡상태에서는 계산된 TCP 친화적인 전송률에 따라 각 프레임 타입별로 가용 대역폭을 할당하고 전송률을 조절한다(S465).
다음으로 상기의 단계들을 마친 후 스트리밍 서버는 다음 RTCP 주기에서의 클라이언트 단말 버퍼 상태 판단의 정확성을 위해 갱신된 프레임율을 기반으로 클라이언트 단말의 버퍼 상태를 다시 판단한다(S470).
한편, 본 발명의 다른 실시예 따른 TCP 평균전송률 산출 방법은 종래의 전송률 변화가 큰 문제점을 개선하기 위해 하기의 수학식에 의해 구할 수 있다.
<수학식10>
Figure 112009052427799-pat00062
여기서, Pn은 n번째 RTCP 주기가 끝나고 계산된 패킷손실률을 의미한다.
NPi는 i번째 RTCP 주기에서 스트리밍 서버가 전송한 패킷 수(Number of Packets)를 의미한다. Li는 i번째 RTCP 주기에서의 손실이벤트(Loss event)의 의미이며, i번째 RTCP 주기에서 손실이벤트가 있는 경우 Li=1이고, i번째 RTCP 주기에서 손실이벤트가 없는 경우 Li=0이 됨을 의미한다. 패킷 손실이벤트가 있다는 것은 해당 RTCP 주기 내에서 적어도 하나이상의 패킷이 손실되어진 경우를 뜻하고, 패킷 손실이벤트가 없다는 것은 해당 RTCP 주기 내에서 하나도 패킷이 손실되지 않은 경우를 뜻하는 것이다.
따라서, 상기 수학식10의 분모부분의 의미는 1번째 RTCP 주기부터 n번째 RTCP 주기까지 스트리밍 서버가 전송한 패킷 수를 1번째 RTCP 주기부터 n번째 RTCP 주기까지 누적된 손실이벤트 발생 횟수로 나눈 값을 의미한다.
또한 Ln의 경우를 살펴보면, Ln값은 n번째 RTCP 주기에서 패킷 손실이벤트가 있는 경우 Ln=1이고, n번째 RTCP 주기에서 패킷 손실이벤트가 없는 경우 Ln=0이 된다.
상기 수학식10에 의해 TCP 평균전송률을 산출하는 경우 전송률의 변화가 크지 않고 점진적으로 변화하므로 데이터 스트림의 전송률을 안정하게 변화시킬 수 있으면서도 경쟁하는 TCP와의 형평성을 향상시킬 수 있는 장점이 있다.
이상 첨부된 도면을 참조하여 본 발명의 여러 실시예를 설명하였지만, 상기의 실시예들이 본 발명의 권리범위를 제한하는 것이 아니며 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시되는 실시범위까지 본 발명의 권리범위가 미친다고 할 것이다.
도 1은 본 발명의 일 실시예에 따른 품질 적응적 스트리밍 서버와 클라이언트 단말의 구조를 도시한 것이다.
도 2는 본 발명의 일실시예에 따른 품질적응적 스트리밍 시스템에 포함되는 스트리밍 서버에서의 각 프레임 타입별 대역폭 할당과 클라이언트측에서의 데이터 버퍼링 상태정보를 도시한 것이다.
도 3은 본 발명의 일실시예에 따른 품질 적응적 멀티미디어 데이터 스트리밍 시스템을 도시한 것이다.
도 4는 본 발명의 일실시예에 따른 품질 적응적 멀티미디어 데이터 스트리밍 방법을 도시한 것이다.
<도면의 주요부분에 대한 부호의 설명>
100. 스트리밍 서버 110. 인코더
120. 메모리 130. 버퍼상태판단모듈
140. 네트워크상태판단모듈 150. 전송률산출모듈
160. 품질적응모듈 200. 클라이언트 단말
210. 버퍼 220. 디코더
230. 출력부

Claims (18)

  1. 클라이언트 단말에게 멀티미디어 데이터 스트림을 전송하고 상기 클라이언트 단말이 전송하는 피드백 메시지를 주기적으로 수신하는 스트리밍 서버에 있어서,
    전송하고자 하는 멀티미디어 데이터를 적어도 2 이상의 프레임 타입 중 어느 하나의 프레임 타입을 갖는 멀티미디어 데이터 프레임으로 인코딩하는 인코더;
    상기 클라이언트 단말의 버퍼에 버퍼링된 데이터량의 추정값을 계산하고, 상기 계산된 추정값에 의해 특정시점에서의 상기 클라이언트 단말의 버퍼 상태를 판단하는 버퍼상태판단모듈;
    상기 피드백 메시지 정보를 통해 TCP 트래픽의 평균 전송률을 계산하고, 상기 TCP 트래픽의 평균 전송률에 의거하여 상기 클라이언트 단말로 전송할 멀티미디어 데이터 스트림의 전송률을 산출하는 전송률산출모듈;
    상기 피드백 메시지 정보를 통해 네트워크 상태를 판단하는 네트워크상태판단모듈; 및
    상기 인코딩된 멀티미디어 데이터 프레임 중 상기 클라이언트 단말로 전송할 일부 멀티미디어 데이터 프레임을 활성화시키고, 상기 클라이언트 단말의 버퍼 상태 또는 상기 네트워크 상태에 따라 활성화된 멀티미디어 데이터 프레임 수를 조절하며, 상기 활성화된 멀티미디어 데이터 프레임 수를 이용하여 각각의 프레임 타입별로 가용 대역폭을 계산하는 품질적응모듈을 포함하여 이루어지는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
  2. 제 1 항에 있어서, 상기 품질적응모듈은,
    상기 버퍼상태판단모듈이 상기 클라이언트 단말의 버퍼 상태를 판단한 결과 상기 클라이언트 단말의 버퍼가 언더플로(Underflow) 될 것으로 판단되는 경우 상기 활성화된 멀티미디어 데이터 프레임 수를 감소시키고, 상기 클라이언트 단말의 버퍼가 오버플로(Overflow) 될 것으로 판단되는 경우 상기 인코딩된 멀티미디어 데이터 프레임 중 일부를 추가로 활성화하여 활성화된 멀티미디어 데이터 프레임 수를 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
  3. 제 2 항에 있어서,
    상기 네트워크상태판단모듈이 네트워크 상태가 혼잡상태인 것으로 판단하는 경우, 상기 품질적응모듈은, 상기 각각의 프레임 타입별로 계산된 가용 대역폭에 따라 각각의 프레임 타입별로 활성화된 멀티미디어 데이터 프레임의 전송률을 제어하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
  4. 제 2 항에 있어서,
    상기 네트워크상태판단모듈이 네트워크 상태가 안정상태인 것으로 판단하는 경우, 상기 품질적응모듈은 경쟁하는 트래픽과의 대역폭 경쟁을 위해 상기 멀티미디어 데이터 스트림의 전송률을 소정의 크기만큼 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
  5. 제 4 항에 있어서,
    상기 네트워크상태판단모듈이 네트워크 상태가 안정상태인 것으로 판단하는 경우, 상기 품질적응모듈은 가용 대역폭의 여유가 있는 지를 판단하여, 여유가 있는 경우에는 상기 인코딩된 멀티미디어 데이터 프레임 중 일부를 추가로 활성화함으로써 활성화된 멀티미디어 데이터 프레임 수를 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
  6. 제 5 항에 있어서,
    상기 증가되는 멀티미디어 데이터 스트림의 전송률의 크기는 같은 네트워크 조건에서 경쟁하는 TCP 트래픽의 전송률 증가분을 초과하지 않는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
  7. 제 5 항에 있어서,
    상기 버퍼상태판단모듈은, 활성화된 멀티미디어 데이터 프레임 수에 변동이 있는 경우 상기 변동된 멀티미디어 데이터 프레임 수를 기반으로 다음 주기에서의 상기 클라이언트 단말의 버퍼 상태를 다시 판단하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
  8. 제 7 항에 있어서,
    상기 품질적응모듈은 상기 클라이언트 단말의 버퍼에 버퍼링된 GOP(Group of Pictures)의 수(ΔGOP)를 계산하고, 상기 클라이언트 단말의 버퍼에 버퍼링된 GOP의 수(ΔGOP)를 각각 소정의 최소 문턱치(ΔMIN) 및 최대 문턱치(ΔMAX)와 비교함으로써 상기 버퍼의 언더플로 및 오버플로의 발생 가능성을 판단하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
  9. 제 8 항에 있어서,
    상기 품질적응모듈은 하기의 수학식7 내지 9에 표현된 조건들에 따라 활성화된 멀티미디어 데이터 프레임 수의 조절 여부를 결정하고, 여기서 XnGOP 는 n번째 GOP를 전송할 때 필요한 가용 대역폭, Xn-1GOP 는 n-1번째 GOP를 전송할 때 필요한 가용 대역폭,
    Figure 112009052427799-pat00044
    ,
    Figure 112009052427799-pat00045
    ,
    Figure 112009052427799-pat00046
    는 각각 I,B,P 프레임 하나를 보낼 때 필요한 대역폭을 의미하고 여기서 XI, XP, XB는 각각 활성화된 I,P,B 프레임들에 할당되는 대역폭을, α,β,γ는 각각 활성화된 I,B,P 프레임의 수를 의미하며 , ΔGOP는 상기 클라이언트 단말의 버퍼에 버퍼링된 GOP의 수, ΔMIN과 ΔMAX 는 각각 최소문턱치 및 최대문턱치인 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
    <수학식7>
    Figure 112009052427799-pat00047
    ,
    <수학식8>
    Figure 112009052427799-pat00048
    ,
    <수학식9>
    Figure 112009052427799-pat00049
  10. 제 9 항에 있어서,
    상기 버퍼상태판단모듈은 하기의 수학식3에 의해 산출된 값을 이용하여 클라이언트 단말의 버퍼상태를 판단하고, 여기서
    Figure 112009033888238-pat00050
    는 시점 t에서 버퍼링된 것으로 판단되는 i 프레임의 데이터량,
    Figure 112009033888238-pat00051
    은 시점 t-1에서 버퍼링된 것으로 판단되는 i 프레임의 데이터량,
    Figure 112009033888238-pat00052
    는 시점 t에서 계산된 i 프레임의 가용대역폭, α,β,γ는 각각 활성화된 I,P,B 프레임 수, Bi는 i 프레임 하나의 바이트 수, NFACTIVE = α + β + γ 는 활성화된 하나의 GOP 내의 프레임 수, FRACTIVE 는 활성화된 프레임의 초당 프레임율인 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
    <수학식3>
    Figure 112009033888238-pat00053
    Figure 112009033888238-pat00054
    Figure 112009033888238-pat00055
  11. 스트리밍 서버를 이용한 멀티미디어 데이터 스트리밍 방법에 있어서,
    클라이언트 단말로부터 주기적으로 네트워크 상태 정보를 포함하는 피드백 메시지를 수신하는 단계;
    상기 클라이언트 단말의 버퍼에 버퍼링된 데이터량을 판단하여 특정 시점에서의 상기 클라이언트 단말의 버퍼 상태를 판단하고, 상기 버퍼의 언더플로(Underflow) 또는 오버플로(Overflow)의 발생 가능성을 판단하는 단계; 및
    상기 언더플로 또는 오버플로의 발생 가능성 판단 결과 언더플로 또는 오버플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임 수를 조절하는 단계를 포함하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.
  12. 제 11 항에 있어서,
    상기 활성화된 멀티미디어 데이터 프레임 수를 조절하는 단계를 수행한 후, 상기 피드백 메시지를 이용하여 네트워크 상태가 혼잡상태인지 안정상태인지를 판단하는 네트워크상태판단단계를 더 포함하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.
  13. 제 12 항에 있어서,
    상기 네트워크 상태가 안정상태로 판단된 경우, 경쟁 트래픽과의 대역폭 경쟁을 위하여 전송률을 소정의 크기만큼 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.
  14. 제 13항에 있어서,
    상기 네트워크 상태가 안정상태로 판단된 경우, 가용 대역폭에 여유가 있는지를 판단하여 가용 대역폭의 여유가 있는 경우 활성화된 멀티미디어 데이터 프레임의 수를 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.
  15. 제 14 항에 있어서,
    상기 네트워크 상태가 혼잡상태로 판단된 경우, TCP 트래픽의 평균 전송률을 상기 피드백 메시지 정보를 활용하여 산출하고, 상기 TCP 트래픽의 평균 전송률에 따라 멀티미디어 데이터 스트림의 전송률을 산출하며, 전송할 멀티미디어 데이터 프레임에 대하여 상기 멀티미디어 데이터 스트림의 전송률을 이용하여 각 프레임 타입별로 가용 대역폭을 할당하고 각 프레임 타입별 전송률을 조절하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.
  16. 제 15 항에 있어서,
    상기 버퍼의 언더플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임의 수를 감소시키고, 상기 버퍼의 오버플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임의 수를 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.
  17. 제 16 항에 있어서,
    상기 TCP 트래픽의 평균 전송률은 하기의 수학식10에 의해 산출된 패킷 손실률을 이용하여 산출되고, 여기서 Pn은 n번째 RTCP 주기가 끝나고 계산된 패킷손실률, NPi는 i번째 RTCP 주기에서 스트리밍 서버가 전송한 패킷 수(Number of Packets), Li는 i번째 RTCP 주기에서 손실이벤트가 있는 경우 Li=1이고, i번째 RTCP 주기에서 손실이벤트가 없는 경우 Li=0이 되는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.
    <수학식10>
    Figure 112009052427799-pat00063
  18. 제 11 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 활성화된 멀티미디어 데이터 프레임의 수에 변동이 있는 경우, 상기 버퍼 상태를 다시 판단하는 단계를 더 포함하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.
KR1020090049438A 2009-06-04 2009-06-04 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템 KR100924309B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090049438A KR100924309B1 (ko) 2009-06-04 2009-06-04 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090049438A KR100924309B1 (ko) 2009-06-04 2009-06-04 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템

Publications (1)

Publication Number Publication Date
KR100924309B1 true KR100924309B1 (ko) 2009-11-02

Family

ID=41561008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090049438A KR100924309B1 (ko) 2009-06-04 2009-06-04 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR100924309B1 (ko)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010090454A3 (en) * 2009-02-05 2010-11-25 Samsung Electronics Co., Ltd. Communication system and method for media adaptation therein
WO2012015251A2 (ko) * 2010-07-29 2012-02-02 한국전자통신연구원 전송 스케쥴링 방법
WO2013010462A1 (zh) * 2011-07-15 2013-01-24 华为技术有限公司 保证上行服务质量的方法、基站及用户设备
KR20140047203A (ko) * 2012-10-08 2014-04-22 에스케이텔레콤 주식회사 동영상 서비스 장치 및 동영상 서비스 방법
KR101514128B1 (ko) * 2013-05-29 2015-04-21 삼성에스디에스 주식회사 콘텐츠 제공 장치 및 방법
WO2015178669A1 (ko) * 2014-05-20 2015-11-26 삼성전자 주식회사 미디어 컨텐츠의 송수신을 스케쥴링 하는 방법, 장치 및 시스템
KR20160016265A (ko) * 2014-08-04 2016-02-15 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
KR20180031547A (ko) * 2016-09-20 2018-03-28 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치
US10397288B2 (en) 2014-07-14 2019-08-27 Sk Techx Co., Ltd. Cloud streaming service system, data compressing method for preventing memory bottlenecking, and device for same

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050265450A1 (en) 2004-05-04 2005-12-01 Raveendran Vijayalakshmi R Method and apparatus to construct bi-directional predicted frames for temporal scalability
US7072366B2 (en) 2000-07-14 2006-07-04 Nokia Mobile Phones, Ltd. Method for scalable encoding of media streams, a scalable encoder and a terminal
KR100799784B1 (ko) 2004-04-07 2008-01-31 콸콤 인코포레이티드 시간적 스케일러빌러티를 가능하게 하는 하이브리드 비디오압축에서의 프레임 예측 방법 및 장치
US20090138773A1 (en) 2007-11-28 2009-05-28 Canon Kabushiki Kaisha Method and device for processing a hierarchical multimedia data stream transmitted over a network with loss

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7072366B2 (en) 2000-07-14 2006-07-04 Nokia Mobile Phones, Ltd. Method for scalable encoding of media streams, a scalable encoder and a terminal
KR100799784B1 (ko) 2004-04-07 2008-01-31 콸콤 인코포레이티드 시간적 스케일러빌러티를 가능하게 하는 하이브리드 비디오압축에서의 프레임 예측 방법 및 장치
US20050265450A1 (en) 2004-05-04 2005-12-01 Raveendran Vijayalakshmi R Method and apparatus to construct bi-directional predicted frames for temporal scalability
US20090138773A1 (en) 2007-11-28 2009-05-28 Canon Kabushiki Kaisha Method and device for processing a hierarchical multimedia data stream transmitted over a network with loss

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010090454A3 (en) * 2009-02-05 2010-11-25 Samsung Electronics Co., Ltd. Communication system and method for media adaptation therein
US10027548B2 (en) 2009-02-05 2018-07-17 Samsung Electronics Co., Ltd. Communication system and method for media adaptation therein
WO2012015251A2 (ko) * 2010-07-29 2012-02-02 한국전자통신연구원 전송 스케쥴링 방법
WO2012015251A3 (ko) * 2010-07-29 2012-04-19 한국전자통신연구원 전송 스케쥴링 방법
US9717016B2 (en) 2011-07-15 2017-07-25 Huawei Technologies Co., Ltd. Method for ensuring uplink quality of service, base station and user equipment
WO2013010462A1 (zh) * 2011-07-15 2013-01-24 华为技术有限公司 保证上行服务质量的方法、基站及用户设备
KR20140047203A (ko) * 2012-10-08 2014-04-22 에스케이텔레콤 주식회사 동영상 서비스 장치 및 동영상 서비스 방법
KR101937449B1 (ko) * 2012-10-08 2019-01-11 에스케이텔레콤 주식회사 동영상 서비스 장치 및 동영상 서비스 방법
KR101514128B1 (ko) * 2013-05-29 2015-04-21 삼성에스디에스 주식회사 콘텐츠 제공 장치 및 방법
WO2015178669A1 (ko) * 2014-05-20 2015-11-26 삼성전자 주식회사 미디어 컨텐츠의 송수신을 스케쥴링 하는 방법, 장치 및 시스템
US10630744B2 (en) 2014-05-20 2020-04-21 Samsung Electronics Co., Ltd. Method, device, and system for scheduling transmission and reception of media contents
US10397288B2 (en) 2014-07-14 2019-08-27 Sk Techx Co., Ltd. Cloud streaming service system, data compressing method for preventing memory bottlenecking, and device for same
KR20160016265A (ko) * 2014-08-04 2016-02-15 엔트릭스 주식회사 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
KR102063093B1 (ko) * 2014-08-04 2020-01-07 에스케이플래닛 주식회사 클라우드 스트리밍 서비스 시스템, 메모리 병목 현상을 방지하기 위한 데이터 압축 방법 및 이를 위한 장치
KR20180031547A (ko) * 2016-09-20 2018-03-28 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치
KR102039778B1 (ko) * 2016-09-20 2019-11-01 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. 서버에서 멀티 비트 레이트 스트림 미디어를 적응적으로 제공하기 위한 방법 및 장치
US10498786B2 (en) 2016-09-20 2019-12-03 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for adaptively providing multiple bit rate streaming media in server

Similar Documents

Publication Publication Date Title
KR100924309B1 (ko) 시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템
US8306058B2 (en) Communication system and techniques for transmission from source to destination
US8548048B2 (en) Video source rate control for video telephony
US20050152397A1 (en) Communication system and techniques for transmission from source to destination
US20030198184A1 (en) Method of dynamically determining real-time multimedia streaming rate over a communications networks
US8243789B2 (en) Methods and systems for rate-adaptive transmission of video
CA2803449C (en) Adaptive frame rate control for video in a resource limited system
KR20040009928A (ko) 전송제어 파라미터 생성방법 및 프레임 특성에 따른선택적 자동 재전송 방법
WO2010092327A2 (en) Video streaming
Zhang et al. Network-adaptive rate control with TCP-friendly protocol for multiple video objects
KR101482484B1 (ko) 멀티미디어 스트리밍을 위한 비디오 패킷 스케줄링 방법
Zhang et al. Resource allocation for audio and video streaming over the Internet
Vaz et al. Selective frame discard for video streaming over ip networks
Luo et al. An end-to-end video transmission framework with efficient bandwidth utilization
Sanhueza et al. Efficient video streaming rate control based on a deadline-sensitive selection of SVC layers
Dujfield et al. Feedback of rate and loss information for networked video
Papadimitriou An integrated smooth transmission control and temporal scaling scheme for MPEG-4 streaming video
Lee et al. Quality adaptation with temporal scalability for adaptive video streaming
Argyriou Improving the performance of TCP wireless video streaming with a novel playback adaptation algorithm
Zhu et al. QoS-aware multicast for internet video applications
Shih et al. A transparent loss recovery scheme using packet redirection for wireless video transmissions
Papadimitriou An Integrated Smooth T ansmission Control and Temporal Scaling Scheme for MPEG-4 Streaming Video
Iya et al. Congestion-aware scalable video streaming
El Maghraoui et al. Towards building h. 323-aware 3g wireless systems: H. 323 control loops and applications adaptation to wireless link conditions
Al-Suhail et al. Effective TCP-friendly transmission for video streaming over AWGN wireless channel

Legal Events

Date Code Title Description
A201 Request for examination
A302 Request for accelerated 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: 20120711

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20130621

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee