SVC 비디오 전송을 위한 실용적인 TCP
상태바
SVC 비디오 전송을 위한 실용적인 TCP
  • CCTV뉴스
  • 승인 2009.05.11 00:00
  • 댓글 0
이 기사를 공유합니다


인터넷과 같은 IP망에서 SVC (scalable video coding) 비디오를 전송할 때 주어진 최소 전송대역폭 조건에 부합되는 실용적인 TCP 친화적 전송률 제어 기법을 기술한다. UDP 프로토콜을 이용하여 실시간 비디오를 전송할 때 상위 응용계층의 프로토콜로서 실시간 수송 프로토콜 (RTP)과 실시간 수송 제어 프로토콜 (RTCP)이 일반적으로 사용이 되는데, 이때 발생되는 패킷 스트림의 전송률을 네트워크 내에서의 다른 TCP세션과 공평하게 분배하여 결정할 수 있는 방법이 TCP 친화적 전송률 제어 (TCP-friendly rate control) 기법이다.
 
1. 서론

인터넷과 같은 유무선 네트워크에서 패킷의 손실은 대부분 네트워크의 체증에 의해서 발생한다. 인터넷을 통하여 비디오를 전송할 때 채널에 과부하가 걸리면 라우터에서 패킷이 버려지거나 큐에서 서비스를 기다리는 패킷이 생기게 된다. 이를 체증(congestion)이라고 한다. 패킷 손실이 발생하면 수신 단에서 재생된 비디오의 화질이 크게 저하되고, 큐에서의 지연이 증가하게 되면 전송지연의 제약조건을 넘어서게 되어 결국 쓸모 없는 패킷이 될 수 있다. 따라서 송신단은 이러한 체증이 발생하지 않도록 비디오의 전송률을 조절해야 한다. 이러한 일련의 과정을 흐름 제어(flow control) 또는 체증 제어(congestion control)라고 한다.

체증제어는 크게 전송률 제어(rate control)와 적응적 비디오 부호화 (rate-adaptive video encoding) 방식으로 나뉘어진다. 전송률 제어는 채널에서의 체증을 방지하기 위해 전송률을 조절하는 것이고, 적응적 비디오 부호화는 결정된 전송률에 맞는 비트량만큼 양자화 파라미터 조절을 통한 부호화 량을 조절하는 것이다. 그리고 전송률 제어는 방법에 따라 실험적 전송률 제어 (probe-based rate control), 모델기반 전송률 제어 (model-based rate control), 수신단 기반 전송률 제어 (receiver-based rate control), 계층적 부호화에 의한 전송률 제어 (rate control by layered coding), 복합 전송률 제어 (hybrid rate control) 등으로 분류된다. TCP 친화적 전송률 제어 (TCP-friendly rate control) 기법은 모델 기반 전송률 제어 방식에 속하는 체증 제어 기술이다.

실시간 수송 프로토콜(RTP)을 사용하여 비디오를 실시간으로 전송할 때 기존의 TCP 데이터 세션에 친화적으로 네트워크의 체증을 제어할 수 있는 방법이 TCP 친화적 전송률 제어 기법이다. 현재의 네트워크에서는 여전히 많은 데이터 세션들이 신뢰성 있는 전송을 위하여 TCP를 사용하고 있다. 또한 TCP는 네트워크 혼잡이 발생했을 때 패킷 손실률을 줄이기 위해 전송률 제어를 하는데 이것이 흐름 제어이다.

반면 실시간 멀티미디어 정보의 전송에는 TCP (transmission control protocol) 대신 실시간성을 보장해 줄 수 있는 UDP (user datagram protocol)를 하부 전송 프로토콜로 사용한다. 그러나 UDP는 체증제어를 수행하지 않기 때문에 동일한 네트워크에서 TCP 데이터 세션과 아무런 제약 없이 혼합해서 사용하면 기존의 TCP 데이터 세션의 수율 (throughput)을 악화 시키게 된다. 따라서 UDP를 통해 실시간 데이터를 전송할 때에도 혼잡제어가 필요하며 기존의 TCP데이터 세션과 친화적으로 전송률을 제어할 수 있는 TCP 친화적 전송률 제어 기법이 필요하다.

기존의 TCP 친화적 전송률 제어 기법에서 제안한 전송률 추정 모델은 실험 결과를 통해 높은 패킷 손실률 환경에서는 그 정확도가 낮아지는 문제점이 확인되었다. 본 내용에서는 채널에서의 최소 전송대역폭을 고려하여 개선된 TCP 친화적 전송률 제어 모델을 고안하고 이를 SVC (scalable video coding) 비디오 전송 시스템에 통합 적용하게 된다.

