무선 환경에서 mpeg-4 비주얼 객체 스트림의 동기화 기법 · 렬서버...

64
工學碩士學位請求論文 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 The Synchronization Scheme of MPEG-4 Visual Object Stream in the Wireless Environments 20052仁荷大學校 大學院 電子工學科(情報工學專攻)

Upload: others

Post on 09-Sep-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

工學碩士學位請求論文

무선 환경에서 MPEG-4 비주얼 객체 스트림의

동기화 기법

The Synchronization Scheme of MPEG-4 Visual Object

Stream in the Wireless Environments

2005年 2月

仁荷大學校 大學院

電子工學科(情報工學專攻)

任 世 根

工學碩士學位請求論文

무선 환경에서 MPEG-4 비주얼 객체 스트림의

동기화 기법

The Synchronization Scheme of MPEG-4 Visual Object

Stream in the Wireless Environments

2005年 2月

指導敎授 崔 相 昉

이 論文을 工學碩士學位 論文으로 提出함

仁荷大學校 大學院

電子工學科(情報工學專攻)

任 世 根

이 論文을 任世根의 碩士學位論文으로 認定함

2005年 2月

主審____________________

副審____________________

委員____________________

- i -

요약

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격교육서

비스 다채널 방송 등 앞으로 인터렉티브한 멀티미디어 서비스에 널리

이용될 것으로 예상된다 본 논문에서는 무선 환경에서 병렬서버로부

터 멀티미디어 객체들을 전송 할 때 고려되어야 할 각 객체 스트림들의

연속성을 유지하여 끊김 없이 멀티미디어 콘텐츠를 이동국에 서비스

하기 위한 새로운 멀티미디어 객체 동기화 기법을 제안한다

제안된 멀티미디어 객체 동기화 알고리즘은 기지국 단에 삽입되며

크게 다섯 개의 프로시저로 구성된다 첫 번째 프로시저는 멀티미디어

세션 초기화 프로시저로 이 프로시저를 통해 서버와 이동국간에 멀티

미디어 세션이 형성되고 병렬서버에 저장되어 있는 멀티미디어 객체

들의 인터 스트림 동기화를 맞추게 된다 두 번째 프로시저는 버퍼 관

리 프로시저로 버퍼레벨 감지 및 피드백 메시지 전송 루틴과 버퍼 제어

루틴인 두 개의 서브루틴으로 나뉜다 버퍼 관리 프로시저에 의해 버퍼

레벨은 정상 상태로 유지되고 버퍼의 고갈이나 넘침을 방지하므로 이

동국에서의 끊김 없는 영상의 재생이 가능하다 세 번째 프로시저는 초

기 버퍼 지연 할당 프로시저이다 이 프로시저를 통해 기지국에 도착한

- ii -

멀티미디어 객체 스트림 내의 지터는 보상된다 마지막으로는 모든 멀

티미디어 데이터의 전송이 끝난 후 이동국과 서버 사이에 형성 되었던

세션을 종료하는 세션 종료 프로시저가 존재한다 세션 종료 프로시저

에서는 해당 멀티미디어 객체 스트림을 위해 기지국에서 할당되었던

메모리를 반납하게 된다

본 논문에서 제안한 알고리즘을 기지국에 적용한 가상의 네트워크

환경에서 MPEG-4 트레이스 파일을 이용하여 시뮬레이션을 수행하였

다 버퍼 사용량 측면에서의 시뮬레이션 결과로서 기지국에서의 아무

런 보상도 없는 기존의 방법보다 기지국에서의 버퍼 사용율을 73 감

소시켰으며 또한 전송율을 제어하기 위한 제어 메시지의 전송량과 버

퍼의 크기 및 임계값과의 관계도 측정하였다 마지막으로 세 개의 병

렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때

세션 형성 지연의 차이 없이 프레임 폐기율 측면에서도 제안된 동기화

기법이 우수함을 알 수 있었고 기존의 기법과의 비교에서도 별도의 지

연의 추가 없이 프레임 폐기율 측면에서 우수함을 알 수 있었다

- iii -

Abstract

With the explosive growth of Internet populations and the

improvement of mobile computing techniques high-quality video

stream services are available in the wireless environments

Especially multimedia service using object based video coding

of MPEG-4 will be employed for the interactive multimedia

services ie multichannel digital broadcasts and remote

schooling

In this paper we propose a new multimedia transmission and

synchronization scheme for parallel servers in a wireless

environment to preserve continuity of multimedia object stream

and to provide consecutive multimedia service to the mobile

host The proposed scheme is embedded in the base station and

have five procedures First multimedia session initialization

procedure builds up multimedia session between mobile host and

servers and initializes inter-stream synchronization phase of

multimedia objects stored in the parallel servers Second buffer

management procedure that includes buffer level monitoring

routine and buffer control routine preserves buffer level in

normal condition Third procedure of initial buffer delay

allocation compensates jitter Finally end session procedure

- iv -

terminates session between mobile host and servers then this

procedure restores memory that allocated for the multimedia

session to the base station The proposed scheme is developed

specifically for parallel servers that store MPEG-4 data

according to the VOP (video object plane) types ie I- P- and

B-VOP We simulate our model using trace file of MPEG-4

First we observe that our model saves average buffer space of

BS And we measure the frequencies of control message from Bs

to the server according to the buffer size and thresholds We

also compare two models visually using picture samples of

MPEG-4 video Friends

- v -

목차

요약 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ⅰ

Abstract ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ iv

제 1 장 서 론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 1

제 2 장 멀티미디어 동기화 기법 연구∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

21 멀티미디어 동기화 기법∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

22 네트워크를 통한 MPEG-4 전송∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 9

23 병렬 서버 구조∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 11

제 3 장 제안된 멀티미디어 동기화 기법 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

31 기존 알고리즘과의 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

32 제안된 동기화 기법의 개관∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 17

321 QoS 측정규준∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 18

32 2 제안된 프로시저들∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 20

32 3 메시지 흐름∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 21

3 2 4 알고리즘에 쓰인 기호의 의미∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 22

33 멀티미디어 세션 초기화 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 23

331 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 24

332 예 제∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙ 27

- vi -

34 기지국의 버퍼 관리 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 29

341 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 33

35 초기 버퍼 지연 할당 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 34

36 그 밖의 프로시저들∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙ 36

제 4 장 시뮬레이션 환경 모형화 및 결과분석 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙37

41 시뮬레이션 환경 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 37

42 시뮬레이션 파라미터 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 40

43 패킷 손실 모형∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 42

44 기지국의 버퍼 사용량 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 43

45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 46

46 수신된 프레임 샘플 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 49

제 5 장 결론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 51

참고문헌 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 52

- 1 -

제 1 장 서 론

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격 교육

서비스 다채널 방송 등 앞으로의 인터렉티브한 멀티미디어 서비스에

널리 이용될 것으로 예상된다 MPEG-4 표준은 기존의 MPEG 표준들

을 모두 포함하는 동영상 압축 표준으로서 낮은 비트율의 전송을 위한

높은 압축률을 제공하며 오류내성이 강하므로 전송 오류율이 높은 무

선 환경에서의 연상 전송에 적합하다[1] 현재의 CDMA 2000 1x

EVDO와 WCDMA에 기반한 동영상 서비스에서는 MPEG-4로 인코딩

된 초당 15프레임 최대 전송률 64Kbps의 QCIF포맷을 사용하고 있으

며 이는 모바일 호스트의 작은 디스플레이 화면과 기존의 PC에 비해

상대적으로 적은 저장 공간에 적합한 표준이라 할 수 있다[2]

비단 낮은 비트율의 전송을 위한 높은 압축률로 영상 정보를 압축하

려는 목적 외에 MPEG-4는 더 큰 범주를 포함한다 그 대표적인 예가

객체기반 멀티미디어 서비스이다 컴퓨팅 기술의 발달로 CPU의 성능

이 향상되었으며 이는 우리가 기존에 보아왔던 사각형 형태를 갖는 고

정된 화면에서의 영상재생 뿐 아니라 임의의 형태를 지니며 시시각각

변화하는 고정되지 않는 화면의 영상재생을 가능하게 하였다 또한 이

로 인해 하나의 영상을 서로 다른 여러 영상 객체들의 구성으로 표현이

가능해 졌다[1] 예를 들면 스튜디오를 배경으로 남성 여성 앵커가

뉴스를 말하고 여성 앵커의 뒤쪽으로 해당하는 뉴스가 작은 화면으로

- 2 -

디스플레이되는 영상을 가정한다면 기존의 MPEG-2표준에서는 영상

의 프레임 자체가 하나의 객체로 이뤄지지만 MPEG-4 표준에서는 배

경 여성 남성 뉴스화면 각각의 객체들을 각각 인코딩하고 전송할 수

있는 객체 기반의 멀티미디어 서비스를 가능하게 한다 따라서 채널의

악화로 인해 전체 영상의 질을 낮추는 것이 아닌 해당 멀티미디어 콘텐

츠에서 크게 중요하지 않은 배경 등의 질만을 낮춰서 전송해 주는 서비

스도 가능 할 것이며 특히 30Mbps의 전송률을 지원할 예정인 앞으로

의 4세대의 이동통신 시스템에서는 앞서 언급한 다채널 방송 원격 교

육 서비스 등 인터렉티브하며 많은 정보를 전달할 수 있는 서비스에 널

리 이용될 것으로 예상된다

본 논문에서는 MPEG-4 멀티미디어 객체들이 각각의 병렬서버에 저

장되어 서비스를 요청한 이동국에서 통합된 하나의 멀티미디어 서비스

로 제공되는 병렬서버 구조를 가정하였다 병렬 서버 구조로 멀티미디

어 데이터를 분산하여 저장할 때의 이점은 서버의 부하를 줄이고 서

버의 고장허용 능력(fault tolerance) 가용성(availability) 확장성

(scalability) 측면에서 단일서버 구조와 비교 할 때 보다 우수한 성

능을 보장된다는 점이다[3] 이와 같은 병렬서버 구조로 하나의 멀

티미디어 콘텐츠를 구성하는 MPEG-4 객체들을 분산저장하고 이를

이동국에 통합하여 제공해 주는 서비스를 제공하기 위해 우선적으

로 해결되어야 할 과제는 바로 각 멀티미디어 객체 스트림들의 동

기화 문제이다[4] 각 멀티미디어 객체들은 고유의 재생율을 갖게 되

며 멀티미디어 데이터의 스트리밍은 일반적인 데이터의 전송과는 달

리 지연에 민감하다 또한 이 데이터들은 말단의 응용에 끊김 없이 제

공되어야 한다[5] 이를 해결하여 멀티미디어 데이터들의 연속성을 유

지하는 것을 멀티미디어 동기화라 한다[4] 멀티미디어 동기화의 가장

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 2: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

工學碩士學位請求論文

무선 환경에서 MPEG-4 비주얼 객체 스트림의

동기화 기법

The Synchronization Scheme of MPEG-4 Visual Object

Stream in the Wireless Environments

2005年 2月

指導敎授 崔 相 昉

이 論文을 工學碩士學位 論文으로 提出함

仁荷大學校 大學院

電子工學科(情報工學專攻)

任 世 根

이 論文을 任世根의 碩士學位論文으로 認定함

2005年 2月

主審____________________

副審____________________

委員____________________

- i -

요약

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격교육서

비스 다채널 방송 등 앞으로 인터렉티브한 멀티미디어 서비스에 널리

이용될 것으로 예상된다 본 논문에서는 무선 환경에서 병렬서버로부

터 멀티미디어 객체들을 전송 할 때 고려되어야 할 각 객체 스트림들의

연속성을 유지하여 끊김 없이 멀티미디어 콘텐츠를 이동국에 서비스

하기 위한 새로운 멀티미디어 객체 동기화 기법을 제안한다

제안된 멀티미디어 객체 동기화 알고리즘은 기지국 단에 삽입되며

크게 다섯 개의 프로시저로 구성된다 첫 번째 프로시저는 멀티미디어

세션 초기화 프로시저로 이 프로시저를 통해 서버와 이동국간에 멀티

미디어 세션이 형성되고 병렬서버에 저장되어 있는 멀티미디어 객체

들의 인터 스트림 동기화를 맞추게 된다 두 번째 프로시저는 버퍼 관

리 프로시저로 버퍼레벨 감지 및 피드백 메시지 전송 루틴과 버퍼 제어

루틴인 두 개의 서브루틴으로 나뉜다 버퍼 관리 프로시저에 의해 버퍼

레벨은 정상 상태로 유지되고 버퍼의 고갈이나 넘침을 방지하므로 이

동국에서의 끊김 없는 영상의 재생이 가능하다 세 번째 프로시저는 초

기 버퍼 지연 할당 프로시저이다 이 프로시저를 통해 기지국에 도착한

- ii -

멀티미디어 객체 스트림 내의 지터는 보상된다 마지막으로는 모든 멀

티미디어 데이터의 전송이 끝난 후 이동국과 서버 사이에 형성 되었던

세션을 종료하는 세션 종료 프로시저가 존재한다 세션 종료 프로시저

에서는 해당 멀티미디어 객체 스트림을 위해 기지국에서 할당되었던

메모리를 반납하게 된다

본 논문에서 제안한 알고리즘을 기지국에 적용한 가상의 네트워크

환경에서 MPEG-4 트레이스 파일을 이용하여 시뮬레이션을 수행하였

다 버퍼 사용량 측면에서의 시뮬레이션 결과로서 기지국에서의 아무

런 보상도 없는 기존의 방법보다 기지국에서의 버퍼 사용율을 73 감

소시켰으며 또한 전송율을 제어하기 위한 제어 메시지의 전송량과 버

퍼의 크기 및 임계값과의 관계도 측정하였다 마지막으로 세 개의 병

렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때

세션 형성 지연의 차이 없이 프레임 폐기율 측면에서도 제안된 동기화

기법이 우수함을 알 수 있었고 기존의 기법과의 비교에서도 별도의 지

연의 추가 없이 프레임 폐기율 측면에서 우수함을 알 수 있었다

- iii -

Abstract

With the explosive growth of Internet populations and the

improvement of mobile computing techniques high-quality video

stream services are available in the wireless environments

Especially multimedia service using object based video coding

of MPEG-4 will be employed for the interactive multimedia

services ie multichannel digital broadcasts and remote

schooling

In this paper we propose a new multimedia transmission and

synchronization scheme for parallel servers in a wireless

environment to preserve continuity of multimedia object stream

and to provide consecutive multimedia service to the mobile

host The proposed scheme is embedded in the base station and

have five procedures First multimedia session initialization

procedure builds up multimedia session between mobile host and

servers and initializes inter-stream synchronization phase of

multimedia objects stored in the parallel servers Second buffer

management procedure that includes buffer level monitoring

routine and buffer control routine preserves buffer level in

normal condition Third procedure of initial buffer delay

allocation compensates jitter Finally end session procedure

- iv -

terminates session between mobile host and servers then this

procedure restores memory that allocated for the multimedia

session to the base station The proposed scheme is developed

specifically for parallel servers that store MPEG-4 data

according to the VOP (video object plane) types ie I- P- and

B-VOP We simulate our model using trace file of MPEG-4

First we observe that our model saves average buffer space of

BS And we measure the frequencies of control message from Bs

to the server according to the buffer size and thresholds We

also compare two models visually using picture samples of

MPEG-4 video Friends

- v -

목차

요약 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ⅰ

Abstract ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ iv

제 1 장 서 론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 1

제 2 장 멀티미디어 동기화 기법 연구∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

21 멀티미디어 동기화 기법∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

22 네트워크를 통한 MPEG-4 전송∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 9

23 병렬 서버 구조∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 11

제 3 장 제안된 멀티미디어 동기화 기법 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

31 기존 알고리즘과의 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

32 제안된 동기화 기법의 개관∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 17

321 QoS 측정규준∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 18

32 2 제안된 프로시저들∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 20

32 3 메시지 흐름∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 21

3 2 4 알고리즘에 쓰인 기호의 의미∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 22

33 멀티미디어 세션 초기화 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 23

331 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 24

332 예 제∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙ 27

- vi -

34 기지국의 버퍼 관리 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 29

341 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 33

35 초기 버퍼 지연 할당 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 34

36 그 밖의 프로시저들∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙ 36

제 4 장 시뮬레이션 환경 모형화 및 결과분석 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙37

41 시뮬레이션 환경 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 37

42 시뮬레이션 파라미터 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 40

43 패킷 손실 모형∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 42

44 기지국의 버퍼 사용량 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 43

45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 46

46 수신된 프레임 샘플 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 49

제 5 장 결론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 51

참고문헌 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 52

- 1 -

제 1 장 서 론

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격 교육

서비스 다채널 방송 등 앞으로의 인터렉티브한 멀티미디어 서비스에

널리 이용될 것으로 예상된다 MPEG-4 표준은 기존의 MPEG 표준들

을 모두 포함하는 동영상 압축 표준으로서 낮은 비트율의 전송을 위한

높은 압축률을 제공하며 오류내성이 강하므로 전송 오류율이 높은 무

선 환경에서의 연상 전송에 적합하다[1] 현재의 CDMA 2000 1x

EVDO와 WCDMA에 기반한 동영상 서비스에서는 MPEG-4로 인코딩

된 초당 15프레임 최대 전송률 64Kbps의 QCIF포맷을 사용하고 있으

며 이는 모바일 호스트의 작은 디스플레이 화면과 기존의 PC에 비해

상대적으로 적은 저장 공간에 적합한 표준이라 할 수 있다[2]

비단 낮은 비트율의 전송을 위한 높은 압축률로 영상 정보를 압축하

려는 목적 외에 MPEG-4는 더 큰 범주를 포함한다 그 대표적인 예가

객체기반 멀티미디어 서비스이다 컴퓨팅 기술의 발달로 CPU의 성능

이 향상되었으며 이는 우리가 기존에 보아왔던 사각형 형태를 갖는 고

정된 화면에서의 영상재생 뿐 아니라 임의의 형태를 지니며 시시각각

변화하는 고정되지 않는 화면의 영상재생을 가능하게 하였다 또한 이

로 인해 하나의 영상을 서로 다른 여러 영상 객체들의 구성으로 표현이

가능해 졌다[1] 예를 들면 스튜디오를 배경으로 남성 여성 앵커가

뉴스를 말하고 여성 앵커의 뒤쪽으로 해당하는 뉴스가 작은 화면으로

- 2 -

디스플레이되는 영상을 가정한다면 기존의 MPEG-2표준에서는 영상

의 프레임 자체가 하나의 객체로 이뤄지지만 MPEG-4 표준에서는 배

경 여성 남성 뉴스화면 각각의 객체들을 각각 인코딩하고 전송할 수

있는 객체 기반의 멀티미디어 서비스를 가능하게 한다 따라서 채널의

악화로 인해 전체 영상의 질을 낮추는 것이 아닌 해당 멀티미디어 콘텐

츠에서 크게 중요하지 않은 배경 등의 질만을 낮춰서 전송해 주는 서비

스도 가능 할 것이며 특히 30Mbps의 전송률을 지원할 예정인 앞으로

의 4세대의 이동통신 시스템에서는 앞서 언급한 다채널 방송 원격 교

육 서비스 등 인터렉티브하며 많은 정보를 전달할 수 있는 서비스에 널

리 이용될 것으로 예상된다

본 논문에서는 MPEG-4 멀티미디어 객체들이 각각의 병렬서버에 저

장되어 서비스를 요청한 이동국에서 통합된 하나의 멀티미디어 서비스

로 제공되는 병렬서버 구조를 가정하였다 병렬 서버 구조로 멀티미디

어 데이터를 분산하여 저장할 때의 이점은 서버의 부하를 줄이고 서

버의 고장허용 능력(fault tolerance) 가용성(availability) 확장성

(scalability) 측면에서 단일서버 구조와 비교 할 때 보다 우수한 성

능을 보장된다는 점이다[3] 이와 같은 병렬서버 구조로 하나의 멀

티미디어 콘텐츠를 구성하는 MPEG-4 객체들을 분산저장하고 이를

이동국에 통합하여 제공해 주는 서비스를 제공하기 위해 우선적으

로 해결되어야 할 과제는 바로 각 멀티미디어 객체 스트림들의 동

기화 문제이다[4] 각 멀티미디어 객체들은 고유의 재생율을 갖게 되

며 멀티미디어 데이터의 스트리밍은 일반적인 데이터의 전송과는 달

리 지연에 민감하다 또한 이 데이터들은 말단의 응용에 끊김 없이 제

공되어야 한다[5] 이를 해결하여 멀티미디어 데이터들의 연속성을 유

지하는 것을 멀티미디어 동기화라 한다[4] 멀티미디어 동기화의 가장

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 3: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

이 論文을 任世根의 碩士學位論文으로 認定함

2005年 2月

主審____________________

副審____________________

委員____________________

- i -

요약

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격교육서

비스 다채널 방송 등 앞으로 인터렉티브한 멀티미디어 서비스에 널리

이용될 것으로 예상된다 본 논문에서는 무선 환경에서 병렬서버로부

터 멀티미디어 객체들을 전송 할 때 고려되어야 할 각 객체 스트림들의

연속성을 유지하여 끊김 없이 멀티미디어 콘텐츠를 이동국에 서비스

하기 위한 새로운 멀티미디어 객체 동기화 기법을 제안한다

제안된 멀티미디어 객체 동기화 알고리즘은 기지국 단에 삽입되며

크게 다섯 개의 프로시저로 구성된다 첫 번째 프로시저는 멀티미디어

세션 초기화 프로시저로 이 프로시저를 통해 서버와 이동국간에 멀티

미디어 세션이 형성되고 병렬서버에 저장되어 있는 멀티미디어 객체

들의 인터 스트림 동기화를 맞추게 된다 두 번째 프로시저는 버퍼 관

리 프로시저로 버퍼레벨 감지 및 피드백 메시지 전송 루틴과 버퍼 제어

루틴인 두 개의 서브루틴으로 나뉜다 버퍼 관리 프로시저에 의해 버퍼

레벨은 정상 상태로 유지되고 버퍼의 고갈이나 넘침을 방지하므로 이

동국에서의 끊김 없는 영상의 재생이 가능하다 세 번째 프로시저는 초

기 버퍼 지연 할당 프로시저이다 이 프로시저를 통해 기지국에 도착한

- ii -

멀티미디어 객체 스트림 내의 지터는 보상된다 마지막으로는 모든 멀

티미디어 데이터의 전송이 끝난 후 이동국과 서버 사이에 형성 되었던

세션을 종료하는 세션 종료 프로시저가 존재한다 세션 종료 프로시저

에서는 해당 멀티미디어 객체 스트림을 위해 기지국에서 할당되었던

메모리를 반납하게 된다

본 논문에서 제안한 알고리즘을 기지국에 적용한 가상의 네트워크

환경에서 MPEG-4 트레이스 파일을 이용하여 시뮬레이션을 수행하였

다 버퍼 사용량 측면에서의 시뮬레이션 결과로서 기지국에서의 아무

런 보상도 없는 기존의 방법보다 기지국에서의 버퍼 사용율을 73 감

소시켰으며 또한 전송율을 제어하기 위한 제어 메시지의 전송량과 버

퍼의 크기 및 임계값과의 관계도 측정하였다 마지막으로 세 개의 병

렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때

세션 형성 지연의 차이 없이 프레임 폐기율 측면에서도 제안된 동기화

기법이 우수함을 알 수 있었고 기존의 기법과의 비교에서도 별도의 지

연의 추가 없이 프레임 폐기율 측면에서 우수함을 알 수 있었다

- iii -

Abstract

With the explosive growth of Internet populations and the

improvement of mobile computing techniques high-quality video

stream services are available in the wireless environments

Especially multimedia service using object based video coding

of MPEG-4 will be employed for the interactive multimedia

services ie multichannel digital broadcasts and remote

schooling

In this paper we propose a new multimedia transmission and

synchronization scheme for parallel servers in a wireless

environment to preserve continuity of multimedia object stream

and to provide consecutive multimedia service to the mobile

host The proposed scheme is embedded in the base station and

have five procedures First multimedia session initialization

procedure builds up multimedia session between mobile host and

servers and initializes inter-stream synchronization phase of

multimedia objects stored in the parallel servers Second buffer

management procedure that includes buffer level monitoring

routine and buffer control routine preserves buffer level in

normal condition Third procedure of initial buffer delay

allocation compensates jitter Finally end session procedure

- iv -

terminates session between mobile host and servers then this

procedure restores memory that allocated for the multimedia

session to the base station The proposed scheme is developed

specifically for parallel servers that store MPEG-4 data

according to the VOP (video object plane) types ie I- P- and

B-VOP We simulate our model using trace file of MPEG-4

First we observe that our model saves average buffer space of

BS And we measure the frequencies of control message from Bs

to the server according to the buffer size and thresholds We

also compare two models visually using picture samples of

MPEG-4 video Friends

- v -

목차

요약 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ⅰ

Abstract ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ iv

제 1 장 서 론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 1

제 2 장 멀티미디어 동기화 기법 연구∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

21 멀티미디어 동기화 기법∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

22 네트워크를 통한 MPEG-4 전송∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 9

23 병렬 서버 구조∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 11

제 3 장 제안된 멀티미디어 동기화 기법 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

31 기존 알고리즘과의 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

32 제안된 동기화 기법의 개관∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 17

321 QoS 측정규준∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 18

32 2 제안된 프로시저들∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 20

32 3 메시지 흐름∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 21

3 2 4 알고리즘에 쓰인 기호의 의미∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 22

33 멀티미디어 세션 초기화 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 23

331 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 24

332 예 제∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙ 27

- vi -

34 기지국의 버퍼 관리 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 29

341 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 33

35 초기 버퍼 지연 할당 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 34

36 그 밖의 프로시저들∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙ 36

제 4 장 시뮬레이션 환경 모형화 및 결과분석 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙37

41 시뮬레이션 환경 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 37

42 시뮬레이션 파라미터 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 40

43 패킷 손실 모형∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 42

44 기지국의 버퍼 사용량 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 43

45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 46

46 수신된 프레임 샘플 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 49

제 5 장 결론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 51

참고문헌 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 52

- 1 -

제 1 장 서 론

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격 교육

서비스 다채널 방송 등 앞으로의 인터렉티브한 멀티미디어 서비스에

널리 이용될 것으로 예상된다 MPEG-4 표준은 기존의 MPEG 표준들

을 모두 포함하는 동영상 압축 표준으로서 낮은 비트율의 전송을 위한

높은 압축률을 제공하며 오류내성이 강하므로 전송 오류율이 높은 무

선 환경에서의 연상 전송에 적합하다[1] 현재의 CDMA 2000 1x

EVDO와 WCDMA에 기반한 동영상 서비스에서는 MPEG-4로 인코딩

된 초당 15프레임 최대 전송률 64Kbps의 QCIF포맷을 사용하고 있으

며 이는 모바일 호스트의 작은 디스플레이 화면과 기존의 PC에 비해

상대적으로 적은 저장 공간에 적합한 표준이라 할 수 있다[2]

비단 낮은 비트율의 전송을 위한 높은 압축률로 영상 정보를 압축하

려는 목적 외에 MPEG-4는 더 큰 범주를 포함한다 그 대표적인 예가

객체기반 멀티미디어 서비스이다 컴퓨팅 기술의 발달로 CPU의 성능

이 향상되었으며 이는 우리가 기존에 보아왔던 사각형 형태를 갖는 고

정된 화면에서의 영상재생 뿐 아니라 임의의 형태를 지니며 시시각각

변화하는 고정되지 않는 화면의 영상재생을 가능하게 하였다 또한 이

로 인해 하나의 영상을 서로 다른 여러 영상 객체들의 구성으로 표현이

가능해 졌다[1] 예를 들면 스튜디오를 배경으로 남성 여성 앵커가

뉴스를 말하고 여성 앵커의 뒤쪽으로 해당하는 뉴스가 작은 화면으로

- 2 -

디스플레이되는 영상을 가정한다면 기존의 MPEG-2표준에서는 영상

의 프레임 자체가 하나의 객체로 이뤄지지만 MPEG-4 표준에서는 배

경 여성 남성 뉴스화면 각각의 객체들을 각각 인코딩하고 전송할 수

있는 객체 기반의 멀티미디어 서비스를 가능하게 한다 따라서 채널의

악화로 인해 전체 영상의 질을 낮추는 것이 아닌 해당 멀티미디어 콘텐

츠에서 크게 중요하지 않은 배경 등의 질만을 낮춰서 전송해 주는 서비

스도 가능 할 것이며 특히 30Mbps의 전송률을 지원할 예정인 앞으로

의 4세대의 이동통신 시스템에서는 앞서 언급한 다채널 방송 원격 교

육 서비스 등 인터렉티브하며 많은 정보를 전달할 수 있는 서비스에 널

리 이용될 것으로 예상된다

본 논문에서는 MPEG-4 멀티미디어 객체들이 각각의 병렬서버에 저

장되어 서비스를 요청한 이동국에서 통합된 하나의 멀티미디어 서비스

로 제공되는 병렬서버 구조를 가정하였다 병렬 서버 구조로 멀티미디

어 데이터를 분산하여 저장할 때의 이점은 서버의 부하를 줄이고 서

버의 고장허용 능력(fault tolerance) 가용성(availability) 확장성

(scalability) 측면에서 단일서버 구조와 비교 할 때 보다 우수한 성

능을 보장된다는 점이다[3] 이와 같은 병렬서버 구조로 하나의 멀

티미디어 콘텐츠를 구성하는 MPEG-4 객체들을 분산저장하고 이를

이동국에 통합하여 제공해 주는 서비스를 제공하기 위해 우선적으

로 해결되어야 할 과제는 바로 각 멀티미디어 객체 스트림들의 동

기화 문제이다[4] 각 멀티미디어 객체들은 고유의 재생율을 갖게 되

며 멀티미디어 데이터의 스트리밍은 일반적인 데이터의 전송과는 달

리 지연에 민감하다 또한 이 데이터들은 말단의 응용에 끊김 없이 제

공되어야 한다[5] 이를 해결하여 멀티미디어 데이터들의 연속성을 유

지하는 것을 멀티미디어 동기화라 한다[4] 멀티미디어 동기화의 가장

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 4: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- i -

요약

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격교육서

비스 다채널 방송 등 앞으로 인터렉티브한 멀티미디어 서비스에 널리

이용될 것으로 예상된다 본 논문에서는 무선 환경에서 병렬서버로부

터 멀티미디어 객체들을 전송 할 때 고려되어야 할 각 객체 스트림들의

연속성을 유지하여 끊김 없이 멀티미디어 콘텐츠를 이동국에 서비스

하기 위한 새로운 멀티미디어 객체 동기화 기법을 제안한다

제안된 멀티미디어 객체 동기화 알고리즘은 기지국 단에 삽입되며

크게 다섯 개의 프로시저로 구성된다 첫 번째 프로시저는 멀티미디어

세션 초기화 프로시저로 이 프로시저를 통해 서버와 이동국간에 멀티

미디어 세션이 형성되고 병렬서버에 저장되어 있는 멀티미디어 객체

들의 인터 스트림 동기화를 맞추게 된다 두 번째 프로시저는 버퍼 관

리 프로시저로 버퍼레벨 감지 및 피드백 메시지 전송 루틴과 버퍼 제어

루틴인 두 개의 서브루틴으로 나뉜다 버퍼 관리 프로시저에 의해 버퍼

레벨은 정상 상태로 유지되고 버퍼의 고갈이나 넘침을 방지하므로 이

동국에서의 끊김 없는 영상의 재생이 가능하다 세 번째 프로시저는 초

기 버퍼 지연 할당 프로시저이다 이 프로시저를 통해 기지국에 도착한

- ii -

멀티미디어 객체 스트림 내의 지터는 보상된다 마지막으로는 모든 멀

티미디어 데이터의 전송이 끝난 후 이동국과 서버 사이에 형성 되었던

세션을 종료하는 세션 종료 프로시저가 존재한다 세션 종료 프로시저

에서는 해당 멀티미디어 객체 스트림을 위해 기지국에서 할당되었던

메모리를 반납하게 된다

본 논문에서 제안한 알고리즘을 기지국에 적용한 가상의 네트워크

환경에서 MPEG-4 트레이스 파일을 이용하여 시뮬레이션을 수행하였

다 버퍼 사용량 측면에서의 시뮬레이션 결과로서 기지국에서의 아무

런 보상도 없는 기존의 방법보다 기지국에서의 버퍼 사용율을 73 감

소시켰으며 또한 전송율을 제어하기 위한 제어 메시지의 전송량과 버

퍼의 크기 및 임계값과의 관계도 측정하였다 마지막으로 세 개의 병

렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때

세션 형성 지연의 차이 없이 프레임 폐기율 측면에서도 제안된 동기화

기법이 우수함을 알 수 있었고 기존의 기법과의 비교에서도 별도의 지

연의 추가 없이 프레임 폐기율 측면에서 우수함을 알 수 있었다

- iii -

Abstract

With the explosive growth of Internet populations and the

improvement of mobile computing techniques high-quality video

stream services are available in the wireless environments

Especially multimedia service using object based video coding

of MPEG-4 will be employed for the interactive multimedia

services ie multichannel digital broadcasts and remote

schooling

In this paper we propose a new multimedia transmission and

synchronization scheme for parallel servers in a wireless

environment to preserve continuity of multimedia object stream

and to provide consecutive multimedia service to the mobile

host The proposed scheme is embedded in the base station and

have five procedures First multimedia session initialization

procedure builds up multimedia session between mobile host and

servers and initializes inter-stream synchronization phase of

multimedia objects stored in the parallel servers Second buffer

management procedure that includes buffer level monitoring

routine and buffer control routine preserves buffer level in

normal condition Third procedure of initial buffer delay

allocation compensates jitter Finally end session procedure

- iv -

terminates session between mobile host and servers then this

procedure restores memory that allocated for the multimedia

session to the base station The proposed scheme is developed

specifically for parallel servers that store MPEG-4 data

according to the VOP (video object plane) types ie I- P- and

B-VOP We simulate our model using trace file of MPEG-4

First we observe that our model saves average buffer space of

BS And we measure the frequencies of control message from Bs

to the server according to the buffer size and thresholds We

also compare two models visually using picture samples of

MPEG-4 video Friends

- v -

목차

요약 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ⅰ

Abstract ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ iv

제 1 장 서 론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 1

제 2 장 멀티미디어 동기화 기법 연구∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

21 멀티미디어 동기화 기법∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

22 네트워크를 통한 MPEG-4 전송∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 9

23 병렬 서버 구조∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 11

제 3 장 제안된 멀티미디어 동기화 기법 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

31 기존 알고리즘과의 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

32 제안된 동기화 기법의 개관∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 17

321 QoS 측정규준∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 18

32 2 제안된 프로시저들∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 20

32 3 메시지 흐름∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 21

3 2 4 알고리즘에 쓰인 기호의 의미∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 22

33 멀티미디어 세션 초기화 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 23

331 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 24

332 예 제∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙ 27

- vi -

34 기지국의 버퍼 관리 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 29

341 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 33

35 초기 버퍼 지연 할당 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 34

36 그 밖의 프로시저들∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙ 36

제 4 장 시뮬레이션 환경 모형화 및 결과분석 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙37

41 시뮬레이션 환경 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 37

42 시뮬레이션 파라미터 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 40

43 패킷 손실 모형∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 42

44 기지국의 버퍼 사용량 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 43

45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 46

46 수신된 프레임 샘플 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 49

제 5 장 결론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 51

참고문헌 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 52

- 1 -

제 1 장 서 론

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격 교육

서비스 다채널 방송 등 앞으로의 인터렉티브한 멀티미디어 서비스에

널리 이용될 것으로 예상된다 MPEG-4 표준은 기존의 MPEG 표준들

을 모두 포함하는 동영상 압축 표준으로서 낮은 비트율의 전송을 위한

높은 압축률을 제공하며 오류내성이 강하므로 전송 오류율이 높은 무

선 환경에서의 연상 전송에 적합하다[1] 현재의 CDMA 2000 1x

EVDO와 WCDMA에 기반한 동영상 서비스에서는 MPEG-4로 인코딩

된 초당 15프레임 최대 전송률 64Kbps의 QCIF포맷을 사용하고 있으

며 이는 모바일 호스트의 작은 디스플레이 화면과 기존의 PC에 비해

상대적으로 적은 저장 공간에 적합한 표준이라 할 수 있다[2]

비단 낮은 비트율의 전송을 위한 높은 압축률로 영상 정보를 압축하

려는 목적 외에 MPEG-4는 더 큰 범주를 포함한다 그 대표적인 예가

객체기반 멀티미디어 서비스이다 컴퓨팅 기술의 발달로 CPU의 성능

이 향상되었으며 이는 우리가 기존에 보아왔던 사각형 형태를 갖는 고

정된 화면에서의 영상재생 뿐 아니라 임의의 형태를 지니며 시시각각

변화하는 고정되지 않는 화면의 영상재생을 가능하게 하였다 또한 이

로 인해 하나의 영상을 서로 다른 여러 영상 객체들의 구성으로 표현이

가능해 졌다[1] 예를 들면 스튜디오를 배경으로 남성 여성 앵커가

뉴스를 말하고 여성 앵커의 뒤쪽으로 해당하는 뉴스가 작은 화면으로

- 2 -

디스플레이되는 영상을 가정한다면 기존의 MPEG-2표준에서는 영상

의 프레임 자체가 하나의 객체로 이뤄지지만 MPEG-4 표준에서는 배

경 여성 남성 뉴스화면 각각의 객체들을 각각 인코딩하고 전송할 수

있는 객체 기반의 멀티미디어 서비스를 가능하게 한다 따라서 채널의

악화로 인해 전체 영상의 질을 낮추는 것이 아닌 해당 멀티미디어 콘텐

츠에서 크게 중요하지 않은 배경 등의 질만을 낮춰서 전송해 주는 서비

스도 가능 할 것이며 특히 30Mbps의 전송률을 지원할 예정인 앞으로

의 4세대의 이동통신 시스템에서는 앞서 언급한 다채널 방송 원격 교

육 서비스 등 인터렉티브하며 많은 정보를 전달할 수 있는 서비스에 널

리 이용될 것으로 예상된다

본 논문에서는 MPEG-4 멀티미디어 객체들이 각각의 병렬서버에 저

장되어 서비스를 요청한 이동국에서 통합된 하나의 멀티미디어 서비스

로 제공되는 병렬서버 구조를 가정하였다 병렬 서버 구조로 멀티미디

어 데이터를 분산하여 저장할 때의 이점은 서버의 부하를 줄이고 서

버의 고장허용 능력(fault tolerance) 가용성(availability) 확장성

(scalability) 측면에서 단일서버 구조와 비교 할 때 보다 우수한 성

능을 보장된다는 점이다[3] 이와 같은 병렬서버 구조로 하나의 멀

티미디어 콘텐츠를 구성하는 MPEG-4 객체들을 분산저장하고 이를

이동국에 통합하여 제공해 주는 서비스를 제공하기 위해 우선적으

로 해결되어야 할 과제는 바로 각 멀티미디어 객체 스트림들의 동

기화 문제이다[4] 각 멀티미디어 객체들은 고유의 재생율을 갖게 되

며 멀티미디어 데이터의 스트리밍은 일반적인 데이터의 전송과는 달

리 지연에 민감하다 또한 이 데이터들은 말단의 응용에 끊김 없이 제

공되어야 한다[5] 이를 해결하여 멀티미디어 데이터들의 연속성을 유

지하는 것을 멀티미디어 동기화라 한다[4] 멀티미디어 동기화의 가장

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 5: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- ii -

멀티미디어 객체 스트림 내의 지터는 보상된다 마지막으로는 모든 멀

티미디어 데이터의 전송이 끝난 후 이동국과 서버 사이에 형성 되었던

세션을 종료하는 세션 종료 프로시저가 존재한다 세션 종료 프로시저

에서는 해당 멀티미디어 객체 스트림을 위해 기지국에서 할당되었던

메모리를 반납하게 된다

본 논문에서 제안한 알고리즘을 기지국에 적용한 가상의 네트워크

환경에서 MPEG-4 트레이스 파일을 이용하여 시뮬레이션을 수행하였

다 버퍼 사용량 측면에서의 시뮬레이션 결과로서 기지국에서의 아무

런 보상도 없는 기존의 방법보다 기지국에서의 버퍼 사용율을 73 감

소시켰으며 또한 전송율을 제어하기 위한 제어 메시지의 전송량과 버

퍼의 크기 및 임계값과의 관계도 측정하였다 마지막으로 세 개의 병

렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때

세션 형성 지연의 차이 없이 프레임 폐기율 측면에서도 제안된 동기화

기법이 우수함을 알 수 있었고 기존의 기법과의 비교에서도 별도의 지

연의 추가 없이 프레임 폐기율 측면에서 우수함을 알 수 있었다

- iii -

Abstract

With the explosive growth of Internet populations and the

improvement of mobile computing techniques high-quality video

stream services are available in the wireless environments

Especially multimedia service using object based video coding

of MPEG-4 will be employed for the interactive multimedia

services ie multichannel digital broadcasts and remote

schooling

In this paper we propose a new multimedia transmission and

synchronization scheme for parallel servers in a wireless

environment to preserve continuity of multimedia object stream

and to provide consecutive multimedia service to the mobile

host The proposed scheme is embedded in the base station and

have five procedures First multimedia session initialization

procedure builds up multimedia session between mobile host and

servers and initializes inter-stream synchronization phase of

multimedia objects stored in the parallel servers Second buffer

management procedure that includes buffer level monitoring

routine and buffer control routine preserves buffer level in

normal condition Third procedure of initial buffer delay

allocation compensates jitter Finally end session procedure

- iv -

terminates session between mobile host and servers then this

procedure restores memory that allocated for the multimedia

session to the base station The proposed scheme is developed

specifically for parallel servers that store MPEG-4 data

according to the VOP (video object plane) types ie I- P- and

B-VOP We simulate our model using trace file of MPEG-4

First we observe that our model saves average buffer space of

BS And we measure the frequencies of control message from Bs

to the server according to the buffer size and thresholds We

also compare two models visually using picture samples of

MPEG-4 video Friends

- v -

목차

요약 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ⅰ

Abstract ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ iv

제 1 장 서 론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 1

제 2 장 멀티미디어 동기화 기법 연구∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

21 멀티미디어 동기화 기법∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

22 네트워크를 통한 MPEG-4 전송∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 9

23 병렬 서버 구조∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 11

제 3 장 제안된 멀티미디어 동기화 기법 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

31 기존 알고리즘과의 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

32 제안된 동기화 기법의 개관∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 17

321 QoS 측정규준∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 18

32 2 제안된 프로시저들∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 20

32 3 메시지 흐름∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 21

3 2 4 알고리즘에 쓰인 기호의 의미∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 22

33 멀티미디어 세션 초기화 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 23

331 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 24

332 예 제∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙ 27

- vi -

34 기지국의 버퍼 관리 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 29

341 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 33

35 초기 버퍼 지연 할당 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 34

36 그 밖의 프로시저들∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙ 36

제 4 장 시뮬레이션 환경 모형화 및 결과분석 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙37

41 시뮬레이션 환경 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 37

42 시뮬레이션 파라미터 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 40

43 패킷 손실 모형∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 42

44 기지국의 버퍼 사용량 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 43

45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 46

46 수신된 프레임 샘플 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 49

제 5 장 결론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 51

참고문헌 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 52

- 1 -

제 1 장 서 론

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격 교육

서비스 다채널 방송 등 앞으로의 인터렉티브한 멀티미디어 서비스에

널리 이용될 것으로 예상된다 MPEG-4 표준은 기존의 MPEG 표준들

을 모두 포함하는 동영상 압축 표준으로서 낮은 비트율의 전송을 위한

높은 압축률을 제공하며 오류내성이 강하므로 전송 오류율이 높은 무

선 환경에서의 연상 전송에 적합하다[1] 현재의 CDMA 2000 1x

EVDO와 WCDMA에 기반한 동영상 서비스에서는 MPEG-4로 인코딩

된 초당 15프레임 최대 전송률 64Kbps의 QCIF포맷을 사용하고 있으

며 이는 모바일 호스트의 작은 디스플레이 화면과 기존의 PC에 비해

상대적으로 적은 저장 공간에 적합한 표준이라 할 수 있다[2]

비단 낮은 비트율의 전송을 위한 높은 압축률로 영상 정보를 압축하

려는 목적 외에 MPEG-4는 더 큰 범주를 포함한다 그 대표적인 예가

객체기반 멀티미디어 서비스이다 컴퓨팅 기술의 발달로 CPU의 성능

이 향상되었으며 이는 우리가 기존에 보아왔던 사각형 형태를 갖는 고

정된 화면에서의 영상재생 뿐 아니라 임의의 형태를 지니며 시시각각

변화하는 고정되지 않는 화면의 영상재생을 가능하게 하였다 또한 이

로 인해 하나의 영상을 서로 다른 여러 영상 객체들의 구성으로 표현이

가능해 졌다[1] 예를 들면 스튜디오를 배경으로 남성 여성 앵커가

뉴스를 말하고 여성 앵커의 뒤쪽으로 해당하는 뉴스가 작은 화면으로

- 2 -

디스플레이되는 영상을 가정한다면 기존의 MPEG-2표준에서는 영상

의 프레임 자체가 하나의 객체로 이뤄지지만 MPEG-4 표준에서는 배

경 여성 남성 뉴스화면 각각의 객체들을 각각 인코딩하고 전송할 수

있는 객체 기반의 멀티미디어 서비스를 가능하게 한다 따라서 채널의

악화로 인해 전체 영상의 질을 낮추는 것이 아닌 해당 멀티미디어 콘텐

츠에서 크게 중요하지 않은 배경 등의 질만을 낮춰서 전송해 주는 서비

스도 가능 할 것이며 특히 30Mbps의 전송률을 지원할 예정인 앞으로

의 4세대의 이동통신 시스템에서는 앞서 언급한 다채널 방송 원격 교

육 서비스 등 인터렉티브하며 많은 정보를 전달할 수 있는 서비스에 널

리 이용될 것으로 예상된다

본 논문에서는 MPEG-4 멀티미디어 객체들이 각각의 병렬서버에 저

장되어 서비스를 요청한 이동국에서 통합된 하나의 멀티미디어 서비스

로 제공되는 병렬서버 구조를 가정하였다 병렬 서버 구조로 멀티미디

어 데이터를 분산하여 저장할 때의 이점은 서버의 부하를 줄이고 서

버의 고장허용 능력(fault tolerance) 가용성(availability) 확장성

(scalability) 측면에서 단일서버 구조와 비교 할 때 보다 우수한 성

능을 보장된다는 점이다[3] 이와 같은 병렬서버 구조로 하나의 멀

티미디어 콘텐츠를 구성하는 MPEG-4 객체들을 분산저장하고 이를

이동국에 통합하여 제공해 주는 서비스를 제공하기 위해 우선적으

로 해결되어야 할 과제는 바로 각 멀티미디어 객체 스트림들의 동

기화 문제이다[4] 각 멀티미디어 객체들은 고유의 재생율을 갖게 되

며 멀티미디어 데이터의 스트리밍은 일반적인 데이터의 전송과는 달

리 지연에 민감하다 또한 이 데이터들은 말단의 응용에 끊김 없이 제

공되어야 한다[5] 이를 해결하여 멀티미디어 데이터들의 연속성을 유

지하는 것을 멀티미디어 동기화라 한다[4] 멀티미디어 동기화의 가장

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 6: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- iii -

Abstract

With the explosive growth of Internet populations and the

improvement of mobile computing techniques high-quality video

stream services are available in the wireless environments

Especially multimedia service using object based video coding

of MPEG-4 will be employed for the interactive multimedia

services ie multichannel digital broadcasts and remote

schooling

In this paper we propose a new multimedia transmission and

synchronization scheme for parallel servers in a wireless

environment to preserve continuity of multimedia object stream

and to provide consecutive multimedia service to the mobile

host The proposed scheme is embedded in the base station and

have five procedures First multimedia session initialization

procedure builds up multimedia session between mobile host and

servers and initializes inter-stream synchronization phase of

multimedia objects stored in the parallel servers Second buffer

management procedure that includes buffer level monitoring

routine and buffer control routine preserves buffer level in

normal condition Third procedure of initial buffer delay

allocation compensates jitter Finally end session procedure

- iv -

terminates session between mobile host and servers then this

procedure restores memory that allocated for the multimedia

session to the base station The proposed scheme is developed

specifically for parallel servers that store MPEG-4 data

according to the VOP (video object plane) types ie I- P- and

B-VOP We simulate our model using trace file of MPEG-4

First we observe that our model saves average buffer space of

BS And we measure the frequencies of control message from Bs

to the server according to the buffer size and thresholds We

also compare two models visually using picture samples of

MPEG-4 video Friends

- v -

목차

요약 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ⅰ

Abstract ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ iv

제 1 장 서 론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 1

제 2 장 멀티미디어 동기화 기법 연구∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

21 멀티미디어 동기화 기법∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

22 네트워크를 통한 MPEG-4 전송∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 9

23 병렬 서버 구조∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 11

제 3 장 제안된 멀티미디어 동기화 기법 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

31 기존 알고리즘과의 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

32 제안된 동기화 기법의 개관∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 17

321 QoS 측정규준∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 18

32 2 제안된 프로시저들∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 20

32 3 메시지 흐름∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 21

3 2 4 알고리즘에 쓰인 기호의 의미∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 22

33 멀티미디어 세션 초기화 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 23

331 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 24

332 예 제∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙ 27

- vi -

34 기지국의 버퍼 관리 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 29

341 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 33

35 초기 버퍼 지연 할당 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 34

36 그 밖의 프로시저들∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙ 36

제 4 장 시뮬레이션 환경 모형화 및 결과분석 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙37

41 시뮬레이션 환경 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 37

42 시뮬레이션 파라미터 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 40

43 패킷 손실 모형∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 42

44 기지국의 버퍼 사용량 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 43

45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 46

46 수신된 프레임 샘플 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 49

제 5 장 결론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 51

참고문헌 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 52

- 1 -

제 1 장 서 론

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격 교육

서비스 다채널 방송 등 앞으로의 인터렉티브한 멀티미디어 서비스에

널리 이용될 것으로 예상된다 MPEG-4 표준은 기존의 MPEG 표준들

을 모두 포함하는 동영상 압축 표준으로서 낮은 비트율의 전송을 위한

높은 압축률을 제공하며 오류내성이 강하므로 전송 오류율이 높은 무

선 환경에서의 연상 전송에 적합하다[1] 현재의 CDMA 2000 1x

EVDO와 WCDMA에 기반한 동영상 서비스에서는 MPEG-4로 인코딩

된 초당 15프레임 최대 전송률 64Kbps의 QCIF포맷을 사용하고 있으

며 이는 모바일 호스트의 작은 디스플레이 화면과 기존의 PC에 비해

상대적으로 적은 저장 공간에 적합한 표준이라 할 수 있다[2]

비단 낮은 비트율의 전송을 위한 높은 압축률로 영상 정보를 압축하

려는 목적 외에 MPEG-4는 더 큰 범주를 포함한다 그 대표적인 예가

객체기반 멀티미디어 서비스이다 컴퓨팅 기술의 발달로 CPU의 성능

이 향상되었으며 이는 우리가 기존에 보아왔던 사각형 형태를 갖는 고

정된 화면에서의 영상재생 뿐 아니라 임의의 형태를 지니며 시시각각

변화하는 고정되지 않는 화면의 영상재생을 가능하게 하였다 또한 이

로 인해 하나의 영상을 서로 다른 여러 영상 객체들의 구성으로 표현이

가능해 졌다[1] 예를 들면 스튜디오를 배경으로 남성 여성 앵커가

뉴스를 말하고 여성 앵커의 뒤쪽으로 해당하는 뉴스가 작은 화면으로

- 2 -

디스플레이되는 영상을 가정한다면 기존의 MPEG-2표준에서는 영상

의 프레임 자체가 하나의 객체로 이뤄지지만 MPEG-4 표준에서는 배

경 여성 남성 뉴스화면 각각의 객체들을 각각 인코딩하고 전송할 수

있는 객체 기반의 멀티미디어 서비스를 가능하게 한다 따라서 채널의

악화로 인해 전체 영상의 질을 낮추는 것이 아닌 해당 멀티미디어 콘텐

츠에서 크게 중요하지 않은 배경 등의 질만을 낮춰서 전송해 주는 서비

스도 가능 할 것이며 특히 30Mbps의 전송률을 지원할 예정인 앞으로

의 4세대의 이동통신 시스템에서는 앞서 언급한 다채널 방송 원격 교

육 서비스 등 인터렉티브하며 많은 정보를 전달할 수 있는 서비스에 널

리 이용될 것으로 예상된다

본 논문에서는 MPEG-4 멀티미디어 객체들이 각각의 병렬서버에 저

장되어 서비스를 요청한 이동국에서 통합된 하나의 멀티미디어 서비스

로 제공되는 병렬서버 구조를 가정하였다 병렬 서버 구조로 멀티미디

어 데이터를 분산하여 저장할 때의 이점은 서버의 부하를 줄이고 서

버의 고장허용 능력(fault tolerance) 가용성(availability) 확장성

(scalability) 측면에서 단일서버 구조와 비교 할 때 보다 우수한 성

능을 보장된다는 점이다[3] 이와 같은 병렬서버 구조로 하나의 멀

티미디어 콘텐츠를 구성하는 MPEG-4 객체들을 분산저장하고 이를

이동국에 통합하여 제공해 주는 서비스를 제공하기 위해 우선적으

로 해결되어야 할 과제는 바로 각 멀티미디어 객체 스트림들의 동

기화 문제이다[4] 각 멀티미디어 객체들은 고유의 재생율을 갖게 되

며 멀티미디어 데이터의 스트리밍은 일반적인 데이터의 전송과는 달

리 지연에 민감하다 또한 이 데이터들은 말단의 응용에 끊김 없이 제

공되어야 한다[5] 이를 해결하여 멀티미디어 데이터들의 연속성을 유

지하는 것을 멀티미디어 동기화라 한다[4] 멀티미디어 동기화의 가장

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 7: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- iv -

terminates session between mobile host and servers then this

procedure restores memory that allocated for the multimedia

session to the base station The proposed scheme is developed

specifically for parallel servers that store MPEG-4 data

according to the VOP (video object plane) types ie I- P- and

B-VOP We simulate our model using trace file of MPEG-4

First we observe that our model saves average buffer space of

BS And we measure the frequencies of control message from Bs

to the server according to the buffer size and thresholds We

also compare two models visually using picture samples of

MPEG-4 video Friends

- v -

목차

요약 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ⅰ

Abstract ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ iv

제 1 장 서 론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 1

제 2 장 멀티미디어 동기화 기법 연구∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

21 멀티미디어 동기화 기법∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

22 네트워크를 통한 MPEG-4 전송∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 9

23 병렬 서버 구조∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 11

제 3 장 제안된 멀티미디어 동기화 기법 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

31 기존 알고리즘과의 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

32 제안된 동기화 기법의 개관∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 17

321 QoS 측정규준∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 18

32 2 제안된 프로시저들∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 20

32 3 메시지 흐름∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 21

3 2 4 알고리즘에 쓰인 기호의 의미∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 22

33 멀티미디어 세션 초기화 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 23

331 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 24

332 예 제∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙ 27

- vi -

34 기지국의 버퍼 관리 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 29

341 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 33

35 초기 버퍼 지연 할당 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 34

36 그 밖의 프로시저들∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙ 36

제 4 장 시뮬레이션 환경 모형화 및 결과분석 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙37

41 시뮬레이션 환경 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 37

42 시뮬레이션 파라미터 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 40

43 패킷 손실 모형∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 42

44 기지국의 버퍼 사용량 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 43

45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 46

46 수신된 프레임 샘플 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 49

제 5 장 결론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 51

참고문헌 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 52

- 1 -

제 1 장 서 론

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격 교육

서비스 다채널 방송 등 앞으로의 인터렉티브한 멀티미디어 서비스에

널리 이용될 것으로 예상된다 MPEG-4 표준은 기존의 MPEG 표준들

을 모두 포함하는 동영상 압축 표준으로서 낮은 비트율의 전송을 위한

높은 압축률을 제공하며 오류내성이 강하므로 전송 오류율이 높은 무

선 환경에서의 연상 전송에 적합하다[1] 현재의 CDMA 2000 1x

EVDO와 WCDMA에 기반한 동영상 서비스에서는 MPEG-4로 인코딩

된 초당 15프레임 최대 전송률 64Kbps의 QCIF포맷을 사용하고 있으

며 이는 모바일 호스트의 작은 디스플레이 화면과 기존의 PC에 비해

상대적으로 적은 저장 공간에 적합한 표준이라 할 수 있다[2]

비단 낮은 비트율의 전송을 위한 높은 압축률로 영상 정보를 압축하

려는 목적 외에 MPEG-4는 더 큰 범주를 포함한다 그 대표적인 예가

객체기반 멀티미디어 서비스이다 컴퓨팅 기술의 발달로 CPU의 성능

이 향상되었으며 이는 우리가 기존에 보아왔던 사각형 형태를 갖는 고

정된 화면에서의 영상재생 뿐 아니라 임의의 형태를 지니며 시시각각

변화하는 고정되지 않는 화면의 영상재생을 가능하게 하였다 또한 이

로 인해 하나의 영상을 서로 다른 여러 영상 객체들의 구성으로 표현이

가능해 졌다[1] 예를 들면 스튜디오를 배경으로 남성 여성 앵커가

뉴스를 말하고 여성 앵커의 뒤쪽으로 해당하는 뉴스가 작은 화면으로

- 2 -

디스플레이되는 영상을 가정한다면 기존의 MPEG-2표준에서는 영상

의 프레임 자체가 하나의 객체로 이뤄지지만 MPEG-4 표준에서는 배

경 여성 남성 뉴스화면 각각의 객체들을 각각 인코딩하고 전송할 수

있는 객체 기반의 멀티미디어 서비스를 가능하게 한다 따라서 채널의

악화로 인해 전체 영상의 질을 낮추는 것이 아닌 해당 멀티미디어 콘텐

츠에서 크게 중요하지 않은 배경 등의 질만을 낮춰서 전송해 주는 서비

스도 가능 할 것이며 특히 30Mbps의 전송률을 지원할 예정인 앞으로

의 4세대의 이동통신 시스템에서는 앞서 언급한 다채널 방송 원격 교

육 서비스 등 인터렉티브하며 많은 정보를 전달할 수 있는 서비스에 널

리 이용될 것으로 예상된다

본 논문에서는 MPEG-4 멀티미디어 객체들이 각각의 병렬서버에 저

장되어 서비스를 요청한 이동국에서 통합된 하나의 멀티미디어 서비스

로 제공되는 병렬서버 구조를 가정하였다 병렬 서버 구조로 멀티미디

어 데이터를 분산하여 저장할 때의 이점은 서버의 부하를 줄이고 서

버의 고장허용 능력(fault tolerance) 가용성(availability) 확장성

(scalability) 측면에서 단일서버 구조와 비교 할 때 보다 우수한 성

능을 보장된다는 점이다[3] 이와 같은 병렬서버 구조로 하나의 멀

티미디어 콘텐츠를 구성하는 MPEG-4 객체들을 분산저장하고 이를

이동국에 통합하여 제공해 주는 서비스를 제공하기 위해 우선적으

로 해결되어야 할 과제는 바로 각 멀티미디어 객체 스트림들의 동

기화 문제이다[4] 각 멀티미디어 객체들은 고유의 재생율을 갖게 되

며 멀티미디어 데이터의 스트리밍은 일반적인 데이터의 전송과는 달

리 지연에 민감하다 또한 이 데이터들은 말단의 응용에 끊김 없이 제

공되어야 한다[5] 이를 해결하여 멀티미디어 데이터들의 연속성을 유

지하는 것을 멀티미디어 동기화라 한다[4] 멀티미디어 동기화의 가장

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 8: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- v -

목차

요약 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ⅰ

Abstract ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ iv

제 1 장 서 론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 1

제 2 장 멀티미디어 동기화 기법 연구∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

21 멀티미디어 동기화 기법∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 4

22 네트워크를 통한 MPEG-4 전송∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 9

23 병렬 서버 구조∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 11

제 3 장 제안된 멀티미디어 동기화 기법 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

31 기존 알고리즘과의 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 13

32 제안된 동기화 기법의 개관∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 17

321 QoS 측정규준∙∙∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 18

32 2 제안된 프로시저들∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 20

32 3 메시지 흐름∙∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 21

3 2 4 알고리즘에 쓰인 기호의 의미∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ ∙ 22

33 멀티미디어 세션 초기화 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 23

331 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 24

332 예 제∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙∙∙∙∙∙∙∙∙∙ 27

- vi -

34 기지국의 버퍼 관리 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 29

341 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 33

35 초기 버퍼 지연 할당 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 34

36 그 밖의 프로시저들∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙ 36

제 4 장 시뮬레이션 환경 모형화 및 결과분석 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙37

41 시뮬레이션 환경 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 37

42 시뮬레이션 파라미터 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 40

43 패킷 손실 모형∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 42

44 기지국의 버퍼 사용량 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 43

45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 46

46 수신된 프레임 샘플 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 49

제 5 장 결론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 51

참고문헌 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 52

- 1 -

제 1 장 서 론

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격 교육

서비스 다채널 방송 등 앞으로의 인터렉티브한 멀티미디어 서비스에

널리 이용될 것으로 예상된다 MPEG-4 표준은 기존의 MPEG 표준들

을 모두 포함하는 동영상 압축 표준으로서 낮은 비트율의 전송을 위한

높은 압축률을 제공하며 오류내성이 강하므로 전송 오류율이 높은 무

선 환경에서의 연상 전송에 적합하다[1] 현재의 CDMA 2000 1x

EVDO와 WCDMA에 기반한 동영상 서비스에서는 MPEG-4로 인코딩

된 초당 15프레임 최대 전송률 64Kbps의 QCIF포맷을 사용하고 있으

며 이는 모바일 호스트의 작은 디스플레이 화면과 기존의 PC에 비해

상대적으로 적은 저장 공간에 적합한 표준이라 할 수 있다[2]

비단 낮은 비트율의 전송을 위한 높은 압축률로 영상 정보를 압축하

려는 목적 외에 MPEG-4는 더 큰 범주를 포함한다 그 대표적인 예가

객체기반 멀티미디어 서비스이다 컴퓨팅 기술의 발달로 CPU의 성능

이 향상되었으며 이는 우리가 기존에 보아왔던 사각형 형태를 갖는 고

정된 화면에서의 영상재생 뿐 아니라 임의의 형태를 지니며 시시각각

변화하는 고정되지 않는 화면의 영상재생을 가능하게 하였다 또한 이

로 인해 하나의 영상을 서로 다른 여러 영상 객체들의 구성으로 표현이

가능해 졌다[1] 예를 들면 스튜디오를 배경으로 남성 여성 앵커가

뉴스를 말하고 여성 앵커의 뒤쪽으로 해당하는 뉴스가 작은 화면으로

- 2 -

디스플레이되는 영상을 가정한다면 기존의 MPEG-2표준에서는 영상

의 프레임 자체가 하나의 객체로 이뤄지지만 MPEG-4 표준에서는 배

경 여성 남성 뉴스화면 각각의 객체들을 각각 인코딩하고 전송할 수

있는 객체 기반의 멀티미디어 서비스를 가능하게 한다 따라서 채널의

악화로 인해 전체 영상의 질을 낮추는 것이 아닌 해당 멀티미디어 콘텐

츠에서 크게 중요하지 않은 배경 등의 질만을 낮춰서 전송해 주는 서비

스도 가능 할 것이며 특히 30Mbps의 전송률을 지원할 예정인 앞으로

의 4세대의 이동통신 시스템에서는 앞서 언급한 다채널 방송 원격 교

육 서비스 등 인터렉티브하며 많은 정보를 전달할 수 있는 서비스에 널

리 이용될 것으로 예상된다

본 논문에서는 MPEG-4 멀티미디어 객체들이 각각의 병렬서버에 저

장되어 서비스를 요청한 이동국에서 통합된 하나의 멀티미디어 서비스

로 제공되는 병렬서버 구조를 가정하였다 병렬 서버 구조로 멀티미디

어 데이터를 분산하여 저장할 때의 이점은 서버의 부하를 줄이고 서

버의 고장허용 능력(fault tolerance) 가용성(availability) 확장성

(scalability) 측면에서 단일서버 구조와 비교 할 때 보다 우수한 성

능을 보장된다는 점이다[3] 이와 같은 병렬서버 구조로 하나의 멀

티미디어 콘텐츠를 구성하는 MPEG-4 객체들을 분산저장하고 이를

이동국에 통합하여 제공해 주는 서비스를 제공하기 위해 우선적으

로 해결되어야 할 과제는 바로 각 멀티미디어 객체 스트림들의 동

기화 문제이다[4] 각 멀티미디어 객체들은 고유의 재생율을 갖게 되

며 멀티미디어 데이터의 스트리밍은 일반적인 데이터의 전송과는 달

리 지연에 민감하다 또한 이 데이터들은 말단의 응용에 끊김 없이 제

공되어야 한다[5] 이를 해결하여 멀티미디어 데이터들의 연속성을 유

지하는 것을 멀티미디어 동기화라 한다[4] 멀티미디어 동기화의 가장

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 9: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- vi -

34 기지국의 버퍼 관리 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 29

341 프로시저 실행 과정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 33

35 초기 버퍼 지연 할당 프로시저∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 34

36 그 밖의 프로시저들∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ ∙∙∙ 36

제 4 장 시뮬레이션 환경 모형화 및 결과분석 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙37

41 시뮬레이션 환경 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 37

42 시뮬레이션 파라미터 설정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 40

43 패킷 손실 모형∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 42

44 기지국의 버퍼 사용량 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 43

45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 46

46 수신된 프레임 샘플 비교∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 49

제 5 장 결론 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 51

참고문헌 ∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙∙ 52

- 1 -

제 1 장 서 론

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격 교육

서비스 다채널 방송 등 앞으로의 인터렉티브한 멀티미디어 서비스에

널리 이용될 것으로 예상된다 MPEG-4 표준은 기존의 MPEG 표준들

을 모두 포함하는 동영상 압축 표준으로서 낮은 비트율의 전송을 위한

높은 압축률을 제공하며 오류내성이 강하므로 전송 오류율이 높은 무

선 환경에서의 연상 전송에 적합하다[1] 현재의 CDMA 2000 1x

EVDO와 WCDMA에 기반한 동영상 서비스에서는 MPEG-4로 인코딩

된 초당 15프레임 최대 전송률 64Kbps의 QCIF포맷을 사용하고 있으

며 이는 모바일 호스트의 작은 디스플레이 화면과 기존의 PC에 비해

상대적으로 적은 저장 공간에 적합한 표준이라 할 수 있다[2]

비단 낮은 비트율의 전송을 위한 높은 압축률로 영상 정보를 압축하

려는 목적 외에 MPEG-4는 더 큰 범주를 포함한다 그 대표적인 예가

객체기반 멀티미디어 서비스이다 컴퓨팅 기술의 발달로 CPU의 성능

이 향상되었으며 이는 우리가 기존에 보아왔던 사각형 형태를 갖는 고

정된 화면에서의 영상재생 뿐 아니라 임의의 형태를 지니며 시시각각

변화하는 고정되지 않는 화면의 영상재생을 가능하게 하였다 또한 이

로 인해 하나의 영상을 서로 다른 여러 영상 객체들의 구성으로 표현이

가능해 졌다[1] 예를 들면 스튜디오를 배경으로 남성 여성 앵커가

뉴스를 말하고 여성 앵커의 뒤쪽으로 해당하는 뉴스가 작은 화면으로

- 2 -

디스플레이되는 영상을 가정한다면 기존의 MPEG-2표준에서는 영상

의 프레임 자체가 하나의 객체로 이뤄지지만 MPEG-4 표준에서는 배

경 여성 남성 뉴스화면 각각의 객체들을 각각 인코딩하고 전송할 수

있는 객체 기반의 멀티미디어 서비스를 가능하게 한다 따라서 채널의

악화로 인해 전체 영상의 질을 낮추는 것이 아닌 해당 멀티미디어 콘텐

츠에서 크게 중요하지 않은 배경 등의 질만을 낮춰서 전송해 주는 서비

스도 가능 할 것이며 특히 30Mbps의 전송률을 지원할 예정인 앞으로

의 4세대의 이동통신 시스템에서는 앞서 언급한 다채널 방송 원격 교

육 서비스 등 인터렉티브하며 많은 정보를 전달할 수 있는 서비스에 널

리 이용될 것으로 예상된다

본 논문에서는 MPEG-4 멀티미디어 객체들이 각각의 병렬서버에 저

장되어 서비스를 요청한 이동국에서 통합된 하나의 멀티미디어 서비스

로 제공되는 병렬서버 구조를 가정하였다 병렬 서버 구조로 멀티미디

어 데이터를 분산하여 저장할 때의 이점은 서버의 부하를 줄이고 서

버의 고장허용 능력(fault tolerance) 가용성(availability) 확장성

(scalability) 측면에서 단일서버 구조와 비교 할 때 보다 우수한 성

능을 보장된다는 점이다[3] 이와 같은 병렬서버 구조로 하나의 멀

티미디어 콘텐츠를 구성하는 MPEG-4 객체들을 분산저장하고 이를

이동국에 통합하여 제공해 주는 서비스를 제공하기 위해 우선적으

로 해결되어야 할 과제는 바로 각 멀티미디어 객체 스트림들의 동

기화 문제이다[4] 각 멀티미디어 객체들은 고유의 재생율을 갖게 되

며 멀티미디어 데이터의 스트리밍은 일반적인 데이터의 전송과는 달

리 지연에 민감하다 또한 이 데이터들은 말단의 응용에 끊김 없이 제

공되어야 한다[5] 이를 해결하여 멀티미디어 데이터들의 연속성을 유

지하는 것을 멀티미디어 동기화라 한다[4] 멀티미디어 동기화의 가장

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 10: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 1 -

제 1 장 서 론

인터넷 인구의 폭발적인 증가와 모바일 컴퓨팅 기술의 발달로 서비

스의 질이 향상되었으며 그 중에서도 실시간 멀티미디어 서비스의 수

요는 과거 몇 년간 꾸준히 증가하는 추세이다 특히 MPEG-4 표준을

이용해 멀티미디어 객체들을 분리하여 인코딩하고 종단의 응용에서 통

합하는 서비스 방식인 객체기반 멀티미디어 서비스 방식은 원격 교육

서비스 다채널 방송 등 앞으로의 인터렉티브한 멀티미디어 서비스에

널리 이용될 것으로 예상된다 MPEG-4 표준은 기존의 MPEG 표준들

을 모두 포함하는 동영상 압축 표준으로서 낮은 비트율의 전송을 위한

높은 압축률을 제공하며 오류내성이 강하므로 전송 오류율이 높은 무

선 환경에서의 연상 전송에 적합하다[1] 현재의 CDMA 2000 1x

EVDO와 WCDMA에 기반한 동영상 서비스에서는 MPEG-4로 인코딩

된 초당 15프레임 최대 전송률 64Kbps의 QCIF포맷을 사용하고 있으

며 이는 모바일 호스트의 작은 디스플레이 화면과 기존의 PC에 비해

상대적으로 적은 저장 공간에 적합한 표준이라 할 수 있다[2]

비단 낮은 비트율의 전송을 위한 높은 압축률로 영상 정보를 압축하

려는 목적 외에 MPEG-4는 더 큰 범주를 포함한다 그 대표적인 예가

객체기반 멀티미디어 서비스이다 컴퓨팅 기술의 발달로 CPU의 성능

이 향상되었으며 이는 우리가 기존에 보아왔던 사각형 형태를 갖는 고

정된 화면에서의 영상재생 뿐 아니라 임의의 형태를 지니며 시시각각

변화하는 고정되지 않는 화면의 영상재생을 가능하게 하였다 또한 이

로 인해 하나의 영상을 서로 다른 여러 영상 객체들의 구성으로 표현이

가능해 졌다[1] 예를 들면 스튜디오를 배경으로 남성 여성 앵커가

뉴스를 말하고 여성 앵커의 뒤쪽으로 해당하는 뉴스가 작은 화면으로

- 2 -

디스플레이되는 영상을 가정한다면 기존의 MPEG-2표준에서는 영상

의 프레임 자체가 하나의 객체로 이뤄지지만 MPEG-4 표준에서는 배

경 여성 남성 뉴스화면 각각의 객체들을 각각 인코딩하고 전송할 수

있는 객체 기반의 멀티미디어 서비스를 가능하게 한다 따라서 채널의

악화로 인해 전체 영상의 질을 낮추는 것이 아닌 해당 멀티미디어 콘텐

츠에서 크게 중요하지 않은 배경 등의 질만을 낮춰서 전송해 주는 서비

스도 가능 할 것이며 특히 30Mbps의 전송률을 지원할 예정인 앞으로

의 4세대의 이동통신 시스템에서는 앞서 언급한 다채널 방송 원격 교

육 서비스 등 인터렉티브하며 많은 정보를 전달할 수 있는 서비스에 널

리 이용될 것으로 예상된다

본 논문에서는 MPEG-4 멀티미디어 객체들이 각각의 병렬서버에 저

장되어 서비스를 요청한 이동국에서 통합된 하나의 멀티미디어 서비스

로 제공되는 병렬서버 구조를 가정하였다 병렬 서버 구조로 멀티미디

어 데이터를 분산하여 저장할 때의 이점은 서버의 부하를 줄이고 서

버의 고장허용 능력(fault tolerance) 가용성(availability) 확장성

(scalability) 측면에서 단일서버 구조와 비교 할 때 보다 우수한 성

능을 보장된다는 점이다[3] 이와 같은 병렬서버 구조로 하나의 멀

티미디어 콘텐츠를 구성하는 MPEG-4 객체들을 분산저장하고 이를

이동국에 통합하여 제공해 주는 서비스를 제공하기 위해 우선적으

로 해결되어야 할 과제는 바로 각 멀티미디어 객체 스트림들의 동

기화 문제이다[4] 각 멀티미디어 객체들은 고유의 재생율을 갖게 되

며 멀티미디어 데이터의 스트리밍은 일반적인 데이터의 전송과는 달

리 지연에 민감하다 또한 이 데이터들은 말단의 응용에 끊김 없이 제

공되어야 한다[5] 이를 해결하여 멀티미디어 데이터들의 연속성을 유

지하는 것을 멀티미디어 동기화라 한다[4] 멀티미디어 동기화의 가장

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 11: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 2 -

디스플레이되는 영상을 가정한다면 기존의 MPEG-2표준에서는 영상

의 프레임 자체가 하나의 객체로 이뤄지지만 MPEG-4 표준에서는 배

경 여성 남성 뉴스화면 각각의 객체들을 각각 인코딩하고 전송할 수

있는 객체 기반의 멀티미디어 서비스를 가능하게 한다 따라서 채널의

악화로 인해 전체 영상의 질을 낮추는 것이 아닌 해당 멀티미디어 콘텐

츠에서 크게 중요하지 않은 배경 등의 질만을 낮춰서 전송해 주는 서비

스도 가능 할 것이며 특히 30Mbps의 전송률을 지원할 예정인 앞으로

의 4세대의 이동통신 시스템에서는 앞서 언급한 다채널 방송 원격 교

육 서비스 등 인터렉티브하며 많은 정보를 전달할 수 있는 서비스에 널

리 이용될 것으로 예상된다

본 논문에서는 MPEG-4 멀티미디어 객체들이 각각의 병렬서버에 저

장되어 서비스를 요청한 이동국에서 통합된 하나의 멀티미디어 서비스

로 제공되는 병렬서버 구조를 가정하였다 병렬 서버 구조로 멀티미디

어 데이터를 분산하여 저장할 때의 이점은 서버의 부하를 줄이고 서

버의 고장허용 능력(fault tolerance) 가용성(availability) 확장성

(scalability) 측면에서 단일서버 구조와 비교 할 때 보다 우수한 성

능을 보장된다는 점이다[3] 이와 같은 병렬서버 구조로 하나의 멀

티미디어 콘텐츠를 구성하는 MPEG-4 객체들을 분산저장하고 이를

이동국에 통합하여 제공해 주는 서비스를 제공하기 위해 우선적으

로 해결되어야 할 과제는 바로 각 멀티미디어 객체 스트림들의 동

기화 문제이다[4] 각 멀티미디어 객체들은 고유의 재생율을 갖게 되

며 멀티미디어 데이터의 스트리밍은 일반적인 데이터의 전송과는 달

리 지연에 민감하다 또한 이 데이터들은 말단의 응용에 끊김 없이 제

공되어야 한다[5] 이를 해결하여 멀티미디어 데이터들의 연속성을 유

지하는 것을 멀티미디어 동기화라 한다[4] 멀티미디어 동기화의 가장

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 12: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 3 -

쉬운 예는 lsquo립싱크rsquo를 들 수 있다 재생되고 있는 대화를 하는 사람의

입모양의 변화는 역시 재생되는 음성과 일치해야 한다 다시 말해 영상

데이터의 시간과 음성 데이터의 시간은 일치시키는 것을 멀티미디어

동기화의 한 예로 볼 수 있다 이러한 멀티미디어 동기화에 관한 연구

는 거의 유선 네트워크 환경에서 이뤄졌고 그 성능이 측정되었다 본

논문에서는 유선에서 연구되어온 기존의 멀티미디어 동기화 기법들을

무선 환경에 적합하도록 변형한 무선 환경에서의 MPEG-4 멀티미디

어 객체 동기화 알고리즘을 제안하도록 하겠다 본 논문에서 제안된 동

기화 기법은 기지국에 삽입되며 동기화 기법의 각 프로시저들은 일차

적인 동기화가 기지국에서 수행됨으로써 얻는 이점을 극대화하기 위한

목적으로 설계되었다

본 논문은 다음과 같이 구성되어 진다 2장에서는 멀티미디어 객체

동기화 기법에 대한 소개 및 기존의 동기화를 위한 기존 유선환경에서

행해졌던 연구들에 대해 소개와 본 논문의 이해를 돕기 위한 배경 지식

들에 대해 살펴 볼 것이다 3장에서는 본 논문에서 제안된 무선 환경을

고려하여 디자인된 멀티미디어 객체 동기화 기법에 대해 설명하고 동

기화 기법을 구성하는 다섯 가지의 프로시저들과 해당 프로시저의 동

작 절차에 대해 설명한다 4장에서는 본 논문에서 제안된 동기화 기법

의 시뮬레이션 환경을 모형화하기 위한 수학적 분석 모델을 제시하고

5장에서는 시뮬레이션을 통해 본 논문이 제시한 알고리즘의 성능을 분

석하고 실제 MPEG-4로 인코딩된 시트콤 lsquo프렌즈rsquo의 단일서버 환경에

서의 전송된 샘플과 본 논문에서 제안된 동기화 기법이 적용된 병렬서

버 환경에서 이동국에 전송된 샘플을 비교하겠다 마지막으로 6장에서

본 논문의 결론 및 향후 연구 과제를 제시하며 본 논문을 마치도록 하

겠다

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 13: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 4 -

제 2 장 멀티미디어 동기화 기법 연구

이 장에서는 본 논문에서 제안한 무선 환경에서의 멀티미디어 객

체 스트림의 동기화 기법에 대해 설명하기 전에 멀티미디어 동기화

를 위해 고려되어야 할 사항들과 기존의 연구들에 대해 설명하고

동영상 압축 표준인 MPEG-4의 기본적인 설명과 MPEG-4데이터의

네트워크 전송을 위한 MPEG-4시스템 표준 그리고 논문에서 가정

한 병렬 서버구조에 대해 설명하겠다

21 멀티미디어 동기화 기법

멀티미디어 객체들의 동기화 분야의 연구는 오래전부터 진행되어

왔다 멀티미디어 객체란 고유한 재생시간과 순서를 가지는 여러 멀

티미디어 데이터들의 집합이다[1] 예를 들면 우리가 흔히 접하는

MPEG-2로 인코딩된 VoD를 가정하자 규격화된 디스플레이 틀 위

로 영상이 재생되고 그 영상에 맞춰 음성이 흐른다 이 때 재생되

는 영상의 시간과 재생되는 음성의 시간대는 동일하여야 한다 이를

멀티미디어 동기화라 하며 동기화는 크게 인터 스트림 동기화(Inter

stream synchronization)와 인트라 스트림 동기화(Intra stream

synchronization)로 분류된다[4] 인터 스트림 동기화란 각 멀티미

디어 객체 스트림 간의 동기화를 의미하며 인트라 스트림 동기화란

하나의 멀티미디어 객체 내의 연속되는 멀티미디어 유니트 사이의

동기화를 의미한다 시스템 안에서 저장된 멀티미디어 데이터를 그

시스템이 재생하는 경우는 멀티미디어 객체 고유의 재생시간에 맞

춰 재생하는 것이 손쉽다 따라서 앞서 기술한 멀티미디어 동기화

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 14: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 5 -

문제는 쉽게 해결된다 하지만 네트워크를 통해 콘텐츠를 스트리밍

하여 서비스하는 경우에는 그 객체들의 고유한 시간순서가 지켜지

기란 쉬운 일이 아니다 가장 큰 세 가지 이유를 제시하면 딜레이

지터(delay jitter)와 시스템의 지터(system jitter) 네트워크 상태의

변화들이다[4] 특히 이러한 멀티미디어 동기화 문제는 단일 서버가

아닌 하나의 멀티미디어 콘텐츠를 구성하는 멀티미디어 객체들을

나눠 병렬서버에 분산저장 한 후 이를 동시에 서비스해 주는 경우

더욱 복잡하게 나타나게 된다 따라서 병렬 서버를 사용한 스트리밍

서비스에서 우선적으로 고려해야 될 사항은 비디오 스트리밍을 구

성하는 각 서버들의 지연이 서로 다르다는 점을 고려해 동기화 시

점을 설정하고 그 동기화 시점에 맞추어 스트림의 전송을 시작하는

것이다[6] 동일하게 전송을 시작한 스트림의 패킷들은 그림 21에

서 보여주는 것처럼 각기 다른 지연을 가지고 클라이언트에 도달하

게 되므로 이러한 지연들을 고려해 동기화 시점을 잡는 것이 우선

적으로 해결해야 할 문제이다

그림 21 동일하게 전송을 시작한 시스템 A와 시스템 B가

만들어낸 패킷은 서로 다른 도착시간을 갖는다

Fig 21 Packets generated from system A and B have different

arrival time

packetizing protlayers network bufferingprotlayers depacketizing

packetizing protlayers protlayersnetwork depacketizing buffering

time

system A

system B

Transmission time of system A

Transmission time of system B Time difference

Sending time of A and B

Receiving time of A Receiving time of B

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 15: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 6 -

기존 연구들에서 이러한 멀티미디어 객체들의 동기화 시점을 잡기

위해 제안한 것은 각 스트림을 독립적인 스트림으로 보지 않고 종

속적인 마스터-슬레이브(master-slave)구조로 보는 것이었다 따라

서 기존의 연구들은 기준이 되는 마스터 스트림의 인트라 스트림

동기화를 유지한다면 사실상 각 멀티미디어 객체 스트림간의 인터

스트림 동기화도 유지된다는 가정에 기초하여 알고리즘을 만들고

시뮬레이션을 통해 이를 검증하였다[7]

그림 22 지터 보상을 위한 버퍼 지연

Fig 22 Buffer delay for jitter compensation

Departure at the source

Arrival at the receiver

Output to the device

A sequence of packets

Offset from original departure timePlay-out point

Network delay Buffer delaytime

123456

1 234 56

123456

이제 문제는 객체 스트림 내에서의 동기화를 지키는 것으로 축소

될 수 있다 많은 연구 결과에서 보여주듯이 객체 스트림 내에서의

동기화는 지연의 차이 즉 지터를 제거함으로써 유지할 수 있다 지

터의 보상을 위해 실제 구현에서 널리 쓰이는 방법은 그림 22와

같이 말단의 멀티미디어 응용에 버퍼 지연을 추가시켜 도착하는 패

킷들을 일정시간 지연시키는 것으로 네트워크를 통한 음성 데이터

의 실시간 전송 분야에서 많이 연구되고 구현되어 왔다[7] 하지만

영상 데이터의 특수성 때문에 기존의 실시간 음성 데이터 전송을

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 16: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 7 -

위한 연구에서 구현된 방법을 그대로 적용시키기에는 무리가 있으

며 새로운 방법들이 제안되어야 한다

음성 데이터는 영상 데이터에 비해 상대적으로 그 크기가 작고 또

한 음성 데이터가 존재하는 패킷에 기준을 맞춰 지터를 보상해 주

면 되므로 음성 데이터가 포함된 각각의 패킷마다 작은 초기 버퍼

지연을 추가하면 되지만[8] 영상데이터의 경우 그 연속성은 영상

데이터가 끝날 때까지 보존되어야 하기 때문에 지터를 보상하기 위

한 큰 초기 버퍼 지연이 필요하게 된다 그렇기 때문에 영상 데이터

가 스트리밍되는 중간에 네트워크 지연이 변하게 되었을 때 처음에

설정하였던 버퍼가 작다면 스트림의 연속성은 파괴 될 것이다 따라

서 성공적으로 영상 데이터의 스트림 내의 동기화를 이루기 위해서

는 효과적이며 동적인 버퍼관리가 필요하게 된다

또한 멀티미디어 스트림의 동기화를 위해서는 기준이 되는 절대

시간이 필요하다 하지만 현재의 인터넷구조에서 글로벌 클럭을 사

용하여 네트워크에 존재하는 모든 노드들의 클럭을 동기화 시킨다

는 것은 사실상 불가능한 일이다 인터넷상에 존재하는 각기 다른

시스템들의 클럭 동기화를 유지하기 위해 NTP(Network Time

Protocol)가 제안되었지만 프로토콜 자체의 복잡성 때문에 대부분의

멀티미디어 동기화 연구에서 쓰이지 않고 있다[9] 대부분의 연구에

서는 각 시스템들의 로컬 클럭에 의존해 멀티미디어 스트림간의 동

기화를 유지하는 구조로 알고리즘을 구현하였다 이는 하나의 스트

림을 볼 때 MPEG표준의 시스템에서 사용되는 OCR(object clock

reference)의 확장이다 서버는 자신이 전송할 스트림이 참조하게

될 클럭을 일정 주기마다 클라이언트에게 전송하고 클라이언트는

이 값을 참조하여 자신의 클럭의 드리프트를 막게 된다 결국 네트

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 17: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 8 -

표 21 인간이 인식할 수 있는 지터의 차이값

Table 21 Quality of Service for synchronization purposes

Media Mode Application QoS

video

animation correlated +- 120ms

audio lip synchronization +- 80ms

imageoverlay +- 240ms

non overlay +- 500ms

textoverlay +- 240ms

non overlay +- 500ms

audio

animation event correlation (dancing) +- 80ms

audio

tightly coupled (stereo) +- 11us

loosely coupled (dialog mode with

various participants)+- 120ms

loosely coupled (background music) +- 500ms

imagetightly coupled (music with notes) +- 5ms

loosely coupled (slide show) +- 500ms

text text animation +- 240ms

pointer audio relates to showed item +- 500ms

워크의 지연 값이 일정하고 시스템간의 클럭 드리프트가 없다고 가

정하면 서버가 멀티미디어 데이터의 패킷을 전송하는 시점에서의

서버의 내부 클럭 값과 클라이언트가 그 패킷을 전송 받는 시점에

서의 클라이언트의 내부 클럭 값은 동일하게 될 것이다

앞서 설명한 것과 같이 멀티미디어 시스템은 가능한 이런 멀티미

디어 객체들의 지터를 피하도록 설계된다 다시 말해 말단의 사용

자 환경에서 보여지거나 들려질때 시간의 연속성을 유지하도록 설

계된다 멀티미디어 객체들의 동기화를 위한 QoS측정수준 연구[10]

에서는 표 21에서와 같이 인간이 감지해 낼 수 있는 지터의 차이

를 측정하여 도표화 하였다

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 18: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 9 -

22 네트워크를 통한 MPEG-4 전송

MPEG-4는 기존의 MPEG표준을 모두 포함하는 동영상 압축 표

준이다 디지털 방송을 위한 HD급의 영상압축 뿐만 아니라 낮은

비트율의 전송을 위한 높은 압축률을 제공하며 오류내성이 강하다[1]

따라서 전송 오류율이 높은 무선 환경에서의 연상 전송에 적합하여 현

재 모바일 환경에서의 동영상 전송을 위한 표준으로 사용되고 있다 또

한 멀티미디어 앞서 설명한 것과 같이 객체 기반의 멀티미디어 인코딩

표준을 제시한다

그림 23 MPEG-4 비주얼 객체들

Fig 23 MPEG-4 Visual objects

Visual objectPart of scene which can be

independently accessed and manipulated

Videoobject

Stilltextureobject

Meshobject

Face and bodyanimation

object

Area oftexturewhichchangeswith time Area of

texturewhich doesnot changewith time

2- or 3-Dsurfacewhichchangeswith time Humanoid mesh

object can changewith expressionand posturevectors

이는 그림 23에서 볼 수 있듯이 통합적인 객체들의 집합으로 하나의

연속되는 영상을 구성할 수 있음을 의미한다 따라서 기존의 MPEG-2

멀티미디어 데이터는 MPEG-4에서 사각형의 틀을 갖는 하나의 비주

얼 객체와 하나의 오디오 객체로 간주될 수 있다 비주얼 객체에서 데

이터의 단위를 AU(Access Unit)라 부르며 이는 예를 들면 MPEG-4

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 19: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 10 -

의 하나의 VOP(Visual Object Plane)를 의미한다 이 AU들의 연속을

ES(Elementary Stream)라 하며 하나 이상의 ES들이 하나의 비주얼

객체(Visual Object)를 구성하게 된다 그리고 각 비주얼 객체의 정보

또한 따로 스트리밍 되는데 이를 OD(Object Descriptor)라 하며 하

나의 장면을 구성하는 각각의 비주얼 객체들의 제어를 위해

BIFS(Binary Format for Scene)가 존재한다[1]

MPEG-4 시스템 표준에서는 말단 응용에서의 멀티미디어 객체들의

연속성을 유지하기 위해 그림 24와 같은 별도의 동기화 계층을 정의

하고 있다[11]

그림 24 MPEG-4 스트림 동기화 계층

Fig 24 Synchronization layer of MPEG-4

Application layer

Synchronization layer

Transport layer

Network layer

Include time stampsproduce OCR

MPEG-4 표준에서 정의하고 있는 동기화 계층에서는 패킷화 되는

데이터들의 동기화를 위해 새 개의 타임스탬프를 사용한다 두 개는 상

대적인 값으로 MPEG-4와 같이 예측 압축기법으로 인코딩된 P- B-

VOP의 디코딩 시간과 재생 시간이 다른 점을 감안해 패킷에

DTS(Decoding Time Stamp)와 PTS(Presentation Time Stamp)가

스태핑되고 절대적인 시간 값인 OCR(Object Clock Reference)값이

전송된다 동기화 계층을 거쳐 패킷화된 스트림을 동기화 계층 패킷화

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 20: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 11 -

스트림(SL packetized Stream)이라 한다 MPEG-4 스트림의 동기화

를 위해 MPEG시스템 표준에서는 동기화 툴인 DMIF(Delivery

Multimedia Integration Framework)를 제공한다 서비스 제공자와

소비자의 각 말단의 응용은 DMIF를 이용해 동기화 계층끼리 통신하

며 MPEG-4 객체들의 동기화를 유지하게 된다[1]

23 병렬 서버 구조

병렬서버구조를 사용함으로써 얻을 수 있는 이점은 서버의 부하를

줄이고 서버의 고장허용 능력 가용성 확장성 측면에서 단일서버

구조와 비교 하여 보다 우수한 성능을 보장한다는 점이다[3] 본 논

문은 MPEG-4 비주얼 객체들이 각각의 서버에 저장되어 전송 될

때의 시나리오를 바탕으로 한다 가장 기본적인 MPEG-4 시퀀스의

구조는 그림 25에서 보여주듯이 인트라 코딩된 I-VOP와 그 VOP

데이터를 참조해 인터코딩 된 P-VOP B-VOP의 연속으로 이뤄지

는 GOP(Group Of Pictures)를 갖는 구조이다 본 논문에서는 그림

26과 같이 하나의 MPEG-4 스트림을 I- P- 그리고 B-VOP인

VOP 타입별로 나눠 세 개의 멀티미디어 객체를 생성하여 각각의

서버에 저장하였다 타입별로 저장된 VOP를 전송할 때의 이점은 본

논문에서 제안된 동기화 기법과 본 논문과 공동으로 수행되고 있는

연구에서 제안된 기지국에서의 우선순위 큐 관리정책이 추과 될 때

P나 B VOP의 복원을 위해 가장 중요한 VOP인 I-VOP를 보호하여

무선 채널이 악화된 상황에서도 보다 나은 질을 갖는 영상을 재생

할 수 있다는 점이다

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 21: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 12 -

그림 25 MPEG-4 시퀀스 구조

Fig 25 MPEG-4 VOP Sequence

I B B P B B P B B P I B B P B B P B B P

GOP1 GOP2

그림 26 제안된 병렬서버 구조

Fig 26 The proposed parallel server architecture

BB PBB PBB P I BB PBB PBB P

BB BBBBServer 3

Server 1

Server 2

BBBBB

I I

P P P P P

B

I

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 22: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 13 -

제 3 장 제안된 멀티미디어 동기화 기법

본 논문에서 제안한 동기화 알고리즘은 크게 여섯 가지의 프로시저

로 구성된다 최초 네트워크에 분산되어 있는 서버로부터 멀티미디어

스트림 객체를 거의 같은 시간에 전송받기 위해서 각각의 서버로부터

의 지연을 계산하여 지연에 따라 각 서버의 전송시작 시간을 결정해야

하며 또한 일단 서비스가 시작되면 끊김 없는 서비스의 제공을 위해

해당 스트림에 대한 기지국에서의 버퍼는 넘치거나 고갈되지 않고 계

속 정상 상태로 유지되어야 한다 이 때 버퍼의 유지가 곤란한 경우 다

시 말해 네트워크 상태 변화에 따른 지연 자체의 변화가 발생 할 경우

다시 재동기화 루틴을 실행하게 된다 기지국까지의 지연의 차이를 보

상해 주기 위해 추가적인 버퍼 지연을 추가하는 프로시저가 동기화 모

듈에 삽입된다

31 기존 알고리즘과의 비교

본 논문에서 제안한 멀티미디어 동기화 알고리즘의 특징을 요약하면

다음과 같다 첫 번째 기존 무선 셀 구조에서 제안된 동기화 기법과는

다르게 멀티미디어 동기화를 위한 모듈은 기지국 단에 삽입되며 따라

서 기지국 단까지 유선망에 의해 야기되는 지터는 기지국에서 보상된

다 서버의 입장에서 기지국은 멀티미디어 서비스를 제공받는 클라이

언트로 간주되고 이동국의 입장에서 기지국은 요청한 멀티미디어 서

비스를 최초로 제공하는 서버로 간주되게 된다 두 번째 특징으로는 기

존의 멀티미디어 동기화 기법에서는 네트워크 상태에 대한 정확한 분

리 없이 패킷의 지연의 차이가 임계치를 넘어서게 되면 재 동기화를

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 23: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 14 -

시도하였으나 이는 불필요한 재동기화로 인한 서비스 질의 하락을 야

기할 수 있다 따라서 본 논문에서 제안한 멀티미디어 동기화 기법에서

는 네트워크의 상태를 그림 31의 예제 시나리오와 같이 세 가지의 상

태로 구분하여 불필요한 재동기화 실행을 방지하였다 예제 시나리오

에서는 동기화 루틴에서 미리 설정된 지터의 범위 안에서 패킷들이 도

착하는 경우(A 90ms에서 110 ms 평균 95ms의 지연) 네트워크 지

연 자체의 변화인 경우(B 70ms에서 150ms 평균 95ms의 지연) 지

터 범위의 변화인 경우(C 180ms에서 200ms 평균 185ms의 지연)로

네트워크 상태를 분류했다 이 경우 A에서 C로 변한다면 재동기화 루

틴을 실행해야 하지만 A에서 B로 변한다면 이는 부가적인 재동기화

실행의 필요 없이 버퍼 관리에 의해 보상 될 수 있다

그림 31 네트워크 상태 분류의 예제 시나리오

Fig 31 Example of classified network condition

0

50

100

150

200

250

1 74 147 220 293 366 439 512 585 658 731 804 877 950 1023 1096 1169 1242 1315 1388 1461

packet number

time

A B C

Change of network delay

Change of jitter bound

(ms)

하지만 기존의 병렬서버 환경에서의 멀티미디어 객체 동기화 알

고리즘에서는 B와 C의 구분이 모호하다 단적인 예의 하나로

Azzedine Boukerche가 제안한 MoSync알고리즘에서는 재동기화

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 24: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 15 -

루틴의 실행을 결정짓는 파라미터 값을 지터의 변화가 임계치를 넘

어서는 것으로 정의했다 따라서 그 알고리즘에서 정의한 지터인 연

속되는 패킷의 지연의 차이가 임계값이 넘어가는 경우는 다시 재동

기화 루틴을 실행하게 되는 것이다 이는 버퍼 관리로 충분히 해결

할 수 있는 상태로 불필요한 재동기화로 인해 서비스의 질을 떨어

뜨리는 결과를 야기한다 따라서 본 논문에서 제안한 알고리즘에서

는 파라미터 값을 연속되는 패킷의 지연의 차이와 버퍼 이상상태가

발생한 직후 말단응용에서 참아낼 수 있는 프레임 폐기율 등의 파

라미터를 추가하여 B와 C 상태를 구분 지었다 또한 동기화 알고리

즘을 그림 32 와 같이 이동국이 아닌 기지국단에 삽입함으로써 기

지국단에서의 중간보상이 일어난다 MoSync 알고리즘과 제안된 알

고리즘의 차이점을 비교하면 다음과 같다

그림 32 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다

Fig 32 New multimedia synchronization scheme is performed

in the base station

wired wireless

Multimedia servers

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile host

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 25: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 16 -

(1) 기존의 동기화 알고리즘

( An Efficient Synchronization Scheme of Multimedia Streams

in Wireless and Mobile System - Azzedine Boukerche )[6]

동기화 알고리즘은 이동국에서 수행되며 중간의 기지국은 단순히

필터의 역할만하게 된다 이 경우 기지국의 부하가 줄어든다는 장점

이 있다 하지만 이동국 시스템의 특성상 모든 동기화 프로시저를

이동국에 삽입한다는 것은 이동국에게는 큰 부하를 줄 수 있다 또

한 부선과 유선의 분리가 정확하게 이뤄지지 않으므로 무선채널의

상태가 악화되는 경우에 대처하지 못한다는 단점이 있다 하지만 기

지국은 단순히 유선과 무선 사이에서 훔쳐보기(snooping)만을 수행

하므로 기지국의 개입은 최소화된다

(2) 제안된 동기화 알고리즘

( 유선에서 무선으로 변하게 되는 노드인 기지국 단에서 동기화 알

고리즘이 수행되며 지터의 일차적인 보상이 일어난다 )

기지국 단에서 일차적인 스트림들의 동기화가 이뤄진다 따라서

기존의 알고리즘보다 기지국의 부하가 커지게 되지만 이동국의 부

담은 적어진다 또한 유선과 무선 상태의 정확한 분리가 이뤄지게

되며 무선 채널이 악화되는 경우 대비책이 마련 될 수 있다 기지국

의 개입은 기존의 알고리즘보다 커지게 되며 추가적으로 기지국 단

에서의 버퍼 관리가 필요하게 된다 따라서 이동국에서의 버퍼 크기

는 현저하게 줄어들 것이다 이는 유선에서 발생하는 지터의 보상이

기지국 단에서 이뤄지기 때문에 일어나는 버퍼크기의 분산 때문이

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 26: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 17 -

32 제안된 동기화 기법의 개관

다음의 사항들은 멀티미디어 스트림의 동기화를 위해 본 논문에서

제안된 새로운 멀티미디어 동기화 기법의 개략적인 사항들이다 네

트워크는 기지국을 중심으로 유선과 무선으로 구분되고 하나의 멀

티미디어 스트림을 구성하는 각각의 멀티미디어 객체들은 위치를

고려하지 않고 네트워크상의 임의의 서버들에 분산되어 있으며 이

동국은 멀티미디어 세션이 생성되고 종료 될 때까지 이동하지 않는

다고 가정하였다 그림 33은 제안된 멀티미디어 객체 동기화 기법

의 상태 천이도를 보여준다

그림 33 제안된 알고리즘의 상태 천이도

Fig 33 State transition diagram of the

proposed scheme

Idle phase(MMUs transmit)

Synchronizationphase

Buffermanagement

phase

Buffer level is normal

Buffer level is abnormal

Buffer level is normal

Buffer full or resync timer expired

Buffer level is abnormal

Detect changed network condition

제안된 멀티미디어 객체 동기화 기법은 세 단계로 동작한다 첫

번째 이상적 전송 단계(Ideal phase)에서는 정상적으로 각 객체 스

