[go: up one dir, main page]

KR100471010B1 - 데이터스트림동기화시스템및데이터스트림동기화방법 - Google Patents

데이터스트림동기화시스템및데이터스트림동기화방법 Download PDF

Info

Publication number
KR100471010B1
KR100471010B1 KR1019970708226A KR19970708226A KR100471010B1 KR 100471010 B1 KR100471010 B1 KR 100471010B1 KR 1019970708226 A KR1019970708226 A KR 1019970708226A KR 19970708226 A KR19970708226 A KR 19970708226A KR 100471010 B1 KR100471010 B1 KR 100471010B1
Authority
KR
South Korea
Prior art keywords
data
field
queue
ideal
fields
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Fee Related
Application number
KR1019970708226A
Other languages
English (en)
Other versions
KR19990014881A (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 톰슨 라이센싱 에스.에이.
Publication of KR19990014881A publication Critical patent/KR19990014881A/ko
Application granted granted Critical
Publication of KR100471010B1 publication Critical patent/KR100471010B1/ko
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Television Systems (AREA)
  • Multi Processors (AREA)
  • Television Signal Processing For Recording (AREA)

Abstract

데이터 시스템은 메모리 제어기 및 프로세서와 함께 동작하는 메모리 어레이를 포함한다. 프로세서는 사용자 명령을 수신하는 제어 입력을 포함한다. 개별 데이터 스트림의 출력과 입력에 대하여 메모리 어레이와의 사이에 복수의 데이터 채널이 제공된다. 필드 레이트 클록은 데이터 채널에 필드 레이트 클록 신호를 제공한다. 여러 실시예들에서, 각 데이터 채널은 데이터 스트림 동기화 시스템을 포함하고, 이 데이터 스트림 동기화 시스템은 데이터 채널 내에서 일련의 데이터 필드들을 수신하기 위한 데이터 큐, 및 각 데이터 큐의 동작에 밀접하게 접속되어 있는 이상적 큐를 포함하여 데이터 큐의 동기에 사용하기 위한 정확한 필드 기준을 제공한다. 시스템 제어 장치는 각 데이터 채널 내의 공통의 이상적 큐 상에서 동작하여 그 내부의 필드 시퀀스를 제어한다. 각 채널 내의 데이터 큐는 입력 데이터 필드의 생성에 있어서 각각 접속된 이상적 큐에 응답하고 이에 따라 동작한다.

Description

데이터 스트림 동기화 시스템 및 데이터 스트림 동기화 방법
본 발명은 다중 메모리 어레이 장치들(multiple memory array devices)에 관한 것으로, 특히 필드 구성 데이터(field organized data)를 저장 및 검색하는 메모리들의 어레이들을 사용하는 다중 메모리 어레이 장치들에 관한 것이다.
다중 시청자들을 지원하는 초기 비디오 시스템들에서는 본질적으로 "재생(play)" 시스템들을 연속 동작시키고 있으며, 시청자들은 비디오 제공자들이 설정된 일정에 따라 프로그램 자료(program material)를 텔레비전 수상기를 통해 수신하였다. 프로그램 자료는 일반적으로 비디오 테이프 또는 다른 유사한 기억 매체에 저장되었고, 또한 비디오 시스템을 통해 간단히 재생되었다.
디스크 드라이브 메모리들과 같은 대용량 랜덤 액세스 메모리 시스템들의 발전으로, 소위 비디오 온 디맨드(video-on-demand) 시스템들이 현실화될 수 있었다. 비디오 온 디맨드 시스템에서는, 각각의 시청자가 개별적으로 선택한 프로그램 자료를 각자 원하는 시각에 수신할 수 있다는 점에서 근본적인 진전이 이루어졌다. 비디오 온 디맨드를 제공하기 위한 시스템을 일반적으로 비디오 서버(video server)라고 부르는데, 이들 비디오 서버는 일반적으로 하나 이상의 디스크 제어기들의 제어로 동작할 수 있는 대규모의 디스크 드라이브 메모리 어레이를 포함한다.
비디오 서버들의 능력들이 개선됨에 따라, 시청자가 액세스할 수 있는, 보다 개선된 비디오 온 디맨드 시스템들을 제공할 수 있게 되었다. 이 시청자 액세스가능 품질은 시청자가 프로그램 자료의 선택된 재생 시간을 제어할 수 있게 할뿐만 아니라 "고속 재생(fast forward)", "역 재생(reverse)", "저속 재생(slow speed)", "프레임 정지(freeze frame)"과 같은 기능들을 용이하게 한다. 이와 같은 시청자 액세스 및 제어의 제공은 시청자들에게는 매우 바람직한 일이지만, 텔레비전 프로그램 정보의 성질 및 다중 디스크 드라이브 메모리 시스템들의 동작 특성으로 인해 비디오 서버에는 종종 문제를 야기한다.
텔레비전 시청을 위해 제공된 프로그램 자료는 반드시 텔레비전 디스플레이 동작에 따라 포맷되어야 한다. 대부분, 텔레비전 프로그램 자료는 비디오 데이터, 음성 데이터, 및 타임 코드 데이터와 같은 여러 동기 정보 등의 여러 형태의 데이터들이 조립되어 있다. 적절한 디스플레이 및 이용을 위해서는, 프로그램 자료 내의 여러 형태들의 데이터를 텔레비전 필드 레이트 포맷(television field rate format)에 따라 구성하여야 한다.
다중 디스크 드라이브 비디오 서버들에서, 데이터는 각 데이터 유형의 비율에 따라 시스템 내의 여러 디스크 드라이브 상에 저장된다. 시청자의 텔레비전 수상기 상에서 정확히 재생하기 위해서는, 프로그램 자료의 각 필드의 데이터가 여러 디스크 드라이브 메모리로부터 검색되어 완전한 데이터 필드의 적절한 타이밍에 시청자에게 제공되어야 한다. 본질적으로, 여러 유형의 데이터를 구성하는 각각의 데이터 필드는 시청자에게 출력되기 전에 비디오 서버 내부에서 완전한 데이터 필드로 조립되어야 한다.
텔레비전 프로그램 자료는 그 필드 구성 및 상이한 데이터 유형 때문에 본 발명이 효과적으로 적용될 수 있는 훌륭한 예이다. 하지만, 여러 데이터 포맷을 사용하는 다른 환경에서도 본 발명은 효과적으로 적용될 수 있음은 명백하다. 예를 들어, 컴퓨터 텍스트와 그래픽 정보 등의 다른 형태의 데이터는 필드 구성 포맷으로 전송되며, 또한 서로 상이한 유형의 데이터 요소들을 종종 포함한다.
각각의 연속된 데이터 필드에 대한 여러 유형의 데이터가 적절한 타이밍 및 테이프 상의 물리적 위치에 의한 연계로 유지되는 테이프 메모리들을 사용하는 초기 시스템들과는 달리, 다중 디스크 드라이브 배열과 같은 복합 메모리를 사용하는 시스템에서는, 여러 시스템 디스크 드라이브로부터 각 유형의 데이터를 검색하여 요구되는 시간 내에 그 시스템 출력 상에서 프로그램 자료 필드 시퀀스에 따라 각 데이터 필드를 구성하여야 한다. 데이터의 주어진 필드 내의 상이한 유형들의 데이터가 검색되어 서로 상이한 속도로 시스템을 통해 이동되기 때문에, 메모리 어레이로부터 출력 시스템으로의 직접적인 전송은 비현실적이다. 따라서, 실제 시스템에서는 데이터의 연속된 필드가 보통 필드 큐(field queue)에서 조립되어 완성된 데이터 필드들의 적절한 시퀀스를 형성하기 위한 시간을 제공한다. 그후, 데이터 필드들은 사용자를 위해 필드 큐로부터 시스템 출력으로 출력된다.
대부분의 시스템들에서, 데이터 큐를 사용함으로써 시스템이 통상의 재생 모드로 동작할 때 연속된 데이터 필드가 출력을 위해 적절한 시간에 완성 및 조립될 수 있다. 다만, 시청자가 프로그램 자료의 흐름을 고속 재생이나 역 재생 모드 등으로 변경하고자 하는 경우에는, 시스템이 필드 시퀀스를 급속히 변경하고 필드 큐내에서 일련의 데이터 필드들을 조립하고자 할 때 여러 데이터 유형의 검색 레이트와 전송 레이트가 서로 상이함으로 인해 서로 다른 유형에 속하는 데이터 사이에 슬립(slip)이나 위치 부정합이 발생하게 된다. 결과적으로, 서로 상이한 유형의 데이터들이 각자 정확한 필드에 부가된다는 것을 보장할 수 없고, 데이터 필드 내의 데이터 유형들은 스크램블(scramble)되어 더 이상적 동기되지 않는다. 또한, 이로 인해 일련의 불완전한 데이터 필드들이 데이터 큐를 통해 디스플레이 시스템으로 이동하게 된다.
일단 시청자가 시스템을 고속 재생과 같은 특수 모드로부터 일반 재생 모드로 되돌리면, 시청자는 프로그램이 적절히 디스플레이될 것으로 기대한다. 그러나, 데이터 큐 내의 일련의 부적절하게 동기화된 데이터 필드는 디스플레이를 위한 적절한 시간 내에 정정되지 않는다. 그 결과, 시스템이 데이터 출력의 동기를 복구하는 시간 동안 스크램블된 프로그램 자료가 디스플레이된다. 시청자가 서버 동작을 저속 재생이나 정지 화면과 같이 일반 재생 시퀀스를 교란시키는 다른 모드로 변경할 경우에도 이와 유사한 문제가 발생된다. 레이트 변경 후, 시스템이 데이터 동기를 복구하는 동안에 장시간의 스크램블된 프로그램 자료가 시청자에 제공되는 현상은 대단히 불만스러운 일이다. 많은 경우, 이로 인해 시청자들의 프로그램 자료에 대한 만족도는 감소하고 대화형 액세스의 장점도 줄어들게 된다.
필드 구성 데이터 시스템에서 전술한 바와 같은 데이터 동기 문제는 비디오 서버와 같은 메모리 어레이 시스템의 데이터 출력 프로세스에만 국한된 것은 아니다. 반대로, 저장시에 텔레비전 프로그램 자료와 같은 필드 구성 데이터를 다중 메모리 어레이로 입력하는 프로세스에서도 이와 유사한 데이터 동기 문제가 발생한다. 프로그램 자료와 같은 필드 구성 데이터는 일반적으로 메모리 어레이 시스템으로 공급되는 필드 레이트(field rate)가 일정하지 않기 때문에, 여러 출력 채널에서 사용되었던 프로세스와 유사한 방식으로 메모리 어레이의 입력 채널 내에 있는 데이터 큐에서 데이터 필드가 조립된다. 사실, 이러한 메모리 어레이를 사용하는 시스템의 입력 채널은 간헐적으로 고속 버스트(burst)를 수신하는 경우가 많다. 이로 인해 필드 데이터를 입력 데이터 큐 내에 구성 및 누적시킬 필요가 있다. 데이터 출력 프로세스에서는, 입력 데이터에 대하여 시스템 내에서의 전송 및 누적 레이트가 서로 상이하게 된다. 결과적으로, 서로 다른 유형의 데이터 사이에 슬립이 유발되거나 데이터 동기를 상실하는 것과 같은 전술한 문제점이 발생하여, 메모리 어레이의 입력 채널에 대해서도 이에 대응하는 문제점이 발생한다. 따라서, 비디오 서버 등과 같이 필드 구성 데이터를 처리하는 시스템에서는 데이터 검색/출력 프로세스뿐만 아니라 데이터 입력/저장 프로세스 동안에도 데이터 동기 문제가 발생한다.
비디오 서버와 같은 데이터 시스템에 대화형 시청자 액세스를 제공해야 한다는 점을 고려할 때, 필드 레이트가 변경되더라도 다중 필드 구성 데이터의 데이터 동기가 적절히 유지될 수 있는 향상된 데이터 시스템이 요구된다. 특히, 필드 레이트가 변경되었다가 복귀될 때 데이터의 동기를 적절히 유지시켜 디스플레이할 수 있는 비디오 서버가 요구된다.
도1은 본 발명의 데이터 동기화 시스템의 블록도.
도2는 본 발명의 데이터 동기화 시스템의 동기부(synchronizing portion)의 보다 상세한 블록도.
도3은 본 발명의 데이터 동기화 시스템의 다른 실시예의 블록도.
따라서, 본 발명의 목적은 데이터 입출력을 향상시킬 수 있는 개선된 필드 구성 데이터 동기화 시스템을 제공하는 것이다. 본 발명의 목적은 특히 필드 구성 데이터를 처리하는 다중 메모리 어레이 비디오 서버에서 사용하기 위한 개선된 데이터 동기화 시스템을 제공하는 것이다. 본 발명의 목적은 특히 필드 구성 시스템에서 필드 디스플레이 레이트가 변경되거나 되돌려진 경우에도 여러 유형의 데이터사이에 적절한 타이밍과 동기가 유지되는 개선된 데이터 동기화 시스템을 제공하는 것이다.
본 발명 시스템에서는 입출력 동작동안에 비디오 서버와 같은 데이터 시스템의 데이터 큐 내에서 데이터를 조립하기 위한 기준으로서, 시청자의 입력/명령에 대응하여 데이터 출력 중에 필드 레이트가 변경 및 복귀되거나 다중 데이터 버스트 입력 변경에도 유지되는 믿을 수 있는 기준이 제공되어야 하는 필요성이 인식되었다. 본 발명 시스템은 각 데이터 유형에 대하여 입출력 데이터 채널 내에 데이터 큐를 사용한다. 각 데이터 큐는 필드 레이트에 따라 클록킹(clocking)된다. 따라서, 전형적인 시스템은 비디오 데이터, 음성 데이터, 타임 코드(time code) 등에 대하여 하나 이상의 입력 및 출력 데이터 큐를 구비한다. 각 데이터 채널의 각 필드에 대하여 요구되는 데이터는 데이터 큐 내에서 조립되어 필드 레이트로 데이터 큐 출력 방향으로 클록킹된다.
본 발명의 중요한 측면에 따라, 하나 이상의 필드 구성 이상적 큐(field organized ideal queue)가 제공되어 데이터 채널의 데이터 큐에 밀접 접속(tightly coupled)된다. 본 발명의 실시예에 따라, 하나의 이상적 큐가 제공되어 각 데이터 큐에 공통 접속된다. 다만, 시스템 유연성을 높이기 위해서는 각 데이터 채널마다 개별적으로 이상적 큐를 제공한다. 따라서, 복수의 이상적 큐를 구비한 시스템에서는, 각 데이터 채널은 데이터 필드를 조립하기 위한 데이터 큐 및 밀접 접속형 이상적 큐를 포함한다. 이상적 큐의 중요한 특성은 데이터 조립 프로세스에 의해 방해받지 않으며, 따라서 필드 시퀀스가 항상 정확하다는 점이다. 단일 이상적 큐 시스템의 이상적 큐, 또는 복수 이상적 큐 시스템에서 각 데이터 채널의 큐는 각 필드에 대하여 필드 레이트와 위치 정보를 저장한다. 이상적 큐는 필드 레이트로 클록킹되고, 시스템 프로세서에 응답하여 시스템에서 요구되는 필드 레이트 및 필드 시퀀스를 구현한다. 데이터 출력 채널에 있어서, 필드 레이트와 시퀀스는 시청자의 명령에 응답하여 형성된다. 데이터 입력 채널에 있어서, 프로세서 제어에 의해 필드 레이트가 설정된다. 입력 및 출력 채널에서, 이상적 큐에 의해 이상화된 필드들이 연속되게 된다. 시스템 프로세서는 각 데이터 큐의 입력 필드를 선택하여 이에 접속된 이상적 큐의 입력 필드에 직접 대응되도록 한다. 결과적으로, 이상적 큐는 여러 데이터 큐의 필드 동기를 위한 기준을 제공한다. 동기는 각 데이터 큐의 입력 필드에서 이상적 큐와의 접속을 통해 유지된다.
본질적으로, 프로세서는 사용자 입력 또는 다른 시스템 필드 레이트 정보를 수신하고 각 이상적 큐 내에서 필드 시퀀스를 제어하여 각 데이터 큐에 대하여 필드 기준을 유지한다. 이에 따라, 프로세서는 각 데이터 큐에 대한 입력 필드 데이터가 그 접속된 이상적 큐의 입력 큐에 직접 대응하여 데이터 큐에 적용되도록 한다. 이 방식으로, 시스템은 여러 데이터 채널 사이의 데이터 동기를 유지하면서 필드 레이트의 변동 및 기타 사용자 입력 명령을 따를 수 있다. 사실상 각 데이터 채널의 데이터 큐는 각각의 이상적 큐에 의해 제공된 기준에 연속적으로 동기되고 있기 때문에, 프레임 레이트 변경이나 사용자 입력에 의해 정보가 스크램블되는 전술한 문제점은 최소화되고 대개는 제거된다.
따라서, 본 발명은 복수의 필드로 구성된 데이터 스트림의 처리에 사용하기 위한 데이터 스트림 동기화 시스템으로서, 필드 증가용 클록 신호를 제공하기 위한 클록; 이상적 큐(ideal queue)로서 제 1 입력 데이터 필드를 반복 생성하고 상기 필드 증가용 클록 신호에 응답하여 연속 생성된 각각의 제 1 입력 데이터 필드를 상기 이상적 큐를 통해 점증적으로 전진시킴으로써 제 1 일련(first succession)의 제 1 데이터 필드들을 형성하기 위한 이상적 큐; 제 2 입력 데이터 필드를 반복 생성하고 연속 생성된 각각의 제 2 데이터 필드를 상기 데이터 큐를 통해 점증적으로 전진시킴으로써 제 2 일련(second succession)의 제 2 데이터 필드들을 형성하기 위한 데이터 큐로서 상기 제 2 입력 데이터 필드는 각각 상기 제 1 입력 데이터 필드의 병행(concurrent) 필드에 직접 대응하여 생성되며 상기 제 2 입력 데이터 필드는 각각 상기 점증적 전진 동안 수신 또는 조립된 데이터를 구비하는 데이터 큐; 및 상기 데이터 큐에 수신된 데이터를 저장하거나 상기 데이터 큐에서 조립된 데이터를 검색하기 위한 메모리 수단을 포함하는 시스템을 제공한다.
본 발명은 복수의 데이터 필드로 구성되는 데이터 스트림을 동기하기 위한 방법으로서, 주기적인 필드 클록 신호를 제공하는 단계; 필드 클록 신호 각각에 응답하여 이상적 데이터 큐를 반복 생성함으로써 복수의 데이터 큐 데이터 필드를 형성하는 단계; 상기 필드 클록 신호에 응답하여 데이터 큐를 통해 상기 데이터 큐 데이터 필드를 점증적으로 전진시켜 일련의 이상적 데이터 필드들을 형성하는 단계; 데이터 큐 데이터 필드의 형성 단계로서 각각의 데이터 큐 데이터 필드는 상기 이상적 큐 데이터 필드의 병행 필드의 생성에 직접 대응하여 형성되는 단계; 및 상기 데이터 큐 데이터 필드가 상기 데이터 큐를 통해 점증적으로 전진시키는 동안 상기 데이터 큐 데이터 필드 내에서 상기 데이터 스트림의 선택된 부분을 수신 또는 조립하는 단계를 포함하는 방법을 또한 제공한다.
본 발명은 제어 신호에 응답하여 필드 구성 데이터 스트림의 처리에 사용하기 위한 데이터 스트림 동기화 시스템으로서, 필드 클록 신호의 소스; 상기 제어 신호에 응답하여 일련의 선택된 입력 이상적 데이터 필드들을 생성하기 위한 이상적 큐로서 상기 일련의 입력 이상적 데이터 필드는 상기 필드 클록 신호에 응답하여 이상적 큐를 통해 증가되는 이상적 큐; 및 데이터 스트림으로부터 일련의 데이터 필드를 수신 또는 조립하기 위한 데이터 큐로서 동시에 생성된 입력 이상적 데이터 필드에 직접 대응하여 데이터 큐에서 입력 데이터 큐가 생성되는 데이터 큐를 포함하는 시스템을 또한 제공한다.
본 발명은 복수의 데이터 필드로 구성된 데이터 스트림을 동기하기 위한 데이터 동기화 시스템으로서, 주기적인 필드 클록 신호를 제공하기 위한 수단; 상기 필드 클록 신호의 각각에 대응하여 이상적 데이터 큐 필드를 생성함으로써 복수의 이상적 데이터 큐 필드를 생성하기 위한 수단; 상기 필드 클록 신호에 응답하여 상기 데이터 큐 데이터 필드를 점증적으로 전진시킴으로써 이상적 큐를 형성하기 위한 수단; 데이터 큐 데이터 필드를 생성하기 위한 수단으로서 각각의 데이터 큐 데이터 필드는 이상적 큐 데이터 필드의 생성 수단에서 형성된 이상적 큐 데이터 필드의 병행 필드에 대응하는 수단; 상기 필드 클록 신호에 응답하여 상기 데이터 큐 데이터 필드를 점증적으로 전진시킴으로써 데이터 큐를 형성하기 위한 수단; 및 상기 데이터 큐가 증가되는 동안 상기 데이터 큐 데이터 필드 내에서 상기 데이터 스트림의 선택된 부분을 수신 또는 조립하기 위한 수단을 포함하는 시스템을 또한 제공한다.
본 발명은 복수의 데이터 필드로 구성되는 데이터 스트림의 처리에 사용하기 위한 데이터 스트림 동기 방법으로서, 필드 증가 클록 신호를 수신하는 단계; 제 1 입력 데이터 필드를 반복 생성하고 연속 생성된 제 1 입력 데이터 필드 각각을 필드 증가 클록 신호에 응답하여 이상적 큐를 통해 점증적으로 전진시키는 단계; 제 2 입력 데이터 필드를 반복 생성하고 연속 생성된 제 2 입력 데이터 필드 각각을 데이터 큐를 통해 점증적으로 전진시켜 각각이 수신 또는 조립된 데이터를 내부에 가지고 있는 제 2 일련의 제 2 데이터 필드들로서 상기 제 2 입력 데이터 필드는 제 1 입력 데이터 필드에 직접 대응하여 생성되는 제 2 일련을 형성하는 단계; 및 상기 수신된 데이터를 저장하거나 메모리 수단으로부터 상기 조립된 데이터를 검색하는 단계를 포함하는 방법을 또한 제공한다.
본 발명은 제어 신호에 응답하여 필드 구성 데이터 스트림의 처리에 사용하기 위한 데이터 스트림의 동기 방법으로서, 필드 클록 신호를 제공하는 단계; 상기 필드 클록 신호에 응답하여 각각이 상기 제어 신호에 의해 선택되는 일련의 입력 이상적 데이터 필드들을 생성하는 단계; 및 상기 데이터 스트림으로부터 일련의 입력 데이터 필드들을 수신 또는 조립하는 단계로서 상기 입력 데이터 필드는 각각 이와 동시에 생성되는 입력 이상적 데이터 필드에 직접 대응하여 생성되는 단계를 포함하는 방법을 또한 제공한다.
본 발명의 다른 목적과 효과는 이하의 설명을 첨부하는 도면과 함께 참조함으로써 충분히 이해할 수 있다.
도1은 본 발명에 따라 구성된 데이터 시스템(10)을 도시한다. 데이터 시스템(10)은 프로세서(11)를 포함하고, 이 프로세서(11)에는 프로세서 메모리(12)가 양방향 통신(18)을 통해 접속되어 있다. 프로세서(11)와 프로세서 메모리(12)는 접속 동작하여 메모리(12) 내에 저장된 프로그램 또는 명령어 세트에 따라 프로세서(11)를 동작시킨다. 제어 입력(13)은 커플링(coupling : 19)에 의해 프로세서(11)에 접속된다. 메모리 어레이(메모리 배열)(15)는 양방향 커플링(17)에 의해 메모리 제어기(14)에 접속된다. 이어서, 메모리 제어기(14)는 양방향 커플링(16)에 의해 프로세서(11)에 접속된다. 프로세서(11)는 복수의 출력(21 내지 28)을 더 포함한다. 메모리 제어기(14)는 복수의 데이터 출력(51 내지 54)과 복수의 데이터 입력(55 내지 58)을 더 포함한다.
시스템(10)은 복수의 데이터 스트림 동기화 시스템(31 내지 38)을 더 포함한다. 데이터 스트림 동기화 시스템(31 내지 38)은 각각 클록 입력(61 내지 68)을 포함하고, 이들 클록 입력(61 내지 68)은 데이터 레이트 클록(20)에 공통으로 접속된다. 데이터 스트림 동기화 시스템(31 내지 34)은 각각 복수의 데이터 출력 시스템(41 내지 44)에 또한 접속된다. 출력 시스템(41 내지 44)은 데이터 이용 시스템(도시되지 않음)에 접속된 데이터 출력(71 내지 74)을 포함한다. 데이터 스트림 동기화 시스템(35 내지 38)은 각각 복수의 데이터 입력 시스템(45 내지 48)에 접속된다. 데이터 입력 시스템(45 내지 48)은 각각 데이터 입력(75 내지 78)을 포함하고, 데이터 입력(75 내지 78)은 데이터 소스(도시되지 않음)에 접속된다.
프로세서(11)의 제어 출력(21 내지 28)은 각각 데이터 스트림 동기화 시스템(31 내지 38)에 접속되어 후술하는 바와 같은 방식으로 데이터 스트림 동기화 시스템(31 내지 38)의 프로세서 제어를 제공한다. 메모리 제어기(14)의 데이터 출력(51 내지 54)은 각각 데이터 스트림 동기화 시스템(31 내지 34)에 접속되고, 메모리 제어기(14)의 데이터 입력(55 내지 58)은 각각 데이터 스트림 동기화 시스템(35 내지 38)에 접속된다.
동작에서, 데이터 시스템(10)은 메모리 제어기(14)의 제어하에서 동작하는 메모리 어레이(15)을 포함하고 이로써 데이터 스트림 동기화 시스템(31 내지 34)과 데이터 출력 시스템(41 내지 44)에 의해 형성되는 4 개의 데이터 출력 채널을 출력 데이터에 제공하는 것으로 보일 것이다. 상기 4 개의 데이터 출력 채널은 출력(71 내지 74)에 데이터를 제공한다. 데이터 스트림 동기화 시스템(31 내지 34)에 의해 처리되는 출력 데이터는 복수의 연속 데이터 필드들로 포맷되고, 이들 연속 데이터 필드들은 데이터 레이트 클록(20)에 응답하여 데이터 스트림 동기화 시스템(31 내지 34)을 통해 점진적으로 이동된다. 그리고 나서, 필드 구성 출력 데이터는 또한 데이터 출력 시스템(41 내지 44)에 의해 처리된다.
개략적으로, 데이터 시스템(10)은 데이터 입력 시스템(45 내지 48)의 입력(75 내지 78)에서 데이터를 수신하는 4 개의 데이터 입력 채널을 또한 포함한다. 데이터 동기화 시스템(35 내지 38)은 데이터 입력(45 내지 48)으로부터 데이터를 수신하며, 상기 데이터는 후술하는 바와 같이 데이터 필드 포맷에 따라 구성되고 데이터 동기화 시스템(35 내지 38)을 통해 클록킹(clocking)되어 배열(15) 내에 저장되기 위해 메모리 제어기(14)로 인가된다. 따라서, 데이터 시스템(10)은 본 발명에 따라 구성된 데이터 시스템으로서 4 가지 유형의 데이터가 각각 동기되는 예로서 보일 것이다.
본 발명 시스템은 규칙적이고 주기적인 필드 레이트 타이밍에 따라 발생하는 일련의 데이터 필드들을 형성하기 위해 구성 및 포맷된 데이터를 처리할 때 사용되면 그 동작이 가장 효과적이다. 예를 들어, 전술한 텔레비전 프로그램 포맷에서, 연속된 데이터 필드들은 필드 포맷 시퀀스로 구성된 비디오 데이터, 음성 데이터, 그리고 동기 또는 타이밍 데이터를 포함한다. 텔레비전 사용자들을 서비스할 때에 호환성을 제공하기 위해서, 데이터 필드 레이트는 일반적으로, 예상되는 텔레비전 시청자의 필드 스캔 레이트(field scan rate)에 맞도록 선택된다. 다만, 다른 데이터 처리 시스템에서 그 필드 레이트가 텔레비전 시스템의 필드 레이트와는 전혀 상이한 데이터 포맷을 사용할 수도 있다는 것은 명백하다. 본 발명에서 처리되는 데이터의 중요한 특징은 상이한 데이터 유형을 복수의 연속된 규칙적 데이터 필드로 한정하는 포맷으로 구성한다는 점이다.
시스템(10)의 동작에 있어서, 위에서 언급한 바와 같이 시스템(10)은 입력 모드 또는 출력 모드로 동작할 수 있다. 출력 모드로 동작할 때, 시스템(10)은 메모리 어레이(15)에 저장된 데이터를 검색하여 형성한 데이터 소스를 제공하며, 상기 데이터는 데이터 스트림 동기화 시스템(31 내지 34)을 통한 4 개의 데이터 채널을 통해 출력(71 내지 74)으로 제공된다. 반대로, 입력 모드로 동작할 때, 시스템(10)은 입력(75 내지 78)을 통해 시스템 외부로부터 공급된 데이터를 저장하며, 상기 데이터는 데이터 입력(45 내지 48)과 데이터 스트림 동기화 시스템(35 내지 38)에 의해 형성된 4 개의 데이터 채널을 통해 처리되어 궁극적으로는 메모리 어레이(15) 내에 저장된다. 양 모드로 동작함에 있어서, 본 발명의 특징은 상이한 유형의 데이터가 데이터 스트림으로 형성하여 일련의 데이터 스트림 동기화 시스템과 데이터 출력 시스템의 조립에 의해 형성된 개별적인 데이터 채널을 통해 전달되어 메모리 어레이(15)로 전달되거나 메모리 어레이(15)로부터 전달된다는 점이다. 필드 구성이 공통인 점은 별도로 하고, 서로 독립적인 별개의 데이터 스트림을 처리하는 데에 있어서, 각 채널 내의 개별적인 데이터 스트림 사이의 동기는 필드 구성 데이터에 대해 적절히 유지되어 데이터 슬립(data slip)이나 동기 상실과 같은 전술한 문제를 회피 또는 극복할 수 있다.
특히, 시스템(10)이 비디오 서버에서와 같이 데이터 출력 모드로 동작하는 때에는, 데이터 출력의 레이트와 방향은 제어 입력(13)을 통해 프로세서(11)로 입력되는 사용자 입력에 응답하여 제어된다. 데이터 시스템(10)이 비디오 서버로 동작하는 경우, 사용자가 제어 입력(13)을 기동시켜 시스템(10)이 예컨대 일반 재생 모드로 동작하도록 통신할 수 있다. 일반 재생 모드의 특징은 출력(71 내지 74)에서 각 데이터 채널에 대하여 필드 레이트로 완전한 데이터 필드를 공급하기 위해 지속적으로 메모리 어레이(15)로부터 데이터가 검색되고 연속 데이터 필드를 조립한다는 점이다. 본 발명의 중요한 특징에 따른 후술하는 수단에 의해, 프로세서(11)는 메모리 제어기(14)와 데이터 스트림 동기화 시스템(31 내지 34)을 제어하여 메모리 어레이(15)로부터 데이터를 검색하고 재생 시퀀스에서 각 데이터 필드를 조립한다. 본 발명에 따라, 동기화 시스템(31 내지 34)은 검색된 데이터를 적절한 데이터 필드 시퀀스 내에 누적시키고 이는 클록(20)에 따라 각각의 데이터 스트림 동기화 시스템으로부터 순차적으로 클록킹되어 데이터 출력 시스템(41 내지 44)에 의해 연속 데이터 필드로서 더 처리된다.
출력 데이터가 프레임 레이트(frame rate)와 상이한 레이트로 공급되기를 원하는 경우, 사용자는 대응하는 제어 입력(13)을 통해 프로세서(11)로 입력 명령을 제공한다. 예를 들어, 사용자가 "고속" 동작 모드로 데이터를 보다 빠르게 이동시키고자 할 경우, 프로세서(11)는 제어 입력(13)에 응답하여 데이터 스트림 동기화 시스템(31 내지 34)에 조립되어 있는 연속된 데이터 필드를 교체한다. 또한, 프로세서(11)는 메모리 제어기(14)와 통신하여 데이터 스트림 동기화 시스템(31 내지 34)에서 필요한 메모리 어레이(15)로부터의 해당 데이터의 검색을 촉진하고 이로써 상기 교체된 데이터 필드 시퀀스를 적절히 조립한다. 비디오 서버로서 데이터 시스템(10)의 전술한 동작을 계속해서 진행하면, 동기화 시스템(31 내지 34)에서 고속 동작이 현재 처리하고 있는 정보의 유형에 적합한 방식으로 구현된다. 따라서, 예컨대 데이터 스트림 동기화 시스템(31)이 비디오 데이터를 처리하고 데이터 스트림 동기화 시스템(32, 33)이 음성 데이터를 처리하여 데이터 스트림 동기화 시스템(31)이 타임 코드 또는 동기 데이터를 처리하도록 되었다고 가정하면, 각 동기화 시스템은 서로 상이하게 동작하여 상기 고속 동작을 달성한다. 비디오 데이터의 고속 동작은 필요한 개수의 데이터 필드를 스킵(skip)하여 고속 필드 레이트를 만족하도록 하여 달성한다. 일반 필드 레이트의 10배의 고속 동작이 요구되는 경우, 비디오 채널은 데이터를 검색하여 매 10번째 데이터 필드를 조립하고 그 사이의 필드는 스킵한다. 반면, 본 실시예에서의 데이터 스트림 동기화 시스템(32, 33)과 같은 음성 데이터 채널에서 음성 데이터의 고속 동작은 음성 정보를 압축하거나 프로그램 자료의 음성 영역을 일시적으로 삭제하는 것과 같은 보다 복잡한 기법을 통해 달성한다. 타임 코드 또는 동기 정보는 비디오 정보와 유사한 방식으로 처리된다.
반대로, 예컨대 비디오 서버의 저속 동작에 의해 제공되는 일련의 데이터 필드들을 늦추고자 하는 경우, 프로세서(11)는 제어 입력(13)에 응답하여 데이터 스트림 동기화 시스템(31 내지 34) 내에 조립되어 있는 일련의 데이터 필드들을 교체한다. 비디오 서버에 관한 상기 예를 계속 설명하면, 데이터 스트림 동기화 시스템(31) 내의 비디오 데이터는 각 데이터 필드를 선택한 저속에 대응하는 회수만큼 반복함으로써 저속으로 제공된다. 1/5 저속을 선택한 경우, 데이터 스트림 동기화 시스템(31)은 비디오 정보의 조립된 데이터 필드 각각을 다섯 번 연속으로 데이터 출력(41)에 출력한다. 다만, 데이터 스트림 동기화 시스템(32, 33)에서의 음성 정보의 처리는 보다 복잡한데 음성 데이터를 증가된 데이터 필드동안 늘이고 무성 필드(silent fields)를 삽입하여야 한다. 한편, 시스템(10)은 저속 재생 모드동안 음성 데이터의 출력을 삭제하도록 구성할 수 있다. 데이터 스트림 동기화 시스템(34)에서 처리하는 타임 코드 정보는 음성 정보에 대하여 데이터 스트림 동기화 시스템(31)이 채용한 것과 유사한 방식으로 연속된 필드에 대해 반복된다.
본 발명의 중요한 특징에 따라, 데이터 스트림 동기화 시스템(31 내지 34)은 사용자가 레이트 모드를 일반 재생, 고속 재생, 저속 재생, 정지, 역 재생 등으로 변경시켜 데이터 필드 출력이 크게 변하는 경우에도 각 데이터 채널에서 상이한 데이터 유형의 동기를 유지한다.
시스템(10)이 입력 모드, 즉 기록 모드로 동작하는 경우, 동기화 시스템(35 내지 38)은 재생 모드로 동기화 시스템(31 내지 34)에 대하여 전술하였던 방식과 사실상 동일하게 동작한다. 따라서, 상이한 유형의 데이터는 입력(75 내지 78)을 통해 데이터 입력 시스템(45 내지 48)에서 수신되고, 다시 동기화 시스템(35 내지 38)으로 인가된다.
상기 비디오 서버의 실시예에 따라, 데이터 입력 시스템(45)과 데이터 스트림 동기화 시스템(35)에 의해 형성되는 데이터 채널은 비디오 데이터를 처리하고, 데이터 입력 시스템(46)과 데이터 스트림 동기화 시스템(37)에 의해 형성되는 데이터 채널은 음성 데이터를 처리한다. 이때, 데이터 입력 시스템(48)과 데이터 스트림 동기화 시스템(38)에 의해 형성되는 데이터 채널은 타임 코드 또는 동기 데이터를 처리한다. 데이터 스트림 동기화 시스템(35 내지 38)의 각각은 메모리 제어기(14)를 통해 메모리 어레이(15)에 접속된다. 본 발명에 따라, 데이터 스트림 동기화 시스템(35 내지 38)은 예를 들어 데이터를 수신하기 위해 입력(75 내지 78)이 접속되어 있는 데이터 소스의 동작에 의해 데이터 공급이 중단되거나 데이터 입력 레이트가 변경되더라도 각 데이터 채널에서 입력 데이터의 동기를 유지한다.
당업자는 도1에 도시된 데이터 시스템(10)이 실시예에 불과하며 본 발명 시스템은 특정한 개수의 데이터 채널에 한정되지 않는다는 것을 알 수 있다. 또한, 당업자는 후술하는 바로부터 본 발명 시스템이 사용자의 선택에 따라 데이터 출력 시스템, 데이터 입력 시스템, 또는 입출력 접속 시스템에서 도1에 도시된 바와 같이 동작할 수 있다는 것을 알 수 있다. 또한, 당업자는 본 명세서의 설명에서 텔레비전 프로그램 자료를 사용하고 본 발명 시스템이 비디오 서버로서 동작하는 것으로 기술되고 있지만, 본 발명은 이러한 용도에 한정되지 않는다는 것을 알 수 있다. 오히려, 상이한 유형의 데이터를 처리하고 이들 상이한 유형의 데이터가 기본 레이트(base rate)에 대하여 동기되어야 하는 구조를 갖는 사실상 모든 형태의 데이터에서 본 발명 시스템이 효과적으로 동작할 수 있다. 또한, 도1의 실시예에서는 단일 비디오 데이터 채널, 한 쌍의 음성 데이터 채널, 그리고 단일 타임 코드 데이터 채널을 갖는 간단한 형태의 비디오 서버를 사용하였다. 그러나, 많은 시스템에서, 효과적인 비디오 서버 시스템을 제공하기 위해서 훨씬 더 많은 개수의 데이터 채널을 사용한다.
도2는 본 발명 시스템의 블록도로서 도1의 데이터 스트림 동기화 시스템(31 내지 38)을 강조한 도면을 도시한다.
예시를 위해, 도2에서 데이터 스트림 동기화 시스템(100)은 데이터 출력 채널에서 사용되고 데이터 스트림 동기화 시스템(150)은 데이터 입력 채널에서 사용된다. 데이터 스트림 동기화 시스템(100, 150)은 도1에 도시된 데이터 스트림 동기화 시스템(31 내지 38)을 대표한다. 즉, 예컨대 데이터 스트림 동기화 시스템(31 내지 34)의 각각은 데이터 스트림 동기화 시스템(100)에 대응되고 도1의 데이터 스트림 동기화 시스템(35 내지 38)의 각각은 도2의 데이터 스트림 동기화 시스템(150)에 대응되는 것으로 이해한다.
본 발명에 따라, 데이터 스트림 동기화 시스템(100)은 양방향 커플링(107)에 의해 밀접하게 접속된 이상적 큐(ideal queue : 101)와 데이터 큐(130)를 포함한다. 이상적 큐(101)는 입력(102)에서 클록(20)에 접속된 클록 인터페이스(103)를 포함한다. 클록(20)은 필드 레이트 클록(field rate clock)이다. 이상적 큐(101)는 필드 큐 슬롯(110 내지 121)을 더 포함한다. 이상적 큐(101) 내에 12개의 필드 큐 슬롯을 선택하는 것은 예로서 설정된 것이고, 본 발명은 이상적 큐(101) 내에 존재하는 큐 슬롯의 개수에 제한받지 않는다. 이상적 큐(101)는 양방향 커플링(107)으로 접속을 제공하는 인터페이스(104)를 포함한다. 이상적 큐(101)는 이상적 큐(101)에 밀접하게 접속된 레이트 및 타임 코드 발생기(81)를 또한 포함한다. 운동 제어 시스템(80)은 제어 입력(13 : 도1)에 접속되고 또한 프로세서 유닛(82)에도 접속된다. 예를 들어, 도2에 도시된 시스템이 비디오 서버의 일부분이라면, 제어 입력(13)으로부터의 시청자 명령은 레이트 및 타임 코드 정보로 변환되고, 이 정보를 프로세서 유닛(82)은 레이트 및 타임 코드 발생기(81)로 인가한다. 프로세서 유닛(82)은 도1에 도시된 프로세서(11)의 일부분을 포함하고 레이트 및 타임 코드 발생기(81)의 입력(106)에 접속되어 있다. 본 발명의 도1과 도2의 실시예에서, 파선(11)은 프로세서 유닛(82)과 운동 제어기(80)를 둘러싸고 있는데, 이는 이들 부재가 도1에 도시된 프로세서(11)의 기능에 포함될 수도 있음을 나타낸다. 프로세서 유닛(82)은 클록(20)에 접속된다.
본 발명에 따라, 데이터 스트림 동기화 시스템(100)은 복수의 필드 큐 슬롯(135 내지 146)을 구비하는 데이터 큐(130)를 더 포함한다. 역시, 데이터 큐(130)내의 데이터 필드 슬롯의 개수는 제한되지 않는다. 다만, 본 발명의 동작을 위해, 데이터 큐(130) 내의 데이터 필드 슬롯의 개수는 이상적 큐(101) 내의 필드 슬롯의 개수에 대응된다. 데이터 큐(130)는 인터페이스(131)와 커플링(107)을 통해 이상적 큐(101)에 밀접하게 접속된다. 또한, 데이터 큐(130)는 프로세서 유닛(82)에 접속된 입력(133)을 포함한다. 이상적 큐(101)는 상태 정보 출력(108)을 포함한다. 따라서, 데이터 큐(130)는 데이터 출력(147)을 포함하고, 이 데이터 출력(47)은 데이터 큐(130)의 출력 데이터 지점을 포함한다.
메모리 제어기(14)는 양방향 커플링(134)에 의해 데이터 큐(130)의 인터페이스(132)에 접속되어 있다. 메모리 제어기(14)는 양방향 커플링(17)에 의해 메모리 어레이에 또한 접속되어 있다. 메모리 제어기(14)는 프로세서(82)에 또한 접속되어 있다.
데이터 스트림 동기화 시스템(150)은 데이터 스트림 동기화 시스템(100)과 실질적으로 동일하고 위에서 언급한 바와 같이 데이터 입력 채널 내에서 동작한다. 따라서, 데이터 스트림 동기화 시스템(150)은 레이트 및 타임 코드 발생기(165)를 구비한 이상적 큐(160), 인터페이스(161), 복수의 필드 슬롯(170 내지 181), 인터페이스(162), 제어 입력(164), 및 상태 정보 출력(163)을 포함한다. 데이터 스트림 동기화 시스템(150)은 이상적 큐(160)의 필드 슬롯의 개수에 대응하여 복수의 필드 슬롯(200 내지 211)을 구비한 데이터 큐(190)를 더 포함한다. 데이터 큐(190)는 강한 양방향 커플링(153)에 의해 이상적 큐(160)에 접속된 인터페이스(191)를 포함한다. 데이터 큐(190)는 데이터 입력(152)과 데이터 출력(155)을 또한 포함한다. 이 데이터 출력(155)은 메모리 제어기(14)에 접속된다. 입력 제어(151)는 레이트 및 타임 코드 발생기(165)의 입력(164)에 접속된다. 프로세서 유닛(82)은 데이터 큐(190)의 인터페이스(191)에 접속된다. 클록(20)은 이상적 큐(160)의 클록 입력(156), 및 입력 제어(151)에 또한 접속된다.
동작의 면에서, 데이터 출력 채널에서 동작하는 데이터 스트림 동기화 시스템(100)과 데이터 입력 채널에서 동작하는 데이터 스트림 동기화 시스템(150)의 동작은 본 발명에 있어서 기본적으로 동일하다. 본질적으로, 본 발명은 입력 필드 시퀀스와 함께 채널의 이상적 큐를 필드 클록 신호에 응답하여 동작시켜 데이터 출력 채널의 경우 시청자 명령 그리고 데이터 입력 채널의 경우 시스템 데이터 입력 요구에 따른 필드 레이트 요구를 만족시킴으로써 각 채널의 데이터 큐 내의 데이터의 동기를 유지한다. 이상적 큐는 요구되는 필드 시퀀스를 연속된 큐 슬롯 내에 설정하며, 상기 슬롯은 필드 클록 신호에 응답하여 큐를 통해 증가된다. 동작 레이트 요구가 변경되면, 이상적 큐 내의 필드 시퀀스가 이에 따라 변경되어 이상적 큐는 계속해서 입력 명령에 대응하는 정확한 필드 시퀀스의 기준이 된다. 본질적으로, 각 채널의 데이터 큐는 필드 시퀀스를 큐 슬롯 내에 설정함에 있어서 이상적 큐를 따른다. 데이터 큐는 필드를 입력할 기회가 데이터 큐에 생길 때마다 입력 큐의 대응하는 입력 필드를 입력함으로써 항상 채널 내의 이상적 큐에 동기화된다. 예컨대 데이터 큐에서의 불완전한 데이터 검색으로 인해 데이터 채널에서 동기를 상실하는 경우, 이상적 큐의 입력 필드에 대응하여 다음 필드를 데이터 큐에 계속해서 입력하여 "재동기(re-synchronizing)"를 달성함으로써 채널 내의 데이터 동기를 빠르게 복구할 수 있다.
이상을 염두해 두고, 이제 본 발명 시스템에 대해 보다 상세히 설명한다. 본 발명 시스템의 동작은 처음에는 데이터 스트림 동기화 시스템(100)을 통한 데이터 출력 동작을 기술하고, 그리고 나서 데이터를 데이터 동기화 시스템(150)을 통해 통과시키는 데이터 입력 모드에서의 시스템 동작을 기술한다.
사용자가 본 발명 시스템을 일반 레이트, 즉 재생 모드로 동작시키고자 한다고 가정하면, 사용자는 제어 입력(13)을 기동시켜 대응하는 명령을 운동 제어기(80)에 인가한다. 이어서, 운동 제어기(80)는 사용자 명령을 레이트 및 타임 코드 정보로 변환한다. 레이트 및 타임 코드 정보는 필드 레이트와 필드 위치 시퀀스를 이상적 큐(101)로 전달한다. 레이트 정보는 부호(전방향 시퀀스에 대하여 양수, 역방향 시퀀스에 대하여 음수)와 일반 필드 레이트의 승수(multiplier)로서 표현되는 크기를 포함한다. 이 승수는 정수일 수도 있고 분수일 수도 있으며, 양자가 접속된 것일 수도 있다. 타임 코드 정보는 시스템이 지시된 레이트로 동작하는 시작 필드를 지시하는 위치 포인터(position pointer)를 포함한다. 위치 포인터는 데이터 스트림 내에서 주어진 필드를 식별하고, 본질적으로 필드의 데이터 스트림 위치 정보이다. 따라서, 일반 재생 동작의 예에서, 레이트 정보는 단순히 +1이다. 실시예로서, 초기 위치는 제 1 데이터 필드이거나 영 위치(position zero)이다. 그리고, 인가된 레이트 및 타임 코드 정보는 프로세서 유닛(82)에 의해 포맷되어 이상적 큐(101)의 레이트 및 타임 코드 발생기(81)로 인가된다. 본 실시예에서, 레이트 및 타임 코드 발생기(81)는 레이트를 +1로 설정하고 위치 포인터를 영(0)으로 설정한다. 그리고 나서, 클록(20)으로부터 인가된 클록 신호와 연속된 레이트 및 타임 코드 정보로 인해 레이트는 +1로 유지되고 위치 포인터는 0에서 1, 1에서 2 등으로 증가하며 큐(101)는 필드 레이트로 증가한다. 결과적으로, 큐(101) 내의 각 필드는 출력(108)을 향해 이동하고 신규 입력 필드는 이상적 큐(101)에서 각각의 클록 신호마다 생성된다. 연속된 클록 신호에 의해 필드가 이상적 큐(101) 내에서 증가하고 각각이 레이트 및 타임 코드 정보를 갖는 연속된 필드가 입력됨에 따라 이 프로세스는 계속된다. 이상적 큐(101)가 가득 차게 되면, 클록(20)으로부터의 다음 클록 신호에서 슬롯(121) 내의 필드 정보가 상태 정보로서 출력된다. 그리고 나서, 시스템이 일반 재생 모드에 있는 동안, +1의 레이트와 연속 증가하는 타임 코드 정보(또는 위치 포인터)를 각각 갖는 연속된 입력 필드가 이상적 큐(101)의 슬롯(110)에서 생성되고 출력 필드 슬롯(121)의 필드 정보는 이상적 큐(101)로부터 클록킹되어 나온다. 따라서, 임의의 시간에서, 이상적 큐(101)는 출력될 다음 데이터 필드와 이상적 큐로 입력될 현재의 데이터 필드를 포함한 12개의 연속된 데이터 필드에 대하여 레이트 및 타임 코드 정보를 유지한다.
본 발명의 중요한 측면에 따라, 데이터 큐(130)는 통신(107)을 통해 이상적 큐(101)에 응답하여 밀접하게 제어된다. 따라서, 각 데이터 필드가 이상적 큐(101)의 입력[슬롯(110)]에서 생성될 때, 동일한 데이터 필드가 데이터 큐(130)의 입력 슬롯(135)에서 생성된다. 입력 필드가 생성될 때 데이터 큐(130)의 입력 필드에 제공되는 초기 정보는 각 필드에 대한 필드 레이트와 타임 코드 정보를 포함한다. 그리고 나서, 연속된 클록 신호가 이상적 큐(101)를 증가시킴에 따라, 데이터 큐(130)는 대응하는 입력 데이터 필드를 입력 큐 슬롯 내에 생성하고 이상적 큐(101)에서와 유사한 방식으로 연속된 데이터 슬롯을 통해 데이터 필드를 증가시킨다. 다만, 이상적 큐(101)와는 달리 데이터 큐(130)는 각 데이터 필드 슬롯 내의 각 필드에 대하여 완전한 데이터를 수신 및 유지할 수 있는 충분한 용량을 갖고 있다. 따라서, 각 데이터 필드가 데이터 큐(130) 내에서 생성되어 출력(147)을 향해 증가될 때, 프로세서 유닛(82)은 데이터 큐(130)의 필드가 출력(147)을 향해 증가함에 따라 데이터 큐(130)와 메모리 제어기(14)를 동작시켜 각 필드에 대하여 데이터의 검색 및 각 필드 내의 각 데이터 필드의 조립을 구현한다.
일단 12개의 일련의 데이터 필드들이 생성되어 데이터 큐(130)로 증가되면, 데이터 큐 내에서 데이터 필드를 한번 더 증가시킬 때 입력 필드 슬롯(135)에서 다음의 신규 데이터 필드가 생성됨과 함께 출력(147)에서 하나의 데이터 필드가 출력된다. 재생 모드 동작에서, 데이터 큐(130)는 이상적 큐와 데이터 큐 사이의 밀접한 접속, 및 메모리 어레이(15)로부터 데이터 출력을 위해 각 데이터 필드를 시간내에 완성할 수 있는 충분한 레이트로 데이터를 검색할 수 있는 메모리 제어기(14)와 프로세서 유닛(82)의 검색 능력으로 인해 이상적 큐(101)와 동기 상태에 있다. 이상적 큐(101)와 데이터 큐(130) 사이의 이러한 동기 상태는 각 데이터 필드에 대하여 출력부(146)에서 출력되기 이전에 완전한 데이터 필드로서 시스템이 완전한 데이터를 검색할 수 있는 한 계속된다.
사용자가 일반 재생 모드 이외의 모드로 동작시키는 명령을 입력한 경우, 시청자 입력 명령은 운동 제어기(80)에 의해 검색되어 프로세서 유닛(82)으로 인가되며, 이어서 유닛(82)은 레이트 및 타임 코드 정보를 레이트 및 타임 코드 발생기(81)의 입력(106)에 인가한다. 클록(20)의 다음 클록 신호에서, 레이트 번호(부호부)와 위치 포인터의 형태로 변경된 레이트 및 타임 코드 정보는 큐(101)의 필드 슬롯(110)으로 입력된다. 예를 들어, 사용자가 일반 재생 모드에서 일반 재생 레이트의 10 배의 레이트를 갖는 고속 재생 모드로 변경한 경우, 슬롯(110)에서 생성된 필드 내의 레이트 정보는 +10이다. 그리고, 이러한 고속 재생으로의 레이트 변경이 필드(100)에서 초기화된다면, 이상적 큐(101)의 슬롯(110) 내의 코드 정보(위치 포인터)는 100이다. 그리고 나서, 다음 클록 신호에서, 신규로 생성된 필드는 슬롯(111)으로 증가하고 다음의 신규 필드는 +10인 레이트와 위치 포인터 110인 타임 코드 정보를 구비한 슬롯(110)에서 생성된다. 다음 클록 신호에서, 각 필드는 우측으로 증가하고 슬롯(110)에서 가장 최근에 생성된 필드는 +10의 레이트와 120의 타임 코드 정보를 갖는다. 각 클록 신호에 응답하여, 슬롯(110 내지 121) 내의 각 필드는 우측으로 증가하여 신규 필드가 슬롯(110)에서 생성될 수 있도록 한다. 이러한 프로세스는 사용자가 운동 제어기(80)에 10배속 고속 재생 명령을 인가하고 있는 한 계속된다. 결과적으로, 이상적 큐(101)에서 필드 시퀀스는 매 10번째 필드에 대응한다.
위에서 언급한 바와 같이, 데이터 큐(130)는 이상적 큐와 데이터 큐 사이의 밀접한 접속으로 인해 이상적 큐(101)의 슬롯(110)의 현재의 신규 필드에 직접 대응하여 입력 필드 슬롯(135)에서 신규 필드를 생성한다. 따라서, 이상적 큐(101)가 변경된 레이트 및 위치 정보에 응답하여 대응 필드 시퀀스를 생성할 때, 데이터 큐(130)는 대응 데이터 필드 시퀀스를 생성한다. 데이터 큐(130)에서 생성되는 각 입력 필드는 이상적 큐(101)의 입력 필드에 대응하고, 각 생성된 데이터 필드는 동기되어 데이터 큐(130)를 통해 증가한다. 각 데이터 필드의 완성을 위해 요구되는 데이터가 데이터 필드의 출력 이전에 데이터 큐(130)에서 성공적으로 검색 및 조립되는 한 이 동기 상태는 유지된다. 그러나, 필드 레이트가 높은 경우에는 출력 시점이전에 각 데이터 필드에서 완전한 데이터 필드가 검색 및 조립되지 못하는 상황이 자주 발생한다. 종래의 제조 기법에서는, 본 발명의 데이터 동기화 시스템을 사용하는 것과 같은 시스템은 불완전한 데이터 필드의 출력을 방지하기 위한 장치나 소프트웨어를 채용한다. 이 경우, 데이터 큐(130)의 증가가 완전한 데이터 필드가 조립되어 출력될 수 있을 때까지 중단된다. 데이터 큐(130)의 입력 슬롯(135)에서의 각 신규 데이터 필드의 생성에는 슬롯(146) 내의 데이터 필드의 출력과 데이터 큐(130) 내의 각 필드의 증가가 요구되므로, 연속된 데이터 큐가 증가하게 되면 데이터 큐(130) 내에서 각 신규 데이터 필드가 생성되는 것이 방지된다. 이로써 데이터 채널의 데이터 동기 상태가 일탈되고 데이터 큐(130)는 이상적 큐(101)와 더 이상적 대응하지 않는다.
본 발명의 중요한 측면에 따라, 데이터 큐(130)의 혼란에도 불구하고, 데이터 검색 프로세스의 영향을 받지 않는 이상적 큐(101)는 계속해서 필드 레이트로 데이터 필드를 생성하고 필드 위치를 통해 연속된 정확한 데이터 필드를 증가시킨다. 다시 말하면, 이상적 큐(101)와 데이터 큐(130) 사이의 동기 상태가 일시적으로 상실되더라도, 이상적 큐(101)의 동작은 계속 정확하고 필드 기준 큐는 유지되어 신규 데이터 필드가 입력에서 생성될 때마다 데이터 큐(130)를 재동기한다.
데이터 큐(130) 내의 필드에 대한 데이터의 검색 및 조립이 필요한 필드 레이트를 지속적으로 지체하는 동안에는, 데이터 큐(130)의 동작은 비록 동기는 맞지 않을지라도 계속된다. 데이터 큐(130)는 이상적 큐(101)의 슬롯(110)에서 생성된 현재의 정확한 입력 필드에 직접 대응하여 데이터 큐(130)의 슬롯(135)에서 다음 입력 데이터 필드를 생성함으로써 각 출력 필드가 완료 및 출력될 때 이상적 큐에 반복 동기화된다. 이러한 방식으로 2 개의 중요한 동작이 유지된다. 제 1 동작은 이상적 큐(101)를 통해 생성된 필드 시퀀스에서 정확한 기준을 유지하는 동작이다. 제 2 동작은 이상적 큐(101)의 기준 필드 시퀀스의 입력 필드에 대응하는 데이터 큐에서 입력 필드를 생성함으로써 데이터 큐(130) 상에서 동작하는 재동기화 동작이다.
일단 데이터 큐의 각 필드에서 데이터 검색 및 조립이 용이한 재생 모드나 다른 저속 모드로 시스템이 일단 복귀되면, 이상적 큐(101)가 기준을 제공하고 데이터 큐의 각 입력 필드로 주기적인 재동기가 인가되기 때문에 데이터 큐의 재동기 동작은 빠르다.
고속 재생, 역 재생, 저속 재생과 같은 필드 레이트의 변경에 대응한 데이터 스트림 동기화 시스템(100)의 동작은 전술한 바와 같다. 시청자 명령에 의하여 상이한 레이트 및 타임 코드 정보가 운동 제어기(80), 프로세서 유닛(82), 레이트 및 타임 코드 발생기(81)에 의해 생성되면, 이상적 큐(101)는 대응하는 정확한 필드 시퀀스를 설정하고 데이터 큐(130)는 이 필드 시퀀스를 따른다.
위에서 언급한 바와 같이, 데이터 입력 채널과 데이터 출력 채널에서 동작하는 본 발명의 데이터 스트림 동기화 시스템은 그 동작이 서로 사실상 동일하다. 따라서, 입력 데이터를 처리하는 데이터 스트림 동기화 시스템(150)의 동작은 데이터 스트림 동기화 시스템(100)의 동작과 사실상 동일하다. 다만, 데이터 스트림 동기화 시스템(150)의 이상적 큐(160)는 이상적 큐(101)에서의 전술한 운동 제어기(80)가 아닌 입력 제어(151)에 응답하여 제어된다는 점이 상이하다. 본 발명이 동작하는 전형적인 시스템에서, 메모리 어레이(15)에 저장하려고 하는 입력 데이터는 일반적으로 실시간 데이터 스트림의 형태로 제공된다. 다만, 다른 입력 레이트도 입력 채널에서 수용할 수 있다. 따라서, 입력 데이터 채널은 이 데이터 입력 소스로부터 데이터 필드를 수신하도록 기능하여 필드 구성 데이터를 메모리 어레이(15)로 적절히 전송한다. 따라서, 입력 제어(151)는 제어 입력(13 : 도1)으로서 제공되는 사용자 제어라기보다는 입력 데이터의 호스트 시스템 제어를 대표한다. 다만, 이상적 큐(160)로의 입력 정보가 레이트 및 타임 코드 정보를 포함한다는 점에서 기본 기능은 동일하다.
입력 제어(151)와 레이트 및 타임 코드 발생기(165)에 의해 제공되는 레이트 및 타임 코드 정보에 응답하여, 이상적 큐(160)는 대응하는 필드 시퀀스를 생성하고 이 필드 시퀀스는 입력(156)에서 클록(20)의 클록 신호에 따라 연속적으로 증가한다. 데이터 큐(190)는 이상적 큐(101)에 응답한 데이터 큐(130)의 동작에서 전술하였던 방식으로 이상적 큐(160)의 동작을 따른다. 데이터 큐(190)에서 생성된 각 데이터 필드는 이상적 큐(160)에서 현재 신규 생성된 필드에 대응한다. 데이터 큐(190)의 데이터 필드는 출력(155) 방향으로 데이터 큐를 통해 계속해서 증가한다.
문제가 발생하여 데이터 큐(190)가 데이터 필드의 출력 이전에 완전한 데이터 필드를 수신하지 못하는 경우, 데이터 큐(190)의 동작은 이상적 큐(160)에 대해 동기를 상실한다. 동기 상실에도 불구하고, 이상적 큐(160)는 계속 정확성을 유지하고, 데이터 큐(190)의 입력 슬롯(211)에서 각각의 신규 생성된 데이터 필드는 이상적 큐(160)의 입력 슬롯(181)에서 현재 신규 생성된 데이터 필드에 대응한다. 따라서, 데이터 큐(190)는 정상 동작 및 데이터 큐(190)와 이상적 큐(160) 사이의 동기가 상실된 수 동작 주기동안 이상적 큐(160)로 반복하여 재동기화된다. 데이터 큐(190)의 입력 필드에서의 이러한 재동기로 인해 데이터 큐(190)의 각 데이터 필드에서 입력 데이터가 적절히 수신되면 빠른 동기 복구가 용이해진다.
도2는 본 발명의 다른 실시예를 도시하며, 여기에서는 파선 커플링(157)이 데이터 스트림 동기화 시스템(150) 내의 이상적 큐(160)의 레이트 및 타임 코드 발생기(165)를 이상적 큐(101)의 제어 입력(106)에 접속시킨다. 이 선택적 접속에 의해, 입력 제어(151)는 동작하지 않게되고 이상적 큐(160)는 이상적 큐(101)와 직접 동기상태로 동작한다. 데이터 스트림 동기화 시스템(150)의 전술한 동작으로 인해, 데이터 큐(190)는 이상적 큐(160)로 동기되고 이는 다시 레이트 및 타임 코드 발생기(81)에 의해 제어된다. 다시 말하면, 커플링(157)에 의해, 이상적 큐(101, 160)는 단일 공통 이상적 큐의 형태로 동작한다. 결과적으로, 데이터 큐(130, 190)는 공통 이상적 큐에 응답하여 동작한다. 운동 제어기(80)와 레이트 및 타임 코드 발생기(81)를 통해 양 이상적 큐 모두 사용자 명령에 응답하므로, 입력 및 출력 데이터 채널은 사용자 명령에 의해 동기되고 공통으로 제어된다. 이 실시예의 한 가지 중요한 효과는 실시간 편집 기능(real time editing)을 제공할 수 있다는 점이다.
실시간 편집을 수행하기 위해, 비디오 시스템 등의 시스템은 입력 데이터가 재생 데이터에 적절히 동기될 것을 요구한다. 전형적으로, 편집자는 신규 데이터를 삽입하고자 하는 지점에 도달하기 위해 현재 재생중인 데이터 내에서 고속으로 이동한다. 이렇게 동작함으로써, 입력 데이터와 출력 데이터는 동기를 유지하면서 함께 이동한다. 따라서, 데이터의 임의의 지점에서, 운영자는 출력 데이터 채널의 데이터 대신 입력 데이터 채널의 신규 데이터를 삽입할 수 있다. 따라서, 본 발명에 따라, 출력 채널과 입력 채널의 이상적 큐(160, 101)를 공통으로 동작시킴으로써 이 동기를 유지시켜 용이하게 원하는 대로 입력 채널로부터 신규 데이터를 삽입할 수 있다. 결과적으로, 운영자 또는 편집자는 편집하고자 하는 데이터를 시청 및 이동하면서 고속 재생, 역 재생, 저속 재생을 수행할 수 있다. 편집자가 데이터를 삽입하고자 하는 위치가 지정되면, 편집자가 사용했던 고속 재생/역 재생의 레이트 변경에 자동 동기되었던 입력 데이터는 수용되고 입력과 출력 데이터 사이의 동기 관계는 지속된다.
당업자는 본 발명에 관하여 전술한 바로부터 각 데이터 큐에 개별적으로 이상적 큐를 사용함으로써 채널의 각각의 이상적 큐를 단순히 함께 접속시켜 모든 데이터 큐가 따를 "공통 이상적 큐"를 형성하게 되어 임의의 입출력 채널 조립이 사용자의 입력 명령을 따르도록 동기화된다는 점에서 시스템 동작에 많은 유연성이 생겼다는 것을 알 수 있다. 각 데이터 큐에 대하여 개별 이상적 큐에 의해 제공되는 유연성으로 인해 사실상 모든 채널 조립을 동기할 수 있어 다용도 장치 및 시스템을 용이하게 되었다.
다만, 주어진 시스템이 각 데이터 큐와 개별 이상적 큐의 접속에 의한 유연성을 요구하지 않는 경우에는, 본 발명의 시스템 구조는 시스템 내의 각각의 데이터 큐에 긴말하게 접속된 공통 이상적 큐를 제공함으로써 대폭 간략화될 수 있다. 이 구성에서, 각 데이터 큐는 공통 이상적 큐에 접속되어 이를 따른다. 이상적 큐는 데이터 필드 클록과 프로세서에 응답하여 제어되는데, 상기 프로세서는 도2에 대하여 기술하였던 방식으로 운영자로부터 제어 입력을 수신하고 이상적 큐 내의 필드 시퀀스를 결정한다.
도3은 본 발명의 데이터 동기화 시스템(220)의 간단한 실시예를 나타내는 블록도이다. 데이터 시스템(220)은 데이터 큐(240, 241, 242)를 구비한 복수의 데이터 출력 채널을 포함한다. 시스템(220)은 데이터 큐(243)를 사용하는 입력 채널을 더 포함한다. 메모리 제어기(224)는 데이터 큐(240, 241, 242)의 입력측에 접속된다. 메모리 제어기(224)는 데이터 큐(243)의 출력에도 접속된다. 메모리 제어기(224)는 메모리 어레이(225)에 접속된다. 데이터 큐(240, 241, 242)의 출력은 도1에서와 유사한 방식으로 각각의 데이터 출력 시스템(도시되지 않음)에 접속된다. 따라서, 데이터 큐(243)는 그 입력이 도1에서와 유사한 방식으로 입력 데이터 소스(도시되지 않음)에 접속된다.
본 발명에 따라, 이상적 큐(230)는 전술한 방식(도2)으로 데이터 큐(240 내지 243)에 밀접하게 접속된다. 이상적 큐(230)는 그 출력이 상태 정보 시스템(도시되지 않음)에 접속되고 그 입력이 프로세서(221)에 접속된다. 그리고, 프로세서(221)는 제어 입력(222)에 접속된다. 또한, 필드 레이트 클록(223)은 데이터 큐(230)에 접속된다.
동작의 면에서, 데이터 시스템(220)은 복수의 데이터 큐가 제어되어 공통 이상적 큐(230)에 밀접하게 접속되어 있다는 점에서 도1의 데이터 시스템(10)과는 상이하다. 이러한 방식에서, 각각의 데이터 큐에 대하여 개별적인 이상적 큐는 요구되지 않으며 데이터 큐 사이의 동기는 보장된다. 따라서, 데이터 시스템(220)에서는 도1 및 도2에서 도시된 실시예에서 채널당 개별 이상적 큐를 설정하여 얻었던 유연성은 부족한 반면, 시스템 동작이 간단하고 비용이 저감된다. 이 방식에서, 사용자는 보다 저가로 사용자의 동작 욕구를 만족시키면서 본 발명을 사용하는 시스템을 선택할 수 있다.
제어 입력(222)은 재생, 고속 재생, 역 재생, 정지 등의 사용자 입력을 프로세서(221)로 제공하며, 프로세서(221)는 대응하는 레이트 및 타임 코드 정보를 도2에 대해서 프로세서 유닛(82), 운동 제어기(80), 레이트 및 타임 코드 발생기(81)에 의했던 방식으로 이상적 큐(230)에 인가한다. 전술한 실시예의 동작과 보다 유사한 점으로, 이상적 큐(230)는 클록(223)이 제공하는 클록 신호에 의해 데이터 필드 레이트로 증가 또는 클록킹된다.
데이터 큐(240)는 전술한 방식으로 메모리 제어기(224)의 동작을 통해 메모리 어레이(225)로부터 각 데이터 필드에서 조립할 데이터를 수신한다. 전술한 시스템에 보다 대응하는 점으로, 데이터 큐(240)는 커플링(231)에 의해 이상적 큐(230)로 밀접하게 접속된다. 따라서, 데이터 쿠(240)에서 생성된 각 입력 필드는 이상적 큐(230)의 현재 입력 필드에 대응하여 형성된다. 데이터 큐(240)는 전술한 방식으로 이상적 큐(230)에 반복적으로 재동기화된다. 마찬가지로, 데이터 큐(241, 242)는 메모리 제어기(224)로부터 각각의 데이터 필드 내에서 조립될 데이터를 수신한다. 보다 유사한 점으로, 데이터 큐(241, 242)에서 생성된 각 입력 데이터 필드는 이상적 큐(230)에서 생성된 입력 데이터 필드에 직접 대응한다. 데이터 큐(241, 242)는 각각 커플링(232, 233)에 의해 이상적 큐(230)에 밀접하게 접속된다. 데이터 큐(240 내지 242)와 이상적 큐(230) 사이의 밀접한 접속에 의해, 각 데이터 큐는 증가되고 조립되어 데이터 큐로부터 시스템의 출력부(도시되지 않음)로 연속적으로 출력될 데이터 필드를 형성한다.
데이터 큐(243)는 입력 채널에 위치하여 입력 데이터 소스(도시되지 않음)로부터 데이터를 수신한다. 데이터 큐(243)는 또한 커플링(234)에 의해 이상적 큐(230)에 밀접하게 접속된다. 데이터 큐(243)의 출력은 메모리 제어기(224)를 통해 메모리 어레이(225)에 접속된다.
데이터 큐(240 내지 243) 각각은 이상적 큐(230)에 밀접하게 접속되어 있기 때문에, 데이터 큐의 동작은 이상적 큐(230)의 동작에 밀접하게 동기화된다. 그리고, 이상적 큐(230)는 사용자 입력에 응답하여 제어되고 데이터 큐(240 내지 243)는 전술한 방식으로 이상적 큐(230)를 따른다. 데이터 큐(240 내지 243)가 공통 이상적 큐에 응답하여 공통으로 제어되기 때문에, 필드 레이트가 크게 변경되고 필드 시퀀스 방향이 변경되더라도 각 데이터 큐 사이의 상호 동기(mutual synchronization)가 유지된다. 사실상, 이상적 큐(101, 160)가 커플링(157)에 의해 접속될 때 각 데이터 채널의 개별 이상적 큐가 도2에 기술된 방식으로 공통 접속되어 있다면 데이터 시스템(220)은 도1에 도시된 시스템(10)에서의 방식과 동일하게 동작한다.
당업자는 도 3은 실시예로서 제시된 것으로서 본 명세서에 설명된 본 발명의 실시예는 4 개의 데이터 큐와 하나의 이상적 큐를 사용한 것에 한정되지 않음은 명백하다. 오히려, 사실상 모든 개수의 데이터 큐를 공통 이상적 큐에 밀접하게 접속하여 도3의 시스템에 대하여 기술된 동작을 얻을 수 있다. 도3에 도시된 본 발명 실시예의 본질적인 특징은 각 데이터 큐와 공통 이상적 큐가 밀접하게 접속되어 있다는 점이다. 이에 의해, 입력 필드(입력 채널 또는 출력 채널)를 데이터 큐에 계속적으로 재동기(resynchronization)하여 본 발명 시스템의 효과적인 동작을 유지할 수 있다. 또한, 공통 이상적 큐를 사용함으로써 입력 및 출력 데이터 채널의 동기를 용이하게 하여 실시간 편집 등의 전술한 효과적인 동작을 얻을 수 있다.
본 명세서에서 개시된 것은 다중 메모리 어레이 처리 필드 구성 데이터를 위한 데이터 동기화 시스템으로서 필드 구성 데이터 큐와 필드 구성 이상적 큐를 구비한 데이터 스트림 동기화 시스템에 데이터 채널 처리에 독립적인 복수의 데이터가 제공된 시스템이다. 데이터 큐는 입력 큐의 현재 입력 데이터 필드에 따라 입력 데이터 필드를 생성함으로써 이상적 큐를 따르도록 구성된다. 시스템에서 데이터와 필드 레이트의 선택은 일련의 이상적 큐 내의 필드들을 제어하고 데이터 큐가 이상적 큐를 따르도록 함으로써 제공된다.
본 발명의 특정 실시예를 도시하고 설명하였지만, 당업자는 본 발명의 범위를 벗어나지 않고 본 발명을 변경 및 수정할 수 있음은 명백하다.

Claims (10)

  1. 복수의 필드들로 구성된 데이터 스트림을 처리하는데 사용되는 데이터 스트림 동기화 시스템으로서,
    필드 증가용 클록 신호들을 제공하는 클록과;
    동작 동안에 수신 또는 조립되는 데이터 스트림의 데이터의 선택을 일시적으로 유지하는 데이터 큐(data queue)와;
    상기 데이터 큐에서 수신된 데이터를 저장하거나 상기 데이터 큐에서 조립된 데이터를 검색하기 위한 메모리 수단을 구비한, 상기 데이터 스트림 동기화 시스템에 있어서,
    이상적 큐(ideal queue)로서, 제 1 입력 데이터 필드를 반복 생성하고 상기 필드 증가용 클록 신호들의 각각에 응답하여 각각의 연속 생성된 제 1 입력 데이터 필드를 상기 이상적 큐를 통해 점증적으로 전진(incrementally advancing)시킴으로써 제 1 일련(first succession)의 제 1 데이터 필드들을 형성하는, 상기 이상적 큐를 더 구비하며,
    상기 데이터 큐는 제 2 입력 데이터 필드를 반복 생성하고 각각의 연속 생성된 제 2 데이터 필드를 상기 데이터 큐를 통해 점증적으로 전진시킴으로써 제 2 일련(second succession)의 제 2 데이터 필드들을 형성하도록 배열되고,
    상기 제 2 입력 데이터 필드들의 각각은 상기 제 1 입력 데이터 필드들 중 병행(concurrent) 필드에 직접 대응하여 생성되며,
    상기 제 2 입력 데이터 필드들의 각각은 상기 점증적 전진 동안에 수신 또는 조립되는 데이터를 갖는 것을 특징으로 하는 데이터 스트림 동기화 시스템.
  2. 제 1 항에 있어서,
    상기 시스템은 복수의 데이터 큐들을 포함하고, 상기 데이터 큐들의 각각은 제 2 입력 데이터 필드를 반복 생성하고 각각 연속 생성된 제 2 데이터 필드를 상기 데이터 큐를 통해 점증적으로 전진시킴으로써 제 2 일련의 제 2 데이터 필드들을 형성하며,
    상기 데이터 큐들의 각각의 데이터 큐 내의 상기 제 2 입력 데이터 필드들의 각각의 병행 필드는 상기 제 1 입력 데이터 필드의 병행 필드에 직접 대응하여 생성되며,
    상기 데이터 큐들의 각각의 데이터 큐 내의 상기 제 2 입력 데이터 필드들의 각각은 상기 점증적 전진 동안에 수신 또는 조립되는 데이터를 갖는, 데이터 스트림 동기화 시스템.
  3. 제 1 항 또는 제 2 항에 있어서,
    제어 신호에 응답하여, 상기 데이터 스트림의 상기 복수의 필드들로부터 각각의 제 1 입력 데이터 필드를 선택하기 위한 제어 수단을 더 포함하는, 데이터 스트림 동기화 시스템.
  4. 제 3 항에 있어서,
    상기 제 1 입력 데이터 필드들의 각각은 필드 번호와 필드 레이트(field rate)를 포함하고,
    상기 제어 수단은 상기 제어 신호에 따라 상기 필드 번호와 상기 필드 레이트를 선택하는, 데이터 스트림 동기화 시스템.
  5. 제 3 항에 있어서,
    상기 데이터 스트림은 상기 메모리 수단 내에 저장된 데이터로 형성된 비디오 데이터이고,
    상기 제어 신호는 비디오 사용자에 의해 제공되는, 데이터 스트림 동기화 시스템.
  6. 복수의 데이터 필드들로 구성된 데이터 스트림을 동기화하는 방법으로서,
    주기적인 필드 클록 신호들을 제공하는 단계와;
    복수의 데이터 큐 데이터 필드들을 형성하는 단계와;
    상기 필드 클록 신호들에 응답하여 데이터 큐를 통해 상기 데이터 큐 데이터 필드들을 점증적으로 전진시키는 단계와;
    상기 데이터 큐 데이터 필드들이 상기 데이터 큐를 통해 점증적으로 전진함에 따라, 상기 데이터 큐 데이터 필드들 내의 상기 데이터 스트림의 선택된 부분들을 수신 또는 조립하는 단계를 포함하는, 상기 데이터 스트림 동기화 방법에 있어서,
    상기 필드 클록 신호들의 각각에 응답하여 이상적 데이터 필드(ideal data field)를 반복 생성함으로써 복수의 이상적 데이터 필드들을 형성하는 단계와;
    일련(succession)의 이상적 데이터 필드들을 형성하기 위해, 상기 필드 클록 신호들의 각각에 응답하여 각각의 연속 생성된 이상적 데이터 필드를 이상적 큐를 통해 점증적으로 전진시키는 단계를 더 포함하며,
    상기 복수의 데이터 큐 데이터 필드들을 형성하는 단계에서, 각각의 데이터 큐 데이터 필드는 상기 이상적 큐 데이터 필드들 중 병행 필드의 생성에 직접 대응하여 형성되는 것을 특징으로 하는 데이터 스트림 동기화 방법.
  7. 제 6 항에 있어서,
    상기 복수의 이상적 데이터 필드들을 형성하는 단계와 상기 복수의 데이터 큐 데이터 필드들을 형성하는 단계 각각은 N 개의 필드들을 갖는 큐를 형성하는 단계를 포함하고,
    상기 복수의 이상적 데이터 필드들을 점증적으로 전진시키는 단계와 상기 복수의 데이터 큐 데이터 필드들을 점증적으로 전진시키는 단계 각각은 일단 각각의 N번째 데이터 필드가 풀 상태(full)이면 각각의 클록 신호 상에서 N번째 데이터 필드를 출력하는 단계를 포함하는, 데이터 스트림 동기화 방법.
  8. 제 7 항에 있어서,
    상기 선택된 부분들을 수신 또는 조립하는 단계는 외부 소스로부터 상기 데이터 스트림을 수신하는 단계를 포함하고,
    상기 N번째 데이터 필드를 출력하는 단계는 메모리 내에 상기 N번째 데이터 필드를 저장하는 단계를 포함하는, 데이터 스트림 동기화 방법.
  9. 제 6 항 내지 제 8 항 중 어느 한 항에 있어서,
    데이터 필드 출력 레이트를 나타내는 제어 신호를 수신하는 단계를 더 포함하며,
    상기 복수의 이상적 데이터 필드들을 형성하는 단계는,
    상기 제어 신호에 응답하여 상기 데이터 스트림으로부터, 출력될 데이터 큐 데이터 필드들의 시퀀스를 선택하는 단계와;
    상기 선택된 시퀀스에 따라 상기 새로운 이상적 데이터 필드들의 각각을 생성하는 단계를 포함하는, 데이터 스트림 동기화 방법.
  10. 제 9 항에 있어서,
    상기 제어 신호는 필드 레이트와 데이터 스트림 위치 정보를 포함하는, 데이터 스트림 동기화 방법.
KR1019970708226A 1996-03-18 1997-03-10 데이터스트림동기화시스템및데이터스트림동기화방법 Expired - Fee Related KR100471010B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/616,950 1996-03-18
US08/616,950 US5917482A (en) 1996-03-18 1996-03-18 Data synchronizing system for multiple memory array processing field organized data
US08/616,950 1996-03-18

Publications (2)

Publication Number Publication Date
KR19990014881A KR19990014881A (ko) 1999-02-25
KR100471010B1 true KR100471010B1 (ko) 2005-06-29

Family

ID=24471664

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970708226A Expired - Fee Related KR100471010B1 (ko) 1996-03-18 1997-03-10 데이터스트림동기화시스템및데이터스트림동기화방법

Country Status (6)

Country Link
US (1) US5917482A (ko)
EP (1) EP0827656B1 (ko)
JP (1) JP4334018B2 (ko)
KR (1) KR100471010B1 (ko)
DE (1) DE69729152T2 (ko)
WO (1) WO1997035400A2 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8079953B2 (en) * 1996-06-17 2011-12-20 Cybernet Systems Corporation General-purpose medical instrumentation
US6160548A (en) * 1997-04-15 2000-12-12 Lea; Christopher B. Method and mechanism for synchronizing hardware and software modules
KR100499055B1 (ko) * 1999-12-30 2005-07-04 주식회사 케이티 외부 파일을 이용한 데이터베이스 필드 입력값 검증 방법
KR100501903B1 (ko) * 1999-12-30 2005-07-25 주식회사 케이티 데이터베이스 필드별 입력값 정의 파일을 효율적으로사용하기 위한 메모리 구조 설정 방법
US20030095447A1 (en) * 2001-11-20 2003-05-22 Koninklijke Philips Electronics N.V. Shared memory controller for display processor
DE10159180B4 (de) * 2001-11-30 2011-07-14 Qimonda AG, 81739 Speichervorrichtung und Verfahren zum Speichern und zum Auslesen von Datenströmen
US7926080B2 (en) 2002-11-07 2011-04-12 Microsoft Corporation Trick mode support for VOD with long intra-frame intervals
US7454537B1 (en) * 2004-04-22 2008-11-18 Altera Corporation Synchronization and channel deskewing circuitry for multi-channel serial links
US7797720B2 (en) * 2004-10-22 2010-09-14 Microsoft Corporation Advanced trick mode
US7526930B2 (en) * 2005-04-22 2009-05-05 Schlumberger Technology Corporation Method system and program storage device for synchronizing displays relative to a point in time
US8126932B2 (en) * 2008-12-30 2012-02-28 Oracle International Corporation Indexing strategy with improved DML performance and space usage for node-aware full-text search over XML
CN104125163B (zh) * 2013-04-25 2020-04-07 腾讯科技(深圳)有限公司 一种数据处理方法、装置及终端
WO2018203905A1 (en) * 2017-05-04 2018-11-08 Siemens Aktiengesellschaft Subscription handling and in-memory alignment of unsynchronized real-time data streams

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2683966B1 (fr) * 1991-11-20 1998-06-05 Jacques Guichard Procede de synchronisation du circuit de balayage d'un appareil de visualisation d'images.
US5442390A (en) * 1993-07-07 1995-08-15 Digital Equipment Corporation Video on demand with memory accessing and or like functions
US5467139A (en) * 1993-09-30 1995-11-14 Thomson Consumer Electronics, Inc. Muting apparatus for a compressed audio/video signal receiver
US5642171A (en) * 1994-06-08 1997-06-24 Dell Usa, L.P. Method and apparatus for synchronizing audio and video data streams in a multimedia system
US5559999A (en) * 1994-09-09 1996-09-24 Lsi Logic Corporation MPEG decoding system including tag list for associating presentation time stamps with encoded data units
US5751280A (en) * 1995-12-11 1998-05-12 Silicon Graphics, Inc. System and method for media stream synchronization with a base atom index file and an auxiliary atom index file

Also Published As

Publication number Publication date
WO1997035400A3 (en) 1997-10-23
EP0827656B1 (en) 2004-05-19
DE69729152D1 (de) 2004-06-24
DE69729152T2 (de) 2004-09-16
US5917482A (en) 1999-06-29
JPH11507188A (ja) 1999-06-22
WO1997035400A2 (en) 1997-09-25
KR19990014881A (ko) 1999-02-25
JP4334018B2 (ja) 2009-09-16
EP0827656A2 (en) 1998-03-11

Similar Documents

Publication Publication Date Title
KR100471010B1 (ko) 데이터스트림동기화시스템및데이터스트림동기화방법
EP0394939B1 (en) Program transmission system and method
US5060068A (en) Audio/video distribution system
EP1400114B1 (en) Efficient transmission and playback of digital information
US5801685A (en) Automatic editing of recorded video elements sychronized with a script text read or displayed
US8015480B2 (en) System and method for media stream indexing and synchronization
US6965724B1 (en) Trick-play modes for pre-encoded video
US5838301A (en) Still picture reproduction system that allows skip
JP2584537B2 (ja) 複数個のビデオ信号記録および再生制御システム
EP0469850A2 (en) Method and apparatus for pre-recording, editing and playing back presentations on a computer system
JPH07272404A (ja) ビデオデータ蓄積方式
US6198873B1 (en) Editing system and video signal output system
US4673981A (en) Unrecordable video signals
EP0671105B1 (en) Multiple program digital playback system and method
KR100581156B1 (ko) 영상 신호 재생을 위한 장치 및 방법
US20030219238A1 (en) Frame conversion apparatus and frame conversion method
US6934465B1 (en) Audio and/or video data recording and reproducing apparatus and method of same
US6598101B1 (en) Recording apparatus and recording method, and reproducing apparatus and reproducing method
KR0123756B1 (ko) 이전화면탐색기능을 갖는 영상신호수신장치
US6137944A (en) Image recording/reproducing apparatus
US7116890B2 (en) Image recording and reproducing apparatus and image recording and reproducing method
JP2004336668A (ja) 字幕作成用管理サーバおよび分散型字幕番組制作システム
JPH07240725A (ja) 情報提供方法及び装置
KR970005657B1 (ko) 멀티 하드디스크를 이용한 비트스트림 발생장치
KR20180028417A (ko) 360도 영상 재생장치

Legal Events

Date Code Title Description
PA0105 International application

St.27 status event code: A-0-1-A10-A15-nap-PA0105

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

PG1501 Laying open of application

St.27 status event code: A-1-1-Q10-Q12-nap-PG1501

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

A201 Request for examination
P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

PA0201 Request for examination

St.27 status event code: A-1-2-D10-D11-exm-PA0201

N231 Notification of change of applicant
PN2301 Change of applicant

St.27 status event code: A-3-3-R10-R13-asn-PN2301

St.27 status event code: A-3-3-R10-R11-asn-PN2301

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

St.27 status event code: A-1-2-D10-D21-exm-PE0902

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

R17-X000 Change to representative recorded

St.27 status event code: A-3-3-R10-R17-oth-X000

T11-X000 Administrative time limit extension requested

St.27 status event code: U-3-3-T10-T11-oth-X000

P11-X000 Amendment of application requested

St.27 status event code: A-2-2-P10-P11-nap-X000

P13-X000 Application amended

St.27 status event code: A-2-2-P10-P13-nap-X000

R18-X000 Changes to party contact information recorded

St.27 status event code: A-3-3-R10-R18-oth-X000

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

St.27 status event code: A-1-2-D10-D22-exm-PE0701

GRNT Written decision to grant
PR0701 Registration of establishment

St.27 status event code: A-2-4-F10-F11-exm-PR0701

PR1002 Payment of registration fee

St.27 status event code: A-2-2-U10-U12-oth-PR1002

Fee payment year number: 1

PG1601 Publication of registration

St.27 status event code: A-4-4-Q10-Q13-nap-PG1601

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 4

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 5

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 6

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 7

FPAY Annual fee payment

Payment date: 20120201

Year of fee payment: 8

PR1001 Payment of annual fee

St.27 status event code: A-4-4-U10-U11-oth-PR1001

Fee payment year number: 8

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R11-asn-PN2301

PN2301 Change of applicant

St.27 status event code: A-5-5-R10-R14-asn-PN2301

LAPS Lapse due to unpaid annual fee
PC1903 Unpaid annual fee

St.27 status event code: A-4-4-U10-U13-oth-PC1903

Not in force date: 20130202

Payment event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

PC1903 Unpaid annual fee

St.27 status event code: N-4-6-H10-H13-oth-PC1903

Ip right cessation event data comment text: Termination Category : DEFAULT_OF_REGISTRATION_FEE

Not in force date: 20130202

R18-X000 Changes to party contact information recorded

St.27 status event code: A-5-5-R10-R18-oth-X000