KR20000076401A - Downloading a computer file from a transmitter via a receiver/decoder to a computer - Google Patents

Downloading a computer file from a transmitter via a receiver/decoder to a computer Download PDF

Info

Publication number
KR20000076401A
KR20000076401A KR1019997008504A KR19997008504A KR20000076401A KR 20000076401 A KR20000076401 A KR 20000076401A KR 1019997008504 A KR1019997008504 A KR 1019997008504A KR 19997008504 A KR19997008504 A KR 19997008504A KR 20000076401 A KR20000076401 A KR 20000076401A
Authority
KR
South Korea
Prior art keywords
blocks
block
computer
data
receiver
Prior art date
Application number
KR1019997008504A
Other languages
Korean (ko)
Inventor
이우젠 메일라우드
진-베르나드 제라드 마우리스 뷰크
Original Assignee
삐에르 레꾸르
까날 (쏘시에떼 아노님)
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삐에르 레꾸르, 까날 (쏘시에떼 아노님) filed Critical 삐에르 레꾸르
Publication of KR20000076401A publication Critical patent/KR20000076401A/en

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Discrete Mathematics (AREA)
  • Computer Graphics (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

파일, 또는 그 일부분은 일련의 R 데이터 그룹들 내로 분할되며, 각 그룹은 련의 C 데이터 블록들로 하위 분할된다. C 여분의 블록 그룹이 발생되며, 각 여분의 블록은 이들 데이터 블록들의 비트와이즈 배타적 OR 또는 NOR에 의해 R 그룹내의 데이터 블록들 각각에 관련된다. 각각의 데이터 블록들의 그룹 및 여분의 블록들의 그룹은 송신기로부터 반복적으로 전송된다. 수신기/디코더에서, 전송된 블록들 중 적어도 몇 개가 수신되며 컴퓨터로 공급된다. 컴퓨터는 수신된 여분의 블록들 중 적어도 하나에 대하여 여분의 블록 및 각 데이터 블록중 하나를 제외한 모든 것이 수신되었는 지를 결정하는 데에 이용되며, 만일 그렇다면 상기 하나의 데이터 블록을 재생시킨다. 유실된 데이터 블록들은 재전송을 기다릴 필요없이 재생될 수 있다.The file, or portion thereof, is divided into a series of R data groups, each group being subdivided into a series of C data blocks. A C extra block group is generated, with each extra block associated with each of the data blocks in the R group by a bitwise exclusive OR or NOR of these data blocks. Each group of data blocks and a group of extra blocks are repeatedly sent from the transmitter. At the receiver / decoder, at least some of the transmitted blocks are received and fed to a computer. The computer is used to determine whether at least one of the received spare blocks has received everything except the spare block and one of each data block, and if so reproduces the one data block. Lost data blocks can be played without having to wait for retransmission.

Description

수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일의 다운로딩{DOWNLOADING A COMPUTER FILE FROM A TRANSMITTER VIA A RECEIVER/DECODER TO A COMPUTER}DOWNLOADING A COMPUTER FILE FROM A TRANSMITTER VIA A RECEIVER / DECODER TO A COMPUTER}

한정하려는 것은 아니지만 특히 위성 텔레비젼 시스템에서, 텔레비젼 신호를 주로 방송하고자 하는 디지털 전송 시스템의 출현은 상기 시스템을 다른 목적에 이용할 수 있는 가능성을 주었다. 이들 중 하나가 컴퓨터 파일 또는 소프트웨어를 최종 사용자에게 다운로딩할 수 있게 하는 것이다.Although not intended to be limiting, in particular in satellite television systems, the emergence of digital transmission systems that primarily intend to broadcast television signals has given the possibility of using the systems for other purposes. One of them is to enable downloading of computer files or software to end users.

상기의 전송 시스템에서 데이터 에러는 그리 빈번하게 일어나지 않는다. 이들은 종종 비디오 또는 오디오 데이터에서의 에러의 경우 보간 기술(interpolation technique)을 이용하여 그럴듯하게 보여질 수도 있는 반면, 컴퓨터 파일의 단순한 단일 비트의 에러는 그 파일을 쓸모없게 할 수도 있다.Data errors in the transmission system do not occur very frequently. These may often be plausible using interpolation techniques in the case of errors in video or audio data, while a simple single bit of error in a computer file may render the file useless.

본 발명은:The present invention is:

(가령 디지털 위성 텔레비젼 셋 탑 박스와 같은) 수신기/디코더를 통하여 (가령 위성 텔레비젼 업링크 송신기와 같은) 송신기로부터 (가령 PC 또는 워크스테이션과 같은) 컴퓨터로 컴퓨터 파일을 다운로딩하는 방법; Downloading computer files from a transmitter (such as a satellite television uplink transmitter) to a computer (such as a PC or workstation) via a receiver / decoder (such as a digital satellite television set top box);

상기 방법의 일부분을 실행하는 데에 사용되는 컴퓨터; A computer used to carry out a portion of the method;

상기 컴퓨터의 처리 수단을 프로그램하는 컴퓨터 프로그램을 갖는 (가령 디스켓 또는 CD-ROM과 같은) 녹음 매체; A recording medium (such as a diskette or CD-ROM) having a computer program for programming the processing means of the computer;

MPEG 전송 시스템; 및 MPEG transport system; And

MPEG 비디오 및/또는 오디오 데이터의 테이블, 및 컴퓨터 파일 데이터를 수신하도록 배열되는 수신기/디코더에 관한 것이다. A receiver / decoder is arranged to receive a table of MPEG video and / or audio data and computer file data.

도 1은 디지털 텔레비젼 시스템의 전체 구성을 도시한다.1 shows an overall configuration of a digital television system.

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

도 3은 도 1 및 도 2 시스템의 일부분을 구성하는 수신기/디코더 인터페이스의 개략도이다.3 is a schematic diagram of a receiver / decoder interface that forms part of the FIGS. 1 and 2 system.

도 4는 디지털 텔레비젼 시스템에서 이용되는 원격 제어기의 개략도이다.4 is a schematic diagram of a remote controller used in a digital television system.

도 5는 다운로드되는 파일을 형성하는 블록들의 배열을 도시한다.5 shows an arrangement of blocks forming a file to be downloaded.

도 6은 파일이 다운로드되는 동안의 블록의 열을 도시한다.6 shows a row of blocks while the file is being downloaded.

도 7은 파일 다운로드 동작 동안 수신기/디코더의 기능적인 블록도이다.7 is a functional block diagram of a receiver / decoder during a file download operation.

도 8 내지 도 12는 파일 다운로드 동작 동안 수신기/디코더에서 일어나는 과정을 도시한 흐름도이다.8 through 12 are flowcharts illustrating processes occurring in a receiver / decoder during a file download operation.

도 13은 다운로드되는 파일을 형성하는 블록들의 다른 배열을 도시한다.13 shows another arrangement of blocks forming a file to be downloaded.

도 14는 도 13에 도시된 블록들의 첫 번째 매트릭스를 상세하게 도시한다.14 details the first matrix of blocks shown in FIG.

도 15는 도 13에 도시된 블록들의 일반화된 매트릭스를 도시한다.FIG. 15 shows a generalized matrix of blocks shown in FIG. 13.

도 16은 다운로딩하기 위한 파일을 준비하는 동안 텔레비젼 시스템 내의 앨플리케이션 및 데이터 서버에서 일어나는 과정을 도시한 흐름도이다.FIG. 16 is a flow chart illustrating the process taking place in an application and data server in a television system while preparing a file for download.

도 17은 파일 다운로드 동작 동안 컴퓨터에서 일어나는 과정을 도시한 흐름도이다.17 is a flowchart illustrating a process occurring in a computer during a file download operation.

본 발명의 제 1 양태는 특히, 수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일을 다운로딩하는 방법에 관한 것으로, 이 방법은:A first aspect of the invention relates in particular to a method of downloading a computer file from a transmitter to a computer via a receiver / decoder, which comprises:

파일을 데이터 블록들로 분할하는 단계;Dividing the file into data blocks;

송신기로부터 블록들을 송신하는 단계;Transmitting blocks from a transmitter;

수신기/디코더에서 송신된 블록들을 수신하는 단계; 및Receiving blocks transmitted at a receiver / decoder; And

수신기/디코더로부터의 수신된 블록들을 컴퓨터에 공급하는 단계를 포함한다. 블록들은 전형적으로 이들이 유효성 테스트를 받을 수 있도록 CRC 코드를 포함하며, 블록들의 전송은 전형적으로, 만일 첫 번째 전송될 때에 블록이 정확하게 수신되지 않는 다면, 또는 전혀 수신되지 않는 다면, 두번 째 또는 그 이후에 전송될 때에 수신될 수 있도록 반복될 것이다. 이러한 구성의 문제점은, 만일 하나 또는 그 이상의 블록들이 유효하게 수신되지 않는 경우, 파일을 수신하기 위해서는 시간이 부과된다는 것이다. 극단적으로, 만일 마지막 블록만이 유효하게 수신된다면, 그 파일에 대한 총 다운로드 시간은 거의 두배가 될 것이다. 이러한 구성의 문제점은, 만일 블록들이 전송되는 순서되로 다운로드되지 않는 다면, 예를 들어 수신기/디코더로부터 컴퓨터로의 다운로드 속도가 송신기로부터 수신기/디코더로의 다운로드 속도 이하이기 때문에, 마지막 몇 개 블록들의 대기 시간은 비교적 클 수도 있다. 극단적으로, 마지막 블록에 대한 대기 시간은, 모든 블록들이 유효하게 수신됨에도 불구하고, 완전한 블록들의 세트를 전송하는 데에 걸리는 시간 만큼 클 것이다.Supplying the received blocks from the receiver / decoder to the computer. Blocks typically contain a CRC code so that they can be tested for validity, and the transmission of the blocks is typically second or later if the block is not received correctly at the first transmission, or if it is not received at all. It will be repeated so that it can be received when sent to. The problem with this configuration is that if one or more blocks are not validly received, it takes time to receive the file. Extremely, if only the last block is validly received, the total download time for that file will almost double. The problem with this configuration is that if the blocks are not downloaded in the order in which they are sent, for example, the download rate from the receiver / decoder to the computer is below the download rate from the transmitter to the receiver / decoder. The waiting time may be relatively large. Extremely, the wait time for the last block will be as large as the time it takes to transmit the complete set of blocks, even though all blocks are validly received.

본 발명의 제 1 양태에 따라, 수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일을 다운로딩하는 방법이 제공되며, 이 방법은:According to a first aspect of the invention, a method is provided for downloading a computer file from a transmitter to a computer via a receiver / decoder, the method comprising:

파일, 또는 그 일부분을 일련의 R 데이터 그룹으로 분할하고, 각 그룹을 일련의 C 데이터 그룹으로 분할하는 단계;Dividing the file, or a portion thereof, into a series of R data groups, and dividing each group into a series of C data groups;

C 여분 블록들의 그룹을 발생시키는 단계;Generating a group of C spare blocks;

각 데이터 블록의 그룹들 및 송신기로부터의 여분의 블록들을 송신하는 단계;Transmitting extra blocks from each transmitter and groups of each data block;

수신기/디코더에서 송신된 블록들 중 적어도 얼마를 수신하는 단계;Receiving at least some of the blocks transmitted at the receiver / decoder;

수신기/디코더로부터의 수신된 블록들을 컴퓨터에 공급하는 단계, 및Supplying the received blocks from the receiver / decoder to the computer, and

여분의 블록 및 그의 각각의 데이터 블록들 중 하나를 제외한 모든 것들이 수신되었는 지를 수신된 여분의 블록들 중 적어도 하나에 대하여 컴퓨터로 결정하고, 만일 그렇다면 여분의 블록 및 각 수신된 데이터 블록들에 대하여 비트와이즈 배타적 OR 또는 NOR 연산을 수행함으로써 상기 하나의 데이터 블록을 재생시키는 단계를 포함하며, 상기 각 여분 블록은 이들 데이터 블록들을 비트와이즈(bitwise) 배타적 OR 또는 NOR 시킴으로써 R 그룹내의 데이터 블록들 각각에 관련된다.Determine with the computer at least one of the received spare blocks whether all but one of the spare block and one of its respective data blocks has been received, and if so the bits for the spare block and each received data block Regenerating the one data block by performing a Wise Exclusive OR or NOR operation, wherein each redundant block is associated with each of the data blocks in the R group by bitwise exclusive OR or NOR these data blocks. do.

의심을 피하기 위하여, 다수의 데이터 블록 수단에 대한 비트와이즈 OR 연산이란 것은, 블록들 중 첫 번째 것들의 각 비트가 블록들 중 두 번째 것들의 각 비트와 XOR되며, 그리고 그 결과는 블록들 중 세 번째 것들의 각 비트와 XOR되며, 이는 블록들중 마지막 것들까지 계속된다. 단순함을 위하여, 첫 번째 블록의 첫 번째 비트는 두 번째 블록의 첫 번째 비트와 XOR되며, 이 결과는 세 번째 블록의 첫 번째 비트와 XOR되는 등, 이러한 과정을 거쳐서 첫 번째 비트의 결과를 산출하게 되며, 두 번째 비트, 세 번째 비트 및 나머지의 경우도 이와 유사하다. 그럼에도 불구하고, XOR 연산에 블록들 비트의 다른 소정의 순열을 이용하는 것이 가능하다. XOR보다는 배타적 NOR 연산이 이용되는 경우도 유사하게 설명된다.To avoid doubt, a bitwise OR operation on multiple data block means is that each bit of the first of the blocks is XORed with each bit of the second of the blocks, and the result is three of the blocks. Each bit of the first one is XORed, which continues until the last of the blocks. For simplicity, the first bit of the first block is XORed with the first bit of the second block, and the result is XORed with the first bit of the third block. The second bit, the third bit, and the rest are similar. Nevertheless, it is possible to use another predetermined permutation of blocks of bits for the XOR operation. The case where an exclusive NOR operation is used rather than XOR is similarly described.

본 발명의 제 1 양태는, 특히 파일 다운로딩 동작의 목적에 관련하여, 데이터 블록이 아직 수신되지 않았을지라도, 전송될 그리고 유효하게 수신될 남아있는 데이터 블록들을 기다릴 필요없이, 수신된 각 여분의 블록 및 각 데이터 블록들로부터 블록을 재생시키는 것이 가능해질 수도 있다는 장점을 제공한다. 특정한 블록의 전송 및 수신에 문제가 있다면, 동일한 열의 C 블록들에서 다음 블록의 전송 및 수신에 관련된 문제가 또한 비교적 높은 가능성으로 있을 것이다. 그러나, C 값을 적절하게 선택함으로써, 다음 열의 C 블록들에서 해당하는 블록의 전송 및 수신에 관련된 문제가 또한 있을 수 있는 가능성이 비교적 작아진다. 이러한 여분의 블록들의 추가는 모든 블록들을 100/R 만큼 전송하는 데에 필요한 시간을 증가시킬 것이다. 그러나, R의 값을 적절하게 선택함으로써, 본 발명의 본 양태에 의해 제공되는 이익들은 이러한 단점들을 극복할 수 있게 한다. 전형적으로, C 및 R의 값은 각각 50 및 10으로 선택될 것이다.The first aspect of the invention is that each extra block received, without having to wait for the remaining data blocks to be transmitted and validly received, even if the data block has not yet been received, especially with respect to the purpose of the file downloading operation. And reproducing the block from the respective data blocks. If there is a problem with the transmission and reception of a particular block, the problem with the transmission and reception of the next block in C blocks of the same column will also be of relatively high probability. However, by appropriately selecting the C value, the possibility that there may also be a problem relating to the transmission and reception of the corresponding block in the C blocks of the next column is relatively small. The addition of these extra blocks will increase the time required to transfer all blocks by 100 / R. However, by appropriately selecting the value of R, the benefits provided by this aspect of the invention make it possible to overcome these disadvantages. Typically, the values of C and R will be chosen to be 50 and 10, respectively.

결정 및 재생 단계는, 특히 파일 다운로딩 동작의 목적에 관련하여, 수신된 여분의 블록들중 단지 얼마에 대해서만 수행될 수도 있다. 그러나, 결정 및 재생 단계는 바람직하게는, 각 데이터 블록들중 하나를 제외한 모든 것이 수신되는 수신된 여분의 블록들 각각에 대하여 수행된다. 후자의 경우에서, 본 방법은 또한, 언제 블록들이 남아있는 모든 데이터 블록들이 재생될 수 있도록 수신되며, 이후 파일의 다른 블록 및 그의 상기 부분을 수신하는 것을 중지하는 지를 결정하는 단계를 더 포함할 수도 있다. 따라서, 재생 단계는 모든 필요한 블록들이 수신된 후에 이루어질 수 있다.The determining and playing step may be performed for only some of the extra blocks received, especially with respect to the purpose of the file downloading operation. However, the determining and reproducing step is preferably performed for each of the received spare blocks where all but one of the respective data blocks is received. In the latter case, the method may further comprise the step of determining when all data blocks in which the blocks remain are to be reproduced, and then stopping receiving the other block and the portion thereof of the file. have. Thus, the playback step can be done after all the necessary blocks have been received.

R 및 C의 숫자 값은 모든 파일 다운로딩 동작에 대하여 고정된다. 그러나, 유연성을 위하여, 본 방법은 바람직하게는 송신기로부터 R 및 C의 숫자 값을 나타내는 데이터를 전송하는 단계, 수신기에서 R 및 C를 수신하는 단계, 및 R 및 C를 컴퓨터에 공급하는 단계를 더 포함하며; 상기 컴퓨터는 각각의 여분의 블록들이 어떤 데이터 블록들과 관련되는 지를 결정하는 데에, 공급된 R 및 C를 사용한다.The numeric values of R and C are fixed for all file downloading operations. However, for flexibility, the method preferably further comprises transmitting data indicative of the numerical values of R and C from the transmitter, receiving R and C at the receiver, and feeding R and C to the computer. Includes; The computer uses the supplied R and C to determine which data blocks each extra block is associated with.

블록들은 바람직하게는 C 여분의 블록들의 그룹내의 여분의 블록들 중 (i=1 부터 C에 대하여) i번째 것이 C 데이터 블록들의 각 R 그룹들에서의 i번째 데이터 블록에 관련되도록 배열된다. 그러나, 다른 관계가 또한 가능하다.The blocks are preferably arranged such that the i th of the extra blocks in the group of C extra blocks (for i = 1 to C) are associated with the i th data block in each R group of C data blocks. However, other relationships are also possible.

본 발명의 제 2 양태에 따르면, 본 발명의 제 1 양태의 방법의 일부를 수행하는 데에 이용되는 컴퓨터가 제공되며, 이 컴퓨터는:According to a second aspect of the invention, there is provided a computer used to carry out part of the method of the first aspect of the invention, the computer comprising:

수신기/디코더로부터 블록들을 수신하기 위한 수단;Means for receiving blocks from a receiver / decoder;

수신된 블록들을 처리하기 위한 수단; 및Means for processing the received blocks; And

수신된 데이터 블록들 및 상기의 모든 재생된 데이터 블록을 저장하기 위한 수단을 포함하며,Means for storing the received data blocks and all said reproduced data blocks,

상기 처리 수단은 여분의 블록 및 그의 각각의 데이터 블록들 중 하나를 제외한 모든 것들이 수신되었는 지를 수신된 여분의 블록들 중 적어도 하나에 대하여 결정하고, 만일 그렇다면 여분의 블록 및 각 수신된 데이터 블록들에 대하여 비트와이즈 배타적 OR 또는 NOR 연산을 수행함으로써 상기 하나의 데이터 블록을 재생시키도록 프로그램된다.The processing means determines for at least one of the received spare blocks whether all but one of the spare block and one of its respective data blocks has been received, and if so, to the spare block and each received data block. It is programmed to replay said one data block by performing a bitwise exclusive OR or NOR operation on it.

바람직하게는, 처리 수단은 각 데이터 블록들 중 하나를 제외한 모든 것이 수신된 각각의 수신된 여분의 블록들에 대하여 상기의 결정 및 재생이 수행되도록 프로그램된다. 이 경우, 처리 수단은 바람직하게는, 언제 블록들이 남아있는 모든 데이터 블록들이 재생될 수 있도록 수신되며, 이후 파일의 다른 블록 및 그의 상기 부분을 수신하는 것을 중지하는 지를 결정하도록 프로그램된다.Preferably, the processing means is programmed such that the above determination and reproduction is performed on each received spare block in which all but one of the respective data blocks has been received. In this case, the processing means is preferably programmed to determine when all the data blocks in which the blocks remain are to be reproduced, and then stop receiving other blocks of the file and their portions thereof.

수신 수단은 바람직하게는 R 및 C의 숫자 값을 나타내는 데이터를 수신하도록 동작가능하며, 처리 수단은 각각의 여분의 데이터 블록들이 어떠한 데이터 블록들에 관련되는 지를 결정하는 데에 R 및 C를 사용하도록 프로그램된다.The receiving means is preferably operable to receive data indicative of the numerical values of R and C, and the processing means to use R and C to determine which data blocks each extra data block relates to. Is programmed.

바람직하게는, 처리 수단은 컴퓨터 파일 또는 그의 부분을 재구성하기 위하여 수신된 데이터 블록들 및 상기의 모든 재생된 데이터 블록들과 함께 링크되도록 프로그램되며, 저장 수단은 재구성된 파일 또는 그의 부분을 저장하도록 동작한다.Preferably, the processing means is programmed to be linked with the received data blocks and all the reproduced data blocks above to reconstruct the computer file or portion thereof, and the storage means is operative to store the reconstructed file or portion thereof. do.

본 발명의 제 3 양태에 따르면, 상기 설명한 바와 같이 동작하도록 본 발명의 제 2 양태에 따른 컴퓨터의 처리 수단을 프로그램하기 위한 컴퓨터 프로그램을 갖는 녹음 매체가 구비된다.According to a third aspect of the present invention, there is provided a recording medium having a computer program for programming the processing means of the computer according to the second aspect of the present invention to operate as described above.

본 발명의 제 4 양태에 따라,According to a fourth aspect of the present invention,

수신기/디코더로 다운로드될 파일 또는 그 일부분을 일련의 R 데이터 그룹으로 분할하고, 각 그룹들을 일면의 C 데이터 블록들로 하위분할하기 위한 수단;Means for dividing the file or portion thereof to be downloaded to the receiver / decoder into a series of R data groups, and subdividing each group into one side C data blocks;

C 여분의 블록들의 그룹을 발생시키기 위한 수단; 및C means for generating a group of extra blocks; And

각 데이터 블록들의 그룹 및 여분의 블록들의 그룹을 전송하기 위한 수단을 포함하며, 상기 각 여분의 블록은 이들 데이터 블록들을 비트와이즈 배타적 OR 또는 NOR 시킴으로써 R 그룹내의 데이터 블록들 각각에 관련되는 MPEG 전송 시스템이 제공된다.Means for transmitting each group of data blocks and a group of extra blocks, each extra block being associated with each of the data blocks in the R group by bitwise exclusive OR or NOR these data blocks. This is provided.

본 발명의 제 5 양태는 또한 수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일을 다운로딩하는 방법에 특히 더 관련된 것으로, 이 방법은:A fifth aspect of the invention is further particularly relevant to a method of downloading a computer file from a transmitter to a computer via a receiver / decoder, which:

파일을 데이터 블록들로 분할하는 단계;Dividing the file into data blocks;

송신기로부터 블록들을 반복적으로 송신하는 단계;Repeatedly transmitting blocks from a transmitter;

수신기/디코더에서 전송된 블록들을 수신하는 단계; 및Receiving blocks transmitted at a receiver / decoder; And

수신기/디코더로부터 수신된 블록들을 컴퓨터에 공급하는 단계를 포함한다.Supplying the blocks received from the receiver / decoder to the computer.

데이터 블록들은 고정된 데이터 속도로 송신기로부터 수신기/디코더로 송신된다. 수신기/디코더가 다른 용량을 갖는 컴퓨터에 사용될 수 있도록, 그리고 이들 용량을 이용하기 위하여, 수신기/디코더는, 가령 1Mbit/s의 전형적인 데이터 속도를 갖는 IEEE 1284 ECP-모드, 400kbits/s의 전형적인 데이터 속도를 갖는 IEEE 1284 병렬 바이트-모드, 150 내지 200kbits/s의 전형적인 데이터 속도를 갖는 IEEE 1284 병렬 니블-모드, 및 아마도 115kbit/s의 최대 데이터 속도를 가지며 전형적으로는 실질적으로 이보다 낮은 데이터 속도를 갖는 RS-232 직렬 모드와 같은, 다른 데이터 속도를 갖는 다양한 모드에서 블록들을 컴퓨터로 다운로드시킬 수 있어야 한다.Data blocks are transmitted from the transmitter to the receiver / decoder at a fixed data rate. In order to allow the receiver / decoder to be used in computers with different capacities, and to utilize these capacities, the receiver / decoder has a typical data rate of 400kbits / s, for example IEEE 1284 ECP-mode with a typical data rate of 1 Mbit / s. IEEE 1284 parallel byte-mode with an IEEE 1284 parallel nibble-mode with a typical data rate of 150 to 200 kbits / s, and an RS with a maximum data rate of perhaps 115 kbit / s and typically substantially lower than this. It should be possible to download blocks to the computer in various modes with different data rates, such as -232 serial mode.

수신기/디코더 내로의 데이터 속도가 수신기/디코더로 부터의 데이터 속도보다 빠를 때, 단계는 모든 데이터 블록들이 수신되고 컴퓨터로 다운로드되는 것을 보장할 수 있어야 한다. 이는 완전한 컴퓨터 파일을 저장하기에 충분히 큰 버퍼를 수신기/디코더내에 제공함으로써 이루어질 수 있다. 그러나, 이는 값이 비싸다. 또한, 올림수 정수 X를 제공하기 위하여 수신기/디코더로 기대되는 데이터 속도로 분할되는, 수신기/디코더로부터 컴퓨터로의 최소 데이터 속도가 측정될 수 있으며, N/X 블록들이 한 상에 수신될 수 있도록 수신된 블록들의 모든 X내의 한 개가 컴퓨터로 다운로드될 수 있으며, 이후 상기 한 상은 모든 N 블록들을 다운로드하기 위하여 X번 반복될 수 있다. 그러나, 효율을 위하여, 이는 정확하게 측정되는 컴퓨터로의 데이터 속도에 의존하며, 이는 데이터 속도가 변할 수 있기 때문에 불가능하다. 또한, 만일 특정한 데이터 블록이 유실된다면 이 방법에 심각한 문제가 발생할 것이다. 본 발명의 제 5 양태는 이들 문제들의 해결책을 찾는 것에 관련된 것이다.When the data rate into the receiver / decoder is faster than the data rate from the receiver / decoder, the step should be able to ensure that all data blocks are received and downloaded to the computer. This can be done by providing a buffer in the receiver / decoder that is large enough to store the complete computer file. However, this is expensive. In addition, the minimum data rate from the receiver / decoder to the computer, which is divided by the data rate expected by the receiver / decoder to provide a rounding integer X, can be measured, so that N / X blocks can be received on one phase. One in every X of the received blocks can be downloaded to the computer, after which the phase can be repeated X times to download all N blocks. However, for efficiency, this depends on the data rate to the computer being accurately measured, which is not possible because the data rate can vary. In addition, if a particular data block is lost, serious problems with this method will arise. A fifth aspect of the present invention relates to finding a solution to these problems.

본 발명의 제 5 양태에 따라, 수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일을 다운로딩하는 방법이 제공되며, 이 방법은:According to a fifth aspect of the invention, a method is provided for downloading a computer file from a transmitter to a computer via a receiver / decoder, the method comprising:

파일을 블록들의 수(N)로 분할하는 단계;Dividing the file into the number N of blocks;

그 블록의 ID를 각각 가지고 송신기로부터 파일의 블록들을 반복적으로 전송하는 단계;Repeatedly transmitting blocks of a file from a transmitter with respective IDs of the blocks;

수신기/디코더에서, 각 블록에 한 번씩 초기에 리셋된 다수의 N 플래그를 제공하는 단계; 및At the receiver / decoder, providing a plurality of N flags that were initially reset once for each block; And

블록들 중 현재 전송된 하나를 수신하는 단계, 그 블록에 대한 플래그가 세트되었는 지를 결정하고, 만일 그렇지 않다면 수신기로부터 컴퓨터로 그 블록을 공급하며, 모든 플래그들이 세트될 때 까지 그 블록에 대한 플래그를 셋팅하는 단계를 주기적으로 수행하는 단계를 포함한다.Receiving the currently transmitted one of the blocks, determining if a flag has been set for the block, if not, feeding the block from the receiver to the computer, and setting the flag for that block until all flags have been set; Periodically performing the setting step.

따라서, 블록들이 어떤 순서로 수신기/디코더에 의해 수신되는 지는 문제가 되지 않는 다는 것을 알 수 있을 것이다. 수신기/디코더는 블록이 필요한 지를 결정할 수 있으며, 만일 그렇다면 컴퓨터에 그 블록을 다운로드시킬 수 있다. 만일 수신기/디코더가 블록들이 수신기/디코더로 다운로드되는 대로 빨리 컴퓨터로 그 블록들을 다운로드시킬 수 있다면, 모든 것이 다 그런 것은 아니지만(if not all), 대부분의 블록들은 순서대로 연속적으로 다운로드될 것이다. 그러나, 만일 수신기/디코더가 블록들이 수신기/디코더로 다운로드되는 대로 빨리 블록들을 컴퓨터로 다운로드시킬 수 없다면, 예를 들어 단지 절반의 속도로 다운로드된다면, 일반적으로 스피킹 교번 블록들(speaking alternate blocks)이 한 위상 동안 다운로드될 것이며, 그 다음에 남아있는 블록들이 이후의 위상 동안 다운로드될 것이다. 만일 수신기/디코더로의 다운로드 속도와 수신기/디코더로부터의 다운로드 속도 사이의 비율이 달라진다면, 상기 설명한 배열은 블록의 인터리빙을 자동으로 조정할 것이다.Thus, it will be appreciated that it does not matter what order the blocks are received by the receiver / decoder. The receiver / decoder can determine if a block is needed and, if so, download the block to a computer. If the receiver / decoder can download the blocks to the computer as soon as the blocks are downloaded to the receiver / decoder, if not all, most blocks will be downloaded in sequence. However, if the receiver / decoder cannot download the blocks to the computer as soon as the blocks are downloaded to the receiver / decoder, for example at only half the speed, then speaking alternate blocks generally It will be downloaded during the phase, and then the remaining blocks will be downloaded during the later phase. If the ratio between the download speed to the receiver / decoder and the download speed from the receiver / decoder is different, the above described arrangement will automatically adjust the interleaving of the blocks.

바람직하게는, 각 공급 단계에 의하여, 컴퓨터는 수신기/디코더로 공급된 블록의 수신 승인(receipt acknowledgement)을 보내도록 배열되며, 각 블록의 셋팅 단계는 그 블록에 대한 수신 승인에 응답하여 수행된다. 따라서, 만일 블록이 컴퓨터에 의하여 적당하게 승인되지 않는 다면, 수신기/디코더는 다음의 유효한 기회에 그 블록을 다시 다운로드한다.Preferably, by each supply step, the computer is arranged to send a receive acknowledgment of the block supplied to the receiver / decoder, and the setting step of each block is performed in response to the receive acknowledgment for that block. Thus, if the block is not properly approved by the computer, the receiver / decoder downloads the block again at the next valid opportunity.

이 방법은 또한 플래그를 리셋하는 단계없이 이 방법을 반복하는 단계를 포함한다. 따라서, 만일, 블록들의 수신시 방해가 있다면, 다운로딩 방법은 이미 수신된 블록들의 다운로딩을 반복하지 않으면서 다시 계속될 수 있다.The method also includes repeating this method without resetting the flag. Thus, if there is an interruption in the reception of blocks, the downloading method may continue again without repeating the downloading of already received blocks.

본 발명의 제 6 양태에 따라, MPEG 비디오 및/또는 오디오 데이터의 테이블 및 컴퓨터 파일 데이터를 수신하도록 배열되는 수신기/디코더가 제공되며, 이 수신기/디코더는:According to a sixth aspect of the invention, there is provided a receiver / decoder arranged to receive a table of MPEG video and / or audio data and computer file data, the receiver / decoder comprising:

각 컴퓨터에 대하여 한 번씩 초기에 리셋되는 다수의 N 플래그를 저장하기 위한 수단;Means for storing a plurality of N flags that are initially reset once for each computer;

현재 수신된 컴퓨터 파일 블록을 일시적으로 저장하기 위한 수단;Means for temporarily storing a computer file block currently received;

블록 저장 수단에 저장된 블록을 컴퓨터에 공급하기 위한 수단; 및Means for supplying a block stored in the block storage means to the computer; And

현재 수신된 블록에 대한 플래그가 플래그 저장 수단에 세트되었는 지를 결정하고, 그렇지 않다면, 블록 공급 수단이 블록을 블록 저장 수단으로부터 컴퓨터로 블록을 공급하도록 하며, 플래그 저장 수단에 그 블록에 대한 플래그를 세트시키도록 배열되는 제어 수단을 포함하며, 상기 컴퓨터 파일은, 주기적으로 수신되며 그 각각이 그 블록의 ID를 포함하는 다수의 N 블록으로서 수신된다.Determine whether a flag for the currently received block is set in the flag storage means, otherwise, cause the block supply means to supply the block from the block storage means to the computer, and set the flag for the block in the flag storage means. Control means arranged to cause the computer file to be received as a plurality of N blocks, each received periodically and each of which contains an ID of the block.

수신기/디코더는 바람직하게는 블록이 블록 공급 수단으로부터 수신되었다는 승인을 컴퓨터로부터 수신하기 위한 수단을 더 포함하며, 제어 수단은 그 블록에 대한 상기의 승인의 수신에 응답하여 그 블록에 대한 플래그를 세트시키도록 동작한다.The receiver / decoder preferably further comprises means for receiving from the computer an acknowledgment that the block has been received from the block supply means, wherein the control means sets a flag for the block in response to receiving the acknowledgment for that block. To work.

바람직하게는, 제어 수단은 플래그를 리셋팅하지 않으면서 로스트 연결(lost connection) 후에 컴퓨터 파일 블록들의 수신을 재개하도록 동작될 수 있다.Preferably, the control means can be operated to resume the reception of computer file blocks after a lost connection without resetting the flag.

블록 공급 수단은, 예를 들어 ECP-모드 IEEE 병렬 포트; 바이트-모드 IEEE 병렬 포트, 니블-모드 IEEE 병렬 포트, 및 RS-232 직렬 포트 중 적어도 두 개를 포함하는 다른 타입의 다수의 상기 블록 공급 수단중의 하나가 될 수도 있다.The block supply means may include, for example, an ECP-mode IEEE parallel port; It may be one of a number of other types of block supply means, including at least two of a byte-mode IEEE parallel port, a nibble-mode IEEE parallel port, and an RS-232 serial port.

본 발명의 제 4 및 제 5 양태의 특성들은 수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일을 다운로딩하는 방법과 함께 이용될 수 있음을 주목하자.Note that the features of the fourth and fifth aspects of the invention can be used with a method of downloading a computer file from a transmitter to a computer via a receiver / decoder.

이제 본 발명의 바람직한 특성은 첨부 도면을 참조로 하여 단지 예시로서 설명될 것이다.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 according to the present invention. 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.

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

설명의 목적으로, 애플리케이션은 바람직하게는 수신기/디코더(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.

PC 다운로드 애플리케이션의 특별한 특징이 이제 설명될 것이다. 해결되는 특별한 기술적인 문제는, 소프트웨어를 다운로드하는 것이 궁극적으로 바람직한 컴퓨터가 방송될 때의 속도와 다른 데이터 입력 속도를 갖게 될 것이라는 점이다. 예를 들어, 그 차이는 9kbits/s 내지 1000kbits/s가 될 수도 있으며, 소프트웨어는 MPEG-2 스트림을 통하여, 예를 들어 500bits/s로 전송된다.The special features of the PC download application will now be described. A particular technical problem to be solved is that downloading the software will ultimately have a data input speed that is different from the speed at which the desired computer is broadcast. For example, the difference may be 9 kbits / s to 1000 kbits / s, and the software is transmitted over an MPEG-2 stream, for example at 500 bits / s.

이러한 문제를 처리하기 위하여, 방송 센터내에서 개괄적으로 보면, 소프트웨어는 N 블록으로 분할되며(도 5 참조), 그런 다음 MPEG 사설부(private section)에 반복적으로 삽입된다(도 6 참조). 수신기/디코더(2020)는 모든 소프트웨어 블록들을 설명하는 비트맵을 포함한다. 다운로딩이 개시될 때, 비트맵 내의 모든 비트는 제로로 세트된다. 다운로딩 절차의 단계는 다음과 같다. 블록 번호를 읽는다. 만일 비트가 0이면 수신 컴퓨터로 블록을 보내고, 수신 컴퓨터는 블록을 체크한 다음 적절한 것으로 승인를 보낸다. 수신 컴퓨터는 전송된 소프트웨어의 다양한 블록들을 결합하기 위하여, 대개 프로피 디스크상에 제공되는 자신의 소프트웨어를 필요로 한다. 자동-인터리빙은 흐름 제어의 기준(measure)을 제공한다. 방송 데이터 속도가 바뀌지 못한다고 가정하면, 연속적인 주기의 블록들은 자동으로 인터리브된다. 모든 카루셀(carousel)의 연속적인 주기에서, 수신 컴퓨터의 비트 속도에 따라서, 모든 블록들이 수신될 때 까지 세 번째 및 네 번째 블록이 디코더(2020)로 전송된다.In order to deal with this problem, as a general view within a broadcasting center, the software is divided into N blocks (see Fig. 5) and then repeatedly inserted into the MPEG private section (see Fig. 6). Receiver / decoder 2020 includes a bitmap that describes all the software blocks. When downloading starts, all bits in the bitmap are set to zero. The steps of the downloading procedure are as follows. Read the block number. If the bit is 0, the block is sent to the receiving computer, which checks the block and then acknowledges it as appropriate. The receiving computer needs its own software, usually provided on the profile disk, to combine the various blocks of transmitted software. Auto-interleaving provides a measure of flow control. Assuming that the broadcast data rate does not change, blocks of consecutive periods are automatically interleaved. In consecutive periods of all carousels, depending on the bit rate of the receiving computer, the third and fourth blocks are sent to the decoder 2020 until all the blocks have been received.

만일 블록이 유실된다면, 문제가 발생하게 된다. 개괄적으로 보면, 이 문제에 대한 해답은 XOR 함수를 이용하는 여분(redundancy)의 개념을 이용하는 것이다. 부가적인 여분의 블록들은, 필요하다면 유실될 블록들의 값이 얻어질 수 있는 데이터 스트림에 추가된다.If a block is lost, problems arise. In general, the solution to this problem is to use the concept of redundancy using the XOR function. Additional extra blocks are added to the data stream where the value of the blocks to be lost can be obtained if necessary.

이제 PC 다운로딩 애플리케이션이 좀 더 상세히 설명될 것이다. PC 다운로드 동안, 데이터는 전형적으로 700kbits/s의 데이터 속도로 MPEG 플로우 튜너(4028)를 통하여 트랜스폰더(2014)로부터 수신기/디코더(2020)로 다운로드되며, 병렬 인터페이스(4032) 또는 직렬 인터페이스(4030)를 통하여 수신기/디코더(2020)로부터 컴퓨터로 다운로드된다. 수신기/디코더는, 전형적으로 1Mbit/s의 데이터 속도를 갖는 IEEE 1284 ECP-모드, 400kbits/s의 전형적이 데이터 속도를 갖는 바이트-모드, 및 150 내지 200kbits/s의 전형적인 데이터 속도를 갖는 니블-모드의 병렬 인터페이스(4032)에 의한 컴퓨터로의 다운로딩을 지지한다. 수신기/디코더는 또한 아마도 115kbit/s의 최대 데이터 속도를 가지며 전형적으로는 실질적으로 이보다 낮은 데이터 속도를 갖는 RS-232 직렬 모드의 직렬 인터페이스(4030)에 의한 컴퓨터로의 다운로딩을 지지한다. 수신기/디코더(2020)는 유연성을 제공하기 위하여 컴퓨터에 이들 모든 모드의 다운로딩을 제공하며, 사용자는 보통 가장 빠르게 동작하는 다운로딩 모드를 선택할 것이다.The PC downloading application will now be described in more detail. During PC download, data is typically downloaded from transponder 2014 to receiver / decoder 2020 via MPEG flow tuner 4028 at a data rate of 700kbits / s, parallel interface 4032 or serial interface 4030. Is downloaded from the receiver / decoder 2020 to the computer via. The receiver / decoder is typically an IEEE 1284 ECP-mode with a data rate of 1 Mbit / s, a byte-mode with a typical data rate of 400 kbits / s, and a nibble-mode with a typical data rate of 150 to 200 kbits / s. Support for downloading to a computer by means of a parallel interface 4032. The receiver / decoder also supports downloading to a computer by serial interface 4030 in RS-232 serial mode, which typically has a maximum data rate of 115 kbit / s and typically has a substantially lower data rate. The receiver / decoder 2020 provides the computer with all of these modes of downloading to provide flexibility, and the user will usually select the downloading mode that operates the fastest.

수신기/디코더(2020)내로의 데이터 속도가 수신기/디코더(2020)로부터의 데이터 속도보다 빠를 때, 모든 데이터 블록들이 수신되고 컴퓨터로 다운로드되는 것을 보장하는 단계가 필요하다. 이는 수신기/디코더(2020)에 완전한 컴퓨터 파일을 기록하기에 충분히 큰 버퍼를 제공함으로써 이루어진다. 또한, 올림수 정수 X를 제공하기 위하여 수신기/디코더로 기대되는 데이터 속도로 분할되는, 수신기/디코더로부터 컴퓨터로의 최소 데이터 속도가 측정될 수 있으며, N/X 블록들이 한 상에 수신될 수 있도록 수신된 블록들의 모든 X내의 한 개가 컴퓨터로 다운로드될 수 있으며, 이후 상기 한 상은 모든 N 블록들을 다운로드하기 위하여 X번 반복될 수 있다. 그러나, 효율을 위하여, 이는 정확하게 측정되는 컴퓨터로의 데이터 속도에 의지하며, 이는 데이터 속도가 변할 수 있기 때문에 불가능하다. 또한, 만일 특정한 데이터 블록이 유실된다면 이 방법에 심각한 문제가 발생할 것이다.When the data rate into the receiver / decoder 2020 is faster than the data rate from the receiver / decoder 2020, a step is needed to ensure that all data blocks are received and downloaded to the computer. This is done by providing a receiver / decoder 2020 with a buffer large enough to record a complete computer file. In addition, the minimum data rate from the receiver / decoder to the computer, which is divided by the data rate expected by the receiver / decoder to provide a rounding integer X, can be measured, so that N / X blocks can be received on one phase. One in every X of the received blocks can be downloaded to the computer, after which the phase can be repeated X times to download all N blocks. However, for efficiency, this depends on the data rate to the computer being accurately measured, which is not possible because the data rate can vary. In addition, if a particular data block is lost, serious problems with this method will arise.

이러한 문제를 처리하기 위하여, 수신기/디코더(2020)는 도 7에 도시한 바와 같이 PC 다운로드 동작 동안 기능적으로 배열된다. 수신기(2018)로부터 유입되는 비트스트림은 블록 검출부(block detect function)(10)를 거친 다음, 선택기(12)에 의해 버퍼(14A) 또는 버퍼(14B)로 흐른다. 이후, 버퍼(14A, 14B) 중 선택된 하나의 내용은 선택기(16), 병렬 포트(4032) 및 직렬 포트(4030) 중의 선택된 하나에 의해 PC(14)의 해당하는 부분으로 공급된다. 버퍼(14A, 14B)는, 비트맵(20)과 같이, 수신기/디코더(2020)의 RAM의 일부분에 의해 제공된다. 블록 검출부(10), 선택기(12, 16), 버퍼(14A, 14B), 병렬 및 직렬 포트(4032, 4030), 및 비트맵(20)은 PC 다운로드 애플리케이션을 동작시키는 프로세서(22)에 의해 제어된다.To address this problem, the receiver / decoder 2020 is functionally arranged during the PC download operation as shown in FIG. The bitstream flowing from the receiver 2018 passes through a block detect function 10 and then flows to the buffer 14A or the buffer 14B by the selector 12. The contents of the selected one of the buffers 14A and 14B are then supplied to the corresponding portion of the PC 14 by the selected one of the selector 16, the parallel port 4032 and the serial port 4030. The buffers 14A, 14B, like the bitmap 20, are provided by a portion of the RAM of the receiver / decoder 2020. The block detector 10, the selectors 12 and 16, the buffers 14A and 14B, the parallel and serial ports 4032 and 4030, and the bitmap 20 are controlled by a processor 22 that runs a PC download application. do.

이제, PC 다운로드 동작 동안의 수신기/디코(2020)의 동작을 도 8 내지 도 12의 흐름도를 참조하여 설명한다. 도 8에 도시한 바와 같이, 초기화 과정 동안, 단계(24)에서, 수신 블록이 블록 검출부(10)에 의해 검출되며, 블록의 수 N은, 그 블록의 번호 i와 블록들의 총 수 N을 포함하는 각 블록들의 헤더로부터 결정된다. 단계(26)에서, 비트맵(20)은 N과 동등한 다수의 비트로 셋업되며, 각 비트는 0으로 리셋된다. 단계(28)에서, 버퍼 A 플래그 및 버퍼 B 플래그는 모두 “empty”로 세트된다. 설명되고 있는 실예에서, 이들 플래그의 가능한 상태는 “empty”, “filling”, “full”및 “emptying”이다. 단계(32)에서는, PC로의 출력 모드가 세트된다. 그런 다음, 단계(34)에서, 초기화 과정은 도 9, 10A, 10B, 11A, 11B에 도시되며 실질적으로 병렬로 수행되는 6개의 과정으로 넘어간다.The operation of the receiver / deco 2020 during the PC download operation will now be described with reference to the flowcharts of FIGS. 8-12. As shown in Fig. 8, during the initialization process, in step 24, a receiving block is detected by the block detector 10, and the number N of blocks includes the number i of the block and the total number N of blocks. Is determined from the header of each block. In step 26, bitmap 20 is set up with a number of bits equal to N, with each bit reset to zero. In step 28, both the buffer A flag and the buffer B flag are set to "empty". In the example being described, the possible states of these flags are "empty", "filling", "full" and "emptying". In step 32, the output mode to the PC is set. Then, in step 34, the initialization process is passed on to the six processes shown in Figures 9, 10A, 10B, 11A, 11B and performed substantially in parallel.

도 9는 버퍼(14A, 14B)로의 다운로딩의 개시를 제어하는 루틴을 도시한다. 단계(36)에서, 과정은 새로운 블록이 블록 검출부(10)에 의해 검출될 때 까지 기다린다. 일단 새로운 블록이 검출되면, 단계(38)에서, 새로운 블록의 번호 i가 블록 검출부(10)에 의해 검출된다. 단계(40)에서, 비트 b(i)가 1로 세트되었는 지의 체크가 비트맵에서 이루어지며, 만일 그렇다면, 블록은 무시되며 과정은 처음으로 돌아간다. 그렇지 않다면, 단계(42)에서, 버퍼 A 플래그는 “empty”에 대하여 테스트되며, 그렇다면 단계(44)에서, 버퍼 A 플래그는 “filling”으로 세트된 다음, 단계(46)에서, 선택기(12)를 통한 버퍼(14A)로의 블록의 다운로딩이 개시되며, 이후 과정은 처음으로 돌아간다. 만일, 단계(42)에서, 버퍼 A 플래그가 “empty”로 세트되지 않는 다면, 단계(48)에서 버퍼 B 플래그 “empty”에 대하여 테스트된다. 버퍼 B 플래그가 “empty”로 세트되어 있다면, 단계(50) 버퍼 B 플래그는 “filling”으로 세트되며, 그런 다음 단계(52)에서 선택기(12)를 통한 버퍼(14B)로의 블록의 다운로딩이 개시되며, 이후 과정은 처음으로 돌아간다. 만일 단계(42, 48)에서, 버퍼 플래그가 모두 “empty”로 세트되지 않는 다면, 과정은 처음으로 돌아간다.9 shows a routine for controlling the initiation of downloading to buffers 14A and 14B. In step 36, the process waits until a new block is detected by the block detector 10. Once a new block is detected, in step 38, the number i of the new block is detected by the block detector 10. In step 40, a check is made in the bitmap whether bit b (i) is set to 1, and if so, the block is ignored and the process returns to the beginning. Otherwise, in step 42, the buffer A flag is tested for “empty”, if so, in step 44, the buffer A flag is set to “filling” and then in step 46, selector 12 Downloading of blocks to buffer 14A is initiated, after which the process returns to the beginning. If at step 42, the buffer A flag is not set to "empty", then at step 48 it is tested against the buffer B flag "empty". If the buffer B flag is set to "empty", then step 50 the buffer B flag is set to "filling", and then downloading of the block to the buffer 14B through the selector 12 in step 52 The process then returns to the beginning. If at step 42, 48 the buffer flags are not both set to "empty", the process returns to the beginning.

도 10A는 버퍼(14A)로의 블록의 다운로딩의 끝에서 수행하는 루틴을 도시한다. 단계(54)에서, 과정은 블록의 끝이 블록 검출부(10)에 의해 검출될 때 까지 기다린다. 그런 다음, 단계(56, 58)에서, 블록에 포함된 CRC를 이용하여 블록이 체크된다. 만일 블록이 양호하면, 단계(60)에서 버퍼 A 플래그는 “full”로 세트되며, 반면 블록이 불량하면, 단계(62)에서 버퍼 A 플래그는 “empty”로 세트되며, 이 결과 블록은 무시될 것이다. 도 10B에 도시한 바와 같이, 상보적인 루틴이 버퍼(14B)로의 블록의 다운로딩의 끝에서 수행된다.10A illustrates a routine to perform at the end of downloading a block to buffer 14A. In step 54, the process waits until the end of the block is detected by the block detector 10. Then, in steps 56 and 58, the block is checked using the CRC included in the block. If the block is good, the buffer A flag is set to "full" in step 60, while if the block is bad, the buffer A flag is set to "empty" in step 62, and the resulting block is ignored. will be. As shown in Fig. 10B, a complementary routine is performed at the end of the downloading of the block to the buffer 14B.

도 11A는 버퍼 A로부터 PC(18)로의 블록의 다운로딩을 제어하는 루틴을 도시한다. 단계(64)에서, 과정은 버퍼 A가 “full”로 테스될 때까지 기다린다. 그런 다음, 단계(66)에서, 버퍼 B 플래그가 “emptying”으로 세트되었는 지에 대한 체크가 이루어지며, 만일 그렇다면 과정은 버퍼(10B)가 완전한 emptying을 가질 때까지 기다린다. 그런 다음, 단계(68)에서, 버퍼 A는 “emptying”으로 세트된다. 그런 다음, 단계(70)에서, 버퍼(14A)내의 블록 i가, 세트된 출력 모드를 이용하여 PC(18)로 선택기(16)에 의해 다운로드가 개시된다. 단계(72)에서, 과정은 다운로드가 완료될 때 까지 기다린다. 그런 다음, 단계(74)에서, PC(18)로부터의 승인에 대한 체크가 이루어진다. 만일, 승인이 수신되면, 단계(76)에서 비트맵(20)내 블록 i에 대한 비트 b(i)가 1로 세트되며, 이후 단계(78)에서 버퍼 B 플래그가 “empty”로 세트된다. 그런 다음, 과정은 처음으로 돌아간다. 만일, 단계(74)에서, 승인기 수신되지 않는 다면, 단계(76)가 생략되며, 이에 따라 블록의 다운로딩이 무시될 것이다. 도 11B에 도시한 바와 같이, 버퍼(14B)로부터 PC(18)로의 블록 다운로딩을 제어하기 위하여 상복적인 루틴이 수행된다.11A shows a routine for controlling the downloading of blocks from buffer A to PC 18. In step 64, the process waits until buffer A is tested to "full". Then, in step 66, a check is made to see if the buffer B flag is set to "emptying", and if so, the process waits until buffer 10B has full emptying. Then, in step 68, buffer A is set to "emptying". Then, in step 70, the block i in the buffer 14A is initiated by the selector 16 to the PC 18 using the set output mode. In step 72, the process waits for the download to complete. Then, in step 74, a check is made for approval from the PC 18. If an acknowledgment is received, bit b (i) for block i in bitmap 20 is set to 1 in step 76 and the buffer B flag is then set to “empty” in step 78. Then the process goes back to the beginning. If, at step 74, the acceptor is not received, step 76 is omitted, thus downloading of the block will be ignored. As shown in FIG. 11B, a routine routine is performed to control block downloading from buffer 14B to PC 18. As shown in FIG.

도 12는 컴퓨터 파일의 다운로딩이 완료되었는 지를 체크하는 루틴을 도시한다. 단계(80)에서, b(i)에서 b(N)까지의 비트맵내 모든 비트들이 1로 세트되었는 지에 대한 체크가 이루어지며, 만일 그렇다면, 수신기/디코더(2020)가 관련되는 한 파일 다운로딩 동작은 종료된다.12 shows a routine for checking whether the downloading of a computer file has been completed. In step 80, a check is made to see if all bits in the bitmap from b (i) to b (N) are set to 1, and if so, a file downloading operation as long as the receiver / decoder 2020 is involved. Ends.

상기로부터, 수신기/디코더(2020)에 의해 블록들이 어떠한 순서로 수신되는 지는 문제가 되지 않는 다는 것을 알 수 있을 것이다. 수신기/디코더(2020)는 블록이 필요한 지를 결정할 수 있으며, 만일 그렇다면, 블록을 버퍼(14A, 14B) 중의 하나에 위치시키며, PC(18)가 그 블록을 수신할 준비가 될 때까지 기다린다. 만일 블록이 CRC 체크를 실패한다면, 또는 블록이 PC(18)에 의해 적적하게 승인받지 못한다면, 수신기/디코더(2020)는 다음의 유효한 기회에 블록을 다시 다운로드한다. 따라서, 만일 수신기/디코더(2020)가 블록들이 수신기/디코더(2020)에 의해 다운로드되자 마자 빨리 PC(18)로 블록들을 다운로드할 수 있다면, 모든 것이 다 그런 것은 아니지만, 대부분의 블록들은 순서대로 연속적으로 다운로드될 것이다. 그러나, 만일 수신기/디코더(2020)가 블록들이 수신기/디코더(2020)에 의해 다운로드되자 마자 빨리 PC(18)로 다운로드되지 못한 다면, 예를 들어 절반의 속도로 다운로드된다면, 일반적으로 스피킹 교번 블록들은 한 위상 동안 다운로드될 것이며, 이후 남아있는 블록들이 이후의 위상 동안 다운로드될 것이다. 만일, 수신기/디코더(2020)으로의 다운로드 속도가 수신기/디코더(2020)으로부터의 다운로드 속도 사이의 비율이 변한다면, 상기 설명한 배열은 블록들의 인터리빙을 자동으로 조정할 것이다.From the above, it will be appreciated that the order in which blocks are received by the receiver / decoder 2020 is not a problem. The receiver / decoder 2020 can determine if a block is needed, and if so, locates the block in one of the buffers 14A and 14B and waits until the PC 18 is ready to receive the block. If the block fails the CRC check, or if the block is not properly authorized by the PC 18, the receiver / decoder 2020 downloads the block again at the next valid opportunity. Thus, if the receiver / decoder 2020 can download the blocks to the PC 18 as soon as the blocks are downloaded by the receiver / decoder 2020, most not all, but most of the blocks in sequence Will be downloaded. However, if the receiver / decoder 2020 is not downloaded to the PC 18 as soon as the blocks are downloaded by the receiver / decoder 2020, for example at half speed, then the speaking alternating blocks are generally It will be downloaded for one phase, and then the remaining blocks will be downloaded for later phases. If the download rate to receiver / decoder 2020 changes in the ratio between the download rate from receiver / decoder 2020, the arrangement described above will automatically adjust the interleaving of the blocks.

소프트웨어를 동작하기 위한 것과는 별도로, 상기 설명한 구성에 필요한 메모리는 2개의 버퍼(14A, 14B) 및 비트맵(20)이다. 블록의 크기는 (4kbyte까지 단일 MPEG-2에 포함될 수도 있지만) 전형적으로 2kbytes이며, 파일내 블록의 최대 수는 216블록이 된다. 따라서, 필요한 메모리는 버퍼(14A, 14B)를 위한 4kbytes와 비트맵(20)을 위한 216/8=8kbytes이며, 총 12kbytes가 되어, 216×2kbyte=128Mbytes가 다운로드될 수 있게 한다.Apart from operating the software, the memory required for the above-described configuration is two buffers 14A and 14B and a bitmap 20. The size of a block is typically 2kbytes (although it may be included in a single MPEG-2 up to 4kbytes) and the maximum number of blocks in a file is 2 16 blocks. Accordingly, the required memory is 2 16/8 = 8kbytes for 4kbytes and bitmap 20 for the buffers (14A, 14B), is the total 12kbytes, 2 enables the 16 × 2kbyte = 128Mbytes can be downloaded.

상기 설명한 배열에서, PC(18)는, 일단 각 블록이 수신되면 그 블록이 블록의 번호 i를 포함하는 파일 이름을 가지고 PC(18)의 하드 디스크에 기록되도록, 프로그램된다. 그런 다음, 일단 모든 블록들이 수신되면, N 파일내의 데이터는 원래의 컴퓨터 파일을 재생시키기 위하여 연결된다.In the arrangement described above, the PC 18 is programmed such that once each block is received, the block is written to the hard disk of the PC 18 with a file name containing the number i of the block. Then, once all the blocks have been received, the data in the N file are concatenated to play the original computer file.

이제, 방송 센터와 수신기/디코더(2020)간의 연결이 끊어진 경우를 처리하기 위하여, 상기 설명한 배열에 대한 변경이 도 5 내지 도 12를 참조하여 설명될 것이다. 이러한 경우, 끊어진 연결이 수신기/디코더(2020)에 의해 검출되며, 사용자는 그들이 다운로드 동작을 재개하기를 원하는 지에 대하여 상기할 수도 있다. 만일 그렇다면, 현재의 비트맵(20)의 b(1) 부터 b(N)까지의 비트가 제로로 리셋되지 않도록 도 8의 단계(26)이 생략되는 것을 제외하고는, 상기 설명한 방법으로 파일 다운로드가 요구된다. 따라서, 다운로드 동작은 이미 다운로드된 블록들이 다시 다운로드될 것을 요구하지 않으면서 계속될 것이다.Now, in order to handle the case where the connection between the broadcasting center and the receiver / decoder 2020 is lost, the change to the above-described arrangement will be described with reference to FIGS. 5 to 12. In such a case, the broken connection is detected by the receiver / decoder 2020 and the user may be reminded if they wish to resume the download operation. If so, download the file in the manner described above, except that step 26 of FIG. 8 is omitted so that the bits from b (1) to b (N) of the current bitmap 20 are not reset to zero. Is required. Thus, the download operation will continue without requiring blocks that have already been downloaded to be downloaded again.

이제, XOR 함수를 이용하는 리던던시의 개념을 상세하게 설명할 것이다. 도 5 및 도 6을 참조하여 상기 설명된 배열에서, 데이터 블록들은 단지 1에서 N까지의 블록들의 열로 간주되었다. 이제부터 설명될 배열에서, 블록들은 일련의 매트릭스로서 배열되는 것으로 간주될 수 있으며, 각 매트릭스는 도 13 내지 도 15에 도시한 바와 같이 블럭의 (R+1) 로우 및 C 칼럼을 포함한다. 특히 도 14에 도시한 바와 같이, 첫 번째 매트릭스에서, 꼭대기의 로우는 i= 1부터 C까지 번호가 매겨진 블럭들을 포함하고, 다음의 로우는 i=C+1부터 2C까지 번호가 매겨진 블록들을 포함하며, 이는 i=RC+1부터 (R+1)C가지 번호가 매겨진 록들을 포함하는 바닥의 로우까지 계속된다. 도 15에 도시한 바와 같이, 번호가 매겨진 매트릭스의 좀 더 일반적인 경우에 있어서, 꼭대기의 로우는 i=(j-1)(R+1)C+1부터 ((j-1)(R+1)+1)C까지 번호가매겨진 블록들을 포함하고, 바닥의 로우는 i=(j(R+1)-1)C+1부터 j(R+1)C까지의 번호가 매겨진 블록들을 포함한다. 매트릭스 j의 로우 r 및 칼럼 c에서의 일반적인 위치에서, 블록의 수 i=((j-1)(R+1)+(r-1))C+c이다. 매트릭스에서, 바닥 로우(r=1 부터 R)를 제외한 모든 로운의 블록들은 다운로드되는 컴퓨터 파일이 분할되는 데이터 블록들이다. 그러나, 바닥 로우(r=R+1)의 블록들은 애플리케이션 및 데이터 서버(4006)에 의해 계산되고 MPEG 비트스트림내로 부가되는 여분의 블록들이다. 좀 더 상세히 설명하면, 도 16에 도시한 바와 같이, 단계(100)에서, 다운로드되는 파일은 각 2kbytes의 데이터 블록들 내로 분할된다. 단계(102)에서, R 및 C의 값들이 세트된다. 단계(104)에서, 매트릭스 번호 카운터가 1로 세트된다. 단계(106)에서, 데이터 블록들의 C 칼럼 및 R 로우의 매트릭스로서 간주되는, 첫 번째 RC 데이터 블록들이 리드된다. 단계(108)에서, 각 칼럼 c=1 부터 C 까지에 대하여, 그 칼럼에 대한 여분의 블록이 계산된다. 좀 더 상세히 설명하면, 여분의 블록들이 각 칼럼 내의 데이터 블록들에 대하여 비트와이즈 XOR 연산으로서 계산된다. 단계(110)에서, 여분의 블록들은 매트릭스의 부가적인 바닥 로우(r=R+1)가 될 것이다. 단계(112)에서, i=(j-1)(R+1)C+1부터 (j(R+1)-1)C까지의 블록 번호가 데이터 블록들에 헤더로서 추가되며,i=(j-1)(R+1)C+1부터 (j(R+1)-1)C까지의 블록 번호는 여분의 블록에 헤더로서 추가되며, 블록들은 저장된다. 단계(114)에서, 파일의 끝이 도달했는 지에 대한 테스트가 이루어지며, 만일 도달하지 않았다면, 단계(116)에서 매트릭스 카운터 j가 증가된다. 그런 다음, 단계(102 내지 108)에서, 다음의 RC 데이터 블록들에 대하여 반복된다. 이는 컴퓨터 파일의 끝이 도달할 때 까지 계속된다. 그런 다음, 파일에 대한 기재사항(entry)이, 파일에 대한 이름, 크기 및 날짜 스탬프와 R, C의 값을 포함하는 디렉토리 또는 인덱스 MPEG-2 테이블에 추가된다. 그런 다음, 처리된 데이터 블록들 및 여분의 블록들은 전송을 위한 준비를 한다.Now, the concept of redundancy using the XOR function will be explained in detail. In the arrangement described above with reference to FIGS. 5 and 6, the data blocks were only considered as a column of blocks from 1 to N. FIG. In the arrangement to be described now, the blocks can be considered to be arranged as a series of matrices, each matrix comprising (R + 1) row and C columns of the block as shown in FIGS. 13 to 15. In particular, as shown in FIG. 14, in the first matrix, the top row contains blocks numbered from i = 1 to C and the next row contains blocks numbered from i = C + 1 to 2C. This continues from i = RC + 1 to the bottom row, which includes (R + 1) C numbered locks. As shown in Figure 15, in the more general case of a numbered matrix, the top row is from i = (j-1) (R + 1) C + 1 to ((j-1) (R + 1). Contains blocks numbered from +1) C, and the row at the bottom contains blocks numbered from i = (j (R + 1) -1) C + 1 to j (R + 1) C . At the general position in row r and column c of matrix j, the number of blocks i = ((j-1) (R + 1) + (r-1)) C + c. In the matrix, all rows of blocks except the bottom row (r = 1 to R) are data blocks into which the computer file to be downloaded is divided. However, the blocks of the bottom row (r = R + 1) are extra blocks that are calculated by the application and data server 4006 and added into the MPEG bitstream. More specifically, as shown in Fig. 16, in step 100, the file to be downloaded is divided into data blocks of 2 kbytes each. In step 102, the values of R and C are set. In step 104, the matrix number counter is set to one. In step 106, the first RC data blocks, which are regarded as the matrix of the C column and R row of data blocks, are read. In step 108, for each column c = 1 through C, an extra block for that column is calculated. In more detail, the extra blocks are computed as bitwise XOR operations on the data blocks in each column. In step 110, the extra blocks will be an additional bottom row (r = R + 1) of the matrix. In step 112, a block number from i = (j-1) (R + 1) C + 1 to (j (R + 1) -1) C is added as a header to the data blocks, i = ( Block numbers j-1) (R + 1) C + 1 to (j (R + 1) -1) C are added as extra headers as headers, and the blocks are stored. In step 114 a test is made to see if the end of the file has been reached, and if not, the matrix counter j is incremented in step 116. Then, in steps 102 to 108, the next RC data blocks are repeated. This continues until the end of the computer file is reached. An entry for the file is then added to the directory or index MPEG-2 table containing the name, size, and date stamp for the file and the values of R and C. The processed data blocks and spare blocks then prepare for transmission.

사용자가 상기 파일을 다운로드하기를 원할 때, 수신기/디코더(2020)를 이용하여 디렉토리 또는 인덱스로부터 파일에 대한 기재사항을 선택하며, 그런 다음 수신기/디코더(2020)는 R 및 C의 값을 포함하는 파일 정보를 PC(18)로 공급한다. 그런 다음, 그 파일의 PC 다운로드 동안, 수신기/디코더(2020)는 도 7 내지 도 12를 참조하여 상기 설명한 방법과 다른 어떠한 기능도 필요로 하지 않는다. 그러나, PC(18)는 하기에 설명되는 방법으로 여분의 블록들을 처리하기 위하여 {디스켓 또는 CD-ROM으로부터 PC(18)로 로드된 또는 수신기/디코더(2020)로부터 PC(18)로 다운로드된 프로그램에 의해} 프로그램된다. 개괄적으로 보면, 여분의 브록이 다운로드되었는 지를 PC(18)가 검출할 때 마다, 이는 동일한 매트릭스의 동일한 칼럼의 데이터 블록들 중 하나를 제외한 모든 것이, 수신된 여분의 블록으로서 수신되는 지를 체크한다. 만일 그렇다면, PC(18)는 수신된 데이터 블록들 및 수신된 여분의 블록에 대하여 비트와이즈 XOR 연산을 수행함으로써 잃어버린 데이터 블록을 재생시키며, 재생된 데이터 블록들을 수신기/디코더(2020)로부터 수신된 것 처럼 저장한다.When the user wants to download the file, the receiver / decoder 2020 is used to select a description for the file from a directory or index, and then the receiver / decoder 2020 includes values of R and C. The file information is supplied to the PC 18. Then, during PC download of the file, the receiver / decoder 2020 does not require any functionality other than the method described above with reference to FIGS. However, the PC 18 may be a program loaded into the PC 18 from the diskette or CD-ROM or downloaded from the receiver / decoder 2020 to the PC 18 to process the extra blocks in the manner described below. Is programmed by). In general, each time the PC 18 detects that an extra block has been downloaded, it checks whether all but one of the data blocks of the same column of the same matrix are received as the received extra block. If so, the PC 18 reproduces the lost data block by performing a bitwise XOR operation on the received data blocks and the received spare block, and the received data blocks received from the receiver / decoder 2020. Save as