2. TCP 친화적 전송률 제어 기법

인터넷에서 패킷 손실은 전송 오류와 체증에 의해서 발생한다. 패킷 손실이 발생할 경우 TCP는 자체적인 체증 제어 방법에 의해 전송률을 감소시킨다. 따라서 유사한 왕복지연시간을 가진 TCP 연결들이 동일한 채널을 공유하고 있다면 그 TCP 연결들은 가용 대역폭을 균일하게 분배하여 갖게 된다. 대부분의 인터넷 트래픽이 TCP기반 프로토콜을 사용한다면 대역폭 분배가 문제되지 않지만 IP telephony, 영상회의와 같은 실시간 응용 서비스와 음성/영상 스트리밍 서비스와 같은 Non-TCP 트래픽의 량이 증가함에 따라 가용 대역폭의 분배문제가 중요하게 대두 되었다.

하지만 Non-TCP 트래픽은 TCP와 양립할 수 있는 체증 제어 방법이 없기 때문에 체증 발생시 TCP는 전송률을 줄이지만 Non-TCP 트래픽은 원래의 전송률로 계속 전송하여 TCP 트래픽에 심각한 영향을 주게 된다. 따라서 Non-TCP 트래픽도 TCP와 양립할 수 있는 전송률 제어 메커니즘이 필요하며 Non-TCP 트래픽을 TCP 친화적으로 만들어 주어 가용 대역폭을 공정하게 분배해 주기 위한 목적으로 TCP 친화적 전송률 제어 기법이 필요하다.

TCP 친화적 전송률은 TCP 등가 수율 모델을 근거로 계산되는데 이는 TCP의 정상 상태에서의 동작을 고려하여 시간 평균 수율을 모델링한 것으로서 TCP의 동작에 따라 여러 가지 형태로 나타낼 수 있으나 기본적으로 식 (1)과 같은 형태로 표현된다.


        식 (1) 

식 (1)에서 R은 유효 전송률, p는 패킷 손실률, RTT는 왕복 지연 시간 (round trip time)을 의미한다.
TCP Reno 모델에 대해 패킷 손실을 3개의 중복된(duplicate) ACK으로만 확인할 경우 식 (2)와 같은 유효 전송률을 얻을 수 있다.

      식 (2)


                                                                                                                                 
      식(3)

식 (3)의 전송률은 TCP 등가 수율 모델로서 왕복지연시간과 패킷 손실률이 주어지면 그에 대응하는 TCP의 등가 수율을 얻을 수 있다. 그러나 식 (3)의 경우 등가 수율을 모델링할 때 패킷 손실이 많이 발생하여 타임아웃과 같은 현상이 발생하는 경우는 고려하지 않았다. 따라서 패킷 손실률이 5% 이상 발생하면 추정 가용 전송률을 과대평가하게 되는 문제가 발생한다.


그림 2. RTT=100ms에서 패킷 손실률 증가에 따른 식 (3)에 의한 추정 가용 전송률


그림 2는 식 (3)에서 RTT≡100ms, s≡625라 정의하고, 패킷 손실률 p(t)를 0.1 ~ 20%까지 선형적으로 증가시키면서 추정 가용 전송률을 구한 것이다. 이 그림에서 주목할 만한 사실은 패킷 손실률이 작을 때는 추정 가용 전송률을 적절한 값으로 예측하다가 패킷 손실률이 커지면 추정 가용 전송률을 과대평가 한다는 점이다. 즉 패킷 손실률이 10% 이상 되는 시점부터 추정 전송률의 감소율이 매우 작아지고 있는데 이는 실제적인 비디오 서비스에서 취해야 할 조치로서 적합하지 않다.

실제적인 비디오 서비스에서는 일정한 값 이상의 패킷 손실이 발생하면 비디오의 품질은 급격히 감소하게 되고 이를 제어하기 위해 비디오 전송률을 감소시킬 필요가 있다. 실제적인 네트워크를 기반으로 패킷 손실률이 MPEG-2 비디오 화질에 미치는 영향을 분석한 논문에 의하면, 패킷 손실률이 3~5% 정도를 넘게 될 경우 비디오 품질이 급격히 열화되기 시작하므로 비디오 전송률을 최소한의 서비스 품질이 보장될 정도로 감소 시키는것이 바람직하다고 주장한다. 이러한 사실로 인해 패킷 손실률이 특정 기준 이상일 경우 그림 2에 나타난 추정 가용 전송률보다 더 낮은 전송률로 추정하는 방법이 실제적인 비디오 서비스에서는 바람직하다.
 
3. 제안된 TCP 친화적 전송률 제어 기법 

제안하는 방법은 송신단이 수신단으로부터 RTCP RR (Receiver Report) 패킷을 수신했을 때, 수신자 보고 패킷에 있는 정보를 통하여 전송률을 추정하되 기존의TCP 친화적 전송률 추정의 기본 이념에 위배되지 않는 새로운 전송률 추정 방법을 제안하고자 한다. 식 (3)의 경우 패킷 손실률이 5% 이상 발생되면 추정 가용 전송률을 과대 평가하기 때문에 패킷 손실률이 큰 경우에도 적당한 전송률을 추정할 수 있는 새로운 방법이 필요하다.

구현한 시스템에서는 RTP 패킷을 20개 전송할 때마다 RTCP 패킷을 한 번 보내도록 구현하였다. 채널의 추정 가용 전송률은 20개의 RTP 패킷 중에서 제대로 도착한 총 데이터 크기를 20개의 패킷을 전달하는데 걸리는 시간으로 나누어 주어 얻는다. 이때 전달하는데 걸리는 시간은 RTCP RR 패킷의 헤더에 존재하는 LSR (Delay since Last SR) 값을 사용한다.
 
즉 수신측으로부터 RTCP RR패킷을 수신할 때마다 RTCP RR 패킷 헤더의 LSR 값을 사용하여 RTCP SR (Sender Report) 패킷을 보낸 시간을 구하고, RTCP SR 패킷들 사이에 손실 없이 전달된 RTP 패킷의 개수를 사용하여 전송률을 추정할 수 있다. n번째 RTCP RR 패킷을 피드백 받은 후의 전송률을 수식으로 표현하면 다음과 같다.

          식(4)

여기서 s는 패킷의 크기, p는 패킷 손실률, LSR(tn)은 n번째 RTCP SR을 전송한 시간을 나타낸다.
기존의 TCP 친화적 전송률 제어 기법의 특성을 유지하기 위하여 패킷 손실률이 5% 보다 작은 구간에서는 식 (3)을 사용하고, 패킷 손실률이 5%보다 큰 구간에서는 식 (4)를 적용하여 추정 가용 전송률을 구한다. 또한 여러 번의 실험을 통하여 평균 패킷 손실률이 10%보다 큰 경우 영상의 화질이 매우 열화됨을 관찰하였다. 따라서 패킷 손실률이 10%보다 큰 경우는 전송률을 네트워크에서 지원 가능한 최소 전송률로 설정하거나 사용자가 원하는 최소 품질에 해당하는 전송률을 적용한다. 이상의 제안된 전송률 제어 알고리듬을 적용하면 다음 식 (5)와 같은 TCP 친화적 전송률 추정 기법을 얻을 수 있다.

               식(5)

그림 3은 패킷 손실률 p(tn)에 따른 추정 가용 전송률을 얻기 위하여 s≡625, RTT≡100 ms, LSR(tn)- LSR(tn-1) ≡RTT/2*20 으로 가정하고 패킷 손실률을 증가시키면서 추정 가용 전송률의 값을 도시하였다. 그림 3에서 볼 수 있듯이 식 (5)에 의한 추정 가용 전송률은 패킷 손실률이 5% 이내에서는 식 (3)의 결과와 같고, 패킷 손실률이 5%~10% 사이에서는 식 (3)에 의한 결과보다 더 낮은 값을 예측하고, 패킷 손실률이 10% 이상에서는 적용이 가능한 최소 전송률 값으로 예측 됨을 알 수 있다.


그림 3. 패킷 손실률 증가에 따른 기존 및 제안된 방식에 의한 추정 가용 전송률 비교(RTT=100ms)

5% 이상의 패킷 손실에 대한 제안된 접근 방식의 유효성을 검증하기 위하여 패킷손실 환경에서 가용 전송율을 크게 할 경우와 상대적으로 작게 할 경우에 대해서 얻을 수 있는 화질에 관한 실험을 H.264 비디오 전송을 통해 수행하였다. 패킷 손실률 10%에서 식 (3)은 추정 가용 전송률을 200kbps로 예측하고, 식 (5)는 추정 가용 전송률을 50kbps로 예측한다.

