KR19990077473A - Mpeg시스템에서다수의시스템타임클록을선택적독립적으로또는동시에갱신하는방법및시스템 - Google Patents

Mpeg시스템에서다수의시스템타임클록을선택적독립적으로또는동시에갱신하는방법및시스템 Download PDF

Info

Publication number
KR19990077473A
KR19990077473A KR1019990006251A KR19990006251A KR19990077473A KR 19990077473 A KR19990077473 A KR 19990077473A KR 1019990006251 A KR1019990006251 A KR 1019990006251A KR 19990006251 A KR19990006251 A KR 19990006251A KR 19990077473 A KR19990077473 A KR 19990077473A
Authority
KR
South Korea
Prior art keywords
register
address
counter
counter register
stc
Prior art date
Application number
KR1019990006251A
Other languages
English (en)
Other versions
KR100296733B1 (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 KR19990077473A publication Critical patent/KR19990077473A/ko
Application granted granted Critical
Publication of KR100296733B1 publication Critical patent/KR100296733B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/24Systems for the transmission of television signals using pulse code modulation
    • H04N7/52Systems for transmission of a pulse code modulated video signal with one or more other pulse code modulated signals, e.g. an audio signal or a synchronizing signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43074Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of additional data with content streams on the same device, e.g. of EPG data or interactive icon with a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4305Synchronising client clock from received content stream, e.g. locking decoder clock with encoder clock, extraction of the PCR packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

본 발명은 다수의 시스템 타임 클록(system time clock: STC)을 선택으로 개별 갱신하거나 다수의 시스템 타임 클록을 동시에 갱신하는 방법, 시스템 및 컴퓨터 프로그램 제품에 관한 것이다. 시스템 타임 클록의 개별적인 갱신이나 동시 갱신은 어드레스를 갱신 가능한 어드레스 레지스터 필드 내의 시스템 타임 클록으로 선택적으로 조정함으로써 수행된다. 제1 어드레스 값은 제1 STC 레지스터와 관련된 제1 어드레스 레지스터로 공급되고, 제2 어드레스 값은 제2 STC 레지스터와 관련된 제2 어드레스 레지스터로 공급된다. 제1 어드레스 값과 제2 어드레스 값이 다른 경우에 제1 STC 레지스터와 제2 STC 레지스터가 독립적으로 갱신되고, 반면에 제1 어드레스 값과 제2 어드레스 값이 공통 어드레스 값을 포함하는 경우에 동시에 갱신된다. 이 기술은 갱신될 임의의 클록 수에 대해서도 외삽법으로 추정될 수 있다.

Description

MPEG 시스템에서 다수의 시스템 타임 클록을 선택적 독립적으로 또는 동시에 갱신하는 방법 및 시스템 {METHOD AND SYSTEM FOR SELECTIVELY INDEPENDENTLY OR SIMULTANEOUSLY UPDATING MULTIPLE SYSTEM TIME CLOCKS IN AN MPEG SYSTEM}
본 발명은 압축해제(decompression) 및 재생(playback) 중에 오디오 및 비디오 디지털 데이터를 동기시키는 것에 관한 것으로서, 보다 구체적으로, MPEG 복호화 시스템(decode system)의 비디오 및 오디오 복호화 유닛(unit)의 독립적인 시스템 타임 클록(system time clock)을 선택적으로 동기시키는 기술에 관한 것이다.
여러 개의 오디오, 비디오 및/또는 보조 데이터 소스로부터의 비트스트림(bitstream)을 다중화하기 위하여 공통적인 표준이 계속 발전되고 있다. 국제 표준화 기구의 동화상 전문가 그룹(ISO Moving Picture Experts Group: ISO MPEG)에 의해 개발된 이러한 표준은 "Coding of Moving Pictures and Associated Audio" (ISO/IEC Copyright Office 발행, ISO/IEC 13818, 제네바, 스위스)라는 제목의 문헌에 초안 형태로 기재되어 있고, 본 명세서에 참조되어 본 발명의 일부를 이룬다. MPEG 표준은 디지털 데이터를 다수의 패킷(packet)으로 분할함으로써 다수의 신호 소스로부터 디지털 정보를 전송한다. 또한, 패킷은 단일 데이터 채널로 다중화되어, 비교적 많은 사용자가 공통 데이터 채널을 통하여 데이터를 전송할 수 있다.
공통 트랜스포트 스트림 신택스(common transport stream syntax)는 MPEG-2 오디오-비디오 부호화 표준에 필요하다. 주어진 데이터 채널 내에 반송되는 모든 오디오, 비디오 및 보조 정보는 188 바이트 길이의 트랜스포트 패킷으로 분할된다. 각 트랜스포트 패킷은 헤더와 사용자 정보(payload)로 세분된다. 헤더는 사용자 정보 내에 반송되는 데이터 형태를 식별하기 위한 정보와 트랜스포트 패킷 스트림을 복호하는데 필요한 정보를 반송한다. 본 발명에서 중요한 점은 프로그램 클록 참조(program clock reference: PCR) 값이 존재한다는 것이다. PCR은 MPEG-2 부호기(encoder) 내에 있는 상대적인 시스템 타임 클록(system time clock: STC)으로부터의 타임 참조(time reference)를 나타내는 42-비트 값이다. 42 비트 중, 상위 33 비트는 "PCR 기준(base)"으로 참조되어, 90 KHz 타임 기준 유닛에서 부호기 시스템 타임 클록의 값을 표시한다. PCR 값의 나머지 9 비트는 "PCR 확장(extension)"으로 참조되어, 27 MHz 타임 기준 유닛에서 시스템 타임 클록의 값을 표시한다. MPEG-2 표준은 PCR이 트랜스포트 스트림에서 단지 100 ms의 간격(interval)으로 제공될 것을 요구한다.
MPEG-2 트랜스포트 스트림 내의 PCR 값은 MPEG-2 복호기(decoder)에서 부호기 클록을 정확하게 회복시키는데 사용된다. 오디오 및 비디오 데이터를 적절히 분리하고 복호하기 위하여 데이터를 부호화하는데 사용되는 부호기 클록과 데이터를 복호하는데 사용되는 복호기 클록 사이에 정확한 비율 매칭(rate matching)을 유지할 필요가 있다. 개개의 오디오 및 비디오 스트림은 비디오 및 오디오 데이터의 개별 프레임을 사용자에게 언제 제공할 것인가를 MPEG-2 복호기에게 표시하기 위하여 프리젠테이션 타임-스탬프(presentation time-stamp: PTS)와 함께 제공된다. 각 PTS 값은 결국 MPEG-2 부호기 내의 시스템 타임 클록인 부호기 클록의 주파수에 의해 지정된다. 데이터를 부호화하는 경우에 MPEG-2 부호기는 시스템 타임 클록의 표본(sample)에 기초하여 PTS를 PES 스트림 내로 삽입한다. 따라서, 데이터가 사용자에게 정확하게 제공되려면 복호기가 부호기 클록과 동일한 주파수로 동작하여야 한다. 이러한 이유로, 부호기 클록과 복호기 클록 사이의 비율 매칭은 두 클록이 동일한 주파수에서 동작하지만 두 클록 사이에 적당한 위상 오프셋을 갖는다는 것을 의미한다.
부호기와 복호기 클록에서의 차이로 인하여 프레임 스킵(frame skip) 또는 프레임 홀드(frame hold)가 발생될 것이다. 예를 들면, 부호기 클록이 27 MHz보다 약간 작은 주파수에서 동작하고 복호기 클록이 27 MHz보다 약간 큰 주파수에서 동작하는 경우, 결국 각 클록에 의해 나타난 상대적인 시간은 오디오 또는 비디오 데이터의 한 프레임을 표시하는데 걸리는 시간과 같은 시간만큼 분리될 것이다. 대부분의 비디오 복호기에서, 한 프레임의 시간 차이는 프레임 스킵이나 프레임 홀드를 발생하기에 충분한 시간이다. 상대적으로 서로 가까운 주파수 내에서 동작하는 클록조차도 결국 시청자를 성가시게 하는 조건임이 분명한 프레임 스킵이나 프레임 홀드를 충분히 발생시키도록 변할 것이다.
복호기 클록을 부호기 클록에 동기시키기 위하여 MPEG-2 표준은 특정 클록 회복 시스템을 구현하는데 PCR 값을 사용할 것을 제안하고 있다. 그러나, 제안된 회복 시스템을 구현하기가 어렵다는 것이 증명되었다. 제안된 MPEG-2 하드웨어 구조의 비용 지출을 피하기 위한 여러 가지 시도가 행해지고 있다. 예를 들면, MPEG-2 복호기가 소프트웨어 루틴(software routine)만을 사용하여 부호기 클록을 회복하도록 개발되었다. 통상적인 소프트웨어 해결책(solution)에서는 트랜스포트 스트림 패킷이 수신되는 대로 커다란 메모리 버퍼 내에 저장된다. 따라서, 트랜스포트 패킷 내의 PCR은 메모리로부터 재현(recall)된 후 마이크로프로세서에 의해 유지되는 STC와 비교된다. 그러나, 소프트웨어 루틴이 PCR을 처리하는 시간만큼 PCR과 고유하게 관련된 시간 감지(time sense)가 되지 않기 때문에 부호기 클록을 회복하기 위한 소프트웨어 방법 또한 성공적이지 못하다고 판명되었다.
클록 회복을 위하여 MPEG-2에 의해 제안된 하드웨어 해결책을 구현하는데에 있어서의 문제점 및 소프트웨어 해결책만을 사용하여 클록을 회복시키는데 있어서의 고유한 타이밍(timing) 문제 때문에 다수의 MPEG-2 복호기가 클록 회복을 앞설 것을 선택한다. 이러한 해결책은 부호기 클록이 27 MHz에 가깝게 유지된다는 가정 하에 복호기에서 정확한 27 MHz 클록을 유지하는 것에 초점이 맞춰진다. 그러나, 전술한 바와 같이, 부호기 클록과 복호기 클록사이에 작은 차이라도 결국 복호기 버퍼에서 언더플로(underflow)나 오버플로(overflow)를 발생시킬 것이다. 따라서, PCR 값을 동기시키지 않고 동작하도록 시도된 해결책은 버퍼 오동작, 프레임 홀드, 프레임 스킵, 및 이와 유사한 변형(anomaly) 등의 문제점이 있다.
여기에 개시된 클록 회복 시스템은 독립적으로 갱신될 수 있는 개별적인 STC 레지스터를 제공함으로써 상기 문제를 극복하는 것에 관한 것이며, 또한 필요한 경우 단일 기록 액세스로 다수의 STC 레지스터를 동시에 갱신하는 편리한 수단을 제공하는 것에 관한 것이다. 또한, 여기에 나타난 개념이 MPEG 복호화 시스템의 오디오 및 비디오 복호기에 대하여 설명되더라도, 독립적이지만 동기될 수 있는 특성이 필요한 임의의 2개 이상의 카운터를 갱신하는데 이러한 개념을 적용할 수 있다.
도 1은 본 발명의 개념을 사용한 디지털 부호화/복호화 시스템의 도면이고,
도 2는 내장된 프로그램 클록 참조(PCR) 값과 프리젠테이션 타임 스탬프(PTS) 값을 나타내는 MPEG-2 트랜스포트 스트림 신택스의 도면이고,
도 3은 본 발명에 따라 클록 회복을 구현하는 MPEG 복호화 시스템의 일 실시예의 블록도이고,
도 4는 도 3의 비디오 복호기와 오디오 복호기에 대하여 본 발명에 따른 다수의 STC 레지스터 및 관련 갱신 가능한 어드레스 레지스터의 하드웨어 도면이고,
도 5a 및 5b는 본 발명의 원리에 따라 각각 STC 레지스터를 독립적으로 갱신하는 실시예의 처리 순서도 및 STC 레지스터를 동시에 갱신하는 처리 실시예의 처리 순서도이다.
간단하게 기술하면, 제1 특징(aspect)으로 본 발명은 제1 어드레스 값을 제1 카운터 레지스터와 관련된 제1 어드레스 레지스터에 공급하고, 제2 어드레스 값을 제2 카운터 레지스터와 관련된 제2 어드레스 레지스터에 공급하는 단계; 및 제1 어드레스 값과 제2 어드레스 값이 동일한지 다른지에 따라 제1 카운터 레지스터에서의 제1 카운트 값과 제2 카운터 레지스터에서의 제2 카운트 값을 독립적으로 갱신하거나 동시에 갱신하는 것 중 하나를 수행하는 단계를 포함하는 다수의 레지스터를 갱신하는 방법을 포함한다.
다른 특징으로, 본 발명은 다수의 레지스터를 갱신하는 방법을 포함한다. 이 방법은 다수의 기록 액세스를 사용하여 다수의 레지스터에 대한 개별적인 갱신을 주기적으로 기록하는 단계; 및 다수의 레지스터 내의 값을 동기시키기 위하여 다수의 레지스터에 대한 단일 기록 액세스를 사용하여 다수의 레지스터 각각에 대하여 공통적인 갱신을 선택적으로 동시에 기록하는 단계를 포함한다.
또 다른 특징으로, 본 발명은 제1 카운터 레지스터 및 관련 제1 어드레스 레지스터와, 제2 카운터 레지스터 및 관련 제2 어드레스 레지스터를 포함하는 다수의 레지스터를 갱신하는 방법을 포함한다. 이 방법은 제1 카운터 레지스터와 제2 카운터 레지스터를 개별적으로 갱신 기록하여 제1 카운터 레지스터와 제2 카운터 레지스터를 독립적으로 갱신하는 단계; 제1 어드레스 레지스터와 제2 어드레스 레지스터 중 적어도 하나의 레지스터를 선택적으로 기록하여 제1 어드레스 레지스터와 제2 어드레스 레지스터가 공통 어드레스를 포함하도록 하는 단계; 및 다음으로, 제1 어드레스 레지스터와 제2 어드레스 레지스터가 공통 어드레스를 포함하는 경우에 제1 카운터 레지스터와 제2 카운터 레지스터를 동시에 갱신하는 단계를 포함하며, 동시에 갱신하는 단계는 제1 카운터 레지스터와 제2 카운터 레지스터 내의 값을 동기시킨다.
또 다른 특징으로, 본 발명은 제1 카운터 레지스터와 제1 카운터 레지스터를 어드레싱하기 위한 제1 어드레스 값을 갖는 관련 제1 어드레스 레지스터, 및 제2 카운터 레지스터와 제2 카운터 레지스터를 어드레싱하기 위한 제2 어드레스 값을 갖는 관련 제2 어드레스 레지스터를 포함하는 다수의 레지스터 시스템을 포함한다. 이 시스템은 또한 제1 어드레스 레지스터 내의 제1 어드레스 값과 제2 어드레스 레지스터 내의 제2 어드레스 값에 따라 제1 카운터 레지스터 내의 제1 카운트 값과 제2 카운터 레지스터 내의 제2 카운트 값에 대한 개별적인 갱신 또는 동시 갱신을 수행하는 제어기를 포함한다.
또 다른 특징으로, 본 발명은 제1 카운터 레지스터와 제1 카운터 레지스터를 어드레싱하기 위한 제1 갱신 가능 어드레스 값을 갖는 제1 어드레스 레지스터, 및 제2 카운터 레지스터와 제2 카운터 레지스터를 어드레싱하기 위한 제2 갱신 가능 어드레스 값을 갖는 제2 어드레스 레지스터를 포함하는 다수의 클록 시스템을 포함한다. 이러한 시스템은 또한 제1 갱신 가능 어드레스 값과 제2 갱신 가능 어드레스 값이 다른 경우에 제1 카운터 레지스터와 제2 카운터 레지스터를 개별적으로 갱신 기록하고, 제1 갱신 가능 어드레스 값과 제2 갱신 가능 어드레스 값이 동일한 경우에 제1 카운터 레지스터와 제2 카운터 레지스터를 동시에 갱신 기록하는 제어기를 포함한다.
컴퓨터 판독 가능 프로그램 코드 수단을 갖는 컴퓨터 사용 가능 매체를 포함하는 제조물 및 컴퓨터 프로그램 제품(computer program product)이 또한 기술되고 청구되며 이러한 제조물 및 컴퓨터 프로그램 제품은 상기 간략하게 기술된 방법 및 시스템에 따라서 다수의 레지스터를 갱신한다.
바람직하게, 본 발명은 모든 태양에서 제어기가 다른 오프셋 값으로 개별적으로 기록하거나 같은 값으로 공통적으로 기록하여 다수의 시스템 타임 클록(예를 들어, MPEG 복호화 시스템의 오디오 및 비디오 복호기 내에 위치함)을 선택적으로 갱신할 수 있는 기술을 포함한다. STC 값이 공유되는 경우에 이 기술은 각 클록이 동일한 값을 포함한다는 것을 보증하고, STC 값이 개별적으로 갱신되는 경우 다른 오프셋이 제공될 수 있다. STC 어드레스를 갱신 가능한 레지스터 필드로 한정함으로써 선택(selectivity)이 수행된다. 이러한 원리는 어떤 상황하에서 독립될 필요가 있고 다른 상황하에서 공통 값을 가질 필요가 있는 임의의 레지스터 그룹으로 확장될 수가 있다.
본 발명의 이러한 목적, 이점 및 특징과 기타 목적, 이점 및 특징은 첨부된 도면을 참조하여 이하의 바람직한 실시예에 대한 상세한 설명으로부터 가장 잘 이해될 수 있다.
MPEG 모델이 오디오 및 비디오 복호기에 의해 사용된 STC 값이 동일하여야 한다는 것을 나타내더라도, STC 값을 개별적으로 유지하는 것이 바람직한 상황, 예를 들어, 사용자에게 감지된 출력과 STC/PTS의 비교로부터 대기 시간(latency)의 오프셋을 보상하기 위하여 STC를 개별적으로 유지하는 것이 바람직한 상황이 있다. 이상적으로, 오디오 및 비디오 복호기에 대한 STC 레지스터가 공통으로 공유(common sharing)되도록 하고, 개별적인 오프셋이 가능하도록 오디오 및 비디오 복호기에 대한 독립적인 STC 레지스터가 가능하도록 하는 클록 회복 시스템을 제공하는 것이 유리할 것이다. STC가 공유되는 경우에 각 복호기가 동일한 값을 가지는 것은 보증할 수 있지만, 오프셋을 수용하기 위한 유연성은 제거된다. 이에 반해서, 독립적인 STC 레지스터가 제공되는 경우에 레지스터가 소프트웨어를 통하여 초기에 로드(load)되고, 레지스터 갱신(update) 사이의 시간에서 예측할 수 없는 지연이 있을 수 있기 때문에 레지스터가 동일한 카운트(count)를 갖는지 여부가 불명확하다. 또한, 공통 라이브러리(common library)에서 사용할 일반적인 복호기를 설계하는 경우에, 하나의 매크로(macro)는 다른 복호기에 의해 제공될 STC 카운터 값을 필요로 하는 것과 같이, 다른 매크로에 대하여 기능적으로 의존되어서는 안된다.
일반적으로 말하자면, 본 발명은 다수의 클록 레지스터가 개별적으로 유지될 수 있지만, 필요한 경우 동시에 갱신될 수 있는 부호화/복호화 시스템(encode/decode system)에 대한 통합 설계를 제공한다. 예를 들면, 통합 설계 시스템 내의 모든 오디오 및 비디오 복호화 매크로는 호스트 프로세서에 의해 독립적으로 갱신될 수 있는 시스템 타임 클록(system time clock: STC)을 갖는다. 본 발명에 따라서, 이러한 STC 레지스터는 또한 각 복호기의 STC 레지스터에 대한 기록 어드레스(write address)가 수정되도록 하는 레지스터 필드와 관련된 어드레스를 갖는다. 보다 넓게, 이러한 개념은 어떤 상황하에서는 독립적일 필요가 있고 다른 상황하에서는 아직 동기될 필요가 있는 임의의 레지스터 그룹에 적용될 수 있다. 도 1 내지 도 5b는 MPEG 압축/복원 동작에 적용된 일반적인 개념에 대한 하나의 실시예를 나타낸다.
STC 레지스터가 단일 개체(single entity)로 설명되는 동안에 STC 값은 실제로 33-비트이고, 따라서 대부분의 시스템에서 다수의 기록 동작을 필요로 한다는 것에 유의하여야 한다. 그러나, 기록 동작이 일반적으로 연속적이고 카운터가 마지막 기록 동작까지 갱신되지 않기 때문에, STC 기록은 단순하게 단일 이벤트로 간주될 수 있다.
도 1에서, 부호화/복호화 시스템(100)은 네트워크 또는 저장 시설(105)을 통하여 트랜스포트 스트림(transport stream)을 수신기(receiver, 120)로 보내는 송신기(transmitter, 110)를 포함한다. 송신기(110)는 각각의 MPEG 비디오 및 오디오 부호기(130, 135)에서 부호화되는 디지털화되고 압축되지 않은 비디오(비디오 1...비디오 n) 및 오디오(오디오 1...오디오 m)로 구성된 다수의 스트림을 포함한다. 압축된 데이터의 결과적인 스트림은 네트워크(105)를 통하여 전송하기 위한 트랜스포트 스트림으로 다중화기(multiplexer, 140)에 의해 다중화된다. 신호가 수신기에서 재구성된 후 특정 비디오 프레임이나 오디오 프레임이 재생될 시간을 표시하기 위하여 프리젠테이션 타임 스탬프(presentation time stamps: PTSs)가 버퍼(150)에 추가된다. 각 스트림 형태에 대한 PTS 값은 시스템 타임 클록(STC, 170)으로부터 생성되고 결과적으로 서로에 관하여 동기된다. 시스템 타임 클록(170)은 로컬 27 MHz 신호(160)에 의해 구동된다. 또한, 수신기의 STC가 STC(170)를 모방하거나 재현하도록 하기 위하여 프로그램 클록 참조(program clock reference: PCR)가 다중화기(140)에서 트랜스포트 스트림 안으로 삽입된다.
트랜스포트 스트림을 수신하는 복호화 시스템(120)은 MPEG 표준에 따라 처리하기 위하여 비디오 데이터, 오디오 데이터, 시스템 클록 정보 및 기타 시스템 데이터를 분리하는 분리 기능(demultiplex function, 200)을 포함한다. 시스템 클록 정보는 비디오 복호기(210)와 오디오 복호기(220)로 시스템 타임 클록을 제공하는 STC 발생기(205)로 보내진다. 비디오 복호기(210)는 비디오 버퍼(212), 복호화 유닛(214) 및 STC/PTS 비교 로직(216)을 포함한다. 마찬가지로, 오디오 복호기(220)는 오디오 버퍼(222), 오디오 복호화 유닛(224) 및 STC/PTS 비교 로직(226)을 포함한다. 압축되지 않은 비디오 데이터와 압축되지 않은 오디오 데이터는 사용자에게 표시하기 위하여 비디오 복호기(210)와 오디오 복호기(220)로부터 각각 출력된다.
도 2는 MPEG 오디오-비디오 부호화 표준에서 필요한 트랜스포트 스트림 신택스(transport stream syntax)를 도시한다. 기본적인 트랜스포트 스트림(300)은 다수의 오디오나 비디오 액세스 유닛(310)을 포함한다. 기본 스트림을 구성하는 이러한 액세스 유닛들은 트랜스포트 스트림 내에서 송신기로부터 수신기로 제공된다. 부호화된 비디오 및 오디오 데이터의 이러한 연속적인 스트림 내에 "패킷화된 기본 스트림(packetized elementary stream: PES)" 층이라 하는 제1층이 있으며, 이 PES 층은 다수의 PES 패킷(320)으로 이루어진다. 이러한 PES 패킷은 헤더 정보(HDR information)와 사용자 정보(payload)를 포함한다. 헤더는 패킷 내에 반송되는 데이터의 형태를 식별하는 정보와 트랜스포트 패킷 스트림을 복호하는데 필요한 정보를 반송한다. 프리젠테이션 타임 스탬프(PTS)는 도시된 바와 같이 PES 헤더 레벨에서 송신기에 의해 삽입된다. 이러한 PTS 값은 (추후 설명되는 바와 같이) STC를 회복하기 위하여 복호화 시스템에 의해 사용되는 클록 참조를 포함한다.
PES 패킷(320)은 전술한 바와 같이, 통상적으로 188 바이트 길이의 패킷인 트랜스포트 패킷(330)으로 더 분할된다. 각 트랜스포트 패킷은 헤더와 사용자 정보를 포함한다. 헤더는 사용자 정보 내에 반송되는 데이터의 형태를 식별하기 위한 정보와 트랜스포트 패킷 스트림을 복호하는데 필요한 정보를 반송한다. 선택 적응 필드(optional adaptation field)는 헤더 내에 제공되어, 예를 들어, 프로그램 클록 참조(PCR) 값의 존재를 나타낸다. 전술한 바와 같이, PCR은 부호기 내에 있는 상대적인 시스템 타임 클록(STC)으로부터 타임 스탬프를 나타내는 42-비트 값이다.
MPEG 표준이 STC를 단일 개체로 보더라도, 이를 구현하는 데는 통상적으로 다수의 STC가 있다. 예를 들면, 트랜스포트 STC와 복호기 STC가 있다. 트랜스포트 STC와 복호기 STC를 두는 것은 대기 시간(latency)과 완충 방식(buffering)에서의 조절을 고려하여 복호화 클록을 트랜스포트 STC로부터 오프셋시키는 것이 바람직할 수 있기 때문이다. 또한, STC/PTS 비교 로직으로부터의 출력을 사용자가 감지하기까지의 대기 시간의 오프셋을 보상하기 위하여 트랜스포트 STC와 복호기 STC를 두는 것이 바람직할 수 있다.
도 3은 MPEG 수신기의 일 실시예를 보다 상세하게 도시한다. 도시된 바와 같이, MPEG 트랜스포트 스트림(다수 프로그램을 포함함)은, 전술한 바와 같이, 트랜스포트 스트림을 분리하여 비디오 데이터, 오디오 데이터 및 프로그램 클록 참조(PCR) 값을 추출하는 트랜스포트 분리기(200)에서 수신된다. 복호기의 STC 카운터(430)를 조절하기 위하여 STC 발생기(205)에 의해 PCR 값이 사용된다. 특히, 트랜스포트 스트림은 카운터(430)에 대한 시드 값(seed value)으로써 초기 카운터 값을 공급한다. 그 후, 전압 제어 수정 발진기(voltage controlled crystal oscillator: VCXO, 420)는 카운터(430)를 구동하는 주파수를 생성한다. 카운터(430) 값은 비교 로직(400)으로 리턴되어 수신된 PCR 정보와 비교되어 차이 신호(difference signal)가 생성된다. 지터(jitter)를 제거하도록 필터(410)를 통하여 공급된 차이 신호는 VCXO(420)를 구동하는데 사용된다. STC 카운터(430)가 PCR보다 더 빨리 동작하면 VCXO 주파수는 감소된다. 반대로, STC 카운터가 PCR보다 더 느리게 동작하면 VCXO 주파수는 증가된다.
클록 발생기(205)와 함께, 수신기는 (전술한 바와 같이) 비디오 버퍼(212), 비디오 복호화 유닛(214) 및 STC/PTS 비교 로직(216)을 갖는 비디오 복호기(210)를 포함한다. 오디오 복호기(220)는 상기한 오디오 버퍼(222), 오디오 복호화 유닛(224) 및 STC/PTS 비교 로직(226)을 포함한다. 호스트 제어기(450)는 카운터(430)로부터 STC를 판독하고 전술한 바와 같이 STC 값을 STC/PTS 비교 로직(216 및 226)에 기록한다. 통상적으로, 비디오 복호기와 오디오 복호기에 STC를 기록하는 것은 완전히 동기되어 수행되거나 완전히 독립적으로 수행되는 것 중 하나이다. 동기되어 수행되는 경우에 동일한 STC 값 (및 오프셋)이 비디오 복호기 및 오디오 복호기 양쪽에 기록되지만, 반면에 독립적으로 수행되는 경우에는 다른 값이 두 개의 복호기에 기록된다. 바람직하게, 본 발명은 호스트 제어기(450)가 양쪽 복호기에 공통 STC 값을 기록하거나 또는 이 복호기에 독립적인 STC 값을 기록하는 것을 선택할 수 있는 설계를 제공한다. STC가 공유되는 경우에 제어기는 각 복호기가 동일한 값을 가지는 것을 보증한다.
본 발명에 따라서, 두 개의 클록 관련 레지스터가 각 복호기에서 제공된다. 도 4에 도시되어 있듯이, 비디오 복호기(210)는 호스트 제어기로부터 STC_NEW 데이터로 수신된 현재의 STC 값을 유지하는 STC_VID 레지스터를 포함한다. STC_VID 레지스터(500)는 두 번째 레지스터인 ADDR_VID 레지스터(501) 내의 관련 어드레스 값을 참조하여 액세스된다. 어드레스 레지스터(501)는, 예를 들어, 호스트 제어기에 의해 갱신될 수 있다. 따라서, STC_NEW 클록 값이 STC_VID(500)에 기록될 지의 여부는 레지스터(501) 내의 어드레스 값과 관련하여 결정된다. 마찬가지로, 오디오 복호기(220)는 STC_AUD 레지스터(510) 및 이와 관련되고 갱신 가능한 어드레스 레지스터인 ADDR_AUD(511)를 포함한다.
레지스터(501 및 511) 내의 어드레스 값이 다른 경우에 호스트 제어기는 STC_VID 및 STC_AUD 레지스터를 개별적으로 갱신 기록할 수 있다. 다른 한편으로, 호스트 제어기는 먼저 레지스터(501 및 511) 내의 어드레스 값을 동일하게 한 후, STC_VID(500)와 STC_AUD(510) 양쪽에 STC 값을 동시에 기록할 수 있다. 또한, 일단 카운터(500 및 510)가 동기되면, 호스트 제어기는 ADDR_VID(501)와 ADDR_AUD(511) 중 하나의 레지스터에 다른 어드레스 값을 기록함으로써 카운터를 독립된 상태로 되돌릴 수 있다. 호스트 기록 주기(host write cycle)가 주어진 매크로에 의해 인식되었는지 아닌지를 제어하기 위해 표시기(indicator)가 사용될 수 있다.
갱신 가능성은 다음과 같이 요약될 수 있다:
초기화(initialization) 이후:
IF ADDR_VID ≠ ADDR_AUD
· STC_NEW를 ADDR_VID에 기록 → STC_VID = STC_NEW
STC_AUD는 변하지 않음
· STC_NEW를 ADDR_AUD에 기록 → STC_VID는 변하지 않음
STC_AUD = STC_NEW
If ADDR_VID = ADDR_AUD 설정:
· STC_NEW를 ADDR_VID (=ADDR_AUD)에 기록 → STC_VID = STC_NEW
STC_AUD = STC_NEW
추가적인 제어 정보가 다수의 레지스터를 동시에 갱신하는 적절한 핸드세이킹(handshaking)을 제공하기 위하여 오디오 및 비디오 어드레스 레지스터에 추가될 수 있다는 점에 유의한다. 일예로, 공통 긍정응답(common acknowledge)을 필요로 하는 시스템에서 복호기 중 어느 것이 호스트 제어기로 공통 긍정응답을 리턴(return)할 것인가를 제어하기 위해 표시기가 추가될 수 있다.
다시 말하면, 본 발명에 따라 응용 프로세서는 STC 카운터로부터 STC 값을 판독하여 복호기 내의 STC 레지스터로 독립적으로 또는 동시에 기록할 수 있다. 따라서, 두 개의 카운터 중 적어도 하나의 카운터에 할당된 갱신 가능한 어드레스 필드를 사용함으로써 카운터의 독립적인 갱신과 동기 양쪽이 선택적으로 수행될 수 있다.
도 5a는 본 발명에 따라 STC 레지스터를 독립적으로 갱신하는 순서도를 도시한다. 비디오 STC에 대하여 ADDR_VID 내에 저장된 어드레스가 오디오 STC에 대하여 ADDR_AUD 내에 저장된 어드레스와 다른 경우에 이러한 독립 갱신이 가능하다. 이러한 가정과 함께, 호스트 제어기는 STC 카운터를 판독하고(600), 비디오 카운터에 대한 STC_NEW를 설정하기 위하여 비디오 오프셋을 더한다(610). 마찬가지로, 오디오 오프셋이 판독된 STC 카운터 값에 더해져서 오디오 카운터에 대한 STC_NEW가 설정된다(620). 그 후, 비디오 STC 레지스터(500)(도 4)는 비디오 STC_NEW 값을 수신하고(630), 반면에 오디오 STC 레지스터(510)(도 4)는 오디오 STC_NEW 값을 수신한다. 본 발명에 따라, 다수의 카운터 중 하나의 카운터와 관련된 하나의 어드레스는 다른 카운터가 다수의 카운터에 대해 동일하거나 다른 어드레스를 설정할 수 있도록 하기 위하여 갱신 가능한 어드레스를 각각 포함하는 한 고정된 어드레스를 포함할 수 있다는 것에 유의한다.
도 5b는 호스트 제어기가 비디오 STC 레지스터와 오디오 STC 레지스터 양자를 동시에 갱신하는 순서도를 예시한다. 이러한 동시 갱신을 이루기 위해서, 비디오 STC 레지스터와 관련된 어드레스 레지스터(ADDR_VID) 및 오디오 STC 레지스터와 관련된 어드레스 레지스터(ADDR_AUD)중 적어도 하나의 레지스터가 기록되어 공통 값이 각 어드레스 레지스터 내에 존재한다. 보다 구체적으로, 호스트 제어기는 STC 카운터를 판독하고(700), 오디오 STC 어드레스와 동일하도록 비디오 STC 어드레스를 변경시킬 수 있다(710). 임의의 바람직한 오프셋이 STC 값에 더해지고(720), 결과적인 STC_NEW가 단일 기록 액세스로 STC_VID 레지스터와 STC_AUD 레지스터 양쪽에 공통적으로 기록된다(730).
본 기술 분야의 당업자들은 제어기가 다수의 시스템 타임 클록(예를 들어, MPEG 복호화 시스템의 오디오 및 비디오 복호기 내에 위치함)을 다른 값에 대하여는 개별적으로 기록하거나 동일한 값에 대하여는 공통적으로 기록하여 선택적으로 갱신할 수 있는 기술이 여기에서 제공된다는 것을 위의 설명으로부터 알 수 있을 것이다. STC 값이 공유되는 경우에 이 기술은 각 클록이 동일한 값을 갖는다는 것을 보증하고, STC 값이 개별적으로 갱신되는 경우에 다른 오프셋이 제공된다. STC 어드레스를 갱신 가능한 레지스터 필드로 설정함으로써 선택이 수행된다. 이러한 원칙은 어떤 상황하에서 독립될 필요가 있고 다른 상황하에서 공통 값을 갖을 필요가 있는 임의의 레지스터 그룹으로 확장될 수가 있다.
본 발명은, 예를 들어 컴퓨터 사용이 가능한 매체를 갖는 제조물(예를 들어, 하나 이상의 컴퓨터 프로그램 제품)에 포함될 수 있다. 이러한 매체는, 이를테면 본 발명의 특성을 제공하고 용이하게 하는 컴퓨터 판독 가능한 프로그램 코드 수단에 포함된다. 제조된 제품은 컴퓨터 시스템의 일부로 포함되거나 또는 분리되어 판매될 수 있다.
여기에 도시된 순서도는 예로서 제공된다. 본 발명의 본질을 벗어나지 않고 이러한 도면이나 스텝 또는 여기에서 설명된 동작에 대한 변경을 가할 수 있다. 예를 들면, 어떤 경우에 스텝이 다른 순서로 수행될 수 있고, 또는 스텝이 추가되거나, 제거되고 또는 수정될 수 있다. 이러한 모든 변화는 첨부된 청구항에서 인용된 바와 같이 본 발명의 일부를 구성하는 것으로 간주된다.
본 발명이 어떤 바람직한 실시예에 따라 상세하게 설명되었지만, 다양한 수정과 변경이 본 기술 분야의 당업자에 의해 영향을 받을 수 있다. 따라서, 본 발명의 진정한 본질 및 범위 내에 있도록 이러한 모든 수정 및 변경을 포함하기 위해 첨부된 청구항에 의해 의도된다.
본 발명은 독립적으로 갱신될 수 있는 개별적인 시스템 타임 클록 레지스터를 제공함으로써 MPEG 복호화 시스템의 비디오 및 오디오 복호화 유닛의 시스템 타임 클록을 선택적으로 동기시킬 수 있다.

Claims (27)

  1. 다수의 레지스터를 갱신하는 방법에 있어서,
    a) 제1 어드레스 값을 제1 카운터 레지스터와 관련된 제1 어드레스 레지스터에 공급하고, 제2 어드레스 값을 제2 카운터 레지스터와 관련된 제2 어드레스 레지스터에 공급하는 단계; 및
    b) 상기 제1 어드레스 레지스터에 공급된 상기 제1 어드레스 값과 상기 제2 어드레스 레지스터에 공급된 상기 제2 어드레스 값에 따라 상기 제1 카운터 레지스터 내의 제1 카운트 값과 상기 제2 카운터 레지스터 내의 제2 카운트 값을 독립적으로 갱신하거나 동시에 갱신하는 것 중 하나를 수행하는 단계
    를 포함하는 다수 레지스터 갱신 방법.
  2. 제1항에 있어서,
    상기 a)의 공급 단계는 공통 어드레스를 각각 상기 제1 어드레스 값으로 상기 제1 어드레스 레지스터에 공급하고 상기 제2 어드레스 값으로 상기 제2 어드레스 레지스터에 공급하는 단계를 포함하고,
    상기 b)의 수행 단계는 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터 내의 상기 공통 어드레스에 대하여 상기 제1 카운터 레지스터 내의 상기 제1 카운트 값과 상기 제2 카운터 레지스터 내의 상기 제2 카운트 값을 동시에 갱신하는 단계를 포함하는
    다수 레지스터 갱신 방법.
  3. 제2항에 있어서,
    상기 다수의 레지스터는 MPEG 시스템 내에 배치되고,
    상기 동시 갱신 단계는 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터 내에 카운트 갱신을 기록하기 위하여 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터에 대한 단일 기록 액세스를 동시에 수행하는 단계를 포함하는
    다수 레지스터 갱신 방법.
  4. 제1항에 있어서,
    상기 a)의 공급 단계는 다른 제1 어드레스 값을 상기 제1 어드레스 레지스터에 공급하고 제2 어드레스 값을 상기 제2 어드레스 레지스터에 공급하는 단계를 포함하고,
    상기 b)의 수행 단계는 상기 제1 카운터 레지스터 내의 상기 제1 카운트 값과 상기 제2 카운터 레지스터 내의 상기 제2 카운트 값을 독립적으로 갱신하는 단계를 포함하는
    다수 레지스터 갱신 방법.
  5. 제4항에 있어서,
    상기 다수의 레지스터는 MPEG 시스템 내에 배치되고,
    상기 갱신 단계는 상기 제1 카운터 레지스터 내의 상기 제1 카운트 값과 상기 제2 카운터 레지스터 내의 상기 제2 카운트 값을 독립적으로 갱신하기 위하여 다수의 기록 액세스를 사용하는 단계를 포함하며,
    다른 갱신 카운트는 상기 다수의 기록 액세스 동안 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터에 기록되는
    다수 레지스터 갱신 방법.
  6. 다수의 레지스터를 갱신하는 방법에 있어서,
    a) 다수의 기록 액세스를 사용하여 상기 다수의 레지스터에 대한 개별적인 갱신을 주기적으로 기록하는 단계; 및
    b) 상기 다수의 레지스터 내의 값을 동기시키기 위하여 상기 다수의 레지스터에 대한 단일 기록 액세스를 사용하여 상기 다수의 레지스터 각각에 대하여 공통적인 갱신을 선택적으로 동시에 기록하는 단계
    를 포함하는 다수 레지스터 갱신 방법.
  7. 제6항에 있어서,
    상기 다수의 레지스터는 다수의 시스템 클록을 포함하고,
    상기 a)의 주기적 기록 단계는 상기 다수의 기록 액세스를 사용하여 상기 다수의 레지스터 각각에 대하여 다른 오프셋으로 클록 갱신을 기록하는 단계를 포함하는
    다수 레지스터 갱신 방법.
  8. 다수의 레지스터를 갱신하는 방법에 있어서,
    a) 제1 카운터 레지스터―여기서 제1 카운터 레지스터는 상기 제1 카운터 레지스터를 어드레싱하기 위한 관련 제1 어드레스 레지스터를 가짐― 및 제2 카운터 레지스터―여기서 제2 카운터 레지스터는 상기 제2 카운터 레지스터를 어드레싱하기 위한 관련 제2 어드레스 레지스터를 가짐―를 개별적으로 갱신 기록하여 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터가 독립적으로 갱신되는 단계;
    b) 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터 중 적어도 하나의 레지스터에 기록하여 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터가 공통 어드레스를 포함하는 단계; 및
    c) 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터가 상기 공통 어드레스를 포함하는 경우 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 공통 값으로 동시에 갱신하는 단계―여기서 동시에 갱신하는 단계는 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터 내에서 값들을 동기시킴―
    를 포함하는 다수 레지스터 갱신 방법.
  9. 제8항에 있어서,
    상기 제1 카운터 레지스터는 제1 시스템 타임 클록(system time clock: STC) 값을 포함하고 상기 제2 카운터 레지스터는 제2 시스템 타임 클록(STC) 값을 포함하며,
    상기 a)의 갱신 단계는
    i) 상기 제1 어드레스 레지스터를 통하여 어드레싱하여 상기 제1 STC 값으로 제1 갱신을 기록하는 단계; 및
    ii) 상기 제2 어드레스 레지스터를 통하여 어드레싱하여 상기 제2 STC 값으로 제2 갱신을 기록하는 단계
    를 포함하는 다수 레지스터 갱신 방법.
  10. 제8항에 있어서,
    상기 다수 레지스터 갱신 방법은 시스템 타임 클록(STC) 카운터를 갖는 복호화 시스템과 추가로 결합되 사용되며,
    상기 STC 카운터로부터 STC 카운트를 주기적으로 판독하는 단계를 추가로 포함하고,
    상기 a)의 갱신 단계는
    i) 상기 제1 카운터 레지스터에 제1 오프셋으로 상기 STC 카운트를 기록하는 단계; 및
    ii) 상기 제2 카운터 레지스터에 제2 오프셋으로 상기 STC 카운트를 개별적으로 기록하는 단계
    를 포함하는 다수 레지스터 갱신 방법.
  11. 제10항에 있어서,
    상기 복호화 시스템은 디지털 비디오 복호화 시스템을 포함하고,
    상기 제1 카운터 레지스터는 비디오 STC 레지스터를 포함하며,
    상기 제2 카운터 레지스터는 오디오 STC 레지스터를 포함하는
    다수 레지스터 갱신 방법.
  12. 제8항에 있어서,
    상기 c)의 동시 갱신 단계 다음에 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터 중 적어도 하나의 레지스터에 어드레스 값을 기록하여 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터가 다른 어드레스 값을 포함하는 단계; 및
    상기 기록 단계 후에 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터 내의 상기 다른 어드레스 값에 대하여 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 개별적으로 어드레싱하는 단계
    를 추가로 포함하는 다수 레지스터 갱신 방법.
  13. a) 제1 카운터 레지스터 및 상기 제1 카운터 레지스터를 어드레싱하는데 사용하는 제1 어드레스 값을 가지는 관련 제1 어드레스 레지스터;
    b) 제2 카운터 레지스터 및 상기 제2 카운터 레지스터를 어드레싱하는데 사용하는 제2 어드레스 값을 가지는 관련 제2 어드레스 레지스터; 및
    c) 상기 제1 어드레스 레지스터 내의 상기 제1 어드레스 값과 상기 제2 어드레스 레지스터 내의 상기 제2 어드레스 값에 기초하여 상기 제1 카운터 레지스터 내의 제1 카운트 값과 상기 제2 카운터 레지스터 내의 제2 카운트 값을 개별적으로 갱신하거나 동시에 갱신하는 제어기
    를 포함하는 다수 레지스터 시스템.
  14. 제13항에 있어서,
    상기 제1 어드레스 값과 상기 제2 어드레스 값은 공통 어드레스 값을 포함하고,
    상기 제어기는 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 동시에 갱신하기 위하여 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터 내의 상기 공통 어드레스 값을 통하여 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 동시에 어드레싱하는 수단을 포함하는
    다수 레지스터 시스템.
  15. 제14항에 있어서,
    상기 다수 레지스터 시스템은 MPEG 시스템을 포함하고,
    상기 제1 카운터 레지스터는 제1 시스템 타임 클록(STC) 레지스터를 포함하며,
    상기 제2 카운터 레지스터는 제2 시스템 타임 클록(STC) 레지스터를 포함하는
    다수 레지스터 시스템.
  16. 제15항에 있어서,
    상기 MPEG 시스템은 디지털 비디오 복호화 시스템을 포함하고,
    상기 제1 STC 레지스터는 비디오 STC 레지스터를 포함하며,
    상기 제2 STC 레지스터는 오디오 STC 레지스터를 포함하는
    다수 레지스터 시스템.
  17. 제13항에 있어서,
    상기 제1 어드레스 값과 상기 제2 어드레스 값은 다른 어드레스 값을 포함하고,
    상기 제어기는 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 개별적으로 갱신하기 위하여 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터 내의 상기 다른 어드레스 값을 사용하여 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 각각 개별적으로 어드레싱하는 수단을 포함하는
    다수 레지스터 시스템.
  18. 제13항에 있어서,
    상기 제어기는 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터 중 적어도 하나의 레지스터에 어드레스 값을 기록하여 상기 제1 어드레스 값과 상기 제2 어드레스 값이 공통 어드레스 값을 포함하는 수단을 추가로 포함하고,
    상기 제어기는 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 동시에 갱신하기 위하여 상기 공통 어드레스를 통하여 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 동시에 어드레싱하는 수단을 포함하는
    다수 레지스터 시스템.
  19. 제13항에 있어서,
    상기 제어기는 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터 중 적어도 하나의 레지스터에 어드레스 값을 기록하여 상기 제1 어드레스 값과 상기 제2 어드레스 값이 다른 어드레스 값을 포함하는 수단을 추가로 포함하고,
    상기 제어기는 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 개별적으로 갱신하기 위하여 상기 제1 어드레스 레지스터와 상기 제2 어드레스 레지스터 내의 상기 다른 어드레스 값을 통하여 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 각각 개별적으로 어드레싱하는 수단을 포함하는
    다수 레지스터 시스템.
  20. a) 제1 카운터 레지스터 및 상기 제1 카운터 레지스터를 어드레싱하는데 사용하는 갱신 가능한 제1 어드레스 값을 가지는 관련 제1 어드레스 레지스터;
    b) 제2 카운터 레지스터 및 상기 제2 카운터 레지스터를 어드레싱하는데 사용하는 갱신 가능한 제2 어드레스 값을 가지는 관련 제2 어드레스 레지스터; 및
    c) 제어기―여기서 제어기는
    i) 상기 제1 어드레스 레지스터 내의 상기 갱신 가능한 제1 어드레스 값이 상기 제2 어드레스 레지스터 내의 상기 갱신 가능한 제2 어드레스 값과 다른 경우에 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 개별적으로 갱신 기록하고
    ii) 상기 제1 어드레스 레지스터 내의 상기 갱신 가능한 제1 어드레스 값이 상기 제2 어드레스 레지스터 내의 상기 갱신 가능한 제2 어드레스 값과 동일한 경우에 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 동시에 갱신 기록함―
    를 포함하는 다수 클록 시스템.
  21. 제20항에 있어서,
    상기 제어기는 상기 갱신 가능한 제1 어드레스 값과 상기 갱신 가능한 제2 어드레스 값을 선택적으로 서로 다르게 하거나 동일하게 하기 위하여 상기 제1 어드레스 레지스터 내의 상기 갱신 가능한 제1 어드레스 값과 상기 제2 어드레스 레지스터 내의 상기 갱신 가능한 제2 어드레스 값 중 적어도 하나의 값을 갱신하는 수단을 포함함으로써, 상기 i)의 개별적 갱신 기록이 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터로 개별적으로 갱신 기록할 수 있게 하고, 상기 ii)의 동시 갱신 기록이 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터로 동시에 갱신 기록을 할 수 있게 하는
    다수 클록 시스템.
  22. 제20항에 있어서,
    상기 시스템은 MPEG 복호화 시스템을 포함하고,
    상기 제1 카운터 레지스터는 비디오 복호화 STC 레지스터를 포함하는 제1 시스템 타임 클록(STC) 레지스터를 포함하며,
    상기 제2 카운터 레지스터는 오디오 복호화 STC 레지스터를 포함하는 제2 시스템 타임 클록(STC) 레지스터를 포함하는
    다수 클록 시스템.
  23. 제22항에 있어서,
    상기 시스템은 시스템 타임 클록(STC) 카운트를 갖는 STC 카운터를 추가로 포함하고,
    상기 제어기는 상기 STC 카운트를 주기적으로 판독하고, 상기 주기적으로 판독된 STC 카운트에 기초하여 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터를 갱신하는 수단을 포함하는
    다수 클록 시스템.
  24. 제20항에 있어서,
    상기 i)의 개별적인 갱신 기록은 상기 제1 카운터 레지스터를 제1 오프셋으로 갱신하고, 상기 제2 카운터 레지스터를 제2 오프셋으로 갱신하며,
    상기 i)의 개별적인 갱신 기록은 단일 기록 액세스에서 상기 제1 카운터 레지스터에 상기 제1 오프셋으로 갱신을 기록하고, 다른 기록 액세스에서 상기 제2 카운터 레지스터에 상기 제2 오프셋으로 갱신을 기록하는
    다수 클록 시스템.
  25. 제20항에 있어서,
    상기 ii)의 동시 갱신 기록은 갱신 카운트에 공통 오프셋을 공급하며,
    단일 기록 액세스에서 상기 제1 카운터 레지스터와 상기 제2 카운터 레지스터 양쪽 모두에 상기 공통 오프셋으로 상기 갱신 카운트를 기록하는 것을 추가로 포함하는 다수 클록 시스템.
  26. 다수의 레지스터를 갱신하는데 사용하는 컴퓨터 판독 가능 프로그램 코드 수단을 내부에 구비하는 컴퓨터 사용 가능 매체를 포함하는 컴퓨터 프로그램 제품(computer program product)에 있어서, 상기 프로그램 제품 내의 컴퓨터 판독 가능 프로그램 코드 수단이
    a) 컴퓨터가 제1 카운터 레지스터와 관련된 제1 어드레스 레지스터로 제1 어드레스 값을 공급하고, 제2 카운터 레지스터와 관련된 제2 어드레스 레지스터로 제2 어드레스 값을 공급하도록 작용하게 하는 컴퓨터 판독 가능 프로그램 코드 수단; 및
    b) 컴퓨터가 상기 제1 어드레스 레지스터에 공급된 상기 제1 어드레스 값과 상기 제2 어드레스 레지스터에 공급된 상기 제2 어드레스 값에 따라서 상기 제1 카운터 레지스터 내의 카운트 값과 상기 제2 카운터 레지스터 내의 카운트 값을 독립적으로 갱신하거나 동시에 갱신하도록 작용하게 하는 컴퓨터 판독 가능 프로그램 코드 수단
    을 포함하는 컴퓨터 프로그램 제품.
  27. 다수의 레지스터를 갱신하는데 사용하는 컴퓨터 판독 가능 프로그램 코드 수단을 내부에 구비하는 컴퓨터 사용 가능 매체를 포함하는 컴퓨터 프로그램 제품에 있어서, 상기 프로그램 제품 내의 컴퓨터 판독 가능 프로그램 코드 수단이
    a) 컴퓨터가 다수의 기록 액세스를 사용하여 상기 다수의 레지스터를 주기적으로 개별 갱신 기록하도록 작용하게 하는 컴퓨터 판독 가능 프로그램 코드 수단; 및
    b) 컴퓨터가 상기 다수의 레지스터 내의 값을 동기시키기 위하여 상기 다수의 레지스터에 대한 단일 기록 액세스를 사용하여 상기 다수의 레지스터 각각을 선택적으로 동시에 공통 갱신 기록하도록 작용하는 컴퓨터 판독 가능 프로그램 코드 수단
    을 포함하는 컴퓨터 프로그램 제품.
KR1019990006251A 1998-03-25 1999-02-25 Mpeg 시스템에서 다수의 시스템 타임 클록을 선택적 독립적으로 또는 동시에 갱신하는 방법 및 시스템 KR100296733B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9/047,983 1998-03-25
US09/047,983 1998-03-25
US09/047,983 US6101591A (en) 1998-03-25 1998-03-25 Method and system for selectively independently or simultaneously updating multiple system time clocks in an MPEG system

Publications (2)

Publication Number Publication Date
KR19990077473A true KR19990077473A (ko) 1999-10-25
KR100296733B1 KR100296733B1 (ko) 2001-07-12

Family

ID=21952121

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019990006251A KR100296733B1 (ko) 1998-03-25 1999-02-25 Mpeg 시스템에서 다수의 시스템 타임 클록을 선택적 독립적으로 또는 동시에 갱신하는 방법 및 시스템

Country Status (3)

Country Link
US (1) US6101591A (ko)
JP (1) JP3301063B2 (ko)
KR (1) KR100296733B1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3418966B2 (ja) * 1997-10-09 2003-06-23 インターナショナル・ビジネス・マシーンズ・コーポレーション 同期化方法及びデコーダ
US6205140B1 (en) * 1997-12-01 2001-03-20 Intel Corporation Communication of dynamic dependencies along media streams
US6326960B1 (en) * 1998-09-04 2001-12-04 National Semiconductor Corporation Video output phase control in a decoder
US6606127B1 (en) * 1999-06-10 2003-08-12 Enseo, Inc. System and method for synchronizing, storing and accurately reproducing video signals
US6611530B1 (en) * 1999-09-21 2003-08-26 Hewlett-Packard Development Company, L.P. Video communication using multiple streams
US6429902B1 (en) * 1999-12-07 2002-08-06 Lsi Logic Corporation Method and apparatus for audio and video end-to-end synchronization
US7366402B2 (en) * 2000-06-02 2008-04-29 Lg Electronics Inc. Method and apparatus of recording a high definition digital television broadcast signal
KR100359782B1 (ko) * 2000-11-27 2002-11-04 주식회사 하이닉스반도체 엠펙 디코더의 시스템 타임 클럭 조정 장치 및 방법
EP1430706A4 (en) * 2001-06-11 2011-05-18 Broadcom Corp SYSTEM AND METHOD FOR MULTI-CHANNEL VIDEO AND AUDIO CODING ON A SINGLE CHIP
US7012650B2 (en) * 2001-06-14 2006-03-14 Sony Corporation Start/stop audio encoder apparatus and method for synchronizing digital audio and video signals
JP3563721B2 (ja) * 2001-09-21 2004-09-08 株式会社東芝 情報処理装置および同装置で使用される時計表示制御方法
US9432719B2 (en) * 2002-10-22 2016-08-30 Broadcom Corporation A/V System and method supporting a pull data flow scheme
US8259121B2 (en) * 2002-10-22 2012-09-04 Broadcom Corporation System and method for processing data using a network
US7466362B2 (en) * 2002-10-22 2008-12-16 Broadcom Corporation Data rate management system and method for A/V decoder
KR100561414B1 (ko) 2003-02-24 2006-03-16 삼성전자주식회사 브라우저블 슬라이드 쇼 제공을 위한 데이터 복호 장치,그 복호 방법 및 이를 위한 정보저장매체
KR100619009B1 (ko) * 2003-03-28 2006-08-31 삼성전자주식회사 재생 장치
US8443038B2 (en) 2004-06-04 2013-05-14 Apple Inc. Network media device
US10972536B2 (en) 2004-06-04 2021-04-06 Apple Inc. System and method for synchronizing media presentation at multiple recipients
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US8797926B2 (en) 2004-06-04 2014-08-05 Apple Inc. Networked media station
US7480315B2 (en) * 2004-12-31 2009-01-20 Microsoft Corporation Method and apparatus for synchronizing clocks
US7830873B1 (en) * 2007-01-09 2010-11-09 Marvell Israel (M.I.S.L.) Ltd. Implementation of distributed traffic rate limiters
EP2327213B1 (en) * 2008-08-21 2014-10-08 Dolby Laboratories Licensing Corporation Feature based calculation of audio video synchronization errors
US20130329553A1 (en) * 2012-06-06 2013-12-12 Mosys, Inc. Traffic metering and shaping for network packets
CN103179449B (zh) * 2011-12-23 2016-03-02 联想(北京)有限公司 媒体文件的播放方法、电子设备和虚拟机架构
US10158927B1 (en) * 2012-09-05 2018-12-18 Google Llc Systems and methods for detecting audio-video synchronization using timestamps
KR20140112745A (ko) * 2013-03-14 2014-09-24 한국전자통신연구원 직교 주파수 분할 다중 전송 방법 및 장치
WO2016107733A1 (en) * 2014-12-31 2016-07-07 British Telecommunications Public Limited Company Improved multicast to unicast conversion
US10993274B2 (en) 2018-03-30 2021-04-27 Apple Inc. Pairing devices by proxy
US10783929B2 (en) 2018-03-30 2020-09-22 Apple Inc. Managing playback groups
US11297369B2 (en) 2018-03-30 2022-04-05 Apple Inc. Remotely controlling playback devices
US10614857B2 (en) 2018-07-02 2020-04-07 Apple Inc. Calibrating media playback channels for synchronized presentation

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3496725B2 (ja) * 1992-10-16 2004-02-16 ソニー株式会社 多重化データ分離装置
US5598352A (en) * 1994-09-30 1997-01-28 Cirrus Logic, Inc. Method and apparatus for audio and video synchronizing in MPEG playback systems
US5604544A (en) * 1995-05-31 1997-02-18 International Business Machines Corporation Video receiver display of cursor overlaying video
JPH0993577A (ja) * 1995-09-28 1997-04-04 Toshiba Corp 動画像デコード装置
US5699392A (en) * 1995-11-06 1997-12-16 Stellar One Corporation Method and system for the recovery of an encoder clock from an MPEG-2 transport stream
JPH09205618A (ja) * 1996-01-29 1997-08-05 Mitsubishi Electric Corp 動画像音声伸張再生装置および動画像音声同期制御器
US5668599A (en) * 1996-03-19 1997-09-16 International Business Machines Corporation Memory management for an MPEG2 compliant decoder
US5617502A (en) * 1996-03-22 1997-04-01 Cirrus Logic, Inc. System and method synchronizing audio and video digital data signals during playback