도 17을 참조하여 좀 더 상세히 설명하면, 초기 단계(120)에서 PC(18)는 R, C의 값을 수신한 다음, 단계(122)에서 블록을 수신한다. 단계(124)에서, PC(18)는 수신된 블록의 헤더로부터 그의 블록 번호를 추출한다. 단계(126)에서, PC(18) SMS 그 블록을 블록 i로서 저장한다. 단계(128)에서, 수신기/디코더(2020)로 승인을 보낸다. 단계(130)에서, PC(18)는 적어도 블록들 중 하나(R-1)을 제외한 모든 것이 각각의 C 칼럼에 수신되었는 지를 체크한다. 이는 블록들이 저장되어 있는 PC(18)의 하드 디스크의 디렉토리를 체크함으로써, 또는 바람직하게는, 각 블록이 저장된 것으로서 구별되는 PC(18) 메모리내의 비트맵을 이용함으로써 이루어질 수도 있다. 만일, 블록들 중 하나를 제외한 적어도 모든 것이 각 칼럼에 대하여 저장된다면, 충분한 블록들이 수신되며 과정은 단계(132)로 진행한다. 그러나, 만일 그렇지 않으면, 과정은 다음 블록을 수신하기 위하여 단계(122)로 되돌아간다. 단계(132)는 FOR-NEXT 루프를 제어한다. 단계(134)에서는, PC(18)는 각 칼럼에 대하여 그 칼럼에 대한 모든 데이터 블록들(즉 R-1 데이터 블록들)이 수신되었는 지를 결정한다. 만일 그렇다면, FOR-NEXT 루프는 다음 칼럼으로 간다. 그러나, 만일 그렇지 않으면, 단계(136)에서 PC(18)는 수신된 데이터 블록들 및 여분의 블록에 대하여 비트와이즈 XOR 연산을 수행함으로써 잃어버린 데이터 블록을 재생한다. 그런 다음, 단계(138)에서, PC(18)는 재생된 데이터 블록을 저장하고, FOR-NEXT 루프내의 다음 칼럼으로 간다. FOR-NEXT 루프의 끝에서, 과정은 단계(14)로 가서 수신된 데이터 블록들로부터 컴퓨터 파일이 재생되며, 단계(142)에서 컴퓨터파일은 PC(18)의 하드 디스크상에 저장된다. 단계(134)에서, 블록이 데이터 블록인지 또는 여분의 블록이지에 대한 결정은 매트릭스 번호 j가 j=int((i-1)/(R+1)C)+1로부터 결정되는 0〈i-jRC≤C 관계의 진위를 체크함으로써 이루어질 수도 있으며, 이때 int()는 ()의 정부 부분을 나타낸다. 만일 참이라면, 블록은 여분의 블록이고, 만일 거짓이라면, 데이터 블록이다.Referring to FIG. 17 in more detail, in the initial step 120, the PC 18 receives the values of R and C, and then in step 122 receives the block. In step 124, PC 18 extracts its block number from the header of the received block. In step 126, the PC 18 SMS stores the block as block i. In step 128, an acknowledgment is sent to the receiver / decoder 2020. In step 130, the PC 18 checks whether all but at least one of the blocks (R-1) has been received in each C column. This may be done by checking the directory of the hard disk of the PC 18 where the blocks are stored, or preferably by using a bitmap in the PC 18 memory where each block is distinguished as being stored. If at least everything except one of the blocks is stored for each column, enough blocks are received and the process proceeds to step 132. If not, however, the process returns to step 122 to receive the next block. Step 132 controls the FOR-NEXT loop. In step 134, PC 18 determines for each column whether all data blocks for that column (ie, R-1 data blocks) have been received. If so, the FOR-NEXT loop goes to the next column. If not, however, in step 136 the PC 18 reproduces the lost data block by performing a bitwise XOR operation on the received data blocks and the spare block. Then, at step 138, PC 18 stores the regenerated data block and goes to the next column in the FOR-NEXT loop. At the end of the FOR-NEXT loop, the process goes to step 14 where a computer file is played from the received data blocks, and in step 142 the computer file is stored on the hard disk of the PC 18. In step 134, the determination as to whether the block is a data block or an extra block is determined by 0 < i-, where the matrix number j is determined from j = int ((i-1) / (R + 1) C) +1. It can also be done by checking the authenticity of the jRC≤C relationship, where int () represents the government part of (). If true, the block is an extra block; if false, it is a data block.