따라서 200kpbs와 50kbps로 부호화된 비트스트림에 패킷 손실을 10%로 주었을 때와 손실을 주지 않았을 때의 PSNR (Peak Signal to Noise Ratio)을 비교하였다. 이 경우의 손실 발생 방법은 저장된 파일에서 비트스트림을 패킷 크기 만큼 메모리에 읽어 들인 후 난수를 발생시켜 발생된 난수가 0.1보다 작으면 손실로 인식하여 파일에 다시 저장하지 않고, 발생된 난수가 0.1보다 크면 다시 파일에 저장함으로써 손실을 인위적으로 발생하게 하였으며, 손실된 비트스트림을 복호화하여 PSNR을 계산하였다.

이 때 200kbps로 부호화된 영상의 경우 손실이 없을 때는 평균 PSNR이 32dB을 나타내지만, 손실을 10%로 주었을 때는 PSNR이 26dB로 감소되었다. 즉 10%의 손실로 인해 화질이 6dB 정도 열화 되었음을 알 수 있다. 반면 50kbps로 전송된 영상의 경우 손실이 없을 때는 PSNR이 26dB를 나타내지만, 손실을 10%로 적용하였을 때는 PSNR이 24dB을 나타내었다.

즉 10%의 손실로 인해 화질이 2dB 정도 열화 되었음을 알 수 있다. 따라서 200 kbps로 전송한 경우보다 50 kbps로 전송할 때 네트워크의 체증을 줄일 수 있을 뿐만 아니라, 객관적 화질 측면에서 50kbps일 경우의 PSNR열화가 200kbps일 경우보다 작으므로 10%의 패킷 손실이 발생할 때 화질이 좀 더 부드럽게 열화 된다.


그림 4. 기존 및 제안된 방식에 의한 전송률 추정 결과 비교

기존의 방식과 제안된 방식에 의한 실제 추정된 전송률 추이를 비교하기 위하여 RTCP RR 패킷이 전송단으로 피드백 되어 도착될때 마다 전송률을 추정하여 그림 4에 나타내었다. 그림 4(a)는 패킷 손실률이 0~0.15 사이에 분포한다고 가정하고, [0, 0.15]사이에 균일하게 분포된 난수를 발생시킨 후 발생된 값을 순간 패킷 손실률로 가정하여 평균 손실률을 구하고 그 평균 손실률을 도시한 것이다. 그림 4(b)는 s≡625, RTT≡100ms, LSR(tn)- LSR(tn-1)≡RTT/2 * 20 으로 가정하였을 때 그림 4(a)와 같은 평균 패킷 손실률 발생시 기존의 방법과 제안된 방법에 의한 추정 가용 전송률을 도시한 것이다.

4. 왕복지연 시간과 패킷 손실률 추정기법

제안된 방법에 적용이 되는 식 (5)에서는 네트워크의 왕복지연 시간과 패킷 손실 확률 정보를 요구한다. 이들을 RTCP 패킷을 활용하여 효과적으로 추정하는 기법을 설명하고자 한다.

4.1 왕복지연시간 추정 기법

그림 5는 왕복지연시간을 송신단에서 추정하는 과정을 도시한 것이다. 우선 송신단에서 RTCP SR 패킷을 보내는 것으로 시작된다. 이 때 RTCP SR 패킷을 보낼 때의 NTP (network time protocol) 값을 RTCP SR 패킷에 넣어서 보낸다 [9]. 수신단은 RTCP SR 패킷을 받은 시간을 기억하고 있다가 RTCP RR 패킷을 보낼 때, RTCP SR 패킷 받은 후 RTCP RR 패킷을 보낼 때까지의 시간간격을 구하여 RTCP RR 패킷의 DLSR (Delay since Last SR) 필드에 기록한다.

그리고 RTCP SR 패킷에서 수신한 NTP 타임스템프 64비트 중에서 가운데 32비트를 떼어내어 RTCP RR 패킷의 LSR 필드에 삽입하고 송신단에 RTCP RR 패킷을 보낸다. 송신단은 RTCP RR 패킷을 수신할 때 받은 시간 A를 체크한다. 그러면 A라는 시간에서 수신자보고 패킷에 있는 DLSR과 LSR 값을 빼면 왕복지연시간이 계산되어 진다. 그림 5의 오른쪽에 관계식을 나타내었다.

4.2 패킷 손실률 측정법

