KR19990052962A - 연속매체 서버의 동적 버퍼 제어장치 - Google Patents

연속매체 서버의 동적 버퍼 제어장치 Download PDF

Info

Publication number
KR19990052962A
KR19990052962A KR1019970072520A KR19970072520A KR19990052962A KR 19990052962 A KR19990052962 A KR 19990052962A KR 1019970072520 A KR1019970072520 A KR 1019970072520A KR 19970072520 A KR19970072520 A KR 19970072520A KR 19990052962 A KR19990052962 A KR 19990052962A
Authority
KR
South Korea
Prior art keywords
buffer
disk
data
dynamic
scheduler
Prior art date
Application number
KR1019970072520A
Other languages
English (en)
Other versions
KR100273367B1 (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 KR1019970072520A priority Critical patent/KR100273367B1/ko
Publication of KR19990052962A publication Critical patent/KR19990052962A/ko
Application granted granted Critical
Publication of KR100273367B1 publication Critical patent/KR100273367B1/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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23406Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving management of server-side video buffer
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/23418Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving operations for analysing video streams, e.g. detecting features or characteristics

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Television Signal Processing For Recording (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

본 발명은 연속매체 서버의 동적 버퍼 제어장치에 관한 것으로, 종래에는 정적인 버퍼공간의 할당은 불필요한 버퍼 공간을 더 할당해서 충분히 활용하지 못하는 결과를 초래하고, 이것은 주어진 메인 메모리로 동시에 수용할 수 있는 클라이언트 수를 늘리는데 걸림돌의 원인이 되는 문제점이 있다. 따라서 본 발명은 압축된 연속매체를 저장하는 디스크(10)와, 상기 디스크(10)로 부터 데이터를 읽어들이는 디스크 드라이버(20)와, 현재 서비스 되고 있는 스트림중에서 어느 스트림을 어떤 순서로 디스크에서 읽어올 것인가를 결정하는 디스크 스케줄러(30)와, 연속매체의 가변비트율 압축의 특성에 따라 동적으로 몇 개의 그룹으로 나누어 할당하고, 그 할당된 공간에 연속매체 스트림을 저장하고 있는 자유버퍼풀(45)과, 상기 디스크 스케줄러(30)로 부터의 정보와 메타 데이터를 이용해서 각 클라이언트가 윈도우 주기동안 필요한 최대 버퍼량을 계산해서 매 윈도우의 주기마다 필요한 버퍼의 공간을 상기 자유버퍼풀(45)로 부터 할당하고, 이 할당 결과를 상기 디스크 스케줄러(30)로 전송하는 동적버퍼 제어부(35)와, 상기 동적버퍼 제어부(35)의 제어에 따라 디스크로 부터 읽어오는 과정에 있는 데이터를 저장하는 입력버퍼(41)와, 상기 동적버퍼 제어부(35)의 제어에 따라 클라이언트(60)로 전송되고 있는 데이터를 저장하고 있는 출력버퍼(42)와, 상기 출력버퍼(42)에 저장된 데이터를 네트워크로 전송하는 네트워크부(50)와, 네트워크를 통해 전송되어온 데이터를 디스플레이 해서 이용하는 클라이언트부(60)로 구성하여,버퍼를 연속매체의 가변비트율 압축의 특성에 따라 동적으로 몇 개의 그룹으로 나누어 할당함으로써 버퍼의 사용량을 최소화하면서, 디스크에서 읽어온 데이터의 처리의 효율성을 극대화하여 동시에 수용할 수 있는 재생 스트림 수를 최대화할 수 있도록 한 것이다.

Description

연속매체 서버의 동적 버퍼 제어장치
본 발명은 연속 매체의 비디오 데이터를 제공하는 연속 매체 서버에 관한 것으로, 특히 버퍼를 연속 매체의 가변 비트율 압축 특성에 따라 동적으로 몇 개의 그룹으로 나누어 관리함으로써 버퍼의 사용량을 최소화하면서 처리의 효율성을 극대화하기 위한 연속매체 서버의 동적 버퍼 제어장치에 관한 것이다.
도 1은 종래의 연속매체 서버 구조도로서, 이에 도시한 바와같이, 압축된 연속매체를 저장하는 디스크(10)와, 상기 디스크(10)로 부터 데이터를 읽어들이는 디스크 드라이버(20)와, 버퍼의 상태를 체크하여 현재 서비스 되고 있는 스트림중에서 어느 스트림을 어떤 순서로 디스크에서 읽어올 것인가를 결정하는 디스크 스케줄러(30)와, 상기 디스크 스케줄러(30)에 의해서 결정된 스트림의 해당 데이터를 디스크 드라이버(20)에서 읽어온 데이터를 저장하는 버퍼부(40)와, 상기 버퍼부(40)에 저장된 데이터를 네트워크로 전송하는 네트워크부(50)와, 네트워크를 통해 전송되어온 데이터를 디스플레이 해서 이용하는 클라이언트부(60)로 구성된다.
이와같이 구성된 종래 기술에 대하여 상세히 살펴보면 다음과 같다.
디스크 스케줄러(30)가 현재 서비스 되고 있는 스트림중에서 어느 스트림을 어떤 순서로 디스크에서 읽어올 것인가를 결정하고, 그 결정한 데이터를 읽어들이라는 정보를 디스크 드라이버(20)로 출력하면, 상기 디스크 드라이버(20)는 압축된 연속매체를 저장하는 디스크(10)로 부터 해당 데이터를 읽어들여 버퍼들로 이루어진 버퍼부(40)로 출력한다.
그러면 상기 버퍼부(40)는 디스크 드라이버(20)로 부터 전달된 데이터를 저장한다.
상기 버퍼부(40)에 저장된 데이터를 네트워크부(50)에서 읽어들여 네트워크로 전송하면, 클라이언트부(60)의 클라이언트들이 네트워크를 통해 전송되어 오는 데이터를 디스플레이하여 이용한다.
상기에서와 같은 동작을 행하는 연속매체 서버는 다양한 디스크 스케줄링을 위해서 버퍼관리를 했다.
이러한 버퍼관리의 목적은 대부분 동시에 수용할 수 있는 클라이언(Client) 수를 최대화 하기 위한 것과, 클라이언트의 실시간 요구를 보장하면서 필요한 버퍼공간을 최소화하는 것이다.
상기 버퍼부(40)를 구성하는 버퍼의 버퍼공간을 예약할 때, 버퍼 공간을 일정하게 할당해서 사용하고, 가변비트율 압축을 고려하지 않았다.
예를 들면 최대 재생율이 1.5Mbps이면, 이 재생율로 해당하는 버퍼공간을 할당해서 연속매체 서비스가 완전히 끝날 때 까지 그 버퍼 사이즈는 변하지 않는다.
그러나, 상기에서와 같은 종래기술에서 연속 매체 스트림율은 가변비트율(VBR) 압축 때문에 변하고 보통, 최대 전송율 보다 작다. 따라서 정적인 버퍼공간의 할당은 불필요한 버퍼 공간을 더 할당해서 충분히 활용하지 못하는 결과를 초래하고, 이것은 주어진 메인 메모리로 동시에 수용할 수 있는 클라이언트 수를 늘리는데 걸림돌의 원인이 되는 문제점이 있다.
따라서 상기에서와 같은 종래의 문제점을 해결하기 위한 본 발명의 목적은 연속매체의 가변비트율 압축의 특성에 따라 동적으로 몇 개의 그룹으로 나누어 할당함으로써 버퍼의 사용량을 최소화하면서, 디스크로 부터 읽어온 데이터의 처리의 효율성을 극대화하도록 한 연속매체 서버의 동적 버퍼 제어장치를 제공함에 있다.
도 1은 종래의 연속매체 서버 구조도.
도 2는 본 발명의 연속매체 서버의 동적 버퍼 제어장치의 구성도.
도 3은 도 2에서, 각 그룹의 윈도우 주기 시작을 보여주는 설명도.
*** 도면의 주요부분에 대한 부호의 설명 ***
10 : 디스크 20 : 디스크 드라이버
30 : 디스크 스케줄러 35 : 동적버퍼 제어부
41 : 입력 버퍼 42 : 출력 버퍼
45 : 자유버퍼풀 50 : 네트워크부
60 : 클라이언트부
상기 목적을 달성하기 위한 본 발명은 연속매체 스트림을 저장하고 있는 자유버퍼풀과, 메타 데이터를 이용해서 각 클라이언트가 윈도우 주기동안 필요한 최대 버퍼량을 계산해서 매 윈도우의 주기마다 필요한 버퍼의 공간을 상기 자유버퍼풀로 부터 할당하는 동적버퍼 제어부와, 상기 동적버퍼 제어부의 제어에 따라 디스크로 부터 읽어오는 과정에 있는 데이터를 저장하는 입력버퍼와, 상기 동적버퍼 제어부의 제어에 따라 클라이언트로 전송되고 있는 데이터를 저장하고 있는 출력버퍼로 구성된 것을 특징으로 한다.
이하, 첨부한 도면에 의거하여 상세히 살펴보면 다음과 같다.
도 2는 본 발명 연속매체 서버의 동적 버퍼 제어장치에 대한 블록 구성도로서, 이에 도시한 바와같이, 압축된 연속매체를 저장하는 디스크(10)와, 상기 디스크(10)로 부터 데이터를 읽어들이는 디스크 드라이버(20)와, 현재 서비스 되고 있는 스트림중에서 어느 스트림을 어떤 순서로 디스크에서 읽어올 것인가를 결정하는 디스크 스케줄러(30)와, 연속매체 스트림을 저장하고 있는 자유버퍼풀(45)과, 상기 디스크 스케줄러(30)로 부터의 정보와 메타 데이터를 이용해서 각 클라이언트가 윈도우 주기동안 필요한 최대 버퍼량을 계산해서 매 윈도우의 주기마다 필요한 버퍼의 공간을 상기 자유버퍼풀(45)로 부터 할당하고, 이 할당 결과를 상기 디스크 스케줄러(30)로 전송하는 동적버퍼 제어부(35)와, 상기 동적버퍼 제어부(35)의 제어에 따라 디스크로 부터 읽어오는 과정에 있는 데이터를 저장하는 입력버퍼(41)와, 상기 동적버퍼 제어부(35)의 제어에 따라 클라이언트(60)로 전송되고 있는 데이터를 저장하고 있는 출력버퍼(42)와, 상기 출력버퍼(42)에 저장된 데이터를 네트워크로 전송하는 네트워크부(50)와, 네트워크를 통해 전송되어온 데이터를 디스플레이 해서 이용하는 클라이언트부(60)로 구성한다.
이와같이 구성된 본 발명의 동작 및 작용 효과에 대하여 상세히 설명하면 다음과 같다.
비디오 데이터가 엠펙(MPEG) 표준과 같이 가변비트율 압축으로 엔코딩되어서 디스플레이시간이 똑같은 세그먼트로 나누어져 디스크에 저장되면, 각 세그먼트는 같은 프레임 수의 데이터를 가지지만 가변비트율 압축에 의해 그 크기는 달라진다.
따라서 자유버퍼풀(45)은 단방향 서비스 등급에 대한 G개와 양방향 서비스 등급에 대한 1개의 세그먼트, 즉 G+1개의 세그먼트로 나누어져 비디오 데이터가 저장된다.
여기서 단방향 서비스 등급은 정상적인 전진방향 재생만 제공하는 서비스이고, 양방향 서비스 등급은 빨리감기, 되감기, 일시정지와 같은 기능을 행하는 서비스이다.
클라이언트부(60)의 클라이언트가 데이터를 요구하면, 그 요구가 양방향 서비스 등급인지 단방향 서비스 등급인지를 확인 한 후 자유버퍼풀(45)을 할당하고, 서비스 종류를 디스크 스케줄러(30)로 알려준다.
그러면 상기 디스크 스케줄러(30)는 현재 서비스 되고 있는 스트림중에서 어느 스트림을 어떤 순서로 디스크에서 읽어올 것인가를 결정하고, 그 결정한 데이터를 읽어들이라는 정보를 디스크 드라이버(20)로 출력하고, 그리고 동시에 모든 클라이언트의 버퍼공간을 재 할당하는 것을 피하기 위하여 현재 서비스되고 있는 클라이언트들을 몇 개의 그룹으로 나누어서 관리한다.
여기서 몇 개의 그룹은 단방향 서비스 등급의 그룹과 양방향 서비스 등급의 그룹으로 나누어 관리한다.
이에 따라 상기 디스크 드라이버(20)는 압축된 연속매체를 저장하는 디스크(10)로 부터 해당 데이터를 읽어들여 입력버퍼(41)로 출력한다.
그러면 상기 입력버퍼(41)는 읽어들인 비디오 데이터는 자유버퍼풀(45)에 저장시켜 두고, 읽어오는 과정에 있는 데이터는 저장하고 있는다.
이와같은 방식으로 상기 자유버퍼풀(45)에 클라이언트가 요구하는 데이터를 저장하여 둔다.
그런다음 출력버퍼(42)는 자유버퍼풀(45)로 부터 데이터를 읽어들여 네트워크부(50)로 전송하면, 상기 네트워크부(50)는 출력버퍼(42)로 부터 전송되는 비디오 데이터를 네트워크로 전송한다.
한 사이클 시간 t동안 출력버퍼(42)로 부터 소비되는 데이터량은 앞 사이클에서 디스크(10)로 부터 검색되어야 하고, 사이클 시간 t가 시작될 때 출력버퍼(42) 속에 데이터가 저장되어 있어야 한다.
동적버퍼 제어부(35)는 그룹의 버퍼 공간을 라운드로빈 방식으로 관리하기 위해 각 그룹에 대한 윈도우 주기(T)의 시작 시간값을 다르게 할당한다.
예를 들면, 도 3에서와 같이 재생되는 두 개의 비디오1,3을 갖는 하나의 그룹1과, 재생되는 두 개의 비디오2,4를 갖는 또 다른 하나의 그룹2이 있을 경우, 그룹1의 윈도우 주기는 사이클 시간 S1에서 시작하고, 반면에 그룹2의 윈도우 주기는 S2(=S1+3)에서 시작된다.
여기서 3은 비디오 갯수에서 1을 뺀 값이다.
이상에서와 같이 버퍼를 연속매체의 가변비트율 압축의 특성에 따라 동적으로 몇 개의 그룹으로 나누어 할당함으로써 버퍼의 사용량을 최소화하면서, 디스크에서 읽어온 데이터의 처리의 효율성을 극대화하여 동시에 수용할 수 있는 재생 스트림 수를 최대화할 수 있다.
따라서, 본 발명은 버퍼를 연속매체의 가변비트율 압축의 특성에 따라 동적으로 몇 개의 그룹으로 나누어 할당함으로써 버퍼의 사용량을 최소화하면서, 디스크에서 읽어온 데이터의 처리의 효율성을 극대화하여 동시에 수용할 수 있는 재생 스트림 수를 최대화할 수 있도록 한 효과가 있다.

Claims (2)

  1. 압축된 연속매체를 저장하는 디스크와, 상기 디스크로 부터 데이터를 읽어들이는 디스크 드라이버와, 현재 서비스 되고 있는 스트림중에서 어느 스트림을 어떤 순서로 디스크에서 읽어올 것인가를 결정하는 디스크 스케줄러와, 연속매체의 가변비트율 압축의 특성에 따라 동적으로 몇 개의 그룹으로 나누어 할당하고 그 할당된 공간에 연속매체 스트림을 저장하고 있는 자유버퍼풀과, 상기 디스크 스케줄러로 부터의 정보와 메타 데이터를 이용해서 각 클라이언트가 윈도우 주기동안 필요한 최대 버퍼량을 계산해서 매 윈도우의 주기마다 필요한 버퍼의 공간을 상기 자유버퍼풀로 부터 할당하고, 이 할당 결과를 상기 디스크 스케줄러로 전송하는 동적버퍼 제어부와, 상기 동적버퍼 제어부의 제어에 따라 디스크로 부터 읽어오는 과정에 있는 데이터를 저장하는 입력버퍼와, 상기 동적버퍼 제어부의 제어에 따라 클라이언트로 전송되고 있는 데이터를 저장하고 있는 출력버퍼를 포함하여 구성된 것을 특징으로 하는 연속매체 서버의 동적 버퍼 제어장치.
  2. 제1항에 있어서, 동적버퍼 제어부는 단방향 서비스 등급에 대한 G개의 그룹과 양방향 서비스 등급에 대하여 1개의 그룹으로 나누어 관리하도록 한 것을 특징으로 하는 연속매체 서버의 동적 버퍼 제어장치.
KR1019970072520A 1997-12-23 1997-12-23 연속매체 서버의 동적 버퍼 제어장치 KR100273367B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1019970072520A KR100273367B1 (ko) 1997-12-23 1997-12-23 연속매체 서버의 동적 버퍼 제어장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1019970072520A KR100273367B1 (ko) 1997-12-23 1997-12-23 연속매체 서버의 동적 버퍼 제어장치

Publications (2)

Publication Number Publication Date
KR19990052962A true KR19990052962A (ko) 1999-07-15
KR100273367B1 KR100273367B1 (ko) 2000-12-15

Family

ID=19528316

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970072520A KR100273367B1 (ko) 1997-12-23 1997-12-23 연속매체 서버의 동적 버퍼 제어장치

Country Status (1)

Country Link
KR (1) KR100273367B1 (ko)

Also Published As

Publication number Publication date
KR100273367B1 (ko) 2000-12-15

Similar Documents

Publication Publication Date Title
US6138221A (en) Method and system for supplying streams of data having identical maximum consumption rate in a storage medium
KR0152486B1 (ko) 중지-재개 지원 방법 및 시스템
EP1224527B1 (en) Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests
EP1222813B1 (en) Apparatus and method for configuring a media storage system
US8571098B1 (en) Variable bit rate encoding
US6240243B1 (en) Method and apparatus for storing and retrieving scalable video data in a disk-array-based video server
US6496899B1 (en) Disk scheduling system with bounded request reordering
KR950027805A (ko) 중지-재개시 지원 방법
JPH07236132A (ja) 映像蓄積配送装置及び映像蓄積配送システム
KR970012201A (ko) 주문형 비디오 시스템 및 이 시스템의 비디오 스케쥴링 방법, 주문형 고객 서비스 시스템의 물리적 자원 스케쥴링 방법, 컴퓨터 판독가능한 메모리
US7747143B2 (en) Digital video recorder
US5940865A (en) Apparatus and method for accessing plural storage devices in predetermined order by slot allocation
US6477541B1 (en) Multimedia server
KR100273367B1 (ko) 연속매체 서버의 동적 버퍼 제어장치
JP2001111969A (ja) Tsパケットデータ多重方法及びtsパケットデータ多重装置
CN100541472C (zh) 用于本地视频服务器的许可控制系统
Ryu et al. A dynamic buffer management technique for minimizing the necessary buffer space in a continuous media server
US6292875B1 (en) Control device for storage device and method of accessing the storage device
JP2001016567A (ja) マルチメディアデータ再生/送出装置
JP3219953B2 (ja) メディアサーバシステム
Chen A disk scheduling scheme and MPEG data layout policy for interactive video access from a single disk storage device
JP2914188B2 (ja) データ送出装置
US8644681B2 (en) Device and method for delayed reading of digital video data
Anastasiadis et al. Resource Utilization Balancing in Disk Storage of VBR Streams
KR20030017917A (ko) 화상그룹 기반의 고속재생 지원을 갖는 동적 전송스케줄작성 방법

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: 20060616

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee