MPEG2 transport decoder

Abstract: Disclosed is an MPEG2 transport decoder including a transport parser unit for storing each syntax field value by parsing, outputting each data identified with the packet identifier PID after collecting from each packet data and outputting the interrupt signal if a pointed resister value of the resist values is set; a CPU interface unit for providing an interface between the resister file of said transport parser unit and each decoder and outputting a signal selecting a transport parser unit or a video decoder, an audio decoder, a data decoder and a memory by decoding the address; a CPU for reading the interrupt resister from said CPU interface unit once an interrupt signal is inputted, detecting if the interrupt signal is inputted from said transport parser unit or from the video decoder, the audio decoder and the data decoder, and decoding according to the program on a memory unit; a memory unit for storing a program of the operations of said CPU; and a decoder interface unit for controlling in order to exchanging the data among said CPU, said transport parser unit and said video, audio, data decoders.

Description: BACKGROUND OF THE INVENTION The present invention relates to an MPEG2 transport decoder, more particularly to an MPEG2 transport decoder which is programmable for multipurpose use. Recently, as for a format for transmitting/receiving a digitally processed picture and an audio between media, a number of methods are suggested. Among them, there is an MPEG2 system part suggested from the moving picture experts group MPEG2 so that the data can be transmitted and received between media with being made as a format convenient for using the compressed picture and sound data. The transmitting/receiving format is divided into two types: one is to transmit/receive in an error free environment as of a medium of storing device; the other is to transmit/receive in an environment in which an error may be occurred as of a medium of a satellite or a cable. The transmitting/receiving in an environment in which an error never occurs is performed by formatting such manner of a program stream and in an environment in which an error may often occur is performed by formatting such manner of a transport packet stream. A typical MPECG2 transport decoder applied in a transmitting/receiving device in an error having environment is divided into the cases of using a central processor unit CPU and using a hardwired logic. In the MPEG2 transport decoder using the CPU, the operation of the CPU should be performed at a high speed and in the MPEG2 transport decoder using the hardwired logic, the use should be fixed in a certain purpose. Referring to the attached drawings, conventional construction of the MPEG2 transport decoder is described below. Fig. 1 illustrates the MPEG2 transport decoder using a conventional CPU. Fig. 2 illustrates the MPEG2 transport decoder using a conventional hardwired logic. The MPEG2 transport decoder using a conventional CPU as illustrated in Fig.1, comprises a channel decoding unit 1 outputting a transport packet data by tuning and demodulating a signal received through a satellite or a cable, a data buffer unit 2 outputting after storing momentarily a transport packet data outputted from the channel decoding unit 1; a CPU 3 performing a decoding operation as programmed in the memory by reading a data outputted from the data buffer unit 2; a memory unit 4 storing a program to be operated by the CPU 3; and three decoders of a video decoder 5, an audio decoder 6, and a data decoder 7 decoding a video signal, an audio signal and a data signal each with the CPU 3. On the other hand, the MPEG2 transport decoder using a conventional CPU as illustrated in Fig. 2, comprises a channel decoding unit 1 outputting a transport packet data by tuning and demodulating a signal received through a satellite or a cable, a hardwired logic unit 8 decoding a transport packet data outputted from the channel decoding unit 1 in such a manner of hardwiring; and three decoders of a video decoder 5, an audio decoder 6, and a data decoder 7 decoding a video signal, an audio signal and a data signal each with the hardwired logic unit. As described above, the conventional transport decoding is performed only with the CPU or the hardwired logic. That is, as of Fig. 1, as CPU is used for encompassing all various applications, the CPU reads a transport packet data from the channel decoder' unit 1, performs a decoding 'operation according to the programmed on the memory unit 4 and outputs the decoded data to a video, an audio, and a data decoder. However, with these systems in which the data is processed by programming, a high-speed CPU is needed to perform a high-speed decoding operation. And as illustrated in Fig. 2, in case of composing with a hardwired logic, a decoding operation is possible in the fixed applications, however in case of different applications, the decoding operation is not flexible. In addition, when using an unfixed field or a private data is inputted thereto, if the related condition is not composed of hardwired logic, a hardwired logic circuit should be recomposed to process the case. EP0679028A2 which forms part of the "state-of-the-art" according to Art 54(3) EPC, describes an inverse transport processor system for a TDM packet signal TV receiver which includes apparatus for selectively extracting desired payloads of program component data and coupling this data to a common buffer memory data input port. A microprocessor (19) associated with the system also couples data to the common buffer memory (18) data input port. The respective component payloads and data generated by the microprocessor are stored in respective blocks of the common buffer memory in response to associated memory address which are applied to a memory address input port by an address multiplexer (17). A decryption device (16) is included to decrypt payload data according to packet specific decryption keys. In addition a detector (15) is included to detect payloads including entitlement data. Payloads containing entitlement data are directed,via the common buffer memory to a smart card which generates the packet specific decryption keys. A memory data output port is coupled to a bus interconnected with the respective program component processors (21-24). Responsive to data requests from the respective program component processors, and data write requests from the component payload source, memory access for read and write functions is arbitrated (17) so that no incoming program data is lost. SUMMARY OF THE INVENTION Particular embodiments of the present invention seek to address the problems of prior art, so that the transport decoding operation may be variously applied according to the programmed contents by user by composing the MPEG2 transport decoder with incorporating a hardwired logic and a CPU capable of being programmed. To this end in a currently preferred embodiment the MPEG transport decoder comprising: a channel decoder unit for outputting a signal received through a satellite or a cable tuned to receive transport packet data; a transport decoder for decoding the transport packet data; and video (5), audio (6), and data decoders (7) for decoding video, audio and data signals via the transport decoder, said transport decoder further comprising: a transport parser unit (11) for storing at least one syntax field value in at least one packet decoder register, said syntax field value obtained by parsing said transport packet data, for outputting said transport packet data, whereby each packet of said transport packet data is identified using a packet identifier (PID) obtained from said received transport packet data, and for outputting an interrupt signal if a pre-defined syntax field value is stored within any one of said packet decoder registers; a CPU interface unit (14) for providing an interface between said at least one packet decoder register of said transport parser unit (11) and each of said video (5), audio (6) or data (7) decoders, for outputting a signal selecting either the transport parser unit (11) or the video (5), audio (6) or data (7) decoders or a first memory unit (22) the selection being made by decoding an address, the CPU interface unit further comprising at least one interrupt register for receiving at least one interrupt signal from either of said transport parser unit (11) or said video (5), audio (6) or data (7) decoders; a CPU (13) for reading the contents of said interrupt register after the interrupt signal has been inputted from either the transport parser unit (11), the video (5), audio (6) or data decoder (7), for detecting whether the interrupt signal is inputted from said transport parser unit (11) or from the video (5), audio (6) or data decoder (7), and arbitrating CPU (13) access to said transport parsing unit (11), video (5), audio (6) or data decoders (7) according to a program which is stored on a second memory unit (12), and which is arranged to determine the operations of said CPU (13); and a decoder interface unit (15) for controlling the order of exchange of said transport packet data amongst said CPU (13), said transport parser unit (11), or said video (5), audio (6) or data decoders (7). BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a configuration view of an MPEG2 transport decoder using a conventional CPU; Fig. 2 is a configuration view of an MPEG2 transport decoder using a conventional hardwired logic; Fig. 3 is a configuration view of an MPEG2 transport decoder capable of being programmed according to a preferred embodiment of the invention; Fig. 4 is a detailed block diagram of a transport parser unit and a CPU interface unit of Fig. 3; Fig. 5 is a detailed block diagram of an embodiment of a decoder interface unit of Fig. 4; Fig. 6 is a detailed block diagram of another embodiment of a decoder interface unit of Fig. 4; Fig. 7 illustrates a transport packet syntax inputted to a transport packet decoder resister according to a preferred embodiment of the invention; Fig. 8 illustrates a ADF syntax inputted to a ADF decoder resister according to a preferred embodiment of the invention; Fig. 9 illustrates a PES packet syntax inputted to a PES decoder register according to a preferred embodiment of the invention; Figs. 10A, 10B and 10C illustrate a PSI syntax inputted to a PSI decoder register according to a preferred embodiment of the invention; Fig. 11 illustrates a register list of the transport decoder according to a preferred embodiment of the invention; Fig. 12 illustrates a register list of a ADF decoder according to a preferred embodiment of the invention; Fig. 13 illustrates a register list of a PES decoder according to a preferred embodiment of the invention; Fig. 14 illustrates a table of interrupt generation in a transport decoder according to a preferred embodiment of the invention; Fig. 15 illustrates a table of interrupt generation in a ADF decoder according to a preferred embodiment of the invention; Fig. 16 illustrates a table of interrupt generation in a PES decoder according to a preferred embodiment of the invention; and Fig. 17 illustrates a table of interrupt generation in a CPU controlling interface unit according to a preferred embodiment of the invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An MPEG2 transport decoder embodying the present invention is now described with reference to the attached drawings. As illustrated in Fig. 3, An MPEG2 transport decoder according to the regulations of the MPEG2 system comprises a transport parser unit 11 storing each syntax field value after parsing, outputting each audio, video and data information which is set of PID after collecting from each packet data inputted from the channel and outputting the interrupt signal if an identified register value of the register values is set, a CPU interface unit 14 providing an interface between the register file of the transport parser unit 11 and each decoder, and outputting a signal selecting a transport parser unit 11 or a video decoder, an audio decoder, a data decoder and a memory by decoding the address, a CPU 13 reading the interrupt register from the CPU interface unit once an interrupt signal is inputted, detecting if the interrupt signal is inputted from the transport parser unit 11 or from a video decoder, the audio decoder and the data decoder, and decoding according to the program on a first memory unit 12, the first memory unit 12 storing a program of the operations of CPU 13, and a decoder interface unit 15 controlling in order to exchanging the data among the CPU 13, the transport parser unit 11, and the video, audio, data decoders. The figures which is not described in Fig. 3 is provided as follows. A data1 is a data bus of CPU 13, an addr1 is an address bus of CPU, and a cntrll is a controlling signal of CPU and is composed of a READ/WRITE signal, a STROBE signal, a READY signal and an interrupt signal. A data2 is a data bus, a cntrl2 is composed of the selecting signal to identify the registers of the transport parser unit 11, read the value with the data bus 2 or to write the value of the data 2 bus, a selecting signal to read and write the audio, video and another decoders, a strobe signal and a ready signal. A data3 is a data bus inputted from the channel decoder and a cntrl3 is composed of a Read Enable signal to read the data from the channel decoder, Read Clock, and a Ready signal. A data4 is composed of the video, audio and data buses to input/output to the video, audio and data decoders, an addr4 is composed of an address bus of the video, audio and data addresses to output to the video, audio and data decoders, and a cntrl4 is composed of a controlling signal to read/write of the video, audio and data decoders. A data5 is a data bus transmitting the data between the transport parser unit 11 and the decoder interface unit 15, a cntrl5 is a controlling signal bus transmitting the controlling signal between the PES decoder 24 of the transport parser unit 11 and the decoder interface unit 15. Thus-composed MPEG2 transport decoder embodying the invention is now described in detail as follows. In Fig. 4, the transport parser unit 11 is comprised of a channel decoder interface unit 20, a transport decoder 21, a second memory unit 22, an adaptation field ADF decoder 23 and a packetized elementary stream PES decoder 24. That is, the channel decoder interface unit 20 is an interface for inputting/outputting the data and the controlling signal with the channel decoder unit 1 in the transport parser unit 11. The transport decoder 21 is comprised of a transport packet decoder controller 21a for parsing the MPEG2 transport packet syntax and a transport packet decoder register 21b for storing each header field value parsed in the transport packet decoder controller 21a. The registers in the transport decoder register 21b are accessed by the CPU 13 and the parsed field value is interrupted according to the enabling state of the interrupt register to the CPU 13. The second memory unit 22 is comprised of a memory 22a for storing the PSI sections of the MPEG2 streams, and the adaptation_extension_data and the transport _private_data shown in Fig. 8 and the PES_extension_data and the DSM_trick_mode_data shown in Fig. 9 contained in the selected packet, and a memory controller 22b for producing storage addresses mem_addr at which those data to be stored using information on memory address indicating storage positions of those data and producing cntrl_mm to control memory access. The memory 22a may include a DRAM or an SRAM, and the memory controller 22b has start addresses and end addresses required for storing each PSI section and four kinds of data in the memory 22a and a write address for writing. The CPU 13 may designate the start addresses and the end addresses, and the write address serves to store the data started from the start addresses to the end addresses increasing the addresses automatically. The ADP decoder 23 is comprised of an ADF decoder controller 23a for parsing the ADF data of the MPEG2 transport packet syntaxes and an ADF decoder register 23b for storing each field value of the parsed header in the ADF decoder controller 23a. The registers in the ADF decoder registers 23b are accessed by CPU 13 and the parsed field value is interrupted according to the enabling state of the interrupt register to the CPU 13. The PES decoder 24 is comprised of a PES decoder controller 24a for parsing the PES section of the MPEG2 streams and a PES decoder register 24b for storing each field value of the parsed header. The registers in the PES decoder registers 24b are accessed by CPU 13 and the parsed field value is interrupted according to the enabling state of the interrupt register to the CPU 13. On the other hand, the CPU interface unit 14 is comprised of a data buffer 36, a CPU address decoder 31, a tp-CPU interface unit 32, a memory interface unit 33, an adf-CPU interface unit 34 and a pes-CPU interface unit 35. Namely, the data buffer 36 performs a buffering to read/write the contents of the CPU data bus. The CPU address decoder 31 generates a selecting signal for selecting a register of the transport parser unit 21 by decoding the high address part of the CPU 13, a selecting signal for accessing the video, audio and another decoders and a selecting signal for accessing the program/data memory. The tp-CPU 32 generates a controlling signal cntrl-dsp-td for the CPU 13 to access the register in the transport packet decoder register 21b by incorporating a controlling signal cntrll of the CPU 13, an address signal addr1 and a selecting signal, and decodes each address for each register to have other address. The memory interface unit 33 generates a controlling signal cntrl-dsp-mem for the CPU 13 to access the register in the memory controller 22b by incorporating a controlling signal cntrll of the CPU 13, an address signal addr1 and a selecting signal, and decodes each address for each register to have other address. The adf-CPU interface unit 34 generates a controlling signal cntrl-dsp-adf for the CPU 13 to access the register in the ADF decoder register 23b by incorporating a controlling signal cntrl1 of the CPU 13, an address signal addr1 and a selecting signal, and decodes each address for each register to have other address. The pes-CPU interface unit 35 generates a controlling signal cntrl-dsp-pes for the CPU 13 to access the register in the PES decoder register 24b by incorporating a controlling signal cntrll of the CPU 13, an address signal addr1 and a selecting signal, and decodes each address for each register to have other address. The decoder interface unit 15 is comprised of a video decoder interface unit 41, an audio decoder interface unit 42 and a data decoder interface unit 43. The video decoder interface unit 41 controls an address bus, a data bus and a controlling signal for the CPU 13 and the PES decoder 24 to access the video decoder jointly. In other words, the video decoder interface unit 41 receives an address bus signal addr1, a data bus signal data2 and a video decoder selecting signal from the CPU 13 and inputs or outputs the video address, the video data and controlling signals, thereby accessing the video decoder by the CPU 13. And after storing momentarily the data signal data5 and the controlling signal controls from the PES decoder 24, the video decoder interface unit 41 outputs the video data, the video control and the video address to the video decoder 5 while the CPU 13 does not access the video decoder 5. The audio decoder interface unit 42 controls an address bus, a data bus and a controlling signal for the CPU 13 and the PES decoder 24 to access the audio decoder jointly. In other words, the audio decoder interface unit 42 receives an address bus signal addr1, a data bus signal data2 and a audio decoder selecting signal from the CPU 13 and inputs or outputs the audio address, the audio data and controlling signals, thereby accessing the audio decoder 6 by the CPU 13. And after storing momentarily the data signal data5 and the controlling signal controls from the PES decoder 24, the audio decoder interface unit 42 outputs the audio data, the audio control and the audio address to the audio decoder 6 while the CPU 13 does not access the audio decoder 6. The data decoder interface unit 43 controls an address bus, a data bus and a controlling signal for the CPU 13 and the PES decoder 24 to access the data decoder jointly. In other words, the data decoder interface unit 43 receives an address bus signal addr1, a data bus signal data2 and a data decoder selecting signal from the CPU 13 and inputs or outputs the data address, the data and controlling signals, thereby accessing the data decoder 7 by the CPU 13. And after storing momentarily the data signal data5 and the controlling signal controls from the PES decoder 24, the data decoder interface unit 43 outputs the data, the data control and the data address to the data decoder 7 while the CPU 13 does not access the data decoder 7. On the other hand, the decoder interface unit 15 illustrated in Fig. 4 is comprised of the video decoder interface unit 41, the audio decoder interface unit 42 and the data decoder interface unit 43 and each decoder interface unit 41, 42 and 43 has the same configuration as of Fig. 5, however need not be composed all at once and may be partially composed according to the application. Therefore in Fig. 5 only the video decoder interface unit 41 is illustrated. That is, the video decoder interface unit 41 comprises a first data buffer 51 outputting after storing momentarily the data outputted from the CPU 13, a FIFO 52 storing momentarily the data outputted from the transport parser unit 11 and then outputting firstly the data inputted before, simultaneously with outputting the signals fifo-ef and fifo-ff indicating if the data is filled out or not, a second data buffer 53 outputting the data outputted from the FIFO 52 after storing momentarily, an access controlling unit 54 setting the signal token giving right of an access to the CPU 13 according to the accessing condition of the video decoder 5 by the outputting signals fifo-ef and fifo-ff of the FIFO 52 and the CPU 13, and an interface controlling unit 55 finishing the present accessing work with the signal token from the access controlling unit 54 and controlling for the CPU 13 to access to read/write the video decoder. Fig. 6 is a detailed block diagram of another embodiment of the decoder interface unit of Fig. 4. In an embodiment of Fig. 5, a FIFO is installed in each video, audio and data decoder interface unit 41, 42 and 43 and the FIFO is installed in common in other embodiment of Fig. 6. That is, it is comprised of a first data buffer 51 outputting after storing momentarily the data outputted from the CPU 13 to the video decoder interface unit 41, the audio decoder interface unit 42 and the data decoder interface unit 43, a second data buffer 53 outputting the decoder data after storing momentarily, an access controlling unit 54 setting the signal token giving right of an access to the CPU 13 according to the accessing condition of the video decoder 5 with the signals fifo-ef and fifo-ff outputted through a controlling signal line vid-mem-cntrl and the CPU 13, and an interface controlling unit 55 finishing the present accessing work with the signal token from the access controlling unit 54 and controlling for the CPU 13 to access to read/write the video decoder. And the common memory unit 44 is installed in the video decoder interface unit 41, the audio decoder interface unit 42 and the data decoder interface unit 43. Namely, the memory unit 44 comprises a third data buffer 61 storing the output data of the transport parser unit 11 momentarily, a memory 68 divided into three areas of video, audio and data storing areas and storing the data inputted from the third data buffer 61 or outputting the stored data into the decoder data, a video writing pointer 62 outputting a writing address in order to write the video data to the memory 68, an audio writing pointer 63 outputting a writing address in order to write the audio data to the memory 68, a data writing pointer 64 outputting a writing address in order to write the data to the memory 68, a first address buffer 65 storing momentarily the address outputted from the video writing pointer 62, a second address buffer 66 storing momentarily the address outputted from the audio writing pointer 63, a third address buffer 67 storing momentarily the address outputted from the data writing pointer 64, a video reading pointer 72 outputting a reading address in order to read the video data to the memory 68, an audio reading pointer 73 outputting a reading address in order to read the audio data to the memory 68, a data reading pointer 74 outputting a reading address in order to read the data to the memory 68, a fourth address buffer 69 storing momentarily the address outputted from the video reading pointer 72, a fifth address buffer 70 storing momentarily the address outputted from the audio reading pointer 73, a sixth address buffer 71 storing momentarily the address outputted from the data reading pointer 74, and a memory interface controller 75 controlling the operations of the pointers 62, 63, 64, 72, 73 and 74 and the address buffers 65, 66, 67, 69, 70 and 71 by the controlling signal cntrl5 from the PES decoder 24. An operation of the embodiment composed as described above is as follows. Fig. 7 illustrates a transport packet syntax inputted to a transport packet decoder register 21b; Figs. 8A and 8B illustrate the ADF syntax inputted to a ADF decoder register 23b; Figs. 9A, 9B and 9C illustrate the PES packet syntax inputted to a PES decoder register 24b; and Figs. 10A, 10B and 10C illustrate the PSI syntax to be stored in the memory 22a. And Fig. 11 illustrates a register list of the transport decoder 21; Fig. 12 illustrates a register list of a ADF decoder 23; and Fig. 13 illustrates a register list of a PES decoder 24. Additionally, Fig. 14 illustrates a table of interrupt generation in a transport decoder 21; Fig. 15 illustrates a table of interrupt generation in a ADF decoder 23; Fig. 16 illustrates a table of interrupt generation in a PES decoder 24 according to a preferred embodiment of the invention; and Fig. 17 illustrates a table of interrupt generation in a CPU controlling interface unit 14. First, the transport parser unit 11 storing each syntax field value to the register after parsing according to the standards of the MPEG2 system, outputting each audio, video and data information which is set of PID after collecting from each packet data inputted from the channel and outputting the interrupt signal if an identified register value of the register values is set of each transport, ADF, PES and PSI decoder. That is the transport decoder 21 of the transport parser unit 11 parses the MPEG2 transport packet syntax as illustrated in Fig. 7 in the transport packet decoder controller 21A and stores the MPEG2 transport packet syntax to the transport packet decoder register 21B as illustrated in Fig. 11. And the field value of the transport packet decoder register 21B generates an interrupt to the CPU 13 according to the state of the interrupt register enable. An interrupt generating method is that as illustrated in Fig. 14, after the PID field in the transport packet head is compared with the PID in the packet which the user wants, once the compared values are equal with each other, the outcome of the comparison is 1; once the compared values are different with each other, the outcome is 0. In such a manner that it is compared as follows: for the PID-V-flag, the transport PID field is compared with the PID of the video packet and the output that the compared values are same is equal to 1 while that of the different values is equal to 0; for the PID-A-flag, the transport PID field is compared with the PID of the audio packet and the output that the compared values are same is equal to 1 while that of the different values is equal to 0; for the PID-D-flag, the transport PID field is compared with the PID of the data packet and the output that the compared values are same is equal to 1 while that of the different values is equal to 0; for the PID-PAT-flag, the transport PID field is compared with the PID of the program association table PAT and the output that the compared values are same is equal to 1 while that of the different values is equal to 0; for the PID-PMT-flag, the transport PID field is compared with the PID of the program map table PMT and the output that the compared values are same is equal to 1 while that of the different values is equal to 0; for the PID-CAT-flag, the transport PID field is compared with the PID of the conditional access table CAT and the output that the compared values are same is equal to 1 while that of the different values is equal to 0; and for the PID-NIT-flag, the transport PID field is compared with the PID of the network information table NIT and the output that the compared values are same is equal to 1 while that of the different values is equal to 0. The ADF decoder 23 parses the MPEG2 ADF field syntax as illustrated in Fig. 8 in the ADF decoder controller 23A and stores the MPEG2 ADF field syntax in the ADF decoder register 23B as illustrated in Fig. 12. And the field value of the ADF decoder register 23B generates an interrupt to the CPU 13 according to the state of the interrupt register enable. In this time, the manner of interrupt generation is as shown in Fig. 15. The PES decoder 24 parses the MPEG2 PES field syntax as illustrated in Fig. 9 in the PES decoder controller 24A and stores the MPEG2 PES field syntax in the PES decoder register 24B as illustrated in Fig. 12. And the field value of the PES decoder register 24B generates an interrupt to the CPU 13 according to the state of the interrupt register enable. The interrupt generating method is illustrated in Fig. 16. The decoder interface unit 15 of Fig. 3 is as follows: First, the video decoder interface unit 41 receives an interrupt from the video decoder 5, generates a video interrupt signal Vid-int and transmits the Vid-int through the controlling bus cntrl12 to the CPU controlling interface. The audio decoder interface unit 42 receives an interrupt from the audio decoder 6, generates an audio interrupt signal Aud-int and transmits the Aud-int through the controlling bus cntrl12 to the CPU controlling interface. The data decoder interface unit 43 receives an interrupt from the data decoder 7, generates a data interrupt signal Data-int and transmits the Data-int through the controlling bus cntrl12 to the CPU controlling interface. An example in which the configuration of the decoder interface unit 15 is as illustrated in Fig. 5 is now described in detail. The video decoder interface unit 41 receives an address bus signal addr2, a data bus signal data2 and a video decoder selecting signal from the CPU 13 through the selecting signal line, input/outputs the video address, video data and the video controlling signal and has the CPU 13 access the video decoder 5. And the video decoder interface unit 41 receives and stores momentarily a data signal data5 and a controlling signal cntrl5 from the PES decoder 24 and has the video decoder 5 output the video data, the video control and the video address while the CPU 13 does not access the video decoder so that the data bus signal data2 from the CPU 13 is momentarily stored in the first data buffer 51 and the data signal data5 and the controlling signal cntr15 from the PES decoder 24 is also momentarily stored in the FIFO 52, thereby being outputted through the second data buffer 53. In this time, the FIFO 52 detects if the data is full or empty and outputs the related signals fifo-ef and fifo-ff. The access controlling unit 54 detects if the CPU 13 accesses the video decoder 5 with the received signals fifo-ef and fifo-ff from the FIFO 52 and the controlling signal cntrl2 of CPU 13 and sets the signal token giving right of access to the CPU 13 if the CPU 13 accesses the video decoder. Accordingly, when the signal is changed from 0 to 1, the mode is also changed for the CPU 13 to access the video decoder 5 from the state of transmitting the fifo data to the video decoder 5 so that the interface controller 55 finishes the present accessing job completely and controls the CPU 13 to access the video decoder 5. When the CPU 13 finishes accessing and after a predetermined period of delaying time, the access of the CPU 13 does not exist and the output signal token from the access controlling unit 54 is reset for 0, the interface controller 55 is operated in the FIFO data transfer mode. The operation is performed in the same manner in the video decoder interface unit 41, the audio decoder interface unit 42 and the data decoder interface unit 43. While, the configuration of the decoder interface unit 15 is as illustrated in Fig. 6 in which three FIFO of Fig. 5 are employed as a memory is operated as follows. First, the video, audio and data decoder interface units 41, 42 and 43 are operated as illustrated in Fig. 5. The memory unit 44 uses a video reading pointer 72 and a video writing pointer 62 in order to access the video data for performing the operation of FIFO, uses an audio reading pointer 73 and an audio writing pointer 63 to access the audio data and uses a data reading pointer 74 and a data writing pointer 64. The video data accessing pointers 72 and 62 increase the reading/writing pointer by 1 point after reading/writing for one time to access the video memory area and are increased by 1 point with returning to the first address after accessing the boundary section of the video memory area. And the audio and data accessing pointers 73, 63, 74 and 64 are also operated in the same manner of the video data accessing pointers. The value of each pointer 62, 63, 64, 72, 73 and 74 is applied to the memory through each address buffer 65, 66, 67, 69. 70 and 71 and each address buffer 65, 66, 67, 69, 70 and 71 is output-enabled by the memory interface controller 75 and applied to the address port of the memory 68. Therefore, the data data5 outputted from the transport parser unit 11 is applied through the third data buffer 61 to the memory 68 in case of the writing enable and in case of reading, the identified value by each reading pointer 72, 73 and 74 is outputted as a decoder data. The memory interface controller 75 receives and transmits the controlling signal cntrl5 from the transport parser unit 11 and the reading controlling signal vid-mem-cntrl, aud-mem-cntrl and data-mem-cntrl from the video, audio and data decoder interface units 41, 42 and 43, applies the signals to the memory 68 according to the sorts of data identified by the controlling signal cntrl5 among the video, audio and data writing data in order to read the data of the transport parser unit 11 to the memory 68, controls to perform the operation of writing the data data5 to the memory 68, receives the controlling signals vid-mem-cntrl, aud-mem-cntrl and data-mem-cntrl from each decoder interface unit 41, 42 and 43, applies each reading pointer 72, 73 and 74 to the memory 68 while the data is not inputted from the transport parser unit 11, reads the data and outputs the data to each decoder interface units 41, 42 and 43. The operation of CPU interface unit 14 of Fig. 3 provides the register file, an interface between the video, audio decoders and another decoders of the transport parser unit 11 and outputs a selecting signal selecting one among the transport parser unit 11 or the video, audio and data decoders 5, 6 and 7 and the first memory unit 12 by decoding the address. That is, the CPU address decoder 31 decodes a high-address part of the CPU 13 and outputs the selecting signal to select a register of the transport parser unit 11 and a selecting signal to access the program/data memory. And the tp-CPU interface unit 32 decodes the address for each register to have other address by incorporating the controlling signal cntrl1, the address signal addr1 and the selecting signal because that the CPU 13 generates a signal cntrl-dsp-td to access the register on the transport packet decoder register 21B. In another mem-CPU interface unit 33, adf-CPU interface unit 34 and pes-CPU interface unit 35, as the CPU 13 generates the signals cntrl-dsp-mem, cntrl-dsp-adf and cntrl-dsp-pes to access the corresponding register of the transport parser unit 11 as in the tp-CPU interface unit 32, the controlling signal cntrll, the address signal addr1 and the selecting signal are incorporated to decode the address for each register to have other address. Accordingly, the CPU interface unit 14 sets each received interrupt signal tp-int, adf-int, pes-int, vid-int, aud-int and data-int at the point of time at which the interrupt is generated as of Fig. 17. In this time, the interrupt register and the interrupt enable value are capable of being read/written by the CPU 13. The MPEG2 transport decoder operated as mentioned above is briefly described below. Once the transport packet is inputted from the channel decoder through the data bus data3 to the transport parser unit 11, the transport packet decoder controller 21A is operated to parse the transport packet header, load each field value of the transport packet header to the corresponding register 21B, 23B and 24B and generates the interrupt to the CPU according to the interrupt enable state. The corresponding controller is operated by detecting if the required packet data is according to the state of PID-V-flag, PID-A-flag, PID-PAT-flag, PID-CAT-flag and PID-NIT-flag after the transport packet header is decoded. In case the ADF field exists in the packet, namely in case the checked bit of the ADF control is 10 or 11, the existing of the ADF field is detected , the ADF decoder controller 23A firstly and the corresponding controllers 22a and 24a are operated. The ADF decoder controller 23a loads each field value of the adf field to the corresponding register by parsing the adf field and generates the interrupt to the CPU 13 according to the interrupt enable condition. In case the ADF field decoding is finished or the ADF field does not exist, the corresponding decoder controller is operated. That is, in case PID-V-flag, PID-A-flag and PID-D-flag are set as 1, the PES decoder controller 24A is operated to parse the PES packet header, load each field value to the corresponding register and generate the interrupt to the CPU 13 according to the interrupt enable state. And in accordance with the sorts of the video, audio and data decoders, the PES packet data is transmitted to the video decoder interface unit 41, the audio decoder interface unit 42 and the data decoder interface unit 43. While, the CPU 13 examines which area causes the CPU 13 to generate the interrupt whenever the interrupt exists in each block by loading each interrupt register value and processes the programmed interrupt according to the condition of the interrupt. The CPU 13 can access several registers in the transport parser unit 11 through the CPU interface unit 14 and access the video, audio and data decoders. On the other hand, the decoder interface unit 15 performs as a controller with the video, audio and data decoders as to transmitting the PES packet data decoded from the PES decoder 24 and having the CPU 13 access so that helps the CPU 13 to access each decoders in accordance with the applications after the programmed contents of user. The above-mentioned MPEG2 transport decoder embodying the present invention has effects as follows: First, the decoding operation may be variously applied according to the programmed contents by user by composing the MPEG2 transport decoder with incorporating a hardwired logic and a CPU capable of being programmed; Secondly, the application of the described embodiment is various by incorporating the high- speed hardwired logic with the low-speed CPU; Thirdly, the described embodiment solves the problem of developing new transport decoder occurring when the decoder is composed only with the hardwired logic circuit, the application range is limited in the associated application contents and characteristics; Fourthly, by embodying each decoder interface, the data of the video, audio and data decoded from the hardwired transport parser unit are outputted to the corresponding decoders simultaneously with the CPU may be programmed parses the decode with the time-sharing, thereby accessing the decoder; and Fifthly, while the CPU accesses one of each decoder, the decoder which the CPU does not access can transmits the data stored the memory or the FIFO.

Claims: An MPEG transport decoder comprising: a channel decoder unit for outputting a signal received through a satellite or a cable tuned to receive transport packet data; a transport decoder for decoding the transport packet data; and video (5), audio (6), and data decoders (7) for decoding video, audio and data signals via the transport decoder, said transport decoder further comprising: a transport parser unit (11) for storing at least one syntax field value in at least one packet decoder register, said syntax field value obtained by parsing said transport packet data, for outputting said transport packet data, whereby each packet of said transport packet data is identified using a packet identifier (PID) obtained from said received transport packet data, and for outputting an interrupt signal if a pre-defined syntax field value is stored within any one of said packet decoder registers; a CPU interface unit (14) for providing an interface between said at least one packet decoder register of said transport parser unit (11) and each of said video (5), audio (6) or data (7) decoders, for outputting a signal selecting either the transport parser unit (11) or the video (5), audio (6) or data (7) decoders or a first memory unit (22) the selection being made by decoding an address, the CPU interface unit further comprising at least one interrupt register for receiving at least one interrupt signal from either of said transport parser unit (11) or said video (5), audio (6) or data (7) decoders; a CPU (13) for reading the contents of said interrupt register after the interrupt signal has been inputted from either the transport parser unit (11), the video (5), audio (6) or data decoder (7), for detecting whether the interrupt signal is inputted from said transport parser unit (11) or from the video (5), audio (6) or data decoder (7), and arbitrating CPU (13) access to said transport parsing unit (11), video (5), audio (6) or data decoders (7) according to a program which is stored on a second memory unit (12), and which is arranged to determine the operations of said CPU (13); and a decoder interface unit (15) for controlling the order of exchange of said transport packet data amongst said CPU (13), said transport parser unit (11), or said video (5), audio (6) or data decoders (7). An MPEG2 transport decoder as defined in claim 1, wherein said transport parser unit (11) comprises: a channel decoder interface unit (20) for inputting or outputting the transport packing data and a controlling signal to said channel decoder unit (1); a transport decoder (21) for storing a syntax field value associated with a header parsed from the transport packet data section of said transport packet data and generating the interrupt signal which is output to said CPU interface unit (14) if a defined syntax field value is stored within said transport decoder (21); the first memory unit (22) for storing program specific information (PSI) sections of the MPEG2 streams, and an adaptation_extension_data, a transport_private_data, a pes_extension_data and a DSM_trick_mode_data at addresses of the memory designated by the CPU (13); an ADF decoder (23) for storing a syntax field value associated with a header parsed from the ADF data of said transport packet data and generating the interrupt signal which is output to said CPU interface unit (14) if a defined syntax field value is stored within said transport decoder (21); a PES decoder (24) for storing a syntax field value associated with a header parsed from the PES section of said transport packet data and generating the interrupt signal which is output to said CPU interface unit (14) if a defined syntax field value is stored within said transport decoder (21). An MPEG2 transport decoder as defined in claim 2, wherein said transport decoder (21) further comprises: a transport packet decoder controller (21a) for parsing said transport packet data; and a transport packet decoder register (21b) for storing at least one header field value parsed in said transport packet decoder controller (21a) whereby said transport packet decoder register (21b) can be accessed by said CPU (13). An MPEG2 transport decoder as defined in claim 2, wherein said first memory unit (22) comprises: a memory (22a) for storing the PSI sections of the MPEG2 streams and the adaptation_extension_data, the transport_private_data, the PES_extension_data and the DSM_trick_mode_data contained within the selected packet, and a memory controller (22b) having start addresses and end addresses for storing the PSI data sections of the MPEG2 streams, the adaptation _extension_data, the transport_private_data, the PES_extension_data and the DSM_trick_mode_data at designated addresses in the memory (22a) and generating write addresses by automatically changing the write address, said write address starting with a start address and finishing with an end address for storing the PSI data sections of the MPEG2 streams, the adaptation_extension_data, the transport_private_data, the PES_extension_data and the DSM_trick_mode_data, whereby the memory (22a) receives the PSI data sections of the MPEG2 streams, the adaptation_extension_data, the transport_private_data, the PES_extension_data and the DSM_trick_mode_data and a control signal for storing the received data from the memory controller (22b) and allows the CPU (13) access to the received data. An MPEG2 transport decoder as defined in claim 2, wherein said ADF decoder (23) comprises: an ADF decoder controller (23a) for parsing said ADF data of said transport packet data; and an ADF decoder register (23b) for storing at least one header field value parsed by said ADF decoder controller (23a) whereby the said ADF decoder registers (23b) are accessed by said CPU (13). An MPEG2 transport decoder as defined in claim 2, wherein said PES decoder (24) comprises: a PES decoder controller (24a) for parsing said PES section of said transport packet data; and a PES decoder register (24b) for storing at least one header field value parsed by said PES decoder controller whereby the said PES decoder registers (24b) are accessed by CPU (13). An MPEG2 transport decoder as defined in claim 1, wherein said CPU interface unit (14) comprises: a data buffer (36) for buffering the contents of said CPU data bus; a CPU address decoder (31) for generating a selecting signal for selecting one of at least one packet decoder register within said transport parser unit (11) by decoding part of the address supplied by said CPU, a selecting signal enabling the CPU (13) to access the video, or audio or data decoders or the first memory unit (22); a tp-CPU interface unit (32) for generating a controlling signal cntrl-dsp-td allowing said CPU (13) to access said transport packet decoder register (21b) by incorporating a controlling signal generated by the CPU (13) with an address signal and the selecting signal; a memory interface unit (33) for generating a controlling signal cntrl-dsp-mem allowing said CPU (13) to access said memory (22a) by incorporating a controlling signal generated by CPU (13) with an address signal and the selecting signal; an adf-CPU interface unit (34) for generating a controlling signal cntrl-dsp-adf for the CPU (13) to access said ADF decoder register (23b) by incorporating a controlling signal generated by the CPU 13 with an address signal and the selecting signal; and a pes-CPU interface unit (35) for generating a controlling signal cntrl-dsp-pes allowing said CPU (13) to access said PES decoder register (24b) by incorporating a controlling signal generated by the CPU (13) with an address signal and the selecting signal. An MPEG2 transport decoder as defined in claim 7, wherein said tp-CPU interface unit (32), memory interface unit (33) and adf-CPU interface unit (34) decode the address for each of transport packet decoder register (21b) and memory (22a) and ADF decoder register (23b) respectively. An MPEG2 transport decoder as defined in claim 1, wherein said decoder interface unit comprises: a video decoder interface unit (41) for controlling a controlling signal enabling the CPU 13 and the PES decoder 24 to access the video decoder; an audio decoder interface unit (42) for controlling a controlling signal enabling the CPU 13 and the PES decoder 24 to access the audio decoder; and a data decoder interface unit for controlling a controlling signal enabling the CPU 13 and the PES decoder 24 to access the data decoder jointly. An MPEG2 transport decoder as defined in claim 9, wherein said video, audio and data decoder interface units each comprise: a first data buffer (51) for receiving, storing momentarily, and then outputting said controlling signal and a corresponding data signal from said CPU (13); a third memory unit for storing the data outputted from said transport parser unit (11) and then outputting firstly previously inputted said controlling signal and corresponding data signal and simultaneously outputting signals fifo-ef and fifo-ff indicating whether the third memory unit is full or not; a second data buffer (53) for storing momentarily then outputting said controlling and corresponding data signal from said third memory unit; an access controlling unit (54) for setting a token signal giving right of an access to said CPU (13) to said video, audio or data decoders according to whether the CPU (13) requires access to the video, audio or data decoders and the signals fifo-ef and fifo-ff output from said third memory unit; and an interface controlling unit (55) for controlling access of CPU (13) to said video, audio or data decoders to read/write to the video, audio or data decoder enabling the present accessing job to be completed after receiving said token signal from said access controlling unit (54). An MPEG2 transport decoder is defined in claim 9, wherein said video, audio and data decoder interface units can be partially composed in accordance with the application. An MPEG2 transport decoder as defined in claims 9 and 10, wherein said video, audio and data decoder interface units each have shared access to said third memory unit. An MPEG2 transport decoder as defined in claim 12, wherein said third memory unit comprises: a third data buffer (61) for storing momentarily the output data of said transport parser unit (11); a memory being divided into three areas of video, audio and data storing areas and storing the data inputted from said third data buffer (61) or outputting the data previously stored from either the video, audio or data decoder; a video writing pointer (62) for outputting a writing address in order to write the video data to said video storing area; an audio writing pointer (63) for outputting a writing address in order to write the audio data to said audio storing area; a data writing pointer (64) for outputting a writing address in order to write the data to said data storing area; a first address buffer (65) for storing momentarily the address outputted from said video writing pointer (62); a second address buffer (66) for storing momentarily the address outputted from said audio writing pointer (63); a third address buffer (67) for storing momentarily the address outputted from said data writing pointer (64); a video reading pointer (72) for outputting a reading address in order to read the video data from said video storing area; an audio reading pointer (73) for outputting a reading address in order to read the audio data from said audio storing area; a data reading pointer (74) for outputting a reading address in order to read the data from said data storing area; a fourth address buffer (69) for storing momentarily the address outputted from said video reading pointer (72); a fifth address buffer (70) for storing momentarily the address outputted from said audio reading pointer (73); a sixth address buffer (71) for storing momentarily the address outputted from said data reading pointer (74); and a memory interface controller (75) for controlling the operations of said video, audio and data reading/writing pointers and said first to sixth address buffers by the controlling signal cntrl5 from the PES decoder (24).

Inventors: LEE HYUN SOO, RIM CHAI YEOL, LEE, HYUN SOO, RIM, CHAI YEOL
Applicants: LG ELECTRONICS INC, LG ELECTRONICS INC.
Application year: 1995
Main classification: H04N7
IPC codes: H04N7, H04N5