트림의 멀티미디어 유니트들(MMUs)이 전송된다 최초의 동기화 단

계(Synchronization phase)를 거친 후 인터스트림 동기화가 이뤄

지고 기지국의 버퍼 할당 및 버퍼 지연의 크기가 결정되면 이상적

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 27: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 18 -

전송 단계로 넘어가게 된다 두 번째 버퍼 관리 단계에서는 버퍼

제어 루틴이 수행된다 버퍼 관리 프로시저를 이루고 있는 두 개의

서브루틴 중 버퍼 감시 루틴은 이상적 전송 상태에서도 수행되지만

일단 버퍼의 이상상태가 감지되면 버퍼 관리 단계로 넘어오게 된다

버퍼 관리 단계에서는 끊김 없는 멀티미디어 데이터의 전송을 위해

서버로의 전송율 제어 메시지 전송 및 버퍼 레벨 제어가 일어난다

마지막 동기화 단계에서는 스트림간의 동기화 프로시저가 수행된다

이 단계는 초기 멀티미디어 세션이 형성 될 때 수행되고 버퍼 관리

단계에서 버퍼의 이상을 막을 수 없을 경우 즉 다시 말해 네트워크

상태 변화에 따른 지연 자체의 변화가 일어났을 경우 재동기화를

위해 수행된다

321 QoS 측정규준

버퍼의 크기는 동적으로 변화시킬 수 있지만 버퍼에 의해 지연되

는 시간이 동적으로 변하는 것은 좋지 않다 만약 접근하는 케이스

가 음성인 경우에는 음성 데이터가 포함된 패킷 사이의 빈 공간을

이용해 동적인 지연을 줄 수 있지만 동영상에 경우에는 선택된 멀

티미디어의 재생 시간동안 한 번의 초기 지연이 있고 연속적으로

동영상이 재생되는 것이 좋다 따라서 동영상의 재생시간동안 일어

나는 지연값의 변화에 따른 끊김 현상은 서비스의 질을 떨어뜨리게

된다 이 연속성은 네트워크의 혼잡으로 인한 말단 버퍼의 고갈로

인하여 깨어질 수 있다 또한 멀티미디어 서비스를 제공받는 사용자

입장에서 큰 데이터의 손실은 QoS를 저해시키는 요소로 작용한다

따라서 재생의 연속성과 함께 동기화 기법이 결정해야만 하는 것은

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 28: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 19 -

시간보존(time preserving)과 손실보존(loss preserving)의 교환관

계이다 초기 버퍼 지연을 크게 잡으면 그만큼 재생시간을 놓쳐서

폐기되는 MMU들의 양을 줄일 수 있지만 너무 큰 버퍼 지연은 시

스템의 저장용량 측면에서 손해이며 또한 서비스를 받는 입장에서

볼 때 낮은 서비스의 질적 측면에서 매우 안 좋다 반면 작은 버퍼

지연은 시스템의 저장용량을 줄일 수 있지만 연속성의 보장 측면에

서 매우 안 좋으며 또한 폐기되는 MMU들의 양이 커 질 수 밖에

없다 따라서 멀티미디어 객체들의 동기화 기법을 설계할 경우 고려

할 점은 다음과 같다

(1) 초기 버퍼 지연(buffering delay)의 효과적인 선택

(2) 응용단(application layer)에서 허락할 수 있는 최대 패킷 로스

율의 측정

(3) (1)과 (2)는 서로 교환(trade-off) 관계에 있으며 이 값은 응용

단에서 선택되어져야 한다 파라미터 값에 의존하거나 동적인 알고

리즘이 추가되어야 한다

본 논문에서 제안된 동기화 기법에서는 초기 버퍼 지연값은 세션

형성 전에 파일롯 패킷에 의해 측정된 측정값에 의존하여 설정되며

지속적으로 일정 주기 동안 측정된 값의 평균치를 적용시켜나가는

방식을 채택했다

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 29: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 20 -

322 제안된 프로시저들

본 논문에서 제안한 멀티미디어 객체 동기화 기법에 포함되는 프

로시저는 크게 다섯 가지로 분류할 수 있다 다음은 각 프로시저들

의 개략적인 설명이다

(1) 멀티미디어 세션 초기화 프로시저

( Multimedia session initialization procedure )

최초 세션을 생성하게 되면 이 프로시저를 통해 각 스트림들은 초

기 스트림 간의 동기화를 맞추게 된다 우선은 각 서버로부터 루트

에서 생기는 지터는 무시하고 순수한 지연만으로 동기화 시점을 계

산하고 적용한다

(2) 버퍼 관리 프로시저

( Buffer management procedure )

만약 기지국 단에서 초기에 설정한 버퍼의 넘침이나 고갈이 감지

되면 버퍼 관리 프로시저로 들어가게 된다 본 논문에서는 제어 메

시지에 따른 서버의 피드백으로 버퍼의 이상 상태를 막는 Open

loop control 방식을 적용하여 프로시저를 구현했다

(3) 초기 버퍼 지연 할당 프로시저

( Allocation procedure of initial buffer delay )

본 논문에서는 지터의 일차적인 보상을 위해 각 스트림을 기지국

단에서 지연시킨다 이를 위해 기지국단은 자신을 멀티미디어 서비

스를 받는 응용으로 간주하고 초기 플레이아웃 버퍼 지연을 발생시

키며 각 스트림의 패킷의 순서를 정하기 위한 스케쥴링 모듈이 삽

입된다

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 30: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 21 -

(4) 재동기화 프로시저

( Re-synchronization procedure )

네트워크의 지연이 응용이 참아낼 수 있는 손실을 고려하여 설정

된 임계값을 넘어서게 되면 재동기화 루틴으로 넘어가게 된다

재동기화 프로시저는 모든 프로세스를 리셋하고 멀티미디어 서비스

초기화 루틴에 삽입된 동기화루틴을 다시 행함으로써 이루어진다

(5) 세션 종료 프로시저

( End-session procedure )

이동국이 자신이 원하는 멀티미디어를 전송받은 후에는 세션 종료

프로시저가 실행되며 연결된 세션을 끊고 쓰고 있던 메모리는 반납

된다

323 메시지 흐름

네트워크의 혼잡을 피하기 위해서 설계되는 동기화 기법이 주고

받는 메시지의 수는 최소화 되어야 한다 따라서 분산된 멀티미디어

객체들의 동기를 맞추기 위한 프로토콜은 최적의 메시지 패킷으로

최고의 효율을 낼 수 있도록 설계 되어야 한다 다음은 제안된 기법

에서의 각 프로시저 별 필요 메시지들에 대한 설명이다

(1) 멀티미디어 세션 초기화 프로시저 이 프로시저의 메시지는 서

버와 이동국사이의 각각의 말단까지 도달하게 된다

(2) 버퍼 관리 프로시저 서버와 기지국사이에서 주고받는 메시지

들이다 기지국단의 버퍼만을 고려해서 디자인되었으며 이 메시지

들은 기지국 단에서 소멸된다

(3) 세션 종료 프로시저 서버에서 이동국 사이 전달되는 메시지로

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 31: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 22 -

초기에 생성되었던 멀티미디어 세션의 종료를 알리는 메시지들이다

324 알고리즘에 쓰인 기호의 의미

표 31 알고리즘에 쓰인 기호의 의미

Table 31 Notations

symbol meaning

BS Base StationMH Mobile Host

Serveri i is server indexMMUk Multimedia unit from Serveri

ts First time stamp tri Time stamp for returning packet from Serveri

sti Media request time of Serveri

Rtsi RTT from the BS to Serveri

Rtmax Maximum RTT from the BS to Serveri

bi Requested value of a buffer slot for Serveri

Bi Buffer size for Serveri

Bmax Maximum size of available memory

δ Maximum sti

ri Service rate of Serveri

SCR System clock referenceBLT Lower threshold of bufferBUT Upper threshold of bufferBsend Size of the send buffer

rsend sending rate of send bufferT To calculate sending time of first frame

NM Next MMUtd Total-end-to-end delay k MMU number

ndn Network delay of n MMU

bn Slot number for corresponding MMU n

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 32: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 23 -

33 멀티미디어 세션 초기화 프로시저

서로 다른 지연을 가지는 병렬 서버로부터의 멀티미디어 객체들

의 스트림을 이동국에 서비스하기 위해선 별도의 서비스 초기화 알

고리즘이 필요하다 이 세션 초기화 알고리즘 안에는 최초 멀티미디

어 객체 스트림간 동기화(inter-stream synchronization) 알고리즘

이 삽입되며 초기 이동국의 서비스 요청 시 서로 교환하는 메시지

들을 통해 각 서버와의 지연을 측정하고 그 측정치를 바탕으로 각

서버들이 스트림 전송을 시작하는 시간을 계산한다 멀티미디어 서

비스를 초기화하기 위한 메시지의 흐름은 그림 34와 같다

그림 34 멀티미디어 세션 초기화 메시지 흐름도

Fig 34 Message flow of the multimedia session initialization

procedure

serveri BS MH

① VoD_request message

② Set_Session message

③ Set_Session_ACK message

④ Vod_request_ACK message

⑤ Prepare_OK message

⑥ Media_request message

⑦ Start media service

⑧ Start VoD service

본 논문에서 제안한 멀티미디어 동기화 기법에서는 병렬 서버간의

동기를 맞추기 위해 글로벌 클럭을 사용하지 않는다고 가정하였으

며 또한 네트워크 타임 프로토콜(NTP) 같은 복잡한 프로토콜에 대

한 의존성을 배제했다 따라서 시스템의 로컬 클럭만을 이용해 동기

화를 맞추게 된다 제안된 알고리즘에서는 서로 다른 시스템들 간의

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 33: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 24 -

클럭 동기화를 위해 타임 스탬프를 사용하고 클럭 드리프트는 주기

적인 재동기화 루틴을 통해 해결하고자 하였다 그림 35는 멀티미

디어 세션 초기화 프로시저의 의사코드를 보여주고 그림 36는 서

버와 모바일 호스트에서의 서비스 초기화 프로시저의 의사코드를

보여준다

331 프로시저 실행과정

(1) 멀티미디어 서비스를 제공받기를 원하는 이동국은 자신이 속해 있

는 셀을 관장하는 기지국으로 VoD_Request Message를 전송한다

(2) VoD_Request Message를 전송받은 후 기지국은 VoD를 구성는

객체 스트림들이 저장된 각각의 서버로 Set_Session Message를 전송

한다 이 때 전송되는 메시지에는 기지국의 로컬 타임이 스태핑된다

(3) 기지국으로부터 Set_Session Message를 전송받은 각 서버들은

저장된 멀티미디어 객체에 이상이 없고 전송 가능한 경우 기지국으로

Set_Session_ACK Message를 전송한다 이 때 Set_Session

Message에 포함되어 있는 기지국의 첫 번째 타임 스태핑된 정보와 자

신이 스트리밍하게 될 멀티미디어 객체의 전송률과 필요 대역 그리고

기지국에서 할당해야할 버퍼의 크기 정보 등이 피기백 되어 전송된다

(4) 기지국은 Set_Session_ACK Message 에 맞춰 각 서버의 RTT를

계산하게 된다 마지막 메시지가 도착하면 기지국은 이동국으로

VoD_Request_ACK Message를 전송하고 멀티미디어 동기화 시점을

계산하여 이 시간에 맞춰 Media_Request Message를 전송할 준비를

한다

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 34: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 25 -

그림 35 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드

Fig 35 Pseudo code for multimedia session initialization

procedure in the base station

Receive VoD_request message from the BS while ( Serveri ) ts Current time stamping local time of the BS Send Set_Session Message to the server

Receive Set_Session_ACK message from each server while ( receive Set_Session_ACK message from Serveri ) Bi lceil2 ∆ rirceil bi allocating buffer for the server tri Current time stamping local time of BS Rtsi tri - ts calculating RTT from the BS to the server Rtmax max Rtsi | for all i calculating maximum RTT while ( Serveri ) sti Rtmax - Rtsi calculating Media_request time of Serveri

δ max sti | for all i calculating maximum sti

Send VoD_request_ACK message to the MH

Receive Prepare_OK message from the MH Set Sending timer for Serveri Set SCR Current time setting of system clock reference while ( Serveri ) if ( Sending timer expired for the server ) Stamping SCR on the Media_request message packet Send Media_request message for the server

Receive MMU from Serveri Start VoD_Service Procedure

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 35: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 26 -

그림 36 서버와 이동국에서의 멀티미디어 세션 초기화

프로시저의 의사코드

Fig 36 Pseudo code for multimedia session initialization

procedure in the mobile host and servers

In Server

Receive Set_Session message from the BS Write bi ts and ri on Set_Session_ACK message packet Send Set_Session_ACK message to the BS

Receive Media_request message from the BS Read SCR(1) from the Media_request message Set SCR(1) for the stream i Start Media_service to the BS

In MH

Send VoD_request message to the BS

Receive VoD_request_ACK message from the BS Allocate buffer for the VoD Send Prepare_OK message to the BS

이 때 계산되어지는 각 서버로부터 기지국까지의 RTT와 동기화 시점

은 아래의 식에 의해 계산되어진다

Rts1 = tr1 - ts Rts2 = tr2 - ts Rts3 = tr3 - ts (31)

Rtmax = max Rtsi | for all i (32)

또한 각각의 멀티미디어 객체 스트림을 위해 버퍼를 할당하게 되는데

할당하는 최소 버퍼의 크기는 최대 지터를 고려해 계산된다[11]

Initial buffer delay =lceil2 ( dmax - dmin )rceil (33)

Bi =lceil2 ( dmax - dmin ) rirceil sizeof( MMUi ) (34)

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 36: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 27 -

Ball =Σk = 1

n

(lceil2 ( dmax - dmin ) rirceil sizeof( MMUi )) (35)

(5) VoD_Request_ACK Message를 전송받은 이동국은 멀티미디어

스트림을 위한 버퍼를 할당하고 기지국으로 Prepared_OK Message

를 전송한다

(6) Prepared_OK Message를 전송받은 기지국은 계산된 동기화 시점

에 맞춰 각각의 서버로 Media_Request_ACK Message를 전송한다

계산된 동기화 시점은 다음과 같다

message sending time = Rtmax - Rts1 (36)

(7) Media_Request_ACK Message가 도착하면 각 서버는 자신이 저

장한 머리미디어 객체 스트림의 전송을 시작한다 각 서버로부터 전송

되는 멀티미디어 객체 스트림은 기지국을 거처 이동국에게 서비스 된

332 세 개의 병렬 서버로부터의 동기화 시점의 예

예를 들어 세 개의 서버로부터 멀티미디어 객체 스트림을 전송받아

완전한 멀티미디어 서비스를 이동국에 제공한다고 가정하자 서버 S1

S2 S3로의 유선망이 각각 3 4 5초의 지연을 갖는다면 메시지 흐름

도는 아래의 그림 37과 같다 결론적으로 가정한 간단한 시나리오에

서는 Media_Request Message를 기지국에서 S1으로 4초 후 S2로는

2초 후 S3은 즉시 전송하게 되어 세 개의 서버로 부터의 멀티미디어

스트림 객체는 동일한 시간대에 기지국에 도달하게 된다

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 37: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 28 -

그림 37 멀티미디어 세션 초기화 프로시저의 예제

Fig 37 Example of the multimedia session

initialization procedure

BS MH

VoD_Request

S1 S2 S3

Set_Session

Set_Session_Ack

Media_Request

VoD_Request_Ack

Prepare_OK

MMUsStart service

1

2

3

4

5

6

2

7

8

4

9

10

11

1

12

13

14

15

12

16

17

18

19

20

21

22

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 38: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 29 -

34 기지국의 버퍼 관리 프로시저

일단 멀티미디어 세션 초기화 프로시저를 수행 후 서버들과 이동

국 사이에는 멀티미디어 세션이 형성되고 이동국은 멀티미디어 서

비스를 제공받게 된다 현재의 기지국은 많은 수의 이동국의 관리하

며 제안된 동기화 모듈이 삽입되면 이는 기지국 입장에서는 엄청난

부하이다 따라서 일차적으로는 기지국 단에서의 부하를 줄이고 이

차적으로는 끊김없는 멀티미디어 데이터의 공급을 위해서는 보다

정확한 버퍼의 관리가 이뤄져야 하며 만약 기지국 버퍼의 넘침이나

고갈이 감지되면 버퍼 관리 프로시저로 들어가게 된다

그림 38 기지국에서 서버로의 버퍼 제어 메커니즘

Fig 38 Buffer control mechanism from BS to the server

source

UW LW

server BS

Buffer control routine

Server-client control loop

Controlled rate

Buffer monitoring routine

기지국에서 각 멀티미디어 객체 스트림의 버퍼에 상한 하한 임계

값(BUT BLT)을 설정하고 이 임계값에 버퍼레벨이 접근하면 메시지

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 39: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 30 -

를 서버로 보내게 된다 버퍼 관리 프로시저는 두개의 서브 루틴으

로 구성된다 첫 번째 버퍼 레벨 감지 및 제어 메시지 전송 루틴에

서는 버퍼의 이상상태가 발생할 것임을 감지하게 되고 이상 상태가

감지되면 해당 서버로 전송률 조절을 위한 컨트롤 메시지를 전송하

게 된다 다시 말해 미리 설정된 두 임계값에 버퍼 레벨이 도달하

게 되면 이는 곧 버퍼의 이상상태가 발생함을 뜻하게 되고 버퍼레

벨을 정상으로 되돌리기 위해 서버로 전송률 제어 메시지를 보내게

된다 두 번째 버퍼 제어 루틴에서는 버퍼 넘침 상황에서 제어된 전

송율로 멀티미디어 객체를 전송받기 전에 도착한 MMU에 대해 기

지국이 그 객체 스트림에게 할당할 수 있는 최대 버퍼 크기(Bmax)만

큼 버퍼를 자라게 하며 MMU를 수용하고 상한 임계값을 재설정한

다 버퍼의 넘침이나 고갈로 인한 영향이 미리 설정된 수치를 넘어

서게 되면 재동기화 프로시저를 호출하게 된다 그림 310은 버퍼

관리 프로시저 중 버퍼 레벨 감시와 전송율 제어 메시지 전송 루틴

의 의사코드를 보여주며 그림 311은 버퍼 제어 루틴의 의사코드를

보여준다

그림 39 제안된 동기화 기법의 기지국에서의 버퍼 모델

Fig39 Buffer model for the proposed synchronization

scheme

BLT BUTBNORMAL Bi Bmax

Initial buffer size

Additionally allocatable buffer storage

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 40: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 31 -

그림 310 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드

Fig 310 Pseudo code for buffer level monitoring and feedback

message transmission

In Base Station Buffer level monitoring

and feedback message transmission

if ( BLi gt BUT ) if buffer level reaches the upper threshold flagtmp flag current status stores in flagtmp Set flag overflow Send Higher_rate message to the serveri

else if ( BLi lt BLT ) if buffer level reaches the lower threshold flagtmp flag current status stores in flagtmp Set flag underflow Send Lower_rate message to the serveri

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 41: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 32 -

그림 311 버퍼 제어 루틴의 의사코드

Fig 311 Pseudo code for buffer control routine

Buffer control routine Detect Change_of_flag in the BS

if ( flag == overflow ) while ( flag ) while flag is overflow if ( Bmax lt Bi + sizeof(MMUk) ) If there are enough memory space for allocating additional buffer in the base station then allocate additional buffer Bi Bi + sizeof(MMUk) count ++ else Discard MMUk incoming packet is discarded Call re_sync procedure else if ( flag == underflow ) Set timer setting the timer for calculation of re-sync time threshold while ( flag ) while flag is underflow if ( timer is expired ) if the timer is expired Call re_sync procedure it is the changing of network condition else if ( flag == normal ) Send Normal_rate message for the serveri if ( flagtmp == overflow ) past status of flow is overflow Bi sizeof(MMUk) count calculation of allocated additional buffer size Bi Bi - Bi reallocate buffer for current stream free ( Bi )

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 42: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 33 -

341 프로시저 실행 과정

(1) 버퍼 레벨 감지 루틴은 버퍼레벨을 지속적으로 감시하여 버퍼레벨

이 이상상태에 도달하게 되면 서버로 제어 메시지를 전송하게 된다

만약 버퍼의 넘침이 감지되면 현재 플래그를 저장하고 플래그를 오버

플로우로 변경하며 동시에 해당 서버에 Lower_Rate Message를 전송

