KR20000076406A - Data processing system - Google Patents

Data processing system Download PDF

Info

Publication number
KR20000076406A
KR20000076406A KR1019997008510A KR19997008510A KR20000076406A KR 20000076406 A KR20000076406 A KR 20000076406A KR 1019997008510 A KR1019997008510 A KR 1019997008510A KR 19997008510 A KR19997008510 A KR 19997008510A KR 20000076406 A KR20000076406 A KR 20000076406A
Authority
KR
South Korea
Prior art keywords
receiver
decoder
application
data
event
Prior art date
Application number
KR1019997008510A
Other languages
Korean (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 KR20000076406A publication Critical patent/KR20000076406A/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving MPEG packets from an IP network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3636Software debugging by tracing the execution of the program
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/21815Source of audio or video content, e.g. local disk arrays comprising local storage units
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23614Multiplexing of additional data and video streams
    • 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
    • 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/4348Demultiplexing of additional data and video streams
    • 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/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/47815Electronic shopping
    • 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/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application
    • H04N21/4782Web browsing, e.g. WebTV
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications

Abstract

수신된 신호가 수신기를 통해 수신기/디코더 및 그후에 텔레비젼 세트로 통과되는 방송 디지털 텔레비젼 시스템용 수신기/디코더. 수신기/디코더는 압축된 MPEG 형태의 신호를 디코드하고, 수신기/디코더에서 인터페이스를 통해 원격 제어기 핸드세트에 의해 제어된다. 수신기/디코더의 동작이 동작 시간 엔진(run time engine; RTE)을 포함하는 가상 계산기(virtual machine; VM)에 의해 제어된다. 수신기/디코더는, 외부 유닛에 대한 복수의 인터페이스와, 그 인터페이스용 논리 구동기 장치를 포함한다. 애플리케이션은 인터페이스로부터 큐 세트를 경유해서 이벤트를 수신하는 RTE에 의해 외부 유닛을 제어한다. RTE는, 장치 수단과 연관된 복수의 처리 시퀀서(sequencer) 유닛과, 큐 수단으로부터 이벤트를 인출하고 따라서 그 연관된 처리 시퀀서 유닛을 작동시키는 수단을 구비한다.A receiver / decoder for a broadcast digital television system in which received signals are passed through a receiver to a receiver / decoder and then to a television set. The receiver / decoder decodes the compressed MPEG type signal and is controlled by a remote controller handset via an interface at the receiver / decoder. The operation of the receiver / decoder is controlled by a virtual machine (VM) that includes a run time engine (RTE). The receiver / decoder comprises a plurality of interfaces to an external unit and a logic driver device for the interfaces. The application controls the external unit by the RTE, which receives events via the queue set from the interface. The RTE comprises a plurality of processing sequencer units associated with the apparatus means and means for fetching events from the queue means and thus operating the associated processing sequencer unit.

Description

데이터 처리 시스템{DATA PROCESSING SYSTEM}Data Processing System {DATA PROCESSING SYSTEM}

본 발명은 디지털 텔레비젼 시스템용 수신기/디코더에 관한 것이다.The present invention relates to a receiver / decoder for a digital television system.

텔레비젼 신호를 방송하기위해 주로 의도되나 위성 텔레비젼 시스템에 독점적으로 사용되지않는 디지털 전송 시스템의 출현은 다른 목적으로 그 시스템을 사용할 가능성을 열어놓았다. 그것들중 하나는 쌍방향성을 단말 사용자에게 제공하는 것이다.The advent of digital transmission systems, intended primarily for broadcasting television signals but not exclusively used in satellite television systems, has opened up the possibility of using them for other purposes. One of them is to provide interactivity to the terminal user.

본 발명은 수신된 신호가 수신기를 통해 수신기/디코더 및 그후에 텔레비젼 세트로 통과되는 방송 디지털 텔레비젼 시스템에서 특정한 애플리케이션을 발견한다. 수신기/디코더는 압축된 MPEG 형태의 신호를 텔레비젼 세트용 텔레비젼 신호로 디코드한다. 그것은 수신기/디코더의 인터페이스를 통해 원격 제어기 핸드세트에 의해 제어된다.The present invention finds particular application in a broadcast digital television system where the received signal is passed through a receiver to a receiver / decoder and then to a television set. The receiver / decoder decodes the compressed MPEG signal into a television signal for a television set. It is controlled by a remote controller handset via the receiver / decoder interface.

상기 설명된 쌍방향성을 제공하는 하나의 방법은 텔레비젼 신호를 수신하는 수신기/디코더에서 애플리케이션을 동작하는 것이다. 애플리케이션용 코드는 수신기/디코더에 영구 저장될 수 있었다. 그러나, 이것은 오히려 제한적으로 된다. 양호하게는, 수신기/디코더는 필요한 애플리케이션용 코드를 다운로드할 수 있었다. 상기 방법에서 더 많은 다양성이 제공되고, 애플리케이션은 사용자편의 어떤 동작없이 필요한대로 갱신될 수 있다.One way of providing the above described bidirectionality is to operate the application at a receiver / decoder that receives a television signal. The code for the application could be stored permanently in the receiver / decoder. However, this is rather limited. Preferably, the receiver / decoder could download the code for the required application. More variety is provided in this way, and the application can be updated as needed without any action on the part of the user.

다수의 다른 제조자는 수신기/디코더를 제조한다. 명백히 모든 제조자는 소정의 공통적인 기능 사양서를 만족해야하나, 그것을 따르고, 그들로 하여금 하드웨어의 상세한 내용을 포함하는 그 설계의 상세한 내용에 대해 자체의 선택을 하는 것이 바람직하다. 그러나, 수신기/디코더의 전체 기능 및 특히 그것이 애플리케이션을 처리하는 기능적인 방법은 모든 수신기/디코더에 동일해야한다. 처리하는 애플리케이션과 관계된 그 제어 시스템의 일부의 설계는 모든 수신기/디코더에 공통이어야하고, 하드웨어 제조자보다 오히려 시스템 오퍼레이터의 책임이어야한다.Many other manufacturers manufacture receivers / decoders. Obviously all manufacturers must meet certain common functional specifications, but it is desirable to follow them and make their own choices about the details of the design, including details of the hardware. However, the overall functionality of the receiver / decoder and in particular the functional way in which it handles the application must be the same for all receivers / decoders. The design of some of the control systems involved in the processing application should be common to all receivers / decoders and should be the responsibility of the system operator rather than the hardware manufacturer.

상기 2개의 목적(하드웨어 설계 및 공통 시스템 기능성에서의 자유도)은 조화되기가 명백히 어렵다. 본 발명의 목적은 그 어려움을 극복하는 것이다.The two objectives (degrees of freedom in hardware design and common system functionality) are clearly difficult to harmonize. The object of the present invention is to overcome the difficulties.

도 1은 본 발명의 양호한 실시예에 따른 디지털 텔레비젼 시스템의 전체 구조의 도시도.1 shows an overall structure of a digital television system according to a preferred embodiment of the present invention.

도 2는 디지털 텔레비젼 시스템의 쌍방향성 시스템의 구조도.2 is a structural diagram of an interactive system of a digital television system;

도 3은 쌍방향성 수신기/디코더의 메모리로 다운로드된 모듈내의 파일 배열도.3 is a file arrangement in a module downloaded to the memory of the bidirectional receiver / decoder.

도 4는 수신기/디코더의 인터페이스의 개략도.4 is a schematic diagram of an interface of a receiver / decoder;

도 5는 쌍방향성 수신기/디코더의 메모리의 메모리 볼륨의 배열도.5 is an arrangement diagram of a memory volume of a memory of the bidirectional receiver / decoder.

도 6은 수신기/디코더의 기능적인 블록 다이어그램.6 is a functional block diagram of a receiver / decoder.

도 7은 가상 계산기 및 동작 시간 엔진의 구성의 상세도.7 is a detailed view of the configuration of the virtual calculator and the operation time engine.

그 주요한 태양에 따라, 디지털 텔레비젼 시스템용 수신기/디코더를 제공하고, 그 수신기/디코더는,According to its principal aspect, a receiver / decoder for a digital television system is provided, and the receiver / decoder,

압축된 MPEG 형태의 신호를 수신하는 수단과; 텔레비젼 신호를 제공하도록 그 수신된 신호를 디코딩하는 수단과; 그 텔리비젼 신호를 텔레비젼에 공급하는 수단과; 사용자 입력 인터페이스와; 그 사용자 입력 인터페이스를 통해 수신된 입력 신호를 따라 수신기/디코더를 제어하는 컴퓨터 시스템을 구비하고, 그 컴퓨터 시스템은, 신호를 복수의 포트로부터 수신하고 데이터를 상기 포트에 제공하는 장치 관리기 수단과; 그 장치 관리기 수단에 결합되어 그 장치 관리기 수단으로부터 수신된 데이터를 처리하고 거기에 데이터를 복귀하는 수단을 구비하는 가상 계산기(virtual machine) 수단을 구비한다.Means for receiving a compressed MPEG type signal; Means for decoding the received signal to provide a television signal; Means for supplying the television signal to a television; A user input interface; A computer system for controlling a receiver / decoder in accordance with an input signal received via the user input interface, the computer system comprising: device manager means for receiving a signal from a plurality of ports and providing data to the port; And a virtual machine means coupled to the device manager means for processing data received from the device manager means and having means for returning the data thereto.

양호하게는, 가상 계산기 수단은 동작 엔진, 루틴의 라이브러리, 인터프리터, 복수의 지시 시퀀스를 저장하는 저장 수단, 큐 관리 수단, 및 버퍼 관리 수단을 구비한다.Preferably, the virtual calculator means comprises an operation engine, a library of routines, an interpreter, storage means for storing a plurality of instruction sequences, queue management means, and buffer management means.

양호하게는, 수신기/디코더는 외부 유닛에 결합하는 복수의 인터페이스를 더 구비하고, 상기 장치 관리기 수단은 적어도 하나의 인터페이스 또는 수신기/디코더의 적어도 하나의 기능과 연관된 적어도 하나의 장치 수단을 구비한다. 양호하게는 장치 관리기 수단은 적어도 하나의 장치 구동기에 결합된 적어도 하나의 장치 수단을 포함한다.Preferably, the receiver / decoder further comprises a plurality of interfaces coupled to an external unit, the device manager means having at least one device means associated with at least one interface or at least one function of the receiver / decoder. Preferably the device manager means comprises at least one device means coupled to at least one device driver.

양호하게는 수신기/디코더는 수신기/디코더 및/또는 텔레비젼을 제어하는 애플리케이션을 제공하는 복수의 애플리케이션 소스 각각을 포함하고, 거기에서 동작 엔진이 애플리케이션 소스 및 논리 장치 수단간에 위치되고, 장치 관리기 수단을 통해 발생된 이벤트를 수신하고 그들을 엔진에 통과하는 큐 수단을 포함한다. 양호하게는 동작 엔진은, 장치 수단과 연관된 복수의 처리 시퀀서(sequencer) 유닛과, 큐 수단으로부터 이벤트를 인출하고 따라서 그 연관된 처리 시퀀서 유닛을 작동시키는 수단을 구비한다. 양호하게는 이벤트를 큐 수단에 입력하기전에 이벤트 형태의 리스트에 대해 이벤트를 정합하는 필터 수단이 또한 있다. 양호하게는 수신기/디코더는 적어도 하나의 애플리케이션을 저장하는 수단을 포함한다.Preferably the receiver / decoder comprises a plurality of application sources each providing an application for controlling the receiver / decoder and / or television, where an operation engine is located between the application source and the logic device means and via the device manager means. Queue means for receiving the generated events and passing them to the engine. Preferably the operation engine comprises a plurality of processing sequencer units associated with the apparatus means and means for fetching events from the queue means and thus operating the associated processing sequencer unit. Preferably there is also filter means for matching the event against a list of event types before inputting the event to the queue means. Preferably the receiver / decoder comprises means for storing at least one application.

본 발명의 부가적인 태양은 방송 신호를 수신하는 수신기/디코더를 제공하고, 상기 디코더/수신기는,An additional aspect of the present invention provides a receiver / decoder for receiving broadcast signals, the decoder / receiver comprising:

수신기/디코더를 수신된 신호에 따라 제어하는 수단을 구비하고,Means for controlling the receiver / decoder in accordance with the received signal,

상기 제어 수단은,The control means,

복수의 포트로부터 신호를 수신하고 데이터를 상기 포트에 재공하는 수단과;Means for receiving signals from a plurality of ports and providing data to the ports;

그 수신 수단으로부터 수신된 데이터를 처리하고 데이터를 거기에 복귀시키는 가상 계산기 수단을 구비한다.And virtual calculator means for processing the data received from the receiving means and returning the data there.

본 발명의 다른 태양은 상기 설명했듯이 복수의 수신기/디코더 각각을 구비하는 시스템을 구비하고, 거기에서 다른 수신기/디코더는 공통 가상 계산기 수단 및 각 다른 회로에 결합된 각기 다른 장치 관리기 수단을 갖는다.Another aspect of the invention includes a system having a plurality of receivers / decoders each as described above, where the other receivers / decoders have a common virtual calculator means and different device manager means coupled to each other circuit.

본 발명의 양호한 특징은 첨부도면을 참고로 예에 의해 완전히 설명된다.Preferred features of the present invention are explained fully by way of example with reference to the accompanying drawings.

도 1은 디지털 텔레비젼 시스템(1000)의 개략도이다. 본 발명은 공지된 MPEG-2 압축 시스템을 사용하는 가장 일반적인 디지털 텔레비젼 시스템(2000)을 포함하여 압축된 디지털 신호를 전송한다. 더 상세하게는, 방송 센터의 MPEG-2 압축기(2002)는 디지털 신호 스트림(통상적으로 비디오 신호의 스트림)을 수신한다. 압축기(2002)는 링키지(2006)에 의해 멀티플렉서 및 스크램블러(2004)에 연결된다. 멀티플렉서(2004)는 복수의 부가적인 입력 신호를 수신하고, 하나 이상의 이송 스트림을 모으고 압축된 디지털 신호를 링키지(2010)를 경유해서 방송 센터의 송신기(2008)에 전송하고, 그 링키지(2010)는 통신 링크를 포함하는 폭넓고 다양한 형태일 수 있다. 송신기(2008)는 전자기 신호를 위성 트랜스폰더(2014)를 향해 업링크(2012)를 경유해서 전송하고, 거기에서 그들은 전자적으로 처리되고 단말 사용자에의해 소유 또는 임대된 접시 형태의 지상 수신기(2018)에 상상의 다운링크(2016)를 경유해서 방송된다. 수신기(2018)에 의해 수신된 신호가 단말 사용자에 의해 소유 또는 임대되고 단말 사용자의 텔레비젼 세트(2022)에 연결되는 집적된 수신기/디코더(2020)에 전송된다. 수신기/디코더(2020)는 그 압축된 MPEG-2 신호를 텔레비젼 세트(2022)용 텔레비젼 신호로 디코드한다.1 is a schematic diagram of a digital television system 1000. The present invention includes the most common digital television system 2000 using the known MPEG-2 compression system to transmit compressed digital signals. More specifically, the MPEG-2 compressor 2002 of a broadcast center receives a digital signal stream (typically a stream of video signals). The compressor 2002 is connected to the multiplexer and scrambler 2004 by a linkage 2006. The multiplexer 2004 receives a plurality of additional input signals, collects one or more transport streams, and transmits the compressed digital signal to the transmitter of the broadcast center via linkage 2010, which linkage 2010 receives. It can be in a wide variety of forms, including communication links. Transmitter 2008 transmits an electromagnetic signal via satellite uplink 2012 towards satellite transponder 2014, where they are processed electronically and a terrestrial receiver 2018 in the form of a dish that is owned or leased by the terminal user. Is broadcast via the imaginary downlink 2016. The signal received by receiver 2018 is transmitted to an integrated receiver / decoder 2020 that is owned or leased by the terminal user and connected to the television set 2022 of the terminal user. Receiver / decoder 2020 decodes the compressed MPEG-2 signal into a television signal for television set 2022.

조건부 액세스 시스템(3000)은 멀티플렉서(2004) 및 수신기/디코더(2020)에 연결되고, 방송 센터에 부분적으로 위치되고 디코더에 부분적으로 위치된다. 그것은 단말 사용자로 하여금 하나 이상의 방송 공급자로부터 디지털 텔레비젼 방송을 액세스할 수 있게 한다. 상업적 매물(즉, 방송 공급자에 의해 판매된 하나 이상의 텔레비젼 프로그램)에 관련한 메시지를 해독할 수 있는 스마트카드는 수신기/디코더(2020)에 삽입될 수 있다. 디코더(2020) 및 스마트카드를 사용할 때, 단말 사용자는 상업적 매물을 가입 방식 또는 유료시청 방식으로 구매할 수 있다.The conditional access system 3000 is connected to the multiplexer 2004 and the receiver / decoder 2020, partially located in the broadcast center and partially located in the decoder. It allows terminal users to access digital television broadcasts from one or more broadcast providers. A smart card capable of decrypting a message relating to a commercial item (ie, one or more television programs sold by a broadcast provider) may be inserted into the receiver / decoder 2020. When using the decoder 2020 and the smart card, the terminal user can purchase a commercial item by subscription or pay-per-view.

멀티플렉서(2004) 및 수신기/디코더(2020)에 역시 연결되고 다시 방송 센터에 부분적으로 및 디코더에 부분적으로 위치된 쌍방향성 시스템(4000)은 단말 사용자로 하여금 변복조된 백 채널(4002)을 경유해서 각종의 애플리케이션과 쌍방향으로 작용할 수 있게한다.The interactive system 4000, which is also connected to the multiplexer 2004 and receiver / decoder 2020 and partly at the broadcast center and partly at the decoder, allows the end user to access the various channels via the modulated back channel 4002. Allows you to interact with your application.

도 2는 본 발명의 디지털 텔레비젼 시스템(1000)의 쌍방향성 텔레비젼 시스템(4000)의 일반적인 구조를 도시한다.2 shows the general structure of an interactive television system 4000 of a digital television system 1000 of the present invention.

예를 들어, 쌍방향성 시스템(4000)은 단말 사용자로 하여금 스크린상의 카달로그로부터 물품을 구매하도록하고, 지방 뉴스 및 기상 지도를 요구시 문의하게하고 게임을 그 텔레비젼 세트를 통해 즐기게한다.For example, the interactive system 4000 allows a terminal user to purchase items from a catalog on the screen, ask for local news and weather maps on demand, and play games through the television set.

쌍방향성 시스템(4000)은 다음과 같은 4개의 주요 구성요소를 구비한다.The interactive system 4000 has four main components as follows.

방송 공급자로 하여금 애플리케이션을 생성하고 전개하고, 디버그하고 시험하게하기위한 방송 센터(또는 어딘가에서)의 오서링 툴(authoring tool)(4004);An authoring tool 4004 of a broadcast center (or somewhere) for causing broadcast providers to create, deploy, debug, and test applications;

방송 공급자로 하여금 멀티플렉서 및 스크램블러(2004)에 전달되는 애플리케이션 및 데이터를 단말 사용자에게 방송되는 MPEG-2 이송 스트림(통상적으로 프라이비트(private) 부분)으로 삽입하기위해 준비, 인가 및 포맷할 수 있도록하는 오서링 툴(4004)에 연결된 방송센터에서의 애플리케이션 및 데이터 서버(4006);Allows broadcast providers to prepare, authorize, and format applications and data delivered to multiplexers and scramblers (2004) for insertion into MPEG-2 transport streams (usually private parts) that are broadcast to end users. An application and data server 4006 in the broadcast center connected to the authoring tool 4004;

단말 사용자로 하여금 애플리케이션을 실행용 디코더(2020)의 작업 메모리로 수신, 인가, 압축해제, 로드시킬 수 있게하기위해 단말 사용자에 의해 소유 또는 임대된 수신기/디코더(2020)에 설치된 실행가능한 코드인 실행 시간 엔진(run time engine; RTE)(4008)을 포함하는 가상 계산기(virtual machine). 엔진(4008)은 하드웨어 및 동작 시스템과 무관하다.Executables that are executable code installed in the receiver / decoder 2020 owned or leased by the terminal user to enable the terminal user to receive, authorize, decompress, and load the application into the working memory of the decoder 2020 for execution. A virtual machine that includes a run time engine (RTE) 4008. Engine 4008 is independent of hardware and operating system.

서버(4006)에 명령하는 신호로 하여금 데이터 및 애플리케이션을 단말 사용자의 요구시 MPEG-2 이송 스트림으로 삽입하게 할 수 있기위한 수신기/디코더(2020)과 애플리케이션 및 데이터 서버(4006)간의 변복조된 백 채널(4002).Modulated demodulated back channel between receiver / decoder 2020 and application and data server 4006 to enable signals instructing server 4006 to insert data and applications into the MPEG-2 transport stream at the request of the terminal user. (4002).

쌍방향성 시스템은 수신기/디코더의 기능 및 그 내부에 각종 장치를 제어하는 "애플리케이션"을 사용해서 동작시킨다. 애플리케이션은 "리소스 파일"로서 엔진(4008)에 나타내어진다. "모듈"은 리소스 파일 및 데이터로 된 세트이다. 몇개의 모듈은 애플리케이션을 형성하도록 필요로 된다. 수신기/디코더의 "메모리 볼륨"은 모듈용 저장 공간이다. "인터페이스"는 모듈을 다운로드시키기위해 사용된다. 모듈은 MPEG-2 이송 스트림으로부터 수신기/디코더(2020)로 다운로드될 수 있다.Interactive systems operate using "applications" that control the functionality of the receiver / decoder and the various devices therein. The application is represented to engine 4008 as a "resource file". A module is a set of resource files and data. Several modules are needed to form the application. The "memory volume" of the receiver / decoder is the storage space for the module. The "interface" is used to download the module. The module may be downloaded from the MPEG-2 transport stream to the receiver / decoder 2020.

이전의 문단에서 언급된 부품은 더 상세하게 설명된다.The parts mentioned in the previous paragraphs are described in more detail.

본 명세서의 목적상, 애플리케이션은 양호하게는 수신기/디코더(2020)의 고레벨 기능을 제어하는 컴퓨터 코드의 일부이다. 예를 들어, 단말 사용자가 텔레비젼 세트(2022)의 스크린상에 보여지는 버튼 목표물(object)상에 원격 제어기의 초점을 위치설정하고 확인 키를 누를 때, 버튼과 연관된 명령 시퀀스는 실행된다.For purposes of this disclosure, the application is preferably part of computer code that controls the high level functionality of the receiver / decoder 2020. For example, when a terminal user positions the remote controller's focus on a button object shown on the screen of a television set 2022 and presses a confirmation key, the command sequence associated with the button is executed.

쌍방향성 애플리케이션은 메뉴를 제안하고 단말 사용자의 요구시 명령을 실행하고 애플리케이션의 목적에 관련된 데이터를 제공한다. 애플리케이션은 수신기/디코더(2020)의 ROM(또는 FLASH 또는 기타의 비휘발성 메모리)에 저장되거나 수신기/디코더(2020)의 RAM 또는 FLASH 메모리로 방송되고 다운로드되는 상주(resident) 애플리케이션이다.The interactive application proposes menus, executes commands on demand of the terminal user, and provides data related to the purpose of the application. The application is a resident application stored in a ROM (or FLASH or other nonvolatile memory) of the receiver / decoder 2020 or broadcast and downloaded to RAM or FLASH memory of the receiver / decoder 2020.

애플리케이션들의 예:Examples of applications:

ㆍ초기화 애플리케이션. 수신기/디코더(2020)는 수신기/디코더(2020)로 하여금 MPEG-2 환경에서 즉시 동작할 수 있게 하는 모듈의 적용가능한 수집(이후에 보다 상세하게 정의됨)인 상주 초기화 애플리케이션으로 구비된다. 필요하다면, 애플리케이션은 방송 공급자에 의하여 변경될 수 있는 핵심적인 특징들을 제공한다. 이것은 또한 상주 애플리케이션과 다운로드된 애플리케이션간의 인터페이스를 제공한다.Initialization application. Receiver / decoder 2020 is equipped with a resident initialization application, which is an applicable collection of modules (defined in more detail below) that allows receiver / decoder 2020 to operate immediately in an MPEG-2 environment. If necessary, the application provides key features that can be changed by the broadcast provider. It also provides an interface between the resident application and the downloaded application.

ㆍ시작 애플리케이션. 시작 애플리케이션은 다운로드되거나 상주하는 애플리케이션으로 하여금 수신기/디코더(2020)상에서 구동할 수 있게 한다. 상기 애플리케이션은 애플리케이션을 시작하기 위해 서비스의 도달시에 실행되는 부트스트랩으로서 작용한다. 시작은 RAM에 다운로드되고 쉽게 갱신될 수 있다. 그것은 각 채널에서 이용가능한 쌍방향성 애플리케이션이 다운로드후에 또는 프리로딩(preloading)후에 즉시 선택되거나 구동될 수 있도록 구성된다. 프리로딩의 경우에, 애플리케이션은 메모리(2024)에 로드되며, 필요할 때 시작에 의하여 작동된다.Start application. The launch application allows the downloaded or resident application to run on the receiver / decoder 2020. The application acts as a bootstrap that runs upon arrival of the service to start the application. The start is downloaded to RAM and can be easily updated. It is configured such that interactive applications available in each channel can be selected or run immediately after download or after preloading. In the case of preloading, the application is loaded into memory 2024 and is activated by startup when needed.

ㆍ프로그램 안내. 프로그램 안내는 프로그래밍에 관한 충분한 정보를 주는 쌍방향성 애플리케이션이다. 예를 들어, 그것은 디지털 텔레비젼 세트의 각 채널에 제공되는 가령 일주일의 텔레비전 프로그램들에 관한 정보를 줄 수 있다. 원격제어기(2026)의 키를 누른 것에 의하여, 단말 사용자는 텔레비전 세트(2022)의 화면 상에 보이는 이벤트에 오버레이되는 추가 스크린에 액세스한다. 그 추가 스크린은 디지털 텔레비전 세트의 각 채널의 현재 및 다음 이벤트상에서 정보를 주는 브라우저이다. 원격 제어기(2026)상의 다른 키를 누르는 것에 의하여, 단말 사용자는 일주에 걸친 이벤트상에 정보 리스트를 표시하는 애플리케이션에 액세스한다. 단말 사용자는 이벤트들을 간단하며 주문제조된 기준으로 또한 조사 및 분류할 수 있다. 단말 사용자는 또한 선택된 채널에 직접 액세스할 수 있다.Program guide. Program guide is an interactive application that gives enough information about programming. For example, it can give information about, for example, one week of television programs provided on each channel of a digital television set. By pressing a key on the remote controller 2026, the terminal user accesses an additional screen that overlays the event shown on the screen of the television set 2022. The additional screen is a browser that provides information on the current and next events of each channel of the digital television set. By pressing another key on the remote controller 2026, the terminal user accesses an application that displays a list of information on a week-long event. The terminal user can also investigate and classify the events on a simple and customized basis. The terminal user may also have direct access to the selected channel.

ㆍ유료 시청 애플리케이션. 유료 시청 애플리케이션은 조건부 액세스 시스템(3000)과 관련하여 디지털 TV 세트의 각 PPV 채널에서 이용할 수 있는 쌍방향 서비스이다. 단말 사용자는 TV 안내 또는 채널 브라우저를 이용하여 애플리케이션에 액세스할 수 있다. 또한, 애플리케이션들은 PPV 이벤트가 PPV 채널에서 검출되자 마자 자동적으로 시작한다. 그후 단말 사용자는 자신의 도터 스마트 카드(3020)를 통해 또는 통신 서버(3022)(모뎀, 전화 및 DTMF 코드, MINITEL 등을 사용하는)를 경유해서 현재의 이벤트를 구매할 수 있다. 애플리케이션은 수신기/디코더(2020)의 ROM에 상주하거나 디코더(2020)의 RAM에 다운로드될 수 있다.Paid viewing application. The paid viewing application is an interactive service available on each PPV channel of the digital TV set in connection with the conditional access system 3000. The terminal user can access the application using a TV guide or a channel browser. In addition, applications automatically start as soon as a PPV event is detected on the PPV channel. The terminal user can then purchase the current event via his daughter smart card 3020 or via a communication server 3022 (using a modem, telephone and DTMF code, MINITEL, etc.). The application may reside in the ROM of the receiver / decoder 2020 or may be downloaded to the RAM of the decoder 2020.

ㆍPC 다운로드 애플리케이션. 요청시, 단말 사용자는 PC 다운로드 애플리케이션을 이용하여 컴퓨터 소프트웨어를 다운로드할 수 있다.PC download application. Upon request, the terminal user can download the computer software using a PC download application.

ㆍ매거진 브라우저 애플리케이션. 매거진 브라우저 애플리케이션은 스크린상의 버튼을 경유하는 단말 사용자 네비게이션으로써 순환적 비디오 방송을 구비한다.Magazine browser application. The magazine browser application has a cyclical video broadcast as terminal user navigation via buttons on the screen.

ㆍ퀴즈 애플리케이션. 퀴즈 애플리케이션은 바람직하게 방송 퀴즈 프로그램과 동기화된다. 예를 들어, 다수의 선택 문제들이 텔레비전(2022)의 스크린상에 표시되고, 사용자는 원격 제어기(2026)를 이용하여 대답을 선택할 수 있다. 퀴즈 애플리케이션은 대답이 정확한지 아닌지를 사용자에게 알려줄 수 있으며, 사용자의 점수를 카운트할 수 있다.Quiz application. The quiz application is preferably synchronized with the broadcast quiz program. For example, a number of selection questions are displayed on the screen of television 2022, and the user can select an answer using remote controller 2026. The quiz application can tell the user whether the answer is correct or not and can count the user's score.

ㆍ텔레쇼핑 애플리케이션. 텔레쇼핑 애플리케이션의 한 예에서, 판매용 물품의 매물이 수신기/디코더(2020)에 전송되어 텔레비전 세트(2022)에 표시된다. 원격 제어기를 사용하여, 사용자는 구매할 특정한 물품을 선택할 수 있다. 물품에 대한 대한 주문은 변복조된 백 채널(4002)을 통하여 애플리케이션 및 데이터 서버(4006) 또는 별도의 판매 시스템으로 전송되며 그 판매 시스템의 전화 번호는 수신기/디코더(2020)의 카드 판독기(4036)중 하나로 삽입된 신용 카드에 대한 계정에 요금청구하는 주문과 가능하게는 함께 수신기/디코더에 다운로드되었다.• Teleshopping application. In one example of a teleshopping application, an item of merchandise for sale is sent to a receiver / decoder 2020 and displayed on a television set 2022. Using the remote control, the user can select a particular item to purchase. The order for the item is sent to the application and data server 4006 or to a separate sales system through the modulated back channel 4002, the telephone number of which is in the card reader 4036 of the receiver / decoder 2020. The order is billed to the account for the inserted credit card and possibly downloaded to the receiver / decoder.

ㆍ텔레뱅킹 애플리케이션. 텔레뱅킹 애플리케이션의 한 예에서, 사용자는 은행 카드를 수신기/디코더(2020)의 카드 판독기(4036)중 하나로 삽입한다. 수신기/디코더(2020)는 은행 카드에 저장되거나 수신기/디코더에 저장된 전화번호를 이용하여 사용자의 은행에 다이얼하고, 그후 애플리케이션은 예를 들어 계정 계산서를 전화선을 통해 다운로드하고, 계정들간의 자금을 이동하고, 수표장을 요청하는 원격 제어기(2026)를 사용하여 선택될 수 있다.Telebanking application. In one example of a telebanking application, a user inserts a bank card into one of the card readers 4036 of the receiver / decoder 2020. The receiver / decoder 2020 dials the user's bank using a phone number stored on a bank card or stored in the receiver / decoder, and the application then downloads an account statement via a telephone line, for example, and transfers funds between accounts. And a remote controller 2026 requesting a checkbook.

ㆍ인터넷 브라우저 애플리케이션. 인터넷 브라우저 애플리케이션의 한 예에 있어서, 특정의 URL을 갖는 웹 페이지를 뷰하게하는 요청 등과 같은 사용자로부터의 지시는 원격 제어기(2026)를 이용하여 들어오고, 그것들은 변복조된 백 채널(4002)에 의해 애플리케이션 및 데이터 서버(4006)로 보내진다. 적절한 웹 페이지는 방송 센터로부터의 전송에 포함되고, 업 링크(2012), 트랜스폰더(2014) 및 다운링크(2016)를 통하여 수신기/디코더(2020)에 의하여 수신되어, 텔레비전 세트(2022)에 표시된다.Internet browser application. In one example of an internet browser application, instructions from a user, such as a request to view a web page with a particular URL, are entered using remote controller 2026, and they are driven by the modulated back channel 4002. Sent to application and data server 4006. The appropriate web page is included in the transmission from the broadcast center, received by the receiver / decoder 2020 via uplink 2012, transponder 2014 and downlink 2016, and displayed on television set 2022. do.

애플리케이션은 수신기/디코더(2020)의 메모리 위치에 저장되고 리소스 파일로서 표시된다. 리소스 파일은 그래픽 목표물 설명 유닛 파일, 가변블록 유닛 파일, 지시 시퀀스 파일, 애플리케이션 파일 및 데이터 파일을 구비한다.The application is stored in a memory location of the receiver / decoder 2020 and displayed as a resource file. The resource file includes a graphic target description unit file, a variable block unit file, an instruction sequence file, an application file, and a data file.

그래픽 목표물 설명 유닛 파일은 애플리케이션의 인간-기계계(man-machine)인 스크린을 설명한다. 가변블록 유닛 파일은 애플리케이션에 의해 취급된 데이터 구조를 설명한다. 지시 시퀀스 파일은 애플리케이션의 처리 동작을 설명한다. 애플리케이션 파일은 애플리케이션용 엔트리 포인트를 제공한다.The graphical target description unit file describes the screen, which is the man-machine of the application. The variable block unit file describes the data structure handled by the application. The instruction sequence file describes the processing operation of the application. The application file provides an entry point for the application.

상기 방법으로 구성된 애플리케이션은 아이콘 라이브러리 파일, 이미지 파일, 문자 폰트(font) 파일, 컬러 테이블 파일 및 ASCII 텍스트 파일 등의 데이터 파일을 사용할 수 있다. 쌍방향성 애플리케이션은 입력 및/또는 출력을 유효하게 함으로써 온-라인 데이터를 얻을 수 있다.Applications configured in this manner can use data files such as icon library files, image files, character font files, color table files, and ASCII text files. Interactive applications can obtain on-line data by validating inputs and / or outputs.

엔진(4008)만은 그것이 설정된 시간에 필요로 하는 그 리소스 파일을 그 메모리로 로드시킨다. 그 리소스 파일은 그래픽 목표물 설명 유닛 파일, 지시 시퀀스 파일 및 애플리케이션 파일로부터 판독되고; 가변블럭 유닛 파일은 모듈을 로딩하는 절차에 호출을 따르게하는 메모리에 저장되고 모듈을 언로딩하는 절차에서 특정한 호출이 이루질 때까지 거기에 로크된 채로 남아있다.The engine 4008 alone loads the resource file that it needs at a set time into its memory. The resource file is read from the graphic target description unit file, the instruction sequence file, and the application file; The variable block unit file is stored in memory that follows the call to the procedure of loading the module and remains locked there until a particular call is made in the procedure of unloading the module.

도 3에서, 텔레쇼핑 모듈 등의 모듈(4010)은 리소스 파일 및 데이터 세트이고, 그 세트는,In FIG. 3, a module 4010, such as a teleshopping module, is a resource file and a data set, and the set is

단일 애플리케이션 파일(4012)과;A single application file 4012;

미결정된 수의 그래픽 목표물 설명 유닛 파일(4014)과;An undetermined number of graphical target description unit files 4014;

미결정된 수의 가변블럭 유닛 파일(4016)과;An undetermined number of variable block unit files 4016;

미결정된 수의 지시 시퀀스 파일(4018)과;An undetermined number of instruction sequence files 4018;

알맞게는 아이콘 라이브러리 파일, 이미지 파일, 문자 폰트(font) 파일, 컬러 테이블 파일 및 ASCII 텍스트 파일 등의 데이터 파일(4020)을 구비한다.Preferably, data files 4020 are provided, such as icon library files, image files, text font files, color table files, and ASCII text files.

MPEG 데이터 스트림에서, 각 모듈은 MPEG 테이블의 그룹을 구비한다. 각 MPEG 테이블은 다수의 부분으로 표맷될 수 있다. MPEG 데이터 스트림에서, 각 부분은 4바이트까지의 "크기"를 갖는다. 직렬 및 병령 포트를 경유한 데이터 이동에 대해, 예를 들어, 모듈은 테이블 및 부분으로 비슷하게 분할되고, 그 부분의 크기는 트랜스포트 매체에 따라 변화한다.In an MPEG data stream, each module has a group of MPEG tables. Each MPEG table can be formatted in multiple parts. In an MPEG data stream, each part has a "size" of up to 4 bytes. For data movement via serial and parallel ports, for example, the module is similarly divided into tables and parts, the size of which varies with the transport medium.

모듈은 비디오 데이터 스트림, 오디오 데이터 스트림 및 텔리텍스트 데이터 스트림을 예로 하는 각 데이터 스트림 형태내에서 통상적으로 188바이트의 데이터 패킷 형태로 된 MPEG 데이터 스트림에서 이동된다. 각 패킷은 13 비트의 패킷 식별자(PID)보다 앞서게되고, MPEG 데이터 스트림에서 이동된 모든 패킷에 대해 하나의 PID가 있다. 프로그램 맵 테이블(PMT 테이블)은 다른 데이터 리스트를 포함하고 각 PID에 따라 각 데이터 스트림의 내용을 형성한다. PID는 데이터 스트림에서 애플리케이션의 존재에 대해 장치에 알리고, PID는 PMT 테이블을 사용해서 식별된다.The module is moved in an MPEG data stream, typically in the form of a 188 byte data packet, within each data stream form taking video data streams, audio data streams, and teletext data streams as an example. Each packet is preceded by a 13-bit packet identifier (PID) and there is one PID for every packet moved in the MPEG data stream. The program map table (PMT table) contains different data lists and forms the contents of each data stream according to each PID. The PID informs the device about the presence of the application in the data stream, and the PID is identified using the PMT table.

도 4에서, 수신기/디코더(2020)는 여럿의 인터페이스를 포함하는 데, 즉 특히, MPEG 신호 흐름용 튜너(4028)와, 직렬 인터페이스(4030)와, 병렬 인터페이스(4030)와, 2개의 카드 판독기(4036)이고, 그 2개의 카드 판독기(4036)중 하나는 시스템 일부를 형성하는 스마트카드용이고 다른 하나는 은행카드용(지불, 홈 뱅킹 등에 사용하는)이다. 수신기/디코더는 변복조된 백 채널(4002)에 대한 인터페이스(4034)를 텔레비젼 신호 발생기에 포함하여, 사용자는 텔레비젼 신호(프로그램) 발생기에 역으로 더 좋아하는 물건(preference)을 표시할 수 있다.In FIG. 4, the receiver / decoder 2020 includes several interfaces, that is, in particular a tuner 4028 for MPEG signal flow, a serial interface 4030, a parallel interface 4030, and two card readers. 4036, one of the two card readers 4036 for smart cards forming part of the system and the other for bank cards (used for payment, home banking, etc.). The receiver / decoder includes an interface 4034 for the modulated back channel 4002 to the television signal generator so that the user can display preferences in preference to the television signal (program) generator.

메모리 볼륨은 모듈(4010)용 저장 공간이다. 그 저장 공간은 수신기/디코더(2020)의 메모리(2024)에 위치된다. 도 5를 참고로, 메모리(2024)는 RAM 볼륨(4022), 플래시 볼륨(4024), 및 ROM 볼륨(4026)으로 분할되나, 상기 물리적인 조직은 논리적인 조직으로부터 구별된다. 메모리는 모듈이 수신기/디코더(2020)로 다운로드되는 각종의 인터페이스와 연관된 메모리 볼륨, 예를 들어 MPEG 비트스트림으로부터 다운로드되는 모듈을 저장하는 MPEG 볼륨 및 직렬 인터페이스를 경유해서 수신된 모듈을 저장하는 직렬 볼륨으로 부가적으로 분할될 수 있다. 하나의 관점으로부터, 메모리는 하드웨어의 일부로서 간주될 수 있고; 다른 관점으로부터, 메모리는 하드웨어로부터 멀리 도시된 시스템 전체를 지지 또는 포함하는 것으로 간주될 수 있다.The memory volume is a storage space for the module 4010. The storage space is located in the memory 2024 of the receiver / decoder 2020. Referring to FIG. 5, memory 2024 is divided into RAM volume 4022, flash volume 4024, and ROM volume 4026, but the physical organization is distinguished from logical organization. The memory is a memory volume associated with the various interfaces on which the module is downloaded to the receiver / decoder 2020, e.g. an MPEG volume storing the module downloaded from the MPEG bitstream and a serial volume storing the module received via the serial interface. It can be additionally divided into From one aspect, the memory can be considered part of the hardware; From another aspect, the memory may be considered to support or include the entire system as shown far from the hardware.

수신기/디코더가 여러 제조자에 의해 설계 및 제조된다. 그러므로 그들이 같은 기능 사양서에 물론 순응하지만 그것은 각종의 다른 하드웨어 설계를 갖는 다. 설정된 애플리케이션은 모든 수신기/디코더상에서 같은 방법으로 동작하고, 수신기/디코더가 같고 정확한 방법으로 모든 애플리케이션을 실행해야하는 것이 중요하다.Receivers / decoders are designed and manufactured by various manufacturers. Therefore they conform to the same functional specification, of course, but they have a variety of different hardware designs. It is important that the configured application behave in the same way on all receivers / decoders, and that all applications run in the same and correct way.

시스템은 가상 계산기(4007)의 일부를 형성하는 동작 시간 엔진(4008)상에 집중되는 것으로 간주될 수 있다. 그것은 상기 설명된 각종의 중간 논리 유닛을 경유해서 수신기/디코더(4061)에 대해 한측("고레벨"측) 및 나머지측("저레벨"측)상에서 애플리케이션에 결합된다. 수신기/디코더 하드웨어는 상기 논의했듯이 각종의 포트 또는 인터페이스(핸드세트(2026)용 인터페이스(2030), MPEG 스트림 인터페이스(4028), 직렬 인터페이스(4030), 병렬 인터페이스(4032), 카드 판독기에 대한 인터페이스(4036), 및 변복조된 백 채널(4002)에 대한 인터페이스(4034))를 포함하는 것으로 간주된다.The system may be considered to be concentrated on an operating time engine 4008 that forms part of the virtual calculator 4007. It is coupled to the application on one side ("high level" side) and the other side ("low level" side) to the receiver / decoder 4041 via the various intermediate logic units described above. As discussed above, the receiver / decoder hardware may have various ports or interfaces (interface 2030 for handset 2026, MPEG stream interface 4028, serial interface 4030, parallel interface 4032, interfaces for card readers). 4036, and an interface 4034 to the modulated back channel 4002.

도 6에서, 각종의 애플리케이션(4057)은 유닛(4007)에 결합되고; 몇개의 공통으로 사용된 애플리케이션은 4057에 표시했듯이 시스템에서 다소간 영구히 상주되는 반면에 나머지것들은 MPEG 데이터 스트림 또는 필요시 나머지 포트로부터 시스템으로 다운로드된다.In FIG. 6, various applications 4057 are coupled to unit 4007; Some commonly used applications reside in the system somewhat permanently, as indicated in 4057, while others are downloaded to the system from the MPEG data stream or, if necessary, from the remaining ports.

유닛(4007)은 동작 시간 엔진(4008)에 부가해서 툴 박스(4058)를 포함하는 상주하는 라이브러리 기능(4006)을 포함한다. 라이브러리는 엔진(4008)에 의해 사용된 C 언어에서 여러가지의 기능을 포함한다. 그것들은 데이터 구조의 압축, 팽창 또는 비교, 라인 그리기 등의 데이터 조작을 포함한다. 라이브러리(4006)는 수신기/디코더(2020)에서 펌웨어(firmware)(4060)에 대한 정보를 포함하고, 그 정보는 하드웨어 및 소프트웨어 버젼수 및 사용가능한 RAM 공간, 새로운 장치(4062)를 다운로드할 때의 기능 등이다. 기능은 플래시 또는 RAM 메모리로 저장되는 라이브러리로 다운로드될 수 있다.Unit 4007 includes a resident library function 4006 that includes toolbox 4058 in addition to operating time engine 4008. The library contains various functions in the C language used by the engine 4008. They include data manipulation such as compression, expansion or comparison of data structures, line drawing, and the like. Library 4006 includes information about firmware 4060 at receiver / decoder 2020, which information includes hardware and software version numbers and available RAM space, as well as when downloading new device 4062. Function. The function can be downloaded to a library stored in flash or RAM memory.

동작 시간 엔진(4008)은 포트 또는 인터페이스에 교대로 장치 구동기(4060)에 결합되는 장치(4064) 세트에 결합되는 장치 관리기(4068)에 결합된다. 넓은 의미에서, 장치 구동기는 논리 인터페이스를 형성하는 것으로 간주될 수 있어서, 2개의 다른 장치 구동기는 공통의 물리적인 포트에 결합될 수 있다. 장치 구동기는 하나이상의 장치 구동기에 일반적으로 결합되고; 장치가 단일의 장치 구동기에 결합되면, 그 장치는 통신에 필요로된 충분한 기능성을 결부시키기위해 일반적으로 설계되어, 분리된 장치 구동기의 필요성이 제거된다. 소정의 장치들은 그들자체간에 통신할 수 있다.An operating time engine 4008 is coupled to a device manager 4068 coupled to a set of devices 4064 that are coupled to device drivers 4060 alternately to ports or interfaces. In a broad sense, the device driver may be considered to form a logical interface such that two different device drivers may be coupled to a common physical port. The device driver is generally coupled to one or more device drivers; When the device is coupled to a single device driver, the device is generally designed to incorporate sufficient functionality required for communication, thereby eliminating the need for a separate device driver. Certain devices can communicate among themselves.

하기에서 설명했듯이, 장치(4064)로부터 동작 시간 엔진으로의 3가지 통신 형태가 있는 데 즉 이벤트 큐 세트로 통과되는 변수, 버퍼 및 이벤트에 의한 것이다.As described below, there are three forms of communication from the device 4064 to the runtime engine: variables, buffers, and events that are passed through the event queue set.

상기 각종의 기능의 설계자 또는 제공자의 견지에서, 애플리케이션은 각종의 서비스(프로그램) 제공자에 의해 발생된다. 동작 시간 엔진은 시스템 권위자 또는 설계자에 의해 설계 및 제공된다. 장치 관리기, 장치, 및 장치 구동기는 수신기/디코더 제조자(하드웨어 제공자)에 의해 제공된다. 그러나 수신기/디코더의 각종 레벨 및 제공자의 3개 레벨간의 상기 통신은 일반적으로 정확하게 되지 않게 된다. 예를 들어, 시스템 권위자는 실제로 몇개의 애플리케이션을 일반적으로 제공하고, 수신기/디코더 제조자는 논리적인 장치 설계 등에 포함될 수 있다.In view of the designers or providers of the various functions, the application is generated by various service (program) providers. The run time engine is designed and provided by a system authority or designer. The device manager, device, and device driver are provided by the receiver / decoder manufacturer (hardware provider). However, the communication between the various levels of the receiver / decoder and the three levels of providers is generally not accurate. For example, a system authority may actually provide some applications, and a receiver / decoder manufacturer may be involved in logical device design and the like.

수신기/디코더(2020)의 각 기능은 장치(4062)로서 표시된다. 장치는 로컬이거나 원격으로 될 수 있다. 로컬 장치(4064)는 스마트카드, SCART 컨넥터 신호, 모뎀, 직렬 및 병렬 인터페이스, MPEG 비디오 및 오디오 플레이어 및 MPEG 섹션 및 테이블 인출기를 포함한다. 원격 위치에서 실행된 원격 장치(4066)는 포트 및 절차가 수신기/디코더 제조자에 의해 제공 및 설계된 장치 및 장치 구동기에 의해서라기 보다 오히려 시스템 권위자 또는 설계자에 의해 형성되야한다는 점에서 로컬 장치와 다르다.Each function of the receiver / decoder 2020 is represented as device 4082. The device can be local or remote. Local device 4064 includes smartcards, SCART connector signals, modems, serial and parallel interfaces, MPEG video and audio players, and MPEG section and table extractors. Remote device 4066 implemented at a remote location differs from local device in that the ports and procedures must be formed by the system authority or designer rather than by devices and device drivers provided and designed by the receiver / decoder manufacturer.

새로운 장치(4062)가 생성될 때, 그것은 관련된 애플리케이션(4056)을 방송 센터로부터 다운로드함으로써 기존의 수신기/디코더(2020)에 설치될 수 있다. 상기 다운로딩은 하드웨어 및 소프트웨어 버젼을 확인하고 맞다면 새로운 장치(4062)를 표시하는 소프트웨어 모듈을 로드시키고 새로운 장치 코드를 펌웨어(플래시 메모리에서)내에 설치하도록 라이브러리(4006)의 절차를 질문하는 애플리케이션(4056)에 의해 수신기/디코더(2020)에 수행된다. 그것은 나머지의 소프트웨어에 영향을 미치지않고 새로운 기능의 유연하고 안전한 설치를 수신기/디코더(2020)내에 제공할 수 있다.When a new device 4062 is created, it can be installed in an existing receiver / decoder 2020 by downloading the associated application 4056 from the broadcast center. The downloading checks the hardware and software version and, if correct, loads a software module indicating a new device 4062 and asks the application of the library 4006 for installing the new device code in firmware (in flash memory). Performed by receiver 4056 to receiver / decoder 2020. It can provide a flexible and secure installation of new functionality in the receiver / decoder 2020 without affecting the rest of the software.

장치 관리기(4068)는 애플리케이션(4056) 및 수신기/디코더(2020)의 특정한 기능간의 공통 소프트웨어 인터페이스이다. 장치 관리기(4068)는 장치(4062)에 대한 액세스를 제어하고, 예측안된 이벤트의 수신을 선언하고, 공유된 메모리를 관리한다.The device manager 4068 is a common software interface between the application 4056 and specific functions of the receiver / decoder 2020. The device manager 4068 controls access to the device 4062, declares receipt of unpredicted events, and manages shared memory.

동작 시간 엔진(4008)은 마이크로프로세서 및 공통 애플리케이션 프로그래밍 인터페이스의 제어하에서 동작한다. 그들은 모든 수신기/디코더(2020)에서 설치되어, 모든 수신기/디코더(2020)는 애플리케이션 관점에서 동일하다.The run time engine 4008 operates under the control of a microprocessor and a common application programming interface. They are installed in all receivers / decoders 2020 so that all receivers / decoders 2020 are the same from an application point of view.

엔진(4008)은 수신기/디코더(2020)상에서 애플리케이션(4056)을 동작시킨다. 그것은 쌍방향성 애플리케이션(4056)을 실행하고 수신기/디코더(2020) 외측으로부터 이벤트를 수신하고, 그래픽 및 텍스트를 표시하고, 서비스용 장치를 호출하고 특정한 계산용 엔진(4008)에 연결된 라이브러리(4006)의 기능을 사용한다.Engine 4008 runs application 4056 on receiver / decoder 2020. It executes an interactive application 4056 and receives events from outside the receiver / decoder 2020, displays graphics and text, calls a service device and connects to a library 4006 connected to a particular computational engine 4008. Use the function.

동작 시간 엔진(4008)은 각 수신기/디코더(2020)에서 설치된 실행가능한 코드이고, 애플리케이션을 인터프리트하고 동작시키는 인터프리터를 포함한다. 엔진(4008)은 단일의 임무 동작 시스템(MS-DOS와 같은)을 포함하는 동작 시스템에 적용가능하다. 엔진(4008)은 처리 시퀀서 유닛(각종의 동작을 수행하도록 키 누름과 같은 각종의 이벤트를 이루게하는)을 토대로하고, 이벤트 큐를 다른 하드웨어 인터페이스로부터 관리하도록 그 자신의 스케줄러(scheduler)를 포함한다. 그것은 그래픽 및 텍스트의 표시를 취급한다. 처리 시퀀서 유닛은 동작-그룹 세트를 구비한다. 각 이벤트는 처리 시퀀서 유닛으로 하여금 이벤트의 특성에 따라 현재의 동작-그룹으로부터 다른 동작-그룹으로 이동하도록하고 새로운 동작-그룹의 동작을 실행하도록한다. 상기에서 알 수 있듯이, 논리적인 채널이 물리적인 포트와 달라서, 예를 들어 같은 물리적인 포트를 사용하는 2개의 다른 논리 채널이 있을 수 있다. 상기 2개의 논리 채널상의 이벤트는 각기 다른 처리 시퀀서 유닛으로 통과된다. 부가해서, 물리적인 포트를 사용하는 같은 형태의 2개의 다른 논리 채널이 있을 수 있다. 그 경우에, 2개의 채널 각각은 물론 자신의 처리 시퀀서 유닛을 필요로 하고, 그래서 같은 처리 시퀀서 유닛의 2개의 인스턴스(instances)가 생성된다.The runtime engine 4008 is executable code installed at each receiver / decoder 2020 and includes an interpreter for interpreting and operating the application. Engine 4008 is applicable to operating systems including a single mission operating system (such as MS-DOS). The engine 4008 is based on a processing sequencer unit (which causes various events such as key presses to perform various operations) and includes its own scheduler to manage the event queue from different hardware interfaces. It handles the display of graphics and text. The processing sequencer unit has an operation-group set. Each event causes the processing sequencer unit to move from the current action-group to another action-group and execute a new action-group action according to the nature of the event. As can be seen above, there may be two different logical channels using the same physical port, for example because the logical channel is different from the physical port. Events on the two logical channels are passed to different processing sequencer units. In addition, there may be two different logical channels of the same type using physical ports. In that case, each of the two channels requires of course its own processing sequencer unit, so two instances of the same processing sequencer unit are created.

엔진(4008)은 코드 로더(loader)를 구비하여 애플리케이션(4056)을 수신기/디코더 메모리(2028)로 로드 및 다운로드시킨다. 필요한 코드가 최적으로 사용되기위해 RAM 또는 플래시 메모리로 로드된다. 다운로드된 데이터는 인가 메카니즘에 의해 입증되어 애플리케이션(4056)의 변경 또는 비인가된 애플리케이션의 실행을 방지한다. 엔진(4008)은 감압기를 또한 구비한다. 애플리케이션 코드(중간 코드의 형태)가 MPEG-2 트랜스포트 스트림으로부터 또는 실장된 수신기/디코더 방식을 경유해서 공간 절약 및 빨리 다운로딩하기위해 압축됨에 따라, 코드는 그것을 RAM에 로딩하기전에 감축되야한다. 엔진(4008)은 각종의 변수값을 갱신하고 상태 변화를 결정하도록 애플리케이션 코드를 인터프리트하는 인터프리터와, 에러 확인기를 구비한다.Engine 4008 has a code loader to load and download application 4056 to receiver / decoder memory 2028. The necessary code is loaded into RAM or flash memory for optimal use. The downloaded data is verified by an authorization mechanism to prevent alteration of the application 4056 or the execution of unauthorized applications. Engine 4008 also includes a pressure reducer. As application code (in the form of intermediate code) is compressed to save space and quickly download from an MPEG-2 transport stream or via an embedded receiver / decoder scheme, the code must be reduced before loading it into RAM. The engine 4008 includes an interpreter for interpreting application code to update various variable values and to determine state changes, and an error checker.

엔진(4008)의 메인 루프는 이벤트를 큐 수단으로부터 인출하고 따라서 그 연관된 처리 시퀀서 유닛을 작동시킨다. 메인 루프의 모든 횡단에서, 절차는 외부 이벤트(직렬 포트상에서 원격 제어 키, MPEG-2 섹션 또는 메시지중 하나의 누름과 같은)를 이벤트 인터페이스로부터 수신하도록 호출된다. 표시 기능(하기 논의된)에 입력되거나 인터페이스를 통해 수신된 모든 이벤트는 엔진(4008)에 의해 처리된다. 각 검출된 이벤트에 대해, 그 절차는 엔진의 5개 큐중 하나로 놓여지는 "이벤트"를 각 우선순위 레벨 0 내지 4로써 호출된 메시지를 구비한다. 큐를 이벤트로써 채우는 이벤트 인터페이스에 대한 호출후, 엔진(4008)은 이벤트용 우선순위(레벨 4로부터 레벨 0)를 감소시키는 순서로 큐를 서치한다. 그렇게 발견된 이벤트는 큐로부터 제거되고 의도되는 처리 시퀀서를 작동시키기위해 사용된다.The main loop of engine 4008 draws events from the queue means and thus activates the associated processing sequencer unit. In every traversal of the main loop, the procedure is called to receive external events (such as pressing a remote control key, an MPEG-2 section or one of the messages on the serial port) from the event interface. All events entered into the display function (discussed below) or received via the interface are processed by the engine 4008. For each detected event, the procedure includes a message called "event" with each priority level 0-4 placed in one of the five queues of the engine. After a call to the event interface that populates the queue with events, engine 4008 searches the queues in order of decreasing event priority (level 4 to level 0). The event so found is removed from the queue and used to run the intended processing sequencer.

장치(4062)의 서비스를 사용하기전에, 프로그램(애플리케이션 지시 시퀀스)은 "클라이언트" 인 논리 액세스-방법으로서 장치(4066) 또는 장치 관리기(4068)에 선언되야한다. 관리기는 장치에 대한 모든 액세스로 불리워지는 클라이언트 번호를 클라이언트에게 부여한다. 장치(4066)는 몇개의 클라이언트을 가질 수 있고, 각 디바이스(4066)에 대한 클라이언트수는 장치(4066)의 형태에 따라 특정화된다. 클라이언트는 절차 "장치: 개방 채널"에 의해 장치(4066)에 도입된다. 상기 절차는 클라이언트 번호를 클라이언트에게 할당한다. 클라이언트는 절차 "장치: 폐쇄 채널"에 의해 클라이언트 리스트를 장치 관리기(4068)에서 빼어낼 수 있다.Prior to using the services of device 4042, a program (application instruction sequence) must be declared to device 4066 or device manager 4068 as a logical client access method. The manager assigns the client a client number called all access to the device. The device 4066 may have several clients, and the number of clients for each device 4066 is specified according to the type of the device 4066. The client is introduced to the device 4066 by the procedure "device: open channel". The procedure assigns a client number to the client. The client may pull the client list out of the device manager 4068 by the procedure "Device: Closed Channel".

장치 관리기(4068)에 의해 제공된 장치(4062)에 대한 액세스는 동기 또는 비동기로 될 수 있다. 동기 액세스에 대해, 절차 "장치:호출"은 사용된다. 그것은 즉시 사용할 수 있는 데이터를 액세스하는 수단이거나 바람직한 응답에 대해 대기를 포함하지 않는 기능성이다. 비동기 액세스에 대해, 절차 "장치:I/O"가 사용된다. 그것은 예를 들어 다중화하도록 동조기 주파수를 스캐닝하거나 테이블을 MPEG 스트림으로부터 되찾는 응답을 대기하는 것을 포함하는 데이터를 액세스하는 수단이다. 그 요청된 결과가 사용가능할 때, 이벤트는 엔진의 큐에 놓여져서 그 도착을 신호전송한다. 부가적인 절차 "장치:이벤트"는 예측안된 이벤트를 관리하는 수단을 제공한다.Access to device 4082 provided by device manager 4068 may be synchronous or asynchronous. For synchronous access, the procedure "device: call" is used. It is a means of accessing readily available data or functionality that does not include a wait for the desired response. For asynchronous access, the procedure "device: I / O" is used. It is a means of accessing data including, for example, scanning a tuner frequency to multiplex or waiting for a response to retrieve the table from the MPEG stream. When the requested result is available, the event is placed in the engine's queue to signal its arrival. An additional procedure "device: event" provides a means of managing an unexpected event.

상기에서 알 수 있듯이, 동작 시간 엔진의 메인 루프는 각종의 처리 시퀀서 유닛에 결합되고, 메인 루프는 알맞은 이벤트를 발생시키고, 제어는 처리 시퀀서 유닛중 하나로 동시에 이송된다.As can be seen above, the main loop of the run time engine is coupled to various processing sequencer units, the main loop generates appropriate events, and control is transferred simultaneously to one of the processing sequencer units.

동작 시간 엔진 및 애플리케이션간의 통신은 2개 형태의 처리 시퀀서 유닛인 그래픽 목표물 설명 유닛 처리 시퀀서 유닛 및 지시 시퀀스 처리 시퀀서 유닛을 경유해서 주로 수행된다.The communication between the runtime engine and the application is mainly performed via two types of processing sequencer units: a graphic target description unit processing sequencer unit and an instruction sequence processing sequencer unit.

처리 시퀀서 유닛의 동작의 본질은 그래픽 목표물 설명 유닛 및 지시 시퀀스 처리 시퀀서 유닛의 동작을 고려함으로써 가장 잘 설명될 수 있고; 나머지의 처리 시퀀서 유닛의 동작은 비슷하다. 그래픽 목표물 설명 유닛 처리 시퀀서 유닛은 인간-기계계 인터페이스를 관리하고, 지시 시퀀스 처리 시퀀서 유닛은 그래픽 목표물 설명 유닛 처리 시퀀서 유닛으로부터 수신된 지시 시퀀스 실행 요청에 응답해서 지시 시퀀스를 실행한다. (지시 시퀀스는 감축된 중간 코드 명령의 시퀀스이다.)The nature of the operation of the processing sequencer unit can be best explained by considering the operation of the graphical target description unit and the instruction sequence processing sequencer unit; The operation of the remaining processing sequencer units is similar. The graphical target description unit processing sequencer unit manages the human-machine interface, and the instruction sequence processing sequencer unit executes the instruction sequence in response to the instruction sequence execution request received from the graphical target description unit processing sequencer unit. (Instruction sequence is a sequence of reduced intermediate code instructions.)

엔진(4008)과 통신하는 표시 기능은 텍스트 및 그래픽을 단말 사용자에게 표시하게하고 단말 사용자의 동작을 엔진(4008)에 표시하게한다. 텍스트 및 그래픽은 텔레비젼 세트(2022)의 표시기상에 놓여지고, 사용자는 키보드(원격 제어기(2026)을 포함하는)에 의해 애플리케이션(4056)과 쌍방향으로 될 수 있다.The display function in communication with the engine 4008 causes text and graphics to be displayed to the terminal user and the operation of the terminal user to the engine 4008. Text and graphics are placed on the indicator of the television set 2022, and the user can be interactive with the application 4056 by the keyboard (including the remote controller 2026).

그래픽 목표물 설명 유닛 처리 시퀀서 유닛은 단말 사용자의 텔레비젼 스크린으로부터 질문 이벤트를 수신하고, 대응하는 인터페이스 파일(4014)를 판독하기 시작함으로써 그 질문을 처리한다. 그것은 인터페이스의 그래픽 기능을 사용하여 그래픽 목표물을 텔레비젼 세트(2022)의 스크린상에서 추적한다. 단말 사용자는 원격 제어기(2026)의 4개 화살 키를 그래픽 목표물 주위로 이동하도록 사용할 수 있다. 카가 눌러질 때마다, 이벤트는 그래픽 목표물 설명 유닛 처리 시퀀서 유닛에 의해 처리된다. 사용자가 유효 키를 사용하는 선택을 원격 제어기(2026)상에서 유효화할 때, 이벤트의 코드는 동작되는 이벤트 요청 지시 시퀀스를 발생시키고 그들을 지시 시퀀스 처리 시퀀서 유닛으로 보내는 그래픽 목표물 설명 유닛 처리 시퀀서 유닛에 의해 처리된다. 지시 시퀀스 처리 시퀀서 유닛이 그래픽 목표물 설명 유닛 처리 시퀀서 유닛으로부터 지시 시퀀스 실행 요청을 수신할 때, 그것은 대응하는 지시 시퀀스 파일(4018)을 판독하고 그것을 전적으로 메모리로 로드시킨다. 그것은 지시 시퀀스를 동작시키기 시작하고 지시 시퀀스가 끝나거나 그것이 기능 호출된 리루팅(rerouting)을 발생시킬 때까지 계속된다.Graphical Target Description Unit Processing The sequencer unit processes the question by receiving a question event from the terminal user's television screen and beginning to read the corresponding interface file 4014. It uses the graphical capabilities of the interface to track the graphical targets on the screen of the television set 2022. The end user can use the four arrow keys of the remote controller 2026 to move around the graphical target. Each time the car is pressed, the event is processed by the graphical target description unit processing sequencer unit. When the user validates the selection using the valid key on the remote controller 2026, the code of the event is generated by the graphical target description unit processing sequencer unit which generates an event request instruction sequence that is operated and sends them to the instruction sequence processing sequencer unit. do. When the instruction sequence processing sequencer unit receives an instruction sequence execution request from the graphic target description unit processing sequencer unit, it reads the corresponding instruction sequence file 4018 and loads it entirely into memory. It starts to operate the instruction sequence and continues until the instruction sequence ends or it causes a function called rerouting.

지시 시퀀스가 끝났을 때, 시스템은 이벤트를 요구하고 리스케줄하기위해 메인 루프를 통해 순환하도록 복귀한다.When the instruction sequence is finished, the system returns to cycle through the main loop to request and reschedule the event.

몇개의 다운로딩 처리 시퀀서 유닛이 있는데 그 유닛의 기능이 애플리케이션(4056)을 포함하는 다른 볼륨에 링크된 각종의 프로토콜을 처리한다.There are several downloading processing sequencer units whose functions handle various protocols linked to other volumes, including the application 4056.

도 7에서, 장치 관리기는 장치로부터의 이벤트가 일시적인 저장을 위해 통과되는 큐(100)를 포함한다. 알맞은 간격으로, 가상 계산기는 신호를 상기 큐에 보내서 그것으로부터 처음의 물품을 인출한다. 상기 이벤트 물품은 가상 계산기에서 큐 구조(101)로 이동된다. 이벤트 물품의 우선순위 레벨에 따라, 그것은 5개 큐(0 내지 4)중 알맞은 하나로 삽입된다. 이벤트 물품은 동작 시간 엔진의 제어하에서 큐 선택기 유닛(102)에 의해 큐 구조(101)로부터 인출된다.In FIG. 7, the device manager includes a queue 100 through which events from the device are passed for temporary storage. At reasonable intervals, the virtual calculator sends a signal to the queue and withdraws the first item from it. The event article is moved to the queue structure 101 in the virtual calculator. Depending on the priority level of the event item, it is inserted into the appropriate one of five queues (0-4). The event article is withdrawn from the queue structure 101 by the queue selector unit 102 under the control of the operating time engine.

이벤트가 큐 구조(101)로부터 선태될 때, 그것은 처리 시퀀서 유닛 구동기(105) 및 처리 시퀀서 유닛(106) 세트로 구성되는 처리 시퀀서 유닛 엔진(104)에 통과된다. 각 처리 시퀀서 유닛은 함께 링크된 동작-그룹 세트이어서, 하나의 동작-그룹으로부터 다음 동작-그룹으로의 각 단계는 현재의 동작-그룹 및 이벤트의 특성에 따른다. 다른 처리 시퀀서 유닛은 시스템이 이벤트에 응답해서 단계적으로되는 동작-그룹인 "다음" 동작-그룹이 이벤트의 특성에 단지 따르나 현재의 동작-그룹에 무관하게되는 것을 포함하면서 다른 크기 및 복잡성을 갖는 다. 처리 시퀀서 유닛 블럭의 우측부에 도시했듯이, 동일한 프로토콜을 사용하는 몇개의 분리된 데이터 스트림을 단일 포트를 통해 처리하도록 몇개의 복제된 처리 시퀀서 유닛인 몇개의 동일한 처리 시퀀서 유닛이 있다.When an event is selected from the queue structure 101, it is passed to a process sequencer unit engine 104, which is composed of a process sequencer unit driver 105 and a set of process sequencer units 106. Each processing sequencer unit is a set of action-groups linked together, so that each step from one action-group to the next action-group depends on the nature of the current action-group and the event. Other processing sequencer units have different sizes and complexity, including that the "next" action-group, which is the action-group in which the system is staged in response to the event, only depends on the nature of the event, but not the current action-group. . As shown on the right side of the processing sequencer unit block, there are several identical processing sequencer units that are several replicated processing sequencer units to process several separate data streams using the same protocol through a single port.

이벤트가 선택될 때, 그것은 알맞은 처리 시퀀서 유닛으로 통과된다. 그것은 현재의 동작-그룹으로부터 알맞은 출구를 처리 시퀀서 유닛상에서 선택한다. 그것은 선택되는 알맞은 다음 동작-그룹을 발생시키기고 수행되는 그 동작-그룹의 동작은 예를 들어 메시지를 장치 관리기로 보내거나 지시 시퀀스를 실행한다. 처리 시퀀서 유닛의 동작-그룹은 이벤트 메시지를 나머지의 처리 시퀀서 유닛에 보낼 수 있다.When an event is selected, it is passed to the appropriate processing sequencer unit. It selects the appropriate exit from the current operation-group on the processing sequencer unit. It generates the appropriate next action-group to be selected and the action-group action performed is, for example, sending a message to the device manager or executing an indication sequence. The action-group of the processing sequencer unit may send an event message to the remaining processing sequencer unit.

지시 시퀀스가 선택되면, 지시 시퀀스의 식별이 지시 시퀀스 선택기(107)에 보내진다. 그것은 바람직한 지시 시퀀스를 지시 시퀀스 메모리(108)로부터 얻고 그것을 지시 시퀀스를 실행하는 지시 시퀀스 인터프리터(109)로 통과한다.If an indication sequence is selected, an identification of the indication sequence is sent to the indication sequence selector 107. It obtains the preferred instruction sequence from instruction sequence memory 108 and passes it to instruction sequence interpreter 109 which executes the instruction sequence.

시스템은 예를 들어 처리 시퀀서 유닛(106)으로부터 이벤트 형태로써 로드되는 필터(110)를 포함한다. 이벤트 물품이 장치 관리기의 큐(100)로부터 가상 계산기의 큐 구조(101)로 통과될 때, 그 형태 또는 문자가 필터(110)에서 리스트에 대해 정합되고, 그것이 인식되지않는 형태라면, 그것이 거부된다. 그럼으로써 가령 장치 관리기 또는 키보드는 가상 계산기가 처리할 수 없는 형태의 이벤트를 발생시키면, 그 이벤트는 큐 구조(101)에 통과되지않게 된다. (상기 이벤트 종류가 큐 구조(101)에 통과되면, 그들은 그 큐 구조에서 누적되거나 그들은 처리 시퀀서 유닛 엔진(104)의 고장을 일으킨다.)The system includes, for example, a filter 110 that is loaded in the form of an event from the processing sequencer unit 106. When an event item is passed from the device manager's queue 100 to the virtual calculator's queue structure 101, the form or text is matched against the list in the filter 110, and if it is an unrecognized form, it is rejected. . Thus, for example, if a device manager or keyboard generates an event of a type that the virtual calculator cannot handle, the event is not passed to the queue structure 101. (If the event types pass through the queue structure 101, they accumulate in that queue structure or they cause a failure in the processing sequencer unit engine 104.)

본 발명은 예에 의해 상술되었고, 상세한 내용의 변경은 본 발명의 범위내에서 이루어질 수 있다.The invention has been described above by way of example, and variations of the details can be made within the scope of the invention.

상세한 설명, 및 청구범위 및 도면에 개시된 각 특징은 독립적으로 또는 알맞은 결합으로 구비될 수 있다.Each feature disclosed in the description, the claims and the drawings can be provided independently or in any suitable combination.

상기 언급된 양호한 실시예에서, 본 발명의 소정의 특징은 컴퓨터 소프트웨어를 사용해서 수행되었다. 그러나, 상기 특징중 일부가 하드웨어를 사용해서 수행되는 것은 당업자에게는 물론 명백하다. 또한, 하드웨어, 컴퓨터 소프트웨어 등에 의해 수행된 기능이 전기 및 유사 신호를 사용해서 수행된다.In the above-mentioned preferred embodiment, certain features of the present invention have been carried out using computer software. However, it will be apparent to one skilled in the art, that some of the above features are performed using hardware. In addition, functions performed by hardware, computer software and the like are performed using electrical and similar signals.

참고문헌은 같은 출원일을 갖는 동시계류중인 출원이고 그 출원의 명칭은 신호 발생 및 방송(Signal Generation and Broadcasting)(대리인 문서번호 PC/ASB/19707), 암호화된 방송 신호의 수신기와 사용하는 스마트카드 및 수신기(Smartcard for use with a Receiver of Encrypted Broadcast Signal and Receiver)(대리인 문서번호 PC/ASB/19708), 방송 및 수신 시스템 및 그것을 위한 조건부 액세스 시스템(Broadcast and Reception System and Conditional Access System therefor)(대리인 문서번호 PC/ASB/19710), 송신기로부터 수신기/디코더를 경유해서 컴퓨터로의 컴퓨터 파일의 다운로딩(Downloading a Computer File from a Transmitter via a Receiver/Decoder to Computer)(대리인 문서번호 PC/ASB19711), 텔레비젼 프로그램 및 다른 데이터의 송신 및 수신(Transmission and Reception of Televsion Programmes and Other Data)(대리인 문서번호 PC/ASB/19712), 다운로딩 데이터(Downloading Data)(대리인 문서번호 PC/ASB/19713), 컴퓨터 메모리 구조(Computer Memory Organisation)(대리인 문서번호 PC/ASB/19714), 텔레비젼 또는 라디오 제어 시스템 개발(Television or Radio Control System Development)(대리인 문서번호 PC/ASB/19715), 송신된 데이터 스트림으로부터 인출하는 데이터 섹션(Extracting Data Sections from a Transmitted Data Stream)(대리인 문서번호 PC/ASB/19716), 액세스 제어시스템(Access Control System)(대리인 문서번호 PC/ASB/19717), 데이터 처리시스템(Data Processing System)(대리인 문서 번호 PC/ASB/19718), 방송 및 수신 시스템 및 수신기/디코더 및 그것을 위한 원격 제어기(대리인 문서 번호 PC/ASB/19720)이다. 상기 서류의 개시는 참고로 본원에서 결부된다. 출원들의 리스트는 본 발명을 포함한다.References are co-pending applications with the same filing date and are named Signal Generation and Broadcasting (agent PC / ASB / 19707), smart cards for use with receivers of encrypted broadcast signals, and Smartcard for use with a Receiver of Encrypted Broadcast Signal and Receiver (Representative Document No. PC / ASB / 19708), Broadcast and Reception System and Conditional Access System therefor (Agent Documentation PC / ASB / 19710), Downloading a Computer File from a Transmitter via a Receiver / Decoder to Computer (Representative document number PC / ASB19711), TV Transmission and Reception of Televsion Programs and Other Data (Representative Document No. PC / ASB / 19712), Downloading Downloading Data (agent document number PC / ASB / 19713), Computer Memory Organization (agent document number PC / ASB / 19714), television or radio control system development ( Agent Document No. PC / ASB / 19715), Extracting Data Sections from a Transmitted Data Stream (Agent No. PC / ASB / 19716), Access Control System (Agent) Document number PC / ASB / 19717), data processing system (agent document number PC / ASB / 19718), broadcast and reception system and receiver / decoder and remote controller for it (agent document number PC / ASB / 19720) )to be. The disclosure of this document is incorporated herein by reference. The list of applications includes the invention.

