MXPA01006544A - Method for storing digital audio and video dataflow, storage device and receiver for implementing said method - Google Patents
Method for storing digital audio and video dataflow, storage device and receiver for implementing said methodInfo
- Publication number
- MXPA01006544A MXPA01006544A MXPA/A/2001/006544A MXPA01006544A MXPA01006544A MX PA01006544 A MXPA01006544 A MX PA01006544A MX PA01006544 A MXPA01006544 A MX PA01006544A MX PA01006544 A MXPA01006544 A MX PA01006544A
- Authority
- MX
- Mexico
- Prior art keywords
- video
- audio
- data
- memory
- reading
- Prior art date
Links
- 230000015654 memory Effects 0.000 claims abstract description 143
- 230000000875 corresponding Effects 0.000 claims description 19
- 238000000034 method Methods 0.000 claims description 15
- 238000009825 accumulation Methods 0.000 claims description 4
- 230000001276 controlling effect Effects 0.000 claims description 4
- 230000000977 initiatory Effects 0.000 claims description 4
- 210000002683 Foot Anatomy 0.000 description 22
- 229920002496 poly(ether sulfone) Polymers 0.000 description 22
- 229920003208 poly(ethylene sulfide) Polymers 0.000 description 22
- UIIMBOGNXHQVGW-UHFFFAOYSA-M buffer Substances [Na+].OC([O-])=O UIIMBOGNXHQVGW-UHFFFAOYSA-M 0.000 description 12
- 238000010586 diagram Methods 0.000 description 12
- 238000011084 recovery Methods 0.000 description 4
- 230000001960 triggered Effects 0.000 description 4
- ROYPHECTKAJPDP-UHFFFAOYSA-N 2-[[3,5-dimethyl-6-[2-(2-methylprop-2-enoyloxy)ethoxycarbonylamino]hexyl]carbamoyloxy]ethyl 2-methylprop-2-enoate Chemical compound CC(=C)C(=O)OCCOC(=O)NCCC(C)CC(C)CNC(=O)OCCOC(=O)C(C)=C ROYPHECTKAJPDP-UHFFFAOYSA-N 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000004301 light adaptation Effects 0.000 description 2
- 230000001360 synchronised Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001186 cumulative Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000002349 favourable Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006011 modification reaction Methods 0.000 description 1
- 230000000051 modifying Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
Abstract
The invention concerns a device for digital video reception comprising:means for receiving (101, 102, 103) and demultiplexing (113) audio and video packets from a multiplexed dataflow;a first video write memory (205) for accumulating a predetermined quantity of demultiplexed video packets;a second audio write memory (205b) for accumulating demultiplexed audio packets;means for storing (201) multiplexed audio and video packets in the form of blocks, each block comprising a first zone for recording video packets of fixed size equal to the predetermined quantity, and a second zone for recording audio packets of fixed size such that it is not less than the maximum quantity of audio data capable of being accumulated while the predetermined quantity of video data are being received. The invention also concerns a recording method and a recording device.
Description
PROCESS FOR THE STORAGE OF DATA CURRENTS
DIGITAL AUDIO AND VIDEO, STORAGE DEVICE AND RECEIVER TO IMPLEMENT THE PROCESS
DESCRIPTION OF THE INVENTION
The invention relates to a process for storing a stream of digital audio and video data, in particular, but not only a stream of compressed audio and video data according to the MPEG II standard. The invention also relates to a digital television receiver that implements this process and is more generally adapted to the recording of synchronized components (e.g. audio and video) of a digital data stream. In the end, the invention relates to a storage device. In a data stream of the MPEG II TS type (meaning "Transport Stream"), the audio and video data are present in the form of packets of the elementary stream, also referred to as "PES" packets. These PES packets are included in the PES transport packets that comprise an identifier ("PID") of the PES packets. A TS stream is a temporal multiplexing of the audio and video PES packets in relation to a large number of different programs. The stream can also carry other digital data, such as signaling data and so-called private data. A digital television decoder receives this current and demultiplexes it and then decodes the PES packets corresponding to a particular program. During work aimed at including a storage device within a digital television receiver, the inventors have recognized that the audio and video PES packets of a program, emanating from the demultiplexer are poorly adapted, since as they remain, to record or record on an appropriate medium. Specifically, the audio and video PES packets that are multiplexed, the nature of their content is not easily identifiable once these packets are removed from the transport layer. A marking of these packages could represent a considerable loss of complex storage space to handle. The object of the invention is a process for recording audio and video data in a digital television receiver, characterized in that it comprises the steps of: demultiplexing the audio and video packages in relation to one and the same program; the simultaneous accumulation of the demultiplexed video data in a first memory and of the demultiplexed audio data in a second memory; stopping the accumulation of the memories after obtaining a predetermined amount of video data in the first memory; the recording of the video data accumulated in the first memory and of the audio data accumulated in the second memory respectively, in a first area of a block whose fixed size is equal to the predetermined amount and in a second area of this block, The size of this second area is set and chosen in a way that is greater than or equal to the maximum amount of audio data that can be accumulated, while obtaining the predetermined amount of data and video. The recording, in a data medium such as a hard disk, made in blocks comprising (among other things) two areas of fixed size, one of which is reserved for the video data and the other for the audio data. Once a quantity of video data corresponding to the size of the video area has been demultiplexed, a complete block is written, notwithstanding the amount of audio data received at that time. By force of the arrangement of the areas within a block, the nature of the PES packets recorded in it is known, thus avoiding the marking of each PES packet. Even if the initial multiplexing order within the TS stream of the recorded packets is not strictly maintained at block level, the full audio or video transmission rate or rate, it is retranscribed. The order relationship between the ratio of the sizes of the areas to register a block and the proportion of the bit rates ensures that the area reserved for the audio never overflows before the area reserved for the video becomes full. According to a particular embodiment, the proportion of the sizes of the first and second areas is such that it is greater than or equal to the maximum ratio of the bit rate of the video data and the bit rate of the data. audio data in the digital stream. According to a particular embodiment, the process of the invention also comprises the process of recording or recording in each block of a piece of data, the article or paragraph that indicates the amount of audio data recorded in this block. This information is useful to determine where, within the area reserved for them in a block, the audio data is stopped. The recording of this information makes it unnecessary to implement a code of the type of "end of recording" that could require a comparison with all the audio data read. According to a particular embodiment, the recorded audio and video data are packets of elementary streams, with the exclusion of information emanating from the transport layer. The object of the invention is also a device for receiving digital video, characterized in that it comprises: the means for receiving and demultiplexing audio and video packets from a multiplexed digital current; - a first video write memory for accumulating a predetermined amount of demultiplexed video packets; a second audio writing memory for accumulating demultiplexed audio packets;
storage means of the multiplexed audio and video packets, in the form of blocks, each block comprising a first area for recording or recording the video packets and of fixed size equal to the predetermined amount, and a second area for recording the packets audio and fixed size such that it is greater than or equal to the maximum amount of audio data that can be accumulated while obtaining the predetermined amount of video data. According to a particular embodiment of the device of the invention, said storage means comprise a first division for a mainly random access and the implementation of multiple indirect address, and a second division reserved for the recording of the audio and video stream for a access mainly sequential and implementing the simple indirect address. The principle of using a double division that has different characteristics with respect to data access makes it possible to optimize recording and reading depending on the nature of the data. Specifically, data of the audio and video type mainly require sequential access, while data of the "service" or "private" type, for example, the databases for the construction of a program guide or even code files of program, can be handled more efficiently with random access. It is thus possible to store data of different types on a simple medium, for example a hard disk. According to a particular embodiment, the size of a block of the second division is larger by at least an order of magnitude of the size of a block of the first division. According to a particular embodiment, the storage medium comprises a recordable or recordable disc. According to a particular embodiment, the device of the invention comprises a third video reading memory for reading the video data from the storage means and a fourth audio reading memory for reading the audio data, the sizes respective of the third and fourth memories, the reading of audio and video respectively, are equal to the sizes of the first and second memories, the video and audio writing, respectively. According to a particular embodiment, the device further comprises: a write memory for transmitting data to the storage medium, whose memory is organized as an area comprising N video writing memories of the FIFO type and an audio writing area comprising a memory of the FIFO type having the size of N audio write memories; the means for controlling the transfer of video data to a first of the N video writing memories and of audio data to the audio writing area, the transfer of the video data is continued to a next write memory of video when the first of the N video writing memories is full; - means for storing the location, in the area for recording or recording the audio data, of the audio data corresponding to each of the N video writing memories. The implementation of a series of video writing memories makes it possible to temporarily store write accesses to the storage media, in the case where they could be left behind. The handling of the audio data is carried out with the aid of a simple FIFO memory, while the handling of the audio data is carried out with the aid of a plurality of FIFO memories. The group of FIFO audio memories and FIFO video memories can be physically included in a single memory, whose various areas are handled as individual FIFO memories. According to a particular embodiment, the device further comprises means for initiating the transfer of video and audio data stored in the write memory to the storage means, as soon as one of the N video writing memories has been filled. The handling of the writing memories is of the "empty buffer" type. According to a particular embodiment, the device comprises: a read memory for receiving the data coming from the storage means, whose memory is organized as an area comprising N video reading memories of the FIFO type and a reading area of audio comprising a memory of the FIFO type that has the size of N audio reading memories; means for controlling the transfer of video data to a first of the N video reading memories and of the audio data to the audio reading area, the transfer of the audio data is continued into a next reading memory of video when the first of the N video reading memories is full; - the means for storing the location, in the area for reading the audio data, of the audio data corresponding to each of the N video reading memories. According to a particular embodiment, the device further comprises means for initiating the transfer of video and audio data stored in the read memory to a data decoder when the group of N video reading memories has been filled. In the reading mode, the memory management is of the "full buffer" type. According to a variant embodiment, the process also comprises the step of recording in each block of a piece of data, the article or paragraph indicating the amount of audio data recorded in this block. This makes it possible to easily determine the end of the audio data of a block, without having to make comparisons to detect a particular binary word contained in the area reserved for the audio data, and which could identify the end thereof. The object of the invention is also an audio and video data recording device, characterized in that it comprises a division including a plurality of logic blocks organized in series and each comprising a first area of fixed size for the recording of the data of video, and a second area for recording audio data and fixed size, such that it is greater than or equal to the maximum amount of audio data that can be accumulated while a predetermined amount of video data is accumulated, the predetermined amount is equal to the size of the first area. Other features and advantages of the invention will become apparent through the description of a particular, non-limiting, exemplary embodiment illustrated by the accompanying figures, among which: Figure 1 is a block diagram of a digital debris / decoder, comprising a storage device according to the present exemplary embodiment;
Figure 2 is a block diagram of an exemplary embodiment of the storage device, in this case a hard disk - Figure 3 is a diagram illustrating the division of the audio and video areas into a FIFO type memory used as a buffer for writing data; Figure 4 is a block diagram of 128 Kbytes of a hard disk division reserved for recording audio and video streams; Figure 5 is a diagram illustrating the two types of file system present on the hard disk; Figure 6 is a diagram illustrating the various areas for recording the "current" type file system; Figure 7 is a flow chart for writing a file to the disk; Figure 8 is a diagram illustrating the respective durations of the various operations during a block reading; Figures 9a and 9b are diagrams illustrating a process that makes it possible to reduce the movements of a disk write / read head when recording and reading simultaneously;
Figure 10 is a block diagram of a clock recovery circuit which does not introduce said error. According to the present exemplary embodiment, the storage device is a hard disk constituted in a digital television decoder that complies with the DVB standard. Figure 1 is a block diagram of such decoder. The latter comprises a tuner 101 linked to an error correction and demodulation circuit 102 which also comprises an analog / digital converter for digitizing the signals originating from the tuner. Depending on the type of reception, cable or satellite, the modulation used is of the QAM or QPSK type, and the circuit 102 comprises the appropriate demodulation means for the type of reception. The demodulated and corrected data are placed in series by a converter 103, connected to a serial input of a demultiplexing and decoding circuit 104. According to the present example, this circuit 104 is a Sti5500 circuit manufactured by ST Microelectronics. The latter comprises, connected to a parallel bus bar (bus) 105, 32 bits, central, a DVB demultiplexer 106, a microprocessor 107, a cache 108, an external memory interconnection 109, a serial communication interconnection 110, a parallel input / output interconnection 111, a microcircuit card interconnection 112, an audio and video MPEG 113 decoder, a PAL and RGB 114 encoder and a character generator 115. The external memory interconnection 109 is connected to a collective bar 16-bit parallel to which a parallel interconnection 116 of the IEEE 1284 type, a random access memory 117, an "instant" memory 118 and a hard disk 119 are respectively joined. The latter is of the EIDE type for the requirements of the present example . The parallel interconnection 116 is also connected to an external connector 120 and a modem 121, the latter is connected to an external connector 122. A serial communication interconnection 110 is connected to an external connector 123, as well as to the output of a sub-assembly. 124 of infrared reception, designed to receive signals from a remote control (not shown). The infrared reception sub-assembly is integrated within a front panel of the decoder, which also comprises a display device and control buttons. The microcircuit card interconnection 112 is connected to a microcircuit card connector 125. The audio and video decoder 113 is connected to a 16 random access memory 126
Mbitios designed to store non-decoded audio and video packages. The decoder transmits the decoded video data to the PAL encoder and
RGB 114 and the decoded audio data to a digital / analog converter 127. The encoder supplies the RGB signals to a SECAM encoder 132 and also provides a video signal in the form of luminance Y and a chrominance component C, these two components being separate. These various signals are multiplexed through a switching circuit 128 to an audio output
129, TV output 130 and output 131 of VCR. The path taken by the audio and video data through the decoder is as follows: the demodulated data stream has a transport stream format or more simply a "TS" format with reference to the MPEG II Systems standard. This standard has the reference ISO / IEC 13818-1. In its header, TS packets include identifiers called PIDs which indicate the elementary stream to which the useful data of the packet belongs. Typically, an elementary stream is a video stream associated with a particular program, while an audio stream from this program is another stream. The data structure used to carry compressed video and audio data is referred to as an elementary stream packet or even a "PES" packet. The demultiplexer 106 is programmed by a microprocessor 107 to extract packets corresponding to certain PID values from the transport stream. The useful data of a demultiplexed packet are, as appropriate, des-scrambled
(if the rights stored by a user's microcircuit card use this de-runaway) before storing this data in the buffer areas of the various decoder memories. The reserved buffer areas for the audio and video PES packets are located in the memory 126. The decoder 113 reads this audio and video data again according to its needs, and transmits the decompressed audio and video samples to the encoder 114. and to the converter 127, respectively. Some of the circuits mentioned above are controlled in a known manner, for example through a collective bar of type 12C. The typical case described hereinabove corresponds to the direct decoding of a program demultiplexed by the decoder 113 MPEG. According to the invention, the receiver / decoder comprises a hard disk for mass storage, mainly of the audio and video data in its compressed form. Figure 2 is a block diagram of the assembly 119 comprising the hard disk and the interconnecting circuits that connect to the external memory interconnection 109. The hard disk 201 is a commercial hard disk provided with an Ultra ATA / EIDE interconnect. "ATA" designates the communication protocol, additionally known, of the specific disk used within the structure of the present example. Two divisions are used in parallel to read and write data to and from the disk, the first division being adapted for writing and for reading the data from the computer file, the program, the type of code, etc., named more forward in the present as a "block" division, while the second division is designed for the writing and reading of audio and video streams, this division being referred to hereinafter as the "current" division. This duality is also found at the level of the architecture of the interconnection circuits of Figure 2. The writing and reading of blocks of data are carried out in the manner of, respectively, a first-in-first-out type memory (FIFO). 202 for writing and a memory 203 of the same type for reading. The two FIFO memories have a respective size of 16 bytes and are controlled by a block transfer circuit 204 which handles the address pointers for these two FIFO memories. According to the present exemplary embodiment, these are memories of the type of access or double synchronous door. The data exchanges according to the "block" mode are carried out in the direct memory access mode, when sending bursts of 16 bytes. These bursts are stored temporarily in the write mode and in the reading mode by the two FIFO memories 202 and 203, which allow the adaptation of the bit rate of the disk to the collective bar bit rate 215, and vice versa. The two FIFO memories 205 and 206 are provided to write and respectively read the audio and video streams. Each FIFO memory 205 and 206 comprises, according to the present exemplary embodiment, a physical memory of 512 Kbytes, divided into four video banks 112 Kbytes (grouped in a "video" area designated 205a, respectively 206a), and an area 64 Kbyte audio (referenced with the number 205b, respectively 206b), and is controlled by a current transfer control circuit 207. Each video bank and audio area is handled as a first-in-first-out memory
(FIFO) .. Circuit 207 handles two write pointers and two read pointers that are independent for each of series 205 and 206, namely a pair of video pointers and a pair of audio pointers. A simple memory 205 and 206 is active in the read mode and a simple memory is active in the write mode at a given time. The access to the two memories 205 and 206 is nonetheless independent, allowing the so-called simultaneous read and write from and to the disk. According to a variant of the present exemplary embodiment, the memories 202, 203, 205 and 206 are areas of the random access memory 117, each of these areas being handled as one, or if appropriate, several memories of the first type in enter first exit. In addition, an adaptation of the present exemplary embodiment to the handling of the additional components, such as for example several elementary audio streams, could easily be achieved by the person skilled in the art, by providing the additional memories required for this purpose. The two transfer control circuits
204 and 207 are conventional machines whose operation is controlled by the microprocessor 107. The microprocessor tells the controllers the transfer tasks to be performed in the direct memory access mode (the mode referred to below as the "UDMA mode"). "or Ultra Direct Memory Access" and is warned of the achievement of these tasks through a switch generated by an interrupt control circuit 208 connected to the two transfer control circuits 204 and 207.
Within the structure of the example described here, use is made of the mode of 33 Mbytes / sec UDMA, but the invention is obviously not limited to this mode. The two transfer control circuits manage the access to the appropriate disk through a control circuit 209, which allows the implementation of the disk and its access mode, namely the access to the command and control registers and the access to the disk. Direct UDMA memory. The command circuit is also connected to the microprocessor 107, for the direct handling of the disk command control registers, the transfer control circuits 204 and 207 not implementing this. The interconnection circuit of FIG. 2 further comprises two multiplexers. 210 and 211, which receive as input, respectively, the three input paths for the data, ie the data to be written to the disk, and the three output paths for the data, that is, for the data read from the data. the disc. Each multiplexer therefore has at the entrance three collective bars of 16 bits and a collective bar of 16 bits in the output. The switching between the different paths is handled by the microprocessor 107.
As far as the write multiplexer 210 is concerned, the first input path consists of a direct access of the collective data bar 215 of the external memory interconnection 109 to the collective data bar 212 of the disk 201, the second path consists of the output of the FIFO memory 202 for writing the blocks, while the third path consists of the output of the memory FIO 205, for writing the currents. As far as the reading multiplexer 211 is concerned, the first output path consists of a direct access of the collective data bar of the disk to the collective data bar of the external memory interconnection 109, while the second path consists of of the output of the memory 203 for reading the blocks, and the third path of the output of the FIFO memory 206, for reading the currents. The respective outputs of the two multiplexers 210 and 211 are respectively connected to the collective data bar of the disk and to the collective data bar of the external memory interconnection, through the output stages 213 and 214 of three states, controlled by the automaton 204 and 207.
Each memory 205 and 206 serves as a cache for the data header for the disk or that comes from it. The disk according to the present exemplary embodiment comprises the sectors of 512 bytes. The content of 256 sectors corresponds therefore to the size of the bank of the video memory of a FIFO memory of one of the memories 205a and 206a, plus a quarter of the size of one of the audio areas 205b and
206b, namely, a total of 128 Kbytes. This is substantially the amount of data transferable from or to the disk during the mean time of movement of a disk reading head used in the present example, namely around 10 milliseconds. The use of FIFO memories having the characteristics defined hereinabove has made it possible to obtain simultaneous read and write bit rates of 15 Mbit / sec. The writing of an audio / video stream to the disc will be described in conjunction with figures 3 and 4. Figure 3 illustrates the division of the audio and video data into the PES format according to the MPEG II standard towards two memories FIFO, namely a video bank (one of the banks of part 205a of memory 205) and an audio area (part 205b of memory 205). The data is written to the disk in audio / video blocks of 128 Kbytes each. According to the present invention, a fixed part of the block of 128 Kbytes is reserved for the video data (112 Kbytes) and another part, which is variable for the audio data (16 Kbytes maximum). The blocks that are written sequentially, the audio and video data are therefore interspersed on the disk. It has been found that the ratio of the minimum bit rate of a video stream to the maximum bit rate of an audio stream is around 10. By defining in a block of 128 Kbytes an area of 112 Kbytes reserved for video and 16 Kbytes for audio, the ratio is 7. In other words, when taking into consideration an audio / video stream whose video data (in the form of video PES packets) are stored as soon as they are multiplexed into the area of 112 Kbytes and whose audio data (in the form of audio PES packets) in the area of 16 Kbytes, the video area will always be filled before the audio area.
It is obvious that, depending on the currents and the bit rates that are going to be handled, proportions different from 7 can be used. This is the case in particular if the compression algorithms different from those supported by the MPEG standard are implemented. . When the 112 Kbytes video bank is full, the content of this bank is written to the disk, followed by the audio data accumulated during the same time as the 112 Kbytes of the video data, this being independent of the state of the data being filled in. audio area. By construction, however, one knows that less than 16 Kbytes have been accumulated. In this context, there is no correlation between the limits of the PES packets and the start or end of a video bank or the accumulated video data. The first data items of a video bank may in fact fall into the middle part of a PES video packet, while the last cumulative audio data items do not necessarily correspond to the end of an audio PES packet. It will be assumed that the measurements required for the opening of a file for the writing of a stream have been taken in advance at the system level of the disk file. Attached to the video and audio data is an identifier of the file to which the disk block belongs and an entry of the data indicating the amount of audio data, which is derived from the state of the write-in of the audio area 205b of the memory 205 at the time when the fill limit of the video bank is reached. The identifier is encoded in 16 bits, while the amount of audio data is encoded in 14 bits. Figure 4 illustrates the arrangement of the data in a block on the disk. The part of the audio area of the block that does not contain any audio data, is filled with fill bits to make this data up to 16 Kbytes. The file identifier is the same for all blocks belonging to the same file. The identifier of a file is an information block that is redundant to that content in a data structure referred to as a node and associated with each file. The identifier is nevertheless used if an open writing file has not been correctly closed: the file system then identifies all the blocks belonging to one and the same file, by virtue of the file identifier and updates the corresponding parameters in the node of the file and in the other data structures recorded at the beginning of the "current" division. The system knows the identifier of the open file, since the latter is written in a flag on the disk (at node number 0) at the beginning of each file opening, this flag being reset to zero after the closure of this file. It is apparent that the alignment of the audio data with the video data results in the non-use of a variable part of the audio area of 16 Kbytes of a block of the disk. However, the size of this unused part is relatively small compared to 128 Kbytes of the complete block. If the recording of the video and audio packets was done in the order of demuxing the PES packets, then recording the nature of each packet (audio or video, for example in the form of a PID identifier) could have been necessary. The space required for this recording could have been, on the one hand, greater than that reserved for the filling bits in the audio part of the recorded blocks and, on the other hand, more complex to handle.
The advantages of aligning the audio data with the video data are nonetheless considerable. Specifically, even if the audio and video data are not multiplexed in the same manner as in the input audio / video stream, the synchronization between the audio and video data is kept complete. The audio data in a block is in fact those that have been received temporarily multiplexed with the video data of the same block. It is thus possible to restore an audio / video stream in the decoder without any movement in the synchronism that could cause overflow of the audio or video buffers during the reading again. The use of four banks of video memory of
112 Kbytes each in the read and / or write mode, as well as an audio area of 64 Kbytes, makes it possible to compensate the movement times of the writing head of the disk and for any disk access problems that could delay writing. The microprocessor 107 nevertheless attempts to keep the largest number of memory banks 205 empty, and this can be referred to as the handling of the empty buffer type. To transfer the audio / video data to the disk, the microprocessor 107 triggers a direct memory access mechanism ("DMA") that performs the transfer of the audio / video data from the demultiplexer 106 to a video bank and to the area of the FIFO memory 205. Within the structure of the exemplary embodiment, this is a DMA constituted directly within the demultiplexer 106. When a video bank of the memory 205 is full, the write transfer control circuit 207 generates an interrupt intended for the microprocessor 107, writing to the next video FIFO memory bank being continued. FIFO video memory banks are implemented in rotation. The microprocessor, which also manages the disk file system, determines the first write sector of 512 bytes of the 128 Kbyte block, and supplies it to the disk in the manner of the control circuit 209. The microprocessor also initializes the access mechanism of direct memory on the disk for the transfer of data from the first FIFO video memory bank and the corresponding amount of audio from the FIFO 205b audio of the memory 205. The disk then writes 128 Kbytes to 256 sectors, under the control of circuit 207. After transferring the 128 Kbytes of data, the hard disk exits the Ultra DMA mode, the control circuit 207 releases Ultra DMA mode and signals the microprocessor through an interrupt. This transfer is repeated each time the microprocessor receives an interruption request in the manner of the control circuit 207 and until there is a decision to stop the recording. The microprocessor then updates the node corresponding to the file in which the writing took place, as well as the corresponding bit tables. The role of the bit tables and the node will be observed in more detail later in the present. It should be noted that, according to the present exemplary embodiment, the audio area of each memory 205 and 206 is not organized as fixed size banks, as is the case for the 112 Kbyte video banks. The audio areas are managed by storing, in the writing mode, the amount of audio data written for each associated video bank and, in the reading mode, by taking into account the information related to the amount of audio read. from each block. According to the present exemplary embodiment, only the PES data are recorded on the disk.
This implies that, the reference clock values ("PCR") are not recorded. The reading mechanism differs substantially from the writing mechanism. Consider a read initialization phase and a rest read condition. To initialize the reading in current mode, the microprocessor sends to the hard disk the address of the first segment of the first block that is going to be transferred and requests the transfer of 256 sectors. Once the transfer is completed, the transfer control circuit 207 generates an interruption to indicate the end of the transfer. The microprocessor then requests the transfer of the next block, and so on until four video FIFO memory banks of block 206 (and a part of audio area 206b) are filled. The transfer and decoding of data to the decoder 113 is then only initialized by the microprocessor. Once the initialization has been performed, the data is transferred without the intervention of the microprocessor: the decoder 113 reads the audio and video data how and when the requirements alter it. The speed with which the FIFO memories are emptied depends on the content of the compressed audio and video packets. The condition at rest is as follows: when a memory bank of 112 Kbytes of FIFO video is completely empty (and the corresponding audio data has also been read), an interruption request will notify the microprocessor thereof, and the latter triggers the transfer of a new block, in a way such that it would be possible to keep all the FIFO video banks full. This handling is of the full buffer type. According to the present exemplary embodiment, the recovery of the system clock is performed by demultiplexing the transport packets corresponding to a program in progress, and by securing a loop secured in phase to the reference clock values (" PCR ") of an input TS stream. This operation makes it possible to obtain the clock frequency obtained from 27 MHz. Hence, an input TS stream is used to recover the reference clock speed, even if this clock is used in conjunction with the audio and video data. that are not broadcast in real time in this stream.
This principle of clock speed recovery is illustrated by the block diagram of FIG. 10, which comprises a phase locked loop (PLL) composed of a comparator / subtractor 1001, followed by a low pass filter 1002 and a 1003 oscillator controlled in voltage. A counter 1004 closes the loop or loop between the output of the oscillator 1003 and an input of the comparator / subtractor 1001. The comparator / subtractor also receives the PCR clock values emanating from a TS stream. The difference between a local clock value emanating from the counter 1004 and the value of the PCR clock is sent to the low pass filter 1002, and the speed of the output signal of the loop is adapted accordingly. The value of the clock contained in the counter 1004 is regularly updated with the value of the demultiplexed PCR clock, thereby having the effect of synchronizing the counter 1004 with the clock of the TS current coder. This clock is used for the decoding and presentation of the TS current received in real time. As described hereinafter, only the clock rate at the output of the PLL loop is used for the decoding and presentation of the data read from the hard disk.
Another process of clock recovery can be employed. It is particularly possible to use a free clock. Specifically, the precision required for the 27 MHz clock is not necessarily as high as that imposed by the MPEG II standard at the encoder level, namely 30 ppm. This precision is effectively required only if a current that originates directly from an encoder needs to be decoded. In fact, in such a case, excessive scrolling of the decoder clock may cause the decoder's temporary memory to empty or overflow. However, in the case of reading a stream from a local hard disk, the inventors have found that this constraint disappears: the decoder can in fact regulate the bit rate of the stream in the read mode as a function of its requirements, this being not the case when the current reaches it directly, without having passed it through the intermediate memory constituted by the disk. The decoding of the video frames is triggered at a given level of filling a decoding buffer that is part of the random access memory 126. This level is for example 1.5 Mbit for a buffer with a capacity of 1.8 Mbit. . This instant, called upper buffer memory, is considered as the reference instant for the decoding and presentation of frames or video frames. The DTS clock value of the first frame read from the decoder buffer is loaded in the counter 1005 of FIG. 10. This counter counts at the clock speed generated by the PLL loop. The decoding of the first video frame is triggered immediately, while the presentation of this first frame and the decoding and presentation of the following frames is done according to the corresponding clock values DTS and PTS, in relation to the clock generated by the counter 1005. The decoding and presentation of audio frames also corresponds to the clock regenerated in this way. Figure 5 illustrates the manner in which the two "block" and "stream" divisions share the use of the hard disk. According to the present exemplary embodiment, the "block" division occupies several hundred megabytes, while the "current" division occupies several gigabytes.
The "block" division will not be further detailed, the organization of the corresponding file system that is considered in a conventional manner, of the UNIX type for example. A feature of this division is that it nevertheless favors random access to the data, for example through the use of the multiple indirect address (ie a series of address bookmarks only the last of which gives the address of the data block). searched later), while the division of "stream" has the characteristic of optimizing sequential access. The file system that manages the two divisions comprises an initialization block on the hard disk. The parameters that appear in the initialization block are the index of the initialization program, the name of the volume, the number of bytes per sector, the number of sectors of the volume and the number of sectors of the initialization block. As already mentioned, the parameters chosen for the division of "current" are the following: the size of a sector is 512 bytes, a block of "current" that includes 256 sectors. This is going to be compared to the size of a block of the "block" division namely 4 sectors.
Figure 6 illustrates the organization of the "current" division. This division comprises first a block called as a "super block", which contains general information regarding the division. Table 1 gives the information contained in this superblock.
Table 1
8-bit file identifier Volume name Volume creation date Date of last modification Total size of the division (in sectors) Size of the superblock (in sectors) Address of the superblock Address of the copies of the system files (Ia. Copy) Address of copies of system files (2nd Copy) Address of copies of system files (3rd Copy) Address of copies of system files (4th Copy) Table 1 (continued)
Size of the nodes (in sectors) Address of the first node Size of the extensions (in sectors) Address of the extensions Size of the bit tables (in sectors) Address of the bit table of the nodes Address of the bit table of the extensions
Address of the bit table of the blocks Maximum file number Maximum number of extensions Number of sectors per block Address of the first data entry (number of the first block)
The addresses are given in terms of the sector numbers, all sectors of the disk are numbered from 0 to the maximum number of sectors of the disk. Associated with each file or directory of the division is a data structure named as a "node" which indicates the name of the file or directory, its size, its location and that of its attributes. The nodes are grouped together in the division after the superblock. Table 2 indicates the composition of a node.
Table 2
File or directory name File or directory identifier (in 32 bits) Size (in bytes) Identifier of the parent directory (in 32 bits) Flag to the attributes For a file: list of a maximum of 15 contiguous block sequences that define the file For a directory: list of identifiers of the files or subdirectories contained in this directory
Pointer for an extension of the previous field
A sequence is a run of contiguous blocks that are part of one and the same file. This is defined by the address of the first block of the sequence, followed by the number of contiguous blocks. If the file is fragmented, a pointer returns to an extension area that comprises additional sequences. In turn, this last area can return to an additional extension, and so on. This type of simple indirect address is very suitable for the sequential nature of the data, thus avoiding successive manipulation with several pointers, such manipulation being expensive in terms of time. Multiple indirect addresses are reserved for the "block" division in order to facilitate random access to the data. The additional sequence areas are grouped together in the extension section after the area reserved for the nodes. The "stream" division further comprises a "bit table" which indicates for each node, each additional sequence area and each block whether it is occupied or not. For this purpose, a bit is associated with each node, the area of the additional sequence and the block. Figure 7 is a flow chart of the process for writing a file. Initially, a node associated with the file is created. A location of this node on the disk is determined by scanning the bit table of the nodes. By using the bit table of the blocks, the microprocessor 107 determines a block-free sequence and writes the data to be recorded therein, block after block. At the end of the sequence, the address and the length of the sequence are stored in the node of the file in memory. The flags of the bit table of the blocks corresponding to the blocks assigned to the recording of the sequence are then updated in a table in the memory. The operation of detecting and writing a sequence is repeated if necessary, until the entire file has been recorded. Once the recording of the data is completed, the updated information regarding the location of the data
(that is, the node and the updated bit tables) are themselves recorded on the disk. The information is written to the disc only at the end of the recording, to avoid continuous back and forward movements by the writing / reading head. To read a file, the microprocessor first reads the node of this file, as well as the definitions of all the additional sequences with reference to them. This prevents movements of the writing / reading head of the disk during reading to the areas at the beginning of the division. One of the considered applications of the disk is the non-real time reading of a program that is currently being recorded. For example, the viewer watching a live program has to leave for a few minutes and wants to resume the observation to the exact moment when it was interrupted. When he retires, he begins recording the program. Upon its return, it triggers the recording of the program, although the recording of the latter is still in progress. Since the writing / reading head must make movements from the reading areas to the writing areas and vice versa, and since the movement time of the head is of the order of 10 milliseconds for the disc used within the frame or frame of the In this example, certain precautions have to be taken to guarantee the minimum bit rate required for reading and writing. To evaluate the influence of head jumps on the bit rate, consider the less favorable conditions by taking the example of the maximum bit rate of an MPEG II stream, namely 15 Mbit / sec, a corresponding block of 128 Kbytes. in this way to 66.7 milliseconds of the audio and video data, as illustrated by Figure 8. Reading or writing a block, at a transfer rate of 96 Mbit / sec, lasts 10.4 milliseconds. If the reading is not preceded by a jump, 56.3 milliseconds remain available as a margin of safety. As indicated in the previous paragraph, a head jump from a first block to a second block that is not adjacent to the first block, takes 10 milliseconds. Therefore, a free interval of 46.3 milliseconds remains. If a reading and a writing each preceded by a jump are going to be made within a 66.7 millisecond interval, only 25.9 milliseconds remain available. Since defective sectors within a block can also lead to head jumps, it is preferable to limit the number of jumps in the read mode and write mode to the minimum. According to the present exemplary embodiment, the number of head jumps during recording and simultaneous readings is reduced when performing interleaved writing of the blocks, as illustrated by Figures 9a and 9b. When the recording of the program is triggered
(for example by the viewer) the writing is performed every third block in a sequence of adjacent blocks. This is illustrated by Figure 9a. A reading head jump is therefore performed before the writing of each block. When the program reading is triggered, the writing is continued on the blocks left free previously. For example, after reading the first written block (one furthest to the left in Figure 9b), the next write is made in the immediately adjacent block. No jump of the writing / reading head is then performed between the reading in the first block and the writing in the second block. The reduction in the head jump number also results in a consequent reduction in the noise generated by these movements. Once all the blocks written before the beginning of the reading have been read, the writing is continued in a non-interleaved manner. According to a variant modality, if the purpose is only the observation in non-real time of the program, without pretending that the recording should be permanent, the writing is continued by overwriting the contents of the blocks previously read. According to a variant embodiment, if a recording is to be maintained, then the corresponding interleaved blocks are sequentially rewritten in a manner such as to de-interleave these blocks. In this way, during the subsequent reading, the reading head will not need to perform jumps due to interleaving. Of course, the invention is not limited to the given exemplary embodiment, for example, other types of disc may be used. It will be sufficient to adapt the corresponding interconnections. Particular consideration will be given to hard disks having different characteristics than those presented hereinabove, rewritable magneto-optical discs or other data storage media. It should also be noted that the invention also applies in the case where the audio and video data are encoded differently, in particular in the case where the PES packets are contained in a program type stream ("Program Stream") in accordance to the MPEG standard, or the audio and video data are contained in different structures from those of the PES packets. Furthermore, although certain elements of the embodiments are presented in a different structural form, it is obvious to the person skilled in the art that their implementation within a simple physical circuit does not depart within the scope of the invention. Likewise, the computer hardware (software) instead of the implementation of physical equipment (hardware) or vice versa, of one or more elements does not depart from the scope of the invention: the FIFO type memories can for example be emulated by the use of a conventional address memory, with the management of the computer logic endowment of the directional indicators.
Claims (15)
1. A digital video reception device, characterized in that it comprises: means for receiving and demultiplexing audio and video packets from a multiplexed digital current; a first video write memory for accumulating a predetermined amount of demultiplexed video packets; a second audio write memory for accumulating demultiplexed audio packets; storage means of the audio and video packets multiplexed in the form of blocks, each block comprising a first area for recording the video packets and of fixed size equal to the predetermined amount, and a second area for recording the audio packets and of fixed size, such that it is greater than or equal to the maximum amount of audio data that can be accumulated, while obtaining the predetermined amount of video data.
2. The device according to claim 1, characterized in that the storage means comprise a first division for a mainly random access and the implementation of multiple indirect address, and a second division reserved for the recording of the audio and video stream for an access mainly sequential and the implementation of the simple indirect address.
3. The device according to claim 2, characterized in that the size of a block of the second division is larger by at least an order of magnitude than the size of a block of the first division.
4. The device according to any of claims 1 to 3, characterized in that the storage means comprise a recordable disc.
5. The device according to any of claims 1 to 4, characterized in that it comprises a third video reading memory for reading the video data from the storage means and a fourth audio reading memory for reading the audio data. , the respective sizes of the third and fourth memories, the video and audio reading respectively, are equal to the sizes of the first and second memories, the video and audio writing respectively.
6. The device according to any of claims 1 to 5, characterized in that it comprises: a write memory for transmitting the data to the storage means, whose memory is organized as an area comprising N video write memories of the FIFO type and an audio writing area comprising a memory of the FIFO type having the size of N audio writing memories; means for controlling the transfer of video data to a first of the N video writing memories and of the audio data to the audio writing area, the transfer of the video data continued to a next write memory video when the first of the N video memories is full; means for storing the location the area for recording audio data, of the audio data corresponding to each of the N video writing memories.
7. The device according to claim 6, characterized in that it further comprises means for initiating the transfer of video and audio data stored in the write memory to the storage means as soon as one of the N video writing memories has been filled
8. The device according to claim 5, combined with one of claims 1 to 4, 5 or 6, characterized in that it comprises: a read memory for receiving the data coming from the storage means, whose memory is organized as an area that comprises N reading memories of FIFO type videos and an audio reading area comprising a FIFO type memory having the size of N audio reading memories; the means for controlling the transfer of video data to a first of the N video reading memories and of the audio data to the audio reading area, the transfer of the audio data is continued to a next reading memory video when the first of the N video reading memories is full; means for storing the location, in the area for reading audio data, of the audio data corresponding to each of the N video read memory.
9. The device according to claim 8, characterized in that it further comprises means for initiating the transfer of video and audio data stored in the read memory to a data decoder, when the group of 'N video reading memories has been filled.
10. The device according to any of claims 1 to 9, characterized in that the audio and video data are recorded in compressed form.
11. A process for recording the audio and video data in a digital television receiver, characterized in that it comprises the steps of: demultiplexing the audio and video packets in relation to one and the same program; the simultaneous accumulation of the demultiplexed video data in a first memory and of the demultiplexed audio data in a second memory; stopping accumulation in the memories after obtaining a predetermined amount of video data in the first memory; the recording of the video data accumulated in the first memory and of the audio data accumulated in the second memory, respectively, in a first area of a block whose fixed size is equal to the predetermined amount and in a second area of this block , the size of this second area is fixed and chosen in a manner that is greater than or equal to the maximum amount of audio data that can be accumulated while obtaining the predetermined amount of video data.
12. The process according to claim 11, characterized in that the ratio of the sizes of the first and second areas is such that it is greater than or equal to the maximum speed of the video data bit rate and the bit rate. of audio data in the digital stream.
13. The process according to claim 11 or 12, characterized in that it also comprises the step of recording in each block of a data item indicating the amount of audio data recorded in this block.
14. The process according to any of claims 11 to 13, characterized in that the recorded audio and video data are elementary current packets, with the exclusion of information emanating from the transport layer.
15. An audio and video data recording device, characterized in that it comprises a division comprising a plurality of logic blocks organized in series and each comprising a first area of fixed size for the recording of the video data, and a second area for recording of audio data and fixed size such that it is greater than or equal to the maximum amount of audio data that can be accumulated while a predetermined amount of video data is accumulated, the predetermined amount is equal in size of the first area.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR98/16492 | 1998-12-28 |
Publications (1)
Publication Number | Publication Date |
---|---|
MXPA01006544A true MXPA01006544A (en) | 2002-03-05 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU777957B2 (en) | Method and device for decoding a video stream in trick mode | |
US6823131B2 (en) | Method and device for decoding a digital video stream in a digital video system using dummy header insertion | |
KR100741433B1 (en) | Method and device for trickmode generation in a digital video system | |
NO20151810A1 (en) | Method and apparatus for television receiver | |
US6831931B2 (en) | System and method for remultiplexing of a filtered transport stream | |
KR100631127B1 (en) | Method for simultaneously recording and reading digital audio and video dataflow and receiver using same | |
AU767952B2 (en) | Method for storing digital audio and video dataflow, storage device and receiver for implementing said method | |
MXPA01006544A (en) | Method for storing digital audio and video dataflow, storage device and receiver for implementing said method | |
KR19990019506A (en) | Memory controller | |
MXPA01006447A (en) | Method for simultaneously recording and reading digital audio and video dataflow and receiver using same | |
JP3403865B2 (en) | Stream multiplexing apparatus and stream multiplexing method | |
KR100662651B1 (en) | Method and device for writing data to a recording medium in a digital video system | |
JP2003274364A (en) | Recording and reproducing device |