하게 된다 이를 통보받은 서버는 자신이 제공하고 있는 스트림의 전송

율을 한 단계 낮추게 된다

(2) 만약 버퍼의 고갈이 감지되면 현재 플래그를 저장하고 플래그를

언더 플로우로 변경하며 동시에 해당 서버에 Higher_Rate Message를

전송하게 된다 역시 이를 통보받은 서버는 자신이 제공하고 있는 스트

림의 전송율을 한 단계 높여 전송하게 된다

(3) 플래그가 변경되면 버퍼 제어 루틴이 실행된다 변경된 플래그가

오버 플로우이면 루틴은 버퍼 넘침의 위험이 있음을 알게 되고 제어

메시지에 의해 조절된 전송율로 스트림을 전송받기 전까지 해당 스트

림에 대해 기지국이 최대로 할당할 수 있는 크기(Bmax)만큼 버퍼를 증

가시키며 해당 스트림의 MMU를 수용한다

(4) 만약 기지국이 혼잡하여 그 스트림 객체에서 더 이상의 버퍼를 할

당할 수 없으면 들어오는 멀티미디어 객체 스트림의 MMU는 폐기된

다 폐기율이 응용이 허락한 임계값을 넘어서게 되면 이는 네트워크

지연 자체의 변화로 간주되어 재동기화 프로시저를 호출하게 된다 그

전까지는 지터 범위의 변화로 간주되고 버퍼가 자람으로써 해결되며

또한 일정시간 측정된 지터 범위의 평균치는 저장되어 업데이트 주기

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 43: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 34 -

가 끝나게 되면 초기 지연값에 반영된다

(5) 변경된 플래그가 언더 플로우이면 루틴은 버퍼 고갈의 위험이 있

음을 알게 되고 재 동기화를 위한 타이머를 설정한다 제어 메시지에

의해 조절된 전송율로 스트림을 전송받기 전까지 버퍼에 남아있는

MMU의 복사본이 이동국으로 전송된다 타이머가 끝날 때까지 버퍼가

고갈 상태에 있으면 이는 네트워크 지연 자체의 변화로 간주되어 재동

기화 프로시저를 호출하게 된다

(6) 플래그의 상태가 노멀로 변경되면 이는 버퍼레벨이 정상이 되었음

을 의미한다 만약 저장되어있는 과거의 플래그가 오버 플로우라면 해

당하는 멀티미디어 객체 스트림을 위해 추가적으로 할당되었던 버퍼를

기지국에 반납하게 된다

35 초기 버퍼 지연 할당 프로시저

본 논문에서 제안된 멀티미디어 객체의 동기화 기법에서는 각 서

버로부터 전송되는 멀티미디어 객체의 스트림들은 기지국 단에서

일차적인 버퍼 지연을 겪게 된다 이는 멀티미디어 패킷이 유선 네

트워크를 통해 겪게 된 지터의 일차적인 보상과 현재의 셀 구조에

서 기지국을 중심으로 유선과 무선 채널의 영향의 분리를 목적으로

한다 이를 위해 기지국의 전송 버퍼는 마치 말단의 실시간 스트리

밍 멀티미디어 응용에서 쓰이는 플레이 아웃 버퍼(play-out

buffer)[7]처럼 동작한다

이 프로시저가 기지국에서 수행됨으로써 기지국은 중간노드가 아

닌 말단의 서비스를 받는 최종 소비단으로 고려되어 초기 지연을

더하게 되며 이동국의 입장에서는 멀티미디어 데이터는 서버가 아

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 44: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 35 -

그림 312 초기 버퍼 지연 할당 프로시저의 의사코드

Fig 312 Pseudo code for initial buffer delay allocation procedure

Receive multimedia frame from the receiving buffer of Serveri

while ( MMU ) if ( MMU == first MMU ) If the MMU is first MMU of the stream bn ( td - bn ) rsend Calculate slot numer of corresponding MMU NM n - bn Calculate a parameter for the next MMU else If the MMU is not first MMU of the stream if ( n lt Nf ) If MMU number is smaller than NM Drop this MMU this MMU is useless else If MMU mumber larger than NM Set MMU into the ( n - Nf )th slot This MMU arrives in time

닌 기지국이 최초로 생성하여 서비스 해주는 것처럼 여기게 된다

그림 312은 초기 버퍼 지연의 의사코드를 나타낸다

삽입된 전송버퍼의 각 슬롯들은 일정시간을 주기로 옆 슬롯으로

자리이동 되게 된다 예를 들면 전송버퍼의 전송주기마다 i번째 슬

롯에 위치한 프레임들은 i-1번째의 슬롯으로 자리이동하게 된다 앞

서 설명하였듯이 기지국에서 더해지는 초기 버퍼 지연은 그 말단의

멀티미디어 응용이 참아낼 수 있는 패킷의 손실양과 교환 관계에

있으며 이 매개변수는 최종 멀티미디어 응용에서 해결 할 문제이

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 45: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 36 -

36 그 밖의 프로시저들

멀티미디어 스트림의 전송을 위해 본 논문에서는 네트워크의 상태

를 세 가지 상태로 나누었다 우선 처음에 발생된 지터가 설정된 지

터의 범위 안에 있는 경우 두 번째로는 지터의 범위가 변화하여 재

설정되어야 하는 경우 세 번째로는 지연 자체가 변화하여 재동기가

필요한 경우이다 따라서 위 프로시저들로 지터의 변화에 대해선 보

상이 가능하지만 지연 자체의 변화를 발견하게 되면 그 변화가 임

계값을 넘어섰을 때( 임계값은 응용이 참아낼 수 있는 손실을 고려

하여 정한다) 재동기화 프로지서를 실행한다 재동기화 프로시저는

모든 프로세스를 리셋하고 멀티미디어 서비스 초기화 루틴에 삽입

된 동기화루틴을 다시 행함으로써 이루어진다 마지막으로 멀티미디

어 세션 종료 프로시저는 이동국과 서버사이에 생성된 멀티미디어

세션을 종료시킨다 이동국이 멀티미디어 데이터를 모두 재생하고

세션 종료 메시지를 기지국 단에 보내면 기지국은 이동국과 서버사

이에 형성된 모든 멀티미디어 세션을 종료하게 되고 기지국 단에서

그 세션을 위해 할당되었던 메모리를 반환하게 된다

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 46: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 37 -

제 4 장 시뮬레이션 환경 모형화 및 결과 분석

41 시뮬레이션 환경 설정

제안된 동기화 알고리즘의 성능측정을 위한 시뮬레이션은 제안된 알

고리즘이 적용되었을 시의 버퍼 크기 비교 프로토콜의 메시지 수 측

정 그리고 전체적인 구조에서의 데이터 손실률을 측정 등 세 가지의

범주로 나누었다 이 세 가지 범주에서의 성능측정을 위해 그림 41과

같은 두 가지의 시뮬레이션 환경에 제안된 동기화 기법을 적용시켰다

따라서 시뮬레이션 결과는 제안된 동기화 기법이 기지국단에서 수행

될 때와 이동국에서 수행될 때를 비교한다 기존의 방식에서는 동기화

기법이 이동국단에서 수행되며 기지국은 멀티미디어 객체 스트림의

동기화를 위해 아무것도 관여하지 않는다 따라서 각각의 병렬서버로

부터 전송되는 비디오 패킷들은 유선망을 거치며 임의의 전송 지연을

겪은 후 기지국의 라우터에 도착하게 되며 기지국의 라우터에서는 단

순히 패킷들의 스케쥴링만이 일어나게 되고 각 멀티미디어 객체들의

동기화는 이동국에서 일어나게 된다 반대로 제안된 동기화 기법이 기

지국단에 적용된 시나리오에서는 기지국에서 멀티미디어 객체 스트림

간의 동기화를 위한 지터의 중간보상이 일어나게 된다 따라서 본 절에

서는 제안된 동기화 기법이 기지국단에서 수행되며 유선망에서의 지

연들의 차이값인 지터를 보상할 경우와 기존의 방법처럼 기지국단에서

는 아무런 보상기법이 적용되지 않을 경우 두 가지의 시뮬레이션 환경

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 47: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 38 -

에서 앞서 말한 세 가지 범주의 시뮬레이션을 수행하고 이를 통해 제

안된 멀티미디어 객체 스트림 동기화 기법의 성능을 측정하도록 하겠

그림 41 시뮬레이션 모형

Fig 41 simulation model

wired wireless

Base station Multimedia synchronization scheme embedded compensates jitter of wired links

Mobile hostMultimedia Servers I-VOP P-VOP B-VOP

Proposed model

wired wireless

Mobile host Multimedia synchronization scheme embedded

Base stationMultimedia Servers I-VOP P-VOP B-VOP

Conventional model

시뮬레이션을 위한 데이터로는 드라마 lsquo프렌즈 시즌 10-2화rsquo 를 디

코딩하여 원본 영상을 추출해내고 그 추출된 영상을 다시 인코딩하여

데이터의 크기정보만을 뽑아내어 트레이스 파일을 만들었으며 I-

P- B-VOP 각각의 서버로 저장되고 독립적으로 전송된다고 가정하였

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 48: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 39 -

다 그림 42는 원본 데이터의 VOP당 데이터의 크기를 보여준다 이와

같은 크기 특성을 지니는 각 VOP들은 타입별로 각 서버에 분산되어

저장된다 각 서버에 저장되는 비디오 데이터의 정보는 표 41과 같다

실질적인 테스트베드의 구현은 어려우므로 ns-2[12]를 이용하여 가

상의 시뮬레이션 환경을 구현하였으며 서버와 기지국 사이의 유선망

에서의 패킷지연은 표 41 과 같은 지수분포로 발생시켰다 기지국에

서의 큐잉 모델은 MD1 큐를 사용하였다 MD1 큐잉 모델을 적용시

키므로서 기지국의 입력버퍼로 들어가는 데이터의 지연은 각기 다르지

만 같은 크기의 서비스 시간을 가지며 일정한 시간간격을 가지고 버퍼

를 빠져나가 이동국으로 전송된다 즉 모든 멀티미디어 객체들의 데이

터 패킷들은 기지국단에서 이동국으로는 일정한 전송율로 전송된다

그림 42 프렌즈 비디오 트레이스 파일

Fig 42 Trace data of friends

0

1000

2000

3000

4000

5000

6000

7000

1 2465 4929 7393 9857 12321 14785 17249 19713 22177 24641 27105 29569

VOP number

BPS

기지국과 이동국간의 전송 지연은 상당히 작은 값이고 시뮬레이션에

서 이동국의 움직임은 없다고 가정하였으므로 시뮬레이션 모델에서는

이 값을 무시하였다 또한 기지국과 이동국간의 무선 채널은 이상적이

라고 가정하였다 두 가지 시뮬레이션 모델에서 기지국의 대역폭은

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 49: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 40 -

2Mbps 기지국의 입력 버퍼 크기는 멀티미디어 세션 형성 시 각 서버

로부터의 지연의 차에 의해 설정되며 하나의 멀티미디어 객체 스트림

당 최대 100 KByte까지 할당 가능하다고 동일하게 적용하였다

42 시뮬레이션 파라미터 설정

시뮬레이션 시 제안된 멀티미디어 객체 동기화기법이 적용된 응용의

파라미터 값 설정을 위해 1652464299에서 216109112135로 전

송되는 700개의 UDP패킷을 트레이스하여 PDD(Packet Delay

Distribution)를 산출했다 기지국의 멀티미디어 동기화 모듈은 각 병

렬 서버로부터 PDD를 산출하고 그것을 바탕으로 파라미터 값을 설정

하게 된다

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 50: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 41 -

표 41 비디오 파일 정보 및 시뮬레이션 매개변수 1

Table 41 Video file informations and parameters

of simulation environments 1

QCIF

Friends season 10-4 (contents based coding)

30 min

64 kbits

75 Hz

Sequences

Play time

Resolution

Bit rate

Input frame rate

Video file information

Exponential distributionNetwork delay model

Simulation parameter

Min 104 Max 164 Mean 14404Network delay between theI-VOP server to the BS (ms)

Buffer size of the BS for one stream 64K bytes

Upper threshold of the buffer 075

Lower threshold of the buffer 03

Min 120 Max 150 Mean 11014Network delay between theP-VOP server to the BS (ms)

Min 140 Max 180 Mean 15204Network delay between theB-VOP server to the BS (ms)

1125Number of GOP

1125Number of I-VOP

3375Number of P-VOP

9000Number of P-VOP

앞서 설명하였듯이 패킷 손실량과 기지국에서 추가되는 버퍼 지연과

는 교환 관계에 있다 측정된 PDD를 이용하여 패킷 손실량과 버퍼 지

연과의 관계를 시뮬레이션 한 결과에 따라 시뮬레이션을 위한 파라미

터 값으로 응용이 참아낼 수 있는 손실의 양을 1로 설정하였다 따라

서 PDD에서의 패킷 손실율의 최대 허용치를 1로 설정하였을 경우에

전체 멀티미디어 객체 스트림을 구성하는 데이터 패킷들 중에서 39ms

이상의 지연의 차이를 갖는 패킷은 버려지게 된다 본 논문에서 가정한

전송 시나리오에서 각 각의 멀티미디어 객체 스트림은 MPEG-4 비디

오 시퀸스를 구성하는 I- P- B-VOP가 형태별로 하나의 멀티미디어

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 51: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 42 -

객체를 이뤄 각각의 서버에 저장된 후 전송되고 말단에서 하나의 화면

으로 재생되는 서비스 환경이다 따라서 기지국단의 멀티미디어 객체

동기화 기법이 적용된 응용에서의 지터의 최대 허용 초기치를 구하기

위해 나머지 병렬서버들도 같은 방식으로 개별 사이트들을 트레이스하

여 설정하였다 I-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초

기 PDD를 구하기 위하여 트레이스한 웹 사이트는 wwwyahoocom

이고 P-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를

구하기 위하여 트레이스한 웹 사이트는 wwwstanfordedu 마지막으

로 B-VOP 서버로부터 전송되는 멀티미디어 패킷들의 초기 PDD를 구

하기 위하여 트레이스한 웹 사이트는 wwwgooglecom 이다 가상의

PDD를 구하여 응용에서의 최대 허용 지터의 초기값은 I-VOP서버가

39ms P-VOP서버가 26ms B-VOP서버가 42ms로 설정되었다 이

는 I- P- B-VOP의 중요도는 고려되지 않은 값으로 만약 I-VOP의

중요도를 생각한다면 재설정 가능하나 본 논문에서는 일괄적으로 전

체 패킷의 1의 손실을 응용이 참아낼 수 있다고 가정하였다

또한 전송패킷의 크기에 대한 고려로서 MPEG의 실재 스트림 표준

을 적용하여 각각의 멀티미디어 패킷은 188바이크의 길이를 가지며

4개의 패킷이 100ms 마다 하나의 pack으로 만들어지며 네크워크로

전송되는 비주얼 객체의 스트림은 고정된 크기의 UDP로 전송된다고

가정하였다 표 42는 전송 쪽에서의 시뮬레이션 설정 값들을 보여준

다 버퍼 레벨에 따른 전송률 제어 메시지는 TCP를 이용해 전송한다고

가정하였고 이에 대한 언급은 생략하도록 하겠다

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 52: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 43 -

표 42 시뮬레이션 매개변수 2

Table 42 Simulation parameters 2

P-VOP server

I-VOP server

Acceptable value of network jitter

Simulation parameter for transmission

B-VOP server

39 ms

26 ms

42 ms

Size of the multimedia packet 100 Byte

Number of the multimedia packet in a pack 4

Transport protocol UDP

43 패킷 손실 모형

서버로부터 기지국까지의 패킷손실 모형을 만들기 위해 인터넷 환

경에서 패킷손실을 모형화하기 위해 널리 사용되는 two-state

Marcov chain(Gilbert model)을 사용하였다 패킷의 손실이 일어나는

상태인 lsquoBad에서 패킷의 손실이 없는 rsquoGood으로의 천이 확률 q=09

로 그 반대의 경우인 p=l q(k)∙q

1-l q(k) 는 패킷 손실에 대한 확률을 나타내

게 된다 여기서 평균 패킷손실율 l q(k)=pp+q

는 0에서 20 까지의

범위에서 변한다 이것으로 근소한 큰 양의 패킷 손실을 얻을 수 있다

p 는 그 전의 패킷이 도착한 후 다음 패킷을 손실할 확률이고 q 는 패

킷을 손실하고 다음 패킷을 정상적으로 받아들일 확률이다 1-q 는

조건부 손실 확률을 나타낸다 보통 p+ q lt 1 로 정의된다

이러한 손실율을 가지고 기지국에 도착한 패킷들은 기지국의 버퍼에

쌓이게 된다 이 때 기지국의 혼잡상태와 유선 네트워크의 상태에 따라

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 53: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 44 -

추가적인 패킷 손실이 일어난다 다시 말해 기지국에서 이동국으로 서

비스를 위해 추가된 지연 버퍼가 허락한 시간보다 늦어지는 패킷들은

모두 기지국단의 버퍼에서 폐기된다 기지국의 큐잉 모델로는 MD1

큐를 사용하였다 따라서 패킷들이 큐로 포아송 프로세스에 따라 λ의

입력을 가지고 들어오지만 큐에서 빠져 나가는 시간은 일정하다 즉

일정한 전송율로 나가게 된다 이 경우 기지국에서 패킷이 폐기 될 확

률을 구할 때 고려되어야 할 사항은 다음과 같다 첫째 단위시간동안

들어오는 패킷의 양이 기지국의 대역폭과 할당된 버퍼의 크기를 넘어

설 경우이며 둘째로는 들어온 패킷이 지연버퍼에서 할당한 시간 이후

에 들어온 패킷의 경우이다 또한 본 논문에서는 무선망에서의 지연은

무시하였다

44 기지국의 버퍼 사용량 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법이 적용되었을

경우 기지국의 버퍼 크기를 비교하기 위해 제안된 동기화 기법을

적용한 경우와 적용하지 않은 경우의 기지국에서의 버퍼 크기를 비

교하였다 버퍼 사용량의 시뮬레이션을 위해 서버로부터 평균 50ms

의 지연을 갖는 링크를 통해 패킷들이 기지국으로 도착한다고 가정

하였다 41절에서 설명한 것과 같이 MPEG의 전송 표준에서 제시

한 포맷에 맞춰서 전송되는 멀티미디어 패킷 100개를 관찰하였다

또한 기지국의 버퍼는 초기 할당된 크기만을 사용하며 할당된 크기

보다 더 자랄 수 없는 상황(Bmax=Bi)의 시나리오 상황을 시뮬레이션

하였다 그림 43은 오버플로우 상황에서의 버퍼 크기의 비교이다

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 54: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 45 -

그림 43 오버 플로우 상황에서의 버퍼 크기 비교

Fig 43 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

70

10

30

50

70

90

110

130

150

170

190

210

230

250

270

290

310

330

350

370

390

410

430

450

470

490

510

530

550

ms

Kbyte

buffer level (with proposed scheme)

buffer level (without proposed scheme)

allocated buffer size

overflow threshold

그림 43에서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리

프로시저에 의해 버퍼의 레벨이 상한 임계값에 접근하게 되면 서버

로 제어 메시지가 전송되고 서버로 부터의 피드백에 의해 할당된

버퍼 크기를 넘어서기 전에 버퍼 레벨은 다시 낮춰지게 된다 제안

된 동기화 기법의 버퍼 관리 프로시저가 적용된 경우 80ms 부분에

서 버퍼 레벨이 떨어지는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 100ms 부분에서 버퍼 오버 플로

우가 일어나고 그 이후 들어오는 패킷들은 폐기되는 것을 알 수 있

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 55: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 46 -

그림 44 오버 플로우 상황에서의 버퍼 크기 비교

Fig 44 Comparison of buffer size under overflow condition

0

10

20

30

40

50

60

7010

40

70

100

130

160

190

220

250

280

310

340

370

400

430

460

490

520

550

ms

Kbyte

buffer level (with proposed sheme) buffer level (without proposed scheme) allocated buffer size underflow threshold overflow threshold

그림 44는 언더 플로우 상황에서의 버퍼 크기 비교이다 그림에

서 볼 수 있듯이 제안된 동기화 알고리즘의 버퍼 관리 프로시저에

의해 버퍼의 레벨이 하한 임계값에 접근하게 되면 서버로 제어 메

시지가 전송되고 서버로 부터의 피드백에 의해 버퍼 고갈이 일어나

