KR100433508B1 - 효율적인 대역폭 스무딩 알고리즘을 적용한 멀티미디어데이터 전송 방법과 장치, 및 이를 위해 사용되는 컴퓨터기록 매체 - Google Patents

효율적인 대역폭 스무딩 알고리즘을 적용한 멀티미디어데이터 전송 방법과 장치, 및 이를 위해 사용되는 컴퓨터기록 매체 Download PDF

Info

Publication number
KR100433508B1
KR100433508B1 KR10-2002-0045029A KR20020045029A KR100433508B1 KR 100433508 B1 KR100433508 B1 KR 100433508B1 KR 20020045029 A KR20020045029 A KR 20020045029A KR 100433508 B1 KR100433508 B1 KR 100433508B1
Authority
KR
South Korea
Prior art keywords
rate
gop
multimedia data
client
information
Prior art date
Application number
KR10-2002-0045029A
Other languages
English (en)
Other versions
KR20040011257A (ko
Inventor
송하윤
박도순
곽준원
Original Assignee
곽준원
박도순
송하윤
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 곽준원, 박도순, 송하윤 filed Critical 곽준원
Priority to KR10-2002-0045029A priority Critical patent/KR100433508B1/ko
Publication of KR20040011257A publication Critical patent/KR20040011257A/ko
Application granted granted Critical
Publication of KR100433508B1 publication Critical patent/KR100433508B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

MPEG의 코덱을 이용한 비디오 스트림을 GOP(Group of Pictures) 단위로 압축하여 전송률을 조절하는 방식으로 스무딩을 수행한다. 즉, 멀티미디어 데이터 서비스를 제공하는 송신 서버는 클라이언트로부터 비디오 스트림의 전송률 제어에 사용되는 버퍼의 크기에 대한 정보와 여러 네트워크 내에서의 제한된 대역폭에 대한 정보를 수신한다. 그리고 이러한 정보들을 기반으로 클라이언트의 버퍼에서 언더플로우나 오버플로우가 발생하지 않는 제한 영역 내에서 최대 전송률과 최소 전송률의 초기값을 설정한 후, MPEG 형식으로 압축된 비디오 스트림을 GOP 단위로 비트수를 누적시켜서 제한된 영역 내에서 전송률의 변화폭을 최소로 한다.

Description

효율적인 대역폭 스무딩 알고리즘을 적용한 멀티미디어 데이터 전송 방법과 장치, 및 이를 위해 사용되는 컴퓨터 기록 매체{Method and Apparatus for Multimedia Data Delivery Having an Efficient Bandwidth Smoothing Algorithm and a Recording Medium Used therefor}
본 발명은 멀티미디어 데이터를 인터넷을 통해 전송하는 방법 및 그 장치에 관한 것으로서, 특히 가변 비트율로 압축된 비디오 스트림의 전송률을 제한 영역 안에서 유지하도록 데이터를 전송하는 방법 및 장치에 관한 것이다.
인터넷 기술과 멀티미디어 기술이 발전함에 따라서 많은 응용분야들이 나타나게 되었는데, 이러한 응용분야의 예로는 VOD(Video On Demand), 원격 화상회의, 원격 교육, 가상 현실, 원격 진료 시스템 등이 있다.
특히, VOD 서비스 등에 있어서는 QoS(Quality of Service, 서비스 품질)를유지하기 위하여 제한 영역 내에서 전송률을 제어하여야 한다. 한편, 고품질의 여러 비디오 스트림을 전송하기 위하여 다양한 비디오 압축 기술이 개발되었으며 이러한 기술들도 제한된 대역폭 내에서 여러 비디오 스트림의 전송으로 인한 네트워크 트래픽을 최소화하기 위해 사용되고 있다.
비디오 압축 기술은 비디오 데이터를 부호화한 후, 고정 비트율(CBR) 형태의 압축방법 또는 가변 비트율(VBR) 형태의 압축방법으로 압축한다. 고정 비트율 형태의 압축방법은 압축된 비디오 스트림의 프레임당 비트수(BPS)가 일정하다. 그러나 가변 비트율 형태의 압축방법은 프레임당 비트수가 다르다. 이 중 가변 비트율 형태의 압축방법은 고정 비트율 형태의 압축방법과 동일한 화질을 유지하면서 더 높은 압축률을 얻을 수 있지만, 이러한 프레임당 비트수의 차이는 비디오 스트림에서 비트수의 급격한 증가를 의미하는 버스트(burst)를 가져올 수 있다. 자원이 제한된 네트워크 내에서 고품질의 비디오를 전송하기 위해서는 이러한 버스트를 최소화해야 하며, 그렇지 않으면 사용자는 수시로 끊기는 비디오를 시청하게 된다. 이와 같은 가변 비트율 형태의 비디오 전송에서의 버스트를 최소화하기 위한 방법으로 스무딩 알고리즘이 사용되고 있다. 즉, 클라이언트 버퍼의 이용도를 높일 수 있게 VOD 서버 내에 전송률 계산을 목적으로 하는 스무더가 존재하여 예약된 네트워크 자원을 최대로 이용함으로써 버스트의 문제점을 해결한다.
도 1은 VOD 서버로부터 클라이언트로 비디오 스트림을 보내는 전체 네트워크 구조를 간략히 나타내고 있다.
VOD 서버(110) 내의 부호화기(114)는 비디오(112)를 압축하고, 서버버퍼(116)에 압축된 비디오 스트림을 저장한다. 또한 부호화기(114)는 프레임의 비트수에 대한 정보를 스무더(스무딩 알고리즘)(118)로 전달한다. 스무더(118)는 클라이언트(130) 내의 버퍼(132) 크기와 네트워크 자원에 대한 정보를 고려하여 비디오 스트림의 전송률을 계산하고, 스무더에서 계산된 전송률에 따라 서버 버퍼(116)로부터 비디오 스트림을 보낸다. 이 비디오 스트림은 여러 네트워크(120)를 통해 클라이언트(130)의 버퍼(132)로 전달되고 복호화기(134) 즉, 플레이어를 통해서 사용자가 끊김이 없는 비디오를 시청하게 된다.
VOD 서버(110)에서 스무딩 알고리즘(118)의 주요한 기능은 클라이언트 버퍼의 오버플로우나 언더플로우를 막기 위해 프레임당 비트수에 대한 정보를 이용하여 비디오 스트림의 전송률을 제어하는 것이다. 클라이언트의 버퍼 크기에 따라서 네트워크의 지연이 발생하면 사용자는 끊김이 있는 비디오를 시청하게 된다. 반대로 네트워크 전송 속도가 빨라서 비디오 스트림이 먼저 도달한 경우 클라이언트의 버퍼 크기에 따라서 프레임이 손실이 발생하므로 사용자는 화질이 떨어지는 비디오를 시청하게 된다.
도 2에 스무딩 알고리즘의 원리를 그래프로 나타내었다. 도 2에서, X축은 시간의 경과를 나타내고 Y축은 전달된 프레임의 누적된 비트 수를 의미한다. 변수t가 프레임 단위인 시간을 나타낸다. V(t)는 서버에서 클라이언트로 전송되는 비디오 스트림을 최소한 정지되지 않게 유지시키는 경계선인 언더플로우이다. 반대로V B (t)는 서버에서 클라이언트로 전송되는 비디오 스트림이 클라이언트 버퍼의 크기를 초과하여 프레임이 분실되지 않게 유지시키는 경계선인 오버플로우이다. 상수b는 클라이언트 버퍼의 크기를 나타내는 값이다. 제한 영역(Constraint region)은V(t)V B (t)사이에 있는 영역으로 이 제한 영역 안에서 계산된 전송률이 변화된다. 도 2를 수식으로 표현하면 아래의 식들과 같다.
V^B (t) = V(t-1) + b
[수학식 1]에서f i i번째 프레임의 비트수를 의미하며, V(t)는 0부터i번째까지의 프레임들에서 누적된 비트수이며, 언더플로우(Underflow) 경계선을 의미한다. 클라이언트 버퍼의 언더플로우를 방지하기 위해서 서버는 충분한 수의 프레임을 클라이언트에게로 전송해야만 한다. [수학식 2]는 [수학식 1]에서 클라이언트의 버퍼 크기(b)를 더한 경계선이 오버플로우(Overflow)임을 의미한다. 그리고 [수학식 3]의c i 는 스무더에 의해 제어되는 전송률의i번째 변화값으로 이는 오버플로우와 언더플로우가 발생하지 않는 제한 영역 내에 존재하여야 한다.
이러한 원리를 바탕으로 다양한 스무딩 알고리즘이 개발되어 사용되어 왔다. 이 중 MVBA(Minimum Variability Bandwidth Allocation) 방식, MCBA(Minimum Changes Bandwidth Allocation) 방식, CBA(Critical Bandwidth Allocation) 방식은 제한 영역 내에서 전송률의 변경 횟수를 최소화하거나 전송률의 변경 자체를 최소화하는 방법이다. 한편, RCBS(Rate-Constrained Bandwidth Smoothing) 방식과 ON-OFF(On period and Off period Smoothing) 방식은 대역폭 조건을 만족하도록 버스트 전송률을 최소화한다. PCRTT(Piecewise Constant Rate Transmission and Transport) 방식은V(t)를 중심으로 전송률을 계산한다.
도 3에 (a) MVBA, (b) CBA, (c) MCBA 알고리즘의 전송률 변화 방식을 간략히 나타내었다.
MVBA 방식은 비디오 스트림에 대한 전송률의 변화를 최소화하는 방식이다. 이 방식은 전송률을 제어하기 위하여 기본적으로 백트래킹 메커니즘을 이용하며, 압축된 비디오 프레임이 N일 경우, 통상 O(N2)의 시간 복잡도를 갖는다. 좀 더 개선된 형태의 알고리즘은 CPU의 오버헤드를 줄이기 위해 시간 복잡도를 O(N)으로 줄였다.
MCBA 방식은 비디오 스트림에 대한 전송률의 변화 횟수를 최소화하는 방식이다. 이 방식은 송신 버퍼의 일정한 전송률을 제어하는 횟수에 따른 오버헤드를 줄이기 위한 목적이 있다. 그러나 이 경우 변화 횟수의 최소값을 얻기 위해 MVBA 방식에서 바이너리 서치를 추가로 이용하여 실제 실행시간이 증가한다.
CBA 방식은 전송률이 증가할 때에는 전송률의 변화 횟수를 최소화하고, 전송률이 감소할 때에는 전송률의 변화를 최소화하는 방법으로, MVBA 방식과 MCBA 방식을 결합한 형태라 할 수 있다. CBA의 시간 복잡도는 MVBA와 유사하며, 전송률이 증가하는 경우에는 전송률 변화의 수의 최소값을 얻기 위해 바이너리 서치를 추가로 요구한다.
RCBS 방식은 제한된 대역폭에서 클라이언트 버퍼의 사용을 최소화하는 것이다. 이 알고리즘은 프레임에 대한 역방향 탐색을 수행하여 도 4에 나타난 바와 같이 제한된 대역폭보다 큰 프레임의 비트수인 버스트를 제한된 대역폭으로 낮춘다. 이 방식은 제한된 대역폭보다 작은 프레임의 비트수인 경우에 전송률의 제어는 하지 않고 그 전송률로 비디오 스트림을 보낸다. 이 방식은 전송률의 변화와 전송률 변화 횟수에 대해서 큰 변화폭이 생긴다.
도 5에 나타낸 ON-OFF 방식은 온-주기(on-period)에서 제한된 대역폭의 최대값인 r로 전송하고, 오프-주기(off-period)에서 비디오 스트림을 전혀 전송하지 않는다. 이 방식은 r과 클라이언트 버퍼 크기에 대해서 온-오프 주기가 변한다. 따라서 전송률의 변화 횟수는 다른 스무딩 방식에 비해서 매우 크다.
도 6에 나타낸 PCRTT 방식은 일정한 시간 주기 동안에V(t)의 평균전송률을 계산하고 전송률에 정해진 오프셋을 더함으로써 언더플로우를 방지한다. 클라이언트의 버퍼 크기가 작은 경우에는 오버플로우가 일어날 가능성이 많지만, 그렇지 않을 경우 평균전송률을 계산하는 일정한 시간 주기가 줄어든다. 이 현상은 전송률의 변화 횟수를 늘려 CPU의 부담을 가중시키는 단점이 있다.
본 발명은 네트워크 자원 환경의 변동이 일어나더라도 클라이언트 측에서는 부드러운 영상을 보여줄 수 있는 멀티미디어 데이터 전송 방법 및 장치를 제공하는 것을 그 목적으로 한다.
본 발명의 다른 목적은 전송률의 버스트를 최소화할 수 있는 멀티미디어 데이터 전송 방법 및 장치를 제공하는 것이다.
본 발명의 다른 목적은 전송률의 변화 횟수를 최소화할 수 있는 멀티미디어 데이터 전송 방법 및 장치를 제공하는 것이다.
도 1은 VOD 서버로부터 클라이언트로 비디오 스트림을 보내는 전체 네트워크 구조를 나타낸 개략도이다.
도 2는 스무딩 알고리즘의 원리를 나타낸 그래프이다.
도 3은 (a) MVBA, (b) CBA, (c) MCBA 알고리즘의 전송률 변화 방식을 간략히 나타낸 그래프이다.
도 4는 RCBS 알고리즘의 전송률 변화 방식을 나타낸 그래프이다.
도 5는 ON-OFF 알고리즘의 전송률 변화 방식을 나타낸 그래프이다.
도 6은 PCRTT알고리즘의 전송률 변화 방식을 나타낸 그래프이다.
도 7은 MPEG 압축 방식의 GOP 패턴을 나타낸다.
도 8은 본 발명의 비디오 데이터 전송방법을 나타내는 흐름도이다.
도 9는 본 발명의 비디오 데이터 전송방법에서 전송률의 변화를 보여주는 그래프이다.
도 10은 종래 기술에 따른 스무딩 알고리즘과 본 발명에 따른 MVBAG 알고리즘의 시간 복잡도를 나타내는 표이다.
도 11은 본 발명의 실시예에 따른 스무딩 알고리즘과 다른 종래기술의 알고리즘을 비교하기 위한 실험에 사용된 비디오 소스의 명세를 나타낸다.
도 12a 내지 도 12c는 도 11에 나타난 비디오 소스에 대해 전송률의 첨두값(Kbytes per frame), 전송률의 변화 빈도, 스무딩 알고리즘을 실행하기 위해 요구되는 CPU 시간을 각각 나타낸 그래프이다.
도 13은 본 발명의 실시예에 따른 스무딩 알고리즘을 적용한 경우의 대역폭 스케쥴 기록을 나타낸다.
도 14는 (a) MVBA, (b) RCBS, (c) ON-OFF, (d) PCRTT 방식을 적용한 경우의 대역폭 스케쥴 기록을 나타낸다.
이와 같은 목적을 달성하기 위하여 본 발명에서는 기존의 스무딩 알고리즘을 확장시켜 제한된 대역폭 내에서 MPEG의 특성을 이용하여 GOP 단위로 스무딩한다.
즉, 본 발명에 따른 멀티미디어 데이터를 전송하는 방법은, 멀티미디어 데이터 서비스를 위한 멀티미디어 데이터 송신 서버가 여러 네트워크를 통해 클라이언트로 MPEG 형식으로 압축된 멀티미디어 데이터인 비디오 스트림을 전송하는 방법이며, 상기 방법은 상기 클라이언트로부터 데이터 전송 요청과 함께 멀티미디어 데이터 수신에 필요한 버퍼의 크기에 대한 정보와 네트워크의 자원에 대한 정보를 송신 서버로 동시에 전달하는 데이터 전송 요청 수신 단계, 상기 버퍼의 크기에 대한 정보와 네트워크의 자원에 대한 정보들을 바탕으로 제한 영역 내에서 최대 전송률과 최소 전송률의 초기값을 설정하는 초기값 설정 단계, 전송하고자 하는 각GOP(Group of Pictures)에 대하여 최대 전송률이 해당 GOP까지의 누적 비트수보다 작은 경우, 전송률을 증가시키는 언더플로우 조절 단계, 전송하고자 하는 각 GOP에 대하여 최소 전송률이 클라이언트 버퍼의 오버플로우 경계를 넘는 경우, 전송률을 감소시키는 오버플로우 조절 단계를 포함하여 이루어진다.
여기에서, 상기 초기값 설정 단계에서는, 0번째 GOP로부터t번째 GOP까지의 누적된 비트수를 의미하는 함수V(t)의 초기값을 최소 전송률로 설정하고, 할당된 대역폭을 최대 전송률로 설정할 수 있다. 멀티미디어 데이터 송신 서버는 예를 들면 VOD(Video On Demand) 서버 등이 될 수 있다.
한편, 본 발명에 따른 멀티미디어 데이터 전송 시스템은, 멀티미디어 데이터 송신 서버, 멀티미디어 데이터 수신 클라이언트, 및 상기 서버와 상기 클라이언트 사이를 연결하는 컴퓨터 네트워크를 포함하여 이루어지며, 상기 서버는 MPEG 부호화기를 포함하고, 상기 클라이언트는 상기 서버로 멀티미디어 데이터 전송 요청과 함께 멀티미디어 데이터 수신에 사용되는 버퍼의 크기에 대한 정보와 네트워크의 자원에 대한 정보를 동시에 전송하며, 상기 서버는, 상기 버퍼의 크기에 대한 정보와 네트워크의 자원에 대한 정보를 참조하여 제한 영역 내의 최대 전송률과 최소 전송률의 초기값을 설정하고, 전송하고자 하는 각 GOP에 대하여 최대 전송률이 해당 GOP까지의 누적 비트수보다 작은 경우 전송률을 증가시키고, 전송하고자 하는 각 GOP에 대하여 최소 전송률이 클라이언트 버퍼의 오버플로우 경계를 넘는 경우 전송률을 감소시킨다.
본 발명에 따른 컴퓨터에 의해 판독 및 실행 가능한 기록 매체에는 컴퓨터를이용해 판독되고 실행될 수 있는 프로그램이 기록되어 있으며, 상기 프로그램은 컴퓨터에서 실행되어, 외부로부터 수신된 클라이언트 버퍼의 크기에 대한 정보와 네트워크의 자원에 대한 정보를 참조하여 제한 영역 내의 최대 전송률과 최소 전송률의 초기값을 설정하고, 전송하고자 하는 MPEG 포맷의 비디오 스트림을 구성하는 각 GOP에 대하여 최대 전송률이 해당 GOP까지의 누적 비트수보다 작은 경우 전송률을 증가시키고, 전송하고자 하는 각 GOP에 대하여 최소 전송률이 클라이언트 버퍼의 오버플로우 경계를 넘는 경우 전송률을 감소시킨다.
여기에서, 상기 기록 매체에는 MPEG 부호화기 프로그램이 더 기록되어 있을 수 있다.
이제 본 발명의 실시 예에 대하여 첨부한 도면을 참고로 하여 상세히 설명한다.
본 발명의 실시 예에 따른 데이터의 전송 방법에서는 비디오 스트림을 압축하는 방법의 특징을 스무딩 알고리즘과 결합시켜 개선된 데이터 전송 방법을 얻는다.
네트워크를 통한 비디오 전송을 위해서는 H.261, H.263, MPEG-1, MPEG-2, MPEG-4 등과 같은 다양한 코덱(CODEC)이 사용된다. 이 중 본 발명의 실시예에서는 다양한 디지털 AV 서비스에서 널리 사용되는 MPEG(Moving Picture Experts Group) 패밀리에 초점을 두어 설명한다.
MPEG 표준은 DCT(Discrete Cosine Transform), Huffman 코드,DCPM(Differential Pulse Code Modulation)과 같은 방식을 혼합한 비디오 스트림 압축 기술을 소개하고 있다. DCT는 고화질의 영상을 유지하면서 높은 압축률을 얻을 수 있어 화상 내의 공간 중복성을 제거함으로써 화상을 압축하는 데에 사용된다. 두 개의 연속된 프레임 사이의 시간 중복성 역시 프레임의 차이 값만을 이용하여 압축할 수 있다. 수시로 반복되어 나오는 수를 효과적으로 압축하기 위해 DCPM과 허프만(Huffman) 코드가 사용된다.
이러한 압축 기술에 따라 MPEG 비디오 프레임은 세 가지 종류로 나누어진다. 첫 번째로 I 프레임은 독립적으로 부호화된(intra-coded) 프레임이며, 다른 프레임을 참조할 필요없이 독립적으로 복호화될 수 있으므로 스트림 내의 어느 위치에나 존재할 수 있다. 따라서 I 프레임에 대해서는 임의 접근(random access)이 가능하다. 두 번째로 P 프레임은 단방향 부호화된(predictive-coded) 프레임이며, 이전의 I 프레임 또는 이전의 P 프레임을 이용하여 복호화된다. P 프레임은 I 프레임을 기초로 하여 두 프레임 사이의 차이 값만을 갖고 있다. 마지막으로 B 프레임은 양방향 부호화된(bidirectional-coded) 프레임이며, 양쪽의 I 또는 P 프레임 사이의 차이만을 갖고 있으므로 이전 및 이후의 I 프레임 또는 P 프레임을 모두 이용하여 복호화된다. 프레임 타입 사이의 이러한 계층적 상관관계는 I 프레임이 최초로 배치되고 다음으로 B 또는 P 프레임이 뒤따르도록 한다. 연속되는 프레임들을 I 프레임으로 구분하여 나타낸 구조를 GOP(Group of Pictures)라 한다. MPEG의 GOP 패턴은 도 7과 같이 나타낸다.
본 발명에서는 이와 같은 MPEG 압축 코덱을 이용한 비디오 스트림에 대하여GOP를 단위로 스무딩을 수행하는 방법을 제공한다. 본 명세서에서는 이 방법을 MVBAG(Minimum Variability Bandwidth Allocation with GOP of Pictures) 방법이라고 한다.
도 8에 본 발명의 스무딩 방법을 이용한 비디오 데이터의 전송 방법의 흐름도가 나타나 있다.
먼저, 클라이언트는 비디오 데이터 전송 요청을 서버로 전송한다(S810). 전송 요청시 클라이언트는 자신의 비디오 버퍼 크기에 관한 정보와 네트워크의 자원에 대한 정보를 동시에 서버로 전송한다.
서버는 수신된 비디오 데이터 전송 요청에 따라 해당 비디오 데이터를 클라이언트로 전송하게 되는데, 이 때 먼저 클라이언트 버퍼 크기에 관한 정보와 네트워크의 자원에 대한 정보를 이용하여 전송률의 제한 영역을 결정하는 최대 전송률과 최소 전송률의 초기값을 설정한다(S820). 다음, GOP 단위로 비디오 데이터를 계산된 전송률에 따라 전송한다(S830).
이 때 전송하고자 하는 각 GOP에 대하여 최대 전송률이 해당 GOP까지의 누적 비트수보다 작은 경우(S840), 전송률을 증가시키고(S850), 전송하고자 하는 각 GOP에 대하여 최소 전송률이 클라이언트 버퍼의 오버플로우 경계를 넘는 경우(S860), 전송률을 감소시킨다(S870).
이러한 스무딩 방법을 코드로 나타내면 다음과 같다.
PROCEDURE MVBAG ()
Initialize queue TB and T
(0) REPEAT
(1) increase t, Cmax = V(first(TB)), Cmin = V(first(T))
(2) IF Cmax < V(t) then
(3) REPEAT
(4) output (Cmax), delete (first(TB))
(5) Cmax = Constraint Bandwidth
(6) UNTIL empty (first(TB))
(7) delete (first(T))
(8) ELSE IF Cmin > V B (t) then
(9) REPEAT
(10) output (Cmin), delete (first(T))
(11) Cmin = V(first(T))
(12) UNTIL empty (first(T))
(13) delete (first(TB))
END IF
(14) search the convex lower bound of V B (t) in TB
(15) insert (TB, t)
(16) search the concave upper bound of V(t) in T
(17) insert (T, t)
(18) UNTIL t = M
END PROCEDURE
(1)의tt번째 GOP를 의미하며, first() 함수는TBT인 큐에서 첫번째 요소를 참조하여C max C min 의 초기값을 결정하는 함수이다.V(t)는 0번째 GOP로부터t번째 GOP까지의 누적된 비트수를 의미하는 것으로 클라이언트 버퍼의 언더플로우 경계가 된다. 한편,V B (t)는 클라이언트 버퍼의 오버플로우 경계이다.C max 는 시간t까지의 제한 영역 내의 최대 전송률이고,C min 은 최소 전송률이다. 따라서C min 은 V(t)의 초기값이고,C max 는 할당된 대역폭이 된다.
(2)부터 (7)까지는 클라이언트 버퍼의 언더플로우를 방지하기 위한 과정으로,C max <V(t)인 경우C max 의 값을 도 9 (a)와 같이 변화시킨다. 즉, 언더플로우가 발생하기 전의 접점(C max =V B (t))까지 구한C max 의 값이 해당 전송률이 되고 접점 이후에 오버플로우 또는 언더플로우가 발생하지 않는 영역인 제한 영역 내에서C max 의 값은 최대 전송률로 다시 계산된다.
반대로, (8)부터 (13)까지는 클라이언트 버퍼의 오버플로우를 방지하기 위한과정으로,C min >V B (t)인 경우C min 의 값을 도 9 (b)와 같이 변화시킨다. 즉, 오버플로우가 발생하기 전의 접점(C min =V(t))까지 구한C min 의 값이 해당 전송률이 되고 접점 이후에 제한 영역 내에서C min first()함수를 이용하여 다시 계산된다.
이와 같이 함으로써 비디오 스트림을 전송하는 과정에서 QoS가 보장될 수 있다.
한편, (14)에서V B (t)의 최소 볼록 경계선(convex lower bound of V B (t))은 시간t에 이르기까지의 가장 낮은 오버플로우 경계값을 의미하고, 반대로V(t)의 최대 오목 경계선(concave upper bound of V(t))은 가장 높은 언더플로우 경계값을 의미한다. 이러한 값들은TBT의 큐에 저장된다.
이러한 알고리즘은 전체 GOP 수까지 반복한다(18).
도 10은 종래 기술에 따른 스무딩 알고리즘과 본 발명에 따른 MVBAG 알고리즘의 시간 복잡도를 나타내는 표이다.N은 한 비디오 스트림에서 총 프레임의 개수이고,M은 프레임의 집합인 GOP의 총 개수이다. 각 GOP가c개의 프레임으로 이루어져 있다면,N=cM이다. 본 발명에 따른 실시 예에서는c를 6 또는 15의 값으로 하였다. 즉,N=6M또는N=15M이다. 따라서 다른 종래기술에 따른 스무딩 알고리즘의 시간 복잡도가 O(N)인 것에 비해, 본 발명에 따른 MVBAG 알고리즘의 시간 복잡도는 O(M), 즉 O(N/c)가 된다.
본 발명의 실시 예에 따른 전송 방법의 효과를 알아보기 위하여 종래기술에따른 방법들과 비교하여 실험을 해보았다. 실험에는 다양한 프레임 특성과 품질을 갖는 여러 비디오 소스가 사용되었으며 도 11은 실험에 사용된 비디오 소스의 명세를 나타낸다. 스타워즈나 쥬라기 공원과 같은 영화는 프레임 크기에 있어서 차이가 많이 있으며, 고화질의 영상이다. 뉴스의 경우 프레임의 크기가 좀더 작고 변화가 적으며 고화질이다. 뮤직비디오는 인상적인 특징을 갖고 있는데, 여러 사람의 댄서가 현란하게 움직이는 장면의 급격하고 많은 변화가 있으며 매우 고화질의 영상이어서 스무딩 알고리즘을 실험하기 위한 매우 극한적인 특징을 가지고 있다. 크로커다일 던디와 이티는 스타워즈나 쥬라기공원과 비슷한 특성을 갖고 있지만 화질이 떨어진다. 도 11은 각 비디오 소스에 대해 초당 30 프레임인 경우의 다양한 매개변수들을 나타내고 있다.
도 12a 내지 도 12c 는 위의 6개의 비디오 소스에 대해 버스트 전송률(Kbytes per frame), 전송률의 변화 빈도, 스무딩 알고리즘을 실행하기 위해 요구되는 CPU 시간을 각각 나타내고 있다.
도 12a를 참고하면, 본 발명의 실시예에 따른 MVBAG 알고리즘이 낮은 버스트 전송률을 갖는 그룹 내에 포함되어 있다. 특히, 스타워즈와 뉴스는 다른 비디오 소스들에 비해 가장 낮은 버스트 전송률을 나타내었다.
도 12b에는 전송률의 변화 빈도가 나타나 있다. 본 발명의 실시예에 따른 MVBAG 방법과 MVBA 방법이 전송률의 변화 빈도에 있어서는 다른 방법에 비해 성능이 나은 것으로 확인되었다. MVBA와 MVBAG 모두에 있어서 대역폭 변화의 필요는 낮은 것으로 나타났고, 이는 대역폭 변화를 줄이는 것이 MVBA의 주요한 목적이라는점에서 당연하다고 볼 수 있다. 그러나 RCBS는 모든 비디오 소스에 대해서 가장 높은 전송률 변화 빈도를 나타냈다.
도 12c에서는 CPU 시간 소비에 있어서 MVBAG가 MVBA에 비해 우수한 것으로 나타났다. 직사각형의 영역은 각 그래프의 바닥 부분을 확대해서 나타낸 것이다. MVBA 알고리즘은 O(N2)의 시간 복잡도를 요구하지만 큐를 이용하여 O(N)의 시간 복잡도를 갖도록 수정되었다. 그러나, 실제의 수행 결과는 큐에 시간 데이터를 삽입, 관리, 삭제하는 동작이 CPU 시간의 50%를 소비하는 것으로 확인되었다. GOP당 고정된 프레임을 갖는 크로커다일 던디와 이티의 경우 MVBAG는 MVBA에 비해 적어도 6배 이상 효율적이었으며, 다른 비디오 소스에 대해서는 8배까지도 나타났다. 다만, MVBAG는 프레임 단위가 아니라 GOP 단위로 비디오를 저장하기 위하여 충분한 클라이언트 버퍼를 요구한다.
도 13은 쥬라기 공원에 대한 대역폭 스케쥴 기록을 보여준다. 도 14에 나타난 다른 알고리즘과 비교해볼 때 MVBAG는 다른 모든 알고리즘에 비해 전송률의 변화가 가장 적은 것으로 나타났다.
지금까지 바람직한 실시예를 참고로 하여 이 발명을 상세히 설명하였으나 이 발명의 범위는 이에 한정되는 것은 아니며, 다음의 특허청구범위에 의해 해석되어야 할 것이다. 또한, 이 발명이 속하는 분야의 통상의 기술자라면 이 발명의 사상을 벗어나지 않고도 다양한 변형이나 변경이 가능함을 이해할 수 있을 것이다.
앞서 설명한 바와 같이, 본 발명의 스무딩 알고리즘을 이용하면 버스트 전송률이 낮고 전송률의 변화 빈도가 낮은 비디오 데이터의 전송 방법을 얻을 수 있으며, 이와 함께 CPU 시간의 소모를 줄일 수 있다.

Claims (10)

  1. 멀티미디어 데이터 송신 서버가 컴퓨터 네트워크를 통해 멀티미디어 데이터 수신 클라이언트로 MPEG 방식으로 압축된 멀티미디어 데이터를 전송하는 방법에 있어서,
    상기 클라이언트로부터 멀티미디어 데이터 전송 요청과 함께 멀티미디어 데이터 수신에 필요한 버퍼의 크기에 대한 정보와 네트워크의 자원에 대한 정보를 동시에 수신하는 데이터 전송 요청 수신 단계,
    상기 버퍼의 크기에 대한 정보와 네트워크의 자원에 대한 정보를 바탕으로 제한 영역 내의 최대 전송률과 최소 전송률의 초기값을 설정하는 초기값 설정 단계,
    전송하고자 하는 각 GOP(Group of Pictures)에 대하여 최대 전송률이 해당 GOP까지의 누적 비트수보다 작은 경우, 전송률을 증가시키는 언더플로우 조절 단계,
    전송하고자 하는 각 GOP에 대하여 최소 전송률이 클라이언트 버퍼의 오버플로우 경계를 넘는 경우, 전송률을 감소시키는 오버플로우 조절 단계를 포함하는 멀티미디어 데이터 전송 방법.
  2. 제 1 항에 있어서,
    상기 초기값 설정 단계에서는,
    0번째 GOP로부터 t번째 GOP까지의 누적된 비트수를 의미하는 함수 V(t)의 초기값을 최소 전송률로 설정하고,
    할당된 대역폭을 최대 전송률로 설정하는 멀티미디어 데이터 전송 방법.
  3. 제 1 항에 있어서,
    멀티미디어 데이터 송신 서버는 다수의 클라이언트에게 멀티미디어 데이터 서비스를 제공하는 서버인 멀티미디어 데이터 전송 방법.
  4. 제 3 항에 있어서,
    상기 서버는 VOD(Video On Demand) 서버인 멀티미디어 데이터 전송 방법.
  5. 제 1 항에 있어서,
    상기 멀티미디어 데이터는 비디오 스트림인 멀티미디어 데이터 전송 방법.
  6. 제 1 항에 있어서,
    상기 컴퓨터 네트워크는 둘 이상의 네트워크를 포함하여 이루어지는 멀티미디어 데이터 전송 방법.
  7. 멀티미디어 데이터 송신 서버, 멀티미디어 데이터 수신 클라이언트, 및 상기 서버와 상기 클라이언트 사이를 연결하는 컴퓨터 네트워크를 포함하는 멀티미디어데이터 전송 시스템에 있어서,
    상기 서버는 MPEG 부호화기를 포함하고 있으며,
    상기 클라이언트는 상기 서버로 멀티미디어 데이터 전송 요청과 함께 멀티미디어 데이터 수신에 사용되는 버퍼의 크기에 대한 정보와 네트워크의 자원에 대한 정보를 동시에 전송하고,
    상기 서버는,
    상기 버퍼의 크기에 대한 정보와 네트워크의 자원에 대한 정보를 참조하여 제한 영역 내의 최대 전송률과 최소 전송률의 초기값을 설정하고,
    전송하고자 하는 각 GOP에 대하여 최대 전송률이 해당 GOP까지의 누적 비트수보다 작은 경우 전송률을 증가시키고,
    전송하고자 하는 각 GOP에 대하여 최소 전송률이 클라이언트 버퍼의 오버플로우 경계를 넘는 경우 전송률을 감소시키는 멀티미디어 데이터 전송 시스템.
  8. 제 7 항에 있어서,
    상기 제한 영역 내의 최소 전송률의 초기값은 0번째 GOP로부터 t번째 GOP까지의 누적된 비트수를 의미하는 함수 V(t)의 초기값으로 설정하고,
    상기 제한 영역 내의 최대 전송률의 초기값은 할당된 대역폭으로 설정하는 멀티미디어 데이터 전송 시스템.
  9. 컴퓨터를 이용해 판독되고 실행될 수 있는 프로그램이 기록되어 있는 기록매체로서,
    상기 프로그램은 상기 컴퓨터에서 실행되어,
    외부로부터 수신된 클라이언트 버퍼의 크기에 대한 정보와 네트워크의 자원에 대한 정보를 참조하여 제한 영역 내의 최대 전송률과 최소 전송률의 초기값을 설정하고,
    전송하고자 하는 MPEG 포맷의 비디오 스트림을 구성하는 각 GOP에 대하여 최대 전송률이 해당 GOP까지의 누적 비트수보다 작은 경우 전송률을 증가시키고,
    전송하고자 하는 각 GOP에 대하여 최소 전송률이 클라이언트 버퍼의 오버플로우 경계를 넘는 경우 전송률을 감소시키는 컴퓨터에 의해 판독 및 실행 가능한 기록 매체.
  10. 제 9 항에 있어서,
    상기 기록 매체에는 MPEG 부호화기 프로그램이 더 기록되어 있는 컴퓨터에 의해 판독 및 실행 가능한 기록 매체.
KR10-2002-0045029A 2002-07-30 2002-07-30 효율적인 대역폭 스무딩 알고리즘을 적용한 멀티미디어데이터 전송 방법과 장치, 및 이를 위해 사용되는 컴퓨터기록 매체 KR100433508B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR10-2002-0045029A KR100433508B1 (ko) 2002-07-30 2002-07-30 효율적인 대역폭 스무딩 알고리즘을 적용한 멀티미디어데이터 전송 방법과 장치, 및 이를 위해 사용되는 컴퓨터기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0045029A KR100433508B1 (ko) 2002-07-30 2002-07-30 효율적인 대역폭 스무딩 알고리즘을 적용한 멀티미디어데이터 전송 방법과 장치, 및 이를 위해 사용되는 컴퓨터기록 매체

Publications (2)

Publication Number Publication Date
KR20040011257A KR20040011257A (ko) 2004-02-05
KR100433508B1 true KR100433508B1 (ko) 2004-05-31

Family

ID=37319569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-0045029A KR100433508B1 (ko) 2002-07-30 2002-07-30 효율적인 대역폭 스무딩 알고리즘을 적용한 멀티미디어데이터 전송 방법과 장치, 및 이를 위해 사용되는 컴퓨터기록 매체

Country Status (1)

Country Link
KR (1) KR100433508B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100648654B1 (ko) 2004-10-04 2006-11-23 주식회사 케이티프리텔 클라이언트를 고려하지 않는 데이터 전송률 제어 방법 및그 장치

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100744542B1 (ko) 2005-12-08 2007-08-01 한국전자통신연구원 가변대역 멀티코덱 QoS 제어 장치 및 방법
KR100905075B1 (ko) * 2007-09-28 2009-06-30 주식회사 케이티프리텔 데이터 중계 장치 및 방법
KR101038645B1 (ko) * 2009-03-26 2011-06-02 (주)필링크 스트리밍 시스템의 언더플로우/오버플로우 방지 방법 및 그시스템

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100648654B1 (ko) 2004-10-04 2006-11-23 주식회사 케이티프리텔 클라이언트를 고려하지 않는 데이터 전송률 제어 방법 및그 장치

Also Published As

Publication number Publication date
KR20040011257A (ko) 2004-02-05

Similar Documents

Publication Publication Date Title
JP4087852B2 (ja) ビデオの伝送方法
US7292602B1 (en) Efficient available bandwidth usage in transmission of compressed video data
Vandalore et al. A survey of application layer techniques for adaptive streaming of multimedia
US6801947B1 (en) Method and apparatus for broadcasting media objects with guaranteed quality of service
KR100357689B1 (ko) 일관된 화질을 가지는 실시간 가변 비트율 엠펙 비디오전송 시스템
US20040143850A1 (en) Video Content distribution architecture
JP2004525556A (ja) ストリーミングされたメディアをバッファリングする方法及びシステム
US20100202509A1 (en) Near real time delivery of variable bit rate media streams
JP2003525547A (ja) スケーラブルビデオをストリーミングするための方法及び装置
JP2006050604A (ja) Avデータ受信時のバッファ量をコンテンツ属性によって弾力的に調節する方法及び装置
EP1187460A2 (en) Image transmitting method and apparatus and image receiving method and apparatus
US7343433B2 (en) Method and apparatus for controlling amount of buffer data in a receiver of a data communication system, and method and apparatus for playing streaming data with adaptive clock synchronization unit
US6412013B1 (en) System for controlling data output to a network
KR100433508B1 (ko) 효율적인 대역폭 스무딩 알고리즘을 적용한 멀티미디어데이터 전송 방법과 장치, 및 이를 위해 사용되는 컴퓨터기록 매체
US6674804B1 (en) Method for generating a multiplexed sequence of media units
US20040143849A1 (en) Method and system to create a deterministic traffic profile for isochronous data networks
Chao et al. ECVBA traffic‐smoothing scheme for VBR media streams
Chang et al. Schedulable region for VBR media transmission with optimal resource allocation and utilization
US8401086B1 (en) System and method for increasing responsiveness to requests for streaming media
Chao et al. Efficient changes and variability bandwidth allocation for VBR media streams
Feng et al. Extending critical bandwidth allocation techniques for stored video delivery across best‐effort networks
Ng A reserved bandwidth video smoothing algorithm for MPEG transmission
US20050207501A1 (en) Method of and system for video bit allocation for scene cuts and scene changes
Chang et al. Resource Allocation for Stored Video Delivery with Rate Availability Function
Cao et al. Online variable-bit-rate video traffic smoothing

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130514

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20140519

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20150507

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20160519

Year of fee payment: 13

LAPS Lapse due to unpaid annual fee