KR100924309B1 - Quality adaptive streaming method using temporal scalability and system thereof - Google Patents

Quality adaptive streaming method using temporal scalability and system thereof 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
Korean (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 KR1020090049438A priority Critical patent/KR100924309B1/en
Application granted granted Critical
Publication of KR100924309B1 publication Critical patent/KR100924309B1/en

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 

Abstract

PURPOSE: A quality-adaptive multimedia data streaming method and a system thereof are provided to off the improved service quality to a user as improving the stability of a network. CONSTITUTION: A butter state determining module(130) calculates a presumptive value of the data amount buffered in a buffer(210) of a client terminal(200), and determines the buffer state of a client terminal at a specific time. A transfer rate calculating module(150) calculates the average transfer rate of TCP traffic through feedbag message information, and calculates the transfer rate of a multimedia data stream. A network state determining module(140) determines the network state through the feedbag message information. A quality-adaptive module(160) controls the number of activated multimedia data frames.

Description

시간확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템{QUALITY ADAPTIVE STREAMING METHOD USING TEMPORAL SCALABILITY AND SYSTEM THEREOF}Quality Adaptive Multimedia Data Streaming Method and System through Time Scalability and Buffer Status Judgment TECHNICAL TECHNOLOGY

본 발명은 시간적 확장성과 버퍼상태판단을 통한 품질 적응적 멀티미디어 데이터 스트리밍 방법 및 시스템에 관한 것으로, 보다 상세하게는 현재 네트워크 상태를 기반으로 TCP 친화적인 데이터 전송률을 계산하고, 계산된 전송률에 의거하여 인코딩된 데이터 스트림 전송율을 조절하고 클라이언트 버퍼 상태 판단을 통해 품질 적응 기법을 보완하여 사용자에게 끊김없고 부드러운 품질 적응적 스트리밍 서비스를 제공하는 방법 및 시스템에 관한 것이다.The present invention relates to a method and system for quality adaptive multimedia data streaming through temporal scalability and buffer state determination. More particularly, the present invention relates to a TCP-friendly data rate based on the current network state, and to encoding based on the calculated rate. The present invention relates to a method and system for providing a seamless and smooth quality adaptive streaming service to a user by adjusting a data stream transmission rate and supplementing a quality adaptation technique by determining a client buffer state.

오늘날 인터넷을 통한 비디오 스트리밍 기술은 방송, 교육 등 다양한 인터넷 콘텐츠의 형태로 적용되고 있으며 그 사용이 날로 증가하고 있다. 특히, 최근 VOD의 수요가 큰 폭으로 증가하고 UCC 등의 활성화로 인해 인터넷에서 효율적인 비디오 스트리밍 기술에 대한 요구가 점차 높아지고 있다. Today, video streaming technology over the Internet is being applied in various forms of Internet content such as broadcasting and education, and its use is increasing day by day. In particular, the demand for efficient video streaming technology on the Internet is gradually increasing due to the recent increase in the demand for VOD and the activation of UCC.

WWW나 FTP와 같은 기존 인터넷의 주요 트래픽들은 데이터의 신뢰성 있는 전 송을 중요시하여 전송계층 프로토콜로 TCP를 사용하였으나, 비디오 스트리밍과 같은 멀티미디어 트래픽들은 다른 통신 기술과 달리 데이터의 신뢰적인 전달보다는 지연에 민감한 실시간성을 가지며 영상 품질에 민감하지만 어느 정도의 패킷 손실을 허용하며 전송률을 기반으로 동작하는 측면이 있다. 따라서 이러한 멀티미디어 어플리케이션들은 신뢰적인 데이터 전송에 필요한 재전송으로 인해 발생하는 추가적인 지연을 피하기 위해 전송 프로토콜로서 주로 UDP를 사용해 왔다. 하지만 혼잡제어 메커니즘이 없는 UDP를 전송 프로토콜로 사용할 경우 네트워크의 가용 대역폭을 점유하는 특징 때문에 네트워크 혼잡상황을 심화시키고 경쟁하는 TCP기반 트래픽의 성능을 급격히 저하시키는 문제가 있다.The main traffics of the existing Internet such as WWW and FTP use TCP as a transport layer protocol because of the importance of reliable transmission of data.However, unlike other communication technologies, multimedia traffics such as video streaming are more sensitive to delay than reliable delivery of data. It is real-time and sensitive to video quality, but allows some packet loss and operates based on data rate. Therefore, these multimedia applications have mainly used UDP as a transport protocol to avoid the additional delay caused by retransmission required for reliable data transmission. However, when UDP is used as a transport protocol without a congestion control mechanism, there is a problem of deepening network congestion and rapidly degrading the performance of competing TCP-based traffic due to the feature of occupying the available bandwidth of the network.

상술한 혼잡제어 메커니즘이 없는 종래의 멀티미디어 전송 프로토콜의 단점을 개선하기 위해 TCP와 친화적으로 전송률을 조절하는 멀티미디어 스트림의 전송 방법이 연구되었다. 동일한 네트워크 환경에서 TCP 기반의 트래픽과 non-TCP 기반의 트래픽이 대역폭을 경쟁할 경우, 경쟁 TCP 트래픽이 점유하는 평균 대역폭 이하를 사용하도록 전송률을 조절하는 것을 TCP 친화적(TCP-Friendly)라고 할 수 있다.In order to improve the disadvantages of the conventional multimedia transmission protocol without the congestion control mechanism described above, a method of transmitting a multimedia stream that adjusts the transmission rate in a friendly manner with TCP has been studied. When TCP-based traffic and non-TCP-based traffic contend for bandwidth in the same network environment, TCP-Friendly can be referred to as adjusting the transmission rate to use less than the average bandwidth occupied by the competing TCP traffic. .

인터넷을 통한 비디오 스트리밍에서 TCP 친화적인 전송률 조절 방법은 네트워크의 안정성을 향상시키고 프로토콜 간의 형평성을 향상시킨다는 장점을 가진다. 종래의 전송률 조절 방식으로는 TCP와 유사한 혼잡제어 메커니즘을 수행하면서 동시에 비디오 스트림 전송에 적합하도록 전송률의 변화를 줄인, RAP, SQRT와 같은 기법들이 있다. RAP는 TCP와 유사한 혼잡제어 메커니즘을 사용하지만 ACK 기반의 윈도우 조절방식이 아닌 전송률 조절방식을 사용하여 전송률의 변화를 감소시킨다. 한편, SQRT는 TCP의 AIMD(Additive Increase and Multiplicative Decrease) 기법의 파라미터 값 변경을 통해 비디오 스트림 전송에 적합하도록 전송률의 변화를 줄인다.TCP-friendly data rate control in streaming video over the Internet has the advantage of improving network stability and improving protocol equity. Conventional rate control schemes include techniques such as RAP and SQRT, which perform congestion control mechanisms similar to TCP and at the same time reduce the rate change to suit video stream transmission. RAP uses a congestion control mechanism similar to TCP, but uses a rate control rather than an ACK-based window control to reduce the rate change. On the other hand, SQRT reduces the change of the transmission rate to be suitable for video stream transmission by changing the parameter value of TCP's Additive Increase and Multiplicative Decrease (AIMD) technique.

Padhye가 제안한 TCP 전송률 모델링 공식을 이용한 TCP 친화적 전송률 조절 방법은 하기의 수학식에 의해 계산된 TCP 평균 전송률을 이용하여 비디오 스트림의 전송률을 TCP 친화적으로 조절한다.Padhye's proposed TCP-friendly rate control method using the TCP rate modeling formula adjusts the rate of video streams to TCP-friendly rate using the TCP average rate calculated by the following equation.

<수학식1><Equation 1>

Figure 112009033888238-pat00001
Figure 112009033888238-pat00001

여기서 S는 세그먼트 크기, p는 패킷손실률, tRTT는 종단간 지연, tRTO는 재전송 타임아웃을 의미하고, T는 TCP 연결(트래픽)의 평균 전송률을 의미한다.Where S is the segment size, p is the packet loss rate, t RTT is the end-to-end delay, t RTO is the retransmission timeout, and T is the average rate of TCP connections (traffic).

하지만, TCP 친화적으로 전송률을 제어하더라도 최선형 서비스를 제공하는 인터넷 환경에서 네트워크 정보를 미리 알 수 없으며 여전히 전송률의 변화가 크게 발생할 수 있다는 문제점이 여전히 남아 있다. 또한 네트워크의 안정성 및 프로토콜 간의 형평성 향상이 사용자에게 제공되는 스트리밍 서비스 품질의 향상을 가져 오지는 않는다는 문제점이 있다. 따라서, 비디오 스트리밍에서 네트워크의 안정성 향상과 동시에 사용자에게 제공되는 서비스의 품질의 향상을 가져오기 위해서는 네트워크 상태를 기반으로 서비스되는 비디오 스트림의 품질을 적응적으로 조절하는 방법이 적용되어야 한다.However, even if TCP-controlled data rate control, there is still a problem that network information cannot be known in advance in the Internet environment that provides the best service, and that a change in data rate can still occur. In addition, there is a problem that improving the stability of the network and equity between protocols does not lead to an improvement in the streaming service quality provided to the user. Therefore, in order to improve the stability of the network and the quality of the service provided to the user in video streaming, a method of adaptively adjusting the quality of the serviced video stream based on the network condition should be applied.

한편, 종래의 네트워크 상태 기반의 품질 적응 기법은 몇가지로 구분될 수 있다. 첫째로 네트워크 상태에 적합한 전송률을 가지는 데이터 전송을 위해, 이미 인코딩된 비디오 스트림을 디코딩한 후, 양자화 파라미터를 수정하여 다시 인코딩하여 전송하는 방법이 있다. 이 방법은 디코딩과 인코딩을 다시 수행하는 과정에서 CPU 부하가 크고 다수의 클라이언트에 대한 서비스에 어려움이 있다는 문제점이 있다. 또 다른 방법은 여러 버전으로 인코딩된 비디오 스트림을 준비하고 네트워크 가용 대역폭의 변화에 따라 적절한 데이터율을 갖는 비디오 스트림을 선택하여 전송하는 방법이다. Meanwhile, conventional network state based quality adaptation techniques can be classified into several types. First, in order to transmit data having a data rate suitable for a network state, there is a method of decoding an already encoded video stream and then modifying and transmitting the quantization parameter again. This method has a problem in that the CPU load is large and the service for a large number of clients is difficult in performing decoding and encoding again. Another method is to prepare a video stream encoded in several versions, and select and transmit a video stream having an appropriate data rate according to a change in network available bandwidth.

계층적인 인코딩을 사용하는 방법의 경우에 서버는 계층적으로 인코딩된 비디오 스트림의 다음 상위 레이어를 활성화하거나 활성화되어 있는 상위레이어를 제거하는 방법을 통해 비디오 스트림의 품질을 조절한다.In the case of using hierarchical encoding, the server adjusts the quality of the video stream by activating the next higher layer of the hierarchically encoded video stream or by removing the active upper layer.

인터넷 환경에서 효율적인 비디오 스트리밍을 위해서는 TCP 친화적인 전송률 조절기법만으로는 한계가 있다. 이러한 한계를 극복하기 위하여 TCP 친화적인 전송률에 맞추어 서비스되는 비디오 스트림을 계층적인 인코딩 방식에 기반하여 품질 적응 기법을 적용하여 왔다.For efficient video streaming in the Internet environment, TCP-friendly rate control schemes are limited. In order to overcome this limitation, a quality adaptation scheme has been applied based on a hierarchical encoding scheme for video streams serviced at TCP-friendly rates.

하지만 현실적으로 이러한 계층적인 인코딩 기능을 갖춘 인코더가 거의 없고, 실질적으로 계층적인 인코딩 방식은 스트리밍 어플리케이션에 적용되지 않고 있다.In reality, however, few encoders have such a hierarchical encoding function, and a practical hierarchical encoding method is not applied to a streaming application.

본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로서, 본 발명은 네트워크 상태 기반 적응적인 멀티미디어 데이터 스트리밍 서비스의 품질 적응 기법과 달리 멀티미디어 데이터 스트림의 시간적 확장성(Temporal Scalability), 즉 프레임율 조절을 이용한 품질 적응 기법을 통해 사용자에게 끊김없고 부드러운 스트리밍 서비스를 제공하는 것을 목적으로 한다.The present invention has been made to solve the above problems, and the present invention, unlike network quality-based adaptive multimedia data streaming service quality adaptation technique, the temporal scalability (ie, frame rate control) of the multimedia data stream It aims to provide seamless and smooth streaming service to users through quality adaptation techniques.

또한, 네트워크 상태 정보를 이용하여 TCP 친화적인 전송률을 계산하고 이를 기반으로 인코딩된 비디오 스트림의 품질을 결정함으로써 네트워크의 안정성과 TCP의 친화성을 향상시킬뿐만아니라 클라이언트의 버퍼상태를 판단하여 멀티미디어 데이터 스트림의 서비스 품질을 부드럽게 조절하여 보다 고품질의 스트리밍 서비스를 제공하는 것을 목적으로 한다.In addition, by calculating the TCP-friendly data rate using the network state information and determining the quality of the encoded video stream based on this, it improves the stability of the network and the affinity of TCP, and determines the buffer status of the client to determine the multimedia data stream. Its purpose is to provide a higher quality streaming service by gently adjusting the quality of service.

또한, 계층적으로 인코딩된 비디오 스트림을 기반으로 하는 품질 적응적 비디오 스트림 제어 방법이 아닌 MPEG 압축 표준에서 일반적으로 소개되어 있는 압축된 멀티미디어 데이터 스트림의 시간적 확장성과 버퍼 상태 판단을 통한 품질 적응적 스트리밍 방법을 제공함으로 목적으로 한다.Also, it is not a quality adaptive video stream control method based on hierarchically encoded video streams, but quality adaptive streaming method through temporal scalability and buffer status judgment of compressed multimedia data streams generally introduced in MPEG compression standard. By providing

또한, 버퍼상태 판단을 위해 별도의 제어메시지의 수신이 필요하지 않도록 하여 추가적인 오버헤드가 발생하지 않도록 하면서도 정확하게 버퍼상태를 판단할 수 있도록 함을 목적으로 한다.In addition, it is an object of the present invention to accurately determine the buffer state while avoiding additional overhead by eliminating a separate control message for determining the buffer state.

상기의 목적을 달성하기 위한 본 발명의 품질 적응적 멀티미디어 데이터 스트리밍 서버는 전송하고자 하는 멀티미디어 데이터를 적어도 2 이상의 프레임 타입 중 어느 하나의 프레임 타입을 갖는 멀티미디어 데이터 프레임으로 인코딩하는 인코더와, 클라이언트 단말의 버퍼에 버퍼링된 데이터량의 추정값을 계산하고, 계산된 추정값에 의해 특정시점에서의 상기 클라이언트 단말의 버퍼 상태를 판단하는 버퍼상태판단모듈과, 피드백 메시지 정보를 통해 TCP 트래픽의 평균 전송률을 계산하고, TCP 트래픽의 평균 전송률에 의거하여 클라이언트 단말로 전송할 멀티미디어 데이터 스트림의 전송률을 산출하는 전송률산출모듈과, 피드백 메시지 정보를 통해 네트워크 상태를 판단하는 네트워크상태판단모듈과, 인코딩된 멀티미디어 데이터 프레임 중 상기 클라이언트 단말로 전송할 일부 멀티미디어 데이터 프레임을 활성화시키고, 클라이언트 단말의 버퍼 상태 또는 네트워크 상태에 따라 활성화된 멀티미디어 데이터 프레임 수를 조절하며, 상기 활성화된 멀티미디어 데이터 프레임 수를 이용하여 각각의 프레임 타입별로 가용 대역폭을 계산하는 품질적응모듈을 포함하여 이루어질 수 있다.In order to achieve the above object, a quality adaptive multimedia data streaming server of the present invention includes an encoder for encoding multimedia data to be transmitted into a multimedia data frame having any one of at least two frame types, and a buffer of a client terminal. A buffer state determination module that calculates an estimated value of the amount of data buffered at &lt; RTI ID = 0.0 &gt; and &lt; / RTI &gt; A transmission rate calculation module for calculating a transmission rate of a multimedia data stream to be transmitted to a client terminal based on an average transmission rate of traffic, a network status determination module for determining a network state through feedback message information, and among the encoded multimedia data frames Activate some multimedia data frames to be transmitted to the client terminal, adjust the number of activated multimedia data frames according to the buffer state or the network state of the client terminal, and use the available multimedia data frames to adjust the available bandwidth for each frame type. It can be made by including a quality adaptation module to calculate.

또한 전술한 구성에서, 품질적응모듈은, 버퍼상태판단모듈이 클라이언트 단말의 버퍼 상태를 판단한 결과 상기 클라이언트 단말의 버퍼가 언더플로(Underflow) 될 것으로 판단되는 경우 상기 활성화된 멀티미디어 데이터 프레임 수를 감소시키고, 상기 클라이언트 단말의 버퍼가 오버플로(Overflow) 될 것으로 판단되는 경우 상기 인코딩된 멀티미디어 데이터 프레임 중 일부를 추가로 활성화하여 활성화된 멀티미디어 데이터 프레임 수를 증가시킬 수 있다.Also, in the above-described configuration, the quality adaptation module reduces the number of activated multimedia data frames when the buffer status determination module determines that the buffer of the client terminal is underflowed as a result of determining the buffer status of the client terminal. When it is determined that the buffer of the client terminal is to be overflowed, the number of activated multimedia data frames may be increased by additionally activating a part of the encoded multimedia data frames.

또한 전술한 구성에서, 네트워크상태판단모듈이 네트워크 상태가 혼잡상태인 것으로 판단하는 경우, 품질적응모듈은, 각각의 프레임 타입별로 계산된 가용 대역폭에 따라 각각의 프레임 타입별로 활성화된 멀티미디어 데이터 프레임의 전송률을 제어할 수 있다.In addition, in the above-described configuration, when the network state determination module determines that the network state is congested, the quality adaptation module transmits the transmission rate of the multimedia data frame activated for each frame type according to the available bandwidth calculated for each frame type. Can be controlled.

또한 전술한 구성에서, 네트워크상태판단모듈이 네트워크 상태가 안정상태인 것으로 판단하는 경우, 품질적응모듈은 경쟁하는 트래픽과의 대역폭 경쟁을 위해 멀티미디어 데이터 스트림의 전송률을 소정의 크기만큼 증가시킬 수 있다.In addition, in the above-described configuration, when the network state determination module determines that the network state is stable, the quality adaptation module may increase the transmission rate of the multimedia data stream by a predetermined size to contend for bandwidth with contention traffic.

또한 전술한 구성에서, 네트워크상태판단모듈이 네트워크 상태가 안정상태인 것으로 판단하는 경우, 품질적응모듈은 가용 대역폭의 여유가 있는 지를 판단하여, 여유가 있는 경우에는 상기 인코딩된 멀티미디어 데이터 프레임 중 일부를 추가로 활성화함으로써 활성화된 멀티미디어 데이터 프레임 수를 증가시킬 수 있다.In addition, in the above-described configuration, when the network state determination module determines that the network state is stable, the quality adaptation module determines whether there is a margin of available bandwidth, and when there is a margin, a part of the encoded multimedia data frame is discarded. By further activating, the number of activated multimedia data frames can be increased.

또한 전술한 구성에서, 증가되는 멀티미디어 데이터 스트림의 전송률의 크기는 같은 네트워크 조건에서 경쟁하는 TCP 트래픽의 전송률 증가분을 초과하지 않는 것을 특징으로 할 수 있다.In addition, in the above-described configuration, the size of the transmission rate of the increased multimedia data stream may be characterized in that it does not exceed the transmission rate increase of TCP traffic competing under the same network conditions.

또한 전술한 구성에서, 버퍼상태판단모듈은, 활성화된 멀티미디어 데이터 프레임 수에 변동이 있는 경우 변동된 멀티미디어 데이터 프레임 수를 기반으로 다음 주기에서의 클라이언트 단말의 버퍼 상태를 다시 판단할 수 있다.In addition, in the above-described configuration, when there is a change in the number of activated multimedia data frames, the buffer state determination module may determine the buffer state of the client terminal again in the next period based on the changed number of multimedia data frames.

또한 전술한 구성에서, 품질적응모듈은 클라이언트 단말의 버퍼에 버퍼링된 GOP(Group of Pictures)의 수(ΔGOP)를 계산하고, 클라이언트 단말의 버퍼에 버퍼링된 GOP의 수(ΔGOP)를 각각 소정의 최소 문턱치(ΔMIN) 및 최대 문턱치(ΔMAX)와 비교 함으로써 버퍼의 언더플로 및 오버플로 발생 가능성 여부를 판단할 수 있다.In addition, in the above-described configuration, the quality adaptation module calculates the number of group of pictures ( GOP ) buffered in the buffer of the client terminal (Δ GOP ), and respectively determines the number of GOPs buffered in the buffer of the client terminal (Δ GOP ). By comparing the minimum threshold value Δ MIN and the maximum threshold value Δ MAX with, it is possible to determine whether the buffer is likely to underflow and overflow.

또한 전술한 구성에서, 품질적응모듈은 하기의 수학식7 내지 9에 표현된 조건들에 따라 활성화된 멀티미디어 데이터 프레임 수의 조절 여부를 결정할 수 있다.In addition, in the above-described configuration, the quality adaptation module may determine whether to adjust the number of activated multimedia data frames according to the conditions expressed in Equations 7 to 9 below.

<수학식7><Equation 7>

Figure 112009033888238-pat00002
,
Figure 112009033888238-pat00002
,

<수학식8><Equation 8>

Figure 112009033888238-pat00003
,
Figure 112009033888238-pat00003
,

<수학식9><Equation 9>

Figure 112009033888238-pat00004
Figure 112009033888238-pat00004

또한 전술한 구성에서, 버퍼상태판단모듈은 하기의 수학식3에 의해 산출된 값을 이용하여 클라이언트 단말의 버퍼상태를 판단할 수 있다.In addition, in the above-described configuration, the buffer status determination module may determine the buffer status of the client terminal using the value calculated by Equation 3 below.

<수학식3><Equation 3>

Figure 112009033888238-pat00005
Figure 112009033888238-pat00005

Figure 112009033888238-pat00006
Figure 112009033888238-pat00006

Figure 112009033888238-pat00007
Figure 112009033888238-pat00007

또한, 본 발명의 품질 적응적 멀티미디어 데이터 스트리밍 방법은, 클라이언트 단말로부터 주기적으로 네트워크 상태 정보를 포함하는 피드백 메시지를 수신하는 단계와, 클라이언트 단말의 버퍼에 버퍼링된 데이터량을 판단하여 특정 시점에서의 클라이언트 단말의 버퍼 상태를 판단하고, 버퍼의 언더플로(Underflow) 또는 오버플로(Overflow)의 발생 가능성을 판단하는 단계와, 언더플로 또는 오버플로의 발생 가능성 판단 결과 언더플로 또는 오버플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임 수를 조절하는 단계를 포함하여 이루어질 수 있다.In addition, the quality adaptive multimedia data streaming method of the present invention comprises the steps of periodically receiving a feedback message including network state information from the client terminal, and determines the amount of data buffered in the buffer of the client terminal client at a specific time Determining the buffer state of the terminal, and determining the possibility of occurrence of the underflow (overflow) or overflow (Overflow) of the buffer, and as a result of the determination of the possibility of underflow or overflow is determined that the overflow or overflow will occur In this case, the method may include adjusting the number of activated multimedia data frames.

또한, 전술한 구성에서, 활성화된 멀티미디어 데이터 프레임 수를 조절하는 단계를 수행한 후, 피드백 메시지를 이용하여 네트워크 상태가 혼잡상태인지 안정상태인지를 판단하는 네트워크상태판단단계를 더 포함하여 이루어질 수 있다.In addition, in the above configuration, after performing the step of adjusting the number of activated multimedia data frames, it may further comprise a network state determination step of determining whether the network state is congested or stable state using a feedback message. .

또한, 전술한 구성에서, 네트워크 상태가 안정상태로 판단된 경우, 경쟁 트래픽과의 대역폭 경쟁을 위하여 전송률을 소정의 크기만큼 증가시킬 수 있다.In addition, in the above-described configuration, when it is determined that the network state is stable, the transmission rate may be increased by a predetermined size for bandwidth competition with contention traffic.

또한, 전술한 구성에서, 네트워크 상태가 안정상태로 판단된 경우, 가용 대역폭에 여유가 있는지를 판단하여 가용 대역폭의 여유가 있는 경우 활성화된 멀티미디어 데이터 프레임의 수를 증가시킬 수 있다.In addition, in the above-described configuration, when it is determined that the network state is stable, it is determined whether there is a margin in the available bandwidth, and when the available bandwidth is available, the number of activated multimedia data frames can be increased.

또한, 전술한 구성에서, 네트워크 상태가 혼잡상태로 판단된 경우, TCP 트래픽의 평균 전송률을 상기 피드백 메시지 정보를 활용하여 산출하고, TCP 트래픽의 평균 전송률에 따라 멀티미디어 데이터 스트림의 전송률을 산출하며, 전송할 멀티미디어 데이터 프레임에 대하여 멀티미디어 데이터 스트림의 전송률을 이용하여 각 프레임 타입별로 가용 대역폭을 할당하고 각 프레임 타입별 전송률을 조절할 수 있다.In addition, in the above-described configuration, when it is determined that the network state is congested, the average transmission rate of TCP traffic is calculated using the feedback message information, and the transmission rate of the multimedia data stream is calculated and transmitted according to the average transmission rate of TCP traffic. For a multimedia data frame, an available bandwidth may be allocated for each frame type and the transmission rate for each frame type may be adjusted by using a data rate of the multimedia data stream.

또한, 전술한 구성에서, 버퍼의 언더플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임의 수를 감소시키고, 버퍼의 오버플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임의 수를 증가시킬 수 있다.In addition, in the above-described configuration, it is possible to reduce the number of activated multimedia data frames when it is determined that an underflow of the buffer occurs, and to increase the number of activated multimedia data frames when it is determined that an overflow of the buffer occurs. .

또한, 전술한 구성에서, TCP 트래픽의 평균 전송률은 하기의 수학식10에 의해 산출된 패킷 손실률을 이용하여 산출될 수 있다.In addition, in the above-described configuration, the average transmission rate of the TCP traffic may be calculated using the packet loss rate calculated by Equation 10 below.

<수학식10><Equation 10>

Figure 112009052427799-pat00061
Figure 112009052427799-pat00061

또한, 전술한 구성에서, 활성화된 멀티미디어 데이터 프레임의 수에 변동이 있는 경우, 버퍼 상태를 다시 판단하는 단계를 더 포함할 수 있다.In addition, in the above-described configuration, when there is a change in the number of activated multimedia data frames, the method may further include determining a buffer state.

본 발명에 따르면 네트워크의 안정성이 향상됨과 동시에 시간적 확장성을 이용한 네트워크 상태 적응적인 품질 변화를 통해 사용자에게 향상된 QoS를 제공하며 끊김없는 부드러운 스트리밍 서비스를 제공할 수 있는 효과가 있다.According to the present invention, the stability of the network is improved, and the QoS can be provided to the user through the network state adaptive quality change using temporal scalability, thereby providing a seamless smooth streaming service.

또한, 네트워크 상태 정보를 이용하여 TCP 친화적인 전송률을 계산하고 이를 기반으로 인코딩된 비디오 스트림의 품질을 결정함으로써 네트워크의 안정성과 TCP의 친화성을 향상시킬뿐만아니라 클라이언트의 버퍼상태를 판단하여 멀티미디어 데이터 스트림의 서비스 품질을 부드럽게 조절하여 보다 고품질의 스트리밍 서비스를 제공할 수 있는 효과가 있다.In addition, by calculating the TCP-friendly data rate using the network state information and determining the quality of the encoded video stream based on this, it improves the stability of the network and the affinity of TCP, and determines the buffer status of the client to determine the multimedia data stream. By smoothly adjusting the service quality of the service, it is possible to provide a higher quality streaming service.

또한, 계층적으로 인코딩된 비디오 스트림을 기반으로 하는 품질 적응적 비디오 스트림 제어 방법이 아닌 MPEG 압축 표준에서 일반적으로 소개되어 있는 압축된 멀티미디어 데이터 스트림 자체를 이용하여 시간적 확장성과 버퍼 상태 판단을 통한 품질 적응적 스트리밍 방법을 제공할 수 있는 효과가 있다.In addition, quality adaptation through temporal scalability and buffer status determination using the compressed multimedia data stream itself, which is generally introduced in the MPEG compression standard, rather than a quality adaptive video stream control method based on hierarchically encoded video streams. There is an effect that can provide an enemy streaming method.

또한, 버퍼상태 판단을 위해 별도의 제어메시지의 수신이 필요하지 않아 추가적인 오버헤드가 발생하지 않고 시스템 자원을 보다 효율적으로 사용할 수 있도록 하면서도 정확하게 버퍼상태를 판단할 수 있는 효과가 있다.In addition, it is not necessary to receive a separate control message for determining the buffer state, so that an additional overhead does not occur and system resources can be used more efficiently, but the buffer state can be accurately determined.

도 1은 본 발명의 일 실시예에 따른 품질 적응적 스트리밍 서버와 클라이언트 단말의 구조를 도시한 것이다.1 illustrates the structure of a quality adaptive streaming server and a client terminal according to an embodiment of the present invention.

도 1에 도시된 바와 같이, 품질 적응적 스트리밍 시스템은 스트리밍 서버(100)와 클라이언트 단말(200) 그리고, 인터넷과 같은 스트리밍 서버(100)와 클라이언트 단말(200) 간의 통신망을 포함하여 이루어질 수 있다.As illustrated in FIG. 1, the quality adaptive streaming system may include a streaming server 100 and a client terminal 200, and a communication network between the streaming server 100, such as the Internet, and the client terminal 200.

스트리밍 서버(100)는 멀티미디어 데이터를 인코딩하는 인코더(110), 인코딩 된 멀티미디어 데이터를 저장하는 메모리(120), 클라이언트 단말(200)의 버퍼(210) 상태를 판단하는 버퍼상태판단모듈(130), 네트워크 상태가 혼잡상태인지를 판단하는 네트워크상태판단모듈(140), 클라이언트 단말에서 주기적으로 송신하는 피드백 메시지 정보를 통해 TCP 트래픽의 평균 전송률을 산출하고, 산출된 TCP 트래픽의 평균전송률 이하가 되도록 멀티미디어 데이터 스트림의 전송률을 산출하는 전송률산출모듈(150), 네트워크 상태 및 클라이언트 단말의 버퍼상태 등에 따라 인코딩된 멀티미디어 데이터의 활성 프레임 수를 조절하고 가용 대역폭을 할당하여 전송률을 제어하는 품질적응모듈(160)을 포함하여 이루어질 수 있다.The streaming server 100 may include an encoder 110 for encoding multimedia data, a memory 120 for storing the encoded multimedia data, a buffer state determination module 130 for determining a state of the buffer 210 of the client terminal 200, The network state determination module 140 that determines whether the network state is congested, calculates an average transmission rate of TCP traffic through feedback message information periodically transmitted from a client terminal, and multimedia data to be equal to or less than the calculated average transmission rate of TCP traffic. The rate calculation module 150 for calculating the transmission rate of the stream, the quality adaptation module 160 for controlling the transmission rate by adjusting the active frame number of the encoded multimedia data according to the network state and the buffer state of the client terminal and allocating available bandwidth It can be made, including.

또한, 클라이언트 단말(200)은 스트리밍 서비스를 위해 수신된 멀티미디어 데이터를 버퍼링하는 버퍼(210), 인코딩된 멀티미디어 데이터를 디코딩하는 디코더(220), 디코딩된 멀티미디어 데이터를 출력하는 출력부(230)를 포함하여 이루어질 수 있다.In addition, the client terminal 200 includes a buffer 210 for buffering the received multimedia data for the streaming service, a decoder 220 for decoding the encoded multimedia data, and an output unit 230 for outputting the decoded multimedia data. It can be done by.

사용자로부터 서비스 요청될 멀티미디어 데이터 스트림은 MPEG 계열 방식과 같은 압축 기술을 통해 일정 프레임율을 갖도록 인코딩되어 스트리밍 서버(100)에 저장된다. 전송프로토콜이 가지는 혼잡제어 메커니즘에 따라 현재 네트워크 상태를 기반으로 스트리밍 서버는 TCP 친화적인 전송률을 계산하며, TCP 친화적인 전송률에 따라 적합한 분량만큼 활성화(Active)되어 있는 데이터 프레임들은 전송세션으로 클라이언트 단말(200)에 전달된다.The multimedia data stream to be serviced from the user is encoded to have a certain frame rate through a compression technique such as MPEG-based scheme and stored in the streaming server 100. According to the congestion control mechanism of the transport protocol, the streaming server calculates the TCP-friendly transmission rate based on the current network state, and the data frames that are active for the appropriate amount according to the TCP-friendly transmission rate are the client sessions (transmission sessions). 200).

한편, 클라이언트는 상기 스트리밍 서버가 송신한 데이터 프레임을 수신하여 해당 타입별로 구분된 버퍼(210)들에 버퍼링시키며, 디코더(220)는 버퍼링된 데이터들을 디코딩하여 출력함으로써 최종적으로 수신된 프레임을 소비하게 된다.Meanwhile, the client receives the data frame transmitted by the streaming server and buffers the data in buffers 210 classified by the type, and the decoder 220 decodes and outputs the buffered data to consume the finally received frame. do.

인코딩된 멀티미디어 데이터 스트림의 타입은 I,P,B 프레임의 세 가지 타입으로 구분된다. 프레임은 영상 데이터 스트림의 기본 구성단위로서, 가까운 2개의 I 프레임 사이에 존재하는 프레임들은 하나의 GOP(Group of Pictures)를 구성하며, 이러한 GOP는 두 개의 I 프레임 사이에 존재하는 P 프레임의 수와, 두 개의 P 프레임 사이에 존재하는 B 프레임의 수를 파라미터로 갖는다. 각 프레임 타입별로 각기 다른 데이터 크기를 갖는다.Types of encoded multimedia data streams are classified into three types: I, P, and B frames. A frame is a basic structural unit of an image data stream. Frames existing between two adjacent I frames constitute a group of pictures (GOPs), and these GOPs correspond to the number of P frames existing between two I frames. The parameter has the number of B frames existing between two P frames. Each frame type has a different data size.

