KR19980070862A - 고속데이터 기록 및 재생장치 및 방법 - Google Patents

고속데이터 기록 및 재생장치 및 방법 Download PDF

Info

Publication number
KR19980070862A
KR19980070862A KR1019980002354A KR19980002354A KR19980070862A KR 19980070862 A KR19980070862 A KR 19980070862A KR 1019980002354 A KR1019980002354 A KR 1019980002354A KR 19980002354 A KR19980002354 A KR 19980002354A KR 19980070862 A KR19980070862 A KR 19980070862A
Authority
KR
South Korea
Prior art keywords
disk storage
data
storage means
control
memory means
Prior art date
Application number
KR1019980002354A
Other languages
English (en)
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 이데이노브유끼
Publication of KR19980070862A publication Critical patent/KR19980070862A/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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2405Monitoring of the internal components or processes of the server, e.g. server load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/2312Data placement on disk arrays
    • 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/232Content retrieval operation locally within server, e.g. reading video streams from disk arrays
    • H04N21/2326Scheduling disk or memory reading operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

본 발명에 의하면, 판독 스레드(Thread)에 의해 디스크 기억장치로부터 판독된 데이터가 소정 단위 베이시스로 링 버퍼에 저장된다. 이 처리는 요소마다 독립적으로 제어된다. 데이터는 소정의 순서에 따라 출력 스레드(Thread)에 의해 버퍼로부터 판독되고 스트림으로서 출력된다. 각 요소는 스레드(Thread)에 의해 주기적으로 체크되고 플래그는 버퍼의 사용율이 소정의 값보다 작거나 같은 특정 요소에 설정된다. 플래그가 다른 요소에 설정되고 자신의 요소의 버퍼의 사용율이 소정의 값보다 크거나 같을 때, 각 스레드(Thread)는 디스크로부터 데이터의 판독작동을 정지한다. 디스크에서 변동의 흡수와 부하에 따른 능력의 분배가 버퍼와 플래그에 의해 행해진다.

Description

고속데이터 기록 및 재생장치 및 방법
본 발명은 병렬로 배열된 복수의 디스크 장치에/로부터 동화상 비트 스트림(motion image bit stream) 등의 높은 데이터 속도를 갖는 많은 양의 연속적인 데이터를 효율적으로 기록하고 재생하는 고속 데이터 기록 및 재생장치에 관한 것이다.
요즈음, 동화상 데이터, 음성 데이터 등의 이른바 A/V(Audio/Video) 데이터를 종래의 테이프 매체 대신에 하드 디스크 등의 디스크 기억장치에 기록하는 A/V서버가 보급되고 있다. A/V서버는 보통 복수의 출력 채널을 가지고 각 출력 채널로부터 병렬로 A/V데이터를 독립적으로 출력할 수 있다. 예를들어, 방송국에서 송신에 사용된 A/V서버에서, 약 10 내지 100채널의 A/V데이터가 동시에 출력될 수 있다. A/V서버에서, 많은 양의 데이터가 높은 레이트로 전송되므로, 예를들어 복수의 디스크 기억장치가 병렬로 연결되어 사용된다.
이에대해, 상기와 같은 복수의 디스크 저장매체를 제어하기 위해, 각 디스크 기억장치에 대해 동기화하는 것이 필요하다. 동기화하는 방법으로서, 다음의 두 방법 중 하나가 사용되었다. 제 1방법은 판독/기입 요구가 각 디스크 기억장치로 동시에 보내지고, 동기화를 모든 디스크 기억장치의 처리의 종료를 기다린 후에 구하는 방법이다. 제 2방법은 각 디스크 기억장치에서 디스크의 회전이 물리적으로 동기화되고, 이에의해 각 디스크 기억장치의 성능의 변화가 발생되는 것을 방지하는 방법이다.
상기 방법에서, 제 1방법에 의하면, 데이터의 판독/기입 동작을 완료하기 위해 A/V서버에 필요한 시간은 각 처리에 필요한 시간이 서버를 구성하는 디스크 기억장치 중에서 가장 늦은 장치에 필요한 시간과 같다. 한편, 각 디스크 기억장치의 접근시간은 회전 대기시간과 시크(Seek)시간 등의 요소에 의존한다. 그런데, 이 요소들이 모든 장치나 처리마다 다르므로, 이들은 일정 범위의 변화량을 갖는다. 따라서, 제 1방법은 전체 서버의 접근시간, 즉 데이터 레이트(Rate)가 서버를 구성하는 각 디스크 기억장치의 평균 접근시간보다 늦는 문제가 있으므로 비효율적이다.
제 2방법에 의하면, 한편, 서버를 구성하는 각 디스크 기억장치에서의 접근 시간 등의 물리적 요소가 동일하므로, 전체 서버의 접근 시간이 각 디스크 기억장치의 평균 접근시간과 거의 동일함을 기대할 수 있다. 그런데, 특별한 하드웨어가 디스크 기억장치로서 필요하므로, 가격이 높고 사용할 수 있는 디스크 기억장치가 한정되는 등의 문제가 있다.
한편, 디스크 기억장치에서, 접근 동작이 가장 효율적으로 실행되는 상태로서, 데이터가 디스크 기억장치에 물리적으로 연속적으로 배열되고 이 데이터가 어떤 방해없이 어느 정도까지는 큰 블록크기로 연속적으로 접근되는 방법이 고려된다.
그런데, 많은 양의 데이터를 연속적으로 배열하기 위해, 일반적인 OS(Operating System)는 상기와 같은 배열에 대응할 수 없고 특별한 OS를 사용할 필요가 있는 문제가 있다. 상기한 바와같이, A/V서버에서, 복수의 채널에 병렬로 데이터를 출력하는 것이 필요하므로, 어떤 방해없이 또한 데이터에 연속적으로 접근하는 것이 불가능한 문제가 있다.
따라서, 본 발명의 목적은 일반적인 디스크 기억장치를 사용할 수 있고 전체적으로 각 디스크 기억장치의 평균 접근 시간과 거의 동일한 데이터 레이트를 구할 수 있는 고속 데이터 기록 및 재생장치 및 방법을 제공하는 것이다.
도 1은 본 발명에 의한 데이터 기록장치의 구조의 일예를 나타내는 블록도이다.
도 2는 링 버퍼(Ring buffer)의 구조의 일예를 개략적으로 나타내는 도면이다.
도 3은 장치의 각 부분의 화상 프레임의 구조를 개략적으로 나타내는 도면이다.
도 4는 본 발명에 의한 디스크 제어를 나타내는 순서도이다.
도 5는 본 발명에 의한 디스크 제어를 나타내는 순서도이다.
도 6a 및 도 6b는 본 발명에 의한 디스크 제어를 나타내는 순서도이다.
도 7은 특정 시점에서 각 요소의 링 버퍼의 사용율의 일예를 나타내는 그래프이다.
도 8은 배속 재생을 행하는 경우에 출력 스레드(Thread)에서 제어를 개략적으로 나타내는 도면이다.
도 9는 배속 재생이 행해질 때, 출력 프레임을 나타내는 도면이다.
* 도면의 주요부분에 대한 부호설명
1,2,3,4. 요소 5. 출력 스레드(Thread)
10. 디스크 기억장치 11. 판독 스레드(Thread)
12. 링 버퍼
상기 문제를 해결하기 위해, 본 발명에 의하면, 비트 스트림이 분할되어 저장된 복수의 디스크 기억수단과, 복수의 디스크 기억수단 각각에 대해 제공되고 디스크 기억수단으로의 접근을 각각 독립적으로 제어하는 하나 또는 복수의 제어수단과, 각 디스크 기억수단에 제공되고 디스크 기억수단에 기입된 데이터가 제어수단의 제어에 따라 소정의 단위로 일시적으로 저장되는 것과 같은 순환구조를 갖는 메모리 수단과, 공급 비트 스트림을 기입 데이터에 대해 소정의 순서에 따라 각 메모리 수단에 연속적으로 저장하는 입력수단을 포함하여 구성되는, 복수의 디스크 기억장치를 병렬로 사용하고 많은 양의 높은 데이터 레이트의 데이터를 연속적으로 저장하는 고속 데이터 기록장치가 제공된다.
상기 문제를 해결하기 위해, 본 발명에 의하면, 비트 스트림이 분할되어 저장된 복수의 디스크 기억수단과, 복수의 디스크 기억수단 각각에 대해 제공되고 디스크 기억수단으로의 접근을 각각 독립적으로 제어하는 하나 또는 복수의 제어수단과, 각 디스크 기억수단에 대해 제공되고 디스크 기억수단으로부터 판독된 데이터가 제어수단의 제어에 기초하여 소정 단위 베이시스에 일시적으로 저장되는 식의 순환구조를 갖는 메모리 수단과, 소정의 순서에 따라 각 메모리 수단으로부터 데이터를 연속적으로 판독하는 출력수단을 포함하여 구성되고, 복수의 디스크 기억장치를 병렬로 사용하고 많은 양의 높은 데이터 레이트의 데이터를 연속적으로 저장하는 고속 데이터 재생장치가 제공된다.
상기 문제를 해결하기 위해, 본 발명에 의하면, 비트 스트림이 분할되어 저장되는 복수의 디스크 기억수단과, 각 복수의 디스크 기억수단에 대해 제공되고 디스크 기억수단으로의 접근을 각각 독립적으로 제어하는 하나 또는 복수의 제어 단계와, 각 디스크 기억수단에 대해 제공되고 디스크 기억수단에 기입된 데이터가 제어단계에서의 제어에 따라 소정 단위 베이시스에 일시적으로 저장되는 것과 같은 순환구조를 갖는 메모리 수단과, 기입 데이터로서 공급 비트 스트림을 소정의 순서에 따라 각 메모리 수단에 연속적으로 저장하는 단계를 포함하여 구성되고, 복수의 디스크 기억장치를 병렬로 사용하고 많은 양의 높은 데이터 레이트의 데이터가 연속적으로 재생되는 고속 데이터 기록방법이 제공된다.
상기 문제를 해결하기 위해, 본 발명에 의하면, 비트 스트림이 분할되어 저장되는 복수의 디스크 기억수단과, 복수의 디스크 기억수단 각각에 대해 제공되고 디스크 기억수단으로의 접근을 각각 독립적으로 제어하는 하나 또는 복수의 제어 단계와, 디스크 기억수단 각각에 대해 제공되고 디스크 기억수단으로부터 판독된 데이터가 제어단계의 제어에 기초하여 소정 단위 베이시스에 일시적으로 저장되는 순환구조를 갖는 메모리 수단과, 소정의 순서에 따라 각 메모리 수단으로부터 데이터를 연속적으로 판독하는 단계를 포함하여 구성되고, 복수의 디스크 기억장치가 병렬로 사용되고 많은 양의 높은 데이터 레이트의 데이터가 연속적으로 재생되는 고속 데이터 재생방법이 제공된다.
상기한 바와같이, 본 발명에 의하면, 소정의 순서에 따라 복수의 디스크 기억수단 각각에 대해 제공되고 순환구조를 갖는 하나 또는 복수의 메모리 수단에 공급 비트 스트림이 저장된다. 메모리 수단에 저장된 데이터는 디스크 기억장치에 기입된다. 따라서, 비트 스트림이 기록될 때 각 디스크 기억장치의 변동이 흡수될 수 있다.
본 발명에 의하면, 비트 스트림이 분할되고 저장된 복수의 디스크 기억수단으로부터 판독된 데이터가 각 디스크 기억수단에 대해 제공되고 순환구조를 갖는 하나 또는 복수의 메모리 수단에 소정 단위 베이시스로 저장된다. 저장 데이터는 연속적으로 판독되고 소정의 순서에 따라 출력된다. 따라서, 비트 스트림이 재생될 때 각 디스크 기억장치에서의 변동이 흡수될 수 있다.
본 발명의 상기 이외의 목적 및 특징은 첨부 도면을 참고로 다음의 상세한 설명 및 부가 청구항으로부터 명백해 질 것이다.
본 발명의 실시예가 도면을 참고로 이하에 설명될 것이다. 도 1은 본 발명에 의한 데이터 기록장치의 구조의 일예를 나타낸다. 본 실시예에서, 요소(1), (2), (3), (4)는 각각 출력 스레드(Thread)(5)에 접속된다. 요소(1) 내지 (4)와 출력 스레드(5)는 예를들어 CPU와, 램과, 롬과, 다른 필요한 성분 요소를 갖는 표준 컴퓨터(도시되지 않음)에 의해 제어된다. 컴퓨터는 이른바 복수의 프로그램을 동시에 처리할 수 있는 멀티태스크를 실행할 수 있음을 가정한다.
각 요소(1) 내지 (4)는 예를들어, 하드 디스크와, 디스크 장치(10)로부터 데이터의 판독 작동을 제어하는 판독 스레드(Thread)(11)와, 판독 데이터의 버퍼링(Buffering)을 행하는 링 버퍼(12)를 포함하는 디스크 장치(10)를 갖는다. 디스크 기억장치(10)는 단일 하드 디스크에 제한되지 않고 또한 복수의 하드 디스크로 구성된 디스크 어레이일 수도 있다.
이들 중에서, 디스크 기억장치(10)는 예를들어, 각 요소 (1) 내지 (4)에서 물질역할을 하는 하드 디스크이다. 판독 스레드(11)는 판독시에 상기 컴퓨터에 의해 형성되고 판독작동을 제어하는데 사용되는 프로그램이다. 판독 스레드(11)에 의해 디스크 기억장치(10)로의 접근을 제어하므로써, 디스크 기억장치(10)로부터의 판독작동이 제어된다. 링 버퍼(12)는 예를들어 판독 스레드에 의해 디스크 장치(10)로부터 판독된 데이터를 일시적으로 저장하기 위해 예를들어 약 수십 메가 바이트에서 몇 기가 바이트의 용량을 갖는 메모리이다.
1 동화상 비트 스트림은 소정의 방법에 의해 분할되고 각 요소(1) 내지 (4)가 갖는 디스크 기억장치(10)에 저장된다. 동화상 비트 스트림은 화상의 프레임 데이터가 연속하는 비트 스트림으로 구성된다. 본 예에서, 동화상 비트 스트림은 소정의 방법에 의해 압축 부호화 되어 디스크 기억장치(10)에 기록된다. 본 발명은 상기 동화상 비트 스트림에 제한되지 않고, 압축 부호화 되지 않은 동화상 비트 스트림도 또한 디스크 기억장치(10)에 기록될 수 있다.
디스크 기억장치(10)에서 판독된 동화상 비트 스트림은 각 요소 (1) 내지 (4)에서 출력되고 출력 스레드(5)에 공급된다. 출력 스레드(5)는 또한 상기 판독 스레드(11)와 비슷한 방식으로 컴퓨터(도시되지 않음)에 의해 형성된 프로그램이다. 분할되어 공급된 동화상 비트 스트림은 출력 스레드(5)에 의해 합성되고 이 합성 비트 스트림은 출력단자(6)에 출력된다. 출력단자(6)에 출력된 동화상 비트 스트림은 일예로 모니터 등에 공급되어 표시된다. 본 발명은 상기 표시에 제한되지 않고 동화상 비트 스트림은 또한 일예로 소정의 인터페이스를 통해 네트워크로 전송될 수 있다.
도 2는 링 버퍼(12)의 구조의 일예를 나타낸다. 도면에 도시된 바와같이, 링 버퍼(12)는 4 화상 프레임, 즉 4개의 프레임의 화상 프레임 데이터를 저장하는 버퍼를 단위 버퍼로 하고 8개의 단위 버퍼가 링처럼 배열되는 순환구조를 갖는다.
일예로서, 요소 (1)을 보면, 각각 예를들어 몇 메가 바이트의 용량을 갖는 8개의 버퍼 영역이 링 버퍼(12)(단위 버퍼(12a), (12b), . . ., (12h))용 단위 버퍼로서 제공된다. 4프레임의 화상 데이터는 각 단위 버퍼(12a), (12b), . . ., (12h)에 저장된다. 데이터는 4프레임의 단위 베이시스로 각각 판독된다. 예를들어, 데이터는 단위 버퍼(12a), (12b), . . ., (12h)의 순서((12a), (12b), . . . .)에 따라 링과 같이 연속적으로 판독된다. 새로운 데이터는 데이터가 판독된 공간(Space) 영역에 각각 연속적으로 저장될 수 있다.
각 단위 버퍼((12a) 내지 (12h))의 크기는 소프트웨어 방식으로 변화될 수 있다. 즉, 데이터가 디스크 기억장치(10)에 기록될 때, 단위 버퍼의 크기는 기록 정보로서 기록된 정보에 따라 동적으로 변화될 수 있다. 그런데, 단위버퍼 크기는 데이터 판독작동 동안에는 변화될 수 없다. 각 단위 버퍼((12a) 내지 (12h))의 크기는 디스크 기억장치(10)로부터 판독된 동화상 비트 스트림의 화상 프레임 중에서 최대 데이터 크기를 갖는 화상 프레임의 크기에 따라 설정된다.
도 3은 본 발명에 따라 1 동화상 비트 스트림이 데이터 기록 장치에 대해 기록된 경우에 장치의 각 부분의 화상 프레임의 배열을 개략적으로 나타낸다. 도 3에서, 즉, 각 요소 (1) 내지 (4)에서 디스크 장치(10)와 링 버퍼(12)상의 화상 프레임의 배열이 도시되어 있고 출력 스레드(5)상의 화상 프레임의 배열이 또한 도시되어 있다. 도면에서, 0에서부터 순서에 따라 화상프레임에 연속적으로 기입된 번호는 화상 프레임의 시간순서를 나타낸다.
화상 프레임은 시간 순서에 따라 4프레임 마다 1 디스크 기억장치(10)에 연속적으로 저장된다. 다른 화상 프레임은 요소 (1) 내지 (4) 각각에 저장된다. 4프레임 만큼의 화상프레임이 한 단위로 처리된다. 예를들어 제 0프레임, 제 4프레임, 제 8프레임, ...은 요소(1)의 디스크 기억장치(10)에 저장된다. 제 1프레임, 제 5프레임, 제 9프레임, ...은 요소(2)의 디스크 기억장치(10)에 저장된다. 제 2프레임, 제 6프레임, 제 10프레임, ...은 요소(3)의 디스크 기억장치(10)에 저장된다. 제 3프레임, 제 7프레임, 제 11프레임, ...은 요소(4)의 디스크 기억장치에 저장된다.
기록요구가 컴퓨터(도시되지 않음)로부터 발생될 때, 판독 스레드(11)(도 3에서 생략됨)는 각 요소 (1) 내지 (4)에 각각 형성된다. 4개의 연속적인 화상 프레임은 판독 스레드(11)에 의해 디스크 기억장치(10)로부터 판독된다. 4개의 판독 화상 프레임은 일단 링 버퍼(12)에 저장된다.
상기한 바와같이, 4 화상 프레임의 링 버퍼(12)로의 저장이 단위 버퍼(12a), (12b), . . ., (12h) 중에서 공간(Space) 단위 버퍼에 행해진다. 요소(1)의 예에서, 디스크 기억장치(10)에서 판독된 제 0프레임, 제 4프레임, 제 8프레임, 제 12 프레임은 단위버퍼(12a)에 저장되고, 제 16프레임, 제 20프레임, 제 24프레임, 제 28프레임이 단위버퍼(12b) 등에 각각 저장되는 식으로 링 버퍼(12)의 단위버퍼(12a) 내지 (12h)에 연속적으로 저장된다.
본 예에서, 링 버퍼(12)에 공간(Space) 단위 버퍼가 없을 때, 디스크 기억장치(10)로부터의 화상 프레임의 판독 작동이 중지되고 어떤 화상 프레임도 링 버퍼(12)에 저장되지 않는다.
상기한 바와같이 화상 프레임이 저장된 각 요소(1) 내지 (4)에서의 링 버퍼(12)는 각각 출력 스레드(5)에 의해 주사되고 화상 프레임은 정확한 시간순서의 프레임 열로 설정되어 출력단자(6)로 출력된다.
각 요소 (1) 내지 (4)에서의 링 버퍼(12)의 사용율은 예를들어 소정의 주기에서 각 요소 (1) 내지 (4)에서 링 버퍼(12)의 공간(Space) 단위 버퍼를 체크하므로써 출력 스레드(5)에 의해 소정의 주기에 조사된다. 사용율이 소정의 임계값(T1)보다 낮을 때, 플래그는 출력 스레드(5)에 의해 링 버퍼(12)에 설정된다. 이 플래그는 헬프 플래그라고 한다.
한편, 헬프 플래그가 다른 요소에 설정되었는지가 각 요소 (1) 내지 (4)의 판독 스레드(11)에 의해 소정의 주기에 각각 판별된다. 다른 요소들의 어느 하나에서, 만약 헬프 플래그가 링 버퍼(12)에 설정되고 자신의 요소의 링 버퍼(12)의 사용율이 소정 임계값(T2) 보다 높으면, 장치는 판독 스레드(11)에 의해 제어되어서 소정 시간동안만 디스크 기억장치(10)로부터 화상 프레임의 판독 작동을 정지한다.
링 버퍼(12)의 사용율이 낮을 때, 부하의 변동 또는 디스크 기억장치(10)의 능력의 변동이 흡수될 수 없고 동화상 비트 스트림이 안정하게 출력되지 못할 가능성이 있다. 따라서, 본 발명에서는, 상기한 바와같이, 각 요소 (1) 내지 (4)에서의 링 버퍼(12)의 사용율이 서로 모니터 되어 디스크 기억장치(10)로부터의 판독작동이 모니터 결과에 따라 제어된다. 따라서, 디스크 기억장치(10)의 부하가 일시적으로 감소될 수 있고 사용율이 감소된 링 버퍼(12)의 사용율이 회복될 수 있다. 결과적으로, 전체 시스템의 링 버퍼(12)의 사용율이 거의 동일하게 될 수 있다. 시스템의 능력은 부하에 따라 분포될 수 있다.
헬프 플래그가 설정되어 있을 때의 임계값(T1)과 디스크 기억장치(10)로의 접근이 정지되었는지 판별할 때의 임계값(T2)이 예를들어 특정 실험 결과에 기초하여 판정된다.
도 4, 5, 6a 및 6b는 상기 처리를 더 상세하게 나타내는 순서도이다. 도 4는 전체 순서도이다. 도 5, 6a, 6b는 판독 스레드(11)와 출력 스레드(5)에서의 처리를 각각 나타내는 순서도이다. 본 예에서는, 동화상 비트 스트림이 정지화상의 압축 부호화 형식으로서 개발된 JPEG형식을 사용하여 동화상의 압축 부호화 형식으로서 모션 JPEG형식으로 압축 부호화되고 디스크 기억장치(10)에 기록된다고 가정한다.
먼저, 도 4에 도시된 전체 순서도가 설명될 것이다. 제 1스텝(S1)에서, 4화상 프레임 마다 분포되고 상기한 바와같이 각 요소 (1) 내지 (4)의 디스크 기억장치(10)에 기록된 동화상 비트 스트림을 구성하는 각 화상 프레임 중에서 최대 화상 프레임의 크기가 구해진다. 본 예에서, 최대 프레임의 크기가 파일(File)의 헤더에 저장되어 있으므로, 이것이 판독된다. 스텝(S2)에서, 소정 크기의 단위 버퍼(12a) 내지 (12h)는 최대 프레임 크기에 따라 각 요소 (1) 내지 (4)의 링 버퍼(12)에 설정되고 링 버퍼(12)는 확보된다.
링 버퍼(12)가 스텝(S2)에서 확보될 때, 스텝(S3)에서, 단위 버퍼만큼의 화상 프레임, 즉 4개의 화상 프레임이 각 요소 (1) 내지 (4)의 디스크 기억장치(10)로부터 각각 판독된다. 이 판독 화상 프레임은 링 버퍼(12)의 헤드 단위 버퍼(상기한 도 2의 예에서 단위 버퍼(12a))에 저장된다. 본 예에서 4개의 요소 (1) 내지 (4)가 있으므로, 전체적으로 16개의 화상 프레임이 링 버퍼(12)에 저장된다.
본 실시예에서, 각 요소 (1) 내지 (4)에서, 만약 어느 하나의 공간(Space) 단위 버퍼가 링 버퍼(12)에 존재하면, 공간 있음 상태를 나타내는 이벤트 옵젝트(Event object)라고 하는 플래그가 각 요소 (1) 내지 (4)에 설정된다. 스텝(S3)에서, 각 링 버퍼(12)에서, 하나의 단위 버퍼(12a)만이 화상 프레임으로 가득찬다. 따라서, 다음 스텝(S4)에서, 이벤트 옵젝트는 각 요소 (1) 내지 (4)에 대해 공간 있음 상태로 설정된다.
이벤트 옵젝트가 스텝(S4)에서 설정되면, 판독 스레드(11)는 스텝(S5)에서 각 요소 (1) 내지 (4)에 형성된다. 디스크 기억장치(10)로부터의 화상 프레임의 판독작동, 이 판독 화상 프레임의 링 버퍼(12)로의 저장 등이 행해진다. 스텝(S6)에서, 각 요소 (1) 내지 (4)의 링 버퍼(12)는 출력 스레드(5)에 의해 주사되고 화상 프레임은 올바른 시간 순서의 프레임 열로 설정되고 동화상 비트 스트림으로서 출력된다. 스텝(S5)에서 판독 스레드(11)의 처리는 병렬로 행해진다. 스텝(S5 및 S6)에서의 처리가 이하에 상세하게 설명될 것이다.
상기한 스텝(S5)에서 판독 스레드(11)에서의 처리가 도 5의 순서도를 참고로 이제 설명될 것이다. 상기한 바와같이, 도 5에 도시된 순서도의 처리는 각 요소 (1) 내지 (4)에서 병렬로 실행된다. 요소 (1)에 주목하여 이하에 설명할 것이다.
스텝(S10)에서, 링 버퍼(12)의 단위 버퍼(12a) 내지 (12h) 각각을 나타내는 번호로서 단위 버퍼번호 (i)는 판독 스레드(11)에 의해 1로 설정될 것이다. 단위 버퍼번호 (i)가 헤드 단위버퍼(12a)를 나타내는 i = 0으로 설정되지 않은 이유는 화상 프레임이 상기한 스텝(S3)에서 단위 버퍼(12a)에 이미 저장되어 있기 때문이다.
스텝(S11)에서, 장치는 이벤트 옵젝트가 공간 있음 상태에 있는지를 체크하는 대기 모드가 된다. 만약 이벤트 옵젝트가 공간 있음 상태에 설정되면, 처리 루틴은 스텝(S12)으로 진행한다. 스텝(S11)에 의한 루프는 멀티태스크를 행할 수 있는 컴퓨터가 OS(Operating System)레벨에서 갖는 함수에 해당하고 CPU의 부하를 일으키지 않고 행해진다.
스텝(S12)에서, 체크는 단위 버퍼 번호 (i)에 의해 도시된 i번째 단위 버퍼가 비어있는지를 알아보도록 행해진다. 만약 i번째 단위 버퍼가 비어있지 않으면, 처리루틴은 스텝(S11)으로 복귀하고 장치는 이벤트 옵젝트의 공간 있음의 대기 상태가 된다.
한편, 만약 i번째 단위버퍼가 스텝(S12)에서 비어있으면, 처리 루틴은 스텝(S13)으로 진행하고 헬프 플래그가 다른 요소(본 예에서, 요소 (2), (3), (4))에서 설정되었는지를 알아보는 체크가 행해진다. 만약 헬프 플래그가 설정된 어떤 요소가 있으면, 자신의 요소(본 예에서, 요소 (1))에서, 링 버퍼(12)의 사용율이 소정의 임계값(T2)보다 높거나 같은지를 알아보기 위한 체크가 스텝(S14)에서 행해진다. 만약 사용율이 임계값(T2)보다 높거나 같으면, 판독 스레드(11)의 처리는 소정의 시간 동안만 정지된다(스텝(S15)).
만약 헬프 플래그가 다른 요소에서 설정되지 않았으면(스텝(S13)), 자신의 링 버퍼(12)의 사용율이 스텝(S14)에서 임계값(T2)보다 낮거나, 소정의 시간이 스텝(S15)에서 경과할 때, 처리 루틴은 스텝(S16)으로 진행한다. 화상 프레임은 디스크 기억장치(10)로부터 판독되고 4개의 화상 프레임 만큼의 데이터가 i번째 단위 버퍼에 저장된다.
i번째 단위 버퍼에 대한 화상 프레임이 스텝(S16)에서 저장될 때, 단위 버퍼를 나타내는 번호 (i)는 스텝(S17)에서 1만큼만 증가된다. 번호 (i)가 증가 처리에 의해 8보다 크거나 같을 때, i = 0이 설정된다. 상기한 바와같이 단위 버퍼번호(i)가 설정될 때, 처리루틴은 스텝(S12)으로 복귀하고 다음 처리가 반복된다.
스텝(S6)에서 출력 스레드(5)에서의 처리가 도 6a 및 도 6b의 순서도를 참고로 설명될 것이다. 출력 스레드(5)는 출력된 프레임의 수를 세기 위한 카운터를 갖는다. 카운터의 카운트값이 소정의 주기의 정수배일 때, 각 요소 (1) 내지 (4)에서의 링 버퍼(12)의 사용율이 조사된다. 사용율이 소정의 임계값(T1)보다 낮을 때, 헬프 플래그는 해당 요소에 설정된다.
출력 스레드(5)에서, 화상 프레임은, 각 요소 (1) 내지 (4)를 나타내는 요소 번호 (i)와, 상기한 판독 스레드(11)의 순서도에서 사용된 단위 버퍼번호(i)에 대응하는 단위 버퍼번호(j)와, 시간적으로 앞선 화상프레임으로부터 단위 버퍼(12a) 내지 (12h)에 저장된 각 4개의 화상 프레임에 연속적으로 부가된 단위 버퍼에서의 데이터 번호(k)에 의해 관리된다. 즉, 출력 스레드(5)에서, 만약 화상 프레임이 (i, j, k)의 값에 의해 표시된 위치에 있으면, 그것은 출력된다.
예를들어, 화상 프레임이 (i, j, k) = (2, 5, 2)일 때, 요소(3)의 링 버퍼(12)의 단위버퍼(12f)에서 제 3화상 프레임이 출력된다. (i, j, k)의 값에 의해 결정된 위치에 있는 화상 프레임은 이하에서 화상 프레임 (i, j, k)이라고 한다.
번호 (i), (j), (k)는 출력 스레드(5)에서 루프 변수로 설정되고 이들은 설명의 편의를 위해 0에서 시작된다. 즉, 요소(1)는 요소 번호 (0)에, 단위 버퍼(12a)는 단위버퍼 번호 (0)에, 단위 버퍼의 헤드 화상 프레임은 데이터 번호 (0)에 각각 대응한다.
또한, 후술하는 바와같이, 도 6a 및 도 6b에 도시된 순서도는 요소 (1) 내지 (4)의 디스크 기억장치(10)에 저장된 모든 동화상 비트 스트림이 판독되고 EOD(End Of Data)가 출력될 때까지 루프된다. 전체 루프는 예를들어 동화상 비트 스트림이 30프레임/sec.의 동화상을 포함할 때 30회/sec.의 레이트로 처리된다. 헬프 플래그는 예를들어 1회/sec.의 레이트로 체크된다.
먼저 스텝(S20)에서, 출력 스레드(5)에서 사용된 각 값이 초기에 설정된다. 즉, 요소번호(i), 단위버퍼 번호(j), 단위버퍼에서의 데이터 번호(k)가 각각 0으로 설정된다. 또한, 카운트값(C)이 0으로 설정된다. 도시되지는 않았지만, 앞선 주기의 값은 예를들어 30에 설정된다.
스텝(S21)에서, 링 버퍼(12)의 사용율이 조사되고 (카운트값(C)/주기)가 헬프 플래그의 설정 등을 행하는 타이밍을 구하기 위해 연산된다. 연산결과에서, 만약 나머지가 0과 같으면, 처리 루틴은 스텝(S22)으로 진행한다. 각 요소 (1) 내지 (4)의 링 버퍼(12)의 사용율은 출력 스레드(5)에 의해 조사된다. 사용율이 임계값(T1)보다 작은 링 버퍼(12)가 있을 때, 헬프 플래그는 관련요소에 설정된다(스텝(S23)).
연산결과의 나머지가 스텝(S21)에서 0과 같지 않을 때나, 사용율이 임계값(T1)보다 낮은 링 버퍼(12)가 스텝(S22)에서 존재하지 않을 때나, 헬프 플래그의 설정이 스텝(S23)에서 종료될 때, 처리 루틴은 스텝(S24)으로 진행한다.
스텝(S24)에서, 화상 프레임 (i, j, k)이 존재하는지를 알아보는 체크가 행해진다. 만약 관련 위치가 비어있고 화상 프레임(i, j, k)이 존재하지 않으면, 처리 루틴은 스텝(S35)으로 진행하고 EOD가 출력된다. 일련의 순서도가 종료된다.
화상 프레임 (i, j, k)이 스텝(S24)에서 존재할 때, 처리 루틴은 스텝(S25)으로 진행하고 화상 프레임(i, j, k)이 출력된다. 이 출력된 화상 프레임은 예를들어 모니터에 표시된다.
1화상 프레임이 출력될 때, 요소 번호(i)는 스텝(S26)에서 1만큼만 증가된다. 다음 스텝((S27) 내지 (S34))에서, 루프 변수 (i), (j), (k)는 상기한 도 3에 도시된 순서에 따라 출력을 구하기 위해 각각 연산된다.
즉, 요소 번호(i)가 4보다 크거나 같을 때(스텝(S27)), i = 0이 설정되고 단위버퍼에서 데이터 번호 (k)는 1만큼만 증가된다(스텝(S28)). (k)가 4보다 크거나 같을 때(스텝(S29)), k = 0이 설정되고 단위 버퍼 번호 (j)는 1만큼만 증가된다(스텝(S30)). 또한, 버퍼 번호 (j)가 8보다 크거나 같을 때(스텝(S31), j = 0이 설정된다(스텝(S32)). 요소 번호(i)가 스텝(S27)에서 4보다 작을 때나, 스텝(S29)에서 단위 버퍼의 데이터 번호(k)가 4보다 작을 때나, 단위버퍼번호 (j)가 스텝(S31)에서 8보다 작을 때나, 스텝(S32)에서 j = 0일 때, k = 0인지 아닌지가 스텝(S33)에서 판별된다.
스텝(S33)에서 k = 0이면, 이것은 관련 단위버퍼에서 공간이 발생하였음을 의미한다. 처리 루틴은 스텝(S34)으로 진행하고 이벤트 옵젝트는 공간 있음 상태에 설정된다. 스텝(S34)에서, 카운트값(C)은 1만큼만 증가된다. 처리 루틴은 스텝(S21)으로 복귀된다. 스텝(S33)에서 k ≠ 0일 때, 처리 루틴은 또한 스텝(S21)으로 복귀된다.
처리 루틴이 스텝(S21)으로 복귀하고 상기 처리는 반복되므로, 루프 변수 (i), (j), (k)가 연속적으로 변화한다. 스텝(S25)에서, 화상 프레임은 프레임 열에 따라 1프레임과 합성되고 이 합성 화상 프레임이 출력된다.
도 7은 특정 시점에서 각 요소 (1) 내지 (4)의 링 버퍼(12)의 사용율의 일예를 나타낸다. 도면에서 도시된 바와같이, 요소 (1) 내지 (4)의 링 버퍼(12)의 사용율은 가변적이고 사용율은 시간의 경과에 따라 변동한다. 각 요소 (1) 내지 (4)의 링 버퍼(12)의 사용율이 상기한 바와같이 변동하는 이유로서, 파일이 각 요소 (1) 내지 (4)의 디스크 기억장치(10)에 배열될 때 동화상 비트 스트림의 파일의 커팅상태의 차이나, 디스크 기억장치(10)의 접근 속도에서의 변동이나, 다른 스트림과의 경합이 고려된다.
그런데, 실제로, 전체 판독 레이트는 디스크 기억장치(10)의 평균 판독 레이트에 가능한한 가깝게 접근한다. 따라서, 전체 시스템으로서, 각 디스크 기억장치(10)의 평균 판독 레이트의 총 판독 레이트가 원리적으로 구해진다. 즉, 본 발명에 의하면, 디스크 기억장치(10)로부터 화상 프레임의 판독 시점에 요소 (1) 내지 (4) 사이에 동기화가 이루어지지 않는다. 각 요소의 레이트의 변동은 링 버퍼(12)의 버퍼링 작동에 의해 흡수되고 병렬화 효율은 향상된다.
동화상 비트 스트림을 판독하고 이 판독 비트 스트림에 의해 동화상을 재생하는 경우에, 예를들어 2배속 또는 3배속 등의 배속 재생이 요구되는 경우가 있다. 상기 구조에 의해 배속재생을 행하는 경우가 이제 설명될 것이다.
도 8은 배속 재생을 행하는 경우에 출력 스레드(5)의 제어를 개략적으로 나타낸다. 도면에서, 링 버퍼(12)의 단위 버퍼 (12e) 내지 (12h)는 생략되어 있다. 상기한 바와같이, 배속재생의 경우에, 화상 프레임은 다른 단위 블록마다 각 요소 (1) 내지 (4)의 링 버퍼(12)로부터 판독된다. 각 요소 (1) 내지 (4)에서, 판독된 단위 블록은 하나씩 엇갈린다. 홀수로 지정된 요소 (1) 및 (3)에서, 화상 프레임은 단위 블록(12a)으로부터 판독된다. 짝수로 지정된 요소 (2) 및 (4)에서, 화상 프레임은 단위 블록(12b)으로부터 판독된다. 도 8의 예에서, X로 표시된 단위 블록에서는 어떤 데이터도 판독되지 않는다.
출력 스레드(5)로부터의 출력은 프레임 번호 (0), (2), (6), . . ., (12), (14)와 같은 식으로 홀수로 지정된 요소 (1) 및 (3)에서 먼저 택일적으로 판독되고, 다음으로 프레임 번호 (17), (19), (21), . . ., (29), (31)과 같은 식으로 짝수로 지정된 요소 (2) 및 (4)에서 택일적으로 판독된다. 상기한 바와같이 화상 프레임을 판독하는 경우에, 도 9에 도시된 바와같이, 불연속점은 출력된 스트림에서 8프레임마다 존재하고 고유의 배속 프레임 열에 수렴한다. 그런데, 이 불연속점은 큰 물체가 일정 속도로 천천히 이동하는 장면에서 약간의 물리적인 혼란이 주어지는 가능성이 있는 정도의 점이므로, 이들은 실제로 문제를 일으키지 않는다. 3배속 재생 또는 4배속 재생은 또한 비슷한 방법에 의해 실현될 수 있다.
1시스템만의 1동화상 비트 스트림이 비록 상기 설명에서 출력되었지만, 본 발명은 이 예에 제한되지 않는다. 즉, 실제 A/V서버 등에서, 복수의 동화상 비트 스트림은 병렬로 판독되어 복수의 출력 시스템에 병렬로 출력된다. 본 발명은 또한 다수의 동화상 비트 스트림과 다수의 출력의 관계를 갖는 시스템에도 적용될 수 있다. 이 경우에, 예를들어, S개의 동화상 비트 스트림을 출력하는 경우에, (S×4)개의 판독 스레드(11), (S×4)개의 링 버퍼(12), S개의 출력 스레드(5)가 필요하다. 디스크 기억장치(10)는 공통으로 사용될 수 있다.
비록 4개의 화상 프레임이 한 단위로 설정된 8개의 단위 버퍼가 상기 설명에서 링 버퍼(12)에 할당되었지만, 본 발명은 이 예에 제한되지 않는다. 상기 단위 버퍼에 저장된 화상 프레임의 수와 링 버퍼(12)에 할당된 단위 버퍼의 수는 필요에 따라 변화될 수도 있다.
또한, 비록 디스크 기억장치(10)로부터 동화상 비트 스트림의 판독작동에 본 발명을 적용하는 경우가 상기에서 설명되었는데, 본 발명은 상기 예에 제한되지 않는다. 즉, 본 발명은 또한 스트림의 데이터를 디스크 기억장치(10)에 기입하는 경우에도 적용될 수 있다. 기입시의 처리는 스트림의 방향이 단지 상기와 반대인 것을 제외하면 판독시와 동일한 방식으로 연속적으로 제어된다.
다시말해, 동화상 비트 스트림은 연속적으로 상기 출력 스레드(5)에 대응하는 입력 스레드(5')에 공급된다. 이 공급된 스트림은 상기한 도 3에 도시된 할당에 의해 링 버퍼(12)에 저장된다. 상기 판독 스레드(11)에 대응하는 기입 스레드(11')는 각 요소 (1) 내지 (4)에 대해 형성된다. 단위 버퍼마다 링 버퍼(12)로부터 판독된 화상 프레임은 기입 스레드(11')에 의해 디스크 기억장치(10)의 접근제어에 의해 디스크 기억장치(10)에 기입된다.
각 요소 (1) 내지 (4)의 링 버퍼(12)의 사용율은 입력 스레드(5')에 의해 모니터되고 헬프 플래그는 낮은 사용율의 요소에 설정된다. 헬프 플래그는 요소 (1) 내지 (4)와 기입 스레드(11')에 의해 서로 모니터된다. 헬프 플래그가 다른 요소에 설정되고 자신의 링 버퍼(12)의 사용율이 낮은 요소에서, 화상 프레임의 디스크 기억장치(10)로의 기입 작동은 소정의 시간동안 정지된다.
기입작동시에도 상기 제어를 행하므로써, 디스크 기억장치(10)에 대해 전체 시스템의 기입 레이트는 각 디스크 기억장치(10)의 평균 기입 레이트에 접근될 수 있고 효율은 향상될 수 있다.
본 발명은 상기 실시예에 제한되지 않고 본 발명의 부가 청구항의 사상과 범위내에서 많은 변화와 변경이 가능하다.
상기한 바와같이, 본 발명에 의하면, 디스크 기억장치로부터의 화상 프레임의 판독작동은 다른 요소와 자신의 요소의 링 버퍼의 사용율에 의해 제어된다. 결과적으로 디스크 기억장치의 병렬이 특정 하드웨어를 사용하지 않고도 효율적으로 실현되어 복수의 디스크의 회전이 물리적으로 동기화되는 효과가 있다.
본 발명에 의하면, 디스크 기억장치에 대해 복수의 동기 접근 상태에서, 시스템의 능력이 부하에 따라 동적으로 분포될 수 있고 자원의 효율적 이용이 실현될 수 있는 효과가 있다.

Claims (6)

  1. 복수의 디스크 기억장치를 병렬로 사용하고 많은 양의 높은 데이터 레이트의 데이터를 연속적으로 재생하는 고속 데이터 기록장치에 있어서,
    비트 스트림이 분할되어 저장된 복수의 디스크 기억장치와,
    상기 각 복수의 디스크 기억수단에 대해 제공되고, 상기 디스크 기억수단으로의 접근을 각각 독립적으로 제어하는 하나 또는 복수의 제어수단과,
    상기 각 디스크 기억수단에 대해 제공되고 상기 각 디스크 기억수단에 기입된 데이터는 상기 제어수단의 제어에 따라 소정의 단위에 의해 일시적으로 저장되는 순환구조를 갖는 메모리 수단과,
    상기 기입 데이터에 대해 공급 비트 스트림을 소정의 순서에 따라 상기 각 메모리 수단에 연속적으로 저장하는 입력수단과,
    를 포함하여 구성되는 것을 특징으로 하는 고속 데이터 기록장치.
  2. 제 1항에 있어서,
    상기 각 메모리 수단의 사용율을 조사하고 상기 사용율이 제 1임계값보다 낮은 상기 메모리 수단을 지시하는 플래그를 설정하는 수단을 더 포함하여 구성되고,
    상기 제어수단은 상기 제어수단에 대응하는 상기 메모리 수단의 사용율을 조사하고, 상기 사용율이 제 2임계값보다 높을 때 만약 상기 플래그가 상기 제어수단에 대응하는 상기 메모리 수단외에 상기 메모리 수단 중의 어느 하나에 설정되면, 상기 제어수단에 해당하는 상기 디스크 기억수단으로의 데이터의 기입작동이 소정의 시간동안 정지되는 식으로 상기 디스크 기억수단에 대해 접근제어를 행하는 것을 특징으로 하는 고속 데이터 기록장치.
  3. 복수의 디스크 기억장치를 병렬로 사용하고 많은 양의 고속 데이터 레이트의 데이터를 연속적으로 재생하는 고속 데이터 재생장치에 있어서,
    비트 스트림이 분할되어 저장되는 복수의 디스크 기억수단과,
    상기 각 복수의 디스크 기억수단에 대해 제공되고, 상기 디스크 기억수단으로의 접근을 각각 독립적으로 제어하는 하나 또는 복수의 제어수단과,
    상기 각 디스크 기억수단에 대해 제공되고 상기 디스크 기억수단으로부터 판독된 데이터는 상기 제어수단의 제어에 기초하여 소정 단위 베이시스로 일시적으로 저장되는 순환수조를 가지는 메모리 수단과,
    소정의 순서에 따라 상기 각 메모리 수단으로부터 데이터를 연속적으로 판독하는 출력수단과,
    를 포함하여 구성된 것을 특징으로 하는 고속 데이터 재생장치.
  4. 제 3항에 있어서,
    상기 각 메모리수단의 사용율을 조사하고 상기 사용율이 제 1임계값보다 낮은 상기 메모리수단을 지시하는 플래그를 설정하는 수단을 더 포함하여 구성되고,
    상기 제어수단은 상기 제어수단에 대응하는 상기 메모리수단의 사용율을 조사하고, 상기 사용율이 제 2임계값보다 높을 때, 만약 상기 플래그가 상기 제어수단에 대응하는 상기 메모리 수단이외에 상기 메모리수단 중 어느 하나에 설정되면, 상기 제어수단에 대응하는 상기 디스크 기억수단으로부터 데이터의 판독작동이 소정의 시간동안 정지되는 식으로 상기 디스크 기억수단에 대해 접근 제어를 행하는 것을 특징으로 하는 고속 데이터 재생장치.
  5. 복수의 디스크 기억수단이 병렬로 사용되고 많은 양의 높은 데이터 레이트의 데이터가 연속적으로 재생되는 고속 데이터 기록방법에 있어서,
    비트 스트림이 분할되어 저장되는 복수의 디스크 기억수단과,
    상기 복수의 각 디스크 기억수단에 대해 제공되고 상기 디스크 기억수단으로의 접근을 각각 독립적으로 제어하는 하나 또는 복수의 제어 단계와,
    상기 각 디스크 기억수단에 대해 제공되고 상기 디스크 기억수단에 기입된 데이터가 상기 제어단계에서의 제어에 기초하여 소정 단위 베이시스에 일시적으로 저장되는 순환구조를 갖는 메모리 수단과,
    를 포함하여 구성되는 것을 특징으로 하는 고속 데이터 기록방법.
  6. 복수의 디스크 기억수단이 병렬로 사용되고 많은 양의 높은 데이터 레이트의 데이터가 연속적으로 재생되는 고속 데이터 재생방법에 있어서,
    비트 스트림이 분할되어 저장되는 복수의 디스크 기억수단과,
    상기 각 복수의 디스크 기억수단에 대해 제공되고 상기 디스크 기억수단으로의 접근을 각각 독립적으로 제어하는 하나 또는 복수의 제어단계와,
    상기 각 디스크 기억수단에 대해 제공되고 상기 디스크 기억수단으로부터 판독된 데이터가 상기 제어단계에서의 제어에 기초하여 소정 단위 베이시스에 일시적으로 저장되는 순환구조를 갖는 메모리 수단과,
    상기 소정의 순서에 따라 상기 각 메모리 수단으로부터 데이터를 연속적으로 판독하는 단계와,
    를 포함하여 구성된 것을 특징으로 하는 고속 데이터 재생방법.
KR1019980002354A 1997-01-28 1998-01-26 고속데이터 기록 및 재생장치 및 방법 KR19980070862A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP97-013793 1997-01-28
JP9013793A JPH10207639A (ja) 1997-01-28 1997-01-28 高速データ記録/再生装置および方法

Publications (1)

Publication Number Publication Date
KR19980070862A true KR19980070862A (ko) 1998-10-26

Family

ID=11843135

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019980002354A KR19980070862A (ko) 1997-01-28 1998-01-26 고속데이터 기록 및 재생장치 및 방법

Country Status (3)

Country Link
US (1) US6078988A (ko)
JP (1) JPH10207639A (ko)
KR (1) KR19980070862A (ko)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001306263A (ja) * 2000-04-24 2001-11-02 Sony Corp メディアデータ記憶装置
AUPQ732400A0 (en) * 2000-05-05 2000-06-01 Bullant Technology Pty Ltd Resource consumer structure
JP2004171411A (ja) * 2002-11-21 2004-06-17 Hitachi Global Storage Technologies Netherlands Bv データ記憶装置及びバッファメモリの管理方法
JP4237549B2 (ja) * 2003-05-29 2009-03-11 株式会社日立国際電気 循環記録装置
KR100539886B1 (ko) * 2004-09-10 2005-12-28 삼성전자주식회사 디지털 방송 수신 장치 및 그 방법
US8463997B2 (en) * 2007-08-16 2013-06-11 Samsung Electronics Co., Ltd. Apparatus and method of caching frame
JP4609522B2 (ja) * 2008-04-24 2011-01-12 パナソニック株式会社 記憶装置
CN101854508B (zh) * 2009-03-30 2015-12-09 三星电子株式会社 反向回放编码的多媒体内容的方法和装置
KR101640822B1 (ko) * 2014-12-15 2016-07-20 (주)필링크 영상 처리 장치 및 방법
CN110764710B (zh) * 2016-01-30 2023-08-11 北京忆恒创源科技股份有限公司 低延迟高iops的数据访问方法与存储系统
CN110018781B (zh) * 2018-01-09 2022-06-21 阿里巴巴集团控股有限公司 磁盘流控方法、装置以及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564116A (en) * 1993-11-19 1996-10-08 Hitachi, Ltd. Array type storage unit system
JPH08292842A (ja) * 1995-04-24 1996-11-05 Matsushita Electric Ind Co Ltd ビデオサーバ装置
US5586264A (en) * 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
US5590381A (en) * 1994-06-30 1996-12-31 Lucent Technologies Inc. Method and apparatus for buffered video playback of video content distributed on a plurality of disks

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5414455A (en) * 1993-07-07 1995-05-09 Digital Equipment Corporation Segmented video on demand system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5564116A (en) * 1993-11-19 1996-10-08 Hitachi, Ltd. Array type storage unit system
US5590381A (en) * 1994-06-30 1996-12-31 Lucent Technologies Inc. Method and apparatus for buffered video playback of video content distributed on a plurality of disks
US5586264A (en) * 1994-09-08 1996-12-17 Ibm Corporation Video optimized media streamer with cache management
JPH08292842A (ja) * 1995-04-24 1996-11-05 Matsushita Electric Ind Co Ltd ビデオサーバ装置

Also Published As

Publication number Publication date
US6078988A (en) 2000-06-20
JPH10207639A (ja) 1998-08-07

Similar Documents

Publication Publication Date Title
Tobagi et al. Streaming RAID: a disk array management system for video files
US5671386A (en) System for storing data and for providing simultaneous plural access to data by connecting each access channel to each and every one of storage arrays
US5539660A (en) Multi-channel common-pool distributed data storage and retrieval system
JP2577699B2 (ja) 多重読書き方法
KR987001189A (ko) 각종 상이한 자원레벨에서 하드웨어 플렛폼상에 실행가능한 멀티미디어 애플리케이션 정보를 저항하기 위한 방법과, 이러한 에플리캐이션을 포함하는 물리적 기록과, 이러한 애플리케이션을 실행하는 장치(Method for making a multimedia application executable on hardware platforms with various different resource levels, a physical record containing such application, and an apparatus for executing such application)
EP1272931A2 (en) Multi-device storage system with differing fault tolerant methodologies
KR19980070862A (ko) 고속데이터 기록 및 재생장치 및 방법
JPH08292842A (ja) ビデオサーバ装置
JP3104953B2 (ja) 多重読み取り特殊再生方法
JPH10509548A (ja) 共通素材データを有する多数のプログラムバージョンの途切れのない再生のためのデータ差し込み方法
CN1426552A (zh) 用于访问存储介质上的数据块的系统和方法
US6603922B1 (en) Editing system and editing method
US5557419A (en) Apparatus for intermittently recording and/or reproducing a time-varying image
JP2006324848A (ja) 情報処理装置及び情報処理方法
US7016598B2 (en) Data recording/reproduction apparatus and data recording/reproduction method
CN101094368B (zh) 再现装置以及再现方法
KR19980033151A (ko) 라이브러리내 화일의 관리 방법 및 라이브러리용 서버 장치
EP0905693A1 (en) Device and method for recording data and device and method for controlling disk array
US7729591B2 (en) Data processing apparatus, reproduction apparatus, data processing system, reproduction method, program, and storage medium
KR19980080748A (ko) 정보 재생 장치 및 정보 재생 방법
JP4269403B2 (ja) データ記録再生装置及びタイムスロットの使用方法
JP3586892B2 (ja) 多チャンネル映像再生装置およびその制御方法
JPH1169275A (ja) 映像データ格納方法
JPH09205634A (ja) 映像データ記憶方法および映像サーバ
JPH09325865A (ja) 記憶装置の制御装置及び記憶装置のアクセス方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application