상기 설명한 배열은 2개의 주요한 문제들을 다룬다. 첫 번째 문제는 트랜스폰더(2014)로부터 지상 수신기(2018)까지의 비트스트림내의 간단한 중단에 관한 것이다. 만일 특정한 블록 i가 상기의 중단에 의해 영향을 받았다면, 동일한 로우의 다음 블록 i+1이 또한 영향을 받게될 가능성이 비교적 높다는 것을 알 수 있을 것이다. C의 값은 동일한 칼럼 내의 다음 블록 i+C가 또한 영향를 받을 가능성이 비교적 작도록 선택된다. 각 칼럼내 (R+1) 블록의 R이 적절하게 수신된다면, 여분의 블록 및 비트와이즈 XOR 연산의 특성을 이용하여, 남아있는 블록이 재생될 수 있다. 나머지 문제는 블록들이 파일 다운로드 동작의 목적을 위하여 수신되는 유효 속도에 관련된다. 만일 단지 하나의 블록이 대기하고 있다면, 남아있는 주기는 거의 파일내 모든 블록들을 전송하는 데에 걸리는 시간 만큼 클 수도 있음을 알 수 있을 것이다. 상기 설명한 배열을 가지고, 단지 몇 개의 데이터 블록들만이 대기한다면, 이들은 여분의 블록들 및 이미 수신된 데이터 블록들로부터 재생될 수 있는 가능성이 높다. 물론, 부가적인 여분의 블록들의 전송은 컴퓨터 파일을 전송하기 위한 총 시간을 증가시키며, 이에 따라 통신 중단을 처리하고 마지막 몇 개의 블록들을 기다리는 시간을 줄이는 장점은 C 및 R의 값을 적절하게 선택함으로써 총 전송 시간 증가의 단점에 대하여 균형이 이루어질 필요가 있다. C 및 R 값의 선택은 통계학적인 연구 또는 시도 및 에러의 주제가 될 수 있다. 그러나, 전형적으로 그 값들은 C=50, R=10이 될 것이다. 바람직하게는, C 및 R은 5보다 크다.The arrangement described above addresses two major problems. The first problem concerns a simple interruption in the bitstream from the transponder 2014 to the terrestrial receiver 2018. If a particular block i was affected by the interruption above, it can be seen that the next block i + 1 of the same row is also relatively likely to be affected. The value of C is chosen so that the next block i + C in the same column is also less likely to be affected. If R of (R + 1) blocks in each column are properly received, the remaining blocks can be reproduced, using the properties of the extra blocks and bitwise XOR operations. The remaining problem relates to the effective rate at which blocks are received for the purpose of the file download operation. If only one block is waiting, you will see that the remaining period may be as large as the time it takes to transfer almost all blocks in the file. With the arrangement described above, if only a few data blocks are waiting, they are likely to be reproduced from the extra blocks and already received data blocks. Of course, the transfer of additional extra blocks increases the total time to transfer the computer file, and thus the advantage of dealing with communication interruptions and reducing the time spent waiting for the last few blocks is by appropriately choosing the values of C and R. There is a need to balance the shortcomings of increasing total transmission time. The choice of C and R values can be a topic of statistical study or trial and error. Typically, however, the values would be C = 50, R = 10. Preferably, C and R are greater than five.

상기 설명한 예에서, C 및 R의 값들은 파일이 블록들 내로 전송될 준비가 될 때에 결정되며, C 및 R의 값들은 다운로드가능한 파일에 대한 디렉토리 또는 인덱스 테이블에 포함된다. 또한, C 및 R의 값들은 디렉토리 또는 인덱스 테이블에 포함된 그들이 값 없이 미리결정될 수도 있으며, PC(18)는 C 및 R의 값으로 미리 프로그램될 수도 있다.In the example described above, the values of C and R are determined when the file is ready to be transferred into the blocks, and the values of C and R are included in the directory or index table for the downloadable file. Also, the values of C and R may be predetermined without values contained in the directory or index table, and the PC 18 may be preprogrammed with the values of C and R.

상기 설명한 예에서, 블록들은 충분한 블록들이 파일이 재생될 수 있도록 다운로드될 때 까지 다운로드된다. 그런 다음, 빠뜨린 블록들이 재생되며 파일이 재생된다. 변형예에서, 만일 특정한 칼럼에 대한 여분의 블록이 다운로드된다면, 그리고 그 칼럼의 데이터 블록들 중 하나를 제외한 모든 것이 다운로드된다면, 전체 파일이 재생될 수 있도록 충분한 블록들이 다운로드되는 것을 기다리지 않으면서, 빠뜨린 데이터 블록이 재생되며 그 단계에서 수신된 것으로서 마크된다.In the example described above, blocks are downloaded until enough blocks are downloaded so that the file can be played. Then, the missing blocks are played and the file is played. In a variant, if an extra block for a particular column is downloaded, and if everything except one of the data blocks in that column is downloaded, then it is missing without waiting for enough blocks to be downloaded so that the entire file can be played. The data block is reproduced and marked as received in that step.

상기 설명한 장치에서, 수신기/디코더(2020)는 PC(18)로부터 분리된 것으로서 도시되었다. 그러나, 수신기/디코더(2020)는 PC(18)의 일부분, 예를 들어 애드온 카드 형태로 형성될 수도 있다.In the apparatus described above, the receiver / decoder 2020 is shown as separate from the PC 18. However, receiver / decoder 2020 may be formed in the form of a portion of PC 18, for example an add-on card.

본 발명은 상기에서 단지 예로서 설명되었으며, 본 발명의 범위 내에서 세부사항의 변경이 이루어질 수 있음은 자명하다.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 (26)