GOP 순열 GOP permutation I-B-B-P-B-B-P-B-B-P I-B-B-P-B-B-P-B-B-P 프레임율 Frame rate 25fps 25 fps 인코딩 데이터율 Encoding data rate 1.4Mbps 1.4 Mbps 프레임 타입 Frame type I 프레임 I frame P 프레임 P frame B 프레임 B frame GOP 당 프레임 수 Frames per GOP 1 One 3 3 6 6 프레임 크기(bytes) Frame size (bytes) 25K 25K 10K 10K 2.5K 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율을 갖는다는 것을 알 수 있다.Table 1 is for explaining the characteristics of the multimedia data stream by way of example. The characteristics of the multimedia data stream will be described with reference to Table 1 above. One GOP includes one I frame, three P frames, and six B frames. Here, three P frames are included between I frames, and two B frames are configured to include two P frames. One GOP consists of a total of 10 frames and has a frame rate of 25 fps, so 25 frames per second. Thus, it can be seen that one GOP has 10 frames and thus has a 2.5 GOP rate per second.

프레임의 데이터 크기는 프레임 타입별로 다른데 하나의 GOP의 크기를 구하면 (25+30+15)K, 즉, 70K바이트임을 알 수 있다. 초당 GOP율이 2.5이므로 인코딩 데이터율을 산출하면 70K*2.5는 175K (바이트/초)이고, 175K*8 = 1.4Mbps의 인코딩 데이터율을 갖는다는 것을 알 수 있다.The data size of the frame is different for each frame type. If the size of one GOP is obtained, it can be seen that it is (25 + 30 + 15) K, that is, 70K bytes. Since the GOP rate per second is 2.5, calculating the encoding data rate shows that 70K * 2.5 is 175K (byte / sec) and has an encoding data rate of 175K * 8 = 1.4Mbps.

다음으로, 품질 적응적 멀티미디어 데이터 스트림 전송 제어 방법을 설명하기 위하여 필요한 용어 정의는 다음과 같다.Next, term definitions necessary to describe a quality adaptive multimedia data stream transmission control method are as follows.