그림 6은 패킷 손실률 측정 방법을 도시한 것이다. 송신단은 RTP 패킷을 보낼 때 헤더에 순서번호 (sequence number)를 기록하여 전송한다. 순서번호의 초기값은 임의의 값 (random  number)로 설정이 되고 그 다음부터는 RTP 패킷을 보낼때마다 1씩 증가하게 된다.


그림 6. 패킷 손실률 측정방법

송신단이 RTCP SR 패킷을 통해 주기적으로 전송된 RTP 패킷에 대한 유용한 정보를 보내면 수신단은 RTCP SR 패킷을 받은 후 그 시점까지 송신단이 전송한 RTP 패킷의 개수를 순서번호를 통해 계산한다. 그 후 지난번 RTCP SR 패킷을 받았을 때 이후로 실제로 수신한 RTP 패킷의 개수를 계산하여 누적손실을 구한다. 이렇게 계산된 누적손실은 RTCP RR 패킷을 통해 수신단에서 송신단으로 피드백 되어 전송된다.

4.3 패킷 손실률과 왕복지연 시간의 이동 평균 (Moving Average)

패킷 손실률과 왕복지연은 네트워크의 상태에 따라 큰 폭으로 변할 수 있다. 따라서 이 값들로부터 계산되는 유효 전송률 역시 큰 폭으로 변동할 수 있는데 가변율 비디오 전송 시스템에서 유효 전송률의 급격한 변동은 화질의 급격한 변동으로 이어지므로 주관적 화질 측면에서 좋지 않다.

비디오의 입장에서는 채널의 특성이 짧은 시간 간격으로 급격하게 변동하더라도 점진적인 화질 변동을 가져오는 완만한 전송률의 변화가 바람직하다. 이와 같은 완만한 변화를 얻는 방법은 네트워크 상태 정보들의 평균값을 이용함으로써 가능하다. 본 내용에서는 패킷 손실률과 왕복지연시간에 대해 다음과 같은 이동 평균값(moving average)을 이용한다.

                      식(6)

      식(7)

여기서 p(t)는 새로운 손실률 Pnew를 수신한 후 시간 t에서 계산하는 패킷 손실률, RTT(t)는 새로운 RTT값 RTTnew를 계산한 후 시간 t에서 계산하는 왕복지연시간을 나타낸다. 손실률 Pnew는 RTCP 패킷의 손실비 (fraction lost) 필드에 의해 주어지며,  RTTnew는 4.1절의 원리를 통해서 계산된다. i와 j는 가중치로서 네트워크 상태에 대한 적응속도를 결정한다. 이 값들이 클수록 새로운 상태에 빨리 적응할 수 있으나 유효 전송률의 급격한 변동을 가져오고, 반대로 작을수록 네트워크의 상태에 둔감하게 반응한다. 본 연구를 위한 다양한 실험 결과 적당한 i 와 j 값의 범위는 0.1~0.3 정도이었다.


그림 7. 이동 평균값에 의한 패킷 손실률 계산

그림 7은 RTCP RR패킷이 수신단으로부터 송신단으로 피드백되어 도착할 때 마다 패킷 손실률을 식 (6)에 의해 계산된 결과를 나타낸다. 손실률은 RTCP 패킷을 수신했을 때만 알 수 있으므로 가로축은 RTCP 패킷을 받은 횟수로 표시하였다. 그림 7에서 순간 손실률(instant loss ratio)은 0과 0.2사이에 균등하게 분포된 난수를 생성시켜서 그 값을 도시하였으며, 평균 손실률은 식 (6)에 의해 구한 이동 평균값(moving average)을 도시하였다.

그림의 결과와 같이 평균값을 취하여 사용하면 순간 손실률이 크게 변하는 경우에도 평균값은 중간부분에서 변하게 됨을 알 수 있다. 따라서 이동 평균 손실률을 사용하여 전송률을 추정하면 추정된 전송률이 상대적으로 크게 변화하지 않고 서서히 변하게 된다. 전송률이 서서히 변하면 부호화율도 서서히 변하게 되며 결과적으로 화질의 급격한 변화를 방지할 수 있다.

5. 적응적 SVC 비디오 전송 시스템

H.264/AVC의 확장형 부호화 기술인 SVC는 기존의 MPEG-2, MPEG-4등에서 시도한 계층 부호화 기반의 스케일러빌리티가 갖는 문제점인 낮은 압축효율, 복합 스케일러빌리티 지원불가, 높은 구현 복잡도의 문제를 한꺼번에 해결하기 위하여 2007년 말에 개발이 완료된 새로운 확장형 부호화 기법이다. SVC는 여러 개의 비디오 계층 (layer)을 하나의 비트열로 부호화한다.

SVC의 계층은 하나의 기본계층 (base layer) 과 기본계층 위에 연속적으로 쌓을 수 있는 향상계층 (enhancement layer)으로 구성된다. SVC 부호기의 VCL (Video Coding Layer) 계층에서는 기본계층 부호화 정보와 향상계층의 스케일러빌리티 부호화 정보를 슬라이스 단위로 생성하게 된다. 생성된 슬라이스는 네트워크를 통해 전송되기 위하여 NAL (Network Abstraction Layer) 계층에서 NAL unit 으로 만들어지게 된다. SVC NAL unit 들로 구성된 SVC 비트스트림은 RTP 패킷화 과정을 거쳐 UDP 패킷에 실려서 IP 망을 통하여 전달된다.

제안된 TCP 친화적 전송률 제어 기법의 성능을 검증하기 위한 네트워크 적응적 SVC 비디오 전송 시스템의 구조는 그림 8과 같다. 전송에 사용될 SVC 비디오의 경우 복합 스케일러빌리티 제공을 위해 SNR 스케일러빌리티, 공간적 스케일러빌리티, 시간적 스케일러빌를 복합적으로 적용할 수 있고, 그림 9의 화면 구조를 따라서 부호화 될 경우 총 2개의 해상도 계층 정보를 구성할 수 있다. 그림 9에서는 기본계층에 의해 QCIF 규격으로 15 fps (frames per second)까지 지원이 가능하며 추가적으로 향상계층을 전송을 할 경우 CIF 규격에 최대 30 fps까지 지원이 가능하다.


그림 8. 적응적SVC 비디오 전송 시스템 구조


그림9. SVC의 복합 스케일러빌리티 부호화를 위한 화면 및 계층 구조의 예

그림 8에서 채널에서 지원 가능한 최소 및 최대의 대역폭은  Rmin과 Rmax이고, 시간이 흐름에 따라 SVC 스트리밍 서버에서 실시간으로 추정되는 대역폭은 R이며 Rmin≤R≤Rmax의 관계를 갖는다. 기본계층 비트스트림의 압축을 위한 비트율 RBL은 Rmin으로 설정하여 채널의 대역폭이 최악으로 나빠지더라도 기본계층 정보는 항상 전송이 가능하도록 하였다.

향상계층 비트스트림의 압축을 위한 비트율 REL은 Rmax-RBL로 설정하여 주어진 채널 대역폭 조건에서 최고의 고품질을 얻도록 부호화 한다. SVC 비디오 전송이 시작되면 RTCP RR 패킷에 의한 피드백 정보를 이용하여 채널의 대역폭 R이 TCP 친화적 전송률 추정 기법에 의해 SVC 스트리밍 서버에서 추정이 되며 R을 바탕으로 향상계층 비트스트림의 전송을 위해 할당되는 채널 대역폭 REL이 R-RBL로 적응적으로 설정이 된다.
 
6. 실험 결과 및 분석

본 장에서는 제안된 TCP 친화적 전송률 제어 기법의 성능을 분석하기 위한 실험 결과를 제시한다. 실험은 크게 실험실 내부의 PC를 활용한 인트라넷 환경에서의 비디오 전송 실험과 인터넷을 통한 필드 테스트 결과로 나뉘어 진다.
인트라넷 환경에서 실험을 수행하기 위해서는 인위적인 패킷 손실과 왕복지연 시간을 조절하는 방법이 요구되며 다음과 같은 방법을 활용하였다. (A) 모의 실험에서 인위적 패킷 손실 발생 방법

- 수신단은 패킷 손실 판정 기준이 되는 평균 패킷 손실률 Pth 를 입력
- 수신단은 RTP 패킷을 수신하면 [0, 1] 사이의 값을 갖는 균일 분포의 난수 XR을 발생.
- 만약 {XR | XR < Pth} 이면 수신된 RTP 패킷을 손실로 처리
- 송신단은 RTCP RR 패킷 수신시 얻어진 순간 손실률을 식 (6)에 대입하여 이동 평균 패킷 손실률을 구하고, 이 값을 식 (3) 또는 식 (5)의 P(tn) 값으로 사용한다. (B) 모의 실험에서 왕복지연시간 발생 방법

- 송신단의 SR 패킷을 수신하면 수신단은 입력된 왕복 지연만큼 지연시킨 후 RR 패킷을 전송
- RR 패킷을 전달받은 송신단은 RTT 계산시 수신단에서 인위적으로 발생시킨 지연값을 RTT에 포함시키게 되어 왕복지연시간을 발생시켰다. 이상의 방법을 활용하여 왕복지연시간은 50 ms 그리고 평균 패킷 손실률은 Pth=0.05, RTP패킷의 크기는 500 바이트의 조건에서 기존 방법인 식 (3)에 의해 채널의 대역폭을 추정하였고 그 결과가 그림 10에 나타나 있다. 그림 10으로부터 이동 평균 패킷 손실률이 10% 정도의 큰 값을 가질 때 추정 가용 전송률은 400 Kbps 정도로 매우 큰 값을 나타낸다. 그러나 제안된 방법인 식 (5)에 의해 채널의 대역폭을 추정할 경우 그림 11과 같은 결과를 얻게 되고 이동 평균 패킷 손실률이 10% 일 경우 50 Kbps 가량의 비교적 낮은 추정 가용 전송률을 보임을 알 수 있다.


그림 10. 식 (3)에 의해 추정된 가용 대역폭 변화(인트라넷을 통한 비디오 전송)


그림 11. 식 (5)에 의해 추정된 가용 대역폭 변화(인트라넷을 통한 비디오 전송)


그림 12. 식 (3)에 의해 추정된 가용 대역폭의 변화(인터넷을 통한 비디오 전송)

실제 인터넷 환경에서 그림 8의 SVC 비디오 전송 시스템을 기반으로 제안된 전송률 추정 기법의 성능을 테스트 하였다. 다양한 선행적인 실험을 통하여 인터넷의 최소 전송률은 약 50 kbps 이며 최대 전송률은 500 kbps 정도 되는 것으로 파악이 되었다. 본 실험을 위해 SVC NAL unit을 싣게 되는 RTP 패킷의 크기는 625 바이트로 설정하였다.

그림 12와 그림 13은 각각 기존 방법인 식 (3)과 제안된 방법인 식 (5)에 의해 추정된 가용 대역폭을 이동 평균 패킷 손실률의 크기에 따라 정렬한 후 그래프로 도시한 것이다. 그림 13을 그림 12와 비교해 볼때 이동 평균 패킷 손실률이 5~10% 사이 구간에서 손실률이 증가함에 따라 가용 대역폭을 상대적으로 낮게 예측하고 있음을 볼 수 있다.

그림 12의 경우 패킷 손실률이 8% 이상이 되더라도 추정된 대역폭이 400 Kbps 이하로 급격히 감소하지 않는 특징을 보이는 반면 그림 13의 경우 패킷 손실률이 8% 이상이 되면서 계속 감소하여 최소 전송률인 50 Kbps까지 감소하게 된다. 이 실험을 통해 얻어진 시간에 따른 RTT와 패킷 손실률의 변화는 각각 그림 14와 그림 15에 나타나 있다.


그림 14. 시간에 따른 RTT의 변화


그림 15. 시간에 따른 패킷 손실률의 변화


그림 16. 시간에 따라 추정된 가용 대역폭과 실제 전송률의 변화

그림 14와 그림 15의 그래프 중간 부분에서 간격이 넓게 나오는 부분을 볼 수 있다. 본 비디오 전송 시스템은 패킷의 크기가 고정되어 있기 때문에 전송시간을 통해 전송률을 조절한다. 따라서 중간부분에 패킷 손실률이 커짐에 따라 전송률을 낮추게 되고, 결과적으로 전송시간이 길어지게 된다. 전송시간이 길어지면 RTCP 패킷을 송수신하는 시간 간격도 길어지게 되어 그래프 중간부분에 간격이 넓게 나타나게 되는 것이다. 그림 15에서 손실률 구간을 구분하기 위해 패킷 손실률 5%를 점선으로 표시하였다.

그림 16은 그림 14와 그림 15에 도시한 시간에 따른 RTT와 이동 평균 패킷 손실률 조건에서 식 (5)에 의해 추정된 가용 대역폭과 최대 채널 대역폭을 고려한 실제적인 전송률을 나타낸다. 그림 15를 참조하면 이동 평균 패킷 손실률이 큰 시간 구간에서는 추정 가용 대역폭을 낮게 예측하며, 반대로 이동 평균 패킷 손실률이 작은 경우는 추정 가용 대역폭을 크게 예측하고 있음을 볼 수 있다.
 
그림 16의 경우 이동 평균 패킷 손실률이 중간부분에서 매우 큰 값을 가지게 되어 추정된 가용 대역폭 및 실제 전송률이 매우 낮게 예측되고 있음을 관찰할 수 있다. 한편, 추정된 대역폭이 선행적 실험에 의해 얻어진 최대 전송률 500 kbps 보다 크면 500 kbps로 전송하고, 추정된 대역폭이 500 kbps보다 작고 50 kbps보다 크면 그림 16에서 추정된 값으로 전송하며, 추정된 값이 최소 전송률인 50 kbps보다 작으면 50 kbps로 전송하고 있음을 확인할 수 있다.

다음의 실험에서는 SVC 비디오 전송을 통해 기존의 전송률 추정기법과 제안된 전송률 추정 기법의 성능을 화질 측면에서 비교하였다. 객과적 화질측도인 PSNR 을 동일한 해상도의 화면에 대해 공평하게 비교하기 위하여 SVC 비디오의 계층 구조를 기본계층과 향상계층 모두 동일하게 CIF로 설정하였다. 이를 위하여 기본계층에 대하여 CGS (coarse grain scalability)를 적용하여 향상계층 비트스트림을 생성하였다.

또한 패킷 손실이 존재하는 상황에서 복호화된 화면을 이용한 PSNR 측정이 가능하도록 손실된 패킷에 대한 정보는 이전 화면의 동일한 위치로부터 복사해 오는 오류 은닉 기법을 적용하였다. 선행적인 실험을 통하여 인터넷의 최소 전송률은 약 50 kbps 정도이므로 SVC 비디오의 기본계층은 50 Kbps로 압축하였고 50 Kbps를 상회하는 채널 대역폭을 향상계층 정보의 전송에 할애하였다.


그림 17. 화면별 PSNR 성능 비교

그림 17은 각 화면별 PSNR을 통해 제안된 기법인식 (5)와 기존의 기법인 식 (3)에 의한 객관적 화질 성능을 PSNR 측면에서 비교하고 있다. 두 가지 기법에 의한 화질의 차이는 22~30초 구간에서 두드러지게 나타난다. 테스트 영상은 기본계층과 향상계층 모두 10 fps로 부호화 되었기 때문에 10장의 화면이 1초를 구성한다.

따라서 화질의 차이가 두드러지는 22초~30초 구간은 그림 17에서 화면번호 221~300에 해당된다. 22초~30초 구간은 그림 16에 보이듯이 제안된 방법에 의한 전송률은 50 Kbps로 감소하지만 기존의 방법에 의해서는 400 Kbps 의 높은 전송률로 패킷이 전달된다. 기존 방법의 경우 많은 량의 패킷이 체증이 매우 높은 네트워크로 전송되기 때문에 패킷 전달 도중 라우터 등에서 심각한 체증에 의해 패킷이 손실되게 된다. 이러한 패킷 손실로 22~30초 구간의 화질은 매우 열화되게 된다.

반면에 제안된 방법의 경우 네트워크의 심각한 체증을 고려하여 50Kbps의 낮은 전송률로 기본계층의 패킷만이 전송되며 대부분의 패킷이 손실없이 수신측에 도착하게 된다. 손실된 패킷에 대해서는 오류 은닉 기법이 적용되므로 기존 방법의 경우 원래 화질과는 상이한 복호화된 화질을 나타나게 되고 따라서 심각한 PSNR 감소를 초래하게 된다. 따라서 22~30초 구간에서 기존 방법의 경우 전송된 데이터의 량은 제안된 방법보다 대략 4배정도 많지만 화질은 오히려 더 열화되는 문제점을 보이고 있다.

7. 결론

기존의 TCP 친화적 전송률 제어를 위한 TCP 등가 수율 모델을 전송 채널의 최소 대역폭을 고려하기 위하여 새롭게 모델링 하였다. 새롭게 제안된 TCP 친화적 전송률 제어 기법의 적용을 위해 필요한 패킷 손실률과 왕복지연 시간 정보를 효과적으로 추정할 수 있는 기법 또한 제시가 되었다.

제안된 기법을 SVC 압축 기법을 활용한 SVC 비디오 스트리밍 시스템에 적용하기 위한 시스템 구조를 제안하였고, 이 시스템에 제안된 TCP 친화적 전송률 제어 기법을 적용하여 기존의 전송률 제어 기법과 PSNR측면에서의 화질 성능을 비교하였다. 비교 결과 패킷 손실률이 매우 높은 구간에서 제안된 전송률 제어 기법의 PSNR 성능이 명확히 향상됨을 확인할 수 있었다.   

댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
0 / 400
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.