KR100352844B1 - 음성영상대화형신호처리방법및장치 - Google Patents

음성영상대화형신호처리방법및장치 Download PDF

Info

Publication number
KR100352844B1
KR100352844B1 KR1019950010045A KR19950010045A KR100352844B1 KR 100352844 B1 KR100352844 B1 KR 100352844B1 KR 1019950010045 A KR1019950010045 A KR 1019950010045A KR 19950010045 A KR19950010045 A KR 19950010045A KR 100352844 B1 KR100352844 B1 KR 100352844B1
Authority
KR
South Korea
Prior art keywords
module
data
header packet
name
packet
Prior art date
Application number
KR1019950010045A
Other languages
English (en)
Other versions
KR950035417A (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 KR950035417A publication Critical patent/KR950035417A/ko
Application granted granted Critical
Publication of KR100352844B1 publication Critical patent/KR100352844B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/14Systems for two-way working
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

본 발명에 따른 장치는 모듈의 이름을 갖는 헤더 재킷을 포함한 시간 다중화된 각 송신 유닛을 포함하고 각각 이름을 갖는 복수의 모듈을 포함하는 패킷 데이타 스트림의 소스(10)를 포함한다 메모리(412)는 처리 요구 및 모듈의 이름을 각각 포함하는 복수의 엔트리를 갖는 요구큐우를 저장하고, 헤더 패킷 버퍼는 모듈의 이름을 갖는 위치를 포함한다. 요구 처리 회로(410)는 이름에 의해 식별된 모듈에서 처리를 실행하도록 요구를 수신하고, 식별된 모듈의 이름 및 요구된 처리를 포함하는 요구큐우에 엔트리를 저장한다. 헤더 패킷 메모리 저장 제어기(408)는 헤더 패킷이 데이타 스트림에 나타나면 헤더 패킷 버퍼에 헤더 패킷을 저장하고, 헤더 패킷 수신 신호를 발생한다. 모듈 처리 회로(30)는 상기 헤더 패킷 수신 신호에 응답하여, 상기 해더 패킷 버퍼로부터 모듈 이름을 판독하고, 상기 모듈 이름을 상기 요구 버퍼에 있는 각 엔트리의 이름과 비교하고, 만약 상기 모듈 이름이 엔트리 이름과 일치하면 요구된 처리를 상기 매칭 요구큐우엔트리에서 실행한다.

Description

음성 영상 대화형 신호 처리 방법 및 장치
발명은 음성 명상 대화형(AVI) 신호를 수신 및 처리하는 방법 및 장치에 관한 것이다.
대화형 텔레비전 시스템에서 사용되는 텔레비전 수신기는 방송국에 의해서 프로그램 가능하고 사용자에 의해서 입력된 데이타에 응답하여, 방송 영상에 겹쳐지는 온스크린 그래픽 디스플레이를 발생하고, 방송 음성과 결합되는 음향(sound)을 발생하며, 방송국 또는 다른 외부 데이타 처리 서비스와 데이타를 교환할 수 있는 프로세서를 포함하는 것으로 제안되었다. 이러한 시스템에서, 방송국은 대화형 어플리케이션 프로그램 정보를 발생하고, 관련 텔레비전 신호의 영상 및 음성 성분과 대화형 어플리케이션 프로그램 정보를 부가적인 성분으로서 결합하는 컴퓨터 시스템을 구비한다. 텔레비젼 수신기의 프로세서는 방송국으로부터 대화형 어플리케이션 프로그램 정보를 수신하고, 그 정보에 의해서 표시되는 대화형 어플리케이션 프로그램을 실행시키며, 텔레비젼 영상 및 음성과 결합될 그래픽 및 음향을 발생하고, 원격 제어 유닛을 통해 수신된 사용자 입력을 처리한다.
제안된 AVI 시스템에서, 방송국으로부터의 AVI 신호는 복수의 시간 다중 패킷 서비스를 포함한 패킷 데이타 스트림의 형태로 방송된다. 각 패킷 서비스는 상이한 신호 성분의 AVI 신호를 반송한다. 예를 들면, 하나의 서비스는 영상 성분을 반송하고, 다른 서비스는 음성 성분을 반송하며, 또다른 서비스는 대화형 어플리케이션 프로그램 정보를 반송한다. 스테레오 및 SAP 음성 채널 및/또는 클로즈드 캡션 정보등을 반송하는 서비스들도 있을 수 있다. 또한, 어떤 패킷 데이타 스트림은 하나 이상의 AVI 프로그램을 위한 성분들을 반송하는 패킷 서비스들을 포함할 수 있다. 각 패킷 서비스는 자신과 관련된 고유의 서비스 성분 식별자(SCID)를 가지고있고, 그 패킷 서비스의 패킷들은 각각 그 서비스 식별자를 포함한다. 상기 패킷 데이타 스트림의 형성 방법에 대한 더 상세한 설명은 미국 특허 출원 제234,773호의 "APPARATUS AND METHOD FOR FOMULATING AN INTERACTIVE TV"을 참조한다.
또한, 제안된 AVI 시스템에서, 하나의 패킷 서비스는 하나의 프로그램 가이드를 반송하고 소정의 서비스 식별자를 포함한다. 프로그램 가이드 패킷 서비스에 의해 반송된 데이타는 그 성분들을 반송하는 패킷 서비스의 서비스 식별자들을 AVI 프로그램의 성분들과 관련시킨다. 이 데이타를 사용하여, 원하는 AVI 프로그램의 성분들을 반송하는 패킷 서비스가 패킷 스트림으로부터 추출될 수 있다.
AVI 신호 패킷 데이타 스트림의 성분들은 각각 복수의 패킷으로 구성된 하나 이상의 전송 유닛에 의해 반송된다. 임의의 전송 유닛의 제1 패킷은 헤더 패킷이고, 전송 유닛의 나머지 패킷들은 관련 데이타 패킷들이다. 헤더 패킷은 후속 데이타에 대한 정보를 포함하고, 관련 데이타 패킷들은 상기 성분의 해당 부분을 형성하는 데이타를 반송한다. 상이한 전송 유닛들은 상이한 갯수의 데이타 패킷을 포함할 수 있고, 모듈을 전송 유닛으로 분할하는 것은 완전한 모듈을 원하는 시간에 뷰어 위치로 전송하는데 필요한 타이밍이나 다른 실시간을 고려한 사항에 의하여 영향을 받을 수 있다.
대화형 어플리케이션 프로그램 정보 성분은 하나 이상의 코드 모듈(실행 가능 코드 포함)과 선택적으로 하나 이상의 데이타 모듈 및 코드를 나타내는 데이타와 대화형 어플리케이션 프로그램 성분을 형성하는 데이타 모듈을 포함하는 디렉토리 모듈로 구성되어 있다. 이들 모들은 어플리케이션 프로그램 성분 흐름에서 계속해서 반복된다. 모듈은 전술한 바와 같이 전송 유닛에 의해 반송되며, 그 헤더 패킷은 후속 데이타 패킷의 데이타가 포함되어 있는 모듈 내의 위치를 더 포함한다.
AVI 수신기의 프로세서는 먼저 디렉토리 모듈을 데이타 흐름으로부터 추출하고, 어떤 코드 모듈이 먼저 실행되어야 하는지를 결정하기 위해 디렉토리에 포함된 정보를 이용한다. 이어서 코드 모듈이 데이타 흐름으로부터 추출되어 메모리의 기지의 위치에 로드된다. 그 초기 코드 모듈이 메모리에 완전히 로드되면, 프로세서가 그 코드 모듈의 실행을 개시한다. 코드 모듈의 실행중에, 상기 코드 모듈은 디렉토리 모듈에서 식별된 데이타 모듈로부터 데이타를 요구할 수 있다. 이 후에 데이타 모듈이 추출되어 메모리에 로드된다. 데이타 모듈이 메모리에 완전히 로드되면, 요구한 코드 모듈은 통지되고, 데이타를 처리하는 실행은 계속된다. 하나의 코드 모듈을 후속 코드 모듈에 연결하는 것 또한 가능하다. 이 경우에, 현재 코드 모듈은 디렉토리 모듈에 리스트된 새로운 코드 모듈에 연결하기 위한 요구를 발행하고, 메모리 공간은 비워지게 된다. 그러면 요구된 코드 모듈이 데이타 흐름으로부터 추출되어 메모리에 로드된다. 요구된 코드 모듈이 메모리에 완전히 로드되면, 그 모듈이 실행된다. 다른 기능들도 가능하지만 이것에 대해서는 이하 설명된다.
만약 메모리가 충분한 용량을 갖는다면, 하나 이상의 코드 모듈이 메모리의 각 부분에 동시에 저장될 수 있다. 이 경우에, 하나의 모듈로부터 다른 모듈로의연결에 의해 새로운 모듈의 실행을 용이하게 개시할 수 있고, 새로운 모듈이 흐름으로부터 로드될 때까지 대기하는 요구를 제거한다. 메모리에 하나 이상의 데이타 모듈을 로드하는 것도 가능하지만, 데이타 모듈이 코드 모듈보다 더 빈번하게 변화하기 때문에, 데이타 모듈은 코드 모듈에 의해 요구될 때 데이타 흐름으로부터 추출됨을 알 수 있다.
제안된 AVI 수신기의 프로세서는 임의의 대용량 기억 장치 또는 이미 로드된 AVI 프로그램을 포함할 필요가 없다. 대신에, 대화형 어플리케이션 프로그램 패킷 서비스에 반송된 모듈이 연속적으로 반복되기 때문에, 임의의 모듈은 모듈이 필요할 때 데이타 흐름으로부러 추출될 수 있으며 대용량 기억 장치는 필요 없다. 그러나, 이 때문에 AVI 수신기의 프로세서는 요구된 모듈에 대해 연속적으로 데이타 흐름을 모니터해야만 한다. 데이타 흐름을 효율적으로 모니터하고 가능한 신속하게 요구된 모듈을 처리하는 방법 및 장치가 요구된다.
본 발명의 원리에 따라, 음성 영상 대화형(AVI) 수신기는 복수의 모듈을 포함하는 패킷 서비스를 수신한다. 각 모듈은 이름을 가지며 시간 다중화된 전송 유닛을 포함한다. 각 전송 유닛은 모듈의 이름을 포함한 헤더 패킷을 포함한다. 상기수신기의 모듈 처리 방법은 후속 단계들을 포함한다 제1 단계로, 이름에 의해 식별된 모듈에 대한 처리 실행의 요구가 수신되고, 수신된 모듈 이름 및 요구된 처리를 포함한 엔트리가 엔트리의 리스트에 삽입된다. 이어서, 패킷 서비스의 헤더 패킷이 검출된다. 만약 검출된 헤더 패킷의 모듈 이름이 리스트의 엔트리의 이름과일치하면, 패킷 처리 회로는 매칭 엔트리에서 처리를 실행한다. 마지막으로 처리가 실행되었음을 나타내는 메시지가 송출된다.
본 발명의 원리에 따른 장치는 복수의 모듈을 포함하는 패킷 데이타 스트림의 소스를 포함하고, 각 모듈은 이름을 가지고 시간 다중화된 전송 유닛을 포함하며, 각 전송 유닛은 모듈의 이름을 포함한 헤더 패킷을 포함한다. 메모리는 복수의 엔트리를 포함한 요구 큐를 저장하며, 각 엔트리는 처리 요구 및 모듈의 이름을 포함한다. 메모리는 모듈의 이름을 포함한 위치를 포함하는 헤더 패킷 버퍼를 또한 저장한다. 요구 처리 회로는 이름에 의해 식별된 모듈에 대한 처리를 실행하는 것에 대한 요구를 수신하고, 식별된 모듈의 이름 및 요구된 처리를 포함하는 요구 큐에 엔트리를 저장한다. 헤더 패킷 메모리 저장 제어기는 헤더 패킷이 데이타 스트림에 나타나면 헤더 패킷 버퍼에 저장하고, 헤더 패킷 수신 신호를 발생한다. 모듈처리 회로는 헤더 패킷 수신 신호에 응답하여, 헤더 패킷 버퍼로부터 모듈 이름을 판독하고, 헤더 패킷의 그들 이름을 요구 버퍼의 각 엔트리의 모듈 이름과 비교하고, 만약 헤더 패킷의 모들 이름이 엔트리 이름과 일치하면, 일치한 요구 큐 엔트리에서 요구된 처리를 실행한다.
제1도는 본 발명에 따른 AVI 신호 디코더의 일부를 나타내는 블록도이다. 제1도에 도시된 디코더는 AVI 프로그램에 참여하고자 하는 각 뷰어 위치에 장치된다. 제1도에서, 전송 메카니즘(도시 생략)은 디코더의 입력 단자(5)에 접속된다. 입력단자(5)는 튜너(10)의 입력 단자에 접속된다. 튜너(10)의 출력 단자는 AVI 프로그램 성분 검출기(30)의 데이타 입력 단자에 접속된다. 프로그램 성분 검출기(30)의 데이타 출력 단자는 처리 유닛(40)의 시스템 버스(416)에 접속된다.처리 유닛(40)은 중앙 처리 장치(CPU)(410)를 포함하고, 판독/기록 메모리(RAM)(412) 및 판독 전용 메모리(ROM)(414)는 시스템 버스(416)를 통해 공지의 방법으로 상호 접속된다. 스트림 입력/출력 어댑터(408)는 시스템 버스(416)와 프로그램 성분 검출기(30)의 제어 단자 사이에서 양방향성으로 접속된다.
시스템 버스(416)에 접속된 음성 프로세서(418)는 AVI 음성 출력 단자(25)에 음성 신호를 제공하고, 또한 시스템 버스(416)에 접속된 영상 프로세서(420)는 AVI 영상 출력 단자(15)에 영상 신호를 제공한다. 또한 입력 및 출력 기능들은 양방향단자(45)를 통해 배치된 로컬 프로세서(도시 생략)에 접속된 입력/출력 단자(422), 입력 단자(35)를 통해 사용자로부터 데이타를 수신하기 위한 사용자 입력/출력 어댑터(424), 그리고 양방향 단자(55)를 통해 외부 컴퓨터(도시 생략)에 접속되는 모뎀(426)에 의해 제공되며, 상기 장치는 모두 공지된 방법으로 시스템 버스(416)에 접속된다. 다른 장치, 예를 들면 수학적 프로세서, 다른 입력/출력 어댑터 등도 공지된 방법으로 시스템 버스(416)에 접속될 수 있다. 또한, 디코더 엔클로저의 외부에 있는 엔클로저의 장치에 결합하기 위해 버스 연장기가 포함될 수 있다.
동작중인, 전송 메카니즘은 예를 들면, 디코더에 대해 다이렉트 RF 위성 링크, 케이블 시스템 피드 또는 광섬유 링크일 수 있으며, 복수의 AVI 신호를 반송하는데, 이들 신호중 하나가 사용자가 보기 위해 선택될 수 있다. 다이렉트 위성 링크에서, 예를 들면 복수의 AVI 데이타 스트림은 각각의 RF 반송 신호를 변조함으로써 전송 메카니즘 상으로 주파수 다중화될 수 있다. 각각의 RF 반송 신호는 위성의 각 트랜스폰더로부터 뷰어 위치까지 재방송된다. 튜너(10)는 공지된 방법으로 프로세서(40)의 제어하에서, 요구된 RF 변조 신호를 선택한다. 예를 들면, 다이렉트 위성 시스템에서 요구된 AVl 프로그램 성분들을 반송하는 패킷 서비스들을 포함하는 RF 변조 신호는 기지의 RF 튜너에 의해서 동조된다. 튜너(10)의 출력은 기저대역 디지탈 패킷 데이타 스트림의 패킷 서비스를 포함하는 기저대역 디지탈 패킷 데이타 스트림이다.
CPU(410)는 스트림 입력/출력 어댑터(408)를 통해 프로그램 성분 검출기(30)의 적절한 서비스 성분 식별자(SCID) 및 다이렉트 메모리 액세스(DMA) 제어기 레지스터에 요구된 서비스 식별자 및 RAM(412) 버퍼 위치를 기록하므로써 프로그램 성분 검출기(30)로부터 요구된 패킷 서비스를 요구한다. 그 후 프로그램 성분 검출기(30)는 요구된 패킷 서비스에 대한 패킷 데이타 스트림을 모니터한다. 헤더 페킷들이 임의의 요구된 패킷 서비스들로부터 수신되었을 때, 헤더 패킷들은 공지의 DMA 기록 기술을 사용한 RAM(412)의 소정의 헤더 패킷 버퍼에 저장되고, 헤더 패킷 인터럽트가 발생된다. 데이타 패킷들이 임의의 요구된 패킷 서비스로부터 수신되었을때, 데이타 패킷은 공지의 DMA 기록 기술을 사용하여 RAM(412)의 상기 버퍼 위치들에 저장된다. 전송 유닛의 모든 데이타 패킷들이 수신되었을 때, 데이타 완료 인터럽ㅌ가 발생된다. 패킷 서비스로부터 헤더 및/또는 데이타 패킷들의 수신은 CPU(410)의 제어하에 가능 및 불가능하게 될 수 있다. 프로그램 성분 검출기(30)의 더 상세한 설명에 대해서는 1994년 4월 22일 K. E. 브리지워터 외 다수에 의해 출원된 미국 특허 출원 제232,787호인 "PACKET VIDEO SIGNAL INVERSE OTRANSPORT PPOCESSOR MEMORY ADDRESS CIRCUITRY"를 참조한다.
예를 들면, 새로운 RF 변조 신호가 튜너(10)에 의해서 동조되었을 때, 프로그램 가이드를 포함하는 패킷 서비스는 CPU(410)에 의해 고정된 프로그램 가이드 서비스 식별자를 프로그램 성분 검출기(30)의 서비스 식별자 레지스터에 전송함으로써 요구된다. 프로그램 가이드 패킷의 데이타가 메모리에 수신되어 저장되면, 이 데이타에 의해 CPU는 원하는 AVI 프로그램에 대하여 패킷 데이타 서비스를 요구할 수 있다.
요구된 패킷 서비스의 패킷이 프로그램 성분 검출기(30)에 의해서 수신되고, DMA를 통해 RAM(412)의 미리 특정된 버퍼 위치에 기록된 후, 영상 프로세서(420) 및 음성 프로세서(418)는 프로그램 성분 검출기(30)의 제어하에 공지의 DMA 판독기술을 사용하여 그 각각의 패킷 서비스들과 관련된 RAM(412) 버퍼 위치로부터 데이타를 판독한다. 이어서 영상 프로세서(420) 및 음성 프로세서(418)는 압축되고 엔코드된 데이타를 디코드하여 출력 단자(15)에서 AVI 영상 신호를 생성하고 출력단자(25)에서 AVI 음성 신호를 생성한다. 또한, CPU(410)가 디코딩 처리에서 영상프로세서(420) 및/또는 음성 프로세서(418)를 통합할 수 있다. 데이타 성분 패킷 서비스의 패킷은 이하 설명하는 방법으로 CPU(410)의 제어하에 처리된다.
헤더 패킷이 요구된 패킷 서비스로부터 프로그램 성분 검출기(30)에 의해 수신될 때마다 그 패킷 서비스에 대해 RAM(412)의 소정의 위치에 저장되며, 헤더 패킷 인터럽트 신호가 CPU에 대해 발생된다. 헤더 패킷 인터럽트 신호에 응답하여 헤더 패킷의 내용을 분석하고, 프로그램 성분 검출기(30)의 DMA 레지스터의 RAM(412) 버퍼 위치를 적절하게 정신하고 DMA 전송(transfer)을 인에이블하거나, 전송 유닛이 바람직하지 않다면 DMA 전송을 디스에이블하는 인터럽트 조종자(handler)가 실행된다. 일단 DMA 전송이 인에이블되면, 데이타 패킷의 데이타는 DMA 제어하에 RAM(412)으로 로드된다. 데이타 패킷들의 로드가 완료되면, 프로그램 성분 검출기(30)는 데이타 완료 인터럽트 신호를 발생시킨다. 데이타 완료 인터럽트 신호에 응답하여, 인터럽트 조종자가 실행되어 "크린업" 기능을 실행하고 후속 헤더 패킷을 준비한다.
제2도는 제1도에 도시된 처리 유닛(40)에 의해서 실행되는 소프트웨어(200)의 구조를 나타낸다. 제2도는 AVI 처리 멀티태스킹 오퍼레이팅 시스템을 구성하는 주요 소프트웨어 성분을 도시한다. 제2도에서 검게 칠한 영역의 어플리케이션 프로그램을 제외한 모든 성분들은 ROM(414)에 저장된다. 어플리케이션 프로그램은 AVI신호의 데이타 성분에 의해서 반송되고, 방송국으로부터 수신되며, RAM(412)에 저장된다. 제2도에 도시된 소프트웨어 성분들이 실행 가능한 코드 및 관련 상수 데이타를 표시한다. 코드가 실행되면, 변수 데이타가 발생 및 액세스되고 RAM(412)에 저장된다.
제안된 AVI 방송 시스템에서, 서로 다른 디코더들이 예컨대, 상이한 제조업자들로부터 상이한 명령 세트들을 사용하여 CPU를 이용할 수도 있다. 이 시스템에서, 어플리케이션 프로그램은 프로세서 독립형 중간 코드이다. 각 디코더의 소프트웨어는 중간 어플리케이션 코드를 해석하는 인터프리터(INTERPRETER)를 포함한다. 인터프리터가 방송 어플리케이션 프로그램이 임의의 타입의 CPU(40)를 포함하는 디코더에서 실행될 수 있도록 해준다. 이 인터프리터가 RAM(412)으로부터 중간 코드의 AVI 데이타 성분 명령들을 판독하고 메모리를 조작하며, 어플리케이션 프로그래밍 인터페이스(API)를 통해 다른 소프트웨어 성분들을 통하여 하드웨어와 대화한다. 이 API는 기본적으로 어플리케이션 프로그램에 유용한 서브루틴과 서브루틴을 호출하는데 필요한 정보의 리스트로서 공지되어 있으며 디코더 요소들을 액세스하기 위해 어플리케이션 프로그래머에 의해 사용될 수 있다.
수학적 라이브러리가 정수와 부동소수점 연산을 실행하는데 필요한 모든 기능을 실행한다. 흐름 오프레이팅 시스템은 AVI 신호의 데이타 성분을 모니터하는데 필요한 모든 드라이버를 제어하며 이하, 더 상세히 설명되는 바와 같이 요구된 모듈들을 처리한다. 사용자 인터페이스 관리 성분이 모든 사용자 대화를 조종하고, 그래픽 라이브러리를 사용하며, 이벤트 관리자는 사용자와 통신한다. 그 그래픽 라이브러리가 모든 그래픽 이미지를 발생하여 수신된 AVI 영상에 겹쳐지게 하며 복잡한 곡선을 작도하기 위해 수학적 라이브러리를 사용한다.
디코더 소프트웨어의 상이한 소프트웨어 성분들이 상호간에 메시지들을 송출 함으로써 비동시적으로 다른 소프트웨어 성분들과 통신한다. 각 프로그램 성분은 메시지 큐를 가지며, 큐로부터 후속 메시지를 판독하는 동작, 그 메시지를 처리하는 동작, 가능하다면 메시지를 다른 프로그램 성분으로 송출하는 동작, 메시지가 더이상 없다면 후속 메시지를 기다리는 동작을 반복적으로 한다. 이벤트 관리자가 그 메시지들의 적절한 경로 지시 및 메시지 큐를 유지함으로써 다른 소프트웨어 성분들 사이에 이 메시지들의 통신을 관리한다.
각 하드웨어 어댑터는 또한 관련 소프트웨어 드라이버를 포함한다. 드라이버가 시스템 버스(416)를 통해 관련 하드웨어 어댑터의 레지스터 및 CPU(410)간의 실제적인 대화를 실행한다. 예를 들면, 모뎀(426), 외부의 입력/출력 단자(422), 스트림 입력/출력 어댑터(408) 및 사용자 입력/출력(424)에 대한 드라이버가 있다. 또한, 분리된 드라이버들이 소프트웨어 타이머를 유지하며 디코더의 프론트 패널을 동작한다. 이 드라이버들이 이벤트 관리자에 거의 종속된다. 모든 상기 성분들은 멀티태스킹 커널(kernel)에 의해 제공된 공통 기능들을 사용한다. 예를 들면, 커널이 처리 우선 순위, 액티브 태스크 큐, 신호들, 신호기들(semaphores), 프리엠프티브(preemptive) 태스크 스위칭 클록 틱스(preemptive task swiching clock ticks), 인터럽트들(하드웨어와 소프트웨어), 그리고 처리 스택(stacks)을 유지한다. 또한, 커널은 하드웨어 초기화 및 제1 시스템 태스크의 개시를 제공하며 시스템 로더이다.
개시에서, 시스템 로더가 API 호출을 흐름 오퍼레이팅 시스템에 실행시키며, 스트림 입력/출력 어댑터(408)를 통해 프로그램 성분 검출기(30)에 적절한 데이타를 송출하기 위해 차례로 스트림 드라이버를 호출한다. 시스템 로더로부터 API 호출이 이하 더 상세히 설명하는 방법으로, 디렉토리 모듈에 대한 데이타 성분 패킷 서비스의 스캔(scan)을 개시한다. 그 디렉토리 모듈이 발견되면, RAM(412)에 로드되며 모든 요구된 리소스(resource)가 그 프로그램의 실행에 유용한 것인지 알아보기 위해 검사된다. 만약 유용하다면, 그 후 시스템 로더가 자동 개시 모듈이라 명명된 제1 모듈에 대해 AVI 데이타 성분의 스캔을 개시하며, AVI 프로그램을 개시할것이다. 자동 개시 모듈이 위치되면, 자동 개시 모듈 데이타 성분 패킷 서비스로부터 추출되어 RAM(412)에 로드된다. 이 자동 개시 모듈은 중간 코드의 형태로 존재하며 인터프리터에 의해 해석됨으로써 실행된다. 그 자동 개시 모듈이 초기화 나머지를 실행하며 AVI 프로그램의 실행을 개시한다. 이 프로그램이 모두 API 호출을 통해 다른 코드 및 데이타 모듈들의 로드와 다른 코드 모듈에 연결을 가능하게 할것이다. 이 방법에서, 시스템 로더가 고전적인UNIX 쉘과 같은 방법으로 동작한다.
또한, 시스템 로더가 RAM(412)의 현재 디렉토리 모듈에 송신된 디렉토리 모듈들과 비교하면서 데이타 성분 패킷 서비스의 스캔을 계속한다. 만약 송신된 디렉토리 모듈이 RAM(412)에 저장된 디렉토리 모듈과 상이하다면, 데이타 성분 패킷 서비스가 변경, 예를 들어, 뷰어가 채널을 변경, 또는 대화형 상업 방송(commercial)이 방송 중임을 표시한다. 이 경우, 메시지가 API를 사용하는 이벤트 관리자를 통해 어플리케이션 프로그램에 송출된다 이 메시지에 응답하여 어플리케이션 프로그램이 어플리케이션 프로그램의 모든 리소스를 할당하며, 처리 요소(40)에 최소의 존재만을 유지한다. 예를 들면, 모든 코드 및 데이타 모듈들을 저장했었던 메모리가 자유롭게 될 수 있고, 오직 그 어플리케이션의 실행 상테가 RAM(412)에서 유지된다. 그 어플리케이션 프로그램의 최소화가 완료되면, 메시지가 시스템 로더에 송출된다.
그후 시스템 로더가 새로운 디렉토리 모듈에 의해서 표시된 AVI 프로그램을 실행하기 위해 필요한 리소스를 배치시킨다. 새로운 디렉토리 모듈이 AVI 데이타성분 패킷 서비스에서 검출되면, 최소화된 선행 어플리케이션의 리스트가 탐색되며, 만약 새로운 디렉토리에 의해서 표시된 어플리케이션이 존재하면, 그 어플리케이션이 데이타 성분 흐름으로부터 데이타 모듈 및 필요한 코드를 재로드함으로써재개되며, 선행 정지되었던 곳으로부터 실행을 재개한다. 이것이 방해하는 대화형상업 방송의 종료에서 발생할 수 있다. 이 처리가 제2 AVI 프로그램 자체가 제3 AVI 프로그램에 의해서 인터럽트될 수 있는 위치에서 반복될 것이며, 그 후 재개될것이다.
제3도는 흐름도 및 메모리 배치도를 도시한 것이며, 제4도는 프로그램 성분 검출기(30)(제1도에 도시)의 더 상세한 블록도 및 AVI 프로그램의 데이타 성분으로부터 모듈들의 추출을 이해하는데 유용한 더 상세한 메모리 배치도이다. 제4도에서, 튜너(10)(제1도에 도시)로부터 기저대역 디지탈 패킷 스트림이 데이타 DMA 제어기(32)의 각각의 데이타 입력 단자 및 프로그램 성분 검출기(30)의 헤더 패킷 DMA 제어기(34)에 접속된다. 데이타 DMA 제어기(32)의 데이타 출력 단자들 및 헤더패킷 DMA 제어기(34)가 각각 처리 유닛(40)의 시스템 버스(416)에 접속된다. 스트릴 입력/출력 어댑터(408)가 시스템 버스(416) 사이에 접속되며, 판각 데이타 DMA제어기(32)의 입력 단자 및 헤더 패킷 DMA 제어기(34)를 제어한다, 동작중에, 스트림 입력/출력 어댑터(408)가 CPU(410)(제1도에 도시)로부터 데이타 DMA 제어기(32)및 헤더 패킷 DMA 제어기(34)에 공지의 방법으로 제어 정보, 예를 들면, 버퍼 위치 개시 및 종료 어드레스, 판독 및 기록 어드레스, 그리고 전송 계수들을 제공한다. 스트링 입력/출력 어댑터(408)가 CPU(410)의 제어하에 공지의 방법으로 데이타 DMA제어기(32) 및/또는 헤더 패킷 DMA 제어기(34)가 데이타 또는 헤더 패킷을 각각 패킷 스트림으로부터 버퍼로 전송시키는 것을 가능, 또는 상기 전송들을 불가능하게 할 수 있다. 그 데이타 DMA 제어기(32)가 데이타 전송을 완료하면, 데이타 DMA 제어기가 데이타 완료 인터럽트를 발생시킨다. 그 헤더 패킷 DMA 제어기(34)가 헤더 패킷의 로드를 완료하면, 헤더 패킷 DMA 제어기가 CPU(410)로 헤더 패킷 인터럽트를 발생시킨다.
또한, 제4도에서 RAM(412)은 큰 블록으로 표시되며, 데이타 구조들은 큰 블록내의 작은 블록으로 표시된다. 제4도에서 블록들은 계통도일 뿐이며, 데이타 구조들의 RAM(412)에 배치된 절대적 또는 상대적 위치 또는 크기를 도시한 것을 의미하지 않는다. RAM(412)에서, 모듈 요구 큐(322), 헤더 패킷 버퍼(324), 디렉토리 모듈 버퍼(326) 및 모듈 버퍼(328) 데이타 구조들이 도시된다. 데이타 구조들의 정보 필드들은 그 필드에 포함된 정보의 타입의 이름을 포함한 수평 슬라이스들로 도시된다. 이것들은 이하 상세하게 논의될 것이다.
제3도는 데이타 성분 패킷 서비스로부터 모듈을 추출 및 모듈을 RAM(412)의 버퍼에 저장하는데 따르는 과정을 도시한다. 유사한 과정들이 이하 설명될 것과 같이 다른 모듈의 처리중에 따르게 된다. 제3도에서, 어플리케이션 프로그램(또는 시스템 로더)에서 일어나서 동작들이 "APPLN PROG" 라고 헤드된 좌측 칼럼에 도시된다. 블록(302)에서, API를 사용한 어플리케이션 프로그램이 AVI 프로그램 성분 패킷 서비스로부터 식별자(ID)를 포함한 모듈을 로드하기 위하여 흐름 오퍼레이팅 시스템에 요구를 만든다. 상기와 같이, API 호출은 기본적으로 서브루틴이 오퍼레이팅 시스템 기능을 호출하는 것이다. 프로그램 실행은 그 후 흐름 오퍼레이팅 시스템(FOS)에 전송된다. FOS에 의해서 일어난 동작들은 "FOS" 라고 헤드된 우측의 후속란에 도시된다. 요구가 모듈의 로드를 포함하기 때문에, 블록(312)에서 FOS 는모듈을 포함하기 위해 메모리 관리자로부터 충분한 크기의 메모리 배치를 요구한다. 예를 들면, 만약 요구된 모듈이 코드 또는 데이타 모듈이라면, 저장된 선행 디렉토리 모듈(326)(제4도에 도시)이 모듈 ID의 길이(LENGTH)를 포함한 필드를 포함한다. 이 경우에 메모리 관리자가 개시 어드레스(START) 및 종료 어드레스(END)를 포함하는 모듈 메모리 버퍼(제4도에 도시된 328)를 할당한다. 그 후, 블록(314)에서 요구를 도시한 정보, 예를 들면, 모듈의 식별자(ID), 요구(REQUEST)의 타입(이 경우 모듈의 추출 및 로드하기 위한 요구) 및 할당된 버퍼 개시 어드레스(START) 및 종료 어드레스(END)가 요구 큐(QUEUE)(322)의 엔트리에 모두 저장된다. 헤더 패킷 DMA 제어기(34)가 헤더 패킷이 패킷 스트림에서 발생하면 그 후 헤더 패킷을 RAM(412)으로 로드시킬 수 있다.
만약 요구가 디렉토리 모듈에 대해 있다면, 디렉토리 모듈의 길이는 기지되지 않은 프라이어리(Priori)이다. 이 경우에 상대적으로 큰 메모리 할당이 요구된다. 만약 이 할당을 너무 작게 만든다면, 큰 메모리 할당의 요구 후, 디렉토리 모듈이 로드될 때까지 요구가 반복되거나 또는 디렉토리 모듈을 로드할 메모리가 불충분하다고 결정된 경우에 AVI 프로그램을 동작하기 위한 시도가 포기된다.
FOS는 그 후 즉시 호출한 어플리케이션 프로그램에 복귀한다. 그 후 그 어플리케이션 프로그램이 다른 처리, 예를 들면 다른 모듈 및 다른 초기화 등에 대한 요구를 송출시키는 것을 실행할 수 있다. 요구된 모듈에 액세스가 요구되면, 블록(304)의 어플리케이션 프로그램이 API 호출을 커널(kernel)의 대기 기능에 송출할 것이다. 이 기능이 그 어플리케이션 프로그램에 의해서 수신된 요구된 모듈의성공적인 로드를 표시하는 메시지가 표시될 때까지 어플리케이션 프로그램의 실행을 일시 정지시킨다. 상기 메시지가 수신되면, 어플리케이션 프로그램이 그 메시지를 처리하기 위해 재개된다. 선택적으로, 어플리케이션 프로그램이 사용자 입력에 더 빨리 응답하기 위한 동작, 요구된 모듈의 성공적인 로드를 표시하는 메시지에 대한 메시지 큐를 주기적으로 폴(poll)하기 위한 동작 및 메시지가 수신되었을 때 그 메시지를 처리하기 위한 동작을 유지할 것이다.
상기와 같이, 헤더 패킷 DMA 제어기(34)가 메모리 관리자에 의해서 선행 할당된 RAM(412)의 헤더 패킷(HDR PKT) 버퍼(324)(제4도에 도시)에 헤더 패킷을 로드시키고, CPU(410)에 헤더 패킷 인터럽트를 송출한다. 커널의 헤더 인터럽트 조종자에 의해 실행되는 처리의 일부가 제3도의 "HEADER INTR" 라고 헤드된 칼럼에 도시된다. 블록(332)에서 헤더 패킷에 대하여 전송 유닛에서 반송되는 모듈의 식별자는헤더 패킷 버퍼(324)의 기지의 위치 및 ID로부터 복구된다, 블록(334)에서 요구 큐(322)가 이 모듈에 대한 현안 요구가 있는지 결정하기 위해 조사된다.
만약, 블록(336)에 그 모듈에 대한 현안 요구가 있다면, 프로그램 성분 검출기(30)에 있는 데이타 패킷 DMA 제어기(32)가 초기화된다. 요구 큐(322)로부터 모듈 버퍼(328) 개시 어드레스(START) 및 종료 어드레스(END), 기록 어드레스는 모듈버퍼(328) 개시 어드레스(START) 및 전송 유닛 데이타 오프셋(OFFSET)의 합이다(즉, START + OFFSET); 최종 기록 어드레스는 START + OFFSET + SIZE(또는 선택적으로, 로드 계수는 최종 기록 어드레스의 장소의 헤더 패킷 버퍼(324)로부터 크기(SIZE)이다.) 데이타 패킷 DMA제어기(32)가 그 후 가능하게 된다.
블록(338)에서, 만약 블록(338)이 로드 요구가 만들어진 후에 수신된 제1 헤더 패킷이라면, 요구 큐(322)에 저장된 제1 기록 어드레스(FIRST)에 대한 포인터가 이 제1 전송 유닛의 기록 어드레스에서 초기화된다(즉, FIRST = START + OFFSET). 또한, 요구 큐(322)에 저장된 기대된 후속 기록 어드레스(NEXT)에 대한 포인터 또한 제1 전송 유닛의 기록 어드레스에서 초기화된다(즉, NEXT = START + OFFSET). 블록(338)에서 그 후 실행되는 다른 처리는 이하 더 상세히 설명될 것이다. 예를들면, 현재 처리되고 있는 요구(CURR REQ)의 요구 큐(322)의 위치에 대한 특정 포인터가 RAM(412)에 있는 소정의 위치(도시 생략)에 저장된다. 그 후, 블록(339)에서, 그 인터럽트 조종자가 복귀한다(339).
데이타 패킷 DMA 제어기(32)가 기록 포인터(WP)를 선행 수신된 기록 어드레스(START + OFFSET)로 초기화시키고, 데이타를 AVI 프로그램 성분 패킷 서비스의 후속 데이타 패킷들로부터 RAM(412)의 모듈 버퍼(328)의 연속적인 위치들로 로드시킨다. 전송 유닛의 모든 데이타가 RAM(412)으로 로드되었다면, 데이타 종료 인터럽트가 발생된다. 커널의 데이타 종료 인터럽트 조종자에 의해 실행된 처리의 일부가 제3도의 "DATA COMPLINTR" 라고 시작하는 우측 칼럼에 도시된다.
블록(342)에서, DMA 전송의 현재 위치에 관계된 크린업 기능들이 실행된다. 현재 요구 포인터(CURR REQ)가 헤더 패킷 인터럽트 조종자에서 선행 세트되며, 전송 유닛이 로드를 종료했다는 것을 요구 큐(322)의 엔트리에 지시한다. 현재 요구의 기대된 후속 기록 어드레스 포인터(NEXT)가 헤더 패킷 버퍼(324)로부터 값(SIZE)에 의해서 증가되고, 후속 전송 유닛에 대해 기대되는 기록 어드레스에 바로 지시한다. 만약 기대된 후속 기록 어드레스 포인터(NEXT)의 새로운 값이 모듈 버퍼(328)의 종료 어드레스(END)와 일치한다면, 새로운 값이 랩 어라운드 방식으로, 모듈 버퍼(328)의 개시 어드레스(START)에 리세트된다.
블록(344)에서 모든 요구된 모듈이 메모리에 로드되었는지가 결정된다. 기대된 후속 기록 어드레스 포인터(NEXT)의 값이 제1 로드된 어드레스(START)의 값에 비교된다. 만약 그 값들이 일치하면, 그 후 모든 모듈이 로드된다. 블록(346)에서, 메시지가 이벤트 관리자를 통해, 제3도에서 파선으로 도시한 것처럼 요구한 모듈이 완전히 복구되었다는 것을 표시하기 위하여 요구한 어플리케이션 프로그램까지 송출된다. 또한, 그 요구는 요구 큐(322)로부터 제거된다. 만약 기대된 후속 기록 어드레스(NEXT)의 값이 제1 로드된 어드레스(START)의 값과 일치되지 않는다면, 데이타 종료 인터럽트 조종자가 복귀시키며(349), 요구된 모듈에 대한 데이타를 포함한 후속 전송 유닛이 상기차 같이 헤더 패킷 인터럽트 조종자에 의해서 처리될 것이다. 다른 이벤트에서 현재 요구 포인터(CURR REQ)가 클리어된다.
만약 전송 유닛의 일부가 프로그램 성분 검출기(30)에 의해 적절하게 수신되지 않는다면, 선행 헤더 패킷으로부터 데이타 종료 인터럽트 신호가 프로그램 성분 검출기(30)의 DMA 회로에 의해서 발생되기 전에 후속 헤더 패킷이 수신될 것이다. 이것은, 차례로, 후속 데이타 종료 인터럽트 신호가 발생한 후에 선행 헤더 패킷 인터럽트 신호가 발생될 것이다. 헤더 패킷 인터럽트 조종자 및 데이타 종료 인터럽트 조종자의 처리가 이 상황을 식별하기 위해 협력 및 그런 에러를 조종하기 위해 제공할 수 있다.
헤더 패킷 인터럽트 조종자에서, 그런 처리는 데이타 패킷 DMA 제어기가 후속 전송 유닛의 수신을 가능하게 한 후에 블록(338)(제3도에 도시)에서 실행된다. 수신된 각각의 헤더 패킷에 대하여, 데이타 종료 인터럽트 조종자에 의해서 사전에 경신된, 현재 요구 큐 엔트리의 기대된 후속 기록 어드레스(NEXT)가 새롭게 수신된 헤더 패킷에 대한 기록 어드레스(START + OFFSET)에 비교된다. 만약 그것이 일치하면, 사전의 전송 유닛이 성공적으로 수신되었다. 만약, 그렇지만, 최종 종료 어드레스가 새로운 오프셋과 같지 않다면, 그것은 사전의 전송 유닛의 DMA 전송이 성공적으로 종료되지 않았다는 것을 의미한다. 이 경우에, 제1 기록 어드레스(FIRST)와 기대된 후속 기록 어드레스(NEXT)는 모두 현재 기록 어드레스(START + OFFSET)에서 경신된다. 즉, 사전의 로드된 전송 유닛들이 반드시 폐기(discard)되고, 모듈의 로드를 현재 전송 유닛에서 재개된다. 에러의 데이타 결여 타입으로부터 복구하는 이 형태는 사전의 성공적으로 로드된 전송 유닛이 재로드될 때 에러를 가져오는 결과를 초래할 것이기 때문에, 더 많은 시간을 필요로 할 것이다, 그렇지만, 이 복구형태를 사용함으로써, 헤더 패킷 인터럽트 조종자 및 데이타 종료 인터럽트 조종자에 의해 실행된 태스크들은 최소화되며, 단지 2개의 포인터가 메모리에 필요하게 된다.
모듈 종료 메시지 조종의 일부처럼, 이벤트 조종자가 수신된 모듈의 에러 검사를 실행한다. 예를 들면, 순환 중복 검사(CRC) 코드가 모듈의 일부에 종속된 것처럼 송신된다. 이벤트 조종자가 RAM(412)의 모듈 버퍼(328)의 수신된 모듈에 대하여 CRC를 계산하고, 계산한 CRC를 종속된 CRC에 비교한다. 만약 새롭게 계산된 CRC가 종속된 CRC와 일치하면, 모듈이 정확하게 수신되었고, 그렇지 않으면 에러가 발생되었으며, 상기와 같이 모듈이 재로드된다.
요구된 모듈이 메모리에 완전히 로드되었을 때 어플리케이션 모듈에 의해 추가로 처리를 계속할 것이며, API 호출의 바닥 부분으로부터 대기 기능(304)까지 선처럼 추론하여 제3도에서 도시된다. 그렇지만, 어플리케이션 프로그램의 분리된 테스크는 그 어플리케이션 프로그램의 메시지 큐로부터 메시지의 수신에 응답하여 기동될 것이다.
상기 API는 인터프리터를 통한 어플리케이션 프로그램에 의해서 또는 시스템 로더에 의해서 데이타 스트림을 처리하기 위한 기능들을 포함한다 어플리케이션 프로그래머는 요구된 데이타 스트림 기능들을 처리하기 위하여 API 호출을 포뮬레이팅한 공개된 API 설명서를 사용할 것이다. 기능들의 제1 군은 모듈들의 디렉토리에 관련한다. 제1 기능 DIR_NEW는 새로운 디렉토리에 대한 요구이다. 상기와 같이, 이 API 기능에 응답하여 메모리의 할당이 만들어지며, 그 후 요구가 데이타 스트림의 후속 디렉토리 모듈의 로드를 위해 큐잉되며, API 기능이 복귀된다. 디렉토리가 로드되면, 메시지가 요구한 프로그램에 송출된다. 다른 기능 DIR_FREE는 현재 디렉토리의 메모리 공간을 비운다. 디렉토리 모듈을 표시한 기능 DIR_SELECT 는 후속 API 호출에서 사용될 것이다. 기능 DIR_CURRENT 는 조종을 현재의 선택된 디렉토리에 복귀시킨다.
기능들 DIP_SPY 및 DIR_STOP_SPY 는 기능 DIR_NEW와 유사하다. DIR_SPY API 호출에 응답하여, 요구가 디렉토리 모듈의 로드 및 디렉토리 모듈이 로드되었을 때메시지의 송출 대신에 디렉토리 모듈에 대해서 요구 큐에 큐잉되지만, 이 기능이 디렉토리 모듈이 데이타 흐름(디렉토리 모듈이 로드되지 않았다)에서 검출될 때마다 메시지를 송출한다. 또한, 요구는 DIR_STOP_SPY API 호출이 만들어질 때까지 요구 큐에 남는다. DIR_STOP_SPY API 호출이 만들어졌을 때, 요구 큐가 디렉토리 스파이 요구를 탐색하고 그 엔트리는 제거된다. 이 기능들은 데이타 스트림의 현재디렉토리로부터 임의의 변화를 감시하는데 유용하다. 마지막으로 현재의 디렉토리: DIR_IDENTIFIER, DIR_REQUIREMENT 및 DIR_NB_MODULES 에 관한 정보를 추출하기위해 API 호출이 있다.
모듈에 종속된 CRC 코드 때문에, 모듈을 로드하기 위한 임의의 메모리 할당요구는 종속된 CRC 코드를 고려해야만 한다. 이것을 조종하기 위해 3 개의 API 호출이 제공된다. 기능 MODULE_ALLOC 이 논의처럼 모듈 식별자를 필요로 하며, 임의의 CRC 또는 다른 메모리 요구들을 고려하여 그 모듈을 로드하기 위해 적절한 양의 메모리의 할당을 요구한다. 기능 MODULE_FREE 가 모듈의 메모리를 자유롭게 한다. MODULE_CHECK 는 로드된 모듈의 CRC 검사를 실행시키고 그 결과를 복귀시킨다. 상기는 CRC 가 메모리에 로드된 것처럼 모듈에 종속되기 때문에 임의의 시간에 실행 될 것이다.
API 호출의 다른 세트가 그것들을 식별하기 위하여 현재의 선택된 디렉토리를 사용하여 모듈들을 처리한다. 모듈: MODULE_REQUIREMENT, MODULE_SIZE 및 MODULE_FLAGS에 관한 정보를 추출하기 위해 API 호출이 있다. 이것들이 모듈이 로드 및/또는 실행될 수 있을지를 결정하기 위한 시스템을 가능하게 한다. 기능MODULE_RUN이 전술한 바와 같이, 새로운 처리를 창출 및 모듈의 엔트리 포인트에서 실행을 개시하는 실행 가능한 모듈을 로드하기 위해 사용된다. 이 기능은 AVI 프로그램 실행을 개시하기 위하여 시스템 로더에 의해서 사용된다. 기능 MODULE_CHAIN 은 후속 실행 가능 모들-을 로드, 현재 모듈의 실행을 종료 및 그것의 엔트리 포인트에서 새롭게 로드된 모듈의 실행을 개시하는데 사용된다. 이 경우에 새로운 처리가 창출되지 않는다. 기능 MODULE_LOAD는 모듈을 로드하는데 사용되지만, 실행을 개시하는데 사용되지는 않는다. 상기 메시지가 모듈 로드가 종료되었을 때 요구한 프로그램에 송출된다. 기능 MODULE_EXEC은 새로운 처리를 창출 및 모듈의 실행을 개시하는데 사용되며, 그것의 엔트리 포인트에서 MODULE_LOAD API 호출에 의해 사전에 로드되었다.
기능 MODULE_LINK 는 현재의 처리, 리소스들 및 변수들을 사용한 새로운 모듈을 실행시킨다. 기능 MOBULE_LINK 가 새로운 모듈에 동적 연결을 제공함으로써 모듈로부터 서브루틴 등의 호출을 허용한다. 이것이 AVI 프로그램을 더 작은 모듈에 분배되도록 허용하며, 필요시에만 동적으로 연결될 것이다 MODULE_LINK 기능은 재배치 및 점프 테이블을 유지한다. 기능들 MODULE_SPY 및 MODULE_STOP_SPY 는 식별된 모듈들에 대해서는 제외하고 DIRECTORY_SPY 및 DIRECTORY_STOP_SPY와 유사하게 동작한다. MODULE_SPY API 호출이 엔트리를 모듈의 식별자를 포함한 요구 큐에 삽입한다. 같은 식별자를 포함한 헤더 모듈이 데이타 스트림에서 검출될 떼마다, 메시지가 요구한 프로그램에 송출된다. 이것은 MODULE_STOP_SPY API 호출이 만들어질 때까지 계속된다. MODULE_STOP_SPY API 호출에 응답하여, 식별된 모듈에 대한스파잉 요구를 포함한 엔트리가 요구 큐로부터 제거된다. MODULE_STOP_LOAD 기능은 현재 처리중인 요구를 로드하는 임의의 모듈을 정지시키며, 요구 큐로부터 로드한 요구 엔트리를 제거시킨다. 기능들 FLOW_MESSAGE 및 FLOW_STOP_MESSAGE 는 일시 정지된 데이타 흐름 또는 데이타 흐름의 종료와 같은 데이타 스트링에 관련된 특정 신호 패킷이 발생할 때, 메시지에 대한 요구를 각각 발생 및 제거시킨다. 그런 이벤트가 발생하면, 메시지가 요구한 프로그램에 송출된다.
전술한 바와 같이, 시스템 로더가 시스템 초기화를 실행하고, 어플리케이션 프로그램의 실행이 수신된 음성 및 영상 성분들을 확실하게 동기화하기 위해 데이타 스트림을 모니터한다. 제5도는 시스템 로더의 초기화 기능을 도시한 흐름도이다. 제5도의 블록(52)에서, 디코더(17)의 다양한 하드웨어 및 소프트웨어 성분들은 초기화된다. 또한, RAM(412)의 위치들은 다양한 데이타 구조들로부터 할당 및 초기화된다. 이 초기화 기능들은 공지되어 있고, 디코더에 다른 소프트웨어 성분들을 종속한다. 시스템 프로그래머가 어떤 하드웨어 및 소프트웨어 초기화가 요구되는지, 어떤 데이타 구조들이 요구되는지, 그리고 초기화를 실행시키기 위해 어떻게 해야하는지를 이해할 것이다. 이후에, 이 블록은 이하 상세하게 설명되지 않을 것이다.
블록(54)에서 상기의 DIR_NEW API 호출이 만들어진다. 이 API 호출이 AVI 프로그램 성분 패킷 서비스에 있는 후속 디렉토리 모듈을 RAM(412)에 할당된 버퍼로 로드한다. 이 API 호출이 비록 그 디렉토리가 임의의 시간후까지 RAM(412)에 로드되지 않을지라도 이미 시스템 로더에 복귀한다. 시스템 로더는 다른 기능들을 실행하고, 그 후, 필요하다면, 이벤트 조종자를 통해 메시지가 수신될 때까지 그 디렉토리 모듈을 표시한 대기 API 호출(도시 생략)이 로드된다. 블록(56)에서, 디코더(제1도에 도시)에 유용한 리소스들이 디렉토리 모듈의 요구된 리소스를 표시하는 데이타에 비교된다. 만약 디코더가 AVI 프로그램을 실행하기에 충분한 리소스를 포함한다면, MODULE_RUN API 호출은 전술한 바와 같이 사전에 로드된 디렉토리 모듈에서 식별된 자동 개시 코드 모듈을 로드하기 위해 만들어진다. 또한, API 호출이 이미 복귀되었지만, 코드 모듈은 임의의 시간후까지 데이타 스트림으로부터 완전히 로드되지 않을 것이다. 자동 개시 코드 모듈이 완전히 로드된 후에, 다른 태스크가 인터프리터를 통해 AVI 프로그램을 실행하기 위한 멀티태스킹 커널을 사용하는 공지된 방법으로 창출된다.
블록(58)에서, 시스템 로더가 실행 신호 및 디렉토리 변화에 대해 AVI 프로그램 성분을 모니터하기 시작하며, 하기와 같이, AVI 프로그램에 메시지들을 송출 함으로써 AVI 프로그램의 실행을 제어한다. 제6도는 시스템 로더의 모니터하는 기능을 도시한 상태 전이도이며, 시스템 로더의 동작을 이해하는데 유용하다. 만약 디렉토리가 AVI 프로그램 성분 패킷 서비스에서 검출된다면, 뷰어가 선택했던 프로그램은 대화형 프로그램이다. 적어도 한번은 디렉토리가 RAM(412)에 로드될 것이고, AVI 성분 패킷 서비스로부터 요구된 자동 개시 코드 모들, AVI 프로그램이 시스템 로더의 제어하에 INACTIVE상태(61)로 들어간다. INACTIVE 상태(61)에서 어플리케이션을 개시하기 위한 모든 리소스들이 배치되었으며, 어플리케이션은 부분적으로 또는 완전히 로드될 것이지만, 뷰어와 대화는 없다. 예를 들면, 자동 개시 모듈이 로드되는 동안, AVI 프로그램은 INACTIVE상태에 남는다. 또한, 자동 개시 모듈이 로드된 이후에, 뷰어는 AVI 프로그램을 반송하는 채널을 통하여 변화하는 채널을 그저 보게 될 것이며, AVI 프로그램과 대화할 의도는 없다. 또는 뷰어가 대화에 참여하기 위한 결정을 내리기 전에 AVI 프로그램을 보기를 원할 수 있다, 이 모든 경우에서 원격 제어가 정규 채널 변화 모드에서 작동하며 대화형 모드에서 작동하지 않는다는 것은 중요하다. 이것이 INACTIVE 상태(61)의 목적이다. 뷰어에게 시청하고 있는 채널이 대화형 프로그램을 방송하는 중이라는 것을 알리기 위하여 특정 대화형 프로그램 로고 또는 아이콘(icon)이 AVI 영상에 겹쳐진다.
뷰어가 AVI 프로그램과 대화를 실질적으로 시작하기 위하여 이하 "ACTIVATE KEY" 라 불리는 특정 키가 원격 제어에서 제공된다. 대화형 프로그램 로고 또는 아이콘이 나타나면, 뷰어는 ACTIVATE KEY를 누를 것이다. ACTIVATE KEY 누름에 응답하여, 시스템 로더는 AVI 프로그램에 ACTIVE 메시지를 송출하고, 그 후 ACTIVE 상태(63)로 들어간다. ACTIVE 상태(63)에서 인터프리터가 그것의 엔트리 포인트에 사전에 로드된 AVI 프로그램을 실질적으로 실행하기 시작한다. AVI 프로그램의 자동개시 모듈이 실행을 시작하면 자동 개시 모듈이 RAM(412)에 자동 개시 모듈 자신의 데이타 구조를 배치 및 초기화시키고, 다른 코드 및/또는 데이타 모듈들을 로드시키며, 원격 제어 및 앞 제어 패널로부터 모든 사용자 동작을 제어한다.
AVI 프로그램이 모든 사용자 대화를 제어하기 때문에 AVI 프로그램이 사용자가 채널 변화 또는 다른 정규 원격 제어 기능들을 못하도록 할 수 있다. 정규 원격 제어 기능들에 복귀시키기 위하여, 뷰어가 현재의 AVI 프로그램을 첫번째로 정지시켜야만 한다. 뷰어가 프로그램을 다시 재개시키기 위해서 ACTIVATE KEY를 누른다.이 키이 누름에 응답하여, 시스템 로더가 실행중인 AVI 프로그램에 DEACTIVATE 메시지를 송출하며, 그 후 ACTIVATE 상태(63)를 벗어나 INACTIVATE 상태(61)에 복귀한다. 또한, 특정 대화형 프로그램 로고 또는 아이콘이 AVI 프로그램이 로드되었지만 비실행중이라는 표시를 나타낸다. 그 후, 뷰어가 채널 변화 또는 다른 정규 원격 제어 기능들을 실행할 것이며, 또는 다시 ACTIVATE KEY를 누름으로써 AVI 프로그램을 재개시킬 것이다. 이와 같이 ACTIVATE KEY 는 ACTIVATE KEY 가 눌러졌을 때 ACTIVE상태(63)및 INACTIVE 상태(61) 사이를 스위치하기 위한 토글처럼 작동한다. ACTIVATE 및 DEACTIVATE 메시지가 ACTIVATE TOGGLE 메시지처럼 생각되어질 수 있는데, 그것의 의미(ACTIVATE 또는 DEACTIVATE)는 ACTIVATE KEY 가 눌러졌을 때, AVI프로그램의 상태(각각 INACTIVE또는 ACTIVE)에 종속한다.
AVI 프로그램이 ACTIVE 상태(63)에서 실행되는 동안, AVI 프로그램의 실행을 일시 정지하기 위해 요구되는 시간들이 있다. 예를 들면, 비대화형 상업 방송이 송신되어질 때, 그 송신된 음성 및 영상이 디코더(10)(제1도에 도시)에 의해서 발생되어진 음향 및 그래픽을 더이상 매치할 수 없을 것이고, 비대화형 상업 방송의 전송의 정규 방법으로 원격 제어를 사용하기 위해 뷰어를 허용하는 것이 요구된다. 그렇지만 어플리케이션 프로그래머들이 그러한 일시 정지들이 요구될 시기를 미리 알 수는 없다. 그러므로, 이 경우에 AVI 프로그램에 독립한 방송국이 일시 정지 신호 패킷이라 명명된 AVI 프로그램 성분 패킷 서비스의 특정 신호 패킷들(상기 처럼)을 반복적으로 포함한 것이다. 각각의 그런 패킷이 현재 실행중인 AVI 프로그램이 실행을 일시 정지할 것을 지시하는 데이타를 포함한다.
FLOW_MESSAGE API 호출을 통해, 시스템 로더가 그런 패킷들이 AVI 프로그램 성분 패킷 서비스에서 인식될 때마다 메시지를 수신한다, 예를 들면, 일시 정지 신호 패킷이 수신되면, 제1 일시 정지 신호 메시지에 응답하여 시스템 로더가 일시정지 신호 메시지를 수신하며, AVI 프로그램에 SUSPEND 메시지를 송출하며, 차례로 실행을 일시 정지시킨 추, SUSPENDED 상태(65)로 들어간다. SUSPENDED 상태(65)에서, AVI 프로그램의 실행이 상기 방법으로 중지하고, 그것은 일지 정지되었던 포인트로부터 재개될 것이다. 즉, AVI 프로그램을 실행하기 위해 필요한 모든 리소스들은 계속 배치되며, AVI 프로그램의 실행 상태는 RAM(412)의 위치에 저장된다. 또한 사전의 실행중인 대화형 프로그램이 일시 정지되었음을 표시하며, 차례로 이전의 일시 정지된 곳으로부터 실행을 재개하며, 상기 ACTIVE 상태(63)로 들어간다.
상기 SUSPEND/CONTINUE신호 배열의 선택적인 실시예는 AVI 프로그램의 실행을 일시 정지하는 것이 요구되면, 방송국에 대해 AVI 프로그램 성분 패킷 서비스의 단일 일시 정지 신호 패킷을 포함하는 것이다. 그 후, 방송국은 AVI 프로그램의 실행 재개가 요구되면, 계속 신호 패킷이라 불리는 AVI 프로그램 성분 패킷 서비스의 다른 특정 신호 패킷을 포함한다, 계측 신호 패킷이 현재 일시 정지된 AVI 프로그런을 실행 재개하도록 지시하는 데이타를 포함한다. 시스템 로더가 계속 신호 패킷을 인식하고, CONTINUE 메시지를 AVI 프로그램에 송출하며, 상기와 같이, 실행 재개 및 ACTIVE상태(63)로 들어간다.
뷰어가 일시 정지된 AVI 프로그램의 실행을 중지하는 것 또한 가능하다. 프로그램 일시 정지된 로고 또는 아이콘이 나타나면, 뷰어는 ACTIVE KEY를 누를 것이다. 이 키이 누름에 응답하여 시스템 로더가 DEACTIVEATE 메시지를 일시 정지된 AVI 프로그램에 송출하며, 차례로, 상기 INACTIVE 상태(61)로 들어간다 INACTIVE 상태(61)로부터, 그 프로그램이 뷰어가 ACTIVATE KEY를 누를때, ACTIVATE 메시지를 AVI 프로그램에 송출하는 시스템 로더에 기인하여, 실행 재개만 할 것이며, 그 후 ACTIVE 상태(63)로 들어갈 것이다. 만약 시스템 로더가 아직까지 일시 정지 신호 패킷들을 수신중이라면, 다른 SUSPEND 메시지는 이미 AVI 프로그램에 송출되었으며, 또한 SUSPENDED 상태로 들어간다. AVI 프로그램중의 상태들인 INACTIVE 상태(61), ACTIVE 상태(63) 및 SUSPENDED 상태(65)는 시스템 로더로부터 AVI 프로그램까지 송출되는 메시지들에 응답하여 스위치할 것이다. 그렇지만, 시스템 로더의 직접 제어하에 들어가게되는 다른 2 상태가 있다.
AVI 프로그램은 그것의 실행이 종료에 도달할 수 있다. 예를 들면, 방송국은 AVI 프로그램 성분 패킷 서비스에 종료 실행 신호 패킷이라 명명된 다른 특정 신호 패킷을 포함할 것이다. 시스템 로더가 종료 실행 신호 패킷이 FLOW_MESSAGE API 호출을 통해, AVI 프로그램 성분 패킷 서비스에서 인식되어질 때 종료 실행 메시지를 수신한다. 종료 실행 메시지에 응답하여, 시스템 로더가 EXIT 메시지를 AVI 프로그램에 송출한다. AVI .프로그램이 어떤 상태, INACTIVE(61), ACTIVE(63) 또는 SUSPENDED(65)에 있는지 고려하지 않고, AVI 프로그램이 AVI 프로그램의 모든 리소스들의 재배치 및 AVI 프로그램 자체의 모든 기륵을 디코더(10)(제1도에 도시)로부터 제거시킴으로써 EXIT 메시지에 응답한다. 그 프로그램이 HALTED 상태(69)로 들어갔다고 생각되며, 디코더(10)로부터 사라졌다. 몇몇 경우들에서, 프로그램 자체가 프로그램의 실행이 사용자 명령을 통해 또는 프로그램 자체 실행중 하나에 의해서, 종료에 도달했다는 것을 인식할 수 있다. AVI 프로그램 그 자체의 실행이 종료했다는 것을 인식했을 때, AVI 프로그램이 EXIT 메시지를 수신 받아 실행하였으며, 저절로 HALTED상태(69)로 진입한 것과 같은 처리를 실행한다.
AVI 프로그램이 SUSPENDED 상태에 있을 때, 상이한 대화형 AVI 프로그램이 AVI 프로그램 성분 데이타 흐름에 수신될 것이라는 것은 가능하다. 예를 들면, 만약 AVI 프로그램이 상업 방송 때문에 일시 정지되었다면, 그 상업 방송 자체가 대화형 프로그램이거나, 또는 사용자가 상이한 AVI 프로그램을 방송하는 채널에서 채널을 변화시켰었을 것이다. 이 두 경우에서, 새로운 AVI 프로그램이 일시 정지된 AVI 프로그램에 대한 디렉토리 모듈과는 상이한 디렉토리 모듈을 포함할 것이다.
시스템 로더가, DIRSPY API 호출을 통해, 디렉토리가 AVI 프로그램 성분 패킷 서비스에서 검출될 때마다 메시지를 수신한다. 그 시스템 로더가 현재 동작중인디렉토리를 방금 검출된 디렉토리에 비교한다. 시스템 로더가 AVI 프로그램 성분 패킷 서비스에 상이한 디렉토리가 존재한다는 것을 인식하면, 시스템 로더가 그 디렉토리에 의해서 표시된 AVI 프로그램을 로드하기 시작한다.
우선, 메시지는 그 프로그램 성분 패킷 서비스가 더 이상 AVI 프로그램을 방송하고 있지 않거나, 또는 그 프로그램이 '흐름 손실(lost the flow)'을 가진다는 것을 표시하는 현재 일시 정지된 AVI 프로그램에 송출된다. 이 메시지가 현재 실행중인 프로그램에서 메시지 자체를 최소화시키는 요구, 즉 MINIMIZE 메시지이다.MINIMIZE 메시지에 응답하여, 현재 일시 정지된 AVI 프로그램은 AVI 어플리케이션의 식별성을 포함하는 RAM(412)의 작은 블록에서 그것의 현재 실행 상태 및 환경을 우선 저장하며, 하기할 시간 지속성을 저장한다. 그 후 일시 정지된 AVI 프로그램이 재배치하기 시작하는 것이 리소스들이다. 최소화된 AVI 프로그램이 임의의 코드를 포함하지 않으며, 따라서 메시지들에 응답하여 상태들을 변화시킬 수 없거나, 또는 AVI 프로그램 자체를 재개할 수 없다.
그 후 시스템 로더가 새롭게 검출된 디렉토리 및 자동 개시 모듈을 로드하며, 상기와 같이, 대화형 프로그램 로고 또는 아이콘으로 나타나는 INACTIVE 상태(61)에 새로운 AVI 프로그램을 위치시킨다. 뷰어가 ACTIVATE KEY를 누름에 의해서 이 새로운 AVI 프로그램과 대화를 개시 및 정지할 수 있으며, 프로그램 자체가 일시 정지 및 계속될 것이다.
그 최소화 처리는 반복적인 처리이다. 예를 들면, 이 새로운 AVI 프로그램이, 만약 일시 정지되었다면, 다른 AVI 프로그램이 AVI 프로그램 성분 패킷 서비스에서 지금까지도 검출된다면 또한 최소화될 수 있다. 이 경우에, 메모리의 다른 블록이 배치되고, 이 AVI 프로그램의 실행 상태 및 환경이 AVI 프로그램의 식별자 및 시간 지속성과 함께, 이 메모리 블록에 저장된다. 그 후, 상기와 같이, 새롭게 검출된 AVI 프로그램이 로드된다. 동시에 최소화 될 수 있는 프로그램의 수는 최소화 된 프로그램의 실행 상태 및 환경을 포함하는 모든 메모리 블록을 저장하기 위해 요구된 메모리의 양에 의해서만 제한된다.
만약 새로운 디렉토리 모듈을 로드하기 위한 또는 사전에 로드된 디렉토리모듈에 의해서 표시된 프로그램을 실행시키기 위한 유용한 메모리 공간이 충분하지 않다면, 그리고 만약 최소화된 프로그램을 표시하는 배치된 메모리 블록이 있다면, 시스템 로더는 충분한 메모리 공간을 유도하기 위한 시도로 알고리듬(가장 오래된 메모리 블록을 우선 재배치한 것처럼, 또는 우선 재배치한 메모리 블록이 개시한 어플리케이션에 의해서 소모될 것처럼 표시되었다)에 따라서 메모리 블록의 일부 또는 모두를 자동적으로 재배치할 것이다. 선택적으로, 시스템 로더가 뷰어에게 최소화된 어플리케이션들의 리스트를 송출할 것이고, 뷰어에게 일부 또는 전부 삭제의 선택을 허용한다. 선택된 최소화된 어플리케이션을 표시하는 블록이 충분한 메모리 공간을 유도하기 위해서 재배치된다.
그 동안에, 사전에 최소화된 AVI 프로그램들의 실행 상태 및 환경을 포함하는 메모리 블록이 메모리에서 배치를 유지한다. 상기와 같이, 그러한 각 메모리에 시간 지속성이 있다. 만약 임의의 블록에서 시간 지속성이 초과되었다면, 그 후 사전에 최소화된 AVI 프로그램은 정지된다. 이 경우에, 그 프로그램이 HALTED 상태(69)로 들어갔다고 간주되며, 실행 상태 및 환경을 포함하는 그것의 메모리 블록은 재배치되었으며, 사전에 최소화된 AVI 프로그램의 모든 기록은 손실된다.
그렇지만, 디코디(10)에 사전에 최소화된 AVI 프로그램의 디렉토리, 코드 및 데이타 모듈을 포함하는 AVI 프로그램 성분을 다시 수신하는 것, 또는 AVI 프로그램에 흐름 복귀하는 것이 가능하다. 예를 들면, 대화형 상업 방송이 종료했을 것이며, HALTED 상태(69)로 들어가거나, 또는 뷰어가 이 채널에 복귀하려고 채널을 변화시킬 것이다. 시스템 로더가 AVI 프로그램 성분 패킷 서비스에 '새로운' 디렉토리를 로드하기 시작한다. 새로운 디렉토리가 로드될 때마다, 어플리케이션 식별자가 현재 RAM(412)에 저장된 실행 상태 및 환경을 포함하는 모든 블록의 식별자에비교된다. 만약 매칭 블록이 발견되면, 코드와 데이타 모듈이 로드되며, AVI 프로그램이 INACTIVE 상태(61)에 위치되지만, AVI 프로그램의 실행 상태는 AVI 프로그램이 최소화되기 바로 전의 상태로 경신된다. 뷰어가 ACTIVE KEY를 눌렀을 메, AVI 프로그램이 ACTIVE 상태(63)에 들어가며, AVI 프로그램이 사전에 정지했었던 곳에서 실행을 시작한다. 이 방법에서, AVI 프로그램이 다른 AVI 프로그램을 실행하기위해 일시적으로 정지될 수 있으며, 그 후 동시에 메모리에 유지하기 위해 두 프로그램으로부터 충분한 리소스들을 요구하는 일 없이 복귀될 것이다.
제1도는 본 발명애 따른 AVI 신호 디코더의 일부의 블록도.
제2도는 제1도의 처리 유닛(40)에 의해 실행된 소프트웨어의 소프트웨어 구조도.
제3도는 AVI 프로그램의 데이타 성분으로부터 모듈의 추출을 이해하는데 유용한 흐름도와 메모리 배치도를 나타내는 도면.
제4도는 AVI 프로그램의 데이타 성분으로부터 모듈의 추출을 이해하는데 유용하도록 일부는 블록 형태로 표시되고 일부는 메모리 배치 형태로 표시된 도면.
제5도는 시스템 로더의 초기화 기능을 나타내는 흐름도.
제6도는 시스템 로더의 데이타 흐름을 모니터하는 기능을 나타내는 상태 전이도.
<도면의 주요 부분에 대한 부호의 설명>
5,35 : 입력 단자
10 :튜너
15 : AVI 영상 출력 단자
25 : AVI 음성 출력 단자
30 : AVI 프로그램 성분 검출기
32 : 데이타 DMA 제어기
34 : 헤더 패킷 DMA 제어기
40 : 처리 유닛
45,55 : 양방향 단자
200 : 소프트웨어
322 : 모듈 요구 큐
324 : 헤더 패킷 버퍼
326 : 디렉토리 모듈 버퍼
328 : 모듈 버퍼
408 : 스트림 입력/출력 어댑터
410 : CPU
412 : RAM
414 : ROM
416 : 시스템 버스
418 : 음성 프로세서
420 : 영상 프로세서
422 : 외부의 입력/출력 단자
424 : 사용자 입력/출력 어댑터
426 : 모뎀

Claims (25)

  1. 복수의 모듈을 포함하는 패킷 서비스를 수신하는 오디오 비디오 대화형 수신기로서 각 모듈은 이름을 가지며 시간 다중화된 전송 유닛을 포함하고, 각 전송 유닛이 모듈의 이름을 포함하는 헤더 패킷을 포함하고 있는 오디오 비디오 대화형 수신기에서의 모듈을 처리하는 방법에 있어서,
    이름에 의해 식별된 모듈에 관한 처리를 실행하기 위한 요구를 수신하고, 수신된 이름 및 요구된 처리를 포함하는 엔트리를 엔트리 리스트에 삽입하는 수신 단계와,
    상기 패킷 서비스에서 헤더 패킷을 검출하는 검출 단계와,
    검출된 헤더 패킷의 이름이 상기 리스트의 엔트리 이름과 일치하는지를 판정하는 판정 단계와,
    일치하는 엔트리가 존재하면 일치하는 엔트리의 처리를 실행하는 실행 단계와,
    상기 처리가 실행되었다는 것을 나타내는 메시지를 송신하는 송신 단계를 포함하는 것을 특징으로 하는 모듈 처리 방법.
  2. 제1항에 있어서,
    상기 수신 단계는 완전한 모듈을 처리하기 위한 요구를 수신하는 단계를 포함하고,
    상기 송신 단계는 상기 완전한 모듈이 처리되었을 때 상기 리스트로부터 상기 일치하는 엔트리를 제거하는 단계를 포함하는 것을 특징으로 하는 모듈처리 방법.
  3. 제1항에 있어서,
    이름에 의해 식별된 모듈에 관한 처리의 실행을 정지하기 위한 요구를 수신하고, 엔트리 리스트로부터 수신된 이름 및 요구된 처리를 포함하는 엔트리를 제거하는 단계를 더 포함하는 것을 특징으로 하는 모듈 처리 방법.
  4. 제1항에 있어서,
    각 전송 유닛은 헤더 패킷과 관련된 복수의 데이타 패킷을 더 포함하며,
    상기 수신 단계는,
    상기 모듈을 메모리에 로드하여 모듈을 처리하기 위한 요구를 수신하는 단계와,
    상기 모듈을 포함하기 위해 메모리에 버퍼를 할당하는 단계를 포함하고,
    상기 실행 단계는,
    상기 할당된 버퍼의 각 위치에 상기 검출된 헤더 패킷과 관련된 각 데이타 패킷을 저장하는 저장 단계와,
    상기 모듈의 각 전송 유닛의 각 데이타 패킷이 상기 할당된 버퍼에 저장되면 상기 리스트에서 일치하는 엔트리를 제거하는 제거 단계를 포함하는 것을 특징으로하는 모듈 처리 방법.
  5. 제4항에 있어서,
    상기 전송 유닛의 각 헤더 패킷과 관련된 복수의 데이타 패킷은 모듈의 개시부로부터 각 오프셋 위치에 위치하는 모듈의 데이타를 포함하고,
    상기 헤더 패킷은 상기 관련된 복수의 데이타 패킷의 데이타의 오프셋 위치를 더 포함하고,
    상기 저장 단계는 상기 헤더 패킷의 오프셋 위치와 동일한 오프셋 위치에서 상기 관련된 복수의 데이타 패킷을 상기 할당된 버퍼에 저장하는 것을 특징으로 하는 모듈 처리 방법.
  6. 제5항에 있어서,
    상기 패킷 서비스는 상기 모듈의 개시부로부터 순차 오프셋 위치에 위치하는 모듈 데이타를 포함하는 연속적인 시간 다중화전 전송 유닛에 의해 반송되는 모듈을 연속적이고 반복적으로 제공하고,
    상기 검출 단계는 검출된 헤더 패킷의 오프셋 위치에 기록 포인터를 세팅하는 세팅 단계를 더 포함하고,
    상기 실행 단계는 모듈을 로드하기 위한 요구가 개시 로드 위치로서 수신된 후 최초로 검출된 헤더 패킷에 오프셋 위치를 처장하는 단계를 더 포함하고,
    상기 저장 단계는 기록 포인터에 의해 지시된 위치에 상기 검출된 헤더 패킷과 관련된 각 데이타 패킷을 저장하는 단계와,
    그 후, 상기 데이타 패킷이 저장된 후에 상기 할당된 버퍼에서 후속 순차 위치를 지시하도록 기록 포인터를 갱신하는 단계와,
    그 후, 상기 기록 포인터를 상기 저장된 개시 로드 위치와 비교하고 상기 비교한 것이 동일하다면 제거 단계를 실행하는 단계를 포함하는 것을 특징으로 하는 모듈 처리 방법.
  7. 제6항에 있어서,
    상기 검출 단계는 세팅 단계 이전에 상기 기록 포인터와 상기 검출된 헤더 패킷의 오프셋 위치를 비교하는 단계와,
    상기 비교한 것이 동일하지 않으면 상기 개시 로드 위치를 상기 검출전 헤더 패킷의 오프셋 위치로 바꾸는 단계를 더 포함하는 것을 특징으로 하는 모듈 처리 방법 .
  8. 제4항에 있어서,
    각 모듈은 삽입된 에러 검출 코드를 더 포함하고,
    상기 저장 단계는 상기 할당된 버퍼에 삽입된 에러 검출 코드를 저장하고, 상기 전송 단계는 상기 삽입된 에러 검출 코드를 사용하여 에러를 검출하기 위해 상기 할당된 버퍼의 데이타를 검사하는 단계와,
    상기 검사 단계에서 에러가 검출되면 에러 메시지를 송신하는 단계와,
    상기 검사 단계에서 에러가 검출되지 않으면 모듈 로드된 메시지를 송신하는 단계를 포함하는 것을 특징으로 하는 모듈 처리 방법.
  9. 제8항에 있어서,
    상기 삽입된 에러 검출 코드는 삽입된 순환 중복 검사(CRC) 코드이고,
    상기 검사 단계는 상기 할당된 버퍼의 데이타에 대한 CRC값을 계산하고, 계산된 CRC값을 상기 삽입된 CRC코드와 비교하고, 비교된 값들이 상이하면 에러를 검출하는 것을 특징으로 하는 모듈 처리 방법.
  10. 제4항에 있어서 ,
    각 전송 유닛은 복수의 데이타 패킷을 더 포함하고,
    상기 수신 단계는
    상기 검출된 헤더 패킷과 관련된 각 데이타 패킷을 저장하는 단계와,
    상기 전송 유닛에 저장된 모든 데이타 패킷에 에러가 없는지를 판정하는 단계와,
    상기 전송 유닛의 모든 데이타 패킷에 에러가 있다면 전체 전송 유닛을 폐기하는 단계를 포함하는 것을 특징으로 하는 모듈 처리 방법.
  11. 제1항에 있어서,
    상기 수신 단계는 패킷 서비스의 모듈을 검사하기 위한 요구를 수신하는 단계를 포함하고,
    상기 실행 단계는 일치하는 엔트리가 있을 때마다 매시지를 송신하는 단계를 포함하는 것을 특징으로 하는 모듈 처리 방법
  12. 음성 영상 대화형(AVI) 수신기에 있어서,
    각각이 이름을 가지며 시간 다중화된 전송 유닛을 포함하는 복수의 모듈을 포함하는 것으로서, 상기 각 전송 유닛은 모듈의 이름을 포함하는 헤더 패킷 을 포함하는 것인 패킷 데이타 스트림의 소스(10)와,
    처리 요구 및 모듈의 이름을 각각 갖는 복수의 엔트리를 포함하는 요구 큐, 및 모듈 이름을 포함하는 위치를 포함하는 헤더 패킷 버퍼를 저장하는 메모리(412)와,
    상기 메모리에 결합되고, 이름에 의해서 식별된 모듈에 관한 처리를 실행하기 위한 요구를 수신하고, 식별된 모듈의 이름 및 요구된 처리를 포함하는 요구 큐에 엔트리를 저장하는 요구 처리 회로(410)와,
    상기 메모리와 데이타 스트림 소스 사이에 결합되고, 데이타 스트림에 헤더 패킷이 나타나면 상기 헤더 패킷 버퍼에 헤더 패킷을 저장하고, 헤더 패킷 수신 신호를 발생하는 헤더 패킷 메모리 저장 제어기(408)와,
    상기 헤더 패킷 수신 신호에 응답하여 상기 헤더 패킷 버퍼로부터 모듈 이름을 판독하고 상기 모듈 이름을 요구 버퍼의 각 엔트리의 이름과 비교하며, 모듈 이름이 엔트리 이름과 일치하면 일치하는 요구 큐 엔트리의 요구된 처리를 실행하고,그 후 메시지를 전송하는 모듈 처리 회로(30)를 포함하는 것을 특징으로 하는 음성 영상 대화형(AVI) 수신기.
  13. 제12항에 있어서 ,
    상기 모듈 처리 회로는 프로세서를 포함하며, 상기 헤더 패킷 수신 신호는 상기 프로세서에 대한 인터럽트 신호인 것을 특징으로 하는 음성 영상 대화형(AVI) 수신기 .
  14. 제12항에 있어서,
    상기 헤더 패킷 메모리 저장 제어기는 다이렉트 메모리 액세스(DMA) 제어기인 것을 특징으로 하는 음성 영상 대화형(AVI) 수신기.
  15. 제12항에 있어서,
    상기 요구 처리 회로는 완전한 모듈에 관한 처리를 실행하기 위한 요구를 수신하고,
    상기 모듈 처리 회로는 완전한 모듈에 관한 요구된 처리를 실행한 후에 상기요구 큐 엔트리를 제거하는 것을 특징으로 하는 음성 영상 대화형(AVI) 수신 기.
  16. 제15항에 있어서,
    상기 메모리는 모듈 버퍼를 더 저장하고,
    상기 데이타 스트림 소스는 상기 전송 유닛에 포함된 헤더 패킷과 관련된 복수의 데이타 패킷을 더 포함하는 전송 유닛을 발생하며,
    상기 수신기는, 장기 메모리와 상기 데이타 스트림 소스 사이에 결합되고 데이타 스트림에 데이타 패킷이 나타나면, 상기 전송 유닛으로부터 복수의 데이타 패킷을 모듈 버퍼에 선택적으로 저장하고, 그 후 인에이블 신호에 응답하여 데이타 완료 신호를 발생하는 모듈 메모리 저장 제어기를 더 포함하고, 상기 요구 처리 회로는 이름에 의해 식별된 완전한 모듈을 로드하기 위한 처리 요구를 수신하고, 상기 식별된 이름 및 로드 요구를 포함하는 요구 큐에 엔트리를 저장하며 ,
    상기 모듈 처리 회로는 상기 모듈 이름이 엔트리 이름과 일치하면 인에이블 신호를 발생하고, 상기 데이타 완료 신호에 응답하여 상기 완전한 모듈이 상기 모듈 버퍼에 로드된 후 상기 요구 큐 엔트리를 제거하는 것을 특징으로 하는 음성 영상 대화형(AVI) 수신기,
  17. 제16항에 있어서,
    상기 데이타 스트림 소스는 삽입된 에러 검출 코드를 포함하는 각 모듈을 발생하고,
    상기 모듈 처리 회로는 상기 완전한 모듈이 상기 모듈 버퍼에 로드된 후에 상기 삽입된 에러 검출 코드를 사용하여 모듈 버퍼의 데이타를 에러 검사하고, 에러가 검출되면 에러 메시지를 송신하고, 에러가 검출되지 않으면 모듈로드된 메시지를 송신하는 것을 특징으로 하는 음성 영상 대화형(AVI) 수신기.
  18. 제l7항에 있어서,
    상기 삽입된 에리 검출 코드는 순환 중복 검사(CRC)코드이고, 상기 모듈 처리 회로는 상기 모듈 버퍼의 데이타에 대한 CRC 값을 계산하고, 상기 계산된 CRC값을 상기 삽입된 CRC코드와 비교하고, 비교한 값이 상이하면 에러를 검출하는 것을 특징으로 하는 음성 영상 대화형(AVI) 수신기.
  19. 제16항에 있어서,
    상기 데이타 스트림 소스는 모듈의 개시로부터 순차 오프셋 위치에 위치된 모듈 데이타를 포.함하는 연속적인 전송 유닛을 발생하고, 상기 관련 데이타 패킷의 데이타의 오프셋 위치를 더 포함하는 헤더 패킷을 발생하며,
    상기 메모리의 헤더 패킷 버퍼는 상기 오프셋 위치를 포함하는 위치를 더 포함하고,
    상기 모듈 처리 회로는 상기 헤더 패킷 버퍼로부터 상기 오프셋 위치를 추출하고, 이 오프셋 위치를 상기 모듈 메모리 저장 제어기에 제공하고,
    상기 모듈 메모리 저장 제어기는 기록 포인터를 상기 모듈 처리 회로로부터 상기 오프셋 위치로 초기화하고, 각 데이타 패킷을 상기 기록 포인터에 의해 지시된 모듈 버퍼의 위치에 로드하고, 그 후 모든 전송 유닛의 모든 데이타 패킷이 로드될 때까지 상기 모듈 버퍼의 후속 순차 위치를 지시하도록 상기기록 포인터를 갱신하고, 그 후 상기 데이타 완료 신호를 발생하는 것을 특징으로 하는 음성 영상대화형(AVI) 수신기.
  20. 제19항에 있어서,
    상기 데이타 스트림 소스는 모듈을 연속 및 반복적으로 발생하고,
    상기 메모리는 개시 로드 어드레스 위치를 더 포함하고,
    상기 모듈 처리 회로는 최조의 일치를 발생시키는 상기 헤더 패킷이 로드된 후에 상기 헤더 패킷 버퍼로부터 상기 오프셋 위치를 추출하고 상기 개시 로드 어드레스 위치에 상기 오프셋 위치를 저장하며, 상기 모듈 메모리 저장 제어기로부터 상기 데이타 완료 신호에 응답하여 상기 모듈 메모리 저장 제어기로부터의 상기 기록 포인터를 상기 개시 로드 어드레스 위치와 비교하고, 비교한 값이 동일하면 메시지를 송신하는 것을 특징으로 하는 음성 영상대화형 (AVI) 수신기 .
  21. 제20항에 있어서,
    상기 모듈 처리 회로는 상기 헤더 패킷 수신 신호에 응답하여 상기 오프셋 위치를 상기 기록 포인터와 비교하고, 비교한 값이 동일하지 않으면 상기 개시 어드레스 위치를 상기 오프셋 위치로 바꾸는 것을 특징으로 하는 음성 영상 대화형(AVI) 수신기.
  22. 제16항에 있어서,
    상기 모듈 처리 회로는 프로세서를 포함하고, 상기 데이터 완료 신호는 상기프로세서에 대한 인터럽트 신호인 것을 특징으로 하는 음성 영상 대화형(AVI) 수신기.
  23. 제16항에 있어서,
    상기 모듈 메모리 저장 제어기는 다이렉트 메모리 액세스(DMA) 제어기인 것을 특징으로 하는 음성 영상 대화형(AVI) 수신기.
  24. 제12항에 있어서,
    상기 요구 처리 회로는 이름에 의해 식별된 모듈의 처리를 정지하기 위한 요구를 더 수신하고, 상기 식별된 모듈의 이름 및 상기 정지하도록 요구된 처리를 포함하는 상기 요구 큐의 엔트리를 제거하는 것을 특징으로 하는 음성영상 대화형(AVI) 수신기.
  25. 제12항에 있어서,
    상기 헤더 패킷 메모리 저장 제어기는 인에이블 신호에 응답하여 헤더 패킷을 선택적으로 저장하고,
    상기 요구 처리 회로는 엔트리가 요구 큐에 저장된 후에 상기 인이에블 신호를 발생하고,
    상기 모듈 처리 회로는 요구 큐에 엔트리가 없다면 상기 처리를 실행한 후에 상기 인이에블 신호를 더 제거하는 것을 특징으로 하는 음성 영상 대화형(AVI) 수신기.
KR1019950010045A 1994-04-28 1995-04-27 음성영상대화형신호처리방법및장치 KR100352844B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US234,144 1994-04-28
US08/234,144 US5539920A (en) 1994-04-28 1994-04-28 Method and apparatus for processing an audio video interactive signal

Publications (2)

Publication Number Publication Date
KR950035417A KR950035417A (ko) 1995-12-30
KR100352844B1 true KR100352844B1 (ko) 2002-12-26

Family

ID=22880129

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1019950010045A KR100352844B1 (ko) 1994-04-28 1995-04-27 음성영상대화형신호처리방법및장치

Country Status (5)

Country Link
US (1) US5539920A (ko)
JP (1) JP3781454B2 (ko)
KR (1) KR100352844B1 (ko)
CN (1) CN1095272C (ko)
GB (1) GB2288958B (ko)

Families Citing this family (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09502592A (ja) * 1994-06-23 1997-03-11 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ テレビジョン信号受信機
US6963859B2 (en) * 1994-11-23 2005-11-08 Contentguard Holdings, Inc. Content rendering repository
US5654746A (en) * 1994-12-01 1997-08-05 Scientific-Atlanta, Inc. Secure authorization and control method and apparatus for a game delivery service
US6005561A (en) * 1994-12-14 1999-12-21 The 3Do Company Interactive information delivery system
US5684799A (en) * 1995-03-28 1997-11-04 Bell Atlantic Network Services, Inc. Full service network having distributed architecture
US7917922B1 (en) 1995-06-08 2011-03-29 Schwab Barry H Video input switching and signal processing apparatus
US5920572A (en) * 1995-06-30 1999-07-06 Divicom Inc. Transport stream decoder/demultiplexer for hierarchically organized audio-video streams
US5781226A (en) * 1995-11-13 1998-07-14 General Instrument Corporation Of Delaware Network virtual memory for a cable television settop terminal
US5835493A (en) * 1996-01-02 1998-11-10 Divicom, Inc. MPEG transport stream remultiplexer
US6101546A (en) * 1996-03-11 2000-08-08 Microsoft Corporation Method and system for providing data files that are partitioned by delivery time and data type
FI103450B (fi) * 1996-04-23 1999-06-30 Nokia Mobile Phones Ltd Multimediapäätelaite ja menetelmä multimediavastaanoton toteuttamiseks i
EP0810789B1 (en) * 1996-05-30 2004-07-14 Matsushita Electric Industrial Co., Ltd. Data transmitting apparatus, data receiving apparatus and method and communication system
CN1179565C (zh) * 1996-05-31 2004-12-08 松下电器产业株式会社 数据通信系统和数据发送设备及数据接收设备
US5977962A (en) * 1996-10-18 1999-11-02 Cablesoft Corporation Television browsing system with transmitted and received keys and associated information
JP3434653B2 (ja) * 1996-12-05 2003-08-11 富士通株式会社 マルチメディアデータ蓄積伝送方法及び装置
US5850218A (en) * 1997-02-19 1998-12-15 Time Warner Entertainment Company L.P. Inter-active program guide with default selection control
US5943605A (en) * 1997-04-16 1999-08-24 Lucent Technologies Inc. Arrangement for controlling extraction of data from a broadband digital stream employing a symbol table for translating symbolic program names to program and channel numbers
JP4086344B2 (ja) * 1997-07-31 2008-05-14 キヤノン株式会社 画像送信装置及び制御方法
EP0907285A1 (en) * 1997-10-03 1999-04-07 CANAL+ Société Anonyme Downloading data
US7085710B1 (en) 1998-01-07 2006-08-01 Microsoft Corporation Vehicle computer system audio entertainment system
US6351471B1 (en) * 1998-01-14 2002-02-26 Skystream Networks Inc. Brandwidth optimization of video program bearing transport streams
US6246701B1 (en) 1998-01-14 2001-06-12 Skystream Corporation Reference time clock locking in a remultiplexer for video program bearing transport streams
US6195368B1 (en) 1998-01-14 2001-02-27 Skystream Corporation Re-timing of video program bearing streams transmitted by an asynchronous communication link
US6292490B1 (en) 1998-01-14 2001-09-18 Skystream Corporation Receipts and dispatch timing of transport packets in a video program bearing stream remultiplexer
US6351474B1 (en) * 1998-01-14 2002-02-26 Skystream Networks Inc. Network distributed remultiplexer for video program bearing transport streams
CA2321447C (en) * 1998-02-20 2007-12-18 Thomson Licensing S.A. A multimedia system for processing program guides and associated multimedia objects
US6792616B1 (en) * 1998-05-01 2004-09-14 Scientific-Atlanta, Inc. System and method for providing a plurality of programming services in a television system
US6427238B1 (en) * 1998-05-29 2002-07-30 Opentv, Inc. Module manager for interactive television system
EP0989743A1 (en) * 1998-09-25 2000-03-29 CANAL+ Société Anonyme Application data table for a multiservice digital transmission system
US6697376B1 (en) 1998-11-20 2004-02-24 Diva Systems Corporation Logical node identification in an information transmission network
US7634787B1 (en) 1999-06-15 2009-12-15 Wink Communications, Inc. Automatic control of broadcast and execution of interactive applications to maintain synchronous operation with broadcast programs
US7069571B1 (en) * 1999-06-15 2006-06-27 Wink Communications, Inc. Automated retirement of interactive applications using retirement instructions for events and program states
US7222155B1 (en) * 1999-06-15 2007-05-22 Wink Communications, Inc. Synchronous updating of dynamic interactive applications
KR100322609B1 (ko) * 1999-07-19 2002-03-18 구자홍 인핸스먼트 저작 시스템 및 서버 시스템과 이를 이용한 인핸스먼트 저작 방법
US7000245B1 (en) * 1999-10-29 2006-02-14 Opentv, Inc. System and method for recording pushed data
US8250617B2 (en) 1999-10-29 2012-08-21 Opentv, Inc. System and method for providing multi-perspective instant replay
US6530084B1 (en) 1999-11-01 2003-03-04 Wink Communications, Inc. Automated control of interactive application execution using defined time periods
US7631338B2 (en) * 2000-02-02 2009-12-08 Wink Communications, Inc. Interactive content delivery methods and apparatus
US7028327B1 (en) 2000-02-02 2006-04-11 Wink Communication Using the electronic program guide to synchronize interactivity with broadcast programs
US6513003B1 (en) 2000-02-03 2003-01-28 Fair Disclosure Financial Network, Inc. System and method for integrated delivery of media and synchronized transcription
US6738982B1 (en) 2000-05-04 2004-05-18 Scientific-Atlanta, Inc. Method and system for uniform resource identification and access to television services
JP2002057641A (ja) * 2000-08-11 2002-02-22 Pioneer Electronic Corp 情報通信端末装置
JP2002232861A (ja) * 2001-01-30 2002-08-16 Hitachi Ltd 映像情報配信装置および操作装置
GB0111008D0 (en) * 2001-05-04 2001-06-27 Koninkl Philips Electronics Nv Recording of interactive applications
US7313824B1 (en) * 2001-07-13 2007-12-25 Liquid Machines, Inc. Method for protecting digital content from unauthorized use by automatically and dynamically integrating a content-protection agent
US8880709B2 (en) * 2001-09-12 2014-11-04 Ericsson Television Inc. Method and system for scheduled streaming of best effort data
US7849476B2 (en) * 2001-12-13 2010-12-07 Thomson Licensing System and method for automatic switching to interactive application during television program breaks
US8201208B2 (en) * 2002-08-30 2012-06-12 Opentv, Inc. Carousel proxy
US7076616B2 (en) 2003-03-24 2006-07-11 Sony Corporation Application pre-launch to reduce user interface latency
US20040194153A1 (en) * 2003-03-24 2004-09-30 Sony Corporation And Sony Electronics Inc. Conservation of system resources by efficiently activating/de-activating applications
US7693222B2 (en) * 2003-08-13 2010-04-06 Ericsson Television Inc. Method and system for re-multiplexing of content-modified MPEG-2 transport streams using PCR interpolation
US7523145B2 (en) * 2004-04-22 2009-04-21 Opentv, Inc. System for managing data in a distributed computing system
US7392319B2 (en) * 2004-04-23 2008-06-24 International Business Machines Corporation Method and apparatus for failure resilient forwarding of data over a computer network
US20060013155A1 (en) * 2004-07-15 2006-01-19 Spaete Lawrence Jr Method and system for identifying a defective cable modem in an S-CDMA environment
US7991801B2 (en) * 2008-06-10 2011-08-02 International Business Machines Corporation Real-time dynamic and synchronized captioning system and method for use in the streaming of multimedia data
KR20120055779A (ko) * 2010-11-23 2012-06-01 한국전자통신연구원 지그비 기반의 음성 데이터 송수신 시스템 및 그의 음성 데이터 송수신 방법
GB2509079A (en) * 2012-12-19 2014-06-25 Control Tech Ltd Method Of Configuring A Modular System
US9948962B2 (en) 2014-11-13 2018-04-17 Time Warner Cable Enterprises Llc Apparatus and methods for efficient delivery of electronic program guide data
CN106598655B (zh) * 2016-12-05 2020-02-14 腾讯科技(深圳)有限公司 应用程序页面处理方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3803491A (en) * 1971-05-26 1974-04-09 Tocom Communications system
US3891792A (en) * 1974-06-25 1975-06-24 Asahi Broadcasting Television character crawl display method and apparatus
US4528589A (en) * 1977-02-14 1985-07-09 Telease, Inc. Method and system for subscription television billing and access
US4264925A (en) * 1979-08-13 1981-04-28 Michael J. Freeman Interactive cable television system
US4323922A (en) * 1979-12-17 1982-04-06 Oak Industries Inc. Television coding system with channel level identification
US4965825A (en) * 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
US4644470A (en) * 1984-07-20 1987-02-17 International Business Machines Corp. Non-unique names for broadcast messages
US4742516A (en) * 1985-01-14 1988-05-03 Sumitomo Electric Industries, Ltd. Method for transmitting voice information
US5191573A (en) * 1988-06-13 1993-03-02 Hair Arthur R Method for transmitting a desired digital video or audio signal
JPH02264586A (ja) * 1989-04-04 1990-10-29 Pioneer Electron Corp Catvシステム及びcatv端末装置
US5421031A (en) * 1989-08-23 1995-05-30 Delta Beta Pty. Ltd. Program transmission optimisation
US5168356A (en) * 1991-02-27 1992-12-01 General Electric Company Apparatus for segmenting encoded video signal for transmission
EP0514819B1 (en) * 1991-05-23 1996-05-01 Hitachi, Ltd. Wide-screen television receiver with aspect ratio conversion function and method of displaying a magnified range
US5539449A (en) * 1993-05-03 1996-07-23 At&T Corp. Integrated television services system
WO1995010908A1 (en) * 1993-10-12 1995-04-20 Intel Corporation Method and system for multicasting formatted data on a computer network
TW241434B (en) * 1994-04-18 1995-02-21 Thomson Consumer Electronics Apparatus and method for formulating an interactive TV signal

Also Published As

Publication number Publication date
CN1112334A (zh) 1995-11-22
JP3781454B2 (ja) 2006-05-31
GB2288958B (en) 1998-06-17
CN1095272C (zh) 2002-11-27
US5539920A (en) 1996-07-23
GB2288958A (en) 1995-11-01
KR950035417A (ko) 1995-12-30
JPH0846935A (ja) 1996-02-16
GB9508200D0 (en) 1995-06-07

Similar Documents

Publication Publication Date Title
KR100352844B1 (ko) 음성영상대화형신호처리방법및장치
KR100334086B1 (ko) 음성영상대화형프로그램의실행제어방법
US8621511B2 (en) System and method to control distribute processing and memory resources among applications in a television terminal
EP0996894B1 (en) Ieee1394 set top box device driver
KR20020022085A (ko) 응용프로그램 라이프사이클에 따른 응용프로그램 관리방법 및 장치
CA2378588A1 (en) Methods and apparatus for implementing individual class loaders
EP1761047A2 (en) Method of processing a data broadcast application and television receiver using the same
RU2181905C2 (ru) Разработка системы управления телевидением или радиовещанием
EP1019836B1 (en) Modem control
WO1998043172A2 (en) Access control system
US6745393B2 (en) Broadcast receiving apparatus
HU226703B1 (en) Method and apparatus for applaying an interactive digital television broadcast
KR100648815B1 (ko) 리소스 관리 장치 및 방법

Legal Events

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

Payment date: 20120823

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20130822

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20140821

Year of fee payment: 13

EXPY Expiration of term