다 음                             next

Bk; K 프레임 하나의 바이트 수(K 프레임의 크기), 여기서

Figure 112009033888238-pat00009
B k ; Number of bytes in one K frame (size of K frames), where
Figure 112009033888238-pat00009

오리지널 인코딩된 데이터 스트림(Originally encoded data stream):Originally encoded data stream:

NFk; K 프레임의 수NF k ; Number of K frames

하나의 GOP 내의 프레임 수; NFGOP = NFI + NFP + NFB The number of frames in one GOP; NF GOP = NF I + NF P + NF B

하나의 GOP의 바이트 수; BGOP = NFI*BI + NFP*BP + NFB*BB The number of bytes in one GOP; B GOP = NF I * B I + NF P * B P + NF B * B B

인코딩된 프레임의 초당 프레임율; FRGOP Frame rate per second of encoded frames; FR GOP

적응적 데이터 스트림(Adaptive data stream):Adaptive data stream:

α,β,γ; 각각 활성화된 I, P, B 프레임 수α, β, γ; Number of I, P, and B frames each active

활성화된 하나의 GOP 내의 프레임 수; NFACTIVE = α + β + γThe number of frames in one active GOP; NF ACTIVE = α + β + γ

활성화된 하나의 GOP의 바이트 수; BACTIVE = α*BI + β*BP + γ*BB Number of bytes of one GOP activated; B ACTIVE = α * B I + β * B P + γ * B B

활성화된 프레임의 초당 프레임율; FRACTIVE Frame rate per second of active frames; FR ACTIVE

여기서 오리지널 인코딩된 데이터 스트림은 인코딩되고 바로 스트리밍 서버(100)의 메모리(120)에 저장된 멀티미디어 데이터 스트림을 의미하고, 적응적 데이터 스트림은 품질 적응 기법이 적용되어 실제로 클라이언트 단말(200)로 전송될 활성화된 데이터 스트림을 의미한다. 그러므로, 적응적 데이터 스트림의 활성 프레임 수는 오리지널 인코딩된 데이터 스트림의 프레임 수보다 작거나 같게 된다.(

Figure 112009033888238-pat00010
)Here, the original encoded data stream refers to a multimedia data stream encoded and immediately stored in the memory 120 of the streaming server 100, and the adaptive data stream is activated to be transmitted to the client terminal 200 by applying a quality adaptation technique. Means a data stream. Therefore, the number of active frames of the adaptive data stream is less than or equal to the number of frames of the original encoded data stream.
Figure 112009033888238-pat00010
)

멀티미디어 데이터 스트림을 전송하고 혼잡제어를 수행하는 메커니즘은 TCP 친화적인 전송률 제어를 포함하는데, 위 TCP 친화적인 전송률 제어는 RTP 프로토콜 기반의 TCP 친화적인 전송률 제어 방법을 사용할 수 있다.The mechanism for transmitting the multimedia data stream and performing congestion control includes TCP friendly rate control. The TCP friendly rate control may use a TCP friendly rate control method based on the RTP protocol.

네트워크 상태 정보는 클라이언트 단말(200)로부터 주기적으로 전송되는 제어 프로토콜인 RTCP(Real-time Transport Control Protocol)를 통해 스트리밍 서버(100)측에 통보된다. 주기적으로 피드백되는 전송간 지연(RTT)과 패킷 손실률을 이용하여 스트리밍 서버(100)의 전송률산출모듈(150)은 현재 네트워크 상태에 기반한 TCP 친화적인 전송률을 계산할 수 있다. 전송률산출모듈(150)에서 계산된 TCP 친화적인 전송률은 품질적응모듈(160)로 전달된다.The network state information is notified to the streaming server 100 through the Real-time Transport Control Protocol (RTCP), which is a control protocol periodically transmitted from the client terminal 200. The transmission rate calculation module 150 of the streaming server 100 may calculate a TCP-friendly transmission rate based on the current network state by using the intermittent delay (RTT) and packet loss rate that are periodically fed back. The TCP friendly transfer rate calculated by the rate calculation module 150 is transmitted to the quality adaptation module 160.

고품질의 스트리밍 서비스를 제공하기 위해서는 클라이언트 단말(200)의 버퍼상태 정보가 필요하다. 버퍼상태 정보는 추가적인 제어메시지를 이용하여 클라이언트 단말(200)이 스트리밍 서버(100)측으로 전송할 수 있지만 이러한 방법은 제어 메시지의 주기적 전송에 따른 오버헤드가 있다는 문제와 과거의 버퍼상태에 대한 정보를 전달한다는 문제점이 있다.In order to provide a high quality streaming service, buffer status information of the client terminal 200 is required. The buffer status information may be transmitted to the streaming server 100 by the client terminal 200 using an additional control message. However, this method transmits information on the past buffer status and the problem that there is overhead due to the periodic transmission of the control message. There is a problem.

따라서, 버퍼상태판단모듈(130)을 통해 스트리밍 서버(100)측에서 클라이언트 단말(200)의 버퍼상태를 판단하는 방법을 사용할 수 있다. 버퍼상태 판단에 대한 자세한 내용은 추후 후술하기로 한다.Accordingly, a method of determining the buffer status of the client terminal 200 may be used at the streaming server 100 through the buffer status determination module 130. Details of the buffer state determination will be described later.

품질적응모듈(160)은 전달받은 TCP 친화적인 전송률과 버퍼상태판단모듈(130)로부터 전달받은 클라이언트 단말의 버퍼상태판단을 기반으로, 하나의 GOP 내에서 전송할 프레임 수를 결정하여 활성화하고 각각의 활성화된 프레임에 대하여 적절한 대역폭을 할당한다. 클라이언트의 버퍼 상태는 다음 주기에서의 전송률과 각각의 프레임별 대역폭 할당 정보를 기반으로 판단하게되며 버퍼 상태 판단 방법은 전술한 바와 같다.The quality adaptation module 160 determines and activates the number of frames to be transmitted in one GOP based on the received TCP friendly transmission rate and the buffer status determination of the client terminal received from the buffer status determination module 130. Allocate appropriate bandwidth for dropped frames. The buffer status of the client is determined based on the transmission rate in the next period and bandwidth allocation information for each frame, and the buffer status determination method is as described above.

품질적응모듈(160)은 인코딩된 데이터 스트림의 데이터율이 현재 네트워크의 가용대역폭보다 크거나 작을 경우에 동작한다. 품질적응모듈(160)은 전송률산출모듈(150)로부터 전달받은 TCP 친화적인 전송률에 적합하도록 GOP 내의 활성프레임 수를 증가 또는 감소시키면서 스트리밍 서비스의 품질과 전송률을 조절한다.The quality adaptation module 160 operates when the data rate of the encoded data stream is greater than or less than the available bandwidth of the current network. The quality adaptation module 160 adjusts the quality and transmission rate of the streaming service while increasing or decreasing the number of active frames in the GOP to suit the TCP friendly transmission rate received from the rate calculation module 150.

도 2는 본 발명의 일실시예에 따른 품질적응적 스트리밍 시스템에 포함되는 스트리밍 서버에서의 각 프레임 타입별 대역폭 할당과 클라이언트측에서의 데이터 버퍼링 상태정보를 도시한 것이다.2 illustrates bandwidth allocation for each frame type and data buffering state information at the client side in a streaming server included in a quality adaptive streaming system according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 스트리밍 서버는 인코딩된 데이터를 계산된 TCP 친화적인 전송률과 네트워크 상태 정보에 따라 각각의 프레임 타입별로 전송할 프레임을 활성화하여 전송한다. 여기서 X(t)는 임의의 시간 t에서 산출된 TCP 친화적인 전송률을 의미하고, 스트리밍 서버는 멀티미디어 데이터 스트림을 구성하는 I,P,B 프레임을 주어진 전송률에 맞추어 전송한다. 만일 네트워크 상태가 혼잡하여 가용 대역폭이 인코딩된 데이터 스트림의 전체 프레임을 수용할 수 없을 경우, 품질적응모듈은 TCP 친화적인 전송률에 근거하여 하나의 GOP 내에서의 활성 프레임 수를 결정하고, 가용대역폭(Actual bandwidth) XGOP 내에서 각 프레임별로 대역폭을 할당한다. 여기서, XI ,XP ,XB 는 각각 I,P,B 프레임 별로 할당된 대역폭을 의미하며, 활성 프레임 수 결정과 가용대역폭 할당은 하나의 GOP 단위로 수행된다.As shown in FIG. 2, the streaming server activates and transmits a frame to be transmitted for each frame type according to the calculated TCP friendly data rate and network state information. X (t) denotes a TCP-friendly data rate calculated at any time t, and the streaming server transmits I, P, and B frames constituting the multimedia data stream at a given data rate. If the network conditions are congested and the available bandwidth cannot accommodate the entire frame of the encoded data stream, then the quality adaptation module determines the number of active frames in one GOP based on the TCP friendly transfer rate. Actual bandwidth) Allocates bandwidth for each frame within X GOP . Here, X I , X P , and X B denote bandwidths allocated for I, P, and B frames, respectively, and the number of active frames and the allocation of available bandwidth are performed in one GOP unit.

표 2는 인코딩된 데이터 스트림의 기대 대역폭과 적응적 데이터 스트림의 가용 대역폭을 산출하는 수식을 나타낸 것이다.Table 2 shows the equations for calculating the expected bandwidth of the encoded data stream and the available bandwidth of the adaptive data stream.

인코딩된 데이터 스트림(Encoded data stream)Encoded data stream 적응적 데이터 스트림(Adapted data stream)Adaptive data stream 기대 대역폭(Expected bandwidth),

Figure 112009033888238-pat00011
Expected bandwidth,
Figure 112009033888238-pat00011
가용 대역폭(Actual bandwidth),
Figure 112009033888238-pat00012
Available bandwidth,
Figure 112009033888238-pat00012
Figure 112009033888238-pat00013
Figure 112009033888238-pat00014
Figure 112009033888238-pat00015
Figure 112009033888238-pat00016
Figure 112009033888238-pat00013
Figure 112009033888238-pat00014
Figure 112009033888238-pat00015
Figure 112009033888238-pat00016
Figure 112009033888238-pat00017
Figure 112009033888238-pat00018
Figure 112009033888238-pat00019
Figure 112009033888238-pat00020
Figure 112009033888238-pat00017
Figure 112009033888238-pat00018
Figure 112009033888238-pat00019
Figure 112009033888238-pat00020

표 2에서 기대 대역폭(Expected bandwidth) EXGOP 는 오리지널 인코딩된 데이터 스트림 전체 프레임을 전송하는데 필요한 대역폭을 의미한다. 실제 대역폭(Actual bandwidth) XGOP 는 TCP 친화적인 전송률에 따라 품질 적응기법이 적용되어 활성화된 적응적 데이터 스트림에 할당되어야 하는 실제 대역폭을 의미한다.Expected bandwidth in Table 2 EX GOP refers to the bandwidth required to transmit the entire frame of the original encoded data stream. Actual bandwidth X GOP refers to the actual bandwidth that should be allocated to the adaptive data stream applied with quality adaptation technique according to TCP friendly transmission rate.

오리지널 인코딩된 데이터 스트림의 경우, 현재의 가용 대역폭이 인코딩된 데이터 스트림 전체 프레임을 전송할 수 있다면 각 프레임 타입에 할당되는 대역폭(EXI ,EXP ,EXB)의 전체 합 EXGOP 로 기대 대역폭이 할당되고 기대 전송률이 계산될 수 있다. 적응적 데이터 스트림의 경우, 임의의 시간 t에서의 가용 대역폭은 기대 대역폭보다 작은 값을 가지며 산출된 TCP 친화적인 전송률에 적합한 활성 프레임의 수(α,β,γ)에 따라 결정된다. 임의의 시간 t에서의 네트워크 전체 가용 대역폭은 선택된 활성 프레임들의 데이터 크기에 따라 비례적으로 할당되며, 하나의 GOP에 할당되는 가용 대역폭 XGOP 는 각 프레임 타입별로 할당되는 대역폭(XI ,XP ,XB)의 합과 같다.For original encoded data streams, the expected bandwidth is allocated as the total sum EX GOP of the bandwidth (EX I , EX P , EX B ) allocated to each frame type if the current available bandwidth can transmit the entire frame of the encoded data stream. And the expected transfer rate can be calculated. For an adaptive data stream, the available bandwidth at any time t has a value less than the expected bandwidth and is determined by the number of active frames (α, β, γ) suitable for the calculated TCP friendly transfer rate. The total available bandwidth of the network at any time t is proportionally allocated according to the data size of the selected active frames, and the available bandwidth X GOP allocated to one GOP is the bandwidth allocated for each frame type (X I , X P ,). X B )

다음으로 버퍼상태 판단모듈에서 수행되는 버퍼상태 판단방법을 설명하기로 한다.Next, a buffer state determination method performed by the buffer state determination module will be described.

도 2에 도시된 바와 같이, 네트워크 가용 대역폭을 통해 전송된 활성 프레임들은 클라이언트 버퍼에 쌓이며 임의의 시점 t에서의 전체 버퍼링된 데이터량(YT(t))는 하기의 수학식1에 의해 표현될 수 있다.As shown in Fig. 2, active frames transmitted over network available bandwidth are accumulated in the client buffer and the total buffered data amount Y T (t) at any time t is represented by Equation 1 below. Can be.

<수학식1><Equation 1>

Figure 112009033888238-pat00021
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 사이의 시간 간격은 단위시간 간격을 어떻게 설정하느냐에 따라 달라질 수 있다.Total buffered data amount (Y T (t)) at a point t as shown in Equation (1) while the amount of data buffered in the previous time (t-1) (Y T (t-1)) and the unit time The difference between the amount of data sent from the network and the amount of data consumed by the decoder during the unit time
Figure 112009033888238-pat00022
It can be found as the sum of. here,
Figure 112009033888238-pat00023
Is the consumption rate of the data stream stored in the buffer. In addition, the time point t-1 is not necessarily interpreted as meaning one second before the time point t, but may also be interpreted as a time point where the buffer state is determined immediately before the time point t. That is, the time interval between t and t-1 may vary depending on how the unit time interval is set.

또한, 임의의 시점 t에서 각 I,P,B 프레임 별로 버퍼링된 데이터량은 하기의 수학식2와 같이 표현될 수 있다.In addition, the data amount buffered for each I, P, B frame at any time t may be expressed as Equation 2 below.

<수학식2><Equation 2>

Figure 112009033888238-pat00024
Figure 112009033888238-pat00024

Figure 112009033888238-pat00025
Figure 112009033888238-pat00025

Figure 112009033888238-pat00026
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 프레임 별로 디코더에서 소비된 데이터량을 의미한다.Here, the left side of Equation 2 means the amount of data buffered for each I, P, B frame at an arbitrary time point t from the top, and the first term of the right side indicates each I, at time point t-1 from the top. The amount of data buffered for each P or B frame. In addition, the second term of the right side in parentheses indicates the amount of data transmitted for each I, P, and B frame from the time point t-1 to the point in time from the top, and the third term of the right side in parenthesis represents the time point t from the top in order. The amount of data consumed by the decoder for each I, P, B frame from -1 to time t.

하지만, 상기 수학식1과 수학식2의 괄호 안의 값을 실시간으로 정확히 알 수 없기 때문에 각각의 프레임 타입별로 버퍼링된 데이터량의 추정값을 계산하기 위해 하기의 수학식3을 이용한다.However, since the values in parentheses of Equations 1 and 2 are not known in real time, Equation 3 below is used to calculate an estimated value of the amount of data buffered for each frame type.

<수학식3><Equation 3>

Figure 112009033888238-pat00027
Figure 112009033888238-pat00027

Figure 112009033888238-pat00028
Figure 112009033888238-pat00028

Figure 112009033888238-pat00029
Figure 112009033888238-pat00029

버퍼상태 판단을 위해 수학식3에서 계산된 버퍼링된 데이터량의 추정값들을 사용하며 상기 수학식3에서는, 상기 수학식2의 단위시간 동안 전송된 데이터량과 소비된 데이터량을 계산하는 부분을 단위시간 동안 전송되는 GOP 갯수(FRACTIVE/NFACTIVE)에 관한 식으로 치환하였다.Estimates of the buffered data amount calculated in Equation (3) are used to determine the buffer status. The number of GOPs (FR ACTIVE / NF ACTIVE ) transmitted during the process was substituted.

상기 수학식3으로 부터 계산된, 각 프레임 타입별 버퍼링된 데이터량을 기반으로 각 프레임 타입별 버퍼링된 프레임 수(ΔI, ΔP, ΔB) 및 클라이언트 버퍼에 버퍼링된 GOP의 수를 하기의 수학식4와 같이 계산할 수 있다.The number of buffered frames (Δ I , Δ P , Δ B ) for each frame type and the number of GOPs buffered in the client buffer are calculated based on the amount of buffered data for each frame type calculated from Equation 3 below. It can be calculated as in Equation 4.

<수학식4><Equation 4>

Figure 112009033888238-pat00030
Figure 112009033888238-pat00030

Figure 112009033888238-pat00031
Figure 112009033888238-pat00031

Figure 112009033888238-pat00032
Figure 112009033888238-pat00032

Figure 112009033888238-pat00033
Figure 112009033888238-pat00033

즉, 프레임 타입별로 버퍼링된 프레임 수를 하나의 GOP내에서 현재 활성화된 프레임 수인 α,β,γ로 각각 나누어 버퍼링된 GOP의 갯수를 판단할 수 있다. 이는 I,P,B 프레임들이 하나의 GOP를 구성하며 하나의 GOP 내에서 각각의 프레임 들이 상호 의존성을 갖기 때문이다.That is, the number of buffered GOPs may be determined by dividing the number of buffered frames for each frame type by α, β, and γ, which are currently activated frames in one GOP. This is because I, P, and B frames constitute one GOP, and each frame has a mutual dependency in one GOP.

한편, 클라이언트 단말의 버퍼는 데이터 전송 간의 지터를 완화시키고 사용자에게 끊김없는 재생 서비스를 제공하는 역할을 하므로 비디오 스트리밍 어플리케이션에서 필수적으로 사용되고 있다. 만일 클라이언트 단말의 버퍼에 버퍼링된 데이터가 없다면 디코더에 의해 재생할 수 있는 데이터가 없다는 것을 의미하므로, 결과적으로 재생이 중단되는 것과 같은 심각한 스트리밍 품질의 저하를 가져올 수 있다. 반대로 버퍼링된 데이터의 소비속도보다 버퍼로 유입되는 데이터의 유입속도가 높아서 버퍼의 용량을 초과하는 경우에도 스트리밍 서비스의 품질 저하를 가져올 수 있다. 따라서 이러한 버퍼의 언더플로나 오버플로는 스트리밍 서비스 품질의 향상을 위해 반드시 방지해야 하는 요소라고 할 수 있다.On the other hand, the buffer of the client terminal is used in video streaming applications because it serves to mitigate jitter between data transmission and provide a seamless playback service to the user. If there is no buffered data in the buffer of the client terminal, it means that there is no data that can be reproduced by the decoder, and as a result, serious streaming quality degradation such as interruption of playback can be brought about. On the contrary, since the inflow rate of the data flowing into the buffer is higher than the consumption rate of the buffered data, the quality of the streaming service may be degraded even when the capacity of the buffer is exceeded. Therefore, such an overflow or overflow of the buffer must be prevented to improve streaming service quality.

품질적응모듈은 판단되어진 버퍼링된 GOP 수(ΔGOP)를 기반으로 버퍼의 언더플로나 오버플로를 예방할 수 있다. 단위시간 동안 네트워크를 통해 전송되는 GOP 수를 θ라고 하고, 단위시간 동안 디코더에 의해 소비되는 GOP 수를 φ라고 할 때, 전송되는 GOP 수와 버퍼링된 GOP 수의 합(ΔGOP+θ)가 소비되는 GOP 수 보다 크도록 유지하면 버퍼의 언더플로를 예방할 수 있다. 또한, 버퍼링되어 있는 GOP의 수가 클라이언트 단말의 버퍼 크기보다 작을 경우, 버퍼의 오버플로를 예방할 수 있다. 서비스 품질에 큰 영향을 미치지 않는 범위 내에서 언더플로와 오버플로를 예방할 수 있도록 두 기준치인 최소문턱치(ΔMIN)와 최대문턱치(ΔMAX)(Minimum and Maximum Threshold)를 설정할 수 있다. 이를 정리하면 다음과 같다.Quality adaptation module may prevent the determination of the underflow, based on the number of buffered GOP (GOP Δ) or buffer overflow been. When the number of GOPs transmitted through the network during the unit time is θ and the number of GOPs consumed by the decoder during the unit time is φ, the sum of the number of transmitted GOPs and the number of buffered GOPs (Δ GOP + θ) is consumed. Keeping it larger than the number of GOPs allowed will prevent underflow of the buffer. In addition, when the number of buffered GOPs is smaller than the buffer size of the client terminal, overflow of the buffer can be prevented. So that within a range that does not significantly affect the quality of service can prevent underflow and overflow can set two threshold minimum threshold (Δ MIN) and maximum threshold values (Δ MAX) (Minimum and Maximum Threshold). This is summarized as follows.

다 음                              next

1. 언더플로 예방조건1. Underflow prevention condition

(소비되는 GOP 수 + ΔMIN)

Figure 112009033888238-pat00034
(클라이언트 단말버퍼로 전송된 GOP수 + 버퍼링된 GOP 수)(Number of GOP consumed + Δ MIN )
Figure 112009033888238-pat00034
(Number of GOPs sent to client terminal buffer + number of buffered GOPs)

<수학식5><Equation 5>

Figure 112009033888238-pat00035
Figure 112009033888238-pat00035

2. 오버플로 예방조건2. Overflow Prevention Conditions

버퍼링된 GOP 수

Figure 112009033888238-pat00036
ΔMAX Buffered GOP Count
Figure 112009033888238-pat00036
Δ MAX

<수학식6><Equation 6>

Figure 112009033888238-pat00037
Figure 112009033888238-pat00037

여기서, φ와 θ는 각각 아래와 같이 구할 수 있다.Here, φ and θ can be obtained as follows, respectively.

Figure 112009033888238-pat00038
,
Figure 112009033888238-pat00039
Figure 112009033888238-pat00038
,
Figure 112009033888238-pat00039

다음으로, 네트워크 상태에 따른 품질 적응 기법에 대해 설명하기로 한다. 네트워크의 가용 대역폭이 현재 활성 프레임들의 소비율보다 높다면, 스트리밍 서버는 하나의 프레임을 추가로 활성화하여 클라이언트 단말에 전송하는 방법을 고려할 수 있다. 하지만, 이러한 방법은 네트워크 가용 대역폭의 변화를 예측할 수 없으므로 서비스 품질의 변화가 빈번히 발생할 수 있는 문제가 있다.Next, a description will be given of a quality adaptation scheme according to network conditions. If the available bandwidth of the network is higher than the consumption rate of current active frames, the streaming server may consider a method of additionally activating and transmitting one frame to the client terminal. However, such a method cannot predict a change in the available bandwidth of the network, and thus there is a problem that a change in the quality of service may occur frequently.

따라서, 좀 더 품질 변화가 빈번히 일어나지 않고 부드럽게 적용될 수 있도록 현재의 가용 대역폭의 크기가 현재 활성화된 프레임에 하나의 프레임을 추가했을 때의 전체 소비율보다 클 경우에만 새로운 프레임을 추가로 활성화시키는 방법을 사용할 수 있다. 새롭게 추가되는 활성 프레임의 타입은 현재 활성화되어 있는 프레임들에 따라 결정된다. 예를 들어, GOP 내에서 모든 P 프레임이 활성화되어 있지 않은 경우 다음 추가되는 프레임은 다음 P 프레임으로 결정되며, 모든 P 프레임이 이미 활성화되어 있는 경우 B 프레임이 추가 활성화 된다. 즉, P프레임이 먼저 모두 활성화되고 난 후에야 B 프레임이 활성화 된다.Therefore, to make the quality change more frequent and smoother, we use the method of activating additional new frames only if the amount of available bandwidth is larger than the total consumption of adding one frame to the currently active frame. Can be. The type of newly added active frame depends on the currently active frames. For example, if all P frames are not activated in the GOP, the next additional frame is determined as the next P frame. If all P frames are already activated, the B frame is additionally activated. That is, the B frame is activated only after all P frames are activated first.

현재의 가용 대역폭이 하나의 프레임을 추가했을 때의 전체 소비율보다 작을 경우에는 현재의 활성 프레임 수를 유지하고, 남는 대역폭은 현재 활성화된 프레임의 데이터들을 버퍼링하는데 사용된다. 새로운 활성 프레임을 추가하기 위한 조건은 하기의 수학식7에 의해 표현될 수 있다.If the current available bandwidth is less than the total consumption rate of adding one frame, the current active frame number is maintained, and the remaining bandwidth is used to buffer the data of the currently active frame. The condition for adding a new active frame can be expressed by Equation 7 below.

<수학식7><Equation 7>

조건 1:Condition 1:

Figure 112009033888238-pat00040
Figure 112009033888238-pat00040

여기서 좌변은 n번째 GOP를 전송할 때 필요한 가용 대역폭에서 n-1번째 GOP를 전송할 때 필요한 가용 대역폭을 뺀 차를 의미한다. 즉, 이전 GOP에 비해 현재 GOP를 전송할 때 대역폭의 차이(여유분)가 얼마나 있는지를 의미한다. 우변은 각 I,B,P 프레임 하나를 보낼 때 필요한 대역폭을 의미한다. Here, the left side means a difference obtained by subtracting the available bandwidth required for transmitting the n-1th GOP from the available bandwidth required for transmitting the nth GOP. In other words, it means how much bandwidth difference (extra margin) exists when transmitting the current GOP compared to the previous GOP. The right side is the bandwidth required to send one I, B or P frame.

따라서 상기 수학식7은 좌변의 여유대역폭(이전보다 이번에 발생한 여유 대역폭)이 I,P 또는 B 프레임 하나를 보낼 때 필요한 대역폭보다 크거나 같은 경우 하나의 프레임을 더 활성화하여 전송한다는 것을 의미한다.Therefore, Equation (7) means that one frame is activated and transmitted when the free bandwidth of the left side (the free bandwidth generated this time than before) is greater than or equal to the bandwidth required to send one I, P or B frame.

그러나, 클라이언트 단말 버퍼 상태에 대한 고려없이, 수학식7의 조건 1만으로는 품질적응 기법에 문제점이 있다. 현재 활성화된 프레임들을 전송하고 남은 잉여 대역폭들은 활성 프레임들의 데이터 전송과 버퍼링에 사용되는데, 버퍼링 시간이 길어질 경우 버퍼의 오버플로가 발생할 가능성이 있기 때문이다.However, there is a problem in the quality adaptation technique with only condition 1 of Equation 7 without considering the client terminal buffer state. The surplus bandwidth remaining after transmitting the currently active frames is used for data transmission and buffering of active frames, because the buffer overflow may occur if the buffering time becomes long.

따라서, 버퍼의 오버플로가 발생하는 것을 예방하기 위해 아래의 조건 2와 같은 버퍼의 오버플로가 예상될 경우, 스트리밍 서버는 하나의 프레임을 추가로 활성화시킴으로써 버퍼의 오버플로를 예방하고 제공되는 서비스 품질을 높여준다. 이는 프레임율을 높여주면 단위시간 당 소비되는 프레임 수가 증가하게 되며, 결과적으로 클라이언트 버퍼의 점유도가 낮아짐으로써 버퍼의 오버플로를 예방할 수 있게 된다.Therefore, if a buffer overflow is expected, such as condition 2 below, to prevent the overflow of the buffer, the streaming server prevents the buffer overflow by providing one additional frame to activate the buffer. Increase Increasing the frame rate increases the number of frames consumed per unit time. As a result, the occupancy of the client buffer is reduced, thereby preventing the overflow of the buffer.

<수학식8><Equation 8>

조건 2:Condition 2:

Figure 112009033888238-pat00041
Figure 112009033888238-pat00041

반대로, 현재 활성 프레임의 전체 소비율이 가용 대역폭보다 높은 경우에는 활성 프레임의 수를 감소시켜야 한다. 하지만, 가능한 오랫동안 높은 품질의 서비스를 제공하기 위해 가능한 천천히 활성 프레임의 수를 감소시키는 것이 바람직하다. 따라서, 아래의 조건 3을 만족하여 클라이언트 단말 버퍼의 언더플로가 예상될 경우 스트리밍 서버는 현재 활성 프레임의 수를 감소시켜 서비스 품질을 낮추게 된다. 현재의 전송률은 유지하면서 전송되는 활성프레임의 수를 감소시키므로, 단위시간 동안 전송되는 GOP 수는 증가하는 동시에 소비되는 프레임 수는 감소하며, 결과적으로 버퍼의 언더플로를 예방할 수 있다. 활성프레임 수의 감소로 인해 서비스 품질의 저하가 발생하기는 하지만, 네트워크 상태에 적응적으로 대처할 수 있으며, 언더플로로 인한 서비스 중단과 같은 더 큰 문제를 예방하여 끊김없는 서비스를 제공할 수 있다.Conversely, if the total consumption rate of the current active frame is higher than the available bandwidth, the number of active frames should be reduced. However, it is desirable to reduce the number of active frames as slowly as possible to provide high quality service for as long as possible. Therefore, if the client terminal buffer underflow is expected under the condition 3 below, the streaming server reduces the quality of service by reducing the number of currently active frames. Since the number of active frames transmitted is reduced while maintaining the current rate, the number of GOPs transmitted during a unit time increases while the number of frames consumed decreases, thereby preventing underflow of the buffer. Although the quality of service is reduced due to the decrease in the number of active frames, it can cope with the network condition adaptively and can provide a seamless service by preventing more problems such as service interruption due to underflow.

<수학식9><Equation 9>

조건 3:Condition 3:

Figure 112009033888238-pat00042
Figure 112009033888238-pat00042

위에서 설명한 세가지 조건을 만족하지 않는 경우에 스트리밍 서버는 현재의 활성 프레임의 수를 그대로 유지한다. 전송률은 전송률 조절 주기마다 계산된 TCP 친화적인 전송률로 조절되며, 스트리밍 서버는 계산된 가용 대역폭을 위 표 2와 같이 활성화된 프레임 타입별로 공평하게 분배하여 클라이언트 단말측으로 전송한다.If the three conditions described above are not satisfied, the streaming server maintains the current number of active frames. The data rate is controlled by the TCP-friendly data rate calculated for each rate adjustment period, and the streaming server distributes the calculated available bandwidth evenly for each activated frame type as shown in Table 2, and transmits it to the client terminal.

이하에서는 본 발명의 일실시예에 따른 품질 적응적 멀티미디어 데이터 스트리밍 방법에 대해 설명하기로 한다.Hereinafter, a quality adaptive multimedia data streaming method according to an embodiment of the present invention will be described.

도 3은 본 발명의 일실시예에 따른 품질 적응적 멀티미디어 데이터 스트리밍 시스템을 도시한 것이다.3 illustrates a quality adaptive multimedia data streaming system according to an embodiment of the present invention.

품질적응적 멀티미디어 데이터 스트리밍 방법은 TCP 친화적인 전송률 변화와 클라이언트 단말의 버퍼상태 변화 정보를 기반으로 동작한다. 클라이언트 단말은 전송간지연(RTT), 재전송 타임아웃(RTO), 패킷 손실률과 같은 네트워크 상태 정보를 주기적으로 RTCP 메시지(피드백 메시지)를 통해 스트리밍 서버측에 통보하며, 스트리밍 서버는 이러한 네트워크 상태 정보를 이용하여 가용 대역폭, 즉 TCP 친화적인 전송률을 계산한다. 클라이언트 단말 버퍼의 언더플로나 오버플로 예상을 위한 최소, 최대 문턱치는 각각 소정의 시간 간격동안(예컨대 각각 1초 동안) 소비되는 GOP 수와 최대 버퍼링 GOP 수에서 최소 문턱치를 뺀 수로 설정할 수 있다.The quality-adaptive multimedia data streaming method operates on the basis of TCP friendly data rate change and buffer state change information of the client terminal. The client terminal periodically notifies the streaming server side of the network status information such as inter-transmission delay (RTT), retransmission timeout (RTO), and packet loss rate through an RTCP message (feedback message). Calculate the available bandwidth, or TCP friendly rate. The minimum and maximum thresholds for underflow and overflow prediction of the client terminal buffer may be set to the number of GOPs consumed during a predetermined time interval (for example, for 1 second each) minus the minimum threshold from the maximum number of buffered GOPs.

도 4는 본 발명의 일실시예에 따른 품질 적응적 멀티미디어 데이터 스트리밍 방법을 도시한 것이다.4 illustrates a quality adaptive multimedia data streaming method according to an embodiment of the present invention.

도 4에 도시된 바와 같이, 스트리밍 서버가 클라이언트 단말로부터 주기적으로 RTCP 제어 메시지(피드백 메시지)를 수신하면, 스트리밍 서버는 클라이언트 단말의 버퍼상태를 판단한다(S410). 다음으로 스트리밍 서버는 위에서 상술한 조건2와 조건3을 이용하여 버퍼의 언더플로나 오버플로의 발생 가능성을 검사한다(S420). 다음으로 버퍼의 언더플로가 예상되는 경우, 활성 프레임의 수를 감소시켜 언더플로의 발생을 예방하며, 오버플로가 예상되는 경우, 활성 프레임의 수를 증가시켜 오버플로를 예방하게 된다(S430). 다음으로 클라이언트로부터 전달된 네트워크 상태정보를 기반으로 네트워크 상태를 혼잡상태 또는 안정상태로 판단한다(S440). 만일, 네트워크 상태가 안정상태로 판단될 경우, 스트리밍 서버는 경쟁 트래픽과의 대역폭 경쟁을 위해 전송률을 RINC 만큼 증가시키게 된다(S450). 전송률 증가분 RINC 는 같은 네트워크 조건에서 경쟁하는 TCP 트래픽의 전송률 증가분을 초과하지 않는 범위내에서 설정되는 것이 바람직하다. 네트워크 안정상태에서는 추가적으로 위에서 상술한 조건 1을 검사하여 가용 대역폭에 여유가 있는 경우 활성프레임의 수를 증가시킨다(S460). 만일 네트워크 상태가 혼잡상태로 판단될 경우, 스트리밍 서버는 TCP 친화적인 전송률을 RTCP 제어메시지 정보와 저대역 필터링 기법을 통해 산출한다(S455). 네트워크 혼잡상태에서는 계산된 TCP 친화적인 전송률에 따라 각 프레임 타입별로 가용 대역폭을 할당하고 전송률을 조절한다(S465).As shown in FIG. 4, when the streaming server periodically receives an RTCP control message (feedback message) from the client terminal, the streaming server determines a buffer state of the client terminal (S410). Next, the streaming server checks the possibility of underflow or overflow of the buffer using the above-described conditions 2 and 3 (S420). Next, when underflow of the buffer is expected, the occurrence of underflow is prevented by reducing the number of active frames, and when overflow is expected, overflow is prevented by increasing the number of active frames (S430). Next, the network state is determined as a congested state or a stable state based on the network state information transmitted from the client (S440). If it is determined that the network state is stable, the streaming server increases the transmission rate by R INC in order to contend for bandwidth with contention traffic (S450). The rate increase R INC is preferably set within a range not exceeding the rate increase of TCP traffic competing under the same network conditions. In the network stable state, the condition 1 described above is additionally checked to increase the number of active frames if there is room in the available bandwidth (S460). If it is determined that the network condition is congested, the streaming server calculates the TCP friendly transmission rate through the RTCP control message information and the low band filtering technique (S455). In the network congestion state, the available bandwidth is allocated for each frame type and the transmission rate is adjusted according to the calculated TCP friendly transmission rate (S465).

다음으로 상기의 단계들을 마친 후 스트리밍 서버는 다음 RTCP 주기에서의 클라이언트 단말 버퍼 상태 판단의 정확성을 위해 갱신된 프레임율을 기반으로 클라이언트 단말의 버퍼 상태를 다시 판단한다(S470).Next, after completing the above steps, the streaming server re-determines the buffer state of the client terminal based on the updated frame rate for the accuracy of the client terminal buffer state determination in the next RTCP cycle (S470).

한편, 본 발명의 다른 실시예 따른 TCP 평균전송률 산출 방법은 종래의 전송률 변화가 큰 문제점을 개선하기 위해 하기의 수학식에 의해 구할 수 있다.On the other hand, the TCP average rate calculation method according to another embodiment of the present invention can be obtained by the following equation in order to improve the problem of large changes in the conventional rate.

<수학식10><Equation 10>

Figure 112009052427799-pat00062
Figure 112009052427799-pat00062

여기서, Pn은 n번째 RTCP 주기가 끝나고 계산된 패킷손실률을 의미한다.Here, P n means the packet loss rate calculated after the n th RTCP cycle.

NPi는 i번째 RTCP 주기에서 스트리밍 서버가 전송한 패킷 수(Number of Packets)를 의미한다. Li는 i번째 RTCP 주기에서의 손실이벤트(Loss event)의 의미이며, i번째 RTCP 주기에서 손실이벤트가 있는 경우 Li=1이고, i번째 RTCP 주기에서 손실이벤트가 없는 경우 Li=0이 됨을 의미한다. 패킷 손실이벤트가 있다는 것은 해당 RTCP 주기 내에서 적어도 하나이상의 패킷이 손실되어진 경우를 뜻하고, 패킷 손실이벤트가 없다는 것은 해당 RTCP 주기 내에서 하나도 패킷이 손실되지 않은 경우를 뜻하는 것이다.NP i refers to the number of packets transmitted by the streaming server in the i th RTCP period. L i means loss event in the i th RTCP cycle, L i = 1 if there is a loss event in the i th RTCP cycle, and L i = 0 if there is no loss event in the i th RTCP cycle. It means. If there is a packet loss event, at least one packet is lost within the corresponding RTCP period, and if there is no packet loss event, it means that none of the packets are lost within the RTCP period.

따라서, 상기 수학식10의 분모부분의 의미는 1번째 RTCP 주기부터 n번째 RTCP 주기까지 스트리밍 서버가 전송한 패킷 수를 1번째 RTCP 주기부터 n번째 RTCP 주기까지 누적된 손실이벤트 발생 횟수로 나눈 값을 의미한다.Therefore, the denominator of Equation 10 is a value obtained by dividing the number of packets transmitted by the streaming server from the first RTCP cycle to the nth RTCP cycle by the number of lost event occurrences accumulated from the first RTCP cycle to the nth RTCP cycle. it means.

또한 Ln의 경우를 살펴보면, Ln값은 n번째 RTCP 주기에서 패킷 손실이벤트가 있는 경우 Ln=1이고, n번째 RTCP 주기에서 패킷 손실이벤트가 없는 경우 Ln=0이 된다.Also look at the case of L n, L n value if the packet loss events in the n th RTCP interval is L n = 1, n the absence of packet loss events in the second period is the RTCP L n = 0.

상기 수학식10에 의해 TCP 평균전송률을 산출하는 경우 전송률의 변화가 크지 않고 점진적으로 변화하므로 데이터 스트림의 전송률을 안정하게 변화시킬 수 있으면서도 경쟁하는 TCP와의 형평성을 향상시킬 수 있는 장점이 있다.When calculating the average TCP rate according to Equation 10, since the change in the rate is not large but gradually changes, it is possible to stably change the rate of the data stream and improve the fairness with competing TCPs.

이상 첨부된 도면을 참조하여 본 발명의 여러 실시예를 설명하였지만, 상기의 실시예들이 본 발명의 권리범위를 제한하는 것이 아니며 전술한 실시예에 국한되지 않고 본 발명의 기술 사상이 허용하는 범위 내에서 다양하게 변형하여 실시되는 실시범위까지 본 발명의 권리범위가 미친다고 할 것이다.While various embodiments of the present invention have been described above with reference to the accompanying drawings, the above embodiments are not intended to limit the scope of the present invention and are not limited to the above-described embodiments, but are within the scope of the technical spirit of the present invention. It will be said that the scope of the present invention extends to the embodiment to be carried out in various modifications.

도 1은 본 발명의 일 실시예에 따른 품질 적응적 스트리밍 서버와 클라이언트 단말의 구조를 도시한 것이다.1 illustrates the structure of a quality adaptive streaming server and a client terminal according to an embodiment of the present invention.

도 2는 본 발명의 일실시예에 따른 품질적응적 스트리밍 시스템에 포함되는 스트리밍 서버에서의 각 프레임 타입별 대역폭 할당과 클라이언트측에서의 데이터 버퍼링 상태정보를 도시한 것이다.2 illustrates bandwidth allocation for each frame type and data buffering state information at the client side in a streaming server included in a quality adaptive streaming system according to an embodiment of the present invention.

도 3은 본 발명의 일실시예에 따른 품질 적응적 멀티미디어 데이터 스트리밍 시스템을 도시한 것이다.3 illustrates a quality adaptive multimedia data streaming system according to an embodiment of the present invention.

도 4는 본 발명의 일실시예에 따른 품질 적응적 멀티미디어 데이터 스트리밍 방법을 도시한 것이다.4 illustrates a quality adaptive multimedia data streaming method according to an embodiment of the present invention.

<도면의 주요부분에 대한 부호의 설명><Description of the symbols for the main parts of the drawings>

100. 스트리밍 서버 110. 인코더100. Streaming Server 110. Encoder

120. 메모리 130. 버퍼상태판단모듈120. Memory 130. Buffer Status Judgment Module

140. 네트워크상태판단모듈 150. 전송률산출모듈140. Network status judgment module 150. Rate calculation module

160. 품질적응모듈 200. 클라이언트 단말160. Quality adaptation module 200. Client terminal

210. 버퍼 220. 디코더210. Buffer 220. Decoder

230. 출력부230. Output

Claims (18)

