WO1998043162A1 - 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 PDFInfo
- Publication number
- WO1998043162A1 WO1998043162A1 PCT/EP1997/002109 EP9702109W WO9843162A1 WO 1998043162 A1 WO1998043162 A1 WO 1998043162A1 EP 9702109 W EP9702109 W EP 9702109W WO 9843162 A1 WO9843162 A1 WO 9843162A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- blocks
- block
- computer
- data
- receiver
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/007—Transform coding, e.g. discrete cosine transform
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management 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/258—Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
Definitions
- This invention relates to:-
- a method of downloading a computer file from a transmitter such as a satellite television uplink transmitter
- a receiver/decoder such as a digital satellite television set top box
- a computer such as a PC or workstation
- a computer for use in performing part of such a method
- a recording medium such as a diskette or. CD-ROM
- a computer program for programming a processing means of such a computer
- a receiver/decoder which is arranged to receive tables of MPEG video and/or audio data and blocks of computer file data.
- a first aspect of the present invention relates more particularly to a method of downloading a computer file from a transmitter via a receiver/decoder to a computer, comprising the steps of: dividing the file into blocks of data; transmitting the blocks from the transmitter; receiving the transmitted blocks at the receiver/decoder; and supplying the received blocks from the receiver/decoder to the computer.
- the blocks typically include CRC codes so that they can be tested for validity, and the transmission of the blocks might typically be repeated so that, if a block is not received correctly, or at all, the first time it is transmitted, it can be received the second or a subsequent time it is transmitted.
- a problem with such a scheme is the additional time taken to receive the file if one or more blocks are not validly received.
- the waiting time for the last few blocks may be relatively large.
- the waiting time for the last block may be almost as large as the time taken to transmit set of the blocks, even though all of the blocks are validly received.
- a method of downloading a computer file from a transmitter via a receiver/decoder to a computer comprising the steps of: dividing the file, or a part thereof, into a series of R groups of data, and subdividing each of the groups into a series of C blocks of the data; generating a group of C redundancy blocks, each redundancy block being related to respective ones of the data blocks in the R groups by being a bitwise exclusive OR or NOR of those data blocks; transmitting each of the groups of data blocks and the group of redundancy blocks from the transmitter; receiving at least some of the transmitted blocks at the receiver/decoder; supplying the received blocks from the receiver/decoder to the computer; and determining with the computer for at least one of the received redundancy blocks whether that redundancy block and all except one of its respective data blocks have been received, and if so regenerating said one data block by performing a bitwise exclusive OR or NOR operation on that redundancy block and the respective received
- the reference to a bitwise exclusive OR operation on a plurality of data blocks means that each bit of a first one of the blocks is XORed with a respective bit of a second one of the blocks, and the result is XORed with a respective bit of a third one of the blocks, and so on until the last one of the blocks.
- it is the first bit of the first block which is XORed with the first bit of the second block, with the result being XORed with the first bit of the third block, and so on to give the first bit of the result, and similarly for the second bits, third bits and so on.
- the first aspect of the invention provides the advantage, especially towards the end of a file downloading operation, that if a data block has not yet been received, it may be possible to regenerate the block from the respective redundancy block and the respective data blocks which have been received, without having to wait for the remaining data block to be transmitted and validly received. If there has been a problem in transmission or reception of a particular block, then there is a relatively high probability that there will also be a problem with transmission or reception of the next block in the same series of C blocks. However, by appropriate selection of the value C, the probability that there will also be a problem with transmission or reception of the corresponding block in the next series of C blocks will be relatively small.
- the determining and regenerating steps may be performed for only some of the received redundancy blocks, especially those towards the end of a file downloading operation. However, the determining and regenerating steps are preferably performed for each of the received redundancy blocks for which all except one of the respective data blocks have been received. In this latter case, the method may further comprise the step of determining when sufficient of the blocks have been received to enable any remaining data blocks to be regenerated and then ceasing to receive further blocks for the file or said part thereof. The regeneration steps can therefore take place after all the required blocks have been received.
- the values of the numbers R and C may be fixed for all file downloading operations.
- the method preferably further comprises the steps of transmitting from the transmitter data indicative of the values of the numbers R and C, receiving the R and C data at the receiver, -and supplying the R and C data to the computer; and wherein the computer is operable to use" the supplied R and C data in determining to which of the data blocks each redundancy block relates.
- other relationships are also possible.
- a computer for use in performing part of the method of the first aspect of the invention, the computer comprising: means for receiving the blocks from the receiver/decoder; means for processing the received blocks, the processing means being programmed to determine for at least one of the received redundancy blocks whether that redundancy block and all except one of its respective data blocks have been received, and if so to regenerate said one data block by performing a bitwise exclusive OR or NOR operation on that redundancy block and the respective received data blocks; and means for storing the received data blocks and any such regenerated data block.
- the processing means is programmed to perform such a determination and regeneration for each of the received redundancy blocks for which all except one of the respective data blocks have been received.
- the processing means is preferably programmed to determine when sufficient of the blocks have been received to enable any remaining data blocks to be regenerated and then to cause the receiving means to cease receiving further blocks of the file or said part thereof.
- the receiving means is preferably operable to receive data indicative of the values of the numbers R and C, and the processing means is programmed to use the R and C data in determining to which of the data blocks each redundancy block relates.
- the processing means is programmed to link together the received data blocks and any such regenerated data blocks to reconstruct the computer file or part thereof, and the storage means is operable to store the reconstructed file or part thereof.
- a recording medium bearing a computer program for programming a processing means of a computer according to the second aspect of the invention to operate as specified above.
- an MPEG transmission system comprising: means for dividing a file, or part thereof, to be downloaded to a receiver/decoder into a series of R groups of data and subdividing each of the groups into a series of C blocks of the data; means for generating a group of C redundancy blocks, each being related to respective ones of the data blocks in the R groups by being a bitwise exclusive OR or NOR of those data blocks; and means for transmitting each of the groups of data blocks and the group of redundancy blocks.
- a fifth aspect of the present invention also relates more particularly to a method of downloading a computer file from a transmitter via a receiver/decoder to a computer, comprising the steps of: dividing the file into blocks of data; repeatedly transmitting the blocks from the transmitter; receiving the transmitted blocks at the receiver/decoder; and supplying the received blocks from the receiver/decoder to the computer.
- the blocks of data are transmitted from the transmitter to the receiver/decoder at a fixed data rate, which might typically be 700 kbits/s.
- a fixed data rate which might typically be 700 kbits/s.
- the receiver/decoder needs to be able to download the blocks to the computer in various modes having different data rates, such as IEEE 1284 ECP-mode having a typical data rate of 1 Mbit/s, IEEE 1284 parallel byte-mode having a typical data rate of 400 kbits/s, IEEE 1284 parallel nibble-mode having a typical data rate of 150 to 200 kbits/s, and RS-232 serial mode having a maximum data rate of perhaps 115 kbits/s and a typical data rate possibly substantially lower than this.
- the data rate into the receiver/decoder is faster than the data rate from the receiver/decoder, • steps need to be taken to ensure that all of the data blocks are received and downloaded to the computer.
- the ⁇ minimum data rate from the receiver/decoder to the computer could be estimated, divided into the expected data rate to the receiver/decoder to provide a rounded-up integer X, and then one in every X of the received blocks could be downloaded to the computer so that N/X blocks are received in one phase, and this phase could then be repeated X times so as to download all N blocks.
- the fifth aspect of the invention is concerned with finding a solution to these problems.
- a method of downloading a computer file from a transmitter via a receiver/decoder to a computer comprising the steps of: dividing the file into a number (N) of blocks; repeatedly transmitting the blocks of the file from the transmitter, each with an identity of that block; and, at the receiver/decoder, providing a plurality of N flags which are initially reset, one for each block; and cyclically performing the steps of:- receiving a currently transmitted one of the blocks, and determining whether the flag for that block is set, and if not supplying that block from the receiver to the computer and setting the flag for that block; until all of the flags have been set.
- the receiver/decoder is able to determine whether a block is needed, and if so to download that block to the computer. If the receiver/decoder can download the blocks to the computer as quickly as the blocks can be downloaded to the receiver/decoder, then most, if not all, of the blocks will be downloaded sequentially in order. However, if the receiver/decoder cannot download the blocks to the computer as quickly as the blocks can be downloaded to the receiver/decoder, for example at only half the speed, then generally speaking alternate blocks will be downloaded during one phase, and then the remaining blocks will be downloaded during a subsequent phase. If the ratio between the download rate to the receiver/decoder to the download rate from the receiver/decoder varies, then the arrangement described above will automatically adjust the interleaving of the blocks.
- the computer is arranged to send an acknowledgement of receipt of the supplied block to the receiver/decoder, and wherein the setting step for each block is performed in response to receipt of the acknowledgement for that block. Accordingly, if a block is not properly acknowledged by the computer, then the receiver/decoder downloads the block again at the next available opportunity.
- the method may further include the step of repeating the method but without the step of resetting the flags.
- the downloading method can be resumed without repeating the downloading of blocks which have already been received.
- a receiver/decoder which is arranged to receive tables of MPEG video and/or audio data and blocks of computer file data, wherein a computer file is received as a plurality of N such blocks which are cyclically received and each of which includes an identification of that block
- the receiver/decoder including: means for storing a plurality of N flags which are initially reset, one for each computer file block; means for temporarily storing a currently received computer file block; means for supplying the block stored in the block storing means to a computer; and control means which is arranged to determine whether the flag for the currently received block is set in the flag storing means, and if not to cause the block supplying means to supply that block from the block storing means to the computer and to set the flag for that block in the flag storing means.
- the receiver/decoder preferably further comprises means for receiving an acknowledgement from the computer that such a block has been received from the block supplying means, and wherein the control means is operable so to set the flag for that block in response to receipt of such an acknowledgement for that block.
- control means can be operated to cause resumption of the reception of computer file blocks after a lost connection without resetting the flags.
- the block supplying means may be one of a plurality of such block supplying means of different types, for example including at least two of: an ECP-mode IEEE parallel port; a byte-mode IEEE parallel port; a nibble-mode IEEE parallel port; and an RS-232 serial port.
- Figure 1 shows the overall architecture of a digital television system
- Figure 2 shows the architecture of an interactive system of the digital television system of figure 1
- Figure 3 is a schematic diagram of interfaces of a receiver/decoder forming part of the system of figures 1 and 2
- Figure 4 is a schematic diagram of a remote controller used in the digital television system
- Figure 5 illustrates an arrangement of blocks making up a file to be downloaded
- Figure 6 illustrates the sequence of the blocks while the file is being downloaded
- Figure 7 is a functional diagram of the receiver/decoder during the file download operation
- Figures 8-12 are flow diagrams illustrating processes which take place in the receiver/decoder during the file download operation
- Figure 13 is an alternative illustration of an arrangement of blocks making up a file to be downloaded;
- Figure 14 is an illustration in greater detail of a first matrix of the blocks shown in figure 13;
- Figure 15 is an illustration of a generalised matrix of the blocks shown in figure 13;
- Figure 16 is a flow diagram illustrating a process which takes place in an application and data server in the television system in preparing a file for downloading; and
- Figure 17 is a flow diagram illustrating a process which takes place in a computer during a file download operation.
- the invention includes a mostly conventional digital television system 2000 which uses the known MPEG-2 compression system to transmit compressed digital signals.
- MPEG-2 compressor 2002 in a broadcast centre receives a digital signal stream (typically a stream of video signals).
- the compressor 2002 is connected to a multiplexer and scrambler 2004 by linkage 2006.
- the multiplexer 2004 receives a plurality of further input signals, assembles one or more transport streams and transmits compressed digital signals to a transmitter 2008 of the broadcast centre via linkage 2010, which can of course take a wide variety of forms including telecommunications links.
- the transmitter 2008 transmits electromagnetic signals via uplink 2012 towards a satellite transponder 2014, where they are electronically processed and broadcast via notional downlink 2016 to earth receiver 2018, conventionally in the form of a dish owned or rented by the end user.
- the signals received by receiver 2018 are transmitted to an integrated receiver/decoder 2020 owned or rented by the end user and connected to the end user's television set 2022.
- the receiver/decoder 2020 decodes the compressed MPEG-2 signal into a television signal for the television set 2022.
- a conditional access system 3000 is connected to the multiplexer 2004 and the receiver/decoder 2020, and is located partly in the broadcast centre and partly in the decoder. It enables the end user to access digital television broadcasts from one or more broadcast suppliers.
- a smartcard capable of deciphering messages relating to commercial offers (that is, one or several television programmes sold by the broadcast supplier), can be inserted into the receiver/decoder 2020. Using the decoder 2020 and smartcard, the end user may purchase commercial offers in either a subscription mode or a pay-per-view mode.
- An interactive system 4000 also connected to the multiplexer 2004 and the receiver/decoder 2020 and again located partly in the broadcast centre and partly in the decoder, enables the end user to interact with various applications via a modemmed back channel 4002.
- Figure 2 shows the general architecture of the interactive television system 4000 of the digital television system 1000 of the present invention.
- the interacting system 4000 allows an end user to buy items from on-screen catalogues, consult local news and weather maps on demand and play games through their television set.
- the interactive system 4000 comprises in overview four main elements:- • an authoring tool 4004 at the broadcast centre or elsewhere for enabling a broadcast supplier to create, develop, debug and test applications;
- a virtual machine including a run time engine (RTE) 4008, which is an executable code installed in the receiver/decoder 2020 owned or rented by the end user for enabling an end user to receive, authenticate, decompress, and load applications into the working memory of the decoder 2020 for execution.
- the engine 4008 also runs resident, general-purpose applications.
- the engine 4008 is independent of the hardware and operating system; and • a modemmed back channel 4002 between the receiver/decoder 2020 and the application and data server 4006 to enable signals instructing the server 4006 to insert data and applications into the MPEG-2 transport stream at the request of the end user.
- the interactive television system operates using "applications" which control the functions of the receiver/decoder and various devices contained therein.
- Applications are represented in the engine 4008 as “resource files”.
- a “module” is a set of resource files and data.
- a “memory volume” of the receiver/decoder is a storage space for modules. Modules may be downloaded into the receiver/decoder 2020 from the MPEG- 2 transport stream.
- the decoder 2020 contains, for example, six downloading devices; MPEG flow tuner 4028, serial interface 4030, parallel interface 4032, modem 4034 and two card readers 4036.
- an application is a piece of computer code for controlling high level functions of preferably the receiver/decoder 2020.
- a remote controller 2026 as shown in more detail in figure 4
- an instruction sequence associated with the button is run.
- An interactive application proposes menus and executes commands at the request of the end user and provides data related to the purpose of the application.
- Applications may be either resident applications, that is, stored in the ROM (or FLASH or other nonvolatile memory) of the receiver/decoder 2020, or broadcast and downloaded into the RAM (or FLASH) of the decoder 2020.
- the receiver/decoder 2020 is equipped with a resident initiating application which is an adaptable collection of modules (this term being defined in more detail hereunder) enabling the receiver/decoder 2020 to be immediately operative in the MPEG-2 environment.
- the application provides core features which can be modified by the broadcast supplier if required. It also provides an interface between the • resident applications and downloaded applications.
- the startup application allows any application, either downloaded or resident, to run on the receiver/decoder 2020. This application acts as a bootstrap executed on arrival of a service in order to start the application. Startup is downloaded into RAM and therefore can be updated easily. It can be configured so that the interactive applications available on each channel can be selected and run, either immediately after downloading or after preloading. In the case of preloading, the application is loaded into the memory 2024 and is activated by the startup when required.
- the Program Guide is an interactive application which gives full information about programming. For example, it may give information about, say, one week's television programmes provided on each channel of a digital television bouquet.
- the end user accesses an add-on screen, overlaid on the event shown on the screen of the television set 2022.
- This add-on screen is a browser giving information on the current and next events of each channel of the digital TV bouquet.
- the end user accesses an application which displays a list of information on events over one week.
- the end user can also search and sort events with simple and customised criteria.
- the end user can also access directly a selected channel.
- a Pay Per View application is an interactive application which gives full information about programming. For example, it may give information about, say, one week's television programmes provided on each channel of a digital television bouquet.
- the Pay Per View Application is an interactive service available on each PPN channel of the digital TV bouquet in conjunction with the conditional access system 3000.
- the end user can access the application using a TV guide or channel browser. Additionally, the application starts automatically as soon as a PPN event is detected on the PPN channel. The end user is then able to buy the current event either through his daughter smartcard
- the application may be either resident in the ROM of the receiver/decoder 2020 or downloadable into the RAM of the receiver/decoder 2020.
- a PC Download application On request, an end user can download computer software using the PC download application.
- a Magazine Browser application The magazine -browser application comprises a cyclic video broadcast of images with end user navigation via on-screen buttons.
- the quiz application is preferably synchronised with a broadcast quiz programme. As an example, multiple choice questions are displayed on the screen of the television 2022, and the user can select an answer using the remote controller 2026. The quiz application can inform the user whether the answer is correct or not, and can keep count of the user's score.
- a Teleshopping application In one example of the teleshopping application, offers of goods for sale are transmitted to the receiver/decoder 2020 and displayed on the television 2022. Using the remote controller, the user can select a particular item to buy. The order for the item is sent via the modemmed back channel 4002 to the application and data server 4006 or to a separate sales system the telephone number of which has been downloaded to the receiver/decoder, possibly with an order to debit the account for a credit card which has been inserted into one of the card readers 4036 of the receiver/decoder 2020.
- a Telebanking application In one example of the telebanking application, the user inserts a bank card into one of the card readers 4036 of the receiver/decoder 2020.
- the receiver/decoder 2020 dials up the user's bank, using a telephone number stored in the bank card or stored in the receiver/decoder, and then the application provides a number of facilities which can be selected using the remote controller 2026, for example for downloading via the telephone line a statement of account, transferring funds between accounts, requesting a cheque book, etc.
- An Internet Browser application •
- instructions from the user such as a request to view a web page having a particular URL, are entered using the remote controller 2026, and these are sent by the modemmed back channel 4002 to the application and data server 4006.
- the appropriate web page is then included in the transmissions from the broadcast centre, received by the receiver/decoder 2020 via the uplink 2012, transponder 2014 and downlink 2016,- and displayed on the television 2022.
- the computer to which it is ultimately desired to download the software will have a different rate of data input from the rate at which it is broadcast.
- the difference may be from 9 kbits/s to 1000 kbit/s, with the software being transmitted via the MPEG-2 stream at, say, 500 kbits/s.
- the receiver/decoder 2020 includes a bitmap which describes all of the software blocks.
- every bit in the bitmap is set to zero.
- the receiving computer requires its own software, usually provided on a floppy disk, to join the various blocks of the transmitted software.
- Auto-interleaving provides a measure of flow control. Given that the broadcast data rate cannot be altered, the blocks in successive cycles are auto- interleaved. According to the bit rate of the receiving computer, in successive cycles of a carousel every, say, third or fourth block is transmitted to the decoder 2020 until all the blocks have been received.
- the data is typically downloaded from the transponder 2014 to the receiver/decoder 2020 via the MPEG flow tuner 4028 at a data rate typically of 700 kbits/s, and from the receiver/decoder 2020 to the computer via the parallel interface 4032 or serial interface 4030.
- the receiver/decoder supports downloading to the computer via the parallel interface 4032 in IEEE 1284 ECP-mode having a typical data rate of 1 Mbit/s, in byte-mode having a typical data rate of 400 kbits/s and in nibble- mode having a typical data rate of 150 to 200 kbits/s.
- the receiver/decoder also supports downloading to the computer via the serial interface 4030 in RS-232 mode having a maximum data rate of perhaps 115 kbits/s and a typical data rate possibly substantially lower than this.
- the receiver/decoder 2020 provides all of these modes of downloading to the computer in order to provide flexibility, and the user will normally choose the fastest available mode of downloading.
- the minimum data rate from the receiver/decoder 2020 to the computer could be estimated, divided into the expected data rate to the receiver/decoder 2020 to provide a rounded-up integer X, and then one in every X of the received blocks could be downloaded to the computer so that N/X blocks are received in one phase, and this phase could then be repeated X times so as to download all N blocks.
- this is reliant upon the data rate to the computer being accurately estimated, and this is not possible because that data rate can vary. Also, serious problems would arise with this method if a particular data block were lost.
- the receiver/decoder 2020 is functionality arranged during a PC download operation as shown in figure 7.
- the incoming bitstream from the receiver 2018 undergoes a block detection function 10 and can then be passed by a selector 12 to a buffer 14A or a buffer 14B.
- the contents of a selected one of the buffers 14A, 14B can then be supplied via a selector 16 and a selected one of the parallel port 4032 and the serial port 4030 to a corresponding port of the PC 14.
- the buffers 14A, 14B are provided by portions of RAM of the receiver/decoder 2020, as too is a bitmap 20.
- the block detection function 10, selectors 12, 16, buffers 14 A, 14 B, parallel and serial ports 4032, 4030 and the bitmap 20 are controlled by a processor 22 running the PC download application.
- step 24 a received block is detected by the block detection function 10, and the number N of blocks is determined from a header for each of the blocks which includes the number i of that block and the total number N of blocks.
- step 26 the bitmap 20 is set up with a number of bits equal to the number N, and each bit is reset to 0.
- steps 28, 30, a buffer A flag and a buffer B flag are both set to "empty". In the example being described, the possible states of these flags are "empty", “filling", “full” and "emptying”.
- step 32 an output mode to the PC is set.
- step 34 the initialisation process hands over to the six processes shown in figures 9, 10A, 10B, 11A, 11B and 12, which are performed substantially in parallel.
- Figure 9 shows the routine which controls the start of downloading to the buffers 14A, 14B.
- step 36 the process waits until a new block is detected by the block detection function 10. Once a new block is detected, in step 38, the number i of the new block is detected by the block detection function 10. In step 40, a check is made in the bitmap
- step 42 the buffer A flag is tested for "empty”, and if so, then in step 44 the buffer A flag is set to "filling”, and then in step 46 downloading of the block into the buffer 14A via the selector 12 is started and the process then reverts to its beginning. If, in step 42, the buffer A flag is not set to "empty”, then in step 48, the buffer B flag is tested for "empty”. If so, then in step 50, the buffer B flag is set to "filling", and then in step 52 downloading of the block into the buffer 14B via the selector 12 is started and the process then reverts to its beginning. If in steps 42 and
- Figure 10A shows the routine which is carried out at the end of downloading of a block to the buffer 14A.
- step 54 the process waits until the end of the block is detected by the block detection function 10. Then, in steps 56, 58, the block is checked using a CRC included in the block. If the block is good, then in step 60, the buffer A flag is set to "full”, whereas if the block is bad, then in step 62, the buffer A flag is set to "empty", as a result of which the block will be ignored.
- a complementary routine is carried out at the end of downloading of a block to be buffer 14B, as is shown in figure 10B.
- Figure 11A shows the routine which controls the downloading of a block from the buffer A to the PC 18.
- the process waits until the buffer A flag becomes set to "full”.
- step 66 a check is made whether the buffer B flag is set to "emptying", and if it is then the process waits until the buffer 10B has completed emptying.
- step 68 the buffer A flag is set to "emptying”.
- step 70 the block i in the buffer 14A starts to be downloaded via the selector 16 to the PC 18 using the set output mode.
- step 72 the process waits until the download is complete.
- a check is made for an acknowledgement from the PC 18.
- step 76 the bit b(i) for the block i in the bitmap 20 is set to 1, and then in step 78 the buffer B flag is set to "empty". Then, the process reverts to its beginning. If, in step 74, the acknowledgement is not received, then the step 76 is omitted, and therefore the downloading of the block will be disregarded.
- a complementary routine is carried out to control the downloading of a block from the buffer 14B to the PC 18, as shown in figure 11B.
- Figure 12 shows the routine which checks that the downloading of the computer file is complete.
- step 80 a check is made whether all of the bits b(l) to b(N) in the bitmap 20 are set to 1, and if so, then the file downloading operation is terminated insofar as the receiver/decoder 2020 is concerned.
- the receiver/decoder 2020 is able to determine whether a block is needed, and if so then it places the block in one of the buffers 14A, 14B and waits until the PC 18 is ready to receive that block. If a block fails the CRC check, or if a block is not properly acknowledged by the PC 18, then the receiver/decoder 2020 downloads the block again at the next available opportunity. Accordingly, if the receiver/decoder 2020 can download the blocks to the PC 18 as quickly as the blocks can be downloaded to the receiver/decoder 2020, then most, if not all, of the blocks will be downloaded sequentially in order.
- the receiver/decoder 2020 cannot download the blocks to the PC 18 as quickly as the blocks can be downloaded to the receiver/decoder 2020, for example at only half the speed, then generally speaking alternate blocks will be downloaded during one phase, and then the remaining blocks will be downloaded during-. a subsequent phase. If the ratio between the download rate to the receiver/decoder 2020 to the download rate from the receiver/decoder 2020 varies, then the arrangement described above will automatically adjust the interleaving of the blocks.
- the PC 18 is programmed so that, once each block has been received, that block is written to the hard disk of the PC 18 with a file name which includes the number i of the block. Then, once all of the blocks have been received, the data in the N files are concatenated in order to regenerate the original computer file.
- the blocks of data were considered to be a mere sequence of the blocks 1 to N.
- the blocks can be considered to be arranged as a series of matrices, each containing (R + 1) rows and C columns of the blocks as shown in figures 13 to 15.
- step 114 a test is made as to whether the end of the file has been reached, and if not in step 116 the matrix counter j is incremented. Steps 102 to 108 are then repeated for the next RC data blocks.
- the receiver/decoder 2020 When a user wishes to download such a file, using the receiver/decoder 2020 they select the entry for the file from the directory or index, and the receiver/decoder 2020 then supplies the file information, including the values of R and C to the PC 18. Then, during a PC download of that file, the receiver/decoder 2020 need not function any differently to the manner described above with reference to figures 7 to 12. However, the PC 18 is programmed (by a program loaded onto the PC 18 from a diskette or CD-ROM or downloaded to the PC 18 from the receiver/decoder 2020) to deal with the redundancy blocks in the manner described below. In overview, each time that the
- PC 18 detects that a redundancy block has been downloaded, it checks whether all but one of the data blocks in the same column of the same matrix as the received redundancy block have been received. If so, the PC 18 regenerates the missing data block by performing a bitwise XOR operation on the received data blocks and the received redundancy block and stores the regenerated data block as if it had been received from the receiver/decoder 2020.
- step 120 the PC 18 receives the values R,C, and then in step 122 receives a block.
- step 124 the PC 18 extracts from the header of the received block its block number i.
- step 126 the PC 18 stores the block as block i.
- step 128 sends an acknowledgement to the receiver/decoder 2020.
- step 130 the PC 18 checks whether at least all but one (R-l) of the blocks have been received in each of the C columns. This may be done by checking a directory of the hard disk of the PC 18 where the blocks are stored, or preferably, for reasons of speed, by employing a bitmap in the memory of the PC 18, which is marked off as each block is stored.
- Step 132 controls a FOR-NEXT loop.
- the PC 18 determines whether all of the data blocks for that column (that is R- data blocks) have been received. If so, then the FOR-NEXT loop proceeds to the next column. However, if not, then in step 136 the PC 18 regenerates the missing data block by performing a bitwise XOR operation on the data blocks which have been received and the redundancy block.
- step 138 the PC 18 stores the regenerated data block, and proceeds to the next column in the FOR-NEXT loop.
- the process proceeds to step 140, in which the computer file is regenerated from the received data blocks, and in the step 142 the computer file is stored on the hard disk of the PC 18.
- the arrangement described above deals with two main problems.
- the first problem is concerned with brief interruptions in the bitstream from the transponder 2014 to the earth receiver 2018. It will be appreciated that if a particular block i has been affected by such an interruption, there is a relatively high probability that the next block i+1 in the same row will also be affected.
- the value of C is chosen such that there is a relatively small probability that the next block i+C in the same column will also be affected.
- R of the (R+l) blocks in each column are properly received, then using the redundancy block and the property of the bitwise XOR operation, the remaining block can be regenerated.
- the other problem is concerned with the effective rate at which blocks are received towards the end of the file download operation.
- the waiting period may be almost as large as the time taken to transmit all of the blocks in the file.
- the transmission of additional redundancy blocks adds to the total time to transmit a complete file, and therefore the advantages of dealing with transmission interruptions and reducing the time to wait for the last few blocks need to be balanced against the disadvantage of the increase in the total transmission time, by appropriate selection of the values of C and R.
- the values of C and R are determined when the file is prepared into blocks ready for transmission, and the values of C and R are included in the directory or index table for downloadable files.
- the values of C and R may be predetermined without their values being included in the directory or index table, and the PC 18 may be pre-programmed with the values of C and R.
- blocks are downloaded until sufficient blocks have been downloaded to enable the file to be regenerated. Then, the missing blocks are regenerated and the file is regenerated.
- the missing data block may be regenerated and marked as received at that stage, without waiting for sufficient blocks to have been downloaded to enable the whole file to be regenerated.
- the receiver/decoder 2020 has been illustrated as being separate from the PC 18. It will be appreciated, however, that the receiver/decoder 2020 may form a part of the PC 18, for example in the form of an add-on card.
- PC/ASB/19712 Downloading Data (Attorney Reference No. PC/ASB/19713), Computer Memory Organisation (Attorney Reference No. PC/ASB/19714), Television or Radio Control System Development (Attorney Reference No. PC/ASB/19715), Extracting Data Sections from a Transmitted Data Stream (Attorney Reference No. PC/ASB/19716), Access Control System (Attorney Reference No. PC/ASB/19717), Data Processing System (Attorney Reference No. PC/ASB/19718), and Broadcast and Reception System, and Receiver/Decoder and Remote Controller therefor (Attorney Reference No. PC/ASB/19720).
- the disclosures of these documents are incorporated herein by reference.
- the list of applications includes the present application.
Abstract
Description
Claims
Priority Applications (14)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IL13193397A IL131933A0 (en) | 1997-03-21 | 1997-04-05 | Downloading a computer file from a transmitter via a receiver/decoder to a computer |
BR9714590-4A BR9714590A (en) | 1997-03-21 | 1997-04-25 | Downloading a computer file from a transmitter via a receiver / decoder set to a computer |
ZA973606A ZA973606B (en) | 1997-03-21 | 1997-04-25 | Downloading a computer file from a transmitter via a receiver/decoder to a computer |
EP97922909A EP1010068A1 (en) | 1997-03-21 | 1997-04-25 | Downloading a computer file from a transmitter via a receiver/decoder to a computer |
CN97182180A CN1254422A (en) | 1997-03-21 | 1997-04-25 | Downloading computer file from transmitter via receiver/decoder to computer |
PL97335779A PL335779A1 (en) | 1997-03-21 | 1997-04-25 | Loading of a computer file from a transmitter via a receiver/decoder into a computer |
PCT/EP1997/002109 WO1998043162A1 (en) | 1997-03-21 | 1997-04-25 | Downloading a computer file from a transmitter via a receiver/decoder to a computer |
NZ500199A NZ500199A (en) | 1997-03-21 | 1997-04-25 | Downloading a computer file from a transmitter via a receiver/decoder to a computer |
JP54322098A JP2001521692A (en) | 1997-03-21 | 1997-04-25 | Download computer files from transmitter to computer via receiver / decoder |
AU28880/97A AU739663B2 (en) | 1997-03-21 | 1997-04-25 | Downloading a computer file from a transmitter via a receiver/decoder to a computer |
TR1999/02272T TR199902272T2 (en) | 1997-03-21 | 1997-04-25 | Downloading a computer file from a transmitter to a computer via a receiver/decoder. |
CA002284147A CA2284147A1 (en) | 1997-03-21 | 1997-04-25 | Downloading a computer file from a transmitter via a receiver/decoder to a computer |
HU0001481A HUP0001481A3 (en) | 1997-03-21 | 1997-04-25 | Method of downloading a computer file from a transmitter to a computer, as well as receiver and decoder for receiving tables of mpeg video and/or audio data and blocks of computer file data |
NO994533A NO994533L (en) | 1997-03-21 | 1999-09-17 | Downloading a data file from a transmitter through a receiver / decoder to a computer |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP97400650.4 | 1997-03-21 | ||
EP97400650 | 1997-03-21 | ||
PCT/EP1997/002109 WO1998043162A1 (en) | 1997-03-21 | 1997-04-25 | Downloading a computer file from a transmitter via a receiver/decoder to a computer |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1998043162A1 true WO1998043162A1 (en) | 1998-10-01 |
Family
ID=26070204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP1997/002109 WO1998043162A1 (en) | 1997-03-21 | 1997-04-25 | Downloading a computer file from a transmitter via a receiver/decoder to a computer |
Country Status (14)
Country | Link |
---|---|
EP (1) | EP1010068A1 (en) |
JP (1) | JP2001521692A (en) |
CN (1) | CN1254422A (en) |
AU (1) | AU739663B2 (en) |
BR (1) | BR9714590A (en) |
CA (1) | CA2284147A1 (en) |
HU (1) | HUP0001481A3 (en) |
IL (1) | IL131933A0 (en) |
NO (1) | NO994533L (en) |
NZ (1) | NZ500199A (en) |
PL (1) | PL335779A1 (en) |
TR (1) | TR199902272T2 (en) |
WO (1) | WO1998043162A1 (en) |
ZA (1) | ZA973606B (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004034674A1 (en) * | 2002-09-30 | 2004-04-22 | Popwire.Com | Dynamic transferring software/protocol |
US6871002B1 (en) | 1999-10-06 | 2005-03-22 | Nec Corporation | DSM-CC carousel receiver, receiving method used therefor, and recording medium storing a control program therefor |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2033699A (en) * | 1978-11-01 | 1980-05-21 | Philips Electronic Associated | Error detection |
US4623920A (en) * | 1982-04-15 | 1986-11-18 | Le Groupe Videotron Ltee | Cable network data transmission system |
US4660202A (en) * | 1985-04-29 | 1987-04-21 | Zenith Electronics Corporation | Error protection method for packeted data |
US4985895A (en) * | 1988-11-14 | 1991-01-15 | Wegener Communications, Inc. | Remote controlled receiving system apparatus and method |
US5309450A (en) * | 1990-04-30 | 1994-05-03 | Samsung Electronics Co., Ltd. | Error correction coding method and apparatus for digital image information |
EP0680216A2 (en) * | 1994-04-28 | 1995-11-02 | Thomson Consumer Electronics, Inc. | Apparatus and method for formulating an interactive signal |
EP0732850A1 (en) * | 1989-05-25 | 1996-09-18 | General Instrument Corporation Of Delaware | Functionally modifiable cable television converter system |
-
1997
- 1997-04-05 IL IL13193397A patent/IL131933A0/en unknown
- 1997-04-25 HU HU0001481A patent/HUP0001481A3/en unknown
- 1997-04-25 CA CA002284147A patent/CA2284147A1/en not_active Abandoned
- 1997-04-25 ZA ZA973606A patent/ZA973606B/en unknown
- 1997-04-25 TR TR1999/02272T patent/TR199902272T2/en unknown
- 1997-04-25 PL PL97335779A patent/PL335779A1/en unknown
- 1997-04-25 BR BR9714590-4A patent/BR9714590A/en unknown
- 1997-04-25 CN CN97182180A patent/CN1254422A/en active Pending
- 1997-04-25 EP EP97922909A patent/EP1010068A1/en not_active Withdrawn
- 1997-04-25 WO PCT/EP1997/002109 patent/WO1998043162A1/en not_active Application Discontinuation
- 1997-04-25 AU AU28880/97A patent/AU739663B2/en not_active Ceased
- 1997-04-25 NZ NZ500199A patent/NZ500199A/en unknown
- 1997-04-25 JP JP54322098A patent/JP2001521692A/en active Pending
-
1999
- 1999-09-17 NO NO994533A patent/NO994533L/en not_active Application Discontinuation
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2033699A (en) * | 1978-11-01 | 1980-05-21 | Philips Electronic Associated | Error detection |
US4623920A (en) * | 1982-04-15 | 1986-11-18 | Le Groupe Videotron Ltee | Cable network data transmission system |
US4660202A (en) * | 1985-04-29 | 1987-04-21 | Zenith Electronics Corporation | Error protection method for packeted data |
US4985895A (en) * | 1988-11-14 | 1991-01-15 | Wegener Communications, Inc. | Remote controlled receiving system apparatus and method |
EP0732850A1 (en) * | 1989-05-25 | 1996-09-18 | General Instrument Corporation Of Delaware | Functionally modifiable cable television converter system |
US5309450A (en) * | 1990-04-30 | 1994-05-03 | Samsung Electronics Co., Ltd. | Error correction coding method and apparatus for digital image information |
EP0680216A2 (en) * | 1994-04-28 | 1995-11-02 | Thomson Consumer Electronics, Inc. | Apparatus and method for formulating an interactive signal |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6871002B1 (en) | 1999-10-06 | 2005-03-22 | Nec Corporation | DSM-CC carousel receiver, receiving method used therefor, and recording medium storing a control program therefor |
WO2004034674A1 (en) * | 2002-09-30 | 2004-04-22 | Popwire.Com | Dynamic transferring software/protocol |
Also Published As
Publication number | Publication date |
---|---|
HUP0001481A3 (en) | 2001-01-29 |
CN1254422A (en) | 2000-05-24 |
HUP0001481A2 (en) | 2000-09-28 |
BR9714590A (en) | 2002-09-17 |
CA2284147A1 (en) | 1998-10-01 |
EP1010068A1 (en) | 2000-06-21 |
NO994533L (en) | 1999-11-22 |
PL335779A1 (en) | 2000-05-22 |
AU2888097A (en) | 1998-10-20 |
NZ500199A (en) | 2002-08-28 |
ZA973606B (en) | 1998-09-07 |
TR199902272T2 (en) | 2000-01-21 |
IL131933A0 (en) | 2001-03-19 |
AU739663B2 (en) | 2001-10-18 |
JP2001521692A (en) | 2001-11-06 |
NO994533D0 (en) | 1999-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4062367B2 (en) | MPEG receiver / decoder and method for downloading data to an MPEG receiver / decoder | |
JP2009077451A (en) | Method of extracting data section from transmission data stream | |
US6970960B1 (en) | Instream loader | |
JP4162722B2 (en) | Transmission and reception of TV programs and other data | |
AU744517B2 (en) | Computer memory organization | |
CN1112334A (en) | Method and apparatus for processing an audio video interactive signal | |
AU740740B2 (en) | Data processing system | |
JP2001518256A5 (en) | ||
AU739663B2 (en) | Downloading a computer file from a transmitter via a receiver/decoder to a computer | |
WO1998043165A1 (en) | Television or radio control system development | |
KR20000076401A (en) | Downloading a computer file from a transmitter via a receiver/decoder to a computer | |
AU742213B2 (en) | Access control 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 | |
JP2002118812A (en) | Digital broadcast receiver | |
MXPA99008546A (en) | Extracting data sections from a transmitted data stream | |
MXPA99008547A (en) | Television or radio control system development | |
MXPA99008548A (en) | Computer memory organization |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 97182180.1 Country of ref document: CN |
|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AL AM AT AU AZ BA BB BG BR BY CA CH CN CU CZ DE DK EE ES FI GB GE GH HU IL IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TR TT UA UG US UZ VN YU |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH KE LS MW SD SZ UG AM AZ BY KG KZ MD RU TJ TM AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
ENP | Entry into the national phase |
Ref document number: 2284147 Country of ref document: CA Ref document number: 2284147 Country of ref document: CA Kind code of ref document: A Ref document number: 1998 543220 Country of ref document: JP Kind code of ref document: A |
|
WWE | Wipo information: entry into national phase |
Ref document number: PA/a/1999/008542 Country of ref document: MX Ref document number: 1019997008504 Country of ref document: KR Ref document number: PV1999-3311 Country of ref document: CZ Ref document number: 1999/02272 Country of ref document: TR |
|
WWE | Wipo information: entry into national phase |
Ref document number: 09400313 Country of ref document: US |
|
WWE | Wipo information: entry into national phase |
Ref document number: 500199 Country of ref document: NZ Ref document number: 1199900825 Country of ref document: VN |
|
WWE | Wipo information: entry into national phase |
Ref document number: 1997922909 Country of ref document: EP |
|
REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
WWP | Wipo information: published in national office |
Ref document number: PV1999-3311 Country of ref document: CZ |
|
WWP | Wipo information: published in national office |
Ref document number: 1997922909 Country of ref document: EP |
|
WWP | Wipo information: published in national office |
Ref document number: 1019997008504 Country of ref document: KR |
|
WWW | Wipo information: withdrawn in national office |
Ref document number: 1997922909 Country of ref document: EP |
|
WWR | Wipo information: refused in national office |
Ref document number: 1019997008504 Country of ref document: KR |
|
WWR | Wipo information: refused in national office |
Ref document number: PV1999-3311 Country of ref document: CZ |