KR20000076404A - Extracting data sections from a transmitted data stream - Google Patents

Extracting data sections from a transmitted data stream Download PDF

Info

Publication number
KR20000076404A
KR20000076404A KR1019997008508A KR19997008508A KR20000076404A KR 20000076404 A KR20000076404 A KR 20000076404A KR 1019997008508 A KR1019997008508 A KR 1019997008508A KR 19997008508 A KR19997008508 A KR 19997008508A KR 20000076404 A KR20000076404 A KR 20000076404A
Authority
KR
South Korea
Prior art keywords
section
sections
stored
data
filtering
Prior art date
Application number
KR1019997008508A
Other languages
Korean (ko)
Other versions
KR100495779B1 (en
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 KR20000076404A publication Critical patent/KR20000076404A/en
Application granted granted Critical
Publication of KR100495779B1 publication Critical patent/KR100495779B1/en

Links

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • 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
    • 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/409Device specific authentication in transaction processing
    • G06Q20/4097Device specific authentication in transaction processing using mutual authentication between devices and transaction partners
    • G06Q20/40975Device specific authentication in transaction processing using mutual authentication between devices and transaction partners using encryption therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/007Transform coding, e.g. discrete cosine transform
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/0014Coin-freed apparatus for hiring articles; Coin-freed facilities or services for vending, access and use of specific services not covered anywhere else in G07F17/00
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/102External programming circuits, e.g. EPROM programmers; In-circuit programming or reprogramming; EPROM emulators
    • G11C16/105Circuits or methods for updating contents of nonvolatile memory, especially with 'security' features to ensure reliable replacement, i.e. preventing that old data is lost before new data is reliably written
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/004Diagnosis, testing or measuring for television systems or their details for digital television systems
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • 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/4345Extraction or processing of SI, e.g. extracting service information from an MPEG 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/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
    • H04N21/4349Demultiplexing of additional data and video streams by extracting from data carousels, e.g. extraction of software modules from a DVB carousel
    • 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/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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4435Memory management
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • 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/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
    • H04N21/4622Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
    • 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
    • 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/482End-user interface for program selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/8166Monomedia components thereof involving executable data, e.g. software
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/163Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing by receiver means only
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17318Direct or substantially direct transmission and handling of requests
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1435Saving, restoring, recovering or retrying at system level using file system or storage system metadata
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42676Internal components of the client ; Characteristics thereof for modulating an analogue carrier signal to encode digital information or demodulating it to decode digital information, e.g. ADSL or cable modem
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42684Client identification by a unique number or address, e.g. serial number, MAC address, socket ID
    • 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/443OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
    • H04N21/4437Implementing a Virtual Machine [VM]
    • 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/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47211End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting pay-per-view content
    • 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/47805Electronic banking
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Accounting & Taxation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • Finance (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Discrete Mathematics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Circuits Of Receivers In General (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Stored Programmes (AREA)

Abstract

MPEG 데이터 스트림내의 다수의 MPEG 섹션들중 적어도 하나를 저장하는 방법이 제공되며, MPEG 섹션은 적어도 하나의 MPEG 섹션 특성을 갖고 있다. MPEG 데이터 스트림이 수신되며, 적어도 하나의 MPEG 섹션 특성에 따라서 1개의 MPEG 섹션이 MPEG 데이터 스트림으로부터 필터링된다. MPEG 섹션은 연속적으로 저장된다.A method is provided for storing at least one of a plurality of MPEG sections in an MPEG data stream, the MPEG section having at least one MPEG section characteristic. An MPEG data stream is received and one MPEG section is filtered from the MPEG data stream in accordance with at least one MPEG section characteristic. MPEG sections are stored consecutively.

Description

전송된 데이터 스트림으로부터 데이터 섹션들의 추출{EXTRACTING DATA SECTIONS FROM A TRANSMITTED DATA STREAM}Extracting data sections from the transmitted data stream {EXTRACTING DATA SECTIONS FROM A TRANSMITTED DATA STREAM}

한정하려는 것은 아니지만 특히 위성 텔레비젼 시스템에서, 텔레비젼 신호를 방송하는 데에 주로 주력해온 디지털 전송 시스템의 출현은 상기의 시스템을 다른 목적에 이용할 수 있는 가능성을 개발하였다. 이들 중의 하나가 최종 사용자와의 상호작용을 제공하는 것이다.Although not intended to be limiting, especially in satellite television systems, the emergence of digital transmission systems that have primarily focused on broadcasting television signals has developed the possibility of using such systems for other purposes. One of them is to provide interaction with the end user.

이를 수행하는 한 방법은 텔레비젼 신호가 수신되는 수신기/디코더에 대하여 적용하는 것이다. 애플리케이션에 대한 코드는 수신기/디코더에 영구적으로 저장될 수 있다. 그러나, 이는 다소 제한적일 수 있다. 바람직하게는, 수신기/디코더는 필요한 애플리케이션에 대하여 코드를 다운로드할 수 있어야 한다. 이러한 방법으로, 더 많은 다양성이 제공될 수도 있으며, 애플리케이션들은 사용자측에서의 어떠한 조처도 없이 요구되는 대로 갱신될 수 있다.One way to do this is to apply to a receiver / decoder where the television signal is received. The code for the application can be stored permanently in the receiver / decoder. However, this may be somewhat limited. Preferably, the receiver / decoder should be able to download the code for the required application. In this way, more diversity may be provided and applications may be updated as required without any action on the user side.

컴퓨터 시스템, 특히 컴퓨터 시스템이 가령 디지털 텔레비젼용 수신기/디코더와 같이 어떠한 더 큰 시스템에 통합되는 시스템에서, 메모리의 양은 종종 제한된다. 이는 메모리는 시스템에 의해 요구되는 다양한 기능들에 의한 메모리 공간의 사용이 최소화될 수 있도록 구성되어야 함을 의미한다. 또한, 적어도 메모리의 어떤 섹션을 액세스하는 데에 요구되는 시간을 최소화하는 것 또한 필요할 수도 있다.In computer systems, especially systems in which computer systems are incorporated into any larger system, such as a receiver / decoder for digital television, the amount of memory is often limited. This means that the memory should be configured so that the use of memory space by the various functions required by the system can be minimized. It may also be necessary to minimize the time required to access at least some section of memory.

따라서, 본 발명은 특히, 한정하려는 것은 아니지만, 애플리케이션에 의하여 특히 요구되는 데이터만을 수신기/디코더의 메모리내로 다운로딩하는 것에 관한 것이다.Thus, the present invention is in particular concerned with downloading, but not limited to, only the data specifically required by the application into the memory of the receiver / decoder.

본 발명은 데이터부 외에 비디오 및 오디오 텔레비젼 데이터를 포함하는 MPEG 비트스트림과 같은 한 개 또는 그 이상의 전송된 데이터 스트림부를 저장하기 위한 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for storing one or more transmitted data stream portions, such as MPEG bitstreams comprising video and audio television data in addition to the data portion.

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

도 2는 디지털 텔레비젼 시스템의 대화형 시스템 구조를 도시한다.2 shows an interactive system structure of a digital television system.

도 3은 대화형 수신기/디코더의 메모리내로 디코드되는 모듈의 파일 배치를 도시한다.3 shows the file arrangement of the modules to be decoded into the memory of the interactive receiver / decoder.

도 4는 각 섹션의 배치를 도시한다.4 shows the arrangement of each section.

도 5는 대화형 수신기/디코더 메모리의 메모리 용량의 배치를 도시한다.5 shows the arrangement of memory capacity of an interactive receiver / decoder memory.

도 6은 수신기/디코더 인터페이스의 개략도이다.6 is a schematic diagram of a receiver / decoder interface.

도 7은 수신기/디코더 내 소프트웨어의 구조를 도시한다.7 shows the structure of the software in the receiver / decoder.

도 8은 MPEG 데이터 스트림으로부터 섹션들을 다운로딩하는 수신기 시스템의 구조를 도시한다.8 shows the structure of a receiver system for downloading sections from an MPEG data stream.

도 9는 하드웨어 프리필터에 의해 사용되는 섹션내 바이트들의 구성을 도시한다.9 shows the configuration of the bytes in the section used by the hardware prefilter.

도 10은 하드웨어 필터 마스크 어레이 및 하드웨어 필터의 하드웨어 필터값 어레이의 예를 도시한다.10 shows an example of a hardware filter mask array and a hardware filter value array of hardware filters.

도 11은 소프트웨어 프리필터에 의해 사용되는 섹션내 바이트들의 구성을 도시한다.Figure 11 shows the configuration of the bytes in the section used by the software prefilter.

도 12는 테이블 로딩의 예를 도시한다.12 shows an example of table loading.

도 13은 한 그룹의 섹션들내 섹션들의 구성예를 도시한다.13 shows an example of the configuration of sections in a group of sections.

도 14는 한 그룹의 섹션들의 팔로잉 모드 다운로드의 예를 도시한다.14 shows an example of following mode download of a group of sections.

도 15는 한 그룹의 섹션들의 프리시딩 모드 다운 로드의 예를 도시한다.15 shows an example of presiding mode download of a group of sections.

도 16은 한 그룹의 섹션들의 디스크립터내 필드 구성을 도시한다.16 shows the field configuration in a descriptor of a group of sections.

도 17은 섹션들 테이블의 디스크립터내 필드 구성을 도시한다.17 illustrates the field configuration in the descriptor of the sections table.

본 발명의 제 1 양태는 전송된 데이터 스트림의 다수의 섹션들 중 적어도 하나의 섹션 특성을 갖는 적어도 하나의 섹션을 저장하는 방법을 제공하며, 이 방법은,A first aspect of the invention provides a method of storing at least one section having a section characteristic of at least one of a plurality of sections of a transmitted data stream, the method comprising:

데이터 스트림을 수신하는 단계;Receiving a data stream;

상기 적어도 하나의 섹션 특성에 따라서 상기 데이터 스트림으로부터 상기 하나의 섹션을 필터링하는 단계; 및Filtering the one section from the data stream according to the at least one section characteristic; And

상기 하나의 섹션을 저장하는 단계를 포함한다.Storing the one section.

이 필터링 단계는 애플리케이션에 의해 요구되는 섹션만이 수신기/디코더의 메모리 내로 로드되도록 한다.This filtering step ensures that only the sections required by the application are loaded into the memory of the receiver / decoder.

바람직한 실시예에서, 필터링 단계는:In a preferred embodiment, the filtering step is:

필터링 기준 및 이 필터링 기준에 대한 값을 각각 포함하는 적어도 하나의 필터링 특성을 지정하는 단계;Specifying at least one filtering characteristic each including a filtering criterion and a value for the filtering criterion;

각 섹션 특성과 각 필터링 특성을 비교하는 단계; 및Comparing each section characteristic with each filtering characteristic; And

각 섹션 특성이 각 필터링 특성과 일치할 때 상기 데이터 스트림으로부터 상기 하나의 섹션을 필터링하는 단계를 포함한다.Filtering the one section from the data stream when each section characteristic matches each filtering characteristic.

본 발명의 제 2 양태는 상기 방법을 이용하여 전송된 데이터 스트림의 다수의 섹션들을 저장하는 방법을 제공하며, 상기 각 섹션들은 각각의 메모리 위치에 저장되어 있다.A second aspect of the invention provides a method of storing a plurality of sections of a data stream transmitted using the method, each of which is stored in a respective memory location.

바람직하게는, 이 방법은:Preferably, this method is:

데이터 필터링 기준 및 이 데이터 필터링 기준에 대한 값을 각각 포함하는 적어도 하나의 데이터 필터링 특성을 지정하는 단계;Designating at least one data filtering characteristic each including a data filtering criterion and a value for the data filtering criterion;

각각의 저장된 섹션에 저장된 데이터와 각각의 데이터 필터링 특성을 비교하는 단계; 및Comparing each data filtering characteristic with data stored in each stored section; And

저장된 섹션에 저장된 데이터가 각각의 데이터 필터링 특성과 일치하지 않을 때, 상기 저장된 섹션이 상기 메모리에 대체될 수 있도록 하는 단계를 포함한다.When the data stored in the stored section does not match each data filtering characteristic, allowing the stored section to be replaced in the memory.

바람직하게는, 상기 방법은 상기 섹션에 저장된 상기 데이터가 상기 각각의 데이터 필터링 특성과 일치할 때 섹션 식별 신호를 공급하는 단계를 더 포함한다.Advantageously, the method further comprises supplying a section identification signal when said data stored in said section matches said respective data filtering characteristic.

섹션 식별 신호는 바람직하게는 상기 하나의 섹션의 저장 어드레스를 포함한다.The section identification signal preferably comprises the storage address of said one section.

제 3 양태에서, 본 발명은 상기 방법에 따라서, 섹션들이 데이터 스트림 내에서 주기적으로 전송되며 각 그룹은 첫 번째 섹션 및 마지막 섹션을 포함하는, 한 그룹의 섹션들을 저장하는 방법을 제공하며, 이 방법은:In a third aspect, the present invention provides a method of storing a group of sections, in which sections are transmitted periodically in a data stream, each group comprising a first section and a last section, in accordance with the method described above. silver:

상기 첫 번째 섹션을 저장하는 단계; 및Storing the first section; And

상기 마지막 섹션이 다운로드되거나 소정수의 섹션들이 저장될 때까지, 상기 첫 번째 섹션 바로 다음에 연속적으로 전송되는 섹션들을 이어서 다운로딩하는 단계를 포함하며, 각 섹션은 각각의 메모리 위치에 연속적으로 저장된다.Subsequently downloading sections that are transmitted immediately after the first section until the last section has been downloaded or a predetermined number of sections are stored, each section being stored sequentially in each memory location. .

제 4 양태에서, 본 발명은 상기 방법에 따라서, 상기 데이터 스트림 내에서 주기적으로 전송되며 첫 번째 섹션 및 마지막 섹션을 포함하는 한 그룹의 섹션들을 저장하는 방법을 제공하며, 이 방법은:In a fourth aspect, the present invention provides a method for storing a group of sections, periodically transmitted in the data stream, in accordance with the method, comprising a first section and a last section, the method comprising:

첫 번째 섹션을 다운로딩하는 단계;Downloading the first section;

상기 마지막 섹션이 다운로드될 때까지 메모리 위치내에 저장된 섹션들이 이어서 다운로드되는 섹션들에 의해 오버라이트되면서 상기 마지막 섹션이 다운로드되거나 소정수의 섹션들이 저장될 때 까지, 상기 첫 번째 섹션 바로 다음에 연속적으로 전송되는 섹션들을 이어서 다운로딩하는 단계; 및Sections stored in a memory location are then overwritten by subsequently downloaded sections until the last section is downloaded and subsequently sent immediately after the first section until the last section is downloaded or a certain number of sections are stored. Subsequently downloading the sections; And

상기 메모리에 상기 마지막 섹션을 저장하는 단계를 포함하며, 상기 각 섹션은 각각의 메모리 위치에 연속적으로 저장된다.Storing said last section in said memory, each section being successively stored in a respective memory location.

제 5 양태에서, 본 발명은 섹션들이 상기 데이터 스트림 내에서 주기적으로 전송되며 각 그룹이 첫 번째 섹션 및 마지막 섹션을 포함하는, 한 그룹의 섹션들을 저장하는 방법을 제공하며, 이 방법은:In a fifth aspect, the present invention provides a method of storing a group of sections, wherein sections are transmitted periodically in the data stream, each group comprising a first section and a last section, the method comprising:

데이터 스트림을 수신하는 단계;Receiving a data stream;

첫 번째 섹션을 다운로딩하고 이를 메모리에 저장하는 단계; 및Downloading the first section and storing it in memory; And

마지막 섹션이 다운로드되거나 소정수의 섹션들이 상기 메모리에 저장될 때까지, 상기 첫 번째 섹션 바로 다음에 연속적으로 전송된 섹션들을 이어서 다운로딩하는 단계를 포함하며, 상기 각 섹션은 각각의 메모리 위치에 연속적으로 저장된다.Successively downloading sections transmitted immediately after the first section until the last section is downloaded or a predetermined number of sections are stored in the memory, each section being contiguous at each memory location. Stored as.

제 6 양태에서, 본 발명은 상기 데이터 스트림 내에서 주기적으로 전송되며 첫 번째 섹션 및 마지막 섹션을 포함하는 한 그룹의 섹션들을 저장하는 방법을 제공하며, 이 방법은:In a sixth aspect, the present invention provides a method of storing a group of sections which are transmitted periodically within the data stream and comprising a first section and a last section, the method comprising:

첫 번째 섹션을 수신하는 단계;Receiving a first section;

첫 번째 섹션을 다운로딩하는 단계;Downloading the first section;

상기 마지막 섹션이 다운로드될 때까지 메모리 위치내에 저장된 섹션들이 이어서 다운로드되는 섹션들에 의해 오버라이트되면서 상기 마지막 섹션이 다운로드되거나 소정수의 섹션들이 저장될 때 까지, 상기 첫 번째 섹션 바로 다음에 연속적으로 전송되는 섹션들을 이어서 다운로딩하는 단계;및Sections stored in a memory location are then overwritten by subsequently downloaded sections until the last section is downloaded and subsequently sent immediately after the first section until the last section is downloaded or a certain number of sections are stored. Subsequently downloading the sections; and

상기 메모리에 상기 마지막 섹션을 저장하는 단계를 포함하며, 상기 각 섹션은 각각의 메모리 위치에 연속적으로 저장된다.Storing said last section in said memory, each section being successively stored in a respective memory location.

본 발명의 제 3 내지 제 6 양태에 의하여, 한 그룹의 섹션들로부터 요구되는 섹션들만이 수신기/디코더의 메모리에 저장된다. 예를 들어, 특정한 시간에 전송되도록 예정된 3개의 텔레비젼 프로그램 리스트를 볼 때, 제 3 및 제 5 양태에 의하여, 최종 사용자가 그 때 보여지는 첫 번째 프로그램으로부터 시작하여 리스트를 빠르게 스크롤 다운할 수 있도록 하면서, 그룹의 첫 번째 4개의 섹션들만이 데이터 스트림으로부터 다운로드된다. 제 4 및 제 6 양태에 의하여, 최종 사용자가 그 때 보여지는 마지막 프로그램으로부터 시작하여 리스트를 빠르게 스크롤 업할 수 있도록 하면서, 그룹의 마지막 4개의 섹션들만이 데이터 스트림으로부터 다운로드된다.According to the third to sixth aspects of the invention, only the sections required from a group of sections are stored in the memory of the receiver / decoder. For example, when viewing a list of three television programs scheduled to be delivered at a particular time, the third and fifth aspects allow the end user to quickly scroll down the list starting from the first program shown then. Only the first four sections of the group are downloaded from the data stream. With the fourth and sixth aspects, only the last four sections of the group are downloaded from the data stream, allowing the end user to quickly scroll up the list starting from the last program shown then.

제 7 양태에서, 본 발명은 전송된 데이터 스트림의 다수의 섹션들 중에서 적어도 하나의 섹션 특성을 가지고 있는 적어도 하나 섹션을 저장하기 위한 장치를 제공하며, 상기 장치는:In a seventh aspect, the invention provides an apparatus for storing at least one section having at least one section characteristic among a plurality of sections of a transmitted data stream, the apparatus comprising:

데이터 스트림을 수신하기 위한 수단;Means for receiving a data stream;

상기 적어도 하나의 섹션 특성에 따라 상기 데이터 스트림으로부터 상기 하나의 섹션을 필터링하기 위한 수단; 및Means for filtering the one section from the data stream according to the at least one section characteristic; And

상기 하나의 섹션을 저장하기 위한 수단을 포함한다.Means for storing said one section.

바람직하게는, 상기 필터링 수단은:Preferably, the filtering means is:

필터링 기준 및 이 필터링 기준에 대한 값을 각각 포함하는 적어도 하나의 필터링 특성을 지정하기 위한 수단;Means for specifying at least one filtering characteristic each including a filtering criterion and a value for the filtering criterion;

각 하나의 섹션 특성과 각 필터링 특성을 비교하는 단계; 및Comparing each one of the section characteristics with each filtering characteristic; And

각 하나의 섹션 특성이 각 필터링 특성과 일치할 때 상기 데이터 스트림으로부터 상기 하나의 섹션을 필터링하기 위한 수단을 포함한다.Means for filtering the one section from the data stream when each one section characteristic matches each filtering characteristic.

제 8 양태에서, 본 발명은 다수의 상기 섹션들을 다운로딩하기 위한 상기 설명한 장치를 제공하며, 상기 저장 수단은 각 섹션들을 저장하기 위한 다수의 메모리 위치를 포함한다.In an eighth aspect, the present invention provides the above-described apparatus for downloading a plurality of said sections, said storage means comprising a plurality of memory locations for storing each section.

바람직하게는, 상기 장치는:Preferably, the device is:

데이터 필터링 기준 및 이 데이터 필터링 기준에 대한 값을 각각 포함하는 적어도 하나의 데이터 필터링 특성을 지정하기 위한 수단;Means for specifying at least one data filtering characteristic each including a data filtering criterion and a value for the data filtering criterion;

각각의 저장된 섹션에 저장된 데이터와 각각의 데이터 필터링 특성을 비교하기 위한 수단; 및Means for comparing each data filtering characteristic with data stored in each stored section; And

저장된 섹션에 저장된 데이터가 각각의 데이터 필터링 특성과 일치하지 않을 때, 상기 저장된 섹션이 상기 메모리에 대체될 수 있도록 하기 위한 수단을 더 포함한다.Means for enabling the stored section to be replaced in the memory when the data stored in the stored section does not match each data filtering characteristic.

장치는 또한:The device also:

상기 저장된 섹션에 저장된 상기 데이터가 상기 각각의 데이터 필터링 특성과 일치할 때 섹션 식별 신호를 애플리케이션에 공급하기 위한 수단을 포함할 수도 있다.Means for supplying a section identification signal to an application when the data stored in the stored section matches the respective data filtering characteristic.

상기 방법 또는 장치는 상기 섹션들 외에 비디오 및 오디오 텔레비젼 데이터를 또한 포함하는 MPEG 비트스트림 형태의 상기 데이터 스트림과 함께 이용될 수도 있다.The method or apparatus may be used with the data stream in the form of an MPEG bitstream which also includes video and audio television data in addition to the sections.

이제, 첨부된 도면을 참조로 하여 단지 실예로서 본 발명의 바람직한 특성들이 설명될 것이다.The preferred features of the invention will now be described by way of example only with reference to the accompanying drawings.

도 1은 디지털 텔레비젼 시스템(1000)의 개관을 도시한다. 본 발명은 압축된 디지털 신호들을 전송하기 위하여 공지된 MPEG-2 압축 시스템을 이용하는 거의 일반적인 디지털 텔레비젼 시스템(2000)을 포함한다. 좀 더 상세히 설명하면, 방송 센타내의 MPEG-2 압축기(2002)는 디지털 신호 스트림(전형적으로 비디오 신호들의 스트림)을 수신한다. 압축기(2002)는 링키쥐(linkage)(2006)에 의해 멀티플렉서 및 스크램블러(2004)에 결합된다. 멀티플렉서(2004)는 또한 다수의 입력 신호들을 수신하고, 하나 또는 그 이상의 전송 스트림을 모으며, 링키쥐(2010)를 통하여 압축된 디지털 신호들을 방송 센터의 송신기(2008)로 송신하고, 링키쥐(2010)는 물론 텔레콤 링크를 포함하는 폭 넓은 종류의 형태를 가질 수 있다. 송신기(2008)는 업링크(2012)를 통하여 위성 트랜스폰터(2014) 쪽으로 전자기 신호들을 송신하며, 이 전자기 신호들은 위성 트랜스폰더(2014)에서 전자적으로 처리된 다음, 최종 사용자에 의해 소유 또는 임대되는 전형적으로 접시 형태를 갖는 지상 수신기(2018)로 노션 다운링크(2014)를 통하여 방송된다. 수신기(2018)에 의해 수신된 신호들은, 최종 사용자에 의해 소유 또는 임대되며 최종 사용자의 텔레비젼 세트(2022)에 결합된 통합 수신기/디코더(2020)로 송신된다. 수신기/디코더(2020)는 압축된 MPEG-2 신호를 텔레비젼 세트(2022)용 텔레비젼 신호로 디코드한다.1 shows an overview of a digital television system 1000. The present invention includes an almost common digital television system 2000 that uses a known MPEG-2 compression system for transmitting compressed digital signals. More specifically, the MPEG-2 compressor 2002 in the broadcast center receives a digital signal stream (typically a stream of video signals). Compressor 2002 is coupled to multiplexer and scrambler 2004 by linkage 2006. The multiplexer 2004 also receives a plurality of input signals, gathers one or more transport streams, transmits the compressed digital signals through the linkage 2010 to the transmitter 2008 of the broadcast center, and the linkage 2010 ) Can of course have a wide variety of forms, including telecom links. Transmitter 2008 transmits electromagnetic signals towards satellite transponder 2014 via uplink 2012, which are processed electronically in satellite transponder 2014 and then owned or leased by the end user. Typically broadcasted through the downlink to the terrestrial receiver 2018 in the form of a dish. The signals received by the receiver 2018 are transmitted to an integrated receiver / decoder 2020 that is owned or leased by the end user and coupled to the end user's television set 2022. Receiver / decoder 2020 decodes the compressed MPEG-2 signal into a television signal for television set 2022.

조건 접근 시스템(3000)이 멀티플렉서(2004) 및 수신기/디코더(2020)에 결합되며, 이는 방송 센터 및 디코더에 각각 부분적으로 위치한다. 이는 최종 사용자가 하나 또는 그 이상의 방송업자로부터의 디지털 텔레비젼 방송을 액세스할 수 있게 한다. 상업적인 애플리케이션들(즉, 방송업자에 의해 판매되는 하나 또는 몇 개의 텔레비젼 프로그램들)에 관련된 메세지를 해독할 수 있는 스마트카드가 수신기/디코더(2020) 내에 삽입될 수 있다. 디코더(2020) 및 스마트카드를 이용하여, 최종 사용자는 예약 방식 또는 유료 시청 방식(pay per view mode)에서 상업적인 애플리케이션들을 구입할 수도 있다.Conditional access system 3000 is coupled to multiplexer 2004 and receiver / decoder 2020, which is located partially in the broadcast center and decoder, respectively. This allows end users to access digital television broadcasts from one or more broadcasters. Smartcards may be inserted into the receiver / decoder 2020 capable of decrypting messages related to commercial applications (ie, one or several television programs sold by a broadcaster). Using the decoder 2020 and a smart card, the end user may purchase commercial applications in a reservation or pay per view mode.

멀티플렉서(2004)와 수신기/디코더(2020)에 또한 결합되며 방송 센터 및 디코더에 각각 부분적으로 위치하는 대화형 시스템(4000)은 최종 사용자가 모뎀드 백 채널(4002)을 통하여 다양한 애플리케이션들과 상호작용을 할 수 있게 한다.The interactive system 4000, also coupled to the multiplexer 2004 and receiver / decoder 2020 and partially located in the broadcast center and decoder, respectively, allows the end user to interact with various applications via the modem back channel 4002. To do this.

도 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, interactive system 4000 buys items from a catalog on the screen, requests local news and weather maps on demand, and enables games to be played through a television set.

대화형 시스템(4000)은 개략적으로 4개의 주요 요소:The interactive system 4000 roughly has four main elements:

방송업자가 애플리케이션을 생성하고, 개발하고, 결함을 고치고, 테스트를 할 수 있게 하기 위한 방송 센터(또는 어떠한 다른곳)에서의 저작 툴(4004);Authoring tool 4004 in a broadcast center (or elsewhere) for enabling broadcasters to create, develop, fix defects, and test applications;

방송업자로 하여금 멀티플렉서에 전달되는 애플리케이션 및 데이터를 준비하고, 확인하며, 포맷할 수 있도록 하기 위하여 저작 툴(4004)에 결합되며, 최종 사용자에게 방송되는 MPEG-2 전송 스트림(전형적으로 그의 프라이빗 섹션)에 삽입하기 위한 스크램블러(2004)에 결합되는 방송 센터에서의 애플리케이션 및 데이터 서버(4006);MPEG-2 transport stream (typically its private section), coupled to authoring tool 4004, for broadcasters to prepare, verify, and format applications and data delivered to the multiplexer An application and data server 4006 in a broadcast center coupled to a scrambler 2004 for insertion into a;

최종 사용자가 애플리케이션을 수신하고, 확인하고, 압축을 풀며 실행을 위하여 수신기/디코더(2020)의 워킹 메모리(2024)내로 로드시킬 수 있도록 최종 사용자에 의해 소유 또는 임대되는 수신기/디코더(2020)내에 설비된 실행가능한 코드인, 타임 엔진(RTE)(4008)을 포함하는 가상 장치; 및Equipment within a receiver / decoder 2020 that is owned or leased by the end user so that the end user can receive, verify, decompress and load the application into the working memory 2024 of the receiver / decoder 2020 for execution. A virtual device including a time engine (RTE) 4008, which is executable executable code; And

서버(4006) 명령 신호가 최종 사용자의 요청시 데이터 및 애플리케이션들을 MPEG-2 전송 스트림내로 삽입할 수 있게 하는, 수신기/디코더(2020)와 애플리케이션 및 데이터 서버(4006)간의 모뎀드 백 채널(4002)로 구성되며, 엔진(4008)은 또한 상주하는 범용 애플리케이션들을 가동시키며, 하드웨어 및 오퍼레이팅 시스템과 독립적이다.Modem back channel 4002 between receiver / decoder 2020 and application and data server 4006 allowing server 4006 command signals to insert data and applications into the MPEG-2 transport stream upon end user's request. The engine 4008 also runs resident general purpose applications and is independent of hardware and operating systems.

대화형 텔레비젼 시스템은 수신기/디코더 및 그 내에 포함된 다양한 장치들을 조절하는 “애플리케이션”을 이용하여 동작한다. 애플리케이션들은 엔진(4008) 내에서 “리소스 파일들”로서 표현된다. “모듈”은 리소스 파일들과 데이터의 세트이다. 애플리케이션을 구성하는 데에 몇 개의 모듈이 필요할 수도 있다. 수신기/디코더의 “메모리 용량”은 모듈을 위한 저장 공간이다. “인터페이스”는 모듈을 다운로드하는 데에 이용된다. 모듈은 MPEG-2 전송 스트림으로부터 수신기/디코더내로 다운로드될 수도 있다.Interactive television systems operate using an “application” that controls the receiver / decoder and the various devices contained therein. The applications are represented as “resource files” in engine 4008. A module is a set of resource files and data. You may need some modules to configure your application. The “memory capacity” 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 into the receiver / decoder.

이제, 이전 단락에서 설명한 요소들을 좀 더 상세히 설명한다.Now, the elements described in the previous paragraph are described in more detail.

설명의 목적으로, 애플리케이션은 바람직하게는 수신기/디코더(2020)의 하이 레벨 기능들을 제어하기 위한 일부분의 컴퓨터 코드로 한다. 예를 들어, 최종 사용자가 텔레비젼 세트(2022)의 스크린 상에서 보여지는 버튼 물체 위에 원격 제어기의 초점을 두고 확인 키를 누를 때, 버튼에 관련된 명령 시퀀스가 가동된다.For purposes of explanation, the application is preferably part of computer code for controlling the high level functions of the receiver / decoder 2020. For example, when the end user presses the OK key with the remote control's focus on the button object shown on the screen of the television set 2022, the sequence of commands associated with the button is activated.

대화형 애플리케이션은 메뉴를 제시하며 최종 사용자의 요구시 명령을 실행시키고 애플리케이션의 목적에 관련된 데이터를 제공한다. 애플리케이션들은 상주 애플리케이션들, 즉 수신기/디코더(2020)의 ROM(또는 FLASH 또는 기타 비휘발성 메모리)내에 저장된 애플리케이션들, 또는 수신기/디코더(2020)의 RAM 또는 FLASH 메모리내로 방송되거나 다운로드되는 애플리케이션들이 될 수도 있다.Interactive applications present menus, execute commands on demand from the end user, and provide data related to the purpose of the application. The applications may be resident applications, i.e., applications stored in ROM (or FLASH or other nonvolatile memory) of receiver / decoder 2020, or applications broadcast or downloaded into RAM or FLASH memory of receiver / decoder 2020. have.

애플리케이션들의 예는 다음과 같다:Examples of applications are as follows:

초기화 애플리케이션. 수신기/디코더(2020)는 수신기/디코더(2020)를 MPEG-2 환경에서 즉각적으로 동작되게 할 수 있는 개조가능한 모듈의 집합(이 항목은 하기에 좀 더 상세하게 규정됨)인 상주 초기화 애플리케이션을 구비한다. 애플리케이션은 필요할 경우 방송업자에 의해 변경될 수 있는 코어 특성을 제공한다. 이는 또한 상주 애플리케이션과 다운로드된 애플리케이션들간의 인터페이스를 제공한다. Initialization application. Receiver / decoder 2020 has a resident initialization application, which is a set of modifiable modules that can be made to operate receiver / decoder 2020 immediately in an MPEG-2 environment (this item is defined in more detail below). do. The application provides core characteristics that can be changed by the broadcaster if necessary. It also provides an interface between resident and downloaded applications.

시동 애플리케이션. 시동 애플리케이션은 다운로드된 또는 상주하는 모든 애플리케이션이 수신기/디코더(2020) 위에서 가동될 수 있게 한다. 이 애플리케이션은 애플리케이션을 시동시키기 위하여 서비스의 도착시 실행되는 부트스트랩처럼 작동한다. 시동 애플리케이션은 RAM 내로 다운로드될 수 있으며, 이에 따라 쉽게 업데이트될 수 있다. 이는 각 채널 상에서 이용할 수 있는 대화형 애플리케이션들이 다운로드 또는 프리로드된 후 바로 선택되고 가동될 수 있도록 구성될 수 있다. 프리로드되는 경우, 애플리케이션은 메모리(2024)내로 로드되며 필요시 시동 회로에 의해 활성화된다. Startup application. The startup application allows all downloaded or resident applications to run on receiver / decoder 2020. This application acts like a bootstrap that runs on arrival of a service to start the application. The startup application can be downloaded into RAM and thus easily updated. It can be configured so that interactive applications available on each channel can be selected and run immediately after being downloaded or preloaded. When preloaded, the application is loaded into memory 2024 and activated by the startup circuitry if necessary.

프로그램 가이드. 프로그램 가이드는 프로그래밍에 대한 완전한 정보를 주는 대화형 애플리케이션이다. 예를 들어, 디지털 텔레비젼 부켓(bouquet)의 각 채널 상에 제공되는, 이를 테면 일주일의 텔레비젼 프로그램에 대한 정보를 줄 수도 있다. 원격 제어기(2026) 상의 키를 누름으로써, 최종 사용자는 텔레비젼 세트(2022)의 스크린 상에 보여지는 이벤트 위에 오버레이되는 부속 스크린을 액세스한다. 이 부속 스크린은 디지털 TV 부켓의 각 채널의 현재 및 다음 이벤트에 대한 정보를 주는 브라우저이다. 원격 제어기(2026) 위의 다른 키를 누름으로써, 최종 사용자는 일 주일 이상의 이벤트에 대한 정보 리스트를 출력하는 애플리케이션을 액세스한다. 최종 사용자는 또한 이벤트를 검색하며 샘플 및 주문된 기준으로 이를 분류한다. Program guide. The program guide is an interactive application that gives complete information about programming. For example, it may give information about a television program provided on each channel of a digital television boutique, such as a week. By pressing a key on the remote controller 2026, the end user accesses an accessory screen that overlays the event shown on the screen of the television set 2022. This subscreen is a browser that provides information about the current and next events of each channel of the digital TV's bucket. By pressing another key on the remote controller 2026, the end user accesses an application that outputs a list of information about events for more than a week. End users also search for events and classify them by sample and ordered criteria.

유료 시청 애플리케이션. 유료 시청 애플리케이션은 조건 액세스 시스템(3000)과 함께 디지털 TV 부켓의 각 PPV 채널 위에서 사용할 수 있는 대화형 서비스이다. 최종 사용자는 TV 가이드 또는 채널 브라우저를 이용하여 애플리케이션을 액세스할 수 있다. 또한, 애플리케이션은 PPV 이벤트가 PPV 채널 위에서 검출되자 마자 자동적으로 시동된다. 그러면, 최종 사용자는 그의 도터(daughter) 스마트카드(3020)를 통하여 또는 (모뎀, 전화 및 DTMF 코드, MINITEL 등을 이용하는) 통신 서버(3022)에 의하여 현재 이벤트를 살 수 있다. 애플리케이션은 수신기/디코더(2020)의 ROM 내에 상주하거나 또는 디코더(2020)의 RAM 내에 다운로드가능하다. Paid viewing application. The pay-per-view application is an interactive service that can be used on each PPV channel of the digital TV bucket with the conditional access system 3000. End users can access the application using a TV guide or channel browser. In addition, the application is automatically started as soon as a PPV event is detected on the PPV channel. The end user can then buy the current event through his daughter smart card 3020 or by the communication server 3022 (using a modem, telephone and DTMF code, MINITEL, etc.). The application resides in ROM of the receiver / decoder 2020 or is downloadable in RAM of the decoder 2020.

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

메거진 브라우저 애플리케이션. 메거진 브라우저 애플리케이션은 온스크린 버튼에 의한 최종 사용자 항해에 의해 이미지의 주기적인 비디오 방송을 포함한다. Magazine browser application. The magazine browser application includes periodic video broadcasting of images by end user navigation by on-screen buttons.

퀴즈 애플리케이션. 퀴즈 애플리케이션은 바람직하게는 방송되는 퀴즈 프로그램과 동기를 갖는다. 예를 들어, 다중 선택 문제들이 텔레비젼(2022)의 스크린 위에 디스플레이되며, 사용자는 원격 제어기(2026)를 이용하여 답을 선택할 수 있다. 퀴즈 애플리케이션은 사용자에게 그 답이 맞는지 틀린지를 알릴 수 있으며, 사용자의 스코어를 계속하여 카운트할 수 있다. Quiz application. The quiz application is preferably motivated with the quiz program being broadcast. For example, multiple selection questions are displayed on the screen of the television 2022 and the user can select the answer using the remote controller 2026. The quiz application can inform the user whether the answer is correct or not, and can continue to count the user's score.

텔레쇼핑 애플리케이션. 텔레쇼핑 애플리케이션의 한 예에서, 팔려고 내놓은 상품에 대한 신청이 수신기/디코더(2020)에 전달되며 텔레비젼(2022) 위에 디스플레이된다. 원격 제어기를 이용하여, 사용자는 사려는 특정한 항목을 선택할 수 있다. 항목에 대한 주문서가, 될 수 있는 한 수신기/디코더(2020)의 카드 리더(4036)들 중 하나로 삽입되는 신용 카드에 대한 청구서를 데빗하는 주문서와 함께 모뎀드 백 채널(4002)을 통해 애플리케이션 및 데이터 서버(4006), 또는 전화번호가 수신기/디코더에 다운로드되어 있는 개별적인 판매 시스템으로 전송된다. Teleshopping application. In one example of a teleshopping application, an application for a merchandise for sale is delivered to a receiver / decoder 2020 and displayed over a television 2022. Using the remote control, the user can select a particular item to buy. Applications and data over the modem back channel 4002 with an order to debit an invoice for a credit card inserted into one of the card readers 4036 of the receiver / decoder 2020 as far as possible. The server 4006 or telephone number is sent to a separate sales system that is 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. When the receiver / decoder 2020 dials up the user's bank using a bank card or a telephone number stored on the receiver / decoder, the application can be selected using the remote controller 2026, for example by a telephone line. It provides a number of conveniences, such as downloading bills, requesting checkbooks, and transferring funds between accounts.

인터넷 브라우저 애플리케이션. 인터넷 브라우저의 한 예에서, 가령 특정한 URL을 갖는 웹 페이지를 보고자하는 요청과 같은 사용자로부터의 명령이 원격 제어기(2026)를 이용하여 입력되고, 이들은 모뎀드 백 채널(4002)에 의해 애플리케이션 및 데이터 서버(4006)로 전송된다. 이렇게 되면, 업링크(2012), 트랜스폰더(2014) 및 다운링크(2016)를 통해 수신기/디코더(2020)에 의해 수신된 방송 센터로부터의 전송내에 적절한 웹 페이지가 포함되며, 텔레비젼(2022)에 디스플레이된다. Internet browser application. In one example of an internet browser, commands from a user, such as a request to view a web page with a particular URL, are input using remote controller 2026, which is accessed by the modem back channel 4002 by an application and data server. Is sent to 4006. This would include the appropriate web page within the transmission from the broadcast center received by the receiver / decoder 2020 via uplink 2012, transponder 2014 and downlink 2016, to television 2022. Is displayed.

애플리케이션들은 수신기/디코더(2020)내의 메모리 위치에 저장되며 리소스 파일로서 표현된다. 리소스 파일은 그래픽 오브젝트 디스크립션 유닛 파일(graphic object description unit files), 가변 블럭 유닛 파일, 명령 시퀀스 파일, 애플리케이션 파일 및 데이터 파일을 포함한다.The applications are stored at a memory location within the receiver / decoder 2020 and represented as a resource file. Resource files include graphic object description unit files, variable block unit files, command sequence files, application files, and data files.

그래픽 오브젝트 디스크립션 유닛 파일은 애플리케이션의 스크린, 인간-기계인터페이스를 설명한다. 가변 블럭 유닛 파일은 애프리케이션에 의해 처리되는 데이터 구조를 설명한다. 명령 시퀀스 파일은 애플리케이션의 처리 동작을 설명한다. 애플리케이션 파일은 애플리케이션에 대한 엔트리 넘버를 제공한다.The graphical object description unit file describes the application's screen, human-machine interface. The variable block unit file describes the data structure processed by the application. The command sequence file describes the processing operation of the application. The application file provides the entry number for the application.

이러한 방법으로 구성된 애플리케이션은, 가령 아이콘 라이브러리 파일, 이미지 파일, 캐릭터 폰트 파일, 칼러 테이블 파일 및 ASCII 텍스트 파일과 같은 데이터 파일을 사용할 수 있다. 대화형 애플리케이션은 또한 입력 및/또는 출력을 발생시킴으로써 온라인 데이터를 얻을 수 있다.Applications configured in this manner can use data files such as, for example, icon library files, image files, character font files, color table files, and ASCII text files. Interactive applications can also obtain online data by generating input and / or output.

엔진(4008)은 주어진 시간에 필요한 리소스 파일들만을 그의 메모리에 로드시킨다. 이들 리소스 파일들은 그래픽 오브젝트 디스크립션 유닛 파일, 명령 시퀀스 파일 및 애플리케이션 파일로부터 리드되며; 가변 블럭 유닛 파일들은 모듈을 로드하기 위한 절차를 콜 하면서 메모리에 저장되며 모듈을 언로드하기 위한 절차로의 특정한 콜이 이루어질 때까지 록된 채로 남는다.Engine 4008 loads only the resource files needed at a given time into its memory. These resource files are read from the graphic object description unit file, the command sequence file, and the application file; Variable block unit files are stored in memory, calling the procedure to load the module and remain locked until a specific call to the procedure to unload the module is made.

도 3을 설명하면, 가령 텔레쇼핑 모듈과 같은 모듈(4010)이 한 세트의 리소스 파일이며 데이터는:3, a module 4010, such as a teleshopping module, is a set of resource files and the data is:

단일 애플리케이션 파일(4012);Single application file 4012;

미확정수의 그래픽 오브젝트 디스크립션 유닛 파일(4014);Indeterminate graphic object description unit file 4014;

미확정수의 가변 블럭 유닛 파일(4016);Indeterminate variable block unit file 4016;

미확정수의 명령 시퀀스 파일(4018); 및Indeterminate instruction sequence file 4018; And

적절한 곳에, 가령 아이콘 라이브러리 파일, 이미지 파일, 캐릭터 폰트 파일, 칼러 테이블 파일 및 ASCII 테스트 파일과 같은 데이터 파일(4020)을 포함한다.Where appropriate, data files 4020 such as icon library files, image files, character font files, color table files, and ASCII test files are included.

MPEG 데이터 스트림에서, 각 모듈은 한 그룹의 MPEG 테이블을 구성한다. 각 MPEG 테이블은 다수의 섹션들로서 포맷될 수도 있다. MPEG 데이터 스트림에서, 각 섹션은 4 kbyte “크기”를 갖는다. 직렬 및 병렬 포트에 의한 데이터 전송에 대하여, 예를 들어, 모듈은 테이블들 및 섹션들로 유사하게 분배되며, 섹션의 크기는 전송 매체에 따라 변한다.In an MPEG data stream, each module composes a group of MPEG tables. Each MPEG table may be formatted as multiple sections. In an MPEG data stream, each section has a 4 kbyte "size". For data transmission by serial and parallel ports, for example, the module is similarly distributed into tables and sections, the size of the section varies with the transmission medium.

모듈은, 예를 들어 비디오 데이터 스트림, 오디오 데이터 스트림 및 텔레텍스트 데이터 스트림과 같은 개별적인 타입의 데이터 스트림내에서 전형적으로 188 바이트의 데이터 패키지 형태로 MPEG 데이터 스트림에서 전송된다. 각 패킷에는 13비트의 패킷 식별자(PID)가 우선하며, MPEG 데이터 스트림에서 전송되는 모든 패킷에 대하여 하나의 PID가 존재한다. 프로그램 맵 테이블(PMT 테이블)은 별개의 데이터 스트림의 리스트를 포함하며 각각의 PID에 따라 각 데이터 스트림의 내용을 규정한다. PID는 장치에 데이터 스트림내의 애플리케이션들의존재를 경계시키며, PID는 PMT 테이블을 이용하여 식별된다.The module is transmitted in the MPEG data stream, typically in the form of a data package of 188 bytes, in separate types of data streams such as, for example, video data streams, audio data streams and teletext data streams. Each packet has a 13-bit packet identifier (PID) priority, and there is one PID for every packet transmitted in the MPEG data stream. The program map table (PMT table) contains a list of separate data streams and defines the contents of each data stream according to each PID. The PID alerts the device of the presence of applications in the data stream, and the PID is identified using the PMT table.

도 4를 설명하면, 각 섹션(4300)은 전형적으로 다음의 필드:4, each section 4300 typically has the following fields:

섹션(4300)의 처음에, 전형적으로 1 byte 크기를 갖는 테이블 ID(TID)(4302);At the beginning of section 4300, table ID (TID) 4302, typically having a one byte size;

전형적으로 2 byte의 크기를 갖는 섹션 길이 식별자(4304);A section length identifier 4304, typically having a size of 2 bytes;

전형적으로 1 byte의 크기를 갖는, 테이블내 섹션의 섹션 번호(SN)(4306)(예를 들어, 1);Section number (SN) 4306 (eg, 1) of the section in the table, typically having a size of 1 byte;

전형적으로 1 byte의 크기를 갖는, 테이블내의 섹션들의 총수(LSN)(4308)(예를 들어, 3);The total number of sections (LSN) 4308 (eg, 3) in the table, typically having a size of 1 byte;

전형적으로 2 byte의 크기를 갖는 TID 연장부(4310);A TID extension 4310, typically having a size of 2 bytes;

프라이빗 데이터(4312); 및Private data 4312; And

섹션(4300)의 CRC(4314)를 포함한다. CRC(4314)의 목적은 섹션(4300)내 모든 바이트들을 체크하는 것이며; 만일 CRC(4314)가 선행하는 모든 데이터와 서로 관련이 있다면, 섹션은 수신기/디코더(2020)에 의해 수용된다. 유사하게, 개인 데이터필드(4312)는 필드의 끝에 있으며 필드(4312)의 이전 모든 내용들로부터 계산되는 MD5 암호(signature)를 포함할 수도 있다.The CRC 4314 of the section 4300. The purpose of CRC 4314 is to check all bytes in section 4300; If the CRC 4314 correlates with all preceding data, the section is received by the receiver / decoder 2020. Similarly, personal datafield 4312 may include an MD5 signature at the end of the field and calculated from all previous contents of field 4312.

직렬 또는 병렬 인터페이스에 의해 수신된 데이터에 있어서, 섹션의 필드는 변할 수도 있으며; 전형적으로 이전에 언급한 인터페이스 중 어떤 것에 의해 수신된 섹션은 필드 4302 내지 4310 내에 감소된 양의 데이터를 포함하고 CRC(4314)는 포함하지 않는다.For data received by a serial or parallel interface, the fields of the section may change; Typically the section received by any of the previously mentioned interfaces includes a reduced amount of data in fields 4302-4310 and does not include CRC 4314.

특정한 모듈/테이블에 대하여, 그 테이블을 형성하는 모든 섹션들은 동일한 TID(4302) 및 동일한 TID 연장부(4310)를 갖는다. 특정한 애플리케이션에 대하여, 모든 테이블은 애플리케이션이 동일한 TID를 갖도록, 하지만 각각 다른 TID 연장부를 갖도록 구성한다.For a particular module / table, all the sections that form the table have the same TID 4302 and the same TID extension 4310. For a particular application, all tables are configured so that the applications have the same TID, but each has a different TID extension.

예를 들어, MPEG 비트스트림으로부터 모듈(4010)을 액세스하기 위해서는, 모듈 및 모듈 디렉토리에 대한 PID가 필요하다. 이 디렉토리는 단지 캐리어 신호로부터 다운로드될 수 있는 모듈(4010)을 기입한다. 일단 디렉토리가 다운로드되면, 애플리케이션이 하나 또는 그 이상의 모듈(4010)을 다운로드하는 것이 가능해진다.For example, to access module 4010 from an MPEG bitstream, PIDs for modules and module directories are needed. This directory only writes the module 4010 which can be downloaded from the carrier signal. Once the directory is downloaded, it is possible for the application to download one or more modules 4010.

코드의 작은 부분을 다운로딩하는 개념과 함께 모듈(4010)의 개념은 애플리케이션들의 용이한 전개를 가능하게한다. 이들은 최종 사용자에 의해 필요로 될 때 디코더(2020)의 RAM내로 다운로드되도록 하기 위하여 상주 소프트웨어 또는 방송으로써 수신기/디코더(2020)의 영구적인 FLASH 메모리내로 다운로드될 수 있다.The concept of module 4010 along with the concept of downloading a small portion of code allows for easy deployment of applications. These can be downloaded into permanent FLASH memory of receiver / decoder 2020 as resident software or broadcast to be downloaded into RAM of decoder 2020 when needed by the end user.

메모리 용량은 모듈(4010)을 위한 저장 공간이다. 이러한 저장 공간은 수신기/디코더(2020)의 메모리(2024)에 위치된다. 도 5를 참조하면, 메모리(2024)는 전형적으로, RAM 용량(4022), FLASH 용량(4024), 및 ROM 용량(4026)으로 나누어질 수 있다. 메모리는 또한 모듈이 수신기/디코더(2020)내로 다운로드되는 다양한 인터페이스와 관련된 메모리 용량들, 예를 들어, MPEG 비트스트림으로부터 다운로드되는 모듈을 저장하기 위한 MPEG 용량, 및 직렬 인터페이스에 의해 수신된 모듈을 저장하기 위한 직렬 용량으로 나누어질 수도 있다.The memory capacity is the storage space for the module 4010. This storage space is located in the memory 2024 of the receiver / decoder 2020. Referring to FIG. 5, memory 2024 may typically be divided into RAM capacity 4022, FLASH capacity 4024, and ROM capacity 4026. The memory also stores memory capacities associated with the various interfaces into which the module is downloaded into the receiver / decoder 2020, for example MPEG capacities for storing modules downloaded from the MPEG bitstream, and modules received by the serial interface. It can also be divided into series capacity to.

RAM 용량(4022)은 교대로 펌웨어 전용 존, 엔진(4008)을 위한 작업 공간 및 버퍼로 나누어진다. FLASH 및 다른 비휘발성 메모리는 애플리케이션 또는 장치 메니저를 통한 엔진 그 자체에 의하여 액세스될 수 있다.RAM capacity 4022 is in turn divided into a firmware dedicated zone, a workspace for the engine 4008, and a buffer. FLASH and other nonvolatile memory can be accessed by the engine itself through an application or device manager.

각 용량은 모듈(4010)의 리스트를 포함하며, 각 모듈(4010)은 파일(4012, 4014, 4016, 4018, 4020)의 리스트를 포함한다. 동일한 이름을 가지며 별개의 모듈에 위치될 수도 있는 두 개의 파일을 갖는 것이 가능하다. 예를 들어, 애플리케이션의 버전은 전형적으로 ROM 용량에 저장된 버전을 FLASH 용량(4024)에 저장된 용량으로 대신하기 위하여 FLASH 용량(4024)내로 로드될 수 있는 이후 버전과 함께 ROM 용량(4026)에 저장된다. 파일들의 내용은 LZW 포맷내에 압축될 수도 있으며, 파일들의 압축해제가 어느 정도의 시간이 걸린다고 할 지라도 압축해제된 포맷으로 수신될 수도 있다.Each capacity includes a list of modules 4010, and each module 4010 includes a list of files 4012, 4014, 4016, 4018, 4020. It is possible to have two files with the same name and which may be located in separate modules. For example, a version of an application is typically stored in ROM capacity 4026 along with a later version that can be loaded into FLASH capacity 4024 to replace the version stored in ROM capacity with the capacity stored in FLASH capacity 4024. . The contents of the files may be compressed in the LZW format and may be received in the uncompressed format, although the decompression of the files may take some time.

수신기/디코더(2020)의 물리적인 인터페이스가 데이터를 다운로딩하는 데에 이용된다. 도 6을 참조하면, 수신기/디코더(2020)는, 예를 들어 6개의 다운로딩 매체들; MPEG 플로우 튜너(4028), 직렬 인터페이스(4030), 병렬 인터페이스(4032), 모뎀(4034) 및 2개의 카드 리더(4036)를 포함한다.The physical interface of the receiver / decoder 2020 is used to download the data. Referring to FIG. 6, receiver / decoder 2020 may include, for example, six downloading media; MPEG flow tuner 4028, serial interface 4030, parallel interface 4032, modem 4034, and two card readers 4036.

애플리케이션의 다중 소스 및 수신기/디코더(2020)의 다중 제조 소스를 이용하여, 하나의 애플리케이션이 모든 수신기/디코더에 대하여 동일한 방법으로 가동되고, 각각의 수신기/디코더가 동일하게 정확한 방법으로 모든 애플리케이션을 실행시켜야 함이 중요하다. 도 7을 참조하면, 수신기/디코더(2020)는 마이크로프로세서의 제어하에서 가동되는 런 타임 엔진(4008) 및 공통 애플리케이션 프로그래밍 인터페이스(4054)를 포함한다. 이들은 모든 수신기/디코더(2020)가 애플리케이션 관점으로부터 동일할 수 있도록 모든 수신기/디코더에 설치된다.With multiple sources of applications and multiple manufacturing sources of receivers / decoders 2020, one application runs in the same way for all receivers / decoders, and each receiver / decoder runs all applications in the same exact manner. It is important to do it. Referring to FIG. 7, receiver / decoder 2020 includes a run time engine 4008 and a common application programming interface 4054 running under the control of a microprocessor. These are installed in all receivers / decoders so that all receivers / decoders 2020 can be identical from an application point of view.

도 7은 애플리케이션(4056)들을 가동하기 위한 수신기/디코더(2020)의 구조를 보여준다. 가상 장치(4007)는 가상 장치에 바로 결합되는 애플리케이션(4056')들 또는, 예를 들어 MPEG 데이터 스트림으로부터 수신기/디코더(2020)로 다운로드되는 애플리케이션(4056")들을 포함할 수도 있는 애플리케이션(4056)들을 실행한다. 런 타임 엔진(4008)은 또한 그래픽 및 텍스트를 디스플레이하고, 서비스를 위하여 장치를 불러내며, “이벤트”를 수신하고 특정한 계산을 위한 라이브러리(4058)의 기능을 이용한다.7 shows the structure of a receiver / decoder 2020 for running applications 4056. The virtual device 4007 may include applications 4056 'that are directly coupled to the virtual device, or applications 4056 "that may be downloaded, for example, from the MPEG data stream to the receiver / decoder 2020. The runtime engine 4008 also displays graphics and text, invokes the device for service, receives “events” and utilizes the functionality of the library 4058 for specific calculations.

도 7을 설명하면, 애플리케이션에 대한 디코더(2020)의 기능이 장치(4060)로서 “보여진다”. 따라서, 모든 애플리케이션에 의해 보여지지 않을 수도 있는 수신기/디코더(2020)의 기능일 수도 있다.Referring to FIG. 7, the functionality of the decoder 2020 for the application is “shown” as the device 4060. Thus, it may be a function of the receiver / decoder 2020 that may not be seen by all applications.

장치(4060)는 하드웨어(4066)의 구성요소(4062) 또는 물리적 인터페이스(4064)와 일치할 수도 있는 로직 장치 유닛을 포함한다. 이러한 장치들은 “로우 레벨 장치들”(4068)로서 언급된다. 상기 장치(4068)는 장치(4068)에 의해 출력된 로직 신호들을, 예를 들어 하드웨어 인터페이스(4064)에 의해 요구되는 신호들로 변환하기 위하여 적어도 하나의 장치 드라이버(4070)에 결합될 수도 있다. 변형예로서, 장치(4068)는 수신기/디코더(2020)의 구성요소 또는 인터페이스를 자체로 구동시킬 수도 있다. 즉 장치의 출력을 하드웨어(4066)에 바로 연결될 수도 있다.Device 4060 includes a logic device unit that may match component 4082 or physical interface 4064 of hardware 4066. Such devices are referred to as “low level devices” 4068. The device 4068 may be coupled to at least one device driver 4070 to convert logic signals output by the device 4068 into signals required by the hardware interface 4064, for example. As a variant, the device 4068 may drive the components or interfaces of the receiver / decoder 2020 by itself. That is, the output of the device may be directly connected to the hardware 4066.

로우 레벨 장치(4068)들의 예가 하기에 설명된다.Examples of low level devices 4068 are described below.

LCARD 장치는 프로그램이 1개의 스마트카드 리더(4036)에 포함된 스마트카드와 통신할 수 있도록 하며, RCARD 장치는 프로그램이 다른 스마트 카드 리더(4036)에 포함된 스마트카드와 통신할 수 있게 한다. 예를 들어, 이들 장치들은 프로그램이 카드의 상태를 읽고, 카드 히스토리를 읽으며, 카드에 입력 메시지를 보낼 수 있도록 한다. 이들 장치들은 또한 리더로의 카드의 삽입, 리더로부터의 카드의 제거, 및 프로그램에 의해 요청되지 않을 경우에는 카드 리셋을 프로그램에 알린다. LCARD 및 RCARD 장치들은 카드를 작동시키기 위하여 사용되는 프로토콜에 특정하다. 전형적으로, ISO7816 프로토콜이 사용된다.The LCARD device allows a program to communicate with a smart card included in one smart card reader 4036, and the RCARD device enables the program to communicate with a smart card included in another smart card reader 4036. For example, these devices allow a program to read the status of a card, read the card history, and send input messages to the card. These devices also inform the program of the insertion of the card into the reader, removal of the card from the reader, and card reset if not requested by the program. LCARD and RCARD devices are specific to the protocol used to operate the card. Typically, ISO7816 protocol is used.

SCTV 장치는 프로그램이 텔레비젼 세트(2022)에 스카르트 아울렛(scart oulet)을 검증하고 구성할 수 있게 한다. 예를 들어, 이 장치는 스칼렛 아울렛의 음향 특성에 대한 정보를 요청하고, 음향에 대하여 “MUTE”를 실행하며 RGB 레벨들을 동적으로 프로그램할 수 있게 한다.The SCTV device allows the program to verify and organize the scart oulet on the television set 2022. For example, the device allows you to request information about the sound characteristics of a scarlet outlet, perform “MUTE” on the sound, and dynamically program RGB levels.

TUNER 장치는 프로그램이 튜너(4028)를 사용할 수 있게 한다. 예를 들어, 장치는 프로그램이 튜너의 최소 주파수 또는 현재의 주파수로부터 스캔을 수행하고, 튜너 파라미터를 읽으며, 튜너를 프로그램할 수 있게 한다.The TUNER device allows the program to use the tuner 4028. For example, the device allows a program to perform a scan from the tuner's minimum or current frequency, read tuner parameters, and program the tuner.

SERIAL 장치는 프로그램이 직렬 링크에 의하여 장비와 통신할 수 있게 하며 PARALLEL 장치는 프로그램이 병렬 링크에 의하여 장비와 통신할 수 있게 한다.SERIAL devices allow programs to communicate with devices by serial links, and PARALLEL devices allow programs to communicate with devices by parallel links.

MODEM 장치는 수신기 디코더가 내부 반이중 모뎀 서포팅(V23)에 의하여 데이터서비스와 통신할 수 있게 한다. MODEM 장치는 번호의 다이얼링, 데이터 서버로의 메세지의 전송 및 모뎀의 단선을 요구하고, 메시지의 수신, 에러 및 손실의 검출 또는 캐리어의 검출을 신호로 알린다.The MODEM device allows the receiver decoder to communicate with the data service by internal half duplex modem support (V23). The MODEM device requires dialing of the number, sending a message to the data server and disconnection of the modem, signaling the reception of the message, the detection of errors and losses, or the detection of the carrier.

원격 위치에서 실행되는 원격 장치들은 포트 및 프로토콜이 규정되어야 한다는 것을 제외하고는 어떠한 국부 장치라도 될 수 있다.The remote devices running at the remote location can be any local device except that the port and protocol must be defined.

“로우 레벨 장치들”에 부가하여, 수신기/디코더(2020)는 또한 수신기/디코더(2020)의 동작을 제어하는 “하이 레벨 장치들”을 포함할 수도 있다.In addition to "low level devices", receiver / decoder 2020 may also include "high level devices" that control the operation of receiver / decoder 2020.

MPEG 데이터 스트림으로부터 로드된 섹션들에 있어서, “MLOAD 장치”로서 언급된 장치(4072)는 애플리케이션이 하드웨어 및 소프트웨어 필터링 기준에 해당하는 MPEG 섹션, 완전한 MPEG 테이블 또는 한 그룹의 MPEG 섹션들을 로드할 수 있게 한다.For sections loaded from an MPEG data stream, the device 4042, referred to as the “MLOAD device,” allows an application to load MPEG sections, complete MPEG tables or a group of MPEG sections corresponding to hardware and software filtering criteria. do.

도 8을 참조하면, 전자기 신호들이 수신기(2018)에 의해 수신되어 MPEG 튜너(4028)로 전송된다. 튜너는 전형적으로 어떠한 주파수 범위를 스캔하며, 반송파 주파수가 그 범위내에서 검출될 때에만 멈춘다. 이에 따라 검출된 신호들은 복조기(4500)로 전송되며, 복조기는 신호들을 복조한 다음 디멀티플렉서(4502)로 전송한다. 디멀티플렉서(4502)는 텔레비젼(2022)에 접속된 MPEG 칩(4504)에 접속된다. 디멀티플렉서(4502)는 또한 전형적으로 수신기/디코더(2020)의 RAM 용량(4022)에 결합된 32개의 출력들까지 제공하는 하드웨어 필터(4506)에 결합된다.Referring to FIG. 8, electromagnetic signals are received by the receiver 2018 and transmitted to the MPEG tuner 4028. The tuner typically scans a certain frequency range and stops only when a carrier frequency is detected within that range. Accordingly, the detected signals are transmitted to the demodulator 4500, and the demodulator demodulates the signals and then transmits the demodulated signals to the demultiplexer 4502. The demultiplexer 4502 is connected to an MPEG chip 4504 connected to the television 2022. Demultiplexer 4502 is also coupled to hardware filter 4506, which typically provides up to 32 outputs coupled to RAM capacity 4022 of receiver / decoder 2020.

디멀티플렉서(4502)에 의해 수신된 전자기 신호들은 전형적으로 비디오 패킷의 스트림, 오디오 패킷의 스트림, 텔레텍스트 패킷의 스트림 및 방송업자에 의해 제공된 서비스를 위한 서브타이틀 패킷의 스트림을 포함하는 데이터 패킷의 데이터 스트림의 수를 포함한다. 이들 데이터 패킷은 디멀티플렉서(4502)에 의해 디멀티플렉스된 다음, 텔레비젼 세트(2022)용 신호로 디코드하기 위하여 MPEG 칩(4504)으로 전송된다.The electromagnetic signals received by the demultiplexer 4502 are typically a data stream of data packets, including a stream of video packets, a stream of audio packets, a stream of teletext packets, and a stream of subtitle packets for services provided by the broadcaster. Include the number of. These data packets are demultiplexed by a demultiplexer 4502 and then sent to the MPEG chip 4504 to decode into a signal for the television set 2022.

애플리케이션들에 관련된 데이터 패킷이 하드웨어 필터(4506)로 전송된다. 도 9를 설명하면, 하드웨어 필터, 또는 프리필터(4506)는 데이터 스트림으로부터 섹션들을 필터링하기 위하여 전형적으로 오프셋 바이트 0(4510) 및 오프셋 바이트 3 내지 9(4512)를 포함하는 데이터 스트림의 섹션(4508)의 전형적인 8바이트를 하나 또는 그 이상 이용한다. 이들 바이트들은 TID(4302), 섹션 번호(4306), 마지막 섹션 번호(4308) 및 MPEG 섹션(4508)의 TID 연장부(4310)를 포함한다.Data packets related to the applications are sent to the hardware filter 4506. Referring to FIG. 9, a hardware filter, or prefilter 4506, typically includes an offset byte 0 4510 and an offset byte 3 to 9 4512 to filter sections from the data stream. Use one or more typical 8 bytes of These bytes include TID 4302, section number 4306, last section number 4308, and TID extension 4310 of MPEG section 4508.

하드웨어 프리필터 특성을 규정하기 위하여, 애플리케이션은 고려되는 섹션(4508)의 비트 및 각 선택 비트의 기대값을 지정한다. 따라서, 하드웨어 프리필터(4506)는 필터 마스크 어레이(4514) 및 필터 값 어레이(4516)를 각각 포함하며, 각각의 예가 도 10에 도시된다. 도 10에서, 필터 마스크 어레이(4514)를 이용하여 비트(4518, 4520, 4522)가 선택되며, 이들 각 비트 0, 1, 0의 값이 필터 값 어레이(4516)를 이용하여 각각 선택된다. 이들 필터링 기준을 가지고, MPEG 섹션(4524)은 수신기/디코더(2020)의 RAM(4022)의 버퍼로 출력될 것이며, 반면 MPEG 섹션(4526)은 버퍼로 출력되지 않을 것이다.To define the hardware prefilter characteristics, the application specifies the bits of section 4508 that are considered and the expected value of each select bit. Thus, the hardware prefilter 4506 includes a filter mask array 4514 and a filter value array 4516, respectively, an example of which is shown in FIG. In FIG. 10, bits 4518, 4520, 4522 are selected using filter mask array 4514, and the values of each of these bits 0, 1, 0 are selected using filter value array 4516, respectively. With these filtering criteria, the MPEG section 4524 will be output to the buffer of the RAM 4022 of the receiver / decoder 2020, while the MPEG section 4526 will not be output to the buffer.

하드웨어 프리필터(4506)는 메인 프로세서 내에서 프로세서 파워를 낭비하지 않으면서 디멀티플렉서 칩에 의해 동작한다.The hardware prefilter 4506 is operated by the demultiplexer chip without wasting processor power in the main processor.

마이크로프로세서는 섹션들이 소프트웨어 필터(4526)로서 저장된 수신기/디코더(2020)의 RAM(4022)을 이용할 수도 있다. 소프트웨어 필터(4526)를 이용함으로써, RAM 용량(4022)의 버퍼내에 로드된 섹션들 중 어떤 것이 애플리케이션으로 가져오게 될 지를 선택하는 것이 가능해진다.The microprocessor may utilize the RAM 4022 of the receiver / decoder 2020 in which the sections are stored as the software filter 4526. By using software filter 4526, it becomes possible to select which of the sections loaded into the buffer of RAM capacity 4022 will be brought into the application.

소프트웨어 필터링의 원리는 하드웨어 필터링의 원리와 유사하다. 소프트웨어 필터(4526)는 전형적으로 MPEG 섹션(4508)내 8개의 연속적인 데이터 바이트(4528)를 이용한다. 도 11에 도시한 바와 같이, 이들 8개의 연속적인 바이트들중 첫 번째 바이트(4530)의 위치는 섹션(4508)내 첫 번째 바이트(4510)를 기초로 오프셋(4532)과 함께 규정된다.The principle of software filtering is similar to that of hardware filtering. Software filter 4526 typically uses eight consecutive data bytes 4528 in MPEG section 4508. As shown in FIG. 11, the position of the first byte 4530 of these eight consecutive bytes is defined with an offset 4532 based on the first byte 4510 in section 4508.

하드웨어 필터에 의하여 로딩이 이루어진 후, MPEG 섹션에 저장된 데이터가 소프트웨어 필터링에 대한 기준과 일치하지 않는 다면, MPEG 섹션이 저장된 버퍼는 다른 MPEG 섹션을 로드하기 위하여 사용될 수도 있다.After loading by the hardware filter, if the data stored in the MPEG section does not match the criteria for software filtering, the buffer in which the MPEG section is stored may be used to load another MPEG section.

MPEG 데이터 스트림으로부터 MPEG 섹션을 로드하기 위하여, MLOAD 장치에는 전형적으로 하기의 정보:In order to load an MPEG section from an MPEG data stream, the MLOAD device typically has the following information:

MPEG 섹션이 발견되는 데이터 스트림의 PID;PID of data stream in which MPEG section is found;

디스크램블링 PIDs에 대한 다수의 PED ECMs를 포함하는 디스크램블링 데이터 어레이;A descrambling data array comprising a plurality of PED ECMs for descrambling PIDs;

PID를 디스크램블하는 데에 이용되는 특정한 ECM을 인식하는 조작자 기준;Operator criteria for recognizing a particular ECM used to descramble the PID;

적용될 하드웨어 필터 값 어레이;An array of hardware filter values to be applied;

적용될 하드웨어 필터 마스크 어레이;A hardware filter mask array to be applied;

적용될 소프트웨어 필터 오프셋 값;Software filter offset value to be applied;

적용될 소프트웨어 필터 값 어레이;An array of software filter values to be applied;

적용될 소프트웨어 필터 마스크 어레이;A software filter mask array to be applied;

섹션의 최대 크기(4096 바이트까지); 및The maximum size of the section (up to 4096 bytes); And

얼마나 오랫 동안 장치가 섹션, 한 그룹의 섹션들 또는 테이블을 로드하기 위하여 기다려야 하는 지를 결정하는 타임 아웃 함수가 공급된다.A timeout function is provided that determines how long the device should wait to load a section, a group of sections or a table.

섹션의 최대 크기가 512 바이트로 표시될 때, 섹션의 크기는 512 바이트를 초과할 수 없다.When the maximum size of a section is indicated as 512 bytes, the size of the section cannot exceed 512 bytes.

섹션은 장치에 의해 할당된 RAM 용량(4022)의 버퍼내에 한 번에 모두 로드된다. 섹션이 로드될 때, 그리고 만일 소프트웨어 필터 기준과 일치한다면, 장치는 디멀티플렉싱 루트를 제거해야만 하고, 실행 리포트 및 섹션을 포함하는 버퍼의 어드레스를 포함하는 “이벤트”를 통하여 애플리케이션에 알려야만 한다. 로딩이 이루어진 후, 섹션은 섹션이 저장된 버퍼의 어드레스에 의해 확인된다.The sections are loaded all at once into a buffer of RAM capacity 4022 allocated by the device. When a section is loaded and if it matches the software filter criteria, the device must remove the demultiplexing route and notify the application through an "event" that contains the execution report and the address of the buffer containing the section. After loading, the section is identified by the address of the buffer where the section is stored.

테이블이 로드될 때, 장치에는 또한 TID(4302)가 공급된다. 테이블의 각 섹션은 이를 위하여 모두 한 번에 할당된 각각의 버퍼내로 로드된다. 그러나, 테이블이 섹션들을 끝과 끝을 이어서 그리고 순서대로 넣어서 로드될 필요는 없다. 테이블의 각 섹션이 로드될 때, 장치는 애플리케이션에 테이블의 섹션이 로드되었음을 알린다. 변형예로서 또는 부가적으로, 장치는 이벤트를 통하여 애플리케이션에 전체 테이블이 그를 위해 할당된 버퍼내로 성공적으로 로드되었음을 알린다.When the table is loaded, the device is also supplied with a TID 4302. Each section of the table is loaded into each buffer, which is allocated all at once for this. However, the table does not have to be loaded with sections end to end and in order. As each section of the table is loaded, the device informs the application that the section of the table has been loaded. As a variant or in addition, the device notifies the application via the event that the entire table has been successfully loaded into the buffer allocated for it.

도 12를 설명하면, 테이블은 전형적으로 하기의 방법으로 로드된다(간결함만의 이유로 소프트웨어 필터링의 설명은 생략한다):Referring to Figure 12, the table is typically loaded in the following way (the description of software filtering is omitted for reasons of brevity only):

단계 1: 하드웨어 필터 마스크 어레이(4534) 및 하드웨러 필터 값 어레이(4536)를 지정한다.Step 1: Specify a hardware filter mask array 4534 and a hardware filter value array 4452.

단계 2: 하드웨어(및 소프트에어) 필터에 해당하는 첫 번째 섹션(4538)을 로드한다.Step 2: Load the first section 4538 corresponding to the hardware (and soft) filter.

단계 3: 로드된 섹션의 수(=LSN+1)를 결정하기 위하여 섹션(4538)의 LSN(4540)의 값을 읽고 LSN(4540)의 값에 따라 하드웨어 필터 마스트 어레이(4534) 및 하드웨어 필터 값 어레이(4536)을 바꾼다.Step 3: Read the value of the LSN 4540 of the section 4538 to determine the number of loaded sections (= LSN + 1) and the hardware filter mast array 4534 and the hardware filter value according to the value of the LSN 4540. Replace array 4538.

단계 4: TID 및 LSN의 값에 따라 남아있는 섹션들(4542, 4544 및 4546)을 로드하며 이벤트를 애플리케이션에 보낸다.Step 4: Load remaining sections 4452, 4544, and 4546 according to the value of TID and LSN and send an event to the application.

테이블 로딩은 성공적인 다운로딩을 표시하는 이벤트가 런 타임 엔진(4006)의 큐내로 들어갈 때에만 완료된다. 이러한 이벤트가 엔진 큐에 위치하기 전에, 테이블 로딩의 어보션(abortion)이 성공적이어야 한다.Table loading is complete only when an event indicating successful downloading enters the queue of runtime engine 4006. Before such an event is placed on the engine queue, the abortion of the table loading must be successful.

테이블이 로드된 후, 테이블의 다운로딩을 요구할 때 테이블에 의하여 그에 할당된 이름이 확인된다.After the table is loaded, the name assigned to it by the table is checked when requesting a download of the table.

테이블이 수신기/디코더(2020)의 메모리내에 저장되는 방법에 관한 정보는 테이블의 디스크립터를 돌려보내는 콜에 의하여 액세스될 수 있다. 이러한 디스크립터의 예가 도 17에 도시된다. 디스크립터(4700)는 테이블 내의 섹션들의 총수(LSN+1) 및 버퍼의 리스트(4704)를 포함하는 필드(4702)를 포함하며, 버퍼의 리스트(4704)는 “0”의 SN을 갖는 섹션(4500)을 개시하고 그 다음으로 “1”의 SN을 갖는 섹션(4546)을 그리고 LSN에 해당하는 SN을 갖는 섹션(4542)까지 개시하는 테이블을 형성하는 섹션들(4538, 4542, 4544 및 4546)을 포함한다.Information about how the table is stored in the memory of the receiver / decoder 2020 can be accessed by a call that returns a descriptor of the table. An example of such a descriptor is shown in FIG. 17. Descriptor 4700 includes a field 4702 that includes a total number of sections (LSN + 1) and a list of buffers 4704 in the table, the list of buffers 4704 having a section 4500 having an SN of "0". ) Sections 4546 with a SN of “1” followed by sections 4546, 4542, 4544 and 4546 that form a table starting with section 4452 with SN corresponding to LSN. Include.

한 그룹의 섹션들은 하드웨어 및 소프트웨어 필터링 기준에 일치하는 모든 섹션들을 포함한다. 섹션들은 MPEG 데이터 스트림내에 주기적으로 나타난다.Sections of a group include all sections that match hardware and software filtering criteria. Sections appear periodically in the MPEG data stream.

도 13을 설명하면, 그룹(4548)은 2개의 섹션들; 첫 번째 섹션(SDG)(4550) 및 마지막 섹션(SFG)(4552)으로 범위가 정해지며, 이들 각각은 이들 사이 그룹의 다른 섹션들(SG)(4554)과 함께 개별적인 필터 기준에 해당한다.Referring to FIG. 13, group 4548 includes two sections; It is delimited by the first section (SDG) 4550 and the last section (SFG) 4452, each of which corresponds to individual filter criteria with the other sections (SG) 4454 in the group between them.

그룹내 섹션들의 로딩은 두 개의 다른 로딩 모드를 이용하여 일어날 수도 있다.Loading of sections in a group may occur using two different loading modes.

“팔로잉 모드(following mode)”에서, SDG(4550)의 바로 다음에 오는 소정수의 섹션들(4554)이 로드된다. 각 타입의 섹션(SDG, SG, SFG)에 대하여, 애플리케이션은 TID, 하드웨어 필터, 소프트웨어 필터 및 최대 섹션 길이를 확인한다.In the "following mode", a predetermined number of sections 4454 immediately following the SDG 4550 is loaded. For each type of section (SDG, SG, SFG), the application checks the TID, hardware filter, software filter and maximum section length.

도 14를 설명하면, 장치는 바람직하게는 SDG(4550)만을 다운로딩하고 저장할 수 있도록 하드웨어 및 소프트웨어 필터링 기준을 먼저 적용한다. 이는 SDG(4550)의 로딩 전에, 수신기/디코더(2020)의 RAM 메모리 용량(4022)의 버퍼내에 여분의 SGs(4554)가 로딩되는 것을 막아준다. 검출하자 마자, SDG(4550)는 메모리 위치 또는 버퍼(4556)에 저장된다. 그런 다음, 장치는 한 그룹의 MPEG 데이터 섹션들로부터 바람직한 SGs 및 SFG를 로딩할 수 있도록 하드웨어 및 소프트웨어 필터링 기준을 적용한다.Referring to FIG. 14, the device preferably applies hardware and software filtering criteria first so that only SDG 4550 can be downloaded and stored. This prevents extra SGs 4454 from being loaded into the buffer of the RAM memory capacity 4022 of the receiver / decoder 2020 before loading the SDG 4550. Upon detection, SDG 4550 is stored in a memory location or buffer 4556. The device then applies hardware and software filtering criteria to load desired SGs and SFGs from a group of MPEG data sections.

도 14에서, 1개의 SDG, 7개의 SGs 및 1개의 SFG를 포함하는 한 그룹의 MPEG 섹션들로부터 3개의 SGs(4554)가 MPEG 데이터 스트림으로부터 다운로드될 수 있다. 버퍼(4556)내에 SDG(4550)이 저장된 후, SDG(4550) 이후 전송된 한 그룹의 MPEG 섹션들로부터의 첫 번째 SG(4558)가 버퍼(4560)에 저장된다. 마찬가지로, SDG(4550) 이후에 전송된 한 그룹의 MPEG 섹션들로부터의 두 번째 SG(4562)가 버퍼(4564)에 저장되며, SDG(4550) 이후에 전송된 한 그룹의 MPEG 섹션들로부터의 세 번째 SG(4566)가 버퍼(4568)에 저장된다.In FIG. 14, three SGs 4454 can be downloaded from an MPEG data stream from a group of MPEG sections containing one SDG, seven SGs, and one SFG. After the SDG 4550 is stored in the buffer 4556, the first SG 4558 from a group of MPEG sections transmitted after the SDG 4550 is stored in the buffer 4560. Similarly, a second SG 4652 from a group of MPEG sections transmitted after SDG 4550 is stored in buffer 4564 and three from a group of MPEG sections transmitted after SDG 4550. The first SG 4566 is stored in the buffer 4568.

SGs의 저장은 필요한 수의 섹션들(4554)이 저장되거나 SFG(4552)가 다운로드될 때까지 계속된다. 만일, 다운로드되면, SFG(4552)는 메모리 위치에 저장되지 않는다.Storage of the SGs continues until the required number of sections 4454 are stored or SFG 4452 is downloaded. If downloaded, SFG 4452 is not stored in the memory location.

그룹의 각 섹션이 로드될 때, 장치는 애플리케이션에 이벤트를 통하여 그룹의 섹션이 로드되었음을 알린다. 변형예로서, 또는 부가적으로, 장치는 애플리캐이션에 MPEG 섹션들의 저장의 완료, 또는 애플리케이션에 이벤트를 보냄으로써 SFG(4552)의 다운로딩만을 알릴 수도 있다.When each section of the group is loaded, the device notifies the application that the section of the group has been loaded via an event. As a variant, or in addition, the device may inform the application of the completion of the storage of MPEG sections, or only the downloading of SFG 4452 by sending an event to the application.

“프리시딩 모드(preceding mode)”에서, SFG를 바로 앞서는 소정수의 섹션들이 메모리 위치에 저장된다. 각 타입의 섹션(SDG, SG, SFG)에 대하여, 애플리케이션은 PID, TID, 하드웨어 필터, 소프트웨어 필터 및 최대 섹션 길이를 확인한다.In the "preceding mode", a predetermined number of sections immediately preceding the SFG are stored in the memory location. For each type of section (SDG, SG, SFG), the application checks the PID, TID, hardware filter, software filter, and maximum section length.

이 모드에서의 로딩은 MPEG 섹션들을 저장하기 위하여 원형 버퍼의 이용을 필요로 한다.Loading in this mode requires the use of a circular buffer to store MPEG sections.

도 15를 설명하면, 장치는 바람직하게는 SDG(4570)만을 다운로딩하고 저장할 수 있도록 하드웨어 및 소프트웨어 필터링 기준을 먼저 적용한다. 이는 SDG(4570)의 로딩 전에, 수신기/디코더(2020)의 RAM 메모리 용량(4022) 여분의 SGs(4544)의 로딩을 막아준다. 검출되자 마자, SDG(4550)은 저장되지 않는다. 그런 다음, 이 장치는 MPEG 데이터 섹션들로부터 바람직한 SGs 및 SFG를 다운로딩할 수 있도록 하드웨어 및 소프트웨어 필터링 기준을 적용한다.Referring to FIG. 15, the device preferably applies hardware and software filtering criteria first so that only SDG 4570 can be downloaded and stored. This prevents loading of extra SGs 4544 of RAM memory capacity 4022 of the receiver / decoder 2020 before loading the SDG 4570. As soon as detected, the SDG 4550 is not stored. The device then applies hardware and software filtering criteria to be able to download the desired SGs and SFGs from the MPEG data sections.

도 15에 도시한 예에서, 1개의 SDG, 7개의 SGs 및 1개의 SFG를 포함하는 한 그룹의 MPEG 섹션들로부터 3개의 SGs(4544)가 MPEG 데이터 스트림으로부터 다운로드될 수 있다. SDG(4570)의 다운로딩에 이어서, SDG(4570) 이후에 전송된 한 그룹의 MPEG 섹션들로부터의 첫 번째 SG(4572)가 버퍼(4574)에 저장된다. 마찬가지로, SDG(4550) 이후에 전송된 한 그룹의 MPEG 섹션들로부터의 두 번째 SG(4576)가 버퍼(4578)에 저장되며, SDG(4570) 이후에 전송된 한 그룹의 MPEG 섹션들로부터의 세 번째 SG(4580)가 버퍼(4582)에 저장된다.In the example shown in FIG. 15, three SGs 4544 can be downloaded from an MPEG data stream from a group of MPEG sections containing one SDG, seven SGs, and one SFG. Following the downloading of the SDG 4570, the first SG 4652 from a group of MPEG sections transmitted after the SDG 4570 is stored in the buffer 4474. Similarly, a second SG 4576 from a group of MPEG sections transmitted after SDG 4550 is stored in buffer 4578 and three from a group of MPEG sections transmitted after SDG 4570. The first SG 4580 is stored in the buffer 4458.

SDG(4550) 이후에 전송된 한 그룹의 MPEG 섹션들로부터의 네 번째 SG(4584)가 버퍼(4574), 즉 첫 번째 SG(4572)가 저장된 버퍼에 저장된다. 유사하게, 이후에 전송되는 각 SGs(4586, 4588, 및 4590)가 각각 버퍼(4578, 4582 및 4574)에 저장된다.The fourth SG 4584 from a group of MPEG sections transmitted after the SDG 4550 is stored in the buffer 4646, ie the buffer in which the first SG 4652 is stored. Similarly, each SGs 4586, 4588, and 4590 that are subsequently transmitted are stored in buffers 4578, 4582, and 4574, respectively.

이러한 순환적인 방법에 의한 SGs의 저장은 SFG(4592)가 장치에 의해 검출될 때 까지 계속된다. 이는 SFG가 검출되기 전에 바람직한 수의 SGs가 로드되지 않는 경우에도 마찬가지이다. 검출되자 마자, SFG(4592)는 버퍼에 저장되며, 그룹의 성공적인 다운로딩을 나타내는 이벤트가 애플리케이션에 전달된다.Storage of SGs by this cyclical method continues until the SFG 4652 is detected by the device. This is true even if the desired number of SGs is not loaded before SFG is detected. As soon as detected, SFG 4652 is stored in a buffer and an event is sent to the application indicating successful downloading of the group.

그룹이 수신기/디코더(2020)의 RAM(4022)에 저장되는 방법에 관한 정보는 그룹의 디스크립터를 되돌리는 특정한 콜에 의하여 액세스될 수 있다. 이러한 디스크립터의 예가 도 16에 도시된다. 디스크립터(4600)는 그룹내 섹션들의 수를 포함하는 필드(4602) 및 버퍼 리스트(4604)를 포함하며, 버퍼 리스트(4604)는 SDG 또는 SFG(로딩 모드에 따라) 및 그룹을 로딩 순서대로 형성하는 섹션들(SG)을 포함한다.Information about how the group is stored in RAM 4022 of the receiver / decoder 2020 can be accessed by a particular call that returns the group's descriptor. An example of such a descriptor is shown in FIG. 16. Descriptor 4600 includes a field 4602 and a buffer list 4604 that includes the number of sections in the group, where the buffer list 4604 forms the SDG or SFG (depending on the loading mode) and the group in loading order. Sections SG.

그룹이 로드된 후, 그룹의 다운로딩을 요구할 때 애플리케이션에 의하여 그에 할당된 이름이 유일하게 확인된다.After a group is loaded, the name assigned to it by the application is uniquely identified when requesting a download of the group.

그룹에 섹션을 추가하거나 그룹으로부터 섹션을 삭제하는 것이 가능하다. 섹션은 하나 이상의 그룹에 속할 수도 있다.It is possible to add sections to or remove sections from a group. A section may belong to one or more groups.

애플리케이션이 그룹에 섹션의 추가를 요구할 때, 새로운 섹션을 포함하는 버퍼의 어드레스가 디스크립터(4604)의 끝에 넣어지며, 필드(4602)가 갱신된다. 애플리케이션이 그룹으로부터 섹션의 삭제를 요구할 때, 이 섹션을 포함하는 버퍼의 어드레스가 디스크립터(4600)내에서 삭제되며, 필드(4602)가 갱신된다. 만일 섹션이 그룹 내의 마지막 섹션이 아니라면, 디스크립터는 모든 빈 메모리 공간들을 삭제하기 위하여 재구성한다. 따라서, 모든 섹션들을 삭제함으로써 “빈 그룹”을 갖는 것이 가능해진다.When an application requires the addition of a section to a group, the address of the buffer containing the new section is put at the end of the descriptor 4604, and the field 4602 is updated. When an application requests the deletion of a section from a group, the address of the buffer that contains this section is deleted in descriptor 4600 and field 4602 is updated. If the section is not the last section in the group, the descriptor reconstructs to delete all free memory spaces. Thus, it is possible to have an "empty group" by deleting all sections.

장치들은 유일한 식별자, 예를 들어 LCARD를 식별하는 “LCARD_DEVICE_ID” 및 RCARD 장치를 식별하는 “RCARD_DEVICE_ID”를 가지고 식별된다.The devices are identified with a unique identifier, for example “LCARD_DEVICE_ID” which identifies the LCARD and “RCARD_DEVICE_ID” which identifies the RCARD device.

새로운 장치(4062)가 만들어질 때, 이 장치는 적절한 애플리케이션(4056)을 방송 센터로부터 다운로딩함으로써 존재하는 디코더(2020) 내에 설치될 수 있다. 전형적으로, 1개의 매니저에 의해 처리되는 장치의 최대 수는 256개이다.When a new device 4062 is created, it can be installed in the existing decoder 2020 by downloading the appropriate application 4056 from the broadcast center. Typically, the maximum number of devices handled by one manager is 256.

이러한 다운로딩은 애플리케이션(4056)에 의해 수신기/디코더(2020)에서 수행되는데, 애플리케이션(4056)은 하드웨어 및 소프트웨어 버전을 체크하고, 만일 맞다면, 새로운 장치(4062)를 나타내는 소프트웨어 모듈을 로드하며, (FLASH 메모리내) 펌웨어내에 장치 코드를 설치하기 위하여 툴박스(4058)의 절차를 요구한다. 이는 소프트에어를 정지시키지 않으면서 디코더(2020) 내에서 새로운 기능들을 탄력적이고 확실하게 설치할 수 있게 한다.This downloading is performed at the receiver / decoder 2020 by the application 4056, which checks the hardware and software version, and if yes, loads a software module representing the new device 4082, The procedure of toolbox 4058 is required to install device code in firmware (in FLASH memory). This makes it possible to flexibly and securely install new functions within the decoder 2020 without stopping the software.

본 발명은 상기에서 단지 예로서 설명되었으며, 본 발명의 범위 내에서 세부사항의 변경이 이루어질 수 있음은 자명하다.The invention has been described above by way of example only, and it is obvious that changes in details may be made within the scope of the invention.

상세한 설명에서 기술한 각 특성, (적절한) 청구항 및 도면은 독립적으로 또는 모든 적절한 결합 형태로 제공될 수도 있다.Each feature, (appropriate) claim and drawing described in the detailed description may be provided independently or in any suitable combination.

상기 설명한 바람직한 실시예에서, 본 발명의 어떠한 특성은 컴퓨터 소프트웨어를 이용하여 구현되었다. 하지만, 본 분야의 당업자에게 있어서 이들 모든 특성들이 하드웨어에 의해 구현될 수 있음은 자명할 것이다. 또한, 하드웨어, 캄퓨터 소프트웨어, 및 이러한 것들에 의해 수행되는 기능들은 전기 및 이같은 신호에서 또는 이용하여 수행될 수 있음을 쉽게 이해할 것이다.In the preferred embodiment described above, certain aspects of the invention have been implemented using computer software. However, it will be apparent to one skilled in the art that all these features can be implemented by hardware. In addition, it will be readily understood that hardware, computer software, and the functions performed by these may be performed on or with electricity and such signals.

신호 발생 및 방송(대리인 참조 번호 PC/ASB/19707), 암호화된 방송 신호들의 수신기와 함께 사용하기 위한 스마트카드(대리인 참조 번호 PC/ASB/19708), 방송 및 수신 시스템, 및 이를 위한 조건 액세스 시스템(대리인 참조 번호 PC/ASB/19710), 수신기/디코더를 이용하여 송신기로부터의 컴퓨터 파일을 컴퓨터로 다운로딩(대리인 참조 번호 PC/ASB/19711), 텔레비젼 프로그램 및 다른 데이터의 송신 및 수신(대리인 참조 번호 PC/ASB/19712), 다운로딩 데이터(대리인 참조 번호 PC/ASB/19713), 컴퓨터 메모리 구성(대리인 참조 번호 PC/ASB/19714), 텔레비젼 또는 라디오 제어 시스템 개발(대리인 참조 번호 PC/ASB/19715), 전송된 데이터 스트림으로부터 데이터 섹션들의 추출(대리인 참조 번호 PC/ASB/19716), 액세스 제어 시스템(대리인 참조 번호 PC/ASB/19717), 데이터 처리 시스템(대리인 참조 번호 PC/ASB/19718), 및 방송 및 수신 시스템, 수신기/디코더 및 이를 위한 원격 제어기(대리인 참조 번호 PC/ASB/19720)란 명칭을 가지며 모두 동일한 출원일을 갖는 우리의 동시에 계류중인 출원들에는 참조문헌이 교차한다. 이들 문서의 내용은 참조로서 본원에 인용된다. 애플리케이션들의 리스트는 본 발명을 포함한다.Signal generation and broadcasting (agent reference number PC / ASB / 19707), smart cards for use with receivers of encrypted broadcast signals (agent reference number PC / ASB / 19708), broadcast and reception systems, and conditional access systems therefor (Attorney Ref. No. PC / ASB / 19710), Downloading computer files from the transmitter to the computer using a receiver / decoder (Attorney Ref. No. PC / ASB / 19711), Transmitting and receiving television programs and other data (Attorney Reference) PC / ASB / 19712), downloading data (agent reference number PC / ASB / 19713), computer memory configuration (agent reference number PC / ASB / 19714), television or radio control system development (agent reference number PC / ASB / 19715), extraction of data sections from the transmitted data stream (agent reference number PC / ASB / 19716), access control system (agent reference number PC / ASB / 19717), data processing system (agent reference number) PC / ASB / 19718), and our concurrently pending applications entitled Broadcasting and Receiving Systems, Receivers / Decoders and Remote Controllers for them (agent PC / ASB / 19720), all having the same filing date. The literature crosses. The contents of these documents are incorporated herein by reference. The list of applications includes the present invention.

Claims (19)

전송된 데이터 스트림의 다수의 섹션들 중에서 적어도 하나의 섹션 특성을 갖는 적어도 하나의 섹션을 저장하는 방법을 제공하는 방법에 있어서,A method for storing at least one section having at least one section characteristic among a plurality of sections of a transmitted data stream, the method comprising: 데이터 스트림을 수신하는 단계;Receiving a data stream; 상기 적어도 하나의 섹션 특성에 따라서 상기 데이터 스트림으로부터 상기 하나의 섹션을 필터링하는 단계; 및Filtering the one section from the data stream according to the at least one section characteristic; And 상기 하나의 섹션을 저장하는 단계를 포함하는 것을 특징으로 하는 방법.Storing the one section. 제 1 항에 있어서, 상기 필터링 단계는:The method of claim 1, wherein the filtering step: 필터링 기준 및 이 필터링 기준에 대한 값을 각각 포함하는 적어도 하나의 필터링 특성을 지정하는 단계;Specifying at least one filtering characteristic each including a filtering criterion and a value for the filtering criterion; 각 섹션 특성과 각각의 필터링 특성을 비교하는 단계; 및Comparing each section characteristic with each filtering characteristic; And 각 섹션 특성이 각각의 필터링 특성과 일치할 때 상기 데이터 스트림으로부터 상기 하나의 섹션을 필터링하는 단계를 포함하는 것을 특징으로 하는 방법.Filtering the one section from the data stream when each section characteristic matches each filtering characteristic. 제 1 항 또는 제 2 항에 있어서, 상기 각 섹션은 각각의 메모리 위치에 저장되는 것을 특징으로 하는 방법.3. A method according to claim 1 or 2, wherein each section is stored in a respective memory location. 제 3 항에 있어서, 상기 방법은,The method of claim 3, wherein the method is 데이터 필터링 기준 및 이 데이터 필터링 기준에 대한 값을 각각 포함하는 적어도 하나의 데이터 필터링 특성을 지정하는 단계;Designating at least one data filtering characteristic each including a data filtering criterion and a value for the data filtering criterion; 각각의 저장된 섹션에 저장된 데이터와 각각의 데이터 필터링 특성을 비교하는 단계; 및Comparing each data filtering characteristic with data stored in each stored section; And 상기 저장된 섹션에 저장된 데이터가 상기 각각의 데이터 필터링 특성과 일치하지 않을 때, 상기 저장된 섹션이 상기 메모리에 대체될 수 있도록 하는 단계를 더 포함하는 것을 특징으로 하는 방법.When the data stored in the stored section does not match the respective data filtering characteristic, allowing the stored section to be replaced in the memory. 제 4 항에 있어서, 상기 저장된 섹션에 저장된 상기 데이터가 상기 각각의 데이터 필터링 특성과 일치할 때 섹션 식별 신호를 공급하는 단계를 더 포함하는 것을 특징으로 하는 방법.5. The method of claim 4, further comprising supplying a section identification signal when the data stored in the stored section matches the respective data filtering characteristic. 제 5 항에 있어서, 상기 섹션 식별 신호는 상기 하나의 섹션의 저장 어드레스를 포함하는 것을 특징으로 하는 방법.6. The method of claim 5, wherein the section identification signal comprises a storage address of the one section. 제 3 항 내지 제 6 항중의 어느 한 항에 있어서,The method according to any one of claims 3 to 6, 상기 데이터 스트림 내에서 주기적으로 전송되며 첫 번째 섹션 및 마지막 섹션을 포함하는 한 그룹의 섹션들을 저장하는 방법은:A method of storing a group of sections transmitted periodically within the data stream and comprising a first section and a last section: 상기 첫 번째 섹션을 저장하는 단계; 및Storing the first section; And 상기 마지막 섹션이 다운로드되거나 소정수의 섹션들이 저장될 때까지, 상기 첫 번째 섹션 바로 다음에 연속적으로 전송되는 섹션들을 이어서 다운로딩하는 단계를 포함하며, 각 섹션은 각각의 메모리 위치에 연속적으로 저장되는 것을 특징으로 하는 방법.Subsequently downloading sections that are transmitted immediately after the first section until the last section has been downloaded or a predetermined number of sections are stored, each section being successively stored in a respective memory location. Characterized in that the method. 제 3 항 내지 제 6 항중의 어느 한 항에 있어서,The method according to any one of claims 3 to 6, 상기 데이터 스트림 내에서 주기적으로 전송되며 첫 번째 섹션 및 마지막 섹션을 포함하는 한 그룹의 섹션들을 저장하는 방법은,A method of storing a group of sections transmitted periodically within the data stream and comprising a first section and a last section, 첫 번째 섹션을 다운로딩하는 단계;Downloading the first section; 상기 마지막 섹션이 다운로드될 때까지 메모리 위치에 저장된 섹션들이 이어서 다운로드되는 섹션들에 의해 오버라이트되면서 상기 마지막 섹션이 다운로드되거나 소정수의 섹션들이 저장될 때 까지, 상기 첫 번째 섹션 바로 다음에 연속적으로 전송되는 섹션들을 이어서 다운로딩하는 단계; 및Sections stored in a memory location are subsequently overwritten by the next downloaded sections until the last section is downloaded and subsequently sent immediately after the first section until the last section is downloaded or a certain number of sections are stored. Subsequently downloading the sections; And 상기 메모리에 상기 마지막 섹션을 저장하는 단계를 포함하며, 상기 각 섹션은 각각의 메모리 위치에 연속적으로 저장되는 것을 특징으로 하는 방법.Storing the last section in the memory, wherein each section is successively stored in a respective memory location. 데이터 스트림 내에서 주기적으로 전송되며 첫 번째 섹션 및 마지막 섹션을 포함하는 한 그룹의 섹션들을 저장하는 방법에 있어서,A method of storing a group of sections that is transmitted periodically within a data stream and includes a first section and a last section, 데이터 스트림을 수신하는 단계;Receiving a data stream; 첫 번째 섹션을 다운로딩하고 이를 메모리에 저장하는 단계; 및Downloading the first section and storing it in memory; And 마지막 섹션이 다운로드되거나 소정수의 섹션들이 상기 메모리에 저장될 때까지, 상기 첫 번째 섹션 바로 다음에 연속적으로 전송된 섹션들을 이어서 다운로딩하는 단계를 포함하며, 상기 각 섹션은 각각의 메모리 위치에 연속적으로 저장되는 것을 특징으로 하는 방법.Successively downloading sections transmitted immediately after the first section until the last section is downloaded or a predetermined number of sections are stored in the memory, each section being contiguous at each memory location. Method is characterized in that it is stored as. 데이터 스트림 내에서 주기적으로 전송되며 첫 번째 섹션 및 마지막 섹션을 포함하는 한 그룹의 섹션들을 저장하는 방법에 있어서,A method of storing a group of sections that is transmitted periodically within a data stream and includes a first section and a last section, 첫 번째 섹션을 수신하는 단계;Receiving a first section; 첫 번째 섹션을 처음에 다운로딩하는 단계;Downloading the first section initially; 상기 마지막 섹션이 다운로드될 때까지 메모리 위치내에 저장된 섹션들이 이어서 다운로드되는 섹션들에 의해 오버라이트되면서 상기 마지막 섹션이 다운로드되거나 소정수의 섹션들이 저장될 때 까지, 상기 첫 번째 섹션 바로 다음에 연속적으로 전송되는 섹션들을 이어서 다운로딩하는 단계;및Sections stored in a memory location are then overwritten by subsequently downloaded sections until the last section is downloaded and subsequently sent immediately after the first section until the last section is downloaded or a certain number of sections are stored. Subsequently downloading the sections; and 상기 메모리에 상기 마지막 섹션을 저장하는 단계를 포함하며, 상기 각 섹션은 각각의 메모리 위치에 연속적으로 저장되는 것을 특징으로 하는 방법.Storing the last section in the memory, wherein each section is successively stored in a respective memory location. 첨부된 도면에 관련하여 본원에서 설명된, 실질적으로 전송된 데이터 스트림의 다수의 섹션들 중 적어도 하나를 저장하는 방법.A method of storing at least one of a plurality of sections of a substantially transmitted data stream described herein in connection with the appended drawings. 전송된 데이터 스트림의 다수의 섹션들 중 적어도 하나의 섹션 특성을 가지고 있는 적어도 하나의 섹션을 저장하기 위한 장치에 있어서,An apparatus for storing at least one section having a section characteristic of at least one of a plurality of sections of a transmitted data stream, the apparatus comprising: 데이터 스트림을 수신하기 위한 수단;Means for receiving a data stream; 상기 적어도 하나의 섹션 특성에 따라 상기 데이터 스트림으로부터 상기 하나의 섹션을 필터링하기 위한 수단; 및Means for filtering the one section from the data stream according to the at least one section characteristic; And 상기 하나의 섹션을 저장하기 위한 수단을 포함하는 것을 특징으로 하는 장치.Means for storing said one section. 제 12 항에 있어서, 상기 필터링 수단은:The method of claim 12, wherein the filtering means is: 필터링 기준 및 이 필터링 기준에 대한 값을 각각 포함하는 적어도 하나의 필터링 특성을 지정하기 위한 수단;Means for specifying at least one filtering characteristic each including a filtering criterion and a value for the filtering criterion; 각 하나의 섹션 특성과 각 필터링 특성을 비교하는 단계; 및Comparing each one of the section characteristics with each filtering characteristic; And 상기 각 하나의 섹션 특성이 상기 각 필터링 특성과 일치할 때 상기 데이터 스트림으로부터 상기 하나의 섹션을 필터링하기 위한 수단을 포함하는 것을 특징으로 하는 장치.Means for filtering the one section from the data stream when each one section characteristic matches the respective filtering characteristic. 다수의 상기 섹션들을 다운로딩하기 위한 제 12 항 내지 제 13 항에 있어서,14. A method as claimed in claim 12 for downloading a plurality of said sections, 상기 저장 수단은 각 섹션들을 저장하기 위한 다수의 메모리 위치를 포함하는 것을 특징으로 하는 장치.And said storage means comprises a plurality of memory locations for storing respective sections. 제 14 항에 있어서,The method of claim 14, 데이터 필터링 기준 및 이 데이터 필터링 기준에 대한 값을 각각 포함하는 적어도 하나의 데이터 필터링 특성을 지정하기 위한 수단;Means for specifying at least one data filtering characteristic each including a data filtering criterion and a value for the data filtering criterion; 각각의 저장된 섹션에 저장된 데이터와 각각의 데이터 필터링 특성을 비교하기 위한 수단; 및Means for comparing each data filtering characteristic with data stored in each stored section; And 상기 저장된 섹션에 저장된 데이터가 상기 각각의 데이터 필터링 특성과 일치하지 않을 때, 상기 저장된 섹션이 상기 메모리에 대체될 수 있도록 하기 위한 수단을 더 포함하는 것을 특징으로 하는 장치.Means for enabling said stored section to be replaced in said memory when data stored in said stored section does not match said respective data filtering characteristic. 제 15 항에 있어서, 상기 저장된 섹션에 저장된 상기 데이터가 상기 각각의 데이터 필터링 특성과 일치할 때 섹션 식별 신호를 애플리케이션에 공급하기 위한 수단 더 포함하는 것을 특징으로 하는 장치.16. The apparatus of claim 15, further comprising means for supplying a section identification signal to an application when the data stored in the stored section matches the respective data filtering characteristic. 제 16 항에 있어서, 상기 섹션 식별 신호는 상기 하나의 섹션의 저장 어드레스를 포함하는 것을 특징으로 하는 장치.17. The apparatus of claim 16, wherein the section identification signal comprises a storage address of the one section. 상기 섹션들 외에 비디오 및 오디오 텔레비젼 데이터를 포함하는 MPEG 비트스트림 형태의 상기의 데이터 스트림에 이용하기 위한, 이전의 어느 한 항에 따른 방법 또는 장치.A method or apparatus according to any preceding claim for use in said data stream in the form of an MPEG bitstream comprising video and audio television data in addition to said sections. 첨부된 도면에 관련하여 본원에서 설명되고, 도면에 도시된, 실질적으로 전송된 데이터 데이터 스트림의 다수의 섹션들 중 적어도 하나를 저장하기 위한 장치.An apparatus for storing at least one of a plurality of sections of a substantially transmitted data data stream described herein in connection with the appended drawings.
KR10-1999-7008508A 1997-03-21 1997-04-25 Method and apparatus extracting data sections from a transmitted data stream KR100495779B1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP97400650 1997-03-21
EP97400650.4 1997-03-21
PCT/EP1997/002114 WO1998043415A1 (en) 1997-03-21 1997-04-25 Extracting data sections from a transmitted data stream

Publications (2)

Publication Number Publication Date
KR20000076404A true KR20000076404A (en) 2000-12-26
KR100495779B1 KR100495779B1 (en) 2005-06-17

Family

ID=26070209

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-1999-7008508A KR100495779B1 (en) 1997-03-21 1997-04-25 Method and apparatus extracting data sections from a transmitted data stream

Country Status (17)

Country Link
EP (1) EP0968602A1 (en)
JP (2) JP4376321B2 (en)
KR (1) KR100495779B1 (en)
CN (1) CN1254469A (en)
AU (1) AU742067B2 (en)
BR (1) BR9714600A (en)
CA (1) CA2284018C (en)
HU (1) HUP0002383A2 (en)
IL (1) IL131937A (en)
NO (1) NO334507B1 (en)
NZ (1) NZ500204A (en)
PL (1) PL183917B1 (en)
RU (1) RU2181929C2 (en)
TR (1) TR199902275T2 (en)
UA (1) UA61944C2 (en)
WO (1) WO1998043415A1 (en)
ZA (1) ZA973611B (en)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134554A (en) * 1998-11-10 2000-10-17 Opentv, Inc. System and method for recording receipt of information
US6460086B1 (en) * 1998-12-01 2002-10-01 Sun Microsystems, Inc. Method and apparatus for delivery of a bytecode embedded within a transport stream
KR100587284B1 (en) * 1999-01-14 2006-06-08 엘지전자 주식회사 Method for PSI filtering
FR2794602A1 (en) * 1999-06-02 2000-12-08 Dassault Automatismes DIGITAL TELEVISION RECEIVER / DECODER DEVICE WITH INTERACTIVE READING OF PREVIOUSLY RECORDED TELEVISION PROGRAMS
GB2350980B (en) * 1999-06-08 2003-08-27 Sgs Thomson Microelectronics Device and method for processing a stream of data
GB2352595B (en) * 1999-07-27 2003-10-01 Sgs Thomson Microelectronics Data processing device
BR0013419A (en) * 1999-08-16 2002-07-23 Gen Instrument Corp Process and system for managing multiple versions of an object-code that is downloaded by a top converter terminal on a cable television system
JP2001067803A (en) 1999-08-30 2001-03-16 Matsushita Electric Ind Co Ltd Image-recording/reproducing apparatus
JP4240766B2 (en) * 2000-06-26 2009-03-18 パナソニック株式会社 DATA STORAGE METHOD, RECEIVING DEVICE AND BROADCASTING SYSTEM IMPLEMENTING THE SAME
EP1267579A3 (en) 2001-06-11 2003-03-19 Canal+ Technologies Société Anonyme MPEG table structure
KR100619053B1 (en) * 2003-11-10 2006-08-31 삼성전자주식회사 Information storage medium for subtitle and apparatus therefor
KR20050072255A (en) 2004-01-06 2005-07-11 엘지전자 주식회사 Method for managing and reproducing a subtitle of high density optical disc
KR100782808B1 (en) * 2004-01-13 2007-12-06 삼성전자주식회사 Storage medium recording interactive graphic stream and reproducing apparatus thereof
US7162533B2 (en) 2004-04-30 2007-01-09 Microsoft Corporation Session description message extensions
KR100601689B1 (en) * 2004-06-29 2006-07-14 삼성전자주식회사 Method and apparatus for filtering section data
US20090292761A1 (en) * 2004-12-13 2009-11-26 Koninklijke Philips Electronics, N.V. Bypass dsmcc middleware via section filter mechanism
CN100521676C (en) 2005-04-14 2009-07-29 华为技术有限公司 Method and apparatus for realizing independent staging business software in set-top box
EP1835728A1 (en) * 2006-03-15 2007-09-19 Dibcom Method for data transfer and data recovery
US7962725B2 (en) 2006-05-04 2011-06-14 Qualcomm Incorporated Pre-decoding variable length instructions

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4837620A (en) * 1988-05-12 1989-06-06 Zenith Electronics Corporation Teletext receiver with page up and page down functions
US5563648A (en) * 1994-04-28 1996-10-08 Thomson Consumer Electronics, Inc. Method for controlling execution of an audio video interactive program
US5477263A (en) * 1994-05-26 1995-12-19 Bell Atlantic Network Services, Inc. Method and apparatus for video on demand with fast forward, reverse and channel pause
US5635979A (en) * 1994-05-27 1997-06-03 Bell Atlantic Dynamically programmable digital entertainment terminal using downloaded software to control broadband data operations
JP3474005B2 (en) * 1994-10-13 2003-12-08 沖電気工業株式会社 Video coding method and video decoding method
KR0166935B1 (en) * 1994-11-23 1999-03-20 구자홍 Mpeg2 transport decoder apparatus
DE69637067T2 (en) * 1995-03-15 2008-01-10 Kabushiki Kaisha Toshiba Variable length decoding system
JP3301263B2 (en) * 1995-03-29 2002-07-15 株式会社日立製作所 Data decoding device
DE69631393T2 (en) * 1995-03-29 2004-10-21 Hitachi Ltd Decoder for compressed and multiplexed image and audio data
US5600378A (en) * 1995-05-22 1997-02-04 Scientific-Atlanta, Inc. Logical and composite channel mapping in an MPEG network
US5864358A (en) * 1995-06-26 1999-01-26 Matsushita Electric Industrial Co., Ltd. Method for switching programs in digital broadcasting and digital broadcast receiving apparatus
JPH09182049A (en) * 1995-12-26 1997-07-11 Hitachi Ltd Digital information transmission system and transmitter and receiver therefor
JPH10145755A (en) * 1996-11-06 1998-05-29 Matsushita Electric Ind Co Ltd Data output controller