기 전에 버퍼 레벨은 다시 높아져서 정상상태로 돌아온다 제안된

동기화 기법의 버퍼 관리 프로시저가 적용된 경우 160ms 부분에

서 버퍼 레벨이 올라가는 것을 볼 수 있다 하지만 적용되지 않은

경우 버퍼 레벨은 계속 증가하여 220ms 부분에서 버퍼 언더 플로

우가 일어나는 것을 볼 수 있다 기지국 버퍼 크기에 대한 전체적인

시뮬레이션 결과는 표 43에서 볼 수 있듯이 전송된 전체 UDP 패

킷에 대해서 멀티미디어 콘텐츠의 재생기간 동안 기지국에서의 평

균 버퍼 사용량을 76 줄일 수 있었다

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 56: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 47 -

표 43 시뮬레이션 결과

Table 43 Simulation results

86194

734

Buffer overflow

Average buffer usageBuffer underflow

00

66

Buffer control NA Our sheme

45 버퍼 임계값에 따른 제어 메시지의 전송 주기 측정

본 논문에서 제안된 멀티미디어 객체 동기화 기법에서는

Client-Server 간의 제어 메시지를 통해 버퍼의 이상이 발생하는

시점을 예측해 전송율을 제어하게 된다 버퍼의 이상이 발생하는 시

점의 결정은 미리 설정된 임계값에 의해 예측되며 임계값에 도달하

게 되면 기지국에서 서버 쪽으로 제어 메시지가 피드백되고 제어

메시지에 의해 서버는 전송율을 수정하여 MMU를 전송하게 된다

본 논문에서 서버의 전송율은 세 단계로 수정하였다 예를 들어 멀

티미디어 객체 스트림의 평균 전송율이 10 Mbps라고 가정하면

λ lower= 05 Mbps λ normal= 10 Mbps λ higher= 15 Mbps 서버는

이 세 개의 전송율을 설정하게 된다 따라서 10 Mbps의 전송율로

전송을 개시한 서버는 기지국 버퍼의 하한 임계값에 도달에 의해

전송되는 Higher_rate Message에 의해 전송율을 15 Mbps로 올리

게 된다 반대로 10 Mbps의 전송율로 전송을 개시한 서버는 기지

국 버퍼가 상한 임계값에 도달하게 되면 Lower_rate_Message에

의해 전송율을 05 Mbps로 내리게 된다

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 57: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 48 -

이러한 전송기법에서 생각해 볼 수 있는 문제는 버퍼의 임계값에

따른 메시지의 전송 주기이다 만약 설정된 기지국 버퍼의 두 임계

값이 멀리 떨어져 있다면 서버의 전송율을 제어하기 위한 메시지의

수는 줄어들 것이다 반대로 기지국 버퍼의 두 임계값이 매우 가깝

다면 전송율을 제어하기 위한 메시지의 수는 전자의 경우보다 늘어

날 것임에 틀림없다 하지만 버퍼의 고갈이나 넘침의 방지 측면에서

는 임계값이 떨어져 있을 경우보다 높은 성능을 보일 것이 분명하

다 이 두 가지 문제는 분명 교환관계에 있다 만약 제어 메시지에

의한 네트워크의 부하를 고려하지 않고 문제점을 기지국 버퍼의 고

갈이나 넘침을 막는 것에 초점을 둔다면 임계값이 가깝거나 혹은

버퍼의 중앙에 한 값을 놓는 것이 효율적일 것이며 문제의 초점을

제어 메시지에 의한 네트워크에 추가되는 부하의 방지에 둔다면 임

계값이 떨어지거나 혹은 없는 것이 더욱 유리 할 것이다

그림 45 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정

Fig 45 Frequencies of control message relative to buffer size

0

10

20

30

40

50

60

70

80

1 2 3 4 5 6 7 8 9 10

Buffer s ize in Time (Secs)

Average interval of control message

(Secs)

upper 09 lower 01

upper 07 lower 03

upper 05 lower 05

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 58: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 49 -

그림 45는 버퍼의 크기에 따른 전송율 제어 메시지의 주기를 측

정한 시뮬레이션 결과이다 버퍼의 하한과 상환 임계값이 각각

BLT=01∙B i B UT=09∙B i 로 설정된 경우 BLT=03∙B i

B UT=07∙B i로 설정된 경우 그리고 마지막으로 두 개의 임계값이

버퍼의 중간값 BLT=05∙B i B UT=05∙B i으로 고정되어 설정한

경우를 비교하였다 또한 B max =B i로 설정하여 초기 설정된 버퍼보

다 더 자랄 수 없는 상황에서 시뮬레이션 하였다 결론적으로 말하

면 버퍼의 크기가 커지면 커질수록 제어 메시지의 전송 주기는 커

지고 두 임계값의 범위가 멀어지면 멀어질수록 제어 메시지의 전

송주기 주기가 멀어짐을 알 수 있었다 이는 버퍼 사이즈가 커지고

임계값의 범위가 떨어질 수 록 메시지의 수는 줄어든다는 것을 의

미한다 최대 버퍼가 10초 분량의 멀티미디어 객체 스트림을 저장

할 수 있는 크기를 갖는 경우 두 임계값의 차이에 따라 전송되는

제어 메시지의 수를 비교하면 버퍼의 09와 01에서 임계값이 설정

된 경우 전송되는 메시지의 수는 분당 082개 이며 07과 03에서

버퍼 임계값이 설정된 경우에는 분당 123개의 메시지 그리고 05

에서 하나의 임계값이 설정된 경우 분당 2개의 메시지가 전송되는

것을 볼 수 있었다

46 수신된 프레임 샘플 비교

본 논문에서 제안된 멀티미디어 객체 동기화 기법과 병렬 서버로

부터 전송되는 I- P- B-VOP 각각의 우선 순위에 따른 우선순위

큐잉 정책을 적용하여 얻은 전체적인 시뮬레이션 결과로는 기존의

단일 서버 환경에 비해 53의 성능 개선이 있음을 알 수 있었다

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 59: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 50 -

이동국이 수신한 샘플 비디오의 프레임 샘플을 추출하여 비교해 보

았고 그 결과는 그림 54부터 그림56까지에서 보여준다

시뮬레이션에 사용된 샘플 비디오 영상으로는 시트콤 lsquo프렌즈 시

즌10 에피소드 4rsquo 를 사용하였으며 총 30분의 재생 시간동안 가장

영상의 차이가 심한 VOP 세 개를 추출해 보았다

그림 54는 원본 비디오 VOP 샘플을 보여주며 그림 54는 기존

의 단일서버 환경에서 이동국에 수신된 비디오 샘플 그림 55는 제

안된 멀티미디어 객체 동기화 알고리즘이 적용된 병렬 서버 환경에

서 수신된 비디오의 샘플을 보여준다

그림 46 원본 비디오 샘플

Fig 46 Original picture sample of video

그림 47 단일서버 환경에서 수신된 비디오 샘플

Fig 47 Received picture sample of mobile host on the

conventional single server model

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 60: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 51 -

그림 48 병렬서버 환경에서 수신된 비디오 샘플

Fig 48 Received picture sample of mobile host on the proposed

parallel server model

제 5 장 결 론

본 논문에서는 병렬서버로부터 전송되는 MPEG-4 스트림에 대한

기지국에서의 멀티미디어 객체 스트림 동기화 기법을 제안하였다

MPEG-4의 객체 기반 멀티미디어 서비스는 기본적으로 하나의 화

면을 여러 개의 멀티미디어 객체로 구성하여 전송하는 기법으로 기

본적으로 MPEG-4 표준에서 제공하는 DMIF 툴에 의해 각 말단의

동기화는 유지된다 하지만 현재의 셀 기반의 무선 네트워크 환경에

서 중간 기지국에서의 지터 보상은 반드시 필요한 것이라 할 수 있

다 따라서 본 논문에서 제안된 멀티미디어 동기화 기법이 기지국에

적용되었을 경우 시뮬레이션 결과 기지국에서의 평균 버퍼 사용량

이 76 감소되었으며 버퍼레벨의 상한 하한 임계값을 설정함으로

써 기지국에서의 버퍼 언더플로우와 오버플로우의 발생을 방지할

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 61: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 52 -

수 있었다 또한 병렬서버 환경에서 본 동기화 기법에 기지국에서의

우선순위 큐잉 정책을 접목시켰을 경우 이동국의 수신률이 57 성

능향상 된 것을 볼 수 있었다

아직 본 논문의 무선 환경에서의 동기화 기법연구는 시작에 불과

하다 본 논문에서 거론되지 않은 기지국의 피드백에 따른 서버의

전송률 조절 부분을 어떻게 처리 할 지도 큰 관건이다 보다 나은

QoS를 보장하기 위해선 멀티미디어 스트림을 UDP로 전송하는 것

보다는 제안된 버퍼 관리 프로시저에 전송률 제어 루틴에 적합한

전송 프로토콜이 개발 되어야 한다고 생각한다 또한 각각의 멀티미

디어 객체에 우선순위를 두어 무선 채널 상태가 악화되었을 경우

서비스의 질을 제어하는 방법도 생각해 볼 수 있다

참 고 문 헌

[1] Fernando Pereira Touradj Ebrahimi The MPEG-4 Book

IMSC Multimedia Series 2002

[2] Harri Holma Antti Toskala WCDMA for UMTS Radio

Access for Third Generation Mobile Communication

2nd Edition John Wiley amp Sons LTD 2002

[3] J Y B LEE Parallel Video Servers A Tutorial IEEE

Multimedia April-June 20-28 1998

[4] E Biersack W Geyer and C Bernhardt Intra- and

Inter- stream Synchronization for Stored Multimedia

Streams IEEE International Conference on Multimedia

Computing amp Systems June 17-23 1996

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 62: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 53 -

[5] C J Sreenan J C Chen and B Narendran Delay Reduction

Techniques for Playout Buffering IEEE Transactions on

Multimedia June 2000

[6] A Boukerche SB Hong T Jacob ldquoAn efficient

Synchronization Scheme of Multimedia Streams in Wireless

and mobile Systemsrdquo IEEE transactions on Parallel and

Distributed Systems Vol 13 No9 September 2002

[7] N Shivakumar C J Sreenan B Narendran and P Agrawal

The Concord algorithm for Synchronization of networked

Multimedia streams in Proc of IEEE International

Conference on Multimedia Computing and Systems pp

31--40 May 1995

[8] James F Kurose Keith W Ross Computer Networking

A Top-Down Approach Featuring the Internet Addison

Wesley 2002

[9] David L Mills Internet Time Synchronization The Network

Time Protocol IEEE Transaction on Communications Vol

39 No 10 October 1991

[10] Ralf Steinmetz Human Perception of Jitter and Media

Synchronization IEEE Journal on Selected area in

Communications Vol 14 No 1 January 1996

[11] P Venkat Rangan Srihari Sapath Kumar and Streerang

Rajan Continuity and Synchronization in MPEG IEEE

Journal on Selected area in Communications January 1996

[12] Kevin Fall Kannan Varadhan The ns Manual The VINT

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 63: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 54 -

project 2003

감사의 글

우선 지난 2년간 많은 가르침을 주신 최상방 교수님께 깊은 감사를 드립니다

교수님을 만나 공부했던 지난 2년이 저에게 있어 큰 행운이었으며 그 기간이 제가

더 발전할 수 있는 원동력이 되었다고 생각합니다 앞으로도 제 인생에 있어서 큰

스승님으로 저를 지도해 주셨으면 하는 바램입니다 또한 저의 논문을 세심하게

지도해 주신 김흥수 교수님과 윤영섭 교수님께도 감사의 말씀을 드립니다

회사를 그만두고 연구실에 입학한지 엊그제 같은데 벌써 졸업 할 시기가 다가왔

군요 2년의 대학원 생활동안 연구실의 식구들이 없었다면 아마 지금의 저도 없지

않았나 생각해 봅니다 항상 바쁘셔서 요새는 얼굴보기가 힘든 연구실의 큰형 진

하형 성격 좋고 잘생긴 윤 박사님 똑똑하고 배울게 많으며 끝까지 많은 도움을

준 우리 네트워크 팀의 팀장 광식이 그리고 저쪽 구조방의 박사 재혁이 우리 연

구실의 박사분들 모두 감사드립니다 졸업하고도 자주 찾아 올 테니 절 잊지 말

아 주세요 끝까지 같이 프로젝트를 진행했던 꽃미남 용규와 선배들의 시뮬레이션

하느라 항상 바쁜 기원이 요즘 학교 잘 안 나오는 착실한 성윤이와 항상 열심히

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51
Page 64: 무선 환경에서 MPEG-4 비주얼 객체 스트림의 동기화 기법 · 렬서버 환경에서의 총체적인 실험에서는 단일서버 환경과 비교했을 때 세션

- 55 -

하는 모습을 보여주는 영호 썰렁하지만 착한 재석이 농구를 무척 좋아하는 인삼

이 구조방으로 유배된 건우 연수 들어가 얼굴보기 힘든 민석이 마지막으로 의

외로 재미있는 연구실의 꽃 보람이 우리 네트워크 팀원 모두에게 감사드립니다

그 외에도 넉살좋고 착한 정규 해커 수준의 프로그래밍 능력을 지녔지만 썰렁한

정진이 배울게 많고 똑똑한 엘리트 우석이 블랙 리스트를 PDA에 저장하고 다니

는 석균이 필리핀에 가 있는 영원한 막내 차 술친구이며 날 좋아하는 재훈이

돈 많은 승렬이와 아직 속을 알 수 없는 남구 나머지 연구실 인원 모두들 앞으

로도 인생의 친구가 되길 바라며 항상 자신의 자리에서 열심히 노력하는 사람이

되었으면 합니다

마지막으로 늦은 나이에 회사를 그만두고 공부한다고 많은 걱정을 끼쳐드린 할

머니와 항상 묵묵히 지켜보시며 늘 절 아끼고 사랑해 주시는 아버지 어머니 요즘

돈버느라 바쁜 동생 세윤이 저의 가족들 소심한 남자친구 땜에 고생 많은 기연

양 모두들에게 다시 한번 감사의 말씀을 드립니다

2005년 1월 13일 연구실에서

  • 목차
    • 1 서 론
    • 2 멀티미디어 동기화 기법 연구
      • 21 멀티미디어 동기화 기법
      • 22 네트워크를 통한 MPEG-4 전송
      • 23 병렬 서버 구조
        • 3 제안된 멀티미디어 동기화 기법
          • 31 기존 알고리즘과의 비교
          • 32 제안된 동기화 기법의 개관
            • 321 QoS 측정규준
            • 322 제안된 프로시저들
            • 323 메시지 흐름
            • 324 알고리즘에 쓰인 기호의 의미
              • 33 멀티미디어 세션 초기화 프로시저
                • 331 프로시저 실행 과정
                • 332 예 제
                  • 34 기지국의 버퍼 관리 프로시저
                    • 341 프로시저 실행 과정
                      • 35 초기 버퍼 지연 할당 프로시저
                      • 36 그 밖의 프로시저들
                        • 4 시뮬레이션 환경 모형화 및 결과분석
                          • 41 시뮬레이션 환경 설정
                          • 42 시뮬레이션 파라미터 설정
                          • 43 패킷 손실 모형
                          • 44 기지국의 버퍼 사용량 측정
                          • 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정
                          • 46 수신된 프레임 샘플 비교
                            • 5 결론
                              • 표목차
                                • [표 21] 인간이 인식할 수 있는 지터의 차이값
                                • [표 31] 알고리즘에 쓰인 기호의 의미
                                • [표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1
                                • [표 42] 시뮬레이션 매개변수2
                                • [표 43] 시뮬레이션 결과
                                  • 그림목차
                                    • [그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다
                                    • [그림 22] 지터 보상을 위한 버퍼 지연
                                    • [그림 23] MPEG-4 비주얼 객체들
                                    • [그림 24] MPEG-4 스트림 동기화 계층
                                    • [그림 25] MPEG-4 시퀀스 구조
                                    • [그림 26] 제안된 병렬서버 구조
                                    • [그림 31] 네트워크 상태 분류의 예제 시나리오
                                    • [그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다
                                    • [그림 33] 제안된 알고리즘의 상태 천이도
                                    • [그림 34] 멀티미디어 세션 초기화 메시지 흐름도
                                    • [그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드
                                    • [그림 37] 멀티미디어 세션 초기화 프로시저의 예제
                                    • [그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘
                                    • [그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델
                                    • [그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드
                                    • [그림 311] 버퍼 제어 루틴의 의사코드
                                    • [그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드
                                    • [그림 41] 시뮬레이션 모형
                                    • [그림 42] 프렌즈 비디오 트레이스 파일
                                    • [그림 43] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 44] 오버 플로우 상황에서의 버퍼 크기 비교
                                    • [그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정
                                    • [그림 46] 원본 비디오 샘플
                                    • [그림 47] 단일서버 환경에서 수신된 비디오 샘플
                                    • [그림 48] 병렬서버 환경에서 수신된 비디오 샘플
                                        • 목차1 서 론 12 멀티미디어 동기화 기법 연구 4 21 멀티미디어 동기화 기법 4 22 네트워크를 통한 MPEG-4 전송 9 23 병렬 서버 구조 113 제안된 멀티미디어 동기화 기법 13 31 기존 알고리즘과의 비교 13 32 제안된 동기화 기법의 개관 17 321 QoS 측정규준 18 322 제안된 프로시저들 20 323 메시지 흐름 21 324 알고리즘에 쓰인 기호의 의미 22 33 멀티미디어 세션 초기화 프로시저 23 331 프로시저 실행 과정 24 332 예 제 27 34 기지국의 버퍼 관리 프로시저 29 341 프로시저 실행 과정 33 35 초기 버퍼 지연 할당 프로시저 34 36 그 밖의 프로시저들 364 시뮬레이션 환경 모형화 및 결과분석 37 41 시뮬레이션 환경 설정 37 42 시뮬레이션 파라미터 설정 40 43 패킷 손실 모형 43 44 기지국의 버퍼 사용량 측정 44 45 버퍼 임계값에 따른 제어 메시지의 전송 빈도 측정 47 46 수신된 프레임 샘플 비교 495 결론 51 표목차[표 21] 인간이 인식할 수 있는 지터의 차이값 8[표 31] 알고리즘에 쓰인 기호의 의미 22[표 41] 비디오 파일 정보 및 시뮬레이션 매개변수1 41[표 42] 시뮬레이션 매개변수2 43[표 43] 시뮬레이션 결과 47그림목차[그림 21] 동일하게 전송을 시작한 시스템 A와 시스템 B가 만들어낸 패킷은 서로 다른 도착시간을 갖는다 5[그림 22] 지터 보상을 위한 버퍼 지연 6[그림 23] MPEG-4 비주얼 객체들 9[그림 24] MPEG-4 스트림 동기화 계층 10[그림 25] MPEG-4 시퀀스 구조 12[그림 26] 제안된 병렬서버 구조 12[그림 31] 네트워크 상태 분류의 예제 시나리오 14[그림 32] 멀티미디어 객체 동기화 기법은 기지국단에서 수행된다 15[그림 33] 제안된 알고리즘의 상태 천이도 17[그림 34] 멀티미디어 세션 초기화 메시지 흐름도 23[그림 35] 기지국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 25[그림 36] 서버와 이동국에서의 멀티미디어 세션 초기화 프로시저의 의사코드 26[그림 37] 멀티미디어 세션 초기화 프로시저의 예제 28[그림 38] 기지국에서 서버로의 버퍼 제어 메커니즘 29[그림 39] 제안된 동기화 기법의 기지국에서의 버퍼 모델 30[그림 310] 버퍼 레벨 감시 및 피드백 메시지 전송 루틴의 의사코드 31[그림 311] 버퍼 제어 루틴의 의사코드 32[그림 312] 초기 버퍼 지연 할당 프로시저의 의사코드 35[그림 41] 시뮬레이션 모형 38[그림 42] 프렌즈 비디오 트레이스 파일 39[그림 43] 오버 플로우 상황에서의 버퍼 크기 비교 45[그림 44] 오버 플로우 상황에서의 버퍼 크기 비교 46[그림 45] 버퍼의 크기에 따른 제어 메시지의 전송 주기 측정 48[그림 46] 원본 비디오 샘플 50[그림 47] 단일서버 환경에서 수신된 비디오 샘플 50[그림 48] 병렬서버 환경에서 수신된 비디오 샘플 51