수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일을 다운로딩하는 방법에 있어서,A method of downloading a computer file from a transmitter to a computer via a receiver / decoder, 파일, 또는 그 일부분을 일련의 R 데이터 그룹으로 분할하고, 각 그룹을 일련의 C 데이터 그룹으로 분할하는 단계;Dividing the file, or a portion thereof, into a series of R data groups, and dividing each group into a series of C data groups; C 여분 블록들의 그룹을 발생시키는 단계;Generating a group of C spare blocks; 각 데이터 블록의 그룹들 및 상기 송신기로부터의 여분의 블록들을 송신하는 단계;Transmitting groups of each data block and redundant blocks from the transmitter; 상기 수신기/디코더에서 송신된 블록들 중 적어도 얼마를 수신하는 단계;Receiving at least some of the blocks transmitted at the receiver / decoder; 상기 수신기/디코더로부터의 수신된 블록들을 상기 컴퓨터에 공급하는 단계, 및Supplying the received blocks from the receiver / decoder to the computer, and 상기 여분의 블록 및 그의 각각의 데이터 블록들 중 하나를 제외한 모든 것들이 수신되었는 지를 수신된 여분의 블록들 중 적어도 하나에 대하여 상기 컴퓨터로 결정하고, 만일 그렇다면 상기 여분의 블록 및 각 수신된 데이터 블록들에 대하여 비트와이즈 배타적 OR 또는 NOR 연산을 수행함으로써 상기 하나의 데이터 블록을 재생시키는 단계를 포함하며,Determine by the computer for at least one of the received spare blocks whether all but the one of the spare block and one of its respective data blocks has been received, and if so the spare block and each received data block Regenerating the one data block by performing a bitwise exclusive OR or NOR operation on 상기 각 여분 블록은 이들 데이터 블록들을 비트와이즈 배타적 OR 또는 NOR 시킴으로써 R 그룹내의 데이터 블록들 각각에 것들에 관련되는 것을 특징으로 하는 컴퓨터 파일을 다운로딩하는 방법.Wherein each spare block is associated with each of the data blocks in the R group by bitwise exclusive ORing or NORing these data blocks. 제 1 항에 있어서, 상기 결정 및 재생 단계는 각 데이터 블록들 중 하나를 제외한 모든 것들이 수신되는 상기 각각의 수신된 여분의 블록들에 대하여 이루어지는 것임을 특징으로 하는 컴퓨터 파일을 다운로딩하는 방법.2. The method of claim 1, wherein said determining and playing step is performed for each of said received redundant blocks except that one of each data block is received. 제 2 항에 있어서, 모든 남아있는 데이터 블록들이 재생될 수 있도록 충분한 블록들이 수신되는 때를 결정하고, 파일에 대한 다른 블록들 또는 그의 다른 부분들을 수신하는 것을 중지하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 파일을 다운로딩하는 방법.3. The method of claim 2 including determining when enough blocks are received so that all remaining data blocks can be reproduced, and stopping receiving other blocks for the file or other portions thereof. How to download computer files. 선행하는 모든 항에 있어서, R 및 C의 숫자값을 나타내는 데이터를 상기 송신기로부터 송신하고, 상기 수신기에서 상기 R 및 C 데이터를 수신하며, 상기 R 및 C 데이터를 상기 컴퓨터에 공급하는 단계를 더 포함하며; 상기 컴퓨터는 데이터 블록들 중 어떤 것이 각 여분의 블록과 관련되는 지를 결정하는 데에 상기 공급된 R 및 C를 이용하도록 동작하는 것을 특징으로 하는 컴퓨터 파일을 다운로딩하는 방법.The method of claim 1 further comprising: transmitting data representing numeric values of R and C from the transmitter, receiving the R and C data at the receiver, and supplying the R and C data to the computer. To; And the computer is operative to use the supplied R and C to determine which of the data blocks are associated with each spare block. 선행하는 모든 항에 있어서, 상기 블록들은 C 여분의 블록들의 그룹내의 여분의 블록들 중 (i=1 부터 C에 대하여) i번째 것이 C 데이터 블록들의 각 R 그룹들에서의 i번째 데이터 블록에 관련되도록 배열되는 것을 특징으로 하는 컴퓨터 파일을 다운로딩하는 방법.The method of claim 1, wherein the blocks are associated with the i th data block in each of the R groups of the C data blocks, where the i th one of the extra blocks in the group of C surplus blocks (for i = 1 to C). A method of downloading a computer file, characterized in that arranged as possible. 수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일을 다운로딩하는 방법에 있어서,A method of downloading a computer file from a transmitter to a computer via a receiver / decoder, 파일을 블록들의 수(N)로 분할하는 단계;Dividing the file into the number N of blocks; 그 블록의 ID를 각각 가지고 송신기로부터 파일의 블록들을 반복적으로 전송하는 단계; 및Repeatedly transmitting blocks of a file from a transmitter with respective IDs of the blocks; And 수신기/디코더에서, 각 블록에 한 번씩 초기에 리셋된 다수의 N 플래그를 제공하는 단계; 및At the receiver / decoder, providing a plurality of N flags that were initially reset once for each block; And 블록들 중 현재 전송된 하나를 수신하는 단계, 및 그 블록에 대한 플래그가 세트되었는 지를 결정하고, 만일 그렇지 않다면 수신기로부터 컴퓨터로 그 블록을 공급하며, 모든 플래그들이 세트될 때 까지 그 블록에 대한 플래그를 셋팅하는 단계를 주기적으로 수행하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 파일을 다운로딩하는 방법.Receiving the currently transmitted one of the blocks, and determining if a flag has been set for the block, if not, feeding the block from the receiver to the computer, and flag for that block until all flags are set And periodically performing the step of setting the computer file. 제 6 항에 있어서, 각 공급 단계에 의해, 상기 컴퓨터는 상기 수신기/디코더로 공급된 블록의 수신 승인을 보내도록 배열되며, 상기 각 블록의 셋팅 단계는 그 블록에 대한 상기 수신 승인에 응답하여 수행되는 것을 특징으로 하는 컴퓨터 파일을 다운로딩하는 방법.7. The method of claim 6, wherein by each supply step, the computer is arranged to send a receipt acknowledgment of a block supplied to the receiver / decoder, wherein the setting step of each block is performed in response to the receipt acknowledgment for that block. How to download a computer file, characterized in that. 제 6 항 또는 제 7 항에 있어서, 상기 플래그를 리셋팅하는 단계없이 상기 제 6 항 또는 제 7 항의 방법을 반복하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 파일을 다운로딩하는 방법.8. A method according to claim 6 or 7, comprising repeating the method of claim 6 or 7 without resetting the flag. 제 1 항 내지 제 5 항 중의 어느 한 항 및 제 6 항 내지 제 8 항 중의 어느 한 항에 의해 청구된 방법.Method claimed by any one of claims 1 to 5 and by any of claims 6 to 8. 도면과 관련하여 실질적으로 설명된, 수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일을 다운로딩하는 방법.A method of downloading a computer file from a transmitter to a computer via a receiver / decoder substantially described with reference to the drawings. 제 1 항 내지 제 5 항, 제 9 항 및 제 10 항 중의 어느 한 방법의 일부를 수생하는 데에 이용되는 컴퓨터에 있어서,Claims 1 to 5, 9 and 10 of the computer used for aquatic part of any one of the methods, 상기 수신기/디코더로부터 블록들을 수신하기 위한 수단;Means for receiving blocks from the receiver / decoder; 수신된 블록들을 처리하기 위한 수단; 및Means for processing the received blocks; And 상기 수신된 데이터 블록들 및 상기의 모든 재생된 데이터 블록을 저장하기 위한 수단을 포함하며,Means for storing said received data blocks and all said reproduced data blocks, 상기 처리 수단은 여분의 블록 및 그의 각각의 데이터 블록들 중 하나를 제외한 모든 것들이 수신되었는 지를 수신된 여분의 블록들 중 적어도 하나에 대하여 결정하고, 만일 그렇다면 여분의 블록 및 각 수신된 데이터 블록들에 대하여 비트와이즈 배타적 OR 또는 NOR 연산을 수행함으로써 상기 하나의 데이터 블록을 재생시키도록 프로그램되는 것을 특징으로 하는 컴퓨터.The processing means determines for at least one of the received spare blocks whether all but one of the spare block and one of its respective data blocks has been received, and if so, to the spare block and each received data block. And program to regenerate the one block of data by performing a bitwise exclusive OR or NOR operation on the data block. 제 11 항에 있어서, 상기 처리 수단은 각 데이터 블록들 중 하나를 제외한 모든 것이 수신된 각각의 수신된 여분의 블록들에 대하여 상기의 결정 및 재생이 수행되도록 프로그램되는 것을 특징으로 하는 컴퓨터.12. The computer according to claim 11, wherein said processing means is programmed so that said determination and reproduction are performed on each received spare blocks in which all but one of the respective data blocks is received. 제 12 항에 있어서, 상기 처리수단은 언제 블록들이 남아있는 모든 데이터 블록들이 재생될 수 있도록 수신되며, 이후 파일의 다른 블록 및 그의 상기 부분을 수신하는 것을 중지하는 지를 결정하도록 프로그램되는 것을 특징으로 하는 컴퓨터.13. The method of claim 12, wherein the processing means is programmed to determine when all data blocks in which blocks remain are to be reproduced and then stop receiving other blocks of the file and their portions thereof. computer. 제 11 항 내지 제 13 항에 있어서, 상기 수신 수단은 R 및 C의 숫자 값을 나타내는 데이터를 수신하도록 동작가능하며, 상기 처리 수단은 각각의 여분의 데이터 블록들이 어떠한 데이터 블록들에 관련되는 지를 결정하는 데에 R 및 C를 사용하도록 프로그램되는 것을 특징으로 하는 컴퓨터.14. A method according to claims 11 to 13, wherein said receiving means is operable to receive data representing numerical values of R and C, said processing means determining which data blocks each extra data block is associated with. And programmed to use R and C to do so. 제 11 항 내지 제 14 항 중의 어느 한 항에 있어서, 상기 처리 수단은 컴퓨터 파일 또는 그의 부분을 재구성하기 위하여 수신된 데이터 블록들 및 상기의 모든 재생된 데이터 블록들과 함께 링크되도록 프로그램되며, 상기 저장 수단은 재구성된 파일 또는 그의 부분을 저장하도록 동작하는 것을 특징으로 하는 컴퓨터.15. The apparatus according to any one of claims 11 to 14, wherein said processing means is programmed to be linked with received data blocks and all said reproduced data blocks to reconstruct a computer file or part thereof, Means for operating to store the reconstructed file or portion thereof. 도면에 관련하여 실질적으로 설명된, 수신기/디코더를 통하여 송신기로부터 컴퓨터로 컴퓨터 파일을 다운로딩하는 데에 이용하는 컴퓨터.A computer used for downloading a computer file from a transmitter to a computer via a receiver / decoder substantially described with reference to the drawings. 상기의 청구항에서 설명한 바와 같이 동작하도록, 제 11 항 내지 제 16 항 중의 어느 한 항에서 청구한 컴퓨터의 처리 수단을 프로그램하기 위한 컴퓨터 프로그램을 갖는 녹음 매체.17. A recording medium having a computer program for programming a processing means of a computer as claimed in any one of claims 11 to 16, to operate as described in the claims. 도면에 관련하여 실질적으로 설명된, 컴퓨터 프로그램을 갖는 녹음 매체.A recording medium having a computer program, substantially described with reference to the drawings. 수신기/디코더로 다운로드될 파일 또는 그 일부분을 일련의 R 데이터 그룹으로 분할하고, 각 그룹들을 일면의 C 데이터 블록들로 하위분할하기 위한 수단;Means for dividing the file or portion thereof to be downloaded to the receiver / decoder into a series of R data groups, and subdividing each group into one side C data blocks; C 여분의 블록들의 그룹을 발생시키기 위한 수단; 및C means for generating a group of extra blocks; And 각 데이터 블록들의 그룹 및 여분의 블록들의 그룹을 전송하기 위한 수단을 포함하며, 상기 각 여분의 블록은 이들 데이터 블록들을 비트와이즈 배타적 OR 또는 NOR 시킴으로써 R 그룹내의 데이터 블록들 각각에 관련되는 것을 특징으로 하는 MPEG 전송 시스템.Means for transmitting each group of data blocks and a group of extra blocks, each extra block being associated with each of the data blocks in the R group by bitwise exclusive ORing or NORing these data blocks. MPEG transmission system. 도면에 관련하여 실질적으로 설명된 MPEG 전송 시스템.MPEG transmission system substantially described with reference to the drawings. MPEG 비디오 및/또는 오디오 데이터의 테이블 및 컴퓨터 파일 데이터를 수신하도록 배열되는 수신기/디코더에 있어서,A receiver / decoder arranged to receive a table of MPEG video and / or audio data and computer file data, 각 컴퓨터에 대하여 한 번씩 초기에 리셋되는 다수의 N 플래그를 저장하기 위한 수단;Means for storing a plurality of N flags that are initially reset once for each computer; 현재 수신된 컴퓨터 파일 블록을 일시적으로 저장하기 위한 수단;Means for temporarily storing a computer file block currently received; 블록 저장 수단에 저장된 블록을 컴퓨터에 공급하기 위한 수단; 및Means for supplying a block stored in the block storage means to the computer; And 현재 수신된 블록에 대한 플래그가 플래그 저장 수단에 세트되었는 지를 결정하고, 그렇지 않다면, 블록 공급 수단이 블록을 블록 저장 수단으로부터 컴퓨터로 블록을 공급하도록 하며, 플래그 저장 수단에 그 블록에 대한 플래그를 세트시키도록 배열되는 제어 수단을 포함하며, 상기 컴퓨터 파일은, 주기적으로 수신되며 그 각각이 그 블록의 ID를 포함하는 다수의 N 블록으로서 수신되는 것을 특징으로 하는 수신기/디코더.Determine whether a flag for the currently received block is set in the flag storage means, otherwise, cause the block supply means to supply the block from the block storage means to the computer, and set the flag for the block in the flag storage means. Control means arranged to cause the computer file to be received as a plurality of N blocks, each received periodically and each including an ID of the block. 제 21 항에 있어서, 상기 수신기/디코더는 상기 블록이 블록 공급 수단으로부터 수신되었다는 승인을 상기 컴퓨터로부터 수신하기 위한 수단을 더 포함하며, 상기 제어 수단은 그 블록에 대한 상기의 승인의 수신에 응답하여 그 블록에 대한 플래그를 세트시키도록 동작하는 것을 특징으로 하는 수신기/디코더.22. The apparatus of claim 21, wherein the receiver / decoder further comprises means for receiving an acknowledgment from the computer that the block has been received from a block supply means, the control means in response to receiving the acknowledgment for the block. A receiver / decoder operable to set a flag for that block. 제 21 항 또는 제 22 항에 있어서, 상기 제어 수단은 플래그를 리셋팅하지 않으면서 로스트 연결 후에 컴퓨터 파일 블록들의 수신을 재개하도록 동작가능한 것을 특징으로 하는 수신기/디코더.23. A receiver / decoder according to claim 21 or 22, wherein said control means is operable to resume reception of computer file blocks after lost connection without resetting a flag. 제 21 항 내지 제 23 항 중의 어느 한 항에 있어서, 상기 블록 공급 수단은 다른 타입의 다수의 블록 공급 수단 중의 하나인 것을 특징으로 하는 수신기/디코더.24. A receiver / decoder according to any one of claims 21 to 23, wherein said block supply means is one of a plurality of block supply means of different types. 제 24 항에 있어서, 상기 다수의 블록 공급 수단은 ECP-모드 IEEE 병렬 포트; 바이트-모드 IEEE 병렬 포트, 니블-모드 IEEE 병렬 포트, 및 RS-232 직렬 포트 중 적어도 두 개를 포함하는 것을 특징으로 하는 수신기/디코더.25. The apparatus of claim 24, wherein the plurality of block supply means comprises: an ECP-mode IEEE parallel port; And at least two of a byte-mode IEEE parallel port, a nibble-mode IEEE parallel port, and an RS-232 serial port. 도면에 관련하여 실질적으로 설명된 수신기/디코더.Receiver / decoder substantially described with reference to the drawings.
KR1019997008504A 1997-03-21 1997-04-25 Downloading a computer file from a transmitter via a receiver/decoder to a computer KR20000076401A (en)

Applications Claiming Priority (2)

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

Publications (1)

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

Family

ID=48262303

Family Applications (6)

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

Family Applications After (5)

Application Number Title Priority Date Filing Date
KR1019997008515A KR20000076411A (en) 1997-03-21 1997-04-25 Computer memory organization
KR1019997008509A KR20000076405A (en) 1997-03-21 1997-04-25 Acess control system
KR1019997008503A KR20000076400A (en) 1997-03-21 1997-04-25 Broadcast and Reception System, and Conditional Access System therefor
KR1019997008510A KR20000076406A (en) 1997-03-21 1997-04-25 Data processing system
KR1019997008507A KR20000076403A (en) 1997-03-21 1997-04-25 Television or radio system development

Country Status (3)

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

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5068398B2 (en) 2000-08-17 2012-11-07 Necディスプレイソリューションズ株式会社 Receiver and content distribution method
KR100726614B1 (en) * 2006-02-01 2007-06-11 에스케이 텔레콤주식회사 System for surpporting a programing about an application based on virtual machine and a method the same

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4159116B2 (en) Smart card and receiver for use with encrypted broadcast signal receiver
JP4079282B2 (en) Broadcast / reception system and conditional access system therefor
JP4062367B2 (en) MPEG receiver / decoder and method for downloading data to an MPEG receiver / decoder
US8438085B2 (en) Communications techniques for an intelligent digital audiovisual reproduction system
KR100589447B1 (en) Signal generation and broadcasting
RU2182375C2 (en) Computer memory structure
JP2009077451A (en) Method of extracting data section from transmission data stream
CN103532820A (en) Content providing apparatus and method, content receiving apparatus and method, program, and content downloading system
JP2001518256A5 (en)
KR20000076401A (en) Downloading a computer file from a transmitter via a receiver/decoder to a computer
AU739663B2 (en) Downloading a computer file from a transmitter via a receiver/decoder to a computer
US20090138911A1 (en) Video broadcasting system
MXPA99008542A (en) Downloading a computer file from a transmitter via a receiver/decoder to a computer
CZ331199A3 (en) Retrieving computer file from a transmitter via a receiver(decoder into a computer
AU760416B2 (en) Smartcard for use with a receiver of encrypted broadcast signals, and receiver
MXPA99008546A (en) Extracting data sections from a transmitted data stream
MXPA99008548A (en) Computer memory organization
CZ330799A3 (en) Apparatus for repeated generation of message set
CZ331499A3 (en) Arrangement of computer memory

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application