Also Published As

Publication number Publication date
JP4376321B2 (en) 2009-12-02
UA61944C2 (en) 2003-12-15
IL131937A (en) 2004-06-01
NZ500204A (en) 2001-12-21
ZA973611B (en) 1998-03-23
EP0968602A1 (en) 2000-01-05
HUP0002383A2 (en) 2000-10-28
CA2284018C (en) 2008-06-03
CA2284018A1 (en) 1998-10-01
BR9714600A (en) 2002-09-10
TR199902275T2 (en) 2000-02-21
WO1998043415A1 (en) 1998-10-01
JP2009077451A (en) 2009-04-09
CN1254469A (en) 2000-05-24
AU742067B2 (en) 2001-12-13
AU2770897A (en) 1998-10-20
RU2181929C2 (en) 2002-04-27
PL183917B1 (en) 2002-08-30
NO334507B1 (en) 2014-03-24
IL131937A0 (en) 2001-03-19
PL335776A1 (en) 2000-05-22
JP2001518256A (en) 2001-10-09
NO994538D0 (en) 1999-09-17
NO994538L (en) 1999-11-22
KR100495779B1 (en) 2005-06-17

Similar Documents

Publication Publication Date Title
KR100495779B1 (en) Method and apparatus extracting data sections from a transmitted data stream
US6938166B1 (en) Method of downloading of data to an MPEG receiver/decoder and MPEG transmission system for implementing the same
JP2001518256A5 (en)
KR100566419B1 (en) Decoder for a digital audiovisual transmission system
EP1133186B1 (en) Digital broadcast receiver and broadcasting method
EP2369851A2 (en) Program information broadcasting system, broadcasting device, and receiving terminal unit
KR20010030926A (en) Downloading data
US20060179465A1 (en) Handling feature availability in a broadcast
US20070174356A1 (en) Program execution device, program execution method, and program
AU2005232103C1 (en) Program execution device
AU740740B2 (en) Data processing system
AU742213B2 (en) Access control system
KR20000076405A (en) Acess control system
MXPA99008546A (en) Extracting data sections from a transmitted data stream
AU776683B2 (en) Method of downloading of data to an MPEG receiver/decoder and MPEG transmission system for implementing the same
CZ331699A3 (en) Selection method of data sections from transmitted data flow and apparatus for making the same
MXPA99008545A (en) Access control system
CZ331799A3 (en) Access control system
MXPA00007588A (en) Configuring method and device

Legal Events

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

Payment date: 20130520

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20140516

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20150518

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20160509

Year of fee payment: 12

EXPY Expiration of term