Also Published As

Publication number Publication date
US6101591A (en) 2000-08-08
JP2000004443A (ja) 2000-01-07
JP3301063B2 (ja) 2002-07-15
KR100296733B1 (ko) 2001-07-12

Similar Documents

Publication Publication Date Title
KR100296733B1 (ko) Mpeg 시스템에서 다수의 시스템 타임 클록을 선택적 독립적으로 또는 동시에 갱신하는 방법 및 시스템
US8886010B2 (en) Apparatus and method for decoding data for providing browsable slide show, and data storage medium therefor
US6359910B1 (en) Clock conversion apparatus and method
US8233780B2 (en) Reproducing apparatus and method, and recording medium
US7466902B2 (en) H. 264 codec IC, DVD playback apparatus, H. 264 codec method
KR20050085614A (ko) 비디오 신호의 타임-베이스를 변경하는 시스템
JPH11275519A (ja) データ記録方法およびデータ記録装置
JP4778608B2 (ja) Mpeg復号器の同期方法及び同期装置
KR101014664B1 (ko) 복수의 데이터 스트림 간의 연속 재생을 보장하는 재생방법 및 그 재생 장치
JP2872104B2 (ja) タイムスタンプ付加装置および方法、並びにそれを用いた動画像圧縮伸張伝送システムおよび方法
RU2308098C2 (ru) Воспроизводящее устройство и способ и записывающий носитель
KR100864009B1 (ko) 오디오/비디오 동기화 방법
JPH06343065A (ja) デコーディングシステム、デマルチプレクス方法および信号処理方法
US8855212B2 (en) System and method for AV synchronization of encoder data
JPH08331511A (ja) 動画像再生装置及び動画像再生処理回路
JP3973568B2 (ja) データ処理装置、データ再生装置、データ処理方法及びデータ再生方法
RU2401465C2 (ru) Устройство и способ воспроизведения
US20080037591A1 (en) Data recording and reproducing apparatus
EP1148723B1 (en) Special reproduction data generating device, medium, and information aggregate
JP2001119668A (ja) 記録装置
JP2003008556A (ja) トランスポートデコーダ

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

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee