KR100241065B1 - 엠펙 프레젠테이션 시스템에 있어서 오디오 및 비디오 프레임들을 동기화시키기 위한 장치 및 방법 - Google Patents

엠펙 프레젠테이션 시스템에 있어서 오디오 및 비디오 프레임들을 동기화시키기 위한 장치 및 방법 Download PDF

Info

Publication number
KR100241065B1
KR100241065B1 KR1019970023405A KR19970023405A KR100241065B1 KR 100241065 B1 KR100241065 B1 KR 100241065B1 KR 1019970023405 A KR1019970023405 A KR 1019970023405A KR 19970023405 A KR19970023405 A KR 19970023405A KR 100241065 B1 KR100241065 B1 KR 100241065B1
Authority
KR
South Korea
Prior art keywords
video
audio
signal
performance
signals
Prior art date
Application number
KR1019970023405A
Other languages
English (en)
Other versions
KR19980032149A (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 KR19980032149A publication Critical patent/KR19980032149A/ko
Application granted granted Critical
Publication of KR100241065B1 publication Critical patent/KR100241065B1/ko

Links

Images

Classifications

    • 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
    • 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/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/587Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal sub-sampling or interpolation, e.g. decimation or subsequent interpolation of pictures in a video sequence
    • 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/43072Synchronising 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 multiple content streams on the same device
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • H04N21/440281Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display by altering the temporal resolution, e.g. by frame skipping

Landscapes

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

Abstract

데이터 프레젠테이션들 사이의 동기화 결여정도를 검출하고 상기 검출한 동기화 결여정도를 근거로 하여 오디오 데이터 스트림을 수정함으로써 엠펙 오디오 및 비디오 프레젠테이션들의 동기화가 달성된다.
엠펙 오디오 및 비디오 프레젠테이션들의 동기화 정도는 특정시간에 걸쳐서 오디오 및 비디오 인터페이스들로 전송된 데이터의 양을 트래킹 함으로써 모니터링된다. 엠펙 오디오 및 비디오 프레젠테이션들의 동기화는 오디오 및 비디오 인터페이스들의 각각의 오디오 및 비디오 인터페이스들에 의해 출력되는 오디오 및 비디오 테이터의 양을 트래킹 함으로써 별도의 독립적인 타이밍 신호 발생기들에 의해 컨트롤되는 시스템 내에서 달성된다. 상기 인터페이스들에 의해 출력되는 오디오 및 비디오 데이터의 양은 상호간에 비교되고, 비교의 결과로서 상기 오디오 데이터 스트림이 동기화를 복원하기 위해 수정된다. 선택적으로 동기화를 복원하기 위해 상기 비디오 데이터 스트림의 프레젠테이션이 수정될 수도 있다.
[색인어]
엠펙 오디오 프레젠테이션, 엠펙 비디오 프레젠테이션, 동기화,

Description

엠펙 프리젠테이션 시스템에 있어서 오디오 및 비디오 프레임들을 동기화 시키기 위한 장치 및 방법
본 발명은 엠펙(MPEG) 오디오/비디오 디코더에 관한 것이다.
특히 본 발명은 오디오 및 비디오 프레임들을 동기화시키기 위한 장치 및 방법에 관한 것이다.
오디오 기록, 저장 및 재생과 같은 데이터 처리에 관한 장치와, 다양한 분야들을 포함하는 기록 매체의 표준화는 기술의 발전 및 그 적용을 위해 절대적으로 필요하다. 비디오 정보를 압축 및 해독하기 위하여 널리 사용되는 하나의 압축 표준으로 비디오 인코딩 및 디코딩용의 동화상 전문가 그룹(MPCE : Moving Pictures Expert Group)을 들수 있다. 상기 엠펙 표준은 국제표준 ISO/IEC 11172-1, 제1 판(1993. 8. 1), 파트 1, 2 및 3 ″정보기술-디지털 저장매체용의 동화상 및 관련되는 오디오의 1.5Mbit/s까지 디코딩″에서 마련된다(이하, ″엠펙 국제표준″이라고 약칭함).
엠펙 디코딩 시스템은 압축된 데이터를 수신하고, 적당한 프리젠테이션 타임에서의 프리젠테이션을 위하여 상기 압축된 데이터를 데이터 프레임들로 재구축한다. 상기 디코딩 시스템은, 실제 디레이(delay)들이 부여되어 다른 소자들 사이에서 변환되고, 포스트-프로세싱 또는 출력 작동에 의해 확장되더라도 오디오 및 비디오 성능소자들 사이의 디레이를 제로 디레이로서 모델링한다. 오디오 및 비디오 프리젠테이션들은 전형적으로 스케줄링된 프리젠테이션 타임에서 순간적으로 비디오 프레임을 디스플레이 함으로써 동기화된다. 제1 오디오 샘플이 스케줄링된 프리젠테이션 타임에서 순간적으로 프리젠트되며, 후속적인 오디오 샘플들은 오디오 샘플링 속도로 순차적으로 프리젠트된다.
상기 엠펙 국제표준은, 단일 정보 스트림을 형성하기 위하여 비디오 공급원 및 오디오 공급원으로부터 공급되는 하나 이상의 데이터 스트림들을 타이밍 정보와 조합하는 데 있어서 문제점을 야기시키게 된다. 오디오 프레임들의 프리젠테이션 및 비디오 프레임들의 프리젠테이션은 시스템 타이밍 신호들에 관계된다. 상기 시스템 타이밍 신호들은 상기 오디오 및 비디오 프레임들이 동일한 타이머에 의해 제어되는 한, 상기 오디오 프레임들 및 대응되는 비디오 프레임들의 동기화를 구현하게 된다. 그러나 실제에 있어서, 개인용 컴퓨터 환경에서의 상기 오디오 프리젠테이션 및 비디오 프리젠테이션은 전형적으로 두개의 다른 타이머들에 의해 제어되기 때문에 두개의 타이머들 사이의 주파수에 있어서의 미스매치가 발생될 수 있게 된다. 특정의 시간지연이 경과되고 나면, 타이머들 사이의 주파수 미스매치는 오디오 및 비디오 프리젠테이션들 사이의 동기성의 손실을 유발하게 된다.
따라서, 오디오/비디오 프리젠테이션의 동기화를 구현하기 위한 기술이 요구되고 있다.
본 발명의 일 실시예에 따라, 데이터 프리젠테이션들 사이의 동기성 결여정도를 검출하고, 검출한 동기성 결여정도에 따라 오디오 데이터 스트림을 수정함으로써 엠펙 오디오 및 비디오 프리젠테이션들의 동기화가 달성할 수 있다. 엠펙 오디오 및 비디오 프레젠테이션들의 동기성은 소정시간에 걸쳐서 오디오 및 비디오 인터페이스들로 전송되는 데이터의 양을 트래킹 함으로써 모니터링된다. 선택적인 실시예에서 상기 비디오 데이터 스트림들이 동기화를 달성하기 위해 수정된다.
본 발명의 일면에 따라, 엠펙 오디오 및 비디오 프레젠테이션들의 동기화는 하나의 시스템 내에서 달성되고, 상기 시스템에서, 오디오 및 비디오 인터페이스들은, 각각의 오디오 및 비디오 인터페이스들에 의해 출력되는 오디오 및 비디오 데이터의 양을 트래킹 함으로써 각각의 독립적인 타이밍 신호 발생기에 의해 제어된다. 상기 인터페이스들에 의해 출력되는 오디오 및 비디오 데이터의 양은 비교되고, 상기 비교의 결과로서 상기 오디오 데이터 스트림은 수정되어 동기성을 복원하게 된다. 선택적인 실시예에서는 상기 비디오 데이터 스트림이 수정되어 동기화를 달성하게 된다.
상기한 바와 같이 동기화 시스템 및 작동 방법에 의해 많은 장점들이 도출된다. 하나의 장접으로서 독립적인 타이밍원들에 의해 지배되는 타이밍을 갖는 데이터 스트림들 사이에 동기화가 구현된다는 점을 들 수 있다. 다른 장점은 간단한 데이터 조작작업을 통하여 동기화가 구현된다는 데에 있다. 또 다른 장점은 상기 동기화가 성능 신호들에 있어서의 단지 약간의 불완전성 만으로도 유지될 수 있다는 데에 있다.
제1도는 동기적으로 작동되는 비디오 프리젠테이션 및 오디오 프리젠테이션 타이밍을 나타내는 타이밍 다이어그램.
제2(a)도 및 제2(b)도는 비디오 신호에 뒤지는 오디오 신호와, 비디오 신호에 앞서는 오디오 신호를 각각 검출하여 동기화시키기 위한 기법의 제1실시예를 나타내는 타이밍 다이어그램.
제3도는 오디오 프리젠테이션 및 비디오 프리젠테이션을 검출하여 동기화시키기 위한 과정을 나타내는 순서도.
제4(a)도 및 제4(b)도는 비디오 신호에 뒤지는 오디오 신호와, 비디오 신호에 앞서는 오디오 신호를 각각 검출하여 동기화시키기 위한 기법의 제2 실시예를 나타내는 타이밍 다이어그램.
제5도는 본 발명의 일 실시예에 따른 멀티미디어 멀티프로세서 시스템을 나타내는 개략적인 상위-레벨 블럭 다이어그램.
제6도는 제5도에 도시한 멀티미디어 멀티프로세서 시스템에 포함되는 멀티미디어 시그널 프로세서를 나타내는 개략적인 블럭 다이어그램.
제7도는 멀티미디어 멀티프로세서 시스템에 있어서의 컨트롤 프로세서를 나타내는 개략적인 블럭 다이어그램.
제8도는 상기 컨트롤 프로세서의 기능 다이어그램.
제9도는 제6도에 도시한 멀티미디어 시그널 프로세서에 있어서의 벡터 프로세서를 나타내는 개략적인 블럭 다이어그램.
제10도는 제9도에 도시한 벡터 프로세서의 벡터 프로세서 실행 데이터 경로들을 나타내는 개략적인 블럭 다이어그램.
제11도는 제6도에 도시한 멀티미디어 프로세서에 있어서의 코프로세서 인터페이스를 나타내는 개략적인 블럭 다이어그램.
제12도는 멀티미디어 시그널 프로세서의 ASIC 논리블록을 나타내는 개략적인 블럭 다이어그램.
제13도는 멀티미디어 시그널 프로세서 및 PC 애플리케이션 상에서 실행되는 MSP 시스템 성분 소프트웨어 및 호스트 프로세서 상에서 실행되는 작동시스템 소프트웨어를 포함하는 멀티미디어 시그널 프로세서의 소프트웨어 및 펌웨어 아키텍쳐를 나타내는 개략적인 블럭 다이어그램.
* 도면의 주요부분에 대한 부호의 설명
2 : 비디오 프리젠테이션 4 : 비디오 프레임
12 : 오디오 프리젠테이션 14 : 오디오 프레임
22 : 비디오 프로세서-종료신호 24 : 오디오 프로세서-종료신호
100 : 멀티미디어 멀티프로세서 시스템
102 : 호스트 프로세서 104 : 멀티미디어 시그널 프로세서
106 : 시스템 버스 108 : 오디오 및 통신 코덱
110 : 비디오 A/D 컨버터 112 : 비디오 D/A 컨버터
114 : 프레임 버퍼 SDRAM 메모리 202 : 디지털 시그널 프로세서 코어
204 : 스칼라 프로세서 206 : 벡터 프로세서
208 : 캐쉬 서브시스템 210 : 패스트 버스(FBUS)
212 : I/O 버스 214 : 데이터 캐쉬
216 : 명령 캐쉬 218 : 캐쉬 롬
220 : 32-비트 버스 인터페이스 222 : 64-비트 SDRAM 메모리 컨트롤러
224 : 8-채널 DMA 컨트롤러 226 : 커스터머 ASIC 로직 블럭
228 : 메모리 데이터 무버 230 : SDRAM 메모리
232 : 비트 스트림 프로세서 234 : UART 시리얼 라인
236 : 타이머 회로 238 : 인터럽트 컨트롤러
240 : 특수 레지스터 242 : 코프로세서 인터페이스
304 : 기입 데이터 레지스터 306 : 독출 데이터 레지스터
308 : 어드레스 레지스터 310 : 어드레스 증분기
312 : 레지스터 뱅크 314 : 32-비트 ALU
316 : 배럴 쉬프터 318 : 부스 곱셈기
502 : 명령 페치 유니트 504 : 명령 디코더 및 이슈어
506 : 명령실행 데이터 경로 508 : 적재 및 저장 유니트
602 : 4-포트 레지스터 파일 604 : 32 × 32 병렬 곱셈기
606 : 36-비트 ALU들 702 : 디코더
704 : 스테이트 머시인 706, 708 : 레지스터 블럭
800 : 소프트웨어 및 펌웨어 아키텍쳐
802 : MSP 시스템 컴포넌트 소프트웨어
804 : 벡터화된-DSP 펌웨어 라이브러리
806 : 시스템 매니지먼트 기능 블럭 902 : FBUS 인터페이스 블럭
906 : 코덱 인터페이스 컨트롤 블럭 908 : 오디오 인터페이스
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하며, 도면 전체를 통하여 동일한 부분에는 동일한 도면 부호를 사용하기로 한다.
엠펙 1, 엠펙 2, 영상회의, 팩스지원 및 모뎀지원 등을 포함하는 멀티미디어 애플리케이션(applications)들의 작동이 다중 프로세서 시스템을 사용하여 효과적으로 수행된다. 멀티프로세서 시스템의 일 예는 스칼라 프로세서 및 벡터 프로세서를 포함한다.
제1도를 참조하면, 동기적으로 작동되는 비디오 프리젠테이션(2) 및 오디오 프리젠테이션(12)의 타이밍 다이어그램을 도시한다. 상기 프리젠테이션들이 동기화되어 있는 동안, 각각의 비디오 프레임들(4) 및 각각의 오디오 프레임들(14)의 사이에는 일대일 통신이 이루어지게 된다. 제2(a)도 및 제2(b)도에는 동기정도를 검출하고 동기화를 달성하기 위한 기법의 제1 실시예를 나타내는 타이밍 다이어그램을 도시한다. 상기 제1 실시예에 따른 기법에 있어서, 오디오 프리젠테이션(12)의 타이밍은 비디오 프리젠테이션(2)의 타이밍에 매칭되기 위해 조작된다. 제2(a)도에 도시된 바와 같이, 오디오 프리젠테이션(12)이 비디오 프리젠테이션(2)에 뒤지는 경우에는, 오디오 프리젠테이션(12)의 시간지연은 단축된다. 제2(b)도에 도시된 바와 같이 오디오 프레젠테이션(12)이 비디오 프레젠테이션(2)보다 앞서는 경우에는 오디오 프레젠테이션(12)의 시간지연은 확장된다.
제2(a)도 및 제2(b)도와 제3도를 함께 참조하면, 오디오 프레젠테이션(12) 및 비디오 프레젠테이션(2) 사이의 동기정도를 검출하여 동기화를 구현하기 위한 절차(50)를 도시한다. 동기정도를 검출하여 동기화를 구현하기 위한 상기 절차(50)는 오디오 프레젠테이션(12) 및 비디오 프레젠테이션(2)이 동기화되어 있지 않을 때를 검출하기 위한 비동기화 검출 서브절차(60), 오디오/비디오 프레임 카운트 비교절차(70) 및 동기화 복원 서브절차(80)를 포함한다. 상기 비동기화 검출 서브절차(60)는 오디오 신호 모니터링 작업(62) 및 비디오 신호 모니터링 작업(52)을 포함한다.
비디오 프레임-종료 검출작업(54)에 있어서 비디오 신호 모니터링 작업(52)은, 비디오 프로세스-종료(video End-Of-Process : vEOP) 신호(22)를 검출함으로써 비디오 프레임이 디스플레이되는 때를 결정한다. 상기 vEOP 신호(22)는, 비디오 프레임이 SDRAM 메모리(230)로부터 출력될 때, KS0119 비디오 인코더(제6도 및 제12도 참조)와 같이 CODEC 인터페이스 컨트롤 블럭(906)에 의해 발생되는 신호에 응답하여 DMA 컨트롤러(224)에 의해 발생된다. 상기 vEOP 신호(22)는 데이터 전송을 트래킹하기 위해 유용하게 사용된다. 비디오 프레임 카운트 누산작업(56)은 검출된 vEOP 신호(22)의 수(Nv)를 카운트한다.
오디오 프레임-종료 검출작업(64)에 있어서 오디오 신호 모니터링 작업(62)은, 오디오 프로세스-종료(audio End-Of-Process : aEOP) 신호(24)를 검출함으로써 오디오 프레임이 디스플레이되는 때를 결정한다. 상기 aEOP 신호(24)는, 오디오 신호 프레임이 출력되어 전송되는 데이터의 양에 관한 정보를 피드백할 때, 시리얼-포트 16-비트 사우드컴 코덱 AD1843(제6도 및 제12도를 참조)과 같은 오디오 인터페이스(908) 소자에 의해 발생되는 신호들에 응답하여 상기 DMA 컨트롤러(224)에 의해 발생된다. 오디오 프레임 카운트 누산작업(66)은 검출된 aEOP 신호(24)의 수(NA)를 카운트한다.
상기 타이밍을 제어하는 인터페이스들 특히 KS0119 비디오 인코더 및 시리얼-포트 16-비트 사운드컴 코덱 AD1843이 다른 주파수에서 작동하는 다른 발진기들에 의해 각각 구동되기 때문에 비디오 프레젠테이션(2) 및 오디오 프레젠테이션(12) 사이의 동기화를 달성하는 것은 어렵게 된다. 개인용 컴퓨터 환경에 있어서는 전형적으로 시간 기준신호들이 오디오 프레젠테이션(12) 및 비디오 프레젠테이션(2)들 사이의 동기화를 허용하기 위해 유용하게 사용된다. 도시한 시스템에 있어서 상기 DMA 컨트롤러(224), KS0119 비디오 인코더 및 시리얼-포트 16-비트 사운드 컴 코덱 AD1843은 마스터 모드에서 작동되고, 상기 마스터 모드에서는 내부 클럭들이 각각의 회로들을 구동하게 되어 PC형 시간 기준신호들은 사용될 수 없게 된다.
오디오/비디오 프레임 카운트 비교작업(70)은 검출된 aEOP 신호(24)의 수(NA) 및 검출된 vEOP 신호(22)의 수(Nv)를 비교한다. 상기 오디오/비디오 프레임 카운트 비교절차(70)는, 검출된 vEOP 신호(22)의 선택된 카운트 수(Nv) 또는 검출된 aEOP 신호(24)의 선택된 카운트 수(NA)와 같이 프로그래밍된 이벤트일 수 있는 선택된 이벤트가 발생되는 경우에 수행된다.
도시한 실시예에서 상기 aEOP 신호(24)은 매 1024/fs초마다 발생된다.
상기 숫자 1024는 오디오 데이터를 전송하기 위하여, DMA 컨트롤러(224)(제5도참조)의 DMA 포트의 버퍼 사이즈를 근거로 하여 선택된 것이고, fs는 오디오 데이터의 샘플링 주파수를 나타낸다. 만약 제1 aEOP 신호(24) 및 제1 vEOP 신호(22)가 동시에 프리젠트되었다면, 검출된 aEOP 신호(24)의 수(NA) 및 검출된 vEOP 신호(22)의 수(Nv)가 지나간 후 이하의 관계식이 만족될 때, 상기 aEOP 신호(24)는 상기 vEOP 신호(22)에 중첩된다.
NV/ fv= NA× 1024 / fs
상기 식에서 fv는 vEOP 신호(22)의 주파수이다.
하나의 예에서 상기 오디소/비디오 프레임 카운트 비교작업(70)은 vEOP 신호(22)의 주파수(fv)와 동일한 상기 검출된 vEOP 신호(22)의 프로그래밍된 카운트 수(Nv)에 의해 작동되어 동기화가 매초마다 점검된다. 1초 후에는 (NA+1)번째의 aEOP 신호(24)가 예상되고, (Nv+1)번째의 vEOP 신호(22)가 예상된다. 그러므로 NA카운트에 있어서의 반올림 에러와 같은 에러들과, 오디오 및 비디오 프리젠테이션들의 출발 시점에 있어서의 비동기화가 무시된 것이기는 하지만, NA+1 aEOP 신호(24) 및 Nv+1 vEOP 신호(22)가 1초 동안 발생된다는 것을 예측할 수 있다.
상기 오디오/비디오 프레임 카운트 비교절차(70)는 실제 aEOP 신호(24)의 카운트 수와 예상되는 aEOP 신호(24)의 카운트 수(NA) 및 실제 vEOP 신호(22)의 카운트 수와 예상되는 vEOP 신호(22)의 카운트 수(Nv)를 비교한다. vEOP 신호(22)의 카운트 수(Nv)가 수신되는 시점에서 aEOP 신호(24)의 실제 카운트 수가 예상되는 카운트 수(NA)보다 작을 경우에는, 상기 오디오 프레젠테이션(12)은 상기 비디오 프레젠테이션(2)에 뒤지게 된다. aEOP 신호(24)의 카운트 수(NA)가 수신되는 시점에서 vEOP 신호(22)의 실제 카운트 수가 예상되는 카운트 수(Nv)보다 작은 경우에는, 상기 비디오 프레젠테이션이 예상되는 것보다 더욱 지연된다.
실제에 있어서, 오디오 프레젠테이션(12) 및 비디오 프레젠테이션(2)의 동시작동은 어렵게 된다. 그러므로 하나의 실시예에 있어서, 상기 비디오 프레젠테이션(2)은 상기 오디오 프레젠테이션(12)의 작동 전에 작동된다. 상기 비동기화 검출 서브절차(60)는, 상기 카운트 수들(NA및 Nv)을 비교하여, 오디오 프레젠테이션(12) 및 비디오 프레젠테이션(2)이 동기화되었을 때 발생하는 바와 같이, (NA)번째 aEOP 신호(24)가 (Nv)번째 및 (Nv+1)번째 vEOP 신호(22)의 사이에서 발생되었는가를 결정한다. 이러한 작업을 수행하는 프로그램 코드를 이하에 제시한다.
Figure kpo00002
Figure kpo00003
제2(a)도 및 제2(b)도에 도시한 타이밍 다이어그램의 실시예에 있어서, 동기화 복원 서브절차(80)는 오디오 데이터 스트림을 수정하여 오디오/비디오 동기화를 구현하게 되고, 이에 따라 오디오 질에 있어서의 약간의 저하를 초래하게 된다. 제2(a)도에 도시한 바와 같이 오디오 프레젠테이션(12)이 비디오 프레젠테이션(2)에 뒤지는 경우에는 데이터가 오디오 스트림으로부터 버려지게 되어 상기 오디오 프레젠테이션(12)은 비디오 프레젠테이션(2)과 동기화된다. 예컨대, 동기성의 손실이 검출되는 경우에, 상기 동기화 복원 서브절차(80)는 다음 1K의 오디오 데이터의 2 퍼센트와 같은 표시된 백분율을 제거한다. 하나의 실시예에서, 상기 오디오 데이터는 1K 오디오 데이터 스트림으로부터 균일하게 제거된다. 상기 데이터의 균일한 제거의 일 예는 매 100 샘플마다 하나의 샘플을 버리는 것이다. 다른 실시예들에서 오디오 데이터는 상기 오디오 스트림으로부터 임의적으로 제거된다. 또 다른 실시예들에서 최하위 크기의 오디오 데이터가 버려질 수 있으며, 이에 따라 침묵 주기들(silent periods)의 발생이 유도된다.
제2(b)도에 도시한 바와 같이 오디오 프레젠테이션(12)이 비디오 프레젠테이션(2)을 앞서는 경우에는, 부가적인 오디오 데이터가 상기 오디오 데이터 스트림에 삽입되므로써, 상기 오디오 프레젠테이션(12)을 상기 비디오 프레젠테이션(2)에 동기화시키게 된다. 예컨대, 동기성의 손실이 검출되면, 상기 동기화 복원 서브절차(80)는 오디오 데이터의 다음 1K를 2 퍼센트만큼 보간함으로써 1.02K 오디오 데이터를 발생시키게 된다. 오디오 스트림으로부터 제거되거나 상기 오디오 스트림에 부가되는 오디오 데이터의 백분율은 상기 vEOP 신호 주파수(fv) 및 상기 aEOP 신호 주파수(fA)사이의 차이에 의해 결정된다. 다양한 실시예들에 있어서, 오디오 데이터는 다른 기법을 사용하여 부가된다. 예컨대, 오디오 데이터는 선형 보간법 또는 다른 형태의 보간법을 사용하여 부가될 수 있다. 오디오 데이터의 개개의 샘플들은 다른 실시예들에 있어서 모사될 수 있다(replicated).
오디오 데이터를 조작하게 되는 상기 동기화 복원 서브절차(80)의 장점은, 상기 조작이 데이터의 간단한 제거 및 부가에 의행 용이하게 수행될 수 있다는 데 있다. 반대로, 비디오 데이터는 오디오 데이터보다 오더링(ordering)에 더욱 의존하게 된다. 상기 오더링이 비디오 데이터의 성능에 고려되므로써, 비디오 데이터 조작은 더욱 복잡한 조작절차를 파생시키게 되낟.
다른 실시예에 있어서, 특정의 비디오 프레임들의 프리젠테이션은, 엠펙 오디오/비디오 프레젠테이션들의 오디오/비디오 동기화를 달성하기 위해, 스킵되거나 또는 반복될 수 있다. 제4(a)도 및 4(b)도를 참조하면, 작은 정도의 비디오 화질의 감소만을 유발하면서 오디오/비디오 동기화를 구현하기 위해 비디오 데이터 스트림을 수정하게 되는 동기화 복원 서브절차(80)를 포함하는 오디오/비디오 동기화 방법의 일 실시예를 나타내는 개략적인 타이밍 다이어그램을 도시한다. 엠펙 오디오/비디오 프레젠테이션들에 있어서, 오디오 프레임들의 프리젠테이션 및 비디오 프레임들의 프리젠테이션은 시스템 타이밍 신호들을 사용하여 조정된다. 상기 시스템 타이밍 신호들은, 오디오 및 비디오 프리젠테이션들이 동일한 타이머에 의해 제어되는 경우에 오디오 프레임들이 대응되는 비디오 프레임들과 동기적으로 재생되는 것을 보장한다. 그러나 실제에 있어서, 오디오 프레젠테이션(410)및 비디오 프레젠테이션(400)은 전형적으로 오디오 타이밍원 및 비디오 타이밍원을 포함하는 다른 타이머들에 의해 제어된다. 도시한 실시예에서, 오디오 프레젠테이션(410)은 코덱 회로, 특히 제12도와 관련하여 차후에 설명될 시리얼-포트 16-비트 사운드컴 코덱 AD1843을 사용하여 타이밍이 조절된다. 또한, 도시한 실시예에서 비디오 프레젠테이션은 그래픽스 컨트롤러내에서 발진기(도시안됨)를 사용하여 타이밍이 조절된다. 하나의 적당한 그래팩스 컨트롤러 회로는 또한 제12도와 관련하여 차후에 설명될 KS0119 비디오 인코더이다.
수 개의 인자들이 오디오 및 비디오 프리젠테이션들 사이의 동기화를 구현하는데 난점을 파생시키게 된다. 예컨대, 상기 오디오 타이밍원 및 비디오 타이밍원의 타이밍들 사이에 미스매치가 전형적으로 발생되어, 특정의 시간이 경과된 후에 오디오 프레젠테이션(410)은 비디오 프레젠테이션(400)과 동기화 되지 않게 된다.
또한, 때때로 비디오 디코딩이 지연되어, 특정 시간에서의 프리젠테이션을 위해 스케줄링된 비디오 프레임이 제때에 사용될 수 없는 경우가 발생된다.
제4(a)도 및 제4(b)도와 관련하여 상기한 오디오/비디오 동기화 방법은 오디오 프레젠테이션(410)에 매칭시키기 위해 비디오 프레젠테이션(400)을 조작한다. 비디오 모니터 출력장치가 비디오 프레임율보다 높은 주파수에서 클록킹되기 때문에, 비디오 프레임(402)은 대체로 비디오 모니터상에 다수 회에 걸쳐서 프리젠트된다. 예컨대, 통상적인 비디오 프레임율이 20Hz일 때, VGA 그래픽스 컨트롤러의 전형적인 수직 주파수는 70Hz이다. 상기 비디오 프레젠테이션(400)이 상기 오디오 프레젠테이션(410)에 뒤지는 경우에는, 선택된 비디오 프레임 프리젠테이션들이 스킵되거나 또는 버려져 상기 비디오 프레젠테이션(400)으로 하여금 상기 오디오 프레젠테이션(410)을 따라 잡도록 한다. 선택적으로, 상기 비디오 프레젠테이션(400)이 상기 오디오 프레젠테이션(410)을 앞서는 경우에는, 선택된 비디오 프레임 프리젠테이션들이 많은 회수에 걸쳐서 디스플레이되어 동기화를 달성하게 된다.
오디오/비디오 동기화의 조건은 하드웨어에 의해 발생되는 프로세스-종료(End-Of-Process : EOP) 타이밍 신호들을 사용하여 모니터링되며, 상기 타이밍 신호들은, 도시한 실시예에서, 시리얼-포트 16-비트 사운드컴 코덱 AD1843에 의해 발생되는 aEOP 신호(414) 및 KS0119 비디오 인코더에 의해 발생되는 vEOP 신호(404)를 포함한다. 상기 aEOP 신호(414)는 오디오 프레임(412)이 출력되거나 또는 프리젠트될 때 발생된다. 상기 vEOP 신호(404)는 비디오 프레임(402)이 출력되거나 또는 프리젠트될 때 발생된다. aEOP 신호의 수 및 vEOP 신호의 수는 동기화-이탈 조건을 검출하기 위해 카운트된다.
도시한 실시예에서, 상기 aEOP 신호(414)들은 매 1024/fs초마다 한번씩 발생된다. 상기 숫자 1024는 DMA 버퍼 사이즈의 함수이고, 주파수 fs는 오디오 에디터의 샘플링 주파수이다. 제4(a)도에 도시한 바와 같이, 만약 제1 aEOP 신호(414) 및 제1 vEOP 신호(404)가 동시에 프리젠트되었다면, aEOP 신호(414)의 수(NA) 및 vEOP 신호(404)의 수(Nv)가 지나간 후, aEOP 신호(414) 및 vEOP 신호(404)는, 이하의 관계식이 만족될 때, 중첩된다.
NV/fv= NA*1024/fs
상기 식에서 fv는 vEOP 신호(404)의 주파수이다.
하나의 예에서 상기 vEOP 신호들(404)의 수(Nv) 및 상기 vEOP 신호(404)의 주파수(fv)는, 동기화 상태가 매초마다 점검되도록 선택된다. 1초 후에, (Nv+1)번째의 vEOP 신호(404) 및 (NA+1)번째의 aEOP 신호(414)가 동시에 수신되는 것으로 예상된다. 실제 작동에 있어서, NA에 있어서의 반올림 에러와 같은 에러들 및 상기 오디오 및 미디오 프리젠테이션들의 스타팅시의 비동기성은 무시된다. 그러나 aEOP 신호(414) 및 vEOP 신호(404)의 전체 숫자는 1초 주기동안 예측 가능한 것으로 예상된다. vEOP 신호(404)의 수(Nv)가 수신될 때 aEOP 신호(414)의 수가 수(NA)보다 작으면, 상기 오디오 프레젠테이션(410)은 제4(a)도에 도시한 바와 같이 상기 비디오 프레젠테이션(400)에 뒤지게 된다. aEOP 신호(414)의 수(NA)가 수신 될 때 vEOP 신호(404)의 수가 수(Nv)보다 작으면, 상기 비디오 프레젠테이션(400)은 제4(b)에 도시한 바와 같이 예상된 것보다 더욱 느려지게 된다. 상기 비디오 프레젠테이션(400)이 뒤지게 될 때, 비디오 프레임내에서의 비디오 프레임 프리젠테이션들의 반복횟수는 감소된다. 상기 비디오 프레젠테이션(400)이 상기 오디오 프레젠테이션(410)을 앞서게 될 때, 비디오 프레임내에서의 비디오 프레임 프리젠테이션들의 반복횟수는 증가된다. 앞서는 비디오 프레젠테이션(400) 및 뒤지는 비디오 프레젠테이션(400) 모두에 있어서, 프레임의 실제 반복횟수는 상기 오디오 타이밍원 및 상기 비디오 타이밍원의 타이밍 신호들 사이의 편차(discrepancy)에 따라 결정된다.
실제에 있어서, 상기 오디오 프레젠테이션(410) 및 상기 비디오 프레젠테이션(400)의 동시적인 작동은 어렵게 된다. 그러므로 하나의 실시예에 있어서, 상기 비디오 프레젠테이션(400)은 상기 오디오 프레젠테이션(410)의 작동 전에 작동된다. 상기 카운트되는 수들(NA및 Nv)은, 상기 오디오 프레젠테이션(410) 및 상기 비디오 프레젠테이션(400)이 동기화되었을 때 발생하는 바와 같이, (NA)번째 aEOP 신호(414)가 (Nv)번째 및 (Nv+1)번째 vEOP 신호(404)의 사이에서 발생되는 가를 결정하기 위해, 모니터링된다. 이러한 작업을 수행하는 프로그램 코드를 이하에 제시한다.
Figure kpo00004
Figure kpo00005
Figure kpo00006
비디오 데이터 조작을 사용하는 상기 동기화 복원 서브절차(80)의 장점은, 비디오 불완전성에 대한 인간의 감지가 오디오 아티팩트의 감지보다는 덜 민감하므로 비디오 데이터의 조작이 인간에 의해 감지되지 않는다는 데에 있다.
오디오 및 비디오 데이터 스트림들 사이의 동기화는 비디오 프레임 버퍼들을 효과적으로 처리하는 기법에 의해 지원되며, 상기 기법은 훙, 에이취. 티.를 출원인으로 하여 본 출원과 동일자로 출원된 ″PC 환경에서의 엠펙 비디오 디코딩을 위하여 프레임 버퍼를 매니징하기 위한 방법 및 장치(Apparatus and Method for Managing a Frame Buffer for MPEG Video Decoding in a PC Environment)″라는 발명의 명칭을 갖는 미합중국 출원 명세서에 상세히 기재되어 있고, 상기 미합중국 출원 명세서의 내용은 그 전부가 본 발명에 참조로 인용된다.
제5도를 참조하면, 엠펙 프리젠테이션 시스템에 있어서 오디오 및 비디오 프레임들을 동기화시키기 위한 예시적인 기법을 샐행하는 멀티미디어 멀티프로세서 시스템(100)을 나타내는 상위-레벨 개략 블럭 다이어그램을 도시한다. 상기 멀티미디어 멀티프로세서 시스템(100)은 호스트 프로세서(102) 및 멀티미디어 시그널 프로세서(104)를 포함한다. 전형적인 호스트 프로세서(102)는 펜티엄 또는 펜티엄 프로 프로세서와 같은 x86 프로세서이다. 상기 호스트 프로세서(102)는 시스템 메모리 내에 저장되어 있는 명령등 또는 데이터를 근거로 하여 프로그램을 실행한다. 상기 호스트 프로세서(102)는 PCI 버스와 같은 시스템 버스(06)를 경유하여 상기 멀티미디어 시그널 프로세서(104)와 통신된다. 상기 멀티미디어 시그널 프로세서(104)는 오디오 및 통신 코덱(108), 비디오 A/D 컨버터(110), 비디오 D/A 컨버터(112) 및 프레임 버퍼 SDRAM 메모리(114)와 같은 다양한 기능 블럭들과 인터페이스된다.
제6도를 참조하면, 상기 멀티미디어 멀티프로세서 시스템(100)내의 상기 멀티미디어 시그널 프로세서(104)를 나타내는 개략적인 블럭 다이어그램을 도시한다. 상기 멀티미디어 시그널 프로세서(104)는 디지털 시그널 프로세서(DSP) 코어(202)를 포함하며, 상기 디지털 시그널 프로세서(DSP) 코어(202)는 다수의 멀티미디어 인터페이스들에 연결된다.
상기 DSP 코어(202)는 상기 멀티미디어 시그널 프로세서(104)의 컴퓨테이션 엔진으로서의 기능을 하고, 스칼라 프로세서(204), 벡터 프로세서(206), 캐쉬 서브시스템(208), 패스트 버스(FBUS)(210) 및 I/O 버스(212)를 포함한다. 상기 스칼라 프로세서(204)는 영국소재 ″ARM Limited″에 의해 설계 및 제작되는 32-비트 ARM7 컨트롤 프로세서를 근거로 한 스칼라 프로세서이며, 실시간 작동시스템 작동, 인터럽트 및 예외상황 핸들링, 입력/출력장치 조종, 호스트 프로세서(102)와의 통신 등과 같은 일반적인 프로세싱 기능들을 수행한다. 하나의 실시예에서, 상기 스칼라 프로세서(204)는 40MHz에서 작동한다. 상기 스칼라 프로세서(204)는 코프로세서 인터페이스(242)를 통하여 벡터 프로세서(206)에 인터페이스된다.
멀티미디어 시그널 프로세서(104)는 다수의 다양한 멀티미디어 작동을 수행한다. 하나의 멀티미디어 작동은 오디오 디코딩이며, 상기 스칼라 프로세서(204) 및 상기 벡터 프로세서(206)는 상기 프로세서들상에 작동하는 프로그램 코드들과 조합하여 오디오 프로세서(205)를 형성하게 된다.
제7도를 참조하면, 명령 디코더 및 컨트롤 로직(302)에 의해 제어되는 ARM7 스칼라 프로세서(204)를 나타내는 개략적인 블럭 다이어그램을 도시한다. 상기 스칼라 프로세서(204)는 기입 데이터 레지스터(304) 및 명령 파이프라인 및 독출 데이터 레지스터(306)를 경유하여 캐쉬 서브시스템(208)과 통신한다. 상기 스칼라 프로세서(204)는 31X32-비트 레지스터 뱅크(312)내에서 데이터를 어드레싱하기 위한 어드레스 레지스터(308) 및 어드레스 증분기(310)를 포함한다. 상기 스칼라 프로세서(204)는 32-비트 ALU(314), 배럴 쉬프터(316) 및 부스 곱셉기(318)와 같은 연산 로직을 포함한다. 상기 코프로세서 인터페이스(242)는 nOPC, nCPI 및 CPB 신호 라인들을 경유하여 명령 디코더 및 컨트롤 로직(302)에 직접적으로 결함되며, 상기 신호 라인들은 상기 코프로세서 인터페이스(242)를 통하여 상기 스칼라 프로세서(204) 및 상기 벡터 프로세서(206) 사이의 작동 코드들 및 명령 인수들을 통신 시킨다.
제8도를 참조하면, 상기 스칼라 프로세서(204)의 기능 다이어그램을 도시한다. 상기 스칼라 프로세서(204)는 인덱싱 및 부가적인 작동들을 포함하는 스칼라 작동들을 실행한다. 상기 스칼라 프로세서(204)는 상기 벡터 프로세서(206)의 작동을 초기화한다. 특히, 상기 스칼라 프로세서(204)는 스칼라 프로세서(204) 명령 세트로의 확장을 통하여 상기 벡터 프로세서(206)와의 상호작용을 컨트롤한다. 상기 명령 세트 확장들은 STARTVP 및 INTVP 명령과 같은 코프로세서 데이터 작동들, 코프로세서 데이터 전송, 및 상기 벡터 프로세서(206)의 독출 및 기입 레지스터들을 위한 TESTSET 명령 및 MFVP, MTVP, MFER 및 MTER 명령들과 같은 코프로세서 레지스터 전송을 포함한다.
제6도를 다시 참조하면, 상기 벡터 프로세서(206)는 멀티미디어 시그널 프로세서(104)의 디지털 시그널 프로세싱 엔진이다. 상기 벡터 프로세서(206)는 단일 명령 다중-데이터 아키텍쳐를 가지며, 파이프라인된 RISC 엔진을 포함하고, 상기 파이프라인된 RISC 엔진은 다중 데이터 엘리먼트들상에서 병렬로 작동하여 이산 코사인 변환(DCT), FIR 필터링, 컨버루션(convolution), 비디오 모션 분석 및 다른 프로세싱 작동들과 같은 시그널 프로세싱 기능들을 수행한다. 상기 벡터 프로세서(206)는 벡터 연산을 지원하며, 상기 벡터 연산에서는 다중 데이터 엘리먼트들이 다수의 벡터 실행 유니트에 의해 벡터 프로세서의 방식으로 병렬로 연산된다. 상기 벡터 프로세서(206)는 스칼라 연산들 및 조합 스칼라-벡터 연산들을 실행한다. 상기 벡터 프로세서(206)의 다중 데이터 엘리먼트들은 288-비트 벡터 내의 패킹되며(packed), 상기 288-비트 벡터는 사이클당(예컨대 12.5 ns) 32개의 8/9-비트 고정점 산술연산 속도, 16개의 16-비트 고정점 산술연산 속도, 또는 8개의 32-비트 고정점 또는 부동점 산술연산 속도로 계산된다. 최상위 32-비트 스칼라 연산들은 사이클당 하나의 명령의 속도로 파이프라인되며(pipelined), 최상위 288-비트 벡터 연산들은 2 사이클당 한의 명령의 속도로 파이프라인된다. 적재 및 저장 작업들이 산술 연산들과 중첩되며, 별도의 적재 및 저장 회로에 의해 독립적으로 실행된다.
제9도를 참조하면, 상기 벡터 프로세서(206)는, 명령 페치 유니트(502)와, 명령 디코더 및 이슈어(504)와, 명령실행 데이터 경로(506)와, 적재 및 저장 유니트(508)를 포함하는 네 개의 기능 블럭들을 갖는다. 상기 명령 페치 유니트(502)와, 명령 디코더 및 이슈어(504)는 벡터 프로세서(206)내에 포함되어 상기 벡터 프로세서(206)가 상기 스칼라 프로세서(204)와 독립적으로 작동되는 것을 허용하게 된다.
상기 명령 페치 유니트(502)는 명령들을 프리페치시키며, 서브루틴으로의 브랜치 및 점프 명령들과 같은 컨트롤 플로우 명령들을 프로세싱한다. 상기 명령 페치 유니트(502)는 현재의 실행 스트림에 대해 프리페치된 명령들의 16-엔트리 규 및 브랜치 타겟 스트림에 대해 프리페치된 명령들의 8-엔트리 큐를 함유한다. 상기 명령 페치 유니트(502)는 하나의 사이클에서 상기 명령 캐쉬로부터 8개까지의 명령들을 수신한다. 상기 명령 디코더 및 이슈어(504)는 상기 벡터 프로세서(206)에 의해 실행되는 모든 명령들을 디코딩하며 스케줄링한다. 상기 디코더는 상기 명령 페치 유니트(502)로부터 수신되는 순서대로 하나의 사이클에서 하나의 명령을 프로세싱하며, 상기 이슈어는 실행 자원 및 오퍼랜드 데이터 유용성에 따라 무작위로 최상위 명령들을 스케줄링한다.
제10도를 참조하면, 상기 명령실행 데이터 경로(506)는 4-포트 레지스터 화일(602), 8개의 32X32 병렬 곱셈기(604), 8개의 36-비트 ALU들(606)을 포함한다. 상기 레지스터 화일(602)은 사이클당 두 개의 독출 작동들 및 두 개의 기입 작동들을 지원한다. 상기 병렬 곱셈기(604)는 사이클당 정수 또는 부동점 포맷을 갖는 8개까지의 32-비트 증배수, 또는 16개까지의 16-비트 증배수 또는 32개까지의 8-비트 증배수를 생성한다. 상기 ALU들(606)은 사이클당(예컨대 12.5 ns) 정수 또는 부동점 포맷의 8개의 36-비트 ALU 연산들, 16개의 16- 비트 ALU 연산들, 또는 32개의 8-비트 연산들을 실행한다.
상기 레지스터 화일(602)은 다수의 특수목적 레지스터들 및 다수의 어드레스 복귀 레지스터들을 포함한다. 상기 특수목적 레지스터는 벡터 컨트롤 및 스테이터스 레지스터(VCSR), 벡터 프로그램 카운터(VPC), 벡터 예외상황 프로그램 카운터(VEPC), 벡터 인터럽트 소스 레지스터(VIRSC), 벡터 및 스칼라 프로세서 동기화 레지스터(VASYNC) 및 다양한 카운트, 마스크, 오버플로 및 휴지점 레지스터들과 같은 다른 레지스터들을 포함한다. 상기 벡터 프로그램 카운터(VPC)는 상기 벡터 프로세서(206)에 의해 실행될 다음 명령의 어드레스이다.
제11도에는 코프로세서 인터페이스(242)의 개략적인 블럭 다이어그램을 도시한다. 상기 코프로세서 인터페이스(242)는 상기 스칼라 프로세서(204)의 명령 세트를 확장시키는 명령들을 실시하기 위해 상기 스칼라 프로세서(204), 가산 레지스터들 및 로직 기능들의 기능성을 보충한다. 상기 코프로세서 인터페이스(242)는 상기 스칼라 프로세서(204)와 상기 벡터 프로세서(206)를 통신시키기 위한 레지스터들을 포함한다. 상기 코프로세서 인터페이스(242)는 또한 다른 클럭율로 작동하는 구조물들 사이에서 데이터 및 신호들을 통신시키기 위한 버퍼로서의 기능을 수행한다. 하나의 실시예에서, 상기 스칼라 프로세서(204)는 40MHz의 속도로 작동하며, 상기 비디오 프레젠테이션(2)은 80MHz로 실행된다.
상기 코프로세서 인터페이스(242)는 디코더(702), 스테이트 머시인(704), 특권적으로 확장된 레지스터 블럭(706) 및 사용자 확장된 레지스터 블럭(708)을 포함한다. 상기 특권적으로 확장된 레지스터 블럭(706) 및 상기 사용자 확장된 레지스터 블럭(708)내의 레지스터들은 상기 스칼라 프로세서(204) 및 상기 벡터 프로세서(206)에 의해 독출 및 기입이 가능하게 된다. 상기 디코더(702)는 상기 스칼라 프로세서 명령 세트의 명령들을 디코딩한다. 상기 스칼라 프로세서 명령 세트는 상기 스칼라 프로세서(204)상에서 실행가능한 명령들 및 상기 스칼라 프로세서(204)에 의해서는 실행되지 않지만 특별한 코프로세서 기능을 실시하기 위해 상기 코프로세서 인터페이스(242)에 의해 실행되는 확장된 명령들을 포함한다. 상기 스테이트 머시인(704)은 상기 확장 명령들을 실행하기 위한 로직을 포함한다. 상기 특권적으로 확장된 레지스터 블럭(706)은 상기 스칼라 프로세서(204)에 의해 특별 명령들을 실행하는 동안 엑세스되는 확장된 레지스터들이다.
제6도를 다시 참조하면, 상기 캐쉬 서브시스템(208)은 데이터 캐쉬(214)(예컨대, 5KB), 명령 캐쉬(216)(예컨대, 2KB) 및 캐쉬 롬(218)(예컨대, 16KB)을 포함하고, 전형적으로 상기 벡터 프로세서(206)와 동일한 속도(80 MHz)로 작동한다. 하나의 실시예에서, 상기 캐쉬 서브시스템(208)은 상기 스칼라 프로세서(204)용의 1킬로바이트의 명령 저장소 및 1 킬로바이트의 데이터 저장소, 및 상기 스칼라 프로세서(204)와 벡터 프로세서(206) 모두를 위한 공용 16 킬로바이트 집적 명령 및 데이터 캐쉬 롬을 포함한다. 상기 캐쉬 서브시스템(208)은 32-비트 데이터 버스들을 통하여 상기 스칼라 프로세서(204)에 인터페이스되며, 128-비트 데이터 버스들을 통하여 상기 벡터 프로세서(206)에 인터페이스된다. 상기 캐쉬 롬(218)은 uROM 초기화 소프트웨어, 자기-테스트 진단 소프트웨어, 다양한 시스템 매니지먼트 소프트웨어, 라이브러리 루틴 및 선택된 명령들 및 데이터 상수들을 위한 캐쉬를 포함한다. 특히, 상기 캐쉬 롬(218)은 상기 스칼라 프로세서(204)용의 명령 예외상황 핸들러 및 입출력장치 예외상황 핸들러 0, 1, 2 및 3을 포함한다. 상기 캐쉬 롬(218)은 또한 상기 스칼라 프로세서(204)내에서 실행되는 벡터 프로세서 인터럽트 핸들러 및 벡터 프로세서 휴지점 예외상황 핸들러를 포함한다.
상기 FBUS(210)는 예컨대 32-비트 버스 인터페이스(220), 64-비트 SDRAM 메모리 컨트롤러(222), 8-채널 DMA 컨트롤러(224), 커스터머 ASIC 로직 블럭(226) 및 메모리 데이터 무버(228)를 포함하는 다수의 FBUS 주변기기들에 인터페이스된다. 상기 PCI 버스 인터페이스(220)는 시스템 버스(106)에 인터페이스되며, 예컨대 33MHz 속도로 작동된다. 상기 커스터머 ASIC 로직 블럭(226)은 요구되는 커스텀 기능을 수행하기 위한 컨트롤 로직을 공급한다. 상기 커스터머 ASIC 로직 블럭(226)은, 하나의 실시예에서, 다양한 아날로그 코덱들 및 커스터머-특정 I/O 장치들에의 인터페이스들을 포함하는 10K 게이트들을 공급한다. 상기 메모리 데이터 무버(228)는 호스트 프로세서(102)로부터, 상기 멀티미디어 시그널 프로세서(104)의 로컬인, SDRAM 메모리(230)로 DMA 데이터를 전송한다.
상기 I/O 버스(212)는 예컨대, 비트 스트림 프로세서(232), UART 시리얼 라인(234), 타이머 회로(236), 인터럽트 컨트롤러(238) 및 특수 레지스터(240)를 포함하는 다수의 I/O 버스 장치들에 인터페이스된다. 상기 비트 스트림 프로세서(232)는 상기 비디오 비트 스트림을 처리한다. 상기 특수 레지스터(240)는 소프트웨어-컨트롤 초기화 및 인터럽트 핸들링을 위해 사용된다.
제12도를 참조하면, FBUS 인터페이스 블럭(902), DMA 컨트롤러(224), 코덱 인터페이스 컨트롤 블럭(906) 및 오디오 인터페이스(908)를 포함하는 커스터머 ASIC 로직 블럭(226)을 상세하게 나타내는 개략적인 블럭 다이어그램을 도시한다.
도시한 실시예에서 상기 aEOP 신호(24)는 상기 DMA 컨트롤러(224)에 의해 발생된다. 오디오 데이터는 상기 SDRAM 메모리(230)로부터 오디오 인터페이스(908)로 전송된다. 전송되는 데이터의 양은 상기 오디오 인터페이스(908)에 의해 모니터링 된다. 데이터 프레임을 구성하는 데이터의 양은 주어지며 상기 DMA 컨트롤러(224)로 시그널링 된다. 상기 DMA 컨트롤러(224)는 전송되는 각각의 프레임을 위한 aEOP 신호(24)에 대응되는 인터럽트 신호를 발생시킨다. 상기 인터럽트 신호는 상기 스칼라 프로세서(204)로 전송된다. 하나의 적당한 오디오 인터페이스(908)로서 미국 매사추세스 노르우드에 소재하는 아날로그 디바이스, 인코퍼레이티드에 의해 제작 및 시판되는 시리얼-포트 16-비트 사운드컴 코덱 AD1843을 들 수 있다. 상기 AD1843은, 높은 정도로 구성가능한 스테레오 시그마-델타 아날로그-디지털 컨버터들(ADCs)및 쿼드 시그마-델타 디지털-아닐로그 컨버터들(DACs)을 포함하는, 단일-칩 집적화된 스피치, 오디오, 팩스 및 모뎀 코덱이다. 상기 AD1843은 디지털 보간 및 디지털 십진화 필터들, 및 아날로그 출력 로우-패스 필터를 포함하는 온-칩 신호 필터들을 포함한다.
도시한 실시예에서 상기 vEOP 신호(22)는 또한 상기 DMA 컨트롤러(224)에 의해 발생된다. 프레임 버퍼 데이터는 상기 SDRAM 메모리(230)로부터 상기 코덱 인터페이스 컨트롤 블럭(906)으로 전송되며, 상기 코덱 인터페이스 컨트롤 블럭(906)은 상기 DMA 컨트롤러(224)로 패스되는 대체로 70 Hz 정도의 수직동기신호를 발생한다. 상기 DMA 컨트롤러(224)는 상기 코덱 인터페이스 컨트롤 블럭(906)에 의해 발생되는 상기 수직동기신호의 타이밍을 근거로 하여 상기 vEOP 신호(22)에 대응되는 인터럽트 신호를 발생시킨다. 상기 DMA 컨트롤러(224)는 전송되는 각각의 비디오 프레임을 위해 상기 vEOP 신호(22)에 대응되는 인터럽트 신호를 발생시킨다. 따라서, 상기 DMA 컨트롤러(224)는 상기 코덱 인터페이스 컨트롤 블럭(906)으로부터 상기 스칼라 프로세서(204)로의 비디오 프레임 데이터 전송을 나타내는 신호를 릴레이한다. 하나의 적당한 코덱 인터페이스 컨트롤 블럭(906)으로서 KS0119 비디오 인코더(삼성 반도체)를 들 수 있으며, 상기 인코더는 NTSC 인코딩과 통상적인 RAMDAC 기능을 조합하여 NTSC 또는 개인용 컴퓨터 모니터들에 디지털화된 비디오 또는 컴퓨터-발생 그래픽들이 디스플레이되도록 한다. 상기 KS0119 비디오 인코더는 신호합성을 허용하기 위한 두개의 데이터 입력 채널들을 포함하며, 상기 신호합성은 출력단에서 또한 지원된다. 상기 KS0119 비디오 인코더는 NTSC CVBS, S-VIDEO, 또는 RGB 디스플레이를 지원한다.
비디오 프레임은 상기 DMA 컨트롤러(224)를 통하여 VGA 모니터 또는 다른 디스플레이 장치(도시안됨)로 전송된다. 출력요청이 있을 경우에, 상기 DMA 컨트롤러(224)는 인코더(도시안됨)를 경유하여, 상기 디스플레이에 데이터를 전송한다. 데이터 전송이 완료되면, 상기 DMA 컨트롤러(224)는 상기 디스플레이 요청에 대한 프로세싱의 종료를 나타내는 vEOP 신호(22)를 발생한다.
제13도를 참조하면, 상기 멀티미디어 시그널 프로세서(104)와 PC 애플리케이션들에서 실행되는 MSP 시스템 컴포넌트 소프트웨어(802) 및 상기 호스트 프로세서(102)상에서 실행되는 작동 시스템 소프트웨어(808)를 포함하는 멀티미디어 시그널 프로세서(104)의 소프트웨어 및 펌웨어 아키텍처(800)를 나타내는 개략적인 블럭 다이어그램을 도시한다. 상기 멀티미디어 시그널 프로세서(104)는, 상기 벡터 프로세서(206)상에서 실행되는 벡터화된-DSP 펌웨어 라이브러리(804) 및 상기 스칼라 프로세서(204)상에서 실행되는 시스템 매니지먼트 기능 블럭(806)을 포함하는 펌웨어에 의해 컨트롤된다. 상기 벡터화된-DSP 펌웨어 라이브러리(804) 및 상기 시스템 매니지먼트 기능 블럭(806)은 MSP 시스템 컴포넌트 소프트웨어(802)내에 포함된다. 상기 아키텍처(800)는 호스트 애플리케이션 컨트롤 작동들로부터 프로세싱 기능성을 효과적으로 분리시켜, 소프트웨어 개발을 단순화하며, 소프트웨어 디자인 매니지먼트를 개선하고, 애플리케이션 개발 및 유지비를 절감시킨다.
상기 MSP 시스템 컴포넌트 소프트웨어(802)는 스칼라 프로세서(204)상에서 배타적으로 실행되며, MSP 리얼-타임 커널(810), 멀티미디어 라이브러리 모듀울(812), 시스템 매니지먼트 기능 블럭(806) 및 벡터화된-DSP 펌웨어 라이브러리(804)를 포함한다. 상기 MSP 리얼-타임 커널(810)은 전형적으로 상기 호스트 프로세서(102)에의 인터페이싱, 자원 매니지먼트, I/O 장치 핸들링 및 대부분의 인터럽트 및 예외상황 프로세싱 기능을 담당한다. 상기 MSP 리얼-타임 커널(810)은 상기 호스트 프로세서(102)내에서 실행되는 윈도우즈 및 윈도우즈 NT에의 인터페이싱을 위한 소프트웨어를 포함한다. 상기 MSP 리얼-타임 커널(810)은 또한 상기 호스트 프로세서(102)로부터 선택된 애플리케이션 펌웨어를 선택하고 다운로딩하기 위한 소프트웨어, 상기 스칼라 프로세서(204) 및 상기 벡터 프로세서(206)내에서의 실행을 위한 태스크들(tasks)을 스케줄링하기 위한 소프트웨어, 및 메모리와 I/O 장치들을 포함하는 멀티미디어 시그널 프로세서(104)의 시스템 자원들을 매니징(managing)하기 위한 소프트웨어를 포함한다. 상기 MSP 리얼-타임 커널(810)은 멀티미디어 시그널 프로세서(104)의 태스크들 사이의 통신을 동기화하기 위한 소프트웨어 및 MSP-관련 인터럽트, 예외상황 및 스테이터스 조건들을 보고하기 위한 소프트웨어를 포함한다.
상기 벡터화된-DSP 펌웨어 라이브러리(804)는 대체로 모든 디지털 시그널 프로세싱 기능들을 수행한다. 상기 벡터화된-DSP 펌웨어 라이브러리(804)는 또한 상기 스칼라 프로세서(204)에 의해 상기 벡터 프로세서(206)로 발생되는 코프로세서 인터럽트, 또는 상기 벡터 프로세서(206)내에서 발생되는 하드웨어 스택 오버플로우 예외상황과 같은 특수 인터럽트들을 컨트롤한다.
상기 멀티미디어 라이브러리 모듀울(812)은 데이터 통신, MPEG 비디오 및 오디오, 스피치 코딩 및 분석, 사운드블래스터-호환성 오디오 등을 포함하는 통신-핸들링 기능들을 수행한다. 상기 MSP 리얼-타인 커널(810)은 상기 멀티미디어 시그널 프로세서(104)상에서 실행되는 멀티미디어 애플리케이션들을 지원하는 인핸스먼트들(enhancements)을 포함하는 리얼-타임, 로버스트, 멀티태스킹, 프리-앰프티브(pre-emptive) 작동 시스템이다.
상기 호스트 프로세서(102)상에서 실행되는 PC 애플리케이션들 및 작동 시스템 소프트웨어(808)는, 시스템 버스(106)를 경유하여 MSP 컨트롤 및 스테이터스 레지스터를 독출 및 기입함으로써 그리고 상기 시스템 메모리(116) 및 상기 멀티미디어 시그널 프로세서(104)에 상주하는 공유 데이터 스트럭처들에 기입함으로써, 상기 멀티미디어 시그널 프로세서(104)를 컨트롤한다.
MSP 프로그램 실행은 제1실행 스트림을 실행하는 상기 스칼라 프로세서(204)에 의해 시작된다. 상기 스칼라 프로세서(204)는 상기 벡터 프로세서(206)내에서 제2의 독립적인 실행 스트림을 초기화할 수 있다. 상기 스칼라 프로세서(204) 및 상기 벡터 프로세서(206)의 작동들은, 상기 스칼라 프로세서(204)내에서 작동하는 STARTVP, INTVP 및 TESTVP 명령들을 포함하는 특정 코프로세서 명령들, 및 상기 벡터 프로세서(206)내에서 실행되는 VJOIN 및 VINT 명령들을 포함하는 특수 명령들을 통하여 동기화된다. 상기 스칼라 프로세서(204) 및 상기 벡터 프로세서(206) 사이의 데이터 전달은 상기 스칼라 프로세서(204)내에서 실행되는 데이터 이동 명령들을 사용함으로써 수행된다.
이상에서 본 발명을 특정의 바람직한 실시예에 관련하여 도시하고 설명하였지만, 본 발명이 그에 한정되는 것은 아니고 이하의 특허청구의 범위에 의해 마련되는 본 발명의 정신이나 분야를 이탈하지 않는 한도 내에서 본 발명이 다양하게 개조 및 변화될 수 있다는 것을 당 업계에서 통상의 지식을 가진 자는 용이하게 알수 있다. 예컨대, 상기 실시예들은 펜티엄 호스트 컴퓨터 및 특별한 멀티미디어 프로세서를 포함하는 멀티프로세서 시스템을 사용하는 시스템들과 관련하여 설명되었지만, 다른 프로세서 구조들도 다른 실시예에서 사용될 수 있다.

Claims (19)

  1. 멀티프로세서 멀티미디어 시스템 내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화하기 위한 장치에 있어서, 비디오 데이터 비트스트림 및 오디오 데이터 비트스트림을 공급하기 위한 데이터 소스 ; 상기 데이터 소스에 결합되어 상기 비디오 데이터 비트 스트림을 수신하고 상기 비디오 데이터 비트스트림을 비디오 퍼포먼스 신호들로 변환하며 상기 비디오 퍼포먼스 신호들을 비디오 디스플레이로 전송하고, 상기 비디오 퍼포먼스 신호들을 전송할 때 비디오 프로세스 종료 신호(vEOP)를 발생하며, 제1타이밍 신호 소스를 갖는 비디오 신호 인터페이스 ; 상기 데이터 소스에 결합되어 상기 오디오 데이터 비트스트림을 수신하며 상기 오디오 데이터 비트스트림을 오디오 퍼포먼스 신호들로 변환하고 상기 오디오 퍼포먼스 신호들을 오디오 스피커들로 전송하며, 상기 오디오 퍼포먼스 신호들을 전송할 때 오디오 프로세스 종료 신호(aEOP)를 발생하며, 상기 제1 타이밍 신호 소스와는 독립적인 타이밍을 갖는 제2 타이밍 신호 소스를 갖는 오디오 신호 인터페이스 ; 및 상기 비디오 신호 인터페이스와 상기 오디오 신호 인터페이스와 상기 데이터 소스에 결합되면서, 상기 aEOP 및 vEOP 신호들의 상대적인 수를 카운트하여 상기 오디오 퍼포먼스 신호들이 상기 비디오 퍼포먼스 신호들과 비동기화된 상태에 있는가를 결정하는 오디오/비디오 동기화 모니터링 루틴 및 상기 오디오 퍼포먼스 신호들이 상기 비디오 퍼포먼스 신호들과 비동기화된 상태에 잇을 때 작동되는 오디오/비디오 동기화 복원 루틴을 포함하는 프로그램 코드를 갖는 컨트롤러 ; 를 구비하는 것을 특징으로 하는 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화하기 위한 장치.
  2. 제1항에 있어서, 상기 오디오/비디오 동기화 모니터링 루틴이, 예정된 수의 vEOP 신호들이 수신된 후에 수신된 aEOP 신호들의 카운트된 수와 예상되는 aEOP 신호의 수를 비교하기 위한 동기화 검출 루틴을 포함하는 것을 특징으로 하는 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화하기 위한 장치.
  3. 제1항에 있어서, 상기 오디오/비디오 동기화 모니터링 루틴이, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호를 앞서는 가 또는 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지는 가를 결정하기 위한 루틴을 포함하며 ; 상기 오디오/비디오 동기화 복원 루틴이, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지게 될 때 상기 오디오 퍼포먼스 신호 신호로부터 샘플들을 버리기 위한 루틴 및 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 앞서게 될 때 상기 오디오 퍼포먼스 신호에 샘들들을 부가하기 위한 루틴을 포함하는 것을 특징으로 하는, 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화하기 위한 장치.
  4. 제3항에 있어서, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지게 될 때 상기 오디오 퍼포먼스 신호로부터 샘플들을 버리기 위한 상기 루틴이, 상기 오디오 데이터 비트스트림을 통하여 균일하게 산포된 샘플들을 버리는 기법, 상기 오디오 데이터 비트스트림에서 무작위로 산포된 샘플들을 버리는 기법 및 예정된 임계 크기보다 낮은 크기를 갖는 샘플들을 버리는 기법중에서 선택된 하나의 기법을 실시하게 되는 것을 특징으로하는 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화하기 위한 장치.
  5. 제3항에 있어서, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호를 앞서게 될 때 상기 오디오 퍼포먼스 신호에 샘플들을 부가하기 위한 상기 루틴이, 상기 오디오 데이터 비트스트림내의 샘플들을 보간하는 기법 및 상기 오디오 데이터 비트스트림내의 샘플들을 복사하는 기법중에서 선택된 하나의 기법을 실시하게 되는 것을 특징으로 하는, 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화하기 위한 장치.
  6. 제1항에 있어서, 상기 오디오/비디오 동기화 모니터링 및 복원 루틴들이, 특정의 수직 동기화율로 상기 비디오 데이터 비트스트림을 수신하고 특정의 비디오 프레임율에서 상기 비디오 데이터 비트스트림을 비디오 퍼포먼스 신호들로 변환하기 위한 루틴을 포함하며 ; 상기 비디오 프레임율은 상기 수직 동기화율보다 낮게 되어, 상기 오디오/비디오 동기화 모니터링 및 복원 루틴들이 각각의 비디오 퍼포먼스 신호 프레임에 대해 선택된 수의 비디오 데이터 비트스트림을 디스플레이하기 위한 루틴을 포함하고, 상기 오디오/비디오 동기화 모니터링 루틴이, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 앞서는 가 또는 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지는 가를 결정하기 위한 루틴을 포함하며, 상기 오디오/비디오 동기화 복원 루틴이, 상기 비디오 퍼포먼스 신호가 상기 오디오 퍼포먼스 신호에 뒤지게 될 때 각각의 비디오 퍼포먼스 신호 프레임에 대해 다수의 비디오 데이터 비트스트림 데이터 프레임들중 작은 개수를 디스플레이하기 위한 루틴 ; 및 상기 비디오 퍼포먼스 신호가 상기 오디오 퍼포먼스 신호를 앞서게 될 때 각각의 비디오 퍼포먼스 신호 프레임에 대해 다수의 비디오 데이터 비트스트림 데이터 프레임들중 큰 개수를 디스플레이하기 위한 루틴 ; 을 포함하는 것을 특징으로 하는, 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화하기 위한 장치.
  7. 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화하기 위한 방법에 있어서, 비디오 데이터 비트스트림 및 오디오 데이터 비트스트림을 공급하는 단계 ; 상기 비디오 데이터 비트스트림을 포맷팅하기 위해 제1 타이밍 신호를 공급하는 부단계와 상기 비디오 데이터 비트스트림을 수신하는 부단계와, 상기 비디오 데이터 비트스트림을 비디오 퍼포먼스 신호들로 변환하는 부단계와, 상기 비디오 퍼포먼스 신호들을 비디오 디스플레이로 전송하고 비디오 프로세스 종료 신호(vEOP)를 발생하는 부단계를 포함하는, 디스플레이를 위해 상기 비디오 데이터 비트스트림을 포맷팅하는 단계 ; 오디오 데이터 비트스트림을 포맷팅하기 위해 상기 제1 타이밍 신호와는 독립적인 타이밍을 갖는 제2 타이밍 신호를 공급하는 부단계와 상기 오디오 데이터 비트스트림을 수신하는 부단계와 상기 오디오 데이터 비트스트림을 오디오 퍼포먼스 신호들로 변환하는 부단계와, 상기 오디오 퍼포먼스 신호들을 오디오 스피커로 전송하고 오디오 프로세서 종료 신호(aEOP)를 발생하는 부단계를 포함하는, 퍼포먼스를 위해 상기 오디오 데이터 비트스트림을 포맷팅하는 단계 ; 상기 aEOP 및 vEOP 신호들의 상대적인 수를 카운트하여 상기 오디오 퍼포먼스 신호들이 상기 비디오 퍼포먼스 신호들과 비동기화되어 있는 가를 결정하는 단계 ; 및 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호들과 비동기화되어 있을 때 오디오/비디오 동기화를 복원하는 단계 ; 를 구비하는 것을 특징으로 하는, 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화시키기 위한 방법.
  8. 제7항에 있어서, 예정된 수의 vEOP 신호들이 수신된 후에, 수신된 aEOP 신호들의 카운트된 수와 예상되는 aEOP 신호의 수를 비교하는 단계 ; 수를 추가로 구비하는 것을 특징으로 하는, 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화시키기 위한 방법.
  9. 제7항에 있어서, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호를 앞서는 가 또는 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지는 가를 결정하는 단계 ; 및 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지게 될 때 상기 오디오 퍼포먼스 신호로부터 샘플들을 버리는 부단계 및 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 앞서게 될 때 상기 오디오 퍼포먼스 신호에 샘플들을 부가하는 부단계를 통하여 오디오/비디오 동기화를 복원하는 단계 ; 를 추가로 구비하는 것을 특징으로 하는, 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화시키기 위한 방법.
  10. 제9항에 있어서, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지게 될 때 상기 오디오 퍼포먼스 신호로부터 샘플들을 버리는 상기 부단계가, 상기 오디오 데이터 비트스트림을 통하여 균일하게 산포된 샘플들을 버리는 기법, 상기 오디오 데이터 비트스트림내에서 무작위로 산포된 샘플들을 버리는 기법 및 예정된 임계 크기보다 낮은 크기를 갖는 샘플들을 버리는 기법중에서 선택된 하나의 기법을 실시하게 되는 것을 특징으로 하는, 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화시키기 위한 방법.
  11. 제9항에 있어서, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호를 앞서게 될 때 상기 오디오 퍼포먼스 신호에 샘플들을 부가하기 위한 상기 부단계가, 상기 오디오 데이터 비트스트림내의 샘플들을 보간하는 기법 및 상기 오디오 데이터 비트스트림내의 샘플들을 복사하는 기법중에서 선택된 하나의 기법을 실시하게 되는 것을 특징으로 하는, 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화시키기 위한 방법.
  12. 제7항에 있어서, 특정의 수직 동기화율로 상기 비디오 데이터 비트스트림을 수신하는 단계 ; 각각의 비디오 퍼포먼스 신호 프레임에 대해 다수의 비디오 데이터 비트스트림을 디스플레이하는 부단계를 포함하면서, 상기 수직 동기화율보다 낮은 특정의 비디오 프레임율에서 상기 비디오 데이터 비트스트림을 비디오 퍼포먼스 신호들로 변환하는 단계 ; 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 앞서는 가 또는 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지는 가를 결정하는 단계 ; 상기 비디오 퍼포먼스 신호가 상기 오디오 퍼포먼스 신호에 뒤지게 될 때 각각의 비디오 퍼포먼스 신호 프레임에 대해 다수의 비디오 데이터 비트스트림 데이터 프레임들 중 작은 개수를 디스플레이하는 단계 ; 및 상기 비디오 퍼포먼스 신호가 상기 오디오 퍼포먼스 신호를 앞서게 될 때 각각의 비디오 퍼포먼스 신호 프레임에 대해 다수의 비디오 데이터 비트스트림 데이터 프레임들 중 큰 개수를 디스플레이하는 단계 ; 를 추가로 구비하는 것을 특징으로 하는, 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화시키기 위한 방법.
  13. 멀티미디어 시스템에 있어서, 비디오 데이터 비트스트림 및 오디오 데이터 비트스트림을 공급하기 위한 데이터 소스 ; 상기 데이터 소스에 결합되어 상기 비디오 데이터 비트스트림을 수신하고 상기 비디오 데이터 비트스트림을 비디오 퍼포먼스 신호들로 변환하며 상기 비디오 퍼포먼스 신호들을 비디오 디스플레이로 전송하고, 상기 비디오 퍼포먼스 신호들을 전송할 때 비디오 프로세스 종료 신호(vEOP)를 발생하며, 제1 타이밍 신호 소스를 갖는 비디오 신호 인터페이스 ; 상기 데이터 소스에 결합되어 상기 오디오 데이터 비트스트림을 수신하며 상기 오디오 데이터 비트스트림을 오디오 퍼포먼스 신호들로 변환하고 상기 오디오 퍼포먼스 신호들을 오디오 스피커들로 전송하며, 오디오 퍼포먼스 신호들을 전송할 때 오디오 프로세스 종료 신호(aEOP)를 발생하며, 상기 제1 타이밍 신호 소스와는 독립적인 타이밍을 갖는 제2 타이밍 신호 소스를 갖는 오디오 신호 인터페이스 ; 및 상기 비디오 신호 인터페이스와 상기 오디오 신호 인터페이스와 상기 데이터 소스에 결합되면서, 오디오/비디오 동기화를 모니터링하기 위한 수단과, 상기 aEOP 및 vEOP 신호들의 상대적인 수를 카운트하여 상기 오디오 퍼포먼스 신호들이 상기 비디오 퍼포먼스 신호들과 비동기화된 상태에 있는 가를 결정하는 수단과, 상기 오디오 퍼포먼스 신호들이 상기 비디오 퍼포먼스 신호들과 비동기화된 상태에 있을 때 작동되어 오디오/비디오 동기화를 복원하기 위한 수단을 포함하는, 오디오 및 비디오 프레젠테이션 신호들을 동기화하기 위한 수단을 포함하는 컨트롤러 ; 를 구비하는 것을 특징으로하는, 멀티미디어 시스템.
  14. 제13항에 있어서, 상기 오디오/비디오 동기화 모니터링 수단이 예정된 수의 vEOP 신호들이 수신된 후에 수신된 aEOP 신호들의 카운트된 수와 예상되는 aEOP 신호의 수를 비교하기 위한 동기화 검출 수단을 포함하는 것을 특징으로 하는, 멀티미디어 시스템.
  15. 제13항에 있어서, 상기 오디오/비디오 동기화 모니터링 수단이, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호를 앞서는 가 또는 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지는 가를 결정하기 위한 수단을 포함하며 ; 상기 오디오/비디오 동기화 복원 수단이 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지게 될 때 상기 오디오 퍼포먼스 신호로부터 샘플들을 버리기 위한 수단 및 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 앞서게 될 때 상기 오디오 퍼포먼스 신호에 샘플들을 부가하기 위한 수단을 포함하는 것을 특징으로 하는, 멀티미디어 시스템.
  16. 제15항에 있어서, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지게 될 때 상기 오디오 퍼포먼스 신호로부터 샘플들을 버리기 위한 상기 수단이, 상기 오디오 데이터 비트스트림을 통하여 균일하게 산포된 샘플들을 버리는 기법, 상기 오디오 데이터 비트스트림에서 무작위로 산포된 샘플들을 버리는 기법 및 예정된 임계 크기보다 낮은 크기를 갖는 샘플들을 버리는 기법중 선택된 하나의 기법을 실시하게 되는 것을 특징으로 하는, 멀티미디어 시스템.
  17. 제15항에 있어서, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호를 앞서게 될 때 상기 오디오 퍼포먼스 신호에 샘플들을 부가하기 위한 상기 수단이 상기 오디오 데이터 비트스트림내의 샘플들을 보간하는 기법 및 상기 오디오 데이터 비트스트림내의 샘플들을 복사하는 기법중에서 선택된 하나의 기법을 실시하게 되는 것을 특징으로 하는, 멀티미디어 시스템.
  18. 제13항에 있어서, 상기 오디오/비디오 동기화 모니터링 및 복원 수단들이, 특정의 수직 동기화율로 상기 비디오 데이터 비트스트림을 수신하고 특정의 비디오 프레임율에서 상기 비디오 데이터 비트스트림을 비디오 퍼포먼스 신호들로 변환하기 위한 수단을 포함하며 ; 상기 비디오 프레임율은 상기 수직 동기화율보다 낮게 되어, 상기 오디오/비디오 동기화 모니터링 및 복원 수단들이 각각의 비디오 퍼포먼스 신호 프레임에 대해 선택된 수의 비디오 데이터 비트스트림을 디스플레이하기 위한 수단을 포함하고, 상기 오디오/비디오 동기화 모니터링 수단이, 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 앞서는 가 또는 상기 오디오 퍼포먼스 신호가 상기 비디오 퍼포먼스 신호에 뒤지는 가를 결정하기 위한 수단을 포함하며, 상기 오디오/비디오 동기화 복원 수단이, 상기 비디오 퍼포먼스 신호가 상기 오디오 퍼포먼스 신호에 뒤지게 될 때 각각의 비디오 퍼포먼스 신호 프레임에 대해 다수의 비디오 데이터 비트스트림 데이터 프레임들 중 작은 개수를 디스플레이하기 위한 수단 ; 및 상기 비디오 퍼포먼스 신호가 상기 오디오 퍼포먼스 신호를 앞서게 될 때 각각의 비디오 퍼포먼스 신호 프레임에 대해 다수의 비디오 데이터 비트스트림 데이터 프레임들 중 큰 개수를 디스플레이하기 위한 수단 ; 을 포함하는 것을 특징으로 하는, 멀티미디어 시스템.
  19. 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화 시키는 장치를 제공하기 위한 방법에 있어서, 비디오 데이터 비트스트림 및 오디오 데이터 비트스트림을 공급하기 위한 데이터 소스를 제공하는 단계 ; 상기 데이터 소스에 결합되어 상기 비디오 데이터 비트스트림을 수신하고 상기 비디오 데이터 비트스트림을 비디오 퍼포먼스 신호들로 변환하며 상기 비디오 퍼포먼스 신호들을 비디오 디스플레이로 전송하고, 상기 비디오 퍼포먼스 신호들을 전송할 때 비디오 프로세스 종료 신호(vEOP)를 발생하며, 제1 타이밍 신호 소스를 갖는 비디오 신호 인터페이스를 제공하는 단계 ; 상기 데이터 소스에 결합되어 상기 오디오 데이터 비트스트림을 수신하며 상기 오디오 데이터 비트스트림을 오디오 퍼포먼스 신호들로 변환하고 상기 오디오 퍼포먼스 신호들을 오디오 스피커들로 전송하며, 오디오 퍼포먼스 신호들을 전송할 때 오디오 프로세스 종료 신호(aEOP)를 발생하며, 상기 제1 타이밍 신호 소스와는 독립적인 타이밍을 갖는 제2 타이밍 신호 소스를 갖는 오디오 신호 인터페이스를 제공하는 단계 ; 및 상기 비디오 신호 인터페이스와 상기 오디오 신호 인터페이스와 상기 데이터 소스에 결합되면서, 상기 aEOP 및 vEOP 신호들의 상대적인 수를 카운트하여 상기 오디오 퍼포먼스 신호들이 상기 비디오 퍼포먼스 신호들과 비동기화된 상태에 있는 가를 결정하기 위한 오디오/비디오 동기화 모니터링 루팅 및 상기 오디오 퍼포먼스 신호들이 상기 비디오 퍼포먼스 신호들과 비동기화된 상태에 있을 때 작동되는 오디오/비디오 동기화 복원 루틴을 포함하는, 프로그램 코드를 갖는 컨트롤러를 제공하는 단계를 구비하는 것을 특징으로 하는, 멀티프로세서 멀티미디어 시스템내에서 오디오 및 비디오 프레젠테이션 신호들을 동기화 시키는 장치를 제공하는 방법.
KR1019970023405A 1996-10-18 1997-06-05 엠펙 프레젠테이션 시스템에 있어서 오디오 및 비디오 프레임들을 동기화시키기 위한 장치 및 방법 KR100241065B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US8/733,437 1996-10-18
US08/733,437 US5949410A (en) 1996-10-18 1996-10-18 Apparatus and method for synchronizing audio and video frames in an MPEG presentation system
US08/733,437 1996-10-18

Publications (2)

Publication Number Publication Date
KR19980032149A KR19980032149A (ko) 1998-07-25
KR100241065B1 true KR100241065B1 (ko) 2000-02-01

Family

ID=24947596

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019970023405A KR100241065B1 (ko) 1996-10-18 1997-06-05 엠펙 프레젠테이션 시스템에 있어서 오디오 및 비디오 프레임들을 동기화시키기 위한 장치 및 방법

Country Status (2)

Country Link
US (1) US5949410A (ko)
KR (1) KR100241065B1 (ko)

Families Citing this family (66)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1997046027A1 (en) * 1996-05-29 1997-12-04 Sarnoff Corporation Preserving synchronization of audio and video presentation
US6457027B1 (en) * 1997-04-01 2002-09-24 Ati Technologies, Inc. Method and apparatus for generating a multimedia document
JP3384314B2 (ja) * 1997-12-02 2003-03-10 ヤマハ株式会社 楽音応答画像生成システム、方法、装置、及び、そのための記録媒体
IL123906A0 (en) * 1998-03-31 1998-10-30 Optibase Ltd Method for synchronizing audio and video streams
US7707600B1 (en) * 1998-08-21 2010-04-27 Intel Corporation Confirming video transmissions
US6347344B1 (en) * 1998-10-14 2002-02-12 Hitachi, Ltd. Integrated multimedia system with local processor, data transfer switch, processing modules, fixed functional unit, data streamer, interface unit and multiplexer, all integrated on multimedia processor
US6892351B2 (en) * 1998-12-17 2005-05-10 Newstakes, Inc. Creating a multimedia presentation from full motion video using significance measures
US7120924B1 (en) 2000-02-29 2006-10-10 Goldpocket Interactive, Inc. Method and apparatus for receiving a hyperlinked television broadcast
US7343617B1 (en) 2000-02-29 2008-03-11 Goldpocket Interactive, Inc. Method and apparatus for interaction with hyperlinks in a television broadcast
US7367042B1 (en) 2000-02-29 2008-04-29 Goldpocket Interactive, Inc. Method and apparatus for hyperlinking in a television broadcast
FR2809570A1 (fr) * 2000-05-23 2001-11-30 Koninkl Philips Electronics Nv Dispositif multimodules a comportement statique pour demodulateur programmable d'un recepteur de television
US6584356B2 (en) * 2001-01-05 2003-06-24 Medtronic, Inc. Downloadable software support in a pacemaker
US6680753B2 (en) * 2001-03-07 2004-01-20 Matsushita Electric Industrial Co., Ltd. Method and apparatus for skipping and repeating audio frames
US20030088407A1 (en) * 2001-04-02 2003-05-08 Yi Hu Codec
US6741979B1 (en) * 2001-07-24 2004-05-25 Thomas W. Tiahrt System and method for flexible indexing of document content
KR100926469B1 (ko) * 2002-01-31 2009-11-13 톰슨 라이센싱 가변 지연을 제공하는 오디오/비디오 시스템과, 제 1 지연된 디지털 신호에 대해 제 2 디지털 신호를 동기화하기 위한 방법
US6956871B2 (en) * 2002-04-19 2005-10-18 Thomson Licensing Apparatus and method for synchronization of audio and video streams
US7676142B1 (en) * 2002-06-07 2010-03-09 Corel Inc. Systems and methods for multimedia time stretching
US7383509B2 (en) * 2002-09-13 2008-06-03 Fuji Xerox Co., Ltd. Automatic generation of multimedia presentation
CN100367313C (zh) * 2002-11-07 2008-02-06 汤姆森许可贸易公司 应用缓冲计算在数字化环境中确定音频和视频之间的声像吻合的系统和方法
US20040143675A1 (en) 2003-01-16 2004-07-22 Aust Andreas Matthias Resynchronizing drifted data streams with a minimum of noticeable artifacts
GB0306973D0 (en) * 2003-03-26 2003-04-30 British Telecomm Transmitting video
GB0406901D0 (en) * 2004-03-26 2004-04-28 British Telecomm Transmitting recorded material
GB2412807A (en) * 2004-04-02 2005-10-05 Snell & Wilcox Ltd Video processing to reduce program length
US8427490B1 (en) 2004-05-14 2013-04-23 Nvidia Corporation Validating a graphics pipeline using pre-determined schedules
US7400653B2 (en) * 2004-06-18 2008-07-15 Dolby Laboratories Licensing Corporation Maintaining synchronization of streaming audio and video using internet protocol
US8624906B2 (en) 2004-09-29 2014-01-07 Nvidia Corporation Method and system for non stalling pipeline instruction fetching from memory
US20060083384A1 (en) * 2004-10-15 2006-04-20 Luciano Zoso Amplitude and phase compensator for BTSC encoder
CA2585157A1 (en) * 2004-11-15 2006-05-26 Nvidia Corporation Video processing
US8493396B2 (en) 2004-11-15 2013-07-23 Nvidia Corporation Multidimensional datapath processing in a video processor
US20060123063A1 (en) * 2004-12-08 2006-06-08 Ryan William J Audio and video data processing in portable multimedia devices
US20090064242A1 (en) * 2004-12-23 2009-03-05 Bitband Technologies Ltd. Fast channel switching for digital tv
US7672742B2 (en) * 2005-02-16 2010-03-02 Adaptec, Inc. Method and system for reducing audio latency
US20070006078A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Declaratively responding to state changes in an interactive multimedia environment
US8656268B2 (en) * 2005-07-01 2014-02-18 Microsoft Corporation Queueing events in an interactive media environment
US20070006238A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Managing application states in an interactive media environment
US8020084B2 (en) * 2005-07-01 2011-09-13 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20070006079A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation State-based timing for interactive multimedia presentations
US8799757B2 (en) 2005-07-01 2014-08-05 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US20070006065A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Conditional event timing for interactive multimedia presentations
US20070006062A1 (en) * 2005-07-01 2007-01-04 Microsoft Corporation Synchronization aspects of interactive multimedia presentation management
US9092170B1 (en) 2005-10-18 2015-07-28 Nvidia Corporation Method and system for implementing fragment operation processing across a graphics bus interconnect
US8340098B2 (en) * 2005-12-07 2012-12-25 General Instrument Corporation Method and apparatus for delivering compressed video to subscriber terminals
WO2007102147A2 (en) * 2006-03-07 2007-09-13 Bitband Technologies Ltd. Personalized insertion of advertisements in streaming media
US8174532B2 (en) * 2006-12-10 2012-05-08 Apusone Technology Inc. Programmable video signal processor for video compression and decompression
US8565519B2 (en) * 2007-02-09 2013-10-22 Qualcomm Incorporated Programmable pattern-based unpacking and packing of data channel information
US8683126B2 (en) * 2007-07-30 2014-03-25 Nvidia Corporation Optimal use of buffer space by a storage controller which writes retrieved data directly to a memory
US8659601B1 (en) 2007-08-15 2014-02-25 Nvidia Corporation Program sequencer for generating indeterminant length shader programs for a graphics processor
US8698819B1 (en) 2007-08-15 2014-04-15 Nvidia Corporation Software assisted shader merging
US9024957B1 (en) 2007-08-15 2015-05-05 Nvidia Corporation Address independent shader program loading
US8411096B1 (en) 2007-08-15 2013-04-02 Nvidia Corporation Shader program instruction fetch
US8381086B2 (en) * 2007-09-18 2013-02-19 Microsoft Corporation Synchronizing slide show events with audio
US8780123B2 (en) * 2007-12-17 2014-07-15 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US9064333B2 (en) 2007-12-17 2015-06-23 Nvidia Corporation Interrupt handling techniques in the rasterizer of a GPU
US8700792B2 (en) * 2008-01-31 2014-04-15 General Instrument Corporation Method and apparatus for expediting delivery of programming content over a broadband network
EP2101503A1 (en) * 2008-03-11 2009-09-16 British Telecommunications Public Limited Company Video coding
US8923385B2 (en) * 2008-05-01 2014-12-30 Nvidia Corporation Rewind-enabled hardware encoder
US8681861B2 (en) * 2008-05-01 2014-03-25 Nvidia Corporation Multistandard hardware video encoder
US8752092B2 (en) * 2008-06-27 2014-06-10 General Instrument Corporation Method and apparatus for providing low resolution images in a broadcast system
EP2200319A1 (en) 2008-12-10 2010-06-23 BRITISH TELECOMMUNICATIONS public limited company Multiplexed video streaming
US8489851B2 (en) * 2008-12-11 2013-07-16 Nvidia Corporation Processing of read requests in a memory controller using pre-fetch mechanism
EP2219342A1 (en) 2009-02-12 2010-08-18 BRITISH TELECOMMUNICATIONS public limited company Bandwidth allocation control in multiple video streaming
US9357244B2 (en) * 2010-03-11 2016-05-31 Arris Enterprises, Inc. Method and system for inhibiting audio-video synchronization delay
US8640181B1 (en) * 2010-09-15 2014-01-28 Mlb Advanced Media, L.P. Synchronous and multi-sourced audio and video broadcast
US8797461B2 (en) * 2012-12-28 2014-08-05 Behavioral Technologies LLC Screen time control device and method
EP3175446B1 (en) 2014-07-31 2019-06-19 Dolby Laboratories Licensing Corporation Audio processing systems and methods

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08102908A (ja) * 1994-10-03 1996-04-16 Canon Inc 再生装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278647A (en) * 1992-08-05 1994-01-11 At&T Bell Laboratories Video decoder using adaptive macroblock leak signals
US5434913A (en) * 1993-11-24 1995-07-18 Intel Corporation Audio subsystem for computer-based conferencing system
US5508942A (en) * 1993-11-24 1996-04-16 Intel Corporation Intra/inter decision rules for encoding and decoding video signals
JPH07202820A (ja) * 1993-12-28 1995-08-04 Matsushita Electric Ind Co Ltd ビットレート制御システム
US5576765A (en) * 1994-03-17 1996-11-19 International Business Machines, Corporation Video decoder
US5510842A (en) * 1994-05-04 1996-04-23 Matsushita Electric Corporation Of America Parallel architecture for a high definition television video decoder having multiple independent frame memories
US5729279A (en) * 1995-01-26 1998-03-17 Spectravision, Inc. Video distribution system
US5668599A (en) * 1996-03-19 1997-09-16 International Business Machines Corporation Memory management for an MPEG2 compliant decoder

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08102908A (ja) * 1994-10-03 1996-04-16 Canon Inc 再生装置

Also Published As

Publication number Publication date
KR19980032149A (ko) 1998-07-25
US5949410A (en) 1999-09-07

Similar Documents

Publication Publication Date Title
KR100241065B1 (ko) 엠펙 프레젠테이션 시스템에 있어서 오디오 및 비디오 프레임들을 동기화시키기 위한 장치 및 방법
Lee et al. MediaStation 5000: Integrating video and audio
US5909224A (en) Apparatus and method for managing a frame buffer for MPEG video decoding in a PC environment
EP0681718B1 (en) System for dividing processing tasks into signal processor and decision-making microprocessor interfacing
US6145007A (en) Interprocessor communication circuitry and methods
KR100218255B1 (ko) Mpeg 오디오 디코딩용 고속 재양자화 장치 및 방법
US6385704B1 (en) Accessing shared memory using token bit held by default by a single processor
US5473754A (en) Branch decision encoding scheme
JP3806936B2 (ja) データ・フロー制御および複数の処理装置を有する画像圧縮コプロセッサ
US20010056353A1 (en) Fine-grained synchronization of a decompressed audio stream by skipping or repeating a variable number of samples from a frame
US5860060A (en) Method for left/right channel self-alignment
US6009389A (en) Dual processor audio decoder and methods with sustained data pipelining during error conditions
US5931934A (en) Method and apparatus for providing fast interrupt response using a ghost instruction
KR100240158B1 (ko) 실시간 프로그램 가능 신호 처리기 아키텍쳐
Murakami et al. A DSP architectural design for low bit-rate motion video codec
US6192427B1 (en) Input/output buffer managed by sorted breakpoint hardware/software
US5960401A (en) Method for exponent processing in an audio decoding system
US5781134A (en) System for variable length code data stream position arrangement
CA2585157A1 (en) Video processing
US7246220B1 (en) Architecture for hardware-assisted context switching between register groups dedicated to time-critical or non-time critical tasks without saving state
US6230278B1 (en) Microprocessor with functional units that can be selectively coupled
EP1238343B1 (en) Digital signal processor having a plurality of independent dedicated processors
van Kampenhout et al. Programming and analysing scenario-aware dataflow on a multi-processor platform
Lee et al. Real-time MPEG video codec on a single-chip multiprocessor
JP2004510248A (ja) ソフトウェアおよびハードウェアのループ圧縮を有するfifo書込み/lifo読取り追跡バッファ

Legal Events

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

Payment date: 20121031

Year of fee payment: 14

FPAY Annual fee payment

Payment date: 20131031

Year of fee payment: 15

LAPS Lapse due to unpaid annual fee