Claims (12)

디지털 텔레비젼 시스템용 수신기/디코더에 있어서,In a receiver / decoder for a digital television system, 압축된 MPEG 형태의 신호를 수신하는 수단과;Means for receiving a compressed MPEG type signal; 텔레비젼 신호를 제공하도록 그 수신된 신호를 디코딩하는 수단과;Means for decoding the received signal to provide a television signal; 그 텔리비젼 신호를 텔레비젼에 공급하는 수단과;Means for supplying the television signal to a television; 사용자 입력 인터페이스와;A user input interface; 그 사용자 입력 인터페이스를 통해 수신된 입력 신호를 따라 수신기/디코더를 제어하는 컴퓨터 시스템을 구비하고, 그 컴퓨터 시스템은,And a computer system for controlling the receiver / decoder in accordance with an input signal received via the user input interface, the computer system comprising: 신호를 복수의 포트로부터 수신하고 데이터를 상기 포트에 제공하는 장치 관리기 수단과;Device manager means for receiving signals from a plurality of ports and providing data to the ports; 그 장치 관리기 수단에 결합되어 그 장치 관리기 수단으로부터 수신된 데이터를 처리하고 거기에 데이터를 복귀하는 수단을 구비하는 가상 계산기(virtual machine) 수단을 구비하는 것을 특징으로 하는 디지털 텔레비젼 시스템용 수신기/디코더.And a virtual machine means, coupled to the device manager means, for processing the data received from the device manager means and having a means for returning the data to the device manager means. 제 1항에 있어서, 가상 계산기 수단은 동작 엔진, 루틴의 라이브러리, 인터프리터, 복수의 지시 시퀀스를 저장하는 저장 수단, 큐 관리 수단, 및 버퍼 관리 수단을 구비하는 것을 특징으로 하는 디지털 텔레비젼 시스템용 수신기/디코더.2. The receiver / digital television system according to claim 1, wherein the virtual calculator means comprises an operation engine, a library of routines, an interpreter, storage means for storing a plurality of instruction sequences, queue management means, and buffer management means. Decoder. 제 1또는 2항에 있어서, 외부 유닛에 결합하는 복수의 인터페이스를 더 구비하고, 상기 장치 관리기 수단은 적어도 하나의 인터페이스 또는 수신기/디코더의 적어도 하나의 기능과 연관된 적어도 하나의 장치 수단을 구비하는 것을 특징으로 하는 디지털 텔레비젼 시스템용 수신기/디코더.3. The apparatus of claim 1 or 2, further comprising a plurality of interfaces coupled to an external unit, wherein the device manager means comprises at least one device means associated with at least one interface or at least one function of the receiver / decoder. Features a receiver / decoder for digital television systems. 제 3항에 있어서, 상기 장치 관리기 수단은 적어도 하나의 장치 구동기에 결합된 적어도 하나의 장치 수단을 포함하는 것을 특징으로 하는 디지털 텔레비젼 시스템용 수신기/디코더.4. A receiver / decoder for a digital television system according to claim 3, wherein said device manager means comprises at least one device means coupled to at least one device driver. 제 3또는 4항에 있어서, 수신기/디코더 및/또는 텔레비젼을 제어하는 애플리케이션을 제공하는 복수의 애플리케이션 소스 각각을 포함하고, 거기에서 동작 엔진이 애플리케이션 소스 및 장치 수단간에 위치되고, 장치 관리기 수단을 통해 발생된 이벤트를 수신하고 그들을 엔진에 통과하는 큐 수단을 포함하는 것을 특징으로 하는 디지털 텔레비젼 시스템용 수신기/디코더.5. A device as claimed in claim 3 or 4, comprising a plurality of application sources each providing a receiver / decoder and / or an application for controlling a television, wherein an operation engine is located between the application source and the device means and via the device manager means. Receiver / decoder for receiving a generated event and passing them to the engine. 제 5항에 있어서, 동작 엔진은, 장치 수단과 연관된 복수의 처리 시퀀서(sequencer) 유닛과, 큐 수단으로부터 이벤트를 인출하고 따라서 그 연관된 처리 시퀀서 유닛을 작동시키는 수단을 구비하는 것을 특징으로 하는 디지털 텔레비젼 시스템용 수신기/디코더.6. The digital television of claim 5, wherein the operation engine comprises a plurality of processing sequencer units associated with the apparatus means and means for fetching events from the queue means and thus operating the associated processing sequencer unit. Receiver / decoder for the system. 제 5또는 6항에 있어서, 이벤트를 큐 수단에 입력하기전에 이벤트를 이벤트 형태의 리스트에 대해 정합하는 필터 수단을 포함하는 것을 특징으로 하는 디지털 텔레비젼 시스템용 수신기/디코더.7. Receiver / decoder for a digital television system as claimed in claim 5 or 6, comprising filter means for matching the event against a list of event types before inputting the event to the cue means. 선행항중 어느 한항에 있어서, 적어도 하나의 애플리케이션을 저장하는 수단을 더 포함하는 것을 특징으로 하는 디지털 텔레비젼 시스템용 수신기/디코더.A receiver / decoder for a digital television system according to any preceding claim, further comprising means for storing at least one application. 방송 신호를 수신하는 수신기/디코더에 있어서,A receiver / decoder for receiving a broadcast signal, 수신기/디코더를 수신된 신호에 따라 제어하는 수단을 구비하고,Means for controlling the receiver / decoder in accordance with the received signal, 상기 제어 수단은,The control means, 복수의 포트로부터 신호를 수신하고 데이터를 상기 포트에 제공하는 수단과;Means for receiving signals from a plurality of ports and providing data to the ports; 그 수신 수단으로부터 수신된 데이터를 처리하고 데이터를 거기에 복귀시키는 가상 계산기 수단을 구비하는 것을 특징으로 하는 디지털 텔레비젼 시스템용 수신기/디코더.And a virtual calculator means for processing the data received from the receiving means and returning the data therein. 제 1내지 8항중 어느 한항에 따른 복수의 수신기/디코더를 구비하는 시스템에 있어서,A system comprising a plurality of receivers / decoders according to any one of claims 1 to 8, 다른 수신기/디코더는, 공통 가상 계산기 수단과, 각기 다른 회로에 결합된 각기 다른 장치 관리기 수단을 갖는 것을 특징으로 하는 수신기/디코더를 구비하는 시스템.The other receiver / decoder has a common virtual calculator means and different device manager means coupled to different circuits. 본원에서 실질적으로 설명된 바와 같은 수신기/디코더.Receiver / decoder as substantially described herein. 본원에서 실질적으로 설명된 바와 같은 시스템.A system as substantially described herein.
KR1019997008510A 1997-03-21 1997-04-25 Data processing system KR20000076406A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP97400650.4 1997-03-21
EP97400650 1997-03-21

Publications (1)

Publication Number Publication Date
KR20000076406A true KR20000076406A (en) 2000-12-26

Family

ID=48262303

Family Applications (6)

Application Number Title Priority Date Filing Date
KR1019997008504A KR20000076401A (en) 1997-03-21 1997-04-25 Downloading a computer file from a transmitter via a receiver/decoder to a computer
KR1019997008503A KR20000076400A (en) 1997-03-21 1997-04-25 Broadcast and Reception System, and Conditional Access System therefor
KR1019997008515A KR20000076411A (en) 1997-03-21 1997-04-25 Computer memory organization
KR1019997008509A KR20000076405A (en) 1997-03-21 1997-04-25 Acess control system
KR1019997008510A KR20000076406A (en) 1997-03-21 1997-04-25 Data processing system
KR1019997008507A KR20000076403A (en) 1997-03-21 1997-04-25 Television or radio system development

Family Applications Before (4)

Application Number Title Priority Date Filing Date
KR1019997008504A KR20000076401A (en) 1997-03-21 1997-04-25 Downloading a computer file from a transmitter via a receiver/decoder to a computer
KR1019997008503A KR20000076400A (en) 1997-03-21 1997-04-25 Broadcast and Reception System, and Conditional Access System therefor
KR1019997008515A KR20000076411A (en) 1997-03-21 1997-04-25 Computer memory organization
KR1019997008509A KR20000076405A (en) 1997-03-21 1997-04-25 Acess control system

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1019997008507A KR20000076403A (en) 1997-03-21 1997-04-25 Television or radio system development

Country Status (3)

Country Link
KR (6) KR20000076401A (en)
HK (1) HK1044659A1 (en)
RU (1) RU2001111520A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100726614B1 (en) * 2006-02-01 2007-06-11 에스케이 텔레콤주식회사 System for surpporting a programing about an application based on virtual machine and a method the same

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5068398B2 (en) 2000-08-17 2012-11-07 Necディスプレイソリューションズ株式会社 Receiver and content distribution method

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100726614B1 (en) * 2006-02-01 2007-06-11 에스케이 텔레콤주식회사 System for surpporting a programing about an application based on virtual machine and a method the same

Also Published As

Publication number Publication date
KR20000076400A (en) 2000-12-26
KR20000076401A (en) 2000-12-26
RU2001111520A (en) 2003-06-10
KR20000076403A (en) 2000-12-26
KR20000076411A (en) 2000-12-26
HK1044659A1 (en) 2002-10-25
KR20000076405A (en) 2000-12-26

Similar Documents

Publication Publication Date Title
US6938166B1 (en) Method of downloading of data to an MPEG receiver/decoder and MPEG transmission system for implementing the same
AU740740B2 (en) Data processing system
EP0907285A1 (en) Downloading data
AU742067B2 (en) Extracting data sections from a transmitted data stream
JP2001518256A5 (en)
US6360195B1 (en) Television or radio control system development
AU742956B2 (en) Television or radio control system development
KR20000076406A (en) Data processing system
EP1055176A2 (en) Access control system
EP1067455A1 (en) Running and testing applications
AU776683B2 (en) Method of downloading of data to an MPEG receiver/decoder and MPEG transmission system for implementing the same
MXPA99008543A (en) Data processing system
MXPA99008545A (en) Access control system
CZ331899A3 (en) Data processing system
CZ331799A3 (en) Access control system
MXPA99008546A (en) Extracting data sections from a transmitted data stream
MXPA99008547A (en) Television or radio control system development
MXPA99008549A (en) Method of downloading of data to an mpeg receiver/decoder and mpeg transmission system for implementing the same

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
NORF Unpaid initial registration fee