클라이언트 단말에게 멀티미디어 데이터 스트림을 전송하고 상기 클라이언트 단말이 전송하는 피드백 메시지를 주기적으로 수신하는 스트리밍 서버에 있어서,A streaming server for transmitting a multimedia data stream to a client terminal and periodically receiving a feedback message transmitted by the client terminal. 전송하고자 하는 멀티미디어 데이터를 적어도 2 이상의 프레임 타입 중 어느 하나의 프레임 타입을 갖는 멀티미디어 데이터 프레임으로 인코딩하는 인코더;An encoder for encoding multimedia data to be transmitted into a multimedia data frame having any one of at least two frame types; 상기 클라이언트 단말의 버퍼에 버퍼링된 데이터량의 추정값을 계산하고, 상기 계산된 추정값에 의해 특정시점에서의 상기 클라이언트 단말의 버퍼 상태를 판단하는 버퍼상태판단모듈;A buffer state determination module that calculates an estimated value of the amount of data buffered in the buffer of the client terminal, and determines the buffer state of the client terminal at a specific time point based on the calculated estimated value; 상기 피드백 메시지 정보를 통해 TCP 트래픽의 평균 전송률을 계산하고, 상기 TCP 트래픽의 평균 전송률에 의거하여 상기 클라이언트 단말로 전송할 멀티미디어 데이터 스트림의 전송률을 산출하는 전송률산출모듈;A rate calculation module for calculating an average rate of TCP traffic based on the feedback message information and calculating a rate of multimedia data stream to be transmitted to the client terminal based on the average rate of TCP traffic; 상기 피드백 메시지 정보를 통해 네트워크 상태를 판단하는 네트워크상태판단모듈; 및A network status determination module for determining a network status based on the feedback message information; And 상기 인코딩된 멀티미디어 데이터 프레임 중 상기 클라이언트 단말로 전송할 일부 멀티미디어 데이터 프레임을 활성화시키고, 상기 클라이언트 단말의 버퍼 상태 또는 상기 네트워크 상태에 따라 활성화된 멀티미디어 데이터 프레임 수를 조절하며, 상기 활성화된 멀티미디어 데이터 프레임 수를 이용하여 각각의 프레임 타입별로 가용 대역폭을 계산하는 품질적응모듈을 포함하여 이루어지는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.Activate some multimedia data frames to be transmitted to the client terminal among the encoded multimedia data frames, adjust the number of activated multimedia data frames according to the buffer state or the network state of the client terminal, and adjust the number of the activated multimedia data frames. Quality adaptive multimedia data streaming server comprising a quality adaptation module for calculating the available bandwidth for each frame type by using. 제 1 항에 있어서, 상기 품질적응모듈은,The method of claim 1, wherein the quality adaptation module, 상기 버퍼상태판단모듈이 상기 클라이언트 단말의 버퍼 상태를 판단한 결과 상기 클라이언트 단말의 버퍼가 언더플로(Underflow) 될 것으로 판단되는 경우 상기 활성화된 멀티미디어 데이터 프레임 수를 감소시키고, 상기 클라이언트 단말의 버퍼가 오버플로(Overflow) 될 것으로 판단되는 경우 상기 인코딩된 멀티미디어 데이터 프레임 중 일부를 추가로 활성화하여 활성화된 멀티미디어 데이터 프레임 수를 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.If the buffer status determining module determines the buffer status of the client terminal to determine that the buffer of the client terminal is to be underflowed, the number of activated multimedia data frames is reduced, and the buffer of the client terminal overflows. And if it is determined to be overflowed, further activates some of the encoded multimedia data frames to increase the number of activated multimedia data frames. 제 2 항에 있어서,The method of claim 2, 상기 네트워크상태판단모듈이 네트워크 상태가 혼잡상태인 것으로 판단하는 경우, 상기 품질적응모듈은, 상기 각각의 프레임 타입별로 계산된 가용 대역폭에 따라 각각의 프레임 타입별로 활성화된 멀티미디어 데이터 프레임의 전송률을 제어하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.When the network state determination module determines that the network state is congested, the quality adaptation module controls the transmission rate of the activated multimedia data frame for each frame type according to the available bandwidth calculated for each frame type. Quality adaptive multimedia data streaming server, characterized in that. 제 2 항에 있어서,The method of claim 2, 상기 네트워크상태판단모듈이 네트워크 상태가 안정상태인 것으로 판단하는 경우, 상기 품질적응모듈은 경쟁하는 트래픽과의 대역폭 경쟁을 위해 상기 멀티미디어 데이터 스트림의 전송률을 소정의 크기만큼 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.If the network state determination module determines that the network state is stable, the quality adaptation module increases the transmission rate of the multimedia data stream by a predetermined size in order to contend for bandwidth with the competing traffic. Ever multimedia data streaming server. 제 4 항에 있어서,The method of claim 4, wherein 상기 네트워크상태판단모듈이 네트워크 상태가 안정상태인 것으로 판단하는 경우, 상기 품질적응모듈은 가용 대역폭의 여유가 있는 지를 판단하여, 여유가 있는 경우에는 상기 인코딩된 멀티미디어 데이터 프레임 중 일부를 추가로 활성화함으로써 활성화된 멀티미디어 데이터 프레임 수를 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.If the network state determination module determines that the network state is stable, the quality adaptation module determines whether there is a margin of available bandwidth, and if there is a margin, additionally activates some of the encoded multimedia data frames. A quality adaptive multimedia data streaming server, characterized by increasing the number of active multimedia data frames. 제 5 항에 있어서,The method of claim 5, wherein 상기 증가되는 멀티미디어 데이터 스트림의 전송률의 크기는 같은 네트워크 조건에서 경쟁하는 TCP 트래픽의 전송률 증가분을 초과하지 않는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.The size of the increased data rate of the multimedia data stream is a quality adaptive multimedia data streaming server, characterized in that does not exceed the rate increase of the TCP traffic competing under the same network conditions. 제 5 항에 있어서,The method of claim 5, wherein 상기 버퍼상태판단모듈은, 활성화된 멀티미디어 데이터 프레임 수에 변동이 있는 경우 상기 변동된 멀티미디어 데이터 프레임 수를 기반으로 다음 주기에서의 상기 클라이언트 단말의 버퍼 상태를 다시 판단하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버. The buffer status determination module, if there is a change in the number of the active multimedia data frame, the quality adaptive multimedia, characterized in that to determine the buffer status of the client terminal in the next period based on the changed number of multimedia data frame Data streaming server. 제 7 항에 있어서,The method of claim 7, wherein 상기 품질적응모듈은 상기 클라이언트 단말의 버퍼에 버퍼링된 GOP(Group of Pictures)의 수(ΔGOP)를 계산하고, 상기 클라이언트 단말의 버퍼에 버퍼링된 GOP의 수(ΔGOP)를 각각 소정의 최소 문턱치(ΔMIN) 및 최대 문턱치(ΔMAX)와 비교함으로써 상기 버퍼의 언더플로 및 오버플로의 발생 가능성을 판단하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버. The quality adaptation module calculates the number of group of pictures ( GOP ) buffered in the buffer of the client terminal (Δ GOP ), and the predetermined minimum threshold value of the number of GOPs buffered in the buffer of the client terminal (Δ GOP ), respectively. (Δ MIN ) and a maximum threshold (Δ MAX ) to determine the possibility of underflow and overflow of the buffer. 제 8 항에 있어서,The method of claim 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 는 각각 최소문턱치 및 최대문턱치인 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
The quality adaptation module determines whether to adjust the number of activated multimedia data frames according to the conditions represented by Equations 7 to 9, where X nGOP is available bandwidth required for transmitting the nth GOP , X n-1 GOP Is the available bandwidth required to send the n-1th GOP,
Figure 112009052427799-pat00044
,
Figure 112009052427799-pat00045
,
Figure 112009052427799-pat00046
Is the bandwidth required to send one I, B, P frame, where X I , X P , and X B are the bandwidths allocated to the active I, P, B frames, respectively, and α, β, and γ are Δ GOP is the number of GOPs buffered in the buffer of the client terminal, Δ MIN and Δ MAX are the minimum and maximum thresholds, respectively. Data streaming server.
<수학식7><Equation 7>
Figure 112009052427799-pat00047
,
Figure 112009052427799-pat00047
,
<수학식8><Equation 8>
Figure 112009052427799-pat00048
,
Figure 112009052427799-pat00048
,
<수학식9><Equation 9>
Figure 112009052427799-pat00049
Figure 112009052427799-pat00049
제 9 항에 있어서,The method of claim 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 는 활성화된 프레임의 초당 프레임율인 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 서버.
The buffer state determination module determines the buffer state of the client terminal by using the value calculated by Equation 3 below,
Figure 112009033888238-pat00050
Is the data amount of i frame determined to be buffered at time t,
Figure 112009033888238-pat00051
Is the data amount of i frame determined to be buffered at time t-1,
Figure 112009033888238-pat00052
Is the available bandwidth of i frames, calculated at time t, α, β, γ are the number of active I, P, B frames, B i is the number of bytes in one i frame, and NF ACTIVE = α + β + γ is The number of frames in one GOP, FR ACTIVE is a quality adaptive multimedia data streaming server, characterized in that the frame rate per second of active frames.
<수학식3><Equation 3>
Figure 112009033888238-pat00053
Figure 112009033888238-pat00053
Figure 112009033888238-pat00054
Figure 112009033888238-pat00054
Figure 112009033888238-pat00055
Figure 112009033888238-pat00055
스트리밍 서버를 이용한 멀티미디어 데이터 스트리밍 방법에 있어서,In the multimedia data streaming method using a streaming server, 클라이언트 단말로부터 주기적으로 네트워크 상태 정보를 포함하는 피드백 메시지를 수신하는 단계;Periodically receiving a feedback message including network state information from a client terminal; 상기 클라이언트 단말의 버퍼에 버퍼링된 데이터량을 판단하여 특정 시점에서의 상기 클라이언트 단말의 버퍼 상태를 판단하고, 상기 버퍼의 언더플로(Underflow) 또는 오버플로(Overflow)의 발생 가능성을 판단하는 단계; 및Determining a buffer state of the client terminal at a specific time by determining the amount of data buffered in the buffer of the client terminal, and determining a possibility of underflow or overflow of the buffer; And 상기 언더플로 또는 오버플로의 발생 가능성 판단 결과 언더플로 또는 오버플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임 수를 조절하는 단계를 포함하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.And adjusting the number of activated multimedia data frames when it is determined that underflow or overflow occurs as a result of the determination of the possibility of the occurrence of underflow or overflow. 제 11 항에 있어서, The method of claim 11, 상기 활성화된 멀티미디어 데이터 프레임 수를 조절하는 단계를 수행한 후, 상기 피드백 메시지를 이용하여 네트워크 상태가 혼잡상태인지 안정상태인지를 판단하는 네트워크상태판단단계를 더 포함하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.After performing the step of adjusting the number of the active multimedia data frame, the quality-adaptive multimedia characterized in that it further comprises a network status determination step of determining whether the network state is congested or stable state using the feedback message How to stream data. 제 12 항에 있어서,The method of claim 12, 상기 네트워크 상태가 안정상태로 판단된 경우, 경쟁 트래픽과의 대역폭 경쟁을 위하여 전송률을 소정의 크기만큼 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.If the network state is determined to be stable, the quality adaptive multimedia data streaming method characterized in that for increasing the bandwidth for contention competition with contention traffic. 제 13항에 있어서,The method of claim 13, 상기 네트워크 상태가 안정상태로 판단된 경우, 가용 대역폭에 여유가 있는지를 판단하여 가용 대역폭의 여유가 있는 경우 활성화된 멀티미디어 데이터 프레임의 수를 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.If the network state is determined to be stable, the quality adaptive multimedia data streaming method characterized in that it is determined whether there is room in the available bandwidth to increase the number of active multimedia data frames when there is room in the available bandwidth. 제 14 항에 있어서,The method of claim 14, 상기 네트워크 상태가 혼잡상태로 판단된 경우, TCP 트래픽의 평균 전송률을 상기 피드백 메시지 정보를 활용하여 산출하고, 상기 TCP 트래픽의 평균 전송률에 따라 멀티미디어 데이터 스트림의 전송률을 산출하며, 전송할 멀티미디어 데이터 프레임에 대하여 상기 멀티미디어 데이터 스트림의 전송률을 이용하여 각 프레임 타입별로 가용 대역폭을 할당하고 각 프레임 타입별 전송률을 조절하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.When the network state is determined to be a congestion state, the average transmission rate of TCP traffic is calculated using the feedback message information, the transmission rate of the multimedia data stream is calculated according to the average transmission rate of the TCP traffic, and the multimedia data frame to be transmitted Quality adaptive multimedia data streaming method characterized in that the allocation of available bandwidth for each frame type by using the transmission rate of the multimedia data stream and to adjust the transmission rate for each frame type. 제 15 항에 있어서,The method of claim 15, 상기 버퍼의 언더플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임의 수를 감소시키고, 상기 버퍼의 오버플로가 발생할 것으로 판단되는 경우 활성화된 멀티미디어 데이터 프레임의 수를 증가시키는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.Quality adaptive, characterized in that to reduce the number of activated multimedia data frames when it is determined that the buffer overflow occurs, and to increase the number of activated multimedia data frames when it is determined that the buffer overflow occurs. How to stream multimedia data. 제 16 항에 있어서,The method of claim 16, 상기 TCP 트래픽의 평균 전송률은 하기의 수학식10에 의해 산출된 패킷 손실률을 이용하여 산출되고, 여기서 Pn은 n번째 RTCP 주기가 끝나고 계산된 패킷손실률, NPi는 i번째 RTCP 주기에서 스트리밍 서버가 전송한 패킷 수(Number of Packets), Li는 i번째 RTCP 주기에서 손실이벤트가 있는 경우 Li=1이고, i번째 RTCP 주기에서 손실이벤트가 없는 경우 Li=0이 되는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.The average transmission rate of the TCP traffic is calculated using the packet loss rate calculated by Equation 10, where P n is the packet loss rate calculated after the nth RTCP cycle, and NP i is the streaming server in the i th RTCP cycle. Number of Packets, L i is L i = 1 when there is a loss event in the i th RTCP cycle, and L i = 0 when there is no loss event in the i th RTCP cycle Adaptive Multimedia Data Streaming Method. <수학식10><Equation 10>
Figure 112009052427799-pat00063
Figure 112009052427799-pat00063
제 11 항 내지 제 17 항 중 어느 한 항에 있어서,The method according to any one of claims 11 to 17, 상기 활성화된 멀티미디어 데이터 프레임의 수에 변동이 있는 경우, 상기 버퍼 상태를 다시 판단하는 단계를 더 포함하는 것을 특징으로 하는 품질 적응적 멀티미디어 데이터 스트리밍 방법.And re-determining the buffer status when there is a change in the number of activated multimedia data frames.
KR1020090049438A 2009-06-04 2009-06-04 Quality adaptive streaming method using temporal scalability and system thereof KR100924309B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020090049438A KR100924309B1 (en) 2009-06-04 2009-06-04 Quality adaptive streaming method using temporal scalability and system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020090049438A KR100924309B1 (en) 2009-06-04 2009-06-04 Quality adaptive streaming method using temporal scalability and system thereof

Publications (1)

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

Family

ID=41561008

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020090049438A KR100924309B1 (en) 2009-06-04 2009-06-04 Quality adaptive streaming method using temporal scalability and system thereof

Country Status (1)

Country Link
KR (1) KR100924309B1 (en)

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 (en) * 2010-07-29 2012-02-02 한국전자통신연구원 Transmission scheduling method
WO2013010462A1 (en) * 2011-07-15 2013-01-24 华为技术有限公司 Method, base station, and user equipment for ensuring uplink service quality
KR20140047203A (en) * 2012-10-08 2014-04-22 에스케이텔레콤 주식회사 Method and apparatus for providing adaptively video service
KR101514128B1 (en) * 2013-05-29 2015-04-21 삼성에스디에스 주식회사 Apparatus and method for providing contents
WO2015178669A1 (en) * 2014-05-20 2015-11-26 삼성전자 주식회사 Method, device, and system for scheduling transmission and reception of media contents
KR20160016265A (en) * 2014-08-04 2016-02-15 엔트릭스 주식회사 System for cloud streaming service, method of compressing data for preventing memory bottleneck and apparatus for the same
KR20180031547A (en) * 2016-09-20 2018-03-28 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. Method and apparatus for adaptively providing multiple bit rate stream media in server
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 (en) 2004-04-07 2008-01-31 콸콤 인코포레이티드 Method and apparatus for frame prediction in hybrid video compression to enable 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

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 (en) 2004-04-07 2008-01-31 콸콤 인코포레이티드 Method and apparatus for frame prediction in hybrid video compression to enable temporal scalability
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 (en) * 2010-07-29 2012-02-02 한국전자통신연구원 Transmission scheduling method
WO2012015251A3 (en) * 2010-07-29 2012-04-19 한국전자통신연구원 Transmission scheduling method
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 (en) * 2011-07-15 2013-01-24 华为技术有限公司 Method, base station, and user equipment for ensuring uplink service quality
KR20140047203A (en) * 2012-10-08 2014-04-22 에스케이텔레콤 주식회사 Method and apparatus for providing adaptively video service
KR101937449B1 (en) * 2012-10-08 2019-01-11 에스케이텔레콤 주식회사 Method and apparatus for providing adaptively video service
KR101514128B1 (en) * 2013-05-29 2015-04-21 삼성에스디에스 주식회사 Apparatus and method for providing contents
WO2015178669A1 (en) * 2014-05-20 2015-11-26 삼성전자 주식회사 Method, device, and system for scheduling transmission and reception of media contents
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 (en) * 2014-08-04 2016-02-15 엔트릭스 주식회사 System for cloud streaming service, method of compressing data for preventing memory bottleneck and apparatus for the same
KR102063093B1 (en) * 2014-08-04 2020-01-07 에스케이플래닛 주식회사 System for cloud streaming service, method of compressing data for preventing memory bottleneck and apparatus for the same
KR20180031547A (en) * 2016-09-20 2018-03-28 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. Method and apparatus for adaptively providing multiple bit rate stream media in server
KR102039778B1 (en) * 2016-09-20 2019-11-01 베이징 바이두 넷컴 사이언스 앤 테크놀로지 코., 엘티디. Method and apparatus for adaptively providing multiple bit rate stream media in server
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 (en) Quality adaptive streaming method using temporal scalability and system thereof
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 (en) Method of generating transmission control parameter and selective retranmission method according to the packet characteristics.
EP2396945A2 (en) Video streaming
Zhang et al. Network-adaptive rate control with TCP-friendly protocol for multiple video objects
KR101482484B1 (en) A video packet scheduling method for multimedia streaming
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
Argyriou Improving the performance of TCP wireless video streaming with a novel playback adaptation algorithm
Lee et al. Quality adaptation with temporal scalability for adaptive video streaming
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