미디어 데이터 스트림을 동기화시키기 위한 방법, 동기화 서버 및 컴퓨터 판독 가능한 기록매체
METHOD, SYNCHRONIZATION SERVER AND COMPUTER-READABLE RECORDING MEDIUM FOR SYNCHRONIZING MEDIA DATA STREAM
특허 요약
본 발명의 일 태양에 따르면, 미디어 데이터 스트림의 동기화 방법에 있어서, (a) 복수의 클라이언트 단말 각각에 대해 과거 소정 기간 동안의 playout delay 값 - 상기 복수의 클라이언트 단말 중 제1 클라이언트 단말로부터 송신된 미디어 데이터가 상기 복수의 클라이언트 단말 중 제2 클라이언트 단말에 수신되기까지의 시간 정보를 나타냄 - 에 기초하여 현재 playout delay 값이 예측되면, 동기화 서버가, 상기 예측된 복수의 클라이언트 단말 각각에 대한 현재 playout delay 값들을 분석하여 최적의 playout delay 값(PD t )을 산출하는 단계, 및 (b) 상기 동기화 서버가, 상기 제2 클라이언트 단말이 상기 최적의 playout delay 값(PD t )과 이전 단계의 playout delay 값 - 상기 이전 단계의 playout delay 값은 과거에 획득된 playout delay 값들 중 적어도 일부를 사용하여 산출된 값임 - 을 비교한 결과를 참조로 하여 상기 제2 클라이언트 단말의 수신버퍼의 길이를 적응적으로 조정하도록 지원하는 단계를 포함하는 방법이 제공된다.
청구항
번호청구항
1

미디어 데이터 스트림의 동기화 방법에 있어서, (a) 복수의 클라이언트 단말 각각에 대해 과거 소정 기간 동안의 playout delay 값 - 상기 복수의 클라이언트 단말 중 제1 클라이언트 단말로부터 송신된 미디어 데이터가 상기 복수의 클라이언트 단말 중 제2 클라이언트 단말에 수신되기까지의 시간 정보를 나타냄 - 에 기초하여 현재 playout delay 값이 예측되면, 동기화 서버가, 상기 예측된 복수의 클라이언트 단말 각각에 대한 현재 playout delay 값들을 분석하여 최적의 playout delay 값(PDt)을 산출하는 단계, 및(b) 상기 동기화 서버가, 상기 제2 클라이언트 단말이 상기 최적의 playout delay 값(PDt)과 이전 단계의 playout delay 값 - 상기 이전 단계의 playout delay 값은 과거에 획득된 playout delay 값들 중 적어도 일부를 사용하여 산출된 값임 - 을 비교한 결과를 참조로 하여 상기 제2 클라이언트 단말의 수신버퍼의 길이를 적응적으로 조정하도록 지원하는 단계를 포함하는 방법.

2

제1항에 있어서, 상기 (b) 단계에서, 상기 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 이전 단계의 playout delay 값보다 작으면, 상기 동기화 서버는, 상기 제2 클라이언트 단말이 수신버퍼에 있는 미디어 데이터의 적어도 일부를 드롭(drop)하도록 지원하는 것을 특징으로 하는 방법.

3

제2항에 있어서, 상기 이전 단계의 playout delay 값은 상기 최적의 playout delay 값(PDt)의 바로 전 단계의 playout delay 값(PDt-1)이고, 상기 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 이전 단계의 playout delay 값(PDt-1)보다 작으면, 상기 동기화 서버는, 상기 제2 클라이언트 단말이 상기 수신버퍼에 있는 미디어 데이터 중 PDt-1 - PDt에 대응되는 크기의 미디어 데이터를 현재 playout delay 값이 새롭게 예측되는 시간(T)동안 기설정된 시간(t) 간격으로 임의의 크기로 드롭하도록 지원하는 것을 특징으로 하는 방법.

4

제3항에 있어서, 상기 기설정된 시간(t)는 상기 현재 playout delay 값이 새롭게 예측되는 시간(T)을 드롭할 데이터 개수(n)로 나눈 것이며, 상기 드롭할 데이터 개수(n)는 PDt-1 - PDt 값을 참조로 하여 결정되는 것을 특징으로 하는 방법.

5

제2항에 있어서, 상기 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 이전 단계의 playout delay 값보다 작으면, 상기 동기화 서버는, 상기 제2 클라이언트 단말이 수신버퍼에 있는 미디어 데이터의 중요도 및 상기 수신버퍼의 크기에 기초하여 적어도 일부의 미디어 데이터를 드롭(drop)하도록 지원하는 것을 특징으로 하는 방법.

6

제5항에 있어서, 상기 미디어 데이터는 영상 데이터이고, 상기 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 이전 단계의 playout delay 값보다 작으면, 상기 동기화 서버는, 상기 제2 클라이언트 단말이 수신버퍼에 있는 영상 데이터들 중 선택된 적어도 하나의 영상 데이터의 크기 합이 상기 수신버퍼의 크기를 넘지 않으면서 상기 선택된 적어도 하나의 영상 데이터의 중요도의 합이 최대가 되도록 상기 적어도 하나의 영상 데이터를 선택하고 선택되지 않은 나머지 영상 데이터를 드롭(drop)하도록 지원하는 것을 특징으로 하는 방법.

7

제6항에 있어서, 상기 수신버퍼에 있는 개별 영상 데이터는, I 프레임 영상 데이터, P 프레임 영상 데이터 및 B 프레임 영상 데이터 중 하나이며, 상기 영상 데이터의 중요도는 I 프레임 영상 데이터, P 프레임 영상 데이터, B 프레임 영상 데이터 순으로 낮아지는 것을 특징으로 하는 방법.

8

제1항에 있어서, 상기 playout delay 값은 미디어 데이터가 획득되는데 소요되는 시간, 상기 획득된 미디어 데이터가 암호화되는데 소요되는 시간, 상기 암호화된 미디어 데이터가 전송되는데 소요되는 시간 및 상기 전송된 미디어 데이터가 복호화되는데 소요되는 시간 중 적어도 일부를 포함하는 것을 특징으로 하는 방법.

9

제1항에 있어서, 상기 (b) 단계에서, 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 이전 단계의 playout delay 값보다 크거나 같으면, 상기 동기화 서버는, 상기 제2 클라이언트 단말이 수신버퍼의 크기를 늘리도록 지원하는 것을 특징으로 하는 방법.

10

제9항에 있어서, 상기 이전 단계의 playout delay 값은 상기 최적의 playout delay 값(PDt)의 바로 전 단계의 playout delay 값(PDt-1)이고, 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 이전 단계의 playout delay 값(PDt-1)보다 크거나 같으면, 상기 동기화 서버는, 상기 제2 클라이언트 단말이 PDt - PDt-1에 대응되는 크기만큼 상기 수신버퍼의 크기를 늘리도록 지원하는 것을 특징으로 하는 방법.

11

제1항에 있어서, 상기 (a) 단계에서, 상기 현재 playout delay 값의 예측은, EWMA(Exponentially Weighted Moving Average) 알고리즘, SMA(Simple Moving Average) 알고리즘, WMA(Weighted Moving Average) 알고리즘 및 GARCH(Generalized Autoregressive Conditional Heteroskedasticity) 알고리즘 중 적어도 하나를 사용하여 수행되는 것을 특징으로 하는 방법.

12

제1항에 있어서, 상기 (a) 단계에서, 상기 동기화 서버는, 상기 예측된 적어도 하나의 클라이언트 단말 각각에 대한 현재 playout delay 값들 중 최대인 playout delay 값을 상기 최적의 playout delay 값(PDt)으로 결정하는 것을 특징으로 하는 방법.

13

제1항에 있어서, 상기 이전 단계의 playout delay 값은, 과거에 획득된 playout delay 값들 중 적어도 일부에 대한 평균값인 것을 특징으로 하는 방법.

14

미디어 데이터 스트림을 동기화시키기 위한 동기화 서버에 있어서, 복수의 클라이언트 단말 각각에 대해 과거 소정 기간 동안의 playout delay 값 - 상기 복수의 클라이언트 단말 중 제1 클라이언트 단말로부터 송신된 미디어 데이터가 상기 복수의 클라이언트 단말 중 제2 클라이언트 단말에 수신되기까지의 시간 정보를 나타냄 - 에 기초하여 현재 playout delay 값이 예측되면, 상기 예측된 복수의 클라이언트 단말 각각에 대한 현재 playout delay 값들을 분석하여 최적의 playout delay 값(PDt)을 산출하는 프로세서, 및상기 제2 클라이언트 단말에 상기 최적의 playout delay 값(PDt)을 전송하여 상기 제2 클라이언트 단말이 상기 최적의 playout delay 값(PDt)과 이전 단계의 playout delay 값 - 상기 이전 단계의 playout delay 값은 과거에 획득된 playout delay 값들 중 적어도 일부를 사용하여 산출된 값임 - 을 비교한 결과를 참조로 하여 상기 제2 클라이언트 단말의 수신버퍼의 길이를 적응적으로 조정하도록 지원하는 통신부를 포함하는 동기화 서버.

15

제14항에 있어서, 상기 통신부는, 상기 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 이전 단계의 playout delay 값보다 작으면, 상기 제2 클라이언트 단말이 수신버퍼에 있는 미디어 데이터의 적어도 일부를 드롭(drop)하도록 지원하는 것을 특징으로 하는 동기화 서버.

16

제15항에 있어서, 상기 이전 단계의 playout delay 값은 상기 최적의 playout delay 값(PDt)의 바로 전 단계의 playout delay 값(PDt-1)이고, 상기 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 상기 이전 단계의 playout delay 값(PDt-1)보다 작으면, 상기 통신부는, 상기 제2 클라이언트 단말이 상기 수신버퍼에 있는 미디어 데이터 중 PDt-1 - PDt에 대응되는 크기의 미디어 데이터를 현재 playout delay 값이 새롭게 예측되는 시간(T)동안 기설정된 시간(t) 간격으로 임의의 크기로 드롭하도록 지원하는 것을 특징으로 하는 동기화 서버.

17

제16항에 있어서, 상기 기설정된 시간(t)는 상기 현재 playout delay 값이 새롭게 예측되는 시간(T)을 드롭할 데이터 개수(n)로 나눈 것이며, 상기 드롭할 데이터 개수(n)는 PDt-1 - PDt 값을 참조로 하여 결정되는 것을 특징으로 하는 동기화 서버.

18

제15항에 있어서, 상기 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 이전 단계의 playout delay 값보다 작으면, 상기 통신부는, 상기 제2 클라이언트 단말이 수신버퍼에 있는 미디어 데이터의 중요도 및 상기 수신버퍼의 크기에 기초하여 적어도 일부의 미디어 데이터를 드롭(drop)하도록 지원하는 것을 특징으로 하는 동기화 서버.

19

제18항에 있어서, 상기 미디어 데이터는 영상 데이터이고, 상기 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 이전 단계의 playout delay 값보다 작으면, 상기 통신부는, 상기 제2 클라이언트 단말이 수신버퍼에 있는 영상 데이터들 중 선택된 적어도 하나의 영상 데이터의 크기 합이 상기 수신버퍼의 크기를 넘지 않으면서 상기 선택된 적어도 하나의 영상 데이터의 중요도의 합이 최대가 되도록 상기 적어도 하나의 영상 데이터를 선택하고 선택되지 않은 나머지 영상 데이터를 드롭(drop)하도록 지원하는 것을 특징으로 하는 동기화 서버.

20

제19항에 있어서, 상기 수신버퍼에 있는 개별 영상 데이터는, I 프레임 영상 데이터, P 프레임 영상 데이터 및 B 프레임 영상 데이터 중 하나이며, 상기 영상 데이터의 중요도는 I 프레임 영상 데이터, P 프레임 영상 데이터, B 프레임 영상 데이터 순으로 낮아지는 것을 특징으로 하는 동기화 서버.

21

제14항에 있어서, 상기 playout delay 값은 미디어 데이터가 획득되는데 소요되는 시간, 상기 획득된 미디어 데이터가 암호화되는데 소요되는 시간, 상기 암호화된 미디어 데이터가 전송되는데 소요되는 시간 및 상기 전송된 미디어 데이터가 복호화되는데 소요되는 시간 중 적어도 일부를 포함하는 것을 특징으로 하는 동기화 서버.

22

제14항에 있어서, 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 이전 단계의 playout delay 값보다 크거나 같으면, 상기 통신부는, 상기 제2 클라이언트 단말이 수신버퍼의 크기를 늘리도록 지원하는 것을 특징으로 하는 동기화 서버.

23

제22항에 있어서, 상기 이전 단계의 playout delay 값은 상기 최적의 playout delay 값(PDt)의 바로 전 단계의 playout delay 값(PDt-1)이고, 상기 제2 클라이언트 단말에서 상기 최적의 playout delay 값(PDt)이 이전 단계의 playout delay 값(PDt-1)보다 크거나 같으면, 상기 통신부는, 상기 제2 클라이언트 단말이 PDt - PDt-1에 대응되는 크기만큼 상기 수신버퍼의 크기를 늘리도록 지원하는 것을 특징으로 하는 동기화 서버.

24

제14항에 있어서, 상기 (a) 단계에서, 상기 현재 playout delay 값의 예측은, EWMA(Exponentially Weighted Moving Average) 알고리즘, SMA(Simple Moving Average) 알고리즘, WMA(Weighted Moving Average) 알고리즘 및 GARCH(Generalized Autoregressive Conditional Heteroskedasticity) 알고리즘 중 적어도 하나를 사용하여 수행되는 것을 특징으로 하는 동기화 서버.

25

제14항에 있어서, 상기 프로세서는, 상기 예측된 적어도 하나의 클라이언트 단말 각각에 대한 현재 playout delay 값들 중 최대인 playout delay 값을 상기 최적의 playout delay 값(PDt)으로 결정하는 것을 특징으로 하는 동기화 서버.

26

제14항에 있어서, 상기 이전 단계의 playout delay 값은, 과거에 획득된 playout delay 값들 중 적어도 일부에 대한 평균값인 것을 특징으로 하는 동기화 서버.

27

제1항 내지 제13항 중 어느 한 항에 따른 방법을 실행하기 위한 컴퓨터 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.