EP1224810A1 - Producing a trick modes signal for digital video recorder - Google Patents

Producing a trick modes signal for digital video recorder

Info

Publication number
EP1224810A1
EP1224810A1 EP00975861A EP00975861A EP1224810A1 EP 1224810 A1 EP1224810 A1 EP 1224810A1 EP 00975861 A EP00975861 A EP 00975861A EP 00975861 A EP00975861 A EP 00975861A EP 1224810 A1 EP1224810 A1 EP 1224810A1
Authority
EP
European Patent Office
Prior art keywords
recording
addresses
data
information
recording medium
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP00975861A
Other languages
German (de)
French (fr)
Inventor
Franck Thomson multimedia ABELARD
Fabien Thomson multimedia DESCHAMPS
Christophe Thomson multimedia RABU
Pascal Thomson multimedia MAETZ
Original Assignee
Thomson Licensing SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from EP00400941A external-priority patent/EP1148727A1/en
Priority claimed from EP00402115A external-priority patent/EP1148728A1/en
Application filed by Thomson Licensing SAS filed Critical Thomson Licensing SAS
Priority to EP00975861A priority Critical patent/EP1224810A1/en
Publication of EP1224810A1 publication Critical patent/EP1224810A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/005Reproducing at a different information rate from the information rate of recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4343Extraction or processing of packetized elementary streams [PES]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B20/1217Formatting, e.g. arrangement of data block or words on the record carriers on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/414Specialised client platforms, e.g. receiver in car or embedded in a mobile appliance
    • H04N21/4147PVR [Personal Video Recorder]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4341Demultiplexing of audio and video streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • H04N21/4344Remultiplexing of multiplex streams, e.g. by modifying time stamps or remapping the packet identifiers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4828End-user interface for program selection for searching program descriptors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/781Television signal recording using magnetic recording on disks or drums
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • H04N5/783Adaptations for reproducing at a rate different from the recording rate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B2020/10935Digital recording or reproducing wherein a time constraint must be met
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/10Digital recording or reproducing
    • G11B20/12Formatting, e.g. arrangement of data block or words on the record carriers
    • G11B2020/1264Formatting, e.g. arrangement of data block or words on the record carriers wherein the formatting concerns a specific kind of data
    • G11B2020/1265Control data, system data or management information, i.e. data used to access or process user data
    • G11B2020/1267Address data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/8042Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N9/00Details of colour television systems
    • H04N9/79Processing of colour television signals in connection with recording
    • H04N9/80Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
    • H04N9/804Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
    • H04N9/806Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal
    • H04N9/8063Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components with processing of the sound signal using time division multiplex of the PCM audio and PCM video signals

Definitions

  • the processor must indicate to the interface circuit the number of useful data for each of the elementary flows recorded.
  • the padding data at the end of the incomplete buffers can be inserted by the microprocessor, but also by the interfacing circuit. If it is the microprocessor, the mechanism is rudimentary, but there is non-productive use of the EMI bus. If it is the interfacing circuit, the mechanism becomes complicated, it is indeed necessary that the microprocessor is informed of the moment when this circuit has finished inserting padding data, in order to be able to start a new BM-DMA (that it will have initialized while waiting).
  • the role of the interfacing circuit in this case, in addition to the planned management of the hard drive interfacing, will be to insert auxiliary data at the start of the 128Kb group.
  • This data supplied by the processor will indicate the number of useful data for each of the elementary streams included in the block.
  • the amount of useful data in a block will therefore be 128 KB minus a few tens of bytes reserved for this data. If entrusted with the task of inserting padding data, it will do so from the moment it has received the number of useful data until reaching the prefixed size. This supposes as resources for each part composing the group 128K, a register memorizing the predefined size and a register memorizing the number of useful data.
  • the number of games in the block The type of each part (we deduce the destination).
  • the PID of each part to respond to a choice of audio).
  • the processor can also be used to remove stuffing data (writing this data to a fictitious address).
  • the processor must update, in the registers of the PTI, the write pointer of the circular buffer which has received data.
  • padding data has been accepted for writing, it may be possible to have the interfacing circuit 'eliminate' this data from the FIFO, on the order of the processor which will then have to indicate the quantity. This functionality, a priori inexpensive, would relieve the EMI.
  • the 128K groups, read on the disc, are transferred, regardless of their format, directly to a memory area reserved for this purpose. All transfers from the interfacing circuit to the memory are then made with a size of 8 KB.
  • the MPEG parts must be aligned on multiples of 16 bytes.
  • the processor initializes BM-DMAs at each interruption generated by the interfacing circuit.
  • the size will always be 8KB since we no longer have to worry about the destination of each part of the 128KB block.
  • the jam data is also transferred. The processor can then easily retrieve the management information in memory.
  • MPEG-DMA is slightly more complex. Indeed, instead of having only two pointers to manage, per MPEG component, as in the circular buffer, the software will have to memorize the addresses of several memory sectors, with the quantity of associated data.
  • circuit 133 The role of circuit 133 is reduced to its simplest expression. It no longer has to offer the processor the possibility of retrieving specific information in the 128Kb group.
  • the processor must detect, at each polling, if one of the write pointers has reached the border of a prefixed buffer size. If so, note the value of each write pointer. Finally calculate the amount of stuffing data to add to each of the parts. This information must be entered in group 128K.
  • the remainder of the description relates to the management of information relating to special modes.
  • the microprocessor sends the data to the hard disk via circuit 133 and its internal FIFO memory (which has, according to the present example, a size of 8 KB).
  • Sequence header the position of each sequence header
  • sequence header a sequence header followed by an "I" image at least every 500 ms.
  • This information can be used in very rapid advances (with a step of 30 seconds and more), but also to position the reading in a place chosen by the user (index ).
  • This information will allow fine navigation in a program, image by image.
  • the microprocessor must therefore initialize the size of the FIFO memory used before each transfer (R / W).
  • the microprocessor knowing the address of the first data item it wants to access, gives the component the number of data items to be hidden in a UDMA ("Ultra Direct Memory Access") transfer (data which must not appear in the FIFO memory of the component 113) between the start of the transfer and the first useful data.
  • UDMA Ultra Direct Memory Access
  • an address in the program part of the hard disk corresponds to a 128KB block number increased by a jump value (“offset") (we can deduce an LBA number from it) .
  • This jump value corresponds to the position of the data in the 128KB block. The component will not have to know the number of the 128KB block but only to determine this jump value.
  • Component 113 resets its "jump value" counter when it detects an initialization by the microprocessor of an Ultra-DMA transfer.
  • Component 113 will store the information dedicated to the microprocessor.
  • the microprocessor reads the data at a precise address (es) of the component.
  • a mechanism must allow it to detect that it has read all of the information.
  • Table 1 provides a format for this data.
  • the type is indicated by two bits:
  • Image structure The coding is again performed on two bits. This information only makes sense if bits 21 and 20 indicate the presence of an image header. 00: forbidden 01: Odd frame ("Top field”)
  • the coding is carried out on 16 bits: only the 15 least significant bits are useful to indicate the offset of the header in the block
  • This value indicates the jump corresponding to the last byte of the header. It is up to the microprocessor to define whether the start of this same header is part of the same 128KB block or the previous one.
  • the system file will contain the information that will allow navigation in a program saved on the hard drive. This file, which grows as it is saved, can be saved in parts on the disk. The size of each part will result from a compromise between the following three factors:
  • the information recovered via the interfacing circuit 113 must be combined with that which the microprocessor has (LBA number used, format of blocks 128Ko) to generate information usable when reading the disc.
  • each 128KB block information located at the header of each 128KB block, indicating the number of elementary streams
  • this file is as follows: it is composed of two files, one for the beats, one for the composition in terms of images and headers. Other formats are of course possible.

Abstract

The invention concerns a method for generating trickmode information for a digital video stream to be recorded in a digital video system. The method comprises the steps of: analyzing the structure of said video stream and deriving a plurality of descriptors of objects of the stream; writing said stream to a recording medium; inserting, into the object descriptors, information describing the address of the objects on the recording medium. Applicable in a digital television system in which receivers are fitted with recording means.

Description

CREATION D ' UN SIGNAL DE TRUCAGE POUR ENREGISTREUR VIDEO NUMERIQUE CREATION OF A CHIP SIGNAL FOR A DIGITAL VIDEO RECORDER
La présente invention se rapporte à un dispositif et à un procédé de gestion d'informations relatives à des modes de restitution spéciaux de flux vidéo, tels que des données télévisuelles. Elle s'applique notamment dans le cadre d'enregistrements de flux de type MPEG 2 sur des supports d'enregistrement.The present invention relates to a device and a method for managing information relating to special modes of reproduction of video streams, such as television data. It applies in particular in the context of MPEG 2 type flow recordings on recording media.
Les formats des données compressées dans un flux MPEG sont tels qu'il est difficile de mettre en œuvre certains modes de restitution spéciaux, appelés « trick modes », habituellement utilisés dans le cadre d'enregistrements analogiques, tels que les avances rapides et les retours en arrière.The formats of the data compressed in an MPEG stream are such that it is difficult to implement certain special playback modes, called “trick modes”, usually used in the context of analog recordings, such as fast forward and reverse backward.
L'invention propose un dispositif et un procédé de gestion d'informations relatives à des modes de restitution spéciaux d'au moins un flux vidéo, permettant une mise en œuvre efficace de ces modes spéciaux.The invention provides a device and a method for managing information relating to special modes of reproduction of at least one video stream, enabling these special modes to be implemented effectively.
A cet effet, l'invention s'applique à un dispositif de gestion d'informations relatives à des modes de restitution spéciaux d'au moins un flux vidéo, comprenant des moyens d'enregistrement de ce flux vidéo sur un support d'enregistrement.To this end, the invention applies to a device for managing information relating to special modes of restitution of at least one video stream, comprising means for recording this video stream on a recording medium.
Selon l'invention, les moyens d'enregistrement sont prévus pour enregistrer sur le support d'enregistrement des adresses de positionnement utiles à une réalisation d'au moins un des modes spéciaux. Ces adresses sont suffisantes pour naviguer dans le flux vidéo enregistré, lors de la réalisation de ces modes spéciaux. Ainsi, pour la mise en œuvre d'une marche avant en accéléré, les adresses enregistrées sur le disque comprennent par exemple, notamment, les positions de tous les en-têtes de séquences, de groupes d'images et d'images correspondant aux images à diffuser.According to the invention, the recording means are provided for recording on the recording medium positioning addresses useful for carrying out at least one of the special modes. These addresses are sufficient to navigate in the recorded video stream, when performing these special modes. Thus, for the implementation of an accelerated forward operation, the addresses recorded on the disc include for example, in particular, the positions of all the headers of sequences, of groups of images and of images corresponding to the images. to diffuse.
Des modes spécifiques d'enregistrement sur le support d'enregistrement d'adresses et d'informations complémentaires relatives à des modes de restitution spéciaux sont détaillés dans les demandes européennes antérieures au nom de THOMSON multimédia ayant pour numéros de dépôt 00402115.0 et 00400941.1 , et constituant deux des documents de priorité de la présente demande.Specific modes of recording on the medium for recording addresses and additional information relating to special restitution modes are detailed in the previous European applications in the name of THOMSON multimedia having for deposit numbers 00402115.0 and 00400941.1, and constituting two of the priority documents of this application.
Avantageusement, les moyens d'enregistrement sont prévus pour enregistrer les adresses au fur et à mesure de l'enregistrement du flux vidéo.Advantageously, the recording means are provided for recording the addresses as the video stream is recorded.
Selon un mode avantageux de réalisation, les moyens d'enregistrement sont prévus pour enregistrer les adresses dans au moins un fichier du support d'enregistrement. Préférentiellement, ces adresses sont alors regroupées dans un unique fichier.According to an advantageous embodiment, the recording means are provided for recording the addresses in at least one file on the recording medium. Preferably, these addresses are then grouped together in a single file.
Il est de plus avantageux que les moyens d'enregistrement soient prévus pour enregistrer les adresses dans les fichiers par parties au cours du temps. Ceci permet d'effectuer un enregistrement progressif des adresses au cours de l'enregistrement du flux vidéo.It is more advantageous that the recording means are provided for recording the addresses in the files in parts over time. This allows a progressive recording of the addresses during the recording of the video stream.
Le support d'enregistrement est constitué par un support d'enregistrement à accès direct, cet accès direct étant total (accès direct à toutes les positions sur le support) ou partiel (accès à certaines positions, avec possibilité d'écriture et / ou de lecture séquentielle à partir de ces positions). Préférentiellement, il consiste en un disque dur. Le dispositif de gestion d'informations comprend avantageusement des moyens de détermination sur le support d'enregistrement de l'ensemble des adresses de positionnement.The recording medium is constituted by a recording medium with direct access, this direct access being total (direct access to all the positions on the medium) or partial (access to certain positions, with the possibility of writing and / or sequential reading from these positions). Preferably, it consists of a hard disk. The information management device advantageously comprises means for determining on the recording medium all the positioning addresses.
Dans un autre mode de réalisation, il est prévu pour recevoir avec le flux vidéo des informations de positionnement. Dans ce cas, les adresses de positionnement sur le support d'enregistrement sont déduites des informations reçues. Par exemple, le flux vidéo contient déjà l'ensemble des adresses déterminées en amont à partir d'un autre support, mais elles sont exprimées de manière relative par rapport à une adresse de référence. Le dispositif de gestion d'informations en déduit alors l'ensemble des adresses réelles sur le support d'enregistrement, en déterminant sur ce dernier une (ou plusieurs) adresse de base correspondant à l'adresse de référence.In another embodiment, it is intended to receive positioning information with the video stream. In this case, the positioning addresses on the recording medium are deduced from the information received. For example, the video stream already contains all the addresses determined upstream from another medium, but they are expressed relatively with respect to a reference address. The information management device then deduces all the real addresses therefrom on the recording medium, by determining on the latter one (or more) base address corresponding to the reference address.
Les adresses de positionnement sont avantageusement choisies parmi au moins un des types d'adresses suivants :The positioning addresses are advantageously chosen from at least one of the following types of addresses:
- des positions d'en-têtes de séquences,- sequence header positions,
- des positions d'en-têtes de groupes d'images, et- headings of groups of images, and
- des adresses d'en-têtes d'images.- addresses of image headers.
Par ailleurs, les moyens d'enregistrement sont avantageusement prévus pour enregistrer également sur le support d'enregistrement des informations d'espacement choisies parmi au moins un des types d'informations suivants : - un temps écoulé depuis le début d'un enregistrement donné, etFurthermore, the recording means are advantageously provided for also recording on the recording medium spacing information chosen from at least one of the following types of information: a time elapsed since the start of a given recording, and
- un nombre d'images écoulé depuis le début d'un enregistrement donné.- a number of images that have elapsed since the start of a given recording.
De plus, les moyens d'enregistrement sont aussi avantageusement prévus pour enregistrer également sur le support d'enregistrement des informations de description d'objets choisies parmi au moins un des types d'informations suivants :In addition, the recording means are also advantageously provided for recording also on the support. recording object description information chosen from at least one of the following types of information:
- un type de codage d'images, et- a type of image coding, and
- une structure d'images.- an image structure.
L'invention est également relative à un procédé de gestion d'informations relatives à des modes de restitution spéciaux d'au moins un flux vidéo, dans lequel on enregistre le flux vidéo sur un support d'enregistrement.The invention also relates to a method for managing information relating to special modes of reproduction of at least one video stream, in which the video stream is recorded on a recording medium.
Selon l'invention, on enregistre sur le support d'enregistrement des adresses de positionnement utiles à une réalisation d'au moins un des modes spéciaux, ces adresses étant suffisantes pour naviguer dans le flux vidéo enregistré, lors de la réalisation de ces modes spéciaux.According to the invention, positioning addresses useful for carrying out at least one of the special modes are recorded on the recording medium, these addresses being sufficient to navigate in the recorded video stream during the production of these special modes. .
D'autres caractéristiques et avantages de l'invention apparaîtront à travers la description d'exemples de réalisation particuliers, non limitatifs, décrits à l'aide des dessins joints, parmi lesquels :Other characteristics and advantages of the invention will become apparent from the description of specific nonlimiting exemplary embodiments, described with the aid of the accompanying drawings, among which:
- la figure 1 est un schéma bloc d'un récepteur mettant en œuvre le procédé selon le présent exemple de réalisation,FIG. 1 is a block diagram of a receiver implementing the method according to the present exemplary embodiment,
- les figures 2 à 4 illustrent différentes étapes de remplissage de buffers par deux flux élémentaires avant transfert vers un moyen d'enregistrement,FIGS. 2 to 4 illustrate different stages of filling buffers with two elementary flows before transfer to a recording means,
- la figure 5 est un schéma d'un bloc du moyen d'enregistrement, et illustre la localisation d'un élément particulier à l'aide d'un numéro de LBA et d'un offset.- Figure 5 is a diagram of a block of the recording means, and illustrates the location of a particular element using an LBA number and an offset.
De manière générale, certains termes français de la description sont suivis, entre parenthèses et guillemets, de leur équivalent en langue anglaise, dans le but de faciliter la lecture. Les termes anglais sont en effet plus couramment utilisés que les termes français.In general, certain French terms in the description are followed, in parentheses and quotation marks, by their language equivalent. English, in order to facilitate reading. English terms are indeed more commonly used than French terms.
Le présent exemple de réalisation définit des informations nécessaires pour pouvoir réaliser diverses fonctions de modes spéciaux ("trick modes") lors de l'utilisation d'un disque dur dans un décodeur numérique. Un tel décodeur est par exemple un récepteur de télévision numérique de type DVB. On entend par mode spécial un mode de fonctionnement de l'appareil tel que par exemple la reproduction en accéléré, la marche arrière, l'arrêt sur image...The present exemplary embodiment defines information necessary to be able to perform various special mode functions ("trick modes") when using a hard disk in a digital decoder. Such a decoder is for example a DVB type digital television receiver. By special mode is meant a mode of operation of the device such as, for example, time lapse reproduction, reverse, freeze frame, etc.
Il est bien entendu que l'invention ne se limite pas à l'environnement du présent exemple de réalisation. En particulier, d'autres supports d'enregistrement qu'un disque dur peuvent être employés et les signaux numériques peuvent avoir une autre source qu'un signal DVB.It is understood that the invention is not limited to the environment of the present exemplary embodiment. In particular, other recording media than a hard disk can be used and the digital signals can have a source other than a DVB signal.
La figure 1 est un diagramme bloc d'un décodeur numérique. Ce dernier comporte un tuner 101 relié à un circuit de démodulation et de correction d'erreur 102 qui comporte également un convertisseur analogique-numérique pour numériser les signaux en provenance du tuner. Selon le type de réception, câble ou satellite, la modulation utilisée est de type QAM ou QPSK, et le circuit 102 comporte les moyens de démodulation appropriés au type de réception. Les données démodulées et corrigées sont sérialisées par un convertisseur 103, connecté à une entrée série d'un circuit de démultiplexage et de décodage 104.Figure 1 is a block diagram of a digital decoder. The latter includes a tuner 101 connected to a demodulation and error correction circuit 102 which also includes an analog-digital converter for digitizing the signals coming 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 includes the demodulation means suitable for the type of reception. The demodulated and corrected data are serialized by a converter 103, connected to a serial input of a demultiplexing and decoding circuit 104.
Selon le présent exemple, ce circuit 104 est un circuit de la famille du STi5510 fabriqué par ST Microelectronics. Ce dernier comporte, reliés à un bus parallèle 32 bits central 105, un démultiplexeur DVB 106, un microprocesseur 107, une mémoire cache 108, une interface mémoire externe 109, une interface de communication série 110, une interface entrée/sortie parallèle 111 , une interface de carte à puce 112, un décodeur MPEG audio et vidéo 113, un encodeur PAL et RGB 114 et un générateur de caractères 115.According to the present example, this circuit 104 is a circuit of the STi5510 family manufactured by ST Microelectronics. The latter comprises, connected to a central 32-bit parallel bus 105, a DVB demultiplexer 106, a microprocessor 107, a cache memory 108, an external memory interface 109, a serial communication interface 110, an interface parallel input / output 111, a smart card interface 112, an MPEG audio and video decoder 113, a PAL and RGB encoder 114 and a character generator 115.
L'interface mémoire externe 109 est reliée à un bus parallèle 16 bits, auquel sont reliés respectivement une interface parallèle 116 de type IEEE 1284, une mémoire vive 117, une mémoire 'Flash' 118 et un disque dur 119. Ce dernier est de type EIDE pour les besoins du présent exemple. L'interface parallèle 116 est également connectée à un connecteur externe 120 et à un modem 121 , ce dernier étant relié à un connecteur externe 122.The external memory interface 109 is connected to a 16-bit parallel bus, to which are connected respectively a parallel interface 116 of the IEEE 1284 type, a random access memory 117, a 'Flash' memory 118 and a hard disk 119. The latter is of the EIDE for the purposes of this example. The parallel interface 116 is also connected to an external connector 120 and to a modem 121, the latter being connected to an external connector 122.
La mémoire vice 117 est par exemple du type SDRAM. Elle est destinée à contenir un certain nombre de zone tampon ("buffers") pour l'interfaçage avec un disque dur 119. Ce disque dur est connecté au bus 215 par un circuit d'interfaçage 133.The vice memory 117 is for example of the SDRAM type. It is intended to contain a certain number of buffer zones ("buffers") for interfacing with a hard disk 119. This hard disk is connected to the bus 215 by an interfacing circuit 133.
L'interface de communication série 110 est reliée à un connecteur externe 123, ainsi qu'à la sortie d'un sous-ensemble de réception infrarouge 124 destiné à recevoir des signaux d'une télécommande non-illustrée. Le sous-ensemble de réception infrarouge est intégré dans un panneau frontal du décodeur, qui comporte également un dispositif d'affichage et des touches de commande.The serial communication interface 110 is connected to an external connector 123, as well as to the output of an infrared reception sub-assembly 124 intended to receive signals from a remote control not shown. The infrared reception sub-assembly is integrated into a front panel of the decoder, which also includes a display device and control keys.
L'interface de carte à puce 112 est reliée à un connecteur de carte à puce 125.The smart card interface 112 is connected to a smart card connector 125.
Le décodeur audio et vidéo 113 est relié à une mémoire vive 126 de 16 Mbit, destinée à stocker les paquets audio et vidéo non décodés). Le décodeur transmet les données vidéo décodées à l'encodeur PAL et RGB 114 et les données audio décodées vers un convertisseur numérique- analogique 127. L'encodeur fournit les signaux RGB à un encodeur SECAM 132, et fournit également un signal vidéo sous la forme d'une composante luminance Y et d'une composante chrominance C, ces deux composantes étant séparées. Ces différents signaux sont multiplexes à travers un circuit de commutation 128 vers des sorties audio 129, télévision 130 et magnétoscope 131.The audio and video decoder 113 is connected to a random access memory 126 of 16 Mbit, intended to store the audio and video packets not decoded). The decoder transmits the decoded video data to the PAL and RGB encoder 114 and the decoded audio data to a digital-to-analog converter 127. The encoder supplies the RGB signals to a SECAM encoder 132, and also provides a video signal in the form of a luminance component Y and a chrominance component C, these two components being separate. These different signals are multiplexed through a switching circuit 128 to audio outputs 129, television 130 and video recorder 131.
Le cheminement des données audio et vidéo dans le décodeur est le suivant : le flux de données démodulé possède un format de flux de transport, aussi appelé Transport Stream' ou plus simplement TS' en référence au standard MPEG II Systèmes. Ce standard possède la référence ISO/IEC 13818-1. Les paquets TS comportent dans leur en-tête des identificateurs appelés PID qui indiquent à quel flux élémentaire se rapportent les données utiles du paquet. Typiquement, un flux élémentaire est un flux vidéo associé à un programme particulier, tandis qu'un flux audio de ce programme en est un autre. La structure de données utilisée pour transporter les données audio et vidéo compressées est appelée paquet de flux élémentaire ou encore paquet 'PES'.The routing of the audio and video data in the decoder is as follows: the demodulated data stream has a transport stream format, also called Transport Stream 'or more simply TS' in reference to the MPEG II Systems standard. This standard has the reference ISO / IEC 13818-1. TS packets have identifiers called PIDs in their header which indicate to which elementary stream the payload of the packet relates. Typically, an elementary stream is a video stream associated with a particular program, while an audio stream of this program is another. The data structure used to transport the compressed audio and video data is called elementary stream packet or also 'PES' packet.
Le démultiplexeur 106 est programmé par le microprocesseur 107 pour extraire du flux de transport les paquets correspondant à certaines valeurs de PID. Les données utiles d'un paquet démultiplexé sont le cas échéant désembrouillées (si les droits stockés par une carte à puce de l'utilisateur autorisent ce désembrouillage), avant de stocker ces données dans des zones tampon des diverses mémoires du décodeur. Les zones tampon réservées aux paquets PES audio et vidéo sont situées dans la mémoire 126. Le décodeur 113 relit ces données audio et vidéo selon ses besoins, et transmet les échantillons audio et vidéo décompressés respectivement à l'encodeur 114 et au convertisseur 127.The demultiplexer 106 is programmed by the microprocessor 107 to extract the packets corresponding to certain PID values from the transport stream. The useful data of a demultiplexed packet is if necessary descrambled (if the rights stored by a smart card of the user authorize this descrambling), before storing this data in buffer zones of the various memories of the decoder. The buffer zones reserved for the audio and video PES packets are located in the memory 126. The decoder 113 reads back this audio and video data as required, and transmits the decompressed audio and video samples respectively to the encoder 114 and to the converter 127.
Par ailleurs, le circuit 104 comporte une fonction d'accès mémoire direct ('DMA Bloc') 132. Certains des circuits mentionnés ci-dessus sont contrôlés de manière connue, par exemple à travers un bus de type I2C.Furthermore, circuit 104 includes a direct memory access function ('DMA Block') 132. Some of the circuits mentioned above are controlled in a known manner, for example through an I2C type bus.
Le cas de figure décrit ci-dessus correspond au décodage direct d'un programme démultiplexé par le décodeur MPEG 113.The case described above corresponds to the direct decoding of a program demultiplexed by the MPEG 113 decoder.
Le circuit d'interfaçage 133, via lequel les données transitent pour être enregistrées sur le disque dur, a la possibilité de fournir des informations sur le contenu des programmes. La présente description détermine quelles sont les informations qui seront utiles et définit une partie du cahier des charges du composant.The interface circuit 133, via which the data passes to be recorded on the hard disk, has the possibility of providing information on the content of the programs. This description determines what information will be useful and defines part of the specifications of the component.
On décrira dans un premier temps la gestion des mémoires tampon d'écriture et de lecture de données vers le disque, ainsi que la structure des blocs de données de ce disque.We will first describe the management of buffers for writing and reading data to the disk, as well as the structure of the data blocks of this disk.
Le démultiplexeur ("PTI") envoie les flux ("STREAMS") relatifs aux identificateurs de paquets ("PIDs") sélectionnés dans autant de buffers circulaires dont on aura précisé les adresses hautes et basses. Pour obtenir un taux de transfert adéquat avec le disque dur, on réalise des Ultra DMA de 128KOctets. Il est impératif de garder une synchronisation entre les différents PID. > Le PTI ne donne aucune information concernant le taux de remplissage des buffers circulaires. La seule information qu'il fournit de lui- même est une interruption lorsqu'un pointeur d'écriture a dépassé un pointeur de lecture (c'est-à-dire : lorsque des données sont écrasées), situation totalement interdite. > On se limite dans un premier temps à un seul ProgramThe demultiplexer ("PTI") sends the streams ("STREAMS") relating to the packet identifiers ("PIDs") selected in as many circular buffers whose high and low addresses have been specified. To obtain an adequate transfer rate with the hard drive, Ultra DMA 128Kbytes are produced. It is imperative to keep synchronization between the different PIDs. > The PTI does not give any information concerning the filling rate of circular buffers. The only information it provides on its own is an interruption when a write pointer has passed a read pointer (that is, when data is overwritten), a situation which is completely prohibited. > We initially limit ourselves to a single Program
Stream, et par conséquent, au plus une vidéo (0 si programme radio). > On doit être capable d'enregistrer un programme, tout en en visualisant un autre déjà enregistré (ce peut-être le même avec un temps de retard). Par conséquent deux groupes de buffers sont à prévoir, un qui interface le PTI avec le disque dur en écriture, le second qui interface le disque dur en lecture avec le décodeur A/V.Stream, and therefore, at most one video (0 if radio program). > We must be able to record a program, while viewing another already recorded (this may be the same with a delay time). Consequently two groups of buffers are to be expected, one which interfaces the PTI with the hard disk in writing, the second which interfaces the hard disk in reading with the A / V decoder.
> Les MPEG-DMA (DMA1 , DMA2 et DMA3) réalisent des transferts de taille multiples de 16 bytes.> MPEG-DMA (DMA1, DMA2 and DMA3) carry out transfers of size multiple of 16 bytes.
> Le circuit d'interfaçage 133 possède une FIFO de 8 Ko qui servira dans les deux sens de transfert.> The interfacing circuit 133 has an 8 KB FIFO which will be used in both directions of transfer.
> Le décodeur MPEG autorise la réception de données de bourrage mais à des endroits bien précis du flux (exemple : entre deux images). Cette restriction nous impose d'en interdire l'envoi vers les CD- FIFOS.> The MPEG decoder authorizes the reception of padding data but at very precise locations in the stream (example: between two images). This restriction requires us to prohibit sending them to CD-FIFOS.
Transfert du buffer du démultiplexeur vers le disque:Transfer of the demultiplexer buffer to the disk:
Un nombre quelconque de PID pouvant être sélectionné, on crée autant de buffers circulaires avec des tailles adaptées. La lecture des tables PMT est obligatoire (le temps de latence est à priori négligeable) pour connaître la nature des trains sélectionnés. Un flux ("stream") vidéo se verra réserver une taille de buffer bien supérieure à celle d'un flux audio. La taille réelle des buffers sera largement supérieure à celle nécessaire en absolu, la relecture de ceux-ci ne se fera pas systématiquement en temps réel. Deux possibilités dans la gestion de la lecture de ces buffers sont envisageables :As any number of PIDs can be selected, as many circular buffers are created with suitable sizes. Reading the PMT tables is mandatory (the latency is a priori negligible) to know the nature of the selected trains. A video stream will have a buffer size much larger than that of an audio stream. The actual size of the buffers will be much greater than that required in absolute terms, their rereading will not be done systematically in real time. Two possibilities in managing the reading of these buffers are possible:
• lecture des buffers avec tailles fixées• reading buffers with fixed sizes
• lecture des buffers sans tailles fixées• reading buffers without fixed sizes
Lecture des buffers avec tailles fixées Avec une taille (pré)fιxée, la gestion consiste à définir dès le départ de l'enregistrement, et de manière définitive, la quantité de données qui seront envoyées au disque dur pour chacun des flux sélectionnés (pour chaque partie), la somme de ces tailles préfixées devant atteindre 128Ko. Cette solution a pour avantage de simplifier la gestion des buffers ainsi que celle du circuit d'interfaçage. Les groupes 128K envoyés sur le disque, auront ainsi les frontières des différents flux situés toujours au même endroit. Un tel schéma est décrit plus en détail dans les demandes de brevet français 9816491000 et 9816492000 déposées le 28 décembre 1998 au nom de THOMSON multimédia.Reading buffers with fixed sizes With a (pre) fixed size, the management consists in defining from the start of the recording, and definitively, the quantity of data which will be sent to the hard disk for each of the selected streams (for each part), the sum of these prefixed sizes must reach 128Ko. This solution has the advantage of simplifying the management of buffers as well as that of the interfacing circuit. The 128K groups sent to the disc will thus have the borders of the different streams always located in the same place. Such a scheme is described in more detail in French patent applications 9816491000 and 9816492000 filed on December 28, 1998 in the name of THOMSON multimedia.
Cependant, le risque est d'enregistrer sur le disque beaucoup de données de bourrage. En effet, si un buffer que l'on aura réservé pour un train de données privées se remplit rapidement pendant certaines périodes, le buffer vidéo, qui est à priori le plus important, n'aura reçu que peu de données. Il sera alors complété par une quantité importante de données de bourrage. On peut tout de même considérer que ce soit le buffer vidéo qui atteigne le plus fréquemment sa taille prédéfinie.However, the risk is that you will save a lot of jamming data to disk. Indeed, if a buffer that has been reserved for a private data train fills up quickly during certain periods, the video buffer, which is a priori the most important, will have received only little data. It will then be supplemented by a large amount of padding data. We can still consider that it is the video buffer that most frequently reaches its predefined size.
11 faut se poser la question de savoir (ou faire de test de performances) si on doit choisir des frontières multiples de 8Ko pour une utilisation judicieuse de la FIFO contenue dans le circuit d'interfaçage.We must ask ourselves the question of knowing (or doing a performance test) whether we should choose multiple borders of 8KB for a judicious use of the FIFO contained in the interfacing circuit.
Les figures 2 à 4 décrivent la gestion des buffers.Figures 2 to 4 describe the management of buffers.
Le rôle du processeurThe role of the processor
Dans cette solution, la CPU aura pour tâche d'espionnerIn this solution, the CPU will have the task of spying
("polling") le moment où l'un des buffers a été rempli d'une quantité correspondante à sa taille prédéfinie. Les valeurs des pointeurs de chacun des buffers sont alors mémorisées. Le transfert vers le disque est alors possible. Avec cette méthode, il s'avère que lors d'une scrutation, si un (ou plusieurs) pointeur(s) a atteint la taille préfixée, il l'aura en fait dépassé. On aura alors aucune possibilité de définir à quelle position était réellement les pointeurs des autres buffers au moment ou le premier est, effectivement, passé sur l'adresse bornant la taille préfixée. Ceci n'aura pas d'effet sur la synchronisation des différents flux, puisque le delta entre les valeurs des pointeurs lus et celles que l'on devrait réellement utiliser sera faible.("polling") the moment when one of the buffers was filled with a quantity corresponding to its predefined size. The values of the pointers of each of the buffers are then memorized. Transfer to disk is then possible. With this method, it turns out that during a scan, if one (or more) pointer (s) has reached the prefixed size, it will in fact have exceeded it. We will then have no possibility of defining at what position the pointers of the other buffers were actually at the moment when the first is actually passed on the address bounding the prefixed size. This will have no effect on the synchronization of the different streams, since the delta between the values of the pointers read and those which we should actually use will be small.
En fonction de la méthode utilisée à la relecture du disque, il peut être nécessaire de prendre en compte les frontières de 16 bytes imposées par les DMA MPEG. Le processeur doit indiquer au circuit d'interfaçage le nombre de données utiles pour chacun des flux élémentaires enregistrés.Depending on the method used for disc replay, it may be necessary to take into account the 16-byte boundaries imposed by DMA MPEG. The processor must indicate to the interface circuit the number of useful data for each of the elementary flows recorded.
Les données de bourrage à la fin des buffers incomplets peuvent être insérées par le microprocesseur, mais aussi par le circuit d'interfaçage. Si c'est le microprocesseur, le mécanisme est rudimentaire, mais il y a utilisation non productive du bus EMI. Si c'est le circuit d'interfaçage, le mécanisme se complique, il faut en effet que le microprocesseur soit informé du moment où ce circuit a terminé d'insérer des données de bourrage, pour pouvoir démarrer un nouveau BM-DMA (qu'il aura initialisé pendant l'attente).The padding data at the end of the incomplete buffers can be inserted by the microprocessor, but also by the interfacing circuit. If it is the microprocessor, the mechanism is rudimentary, but there is non-productive use of the EMI bus. If it is the interfacing circuit, the mechanism becomes complicated, it is indeed necessary that the microprocessor is informed of the moment when this circuit has finished inserting padding data, in order to be able to start a new BM-DMA (that it will have initialized while waiting).
Le rôle du circuit d'interfaçageThe role of the interfacing circuit
Le rôle du circuit d'interfaçage dans ce cas de figure, outre la gestion prévue de l'interfaçage disque dur, sera d'insérer des données auxiliaires au début du groupe 128Ko. Ces données fournies par le processeur indiqueront le nombre de données utiles pour chacun des flux élémentaires inclus dans le bloc. La quantité de données utiles dans un bloc sera donc de 128 Ko moins quelques dizaines d'octets réservés pour ces données. Si on lui confie la tâche d'insérer des données de bourrage, il le fera à partir du moment où il a reçu le nombre de données utiles jusqu'à atteindre la taille préfixée. Ceci suppose comme ressources pour chaque partie composant le groupe 128K, un registre mémorisant la taille prédéfinie et un registre mémorisant le nombre de données utiles.The role of the interfacing circuit in this case, in addition to the planned management of the hard drive interfacing, will be to insert auxiliary data at the start of the 128Kb group. This data supplied by the processor will indicate the number of useful data for each of the elementary streams included in the block. The amount of useful data in a block will therefore be 128 KB minus a few tens of bytes reserved for this data. If entrusted with the task of inserting padding data, it will do so from the moment it has received the number of useful data until reaching the prefixed size. This supposes as resources for each part composing the group 128K, a register memorizing the predefined size and a register memorizing the number of useful data.
Lecture des buffers sans tailles fixéesReading buffers without fixed sizes
Dans cette solution, l'idée est toujours de réaliser un espionnage de l'état des différents buffers. Cependant, on n'attend plus le moment où au moins l'un des buffers a atteint une taille préfixée, mais celui où le nombre total d'écritures dans les buffers a atteint les 128 Ko (ou un peu moins comme on va le voir plus loin). Cette solution a pour avantage de supprimer l'utilisation de données de bourrage et donc de faire des accès disque moins fréquents. Par contre le processeur sera légèrement plus sollicité à chaque scrutation. Le format des blocs 128K variera en permanence. Il faudra alors conserver pour chaque bloc la taille occupée pour chacun des flux élémentaires (pour chaque valeur de PID), ce qui implique qu'il faudra insérer des données additionnelles (données de gestion) dans les 128 Ko.In this solution, the idea is always to spy on the state of the various buffers. However, we no longer wait for the moment when at least one of the buffers has reached a prefixed size, but the moment when the total number of writes in the buffers has reached 128 KB (or a little less as we will see) further). This solution has the advantage of eliminating the use of jamming data and therefore of making less frequent disk accesses. On the other hand, the processor will be slightly more stressed on each scan. The format of 128K blocks will change constantly. It will then be necessary to keep for each block the size occupied for each of the elementary flows (for each PID value), which implies that additional data (management data) will have to be inserted in the 128 KB.
Le rôle du processeurThe role of the processor
De la même manière que dans la première solution, le processeur devra scruter l'évolution des pointeurs, et faire la somme des différences entre les pointeurs écriture et lecture des buffers circulaires du PTI. Lorsque le nombre total d'écritures aura atteint 128Ko (moins un delta pour laisser de la place pour insérer des informations additionnelles), le microprocesseur indique au circuit d'interfaçage la quantité de données qui vont être transférées pour chaque buffer. Cette quantité devra être ajustée à un multiple de 16 octets si nécessaire pour le dispositif de relecture. On transfère alors les données.In the same way as in the first solution, the processor will have to scrutinize the evolution of the pointers, and make the sum of the differences between the pointers writing and reading of the circular buffers of the PTI. When the total number of writes has reached 128KB (minus a delta to leave room for inserting additional information), the microprocessor indicates to the interface circuit the amount of data that will be transferred for each buffer. This quantity should be adjusted to a multiple of 16 bytes if necessary for the replay device. We then transfer the data.
Le rôle du circuit d'interfaçageThe role of the interfacing circuit
Dans cette configuration, sa tâche est la même que dans l'autre proposition, seulement il n'y a plus de données de bourrage à générer.In this configuration, its task is the same as in the other proposal, only there is no more padding data to generate.
Transfert des données du disque dur vers les buffers MPEGData transfer from hard drive to MPEG buffers
Dans ce sens de transfert, on suppose, selon le présent exemple de réalisation, qu'il n'y aura jamais plus de 3 buffers d'interface avec le décodeur MPEG (autant que de CD-FIFOs). Une voie audio devra être choisie (si plusieurs ont été enregistrées) à la relecture du disque. Si un flux de données (par exemple données relatives à un programme interactif) accompagne le programme il devra être enregistré dans une zone réservée à l'avance pour ce genre d'application.In this transfer direction, it is assumed, according to the present embodiment, that there will never be more than 3 interface buffers with the MPEG decoder (as many as CD-FIFOs). An audio channel must be chosen (if several have been recorded) when the disc is replayed. If a data flow (for example data relating to an interactive program) accompanies the program it must be recorded in an area reserved in advance for this kind of application.
Les DMA1 , DMA2 et DMA3 sont totalement programmables, ainsi ils peuvent gérer des buffers qui seront ou non circulaires.DMA1, DMA2 and DMA3 are fully programmable, so they can manage buffers which may or may not be circular.
Utilisation de buffers circulairesUse of circular buffers
Ces buffers circulaires ne concerneront que les données qui doivent transiter vers les CD-FIFOS. Les autres données seront orientées directement vers la partie mémoire réservée aux applications.These circular buffers will only concern the data which must pass to CD-FIFOS. The other data will be directed directly to the memory part reserved for applications.
Dans cette configuration de buffers, il n'est pas nécessaire d'avoir aligné les tailles de chaque partie (dédiée au MPEG) sur un multiple de 16 octets à l'écriture sur le disque. Le rôle du processeurIn this configuration of buffers, it is not necessary to have aligned the sizes of each part (dedicated to MPEG) on a multiple of 16 bytes when writing to disk. The role of the processor
Le processeur doit récupérer, avant de démarrer les transferts, les données qui permettront d'orienter les différentes parties qui composent les blocs de 128K. Ainsi seront nécessaires les informations suivantes :The processor must recover, before starting transfers, the data which will guide the different parts that make up the 128K blocks. This will require the following information:
Le nombre de parties dans le bloc. Le type de chaque partie (on en déduit la destination). Le PID de chaque partie (pour répondre à un choix de l'audio).The number of games in the block. The type of each part (we deduce the destination). The PID of each part (to respond to a choice of audio).
La taille de chaque partie.The size of each part.
La quantité de données de bourrage (s'il en a été inséré à l'écriture).The amount of padding data (if one was written to it).
Le processeur initie un BM-DMA (du circuit d'interfaçage vers un buffer ou une zone mémoire dédiée) dès lors que le circuit d'interfaçage lui a indiqué, que sa FIFO est pleine par une interruption appropriée. Pour vider cette FIFO, le processeur peut avoir plusieurs BM-DMA à réaliser. En effet, certaines parties du groupe 128K peuvent être de taille inférieure à 8Ko.The processor initiates a BM-DMA (from the interface circuit to a buffer or a dedicated memory area) as soon as the interface circuit has indicated to it that its FIFO is full by an appropriate interrupt. To empty this FIFO, the processor can have several BM-DMAs to perform. Indeed, some parts of the 128K group can be smaller than 8KB.
Le processeur peut aussi être mis à contribution pour supprimer des données de bourrage (écriture de ces données vers une adresse fictive).The processor can also be used to remove stuffing data (writing this data to a fictitious address).
A la fin de chaque BM-DMA, le processeur doit remettre à jour, dans les registres du PTI, le pointeur d'écriture du buffer circulaire qui a reçu des données.At the end of each BM-DMA, the processor must update, in the registers of the PTI, the write pointer of the circular buffer which has received data.
Dans le même temps le processeur initie des transferts MPEG-At the same time the processor initiates MPEG- transfers
DMA tant qu'il y a des données dans les buffers circulaires. Si la mémoire du Bit Buffer est pleine, ces DMA sont mis automatiquement en attente. Il faut s'assurer que les tampons du Bit Buffer seront toujours le plus plein possible.DMA as long as there is data in the circular buffers. If the Bit Buffer memory is full, these DMAs are automatically put on hold. It is necessary make sure that the buffers of the Bit Buffer will always be as full as possible.
Le rôle du circuit d'interfaçageThe role of the interfacing circuit
Si des données de bourrage ont été admises à l'écriture, il est peut-être possible de faire en sorte que le circuit d'interfaçage 'élimine' ces données de la FIFO, sur ordre du processeur qui devra alors en indiquer la quantité. Cette fonctionnalité, à priori peu coûteuse, permettrait de soulager l'EMI.If padding data has been accepted for writing, it may be possible to have the interfacing circuit 'eliminate' this data from the FIFO, on the order of the processor which will then have to indicate the quantity. This functionality, a priori inexpensive, would relieve the EMI.
Utilisation de buffers non circulairesUse of non-circular buffers
Les groupes 128K, lus sur le disque, sont transférés, sans se préoccuper de leur format, directement vers une zone mémoire réservée à cet effet. Tous les transferts du circuit d'interfaçage vers la mémoire se font alors avec une taille de 8 Ko.The 128K groups, read on the disc, are transferred, regardless of their format, directly to a memory area reserved for this purpose. All transfers from the interfacing circuit to the memory are then made with a size of 8 KB.
Dans ce cas les parties MPEG doivent être alignées sur des multiples de 16 octets.In this case the MPEG parts must be aligned on multiples of 16 bytes.
Le rôle du processeurThe role of the processor
De même que pour le cas précédent, le processeur initialise des BM-DMA à chaque interruption générée par le circuit d'interfaçage. Par contre la taille sera toujours de 8Ko puisque l'on n'a plus à se préoccuper de la destination de chacune des parties du bloc de 128Ko. Les données de bourrage sont également transférées. Le processeur peut alors récupérer aisément les informations de gestion en mémoire.As in the previous case, the processor initializes BM-DMAs at each interruption generated by the interfacing circuit. However, the size will always be 8KB since we no longer have to worry about the destination of each part of the 128KB block. The jam data is also transferred. The processor can then easily retrieve the management information in memory.
Les MPEG-DMA sont légèrement plus complexes. En effet, au lieu d'avoir uniquement deux pointeurs à gérer, par composante MPEG, comme dans le buffer circulaire, le logiciel aura à mémoriser les adresses de plusieurs secteurs mémoire, avec la quantité de données associées.MPEG-DMA is slightly more complex. Indeed, instead of having only two pointers to manage, per MPEG component, as in the circular buffer, the software will have to memorize the addresses of several memory sectors, with the quantity of associated data.
Si le processeur détecte la présence de données non MPEG à la lecture des informations de gestion, il doit transférer ces données vers l'espace mémoire qui leur est réservé. Il est à noter que, contrairement à la première solution ces données auront alors fait l'objet de 2 transferts (circuit d'interfaçage -> mémoire, mémoire -> mémoire). Ceci n'est pas forcément très pénalisant si l'on suppose que leur quantité est faible.If the processor detects the presence of non-MPEG data on reading the management information, it must transfer this data to the memory space reserved for them. It should be noted that, unlike the first solution, this data will then have been the subject of 2 transfers (interfacing circuit -> memory, memory -> memory). This is not necessarily very disadvantageous if we assume that their quantity is small.
Le rôle du circuit d'interfaçageThe role of the interfacing circuit
Le rôle du circuit 133 est réduit à sa plus simple expression. Il n'a plus à offrir au processeur la possibilité de récupérer des infos particulières dans le groupe 128Ko.The role of circuit 133 is reduced to its simplest expression. It no longer has to offer the processor the possibility of retrieving specific information in the 128Kb group.
Comme on peut le voir dans ce qui précède, il existe plusieurs solutions dans la gestion des buffers. Cependant, la moindre flexibilité et la taille non extensible du circuit d'interfaçage guideront fortement le choix final. II faut voir si l'on accepte de compliquer le composant pour alléger le travail du microprocesseur, mais surtout le taux d'occupation du bus EMI.As we can see in the above, there are several solutions in the management of buffers. However, the lesser flexibility and the non-expandable size of the interfacing circuit will strongly guide the final choice. We must see if we accept to complicate the component to lighten the work of the microprocessor, but especially the occupancy rate of the EMI bus.
Alléger le travail du microprocesseur :Lighten the work of the microprocessor:
• Ne pas tenir compte des frontières de 16 octets.• Ignore the 16-byte boundaries.
• Utiliser des buffers circulaires à la relecture du disque. • Ecrire, lire des données directement dans la FIFO du circuit d'interfaçage.• Use circular buffers when reading the disc. • Write, read data directly in the FIFO of the interfacing circuit.
Dans le premier cas, le processeur doit détecter, à chaque polling, si l'un des pointeurs d'écriture à atteint la frontière d'une taille préfixée de buffer. Si oui, noter la valeur de chaque pointeur d'écriture. Enfin calculer la quantité de données de bourrage à adjoindre à chacune des parties. Ces informations doivent être insérées dans le groupe 128K.In the first case, the processor must detect, at each polling, if one of the write pointers has reached the border of a prefixed buffer size. If so, note the value of each write pointer. Finally calculate the amount of stuffing data to add to each of the parts. This information must be entered in group 128K.
Dans le second cas, le processeur doit détecter le moment, où, la somme des données stockées dans les différents buffers circulaires à atteint les 128Ko (=> somme des différences des pointeurs). La taille de chaque partie est insérée dans le groupe 128Ko.In the second case, the processor must detect the moment when the sum of the data stored in the various circular buffers reaches 128KB (=> sum of the differences in pointers). The size of each part is entered in the 128Kb group.
Alléger la charge de l'EMI :Lighten the load of the EMI:
• Eviter de transférer des données de bourrage (occupation improductive).• Avoid transferring jam data (unproductive occupation).
• Eviter d'avoir à réaliser deux DMA pour les mêmes données• Avoid having to perform two DMA for the same data
Le circuit d'interfaçageThe interfacing circuit
Dans tous les cas, il faudra insérer puis relire des données de gestion à chaque groupe 128Ko (taille de chaque partie ou quantité de données de bourrage pour chacune d'elles). Il faut donc impérativement prévoir un mécanisme qui permet ce mécanisme :In all cases, it will be necessary to insert and then re-read management data for each 128KB group (size of each part or quantity of padding data for each of them). It is therefore imperative to provide a mechanism which allows this mechanism:
• registres recopiés dans la FIFO par le circuit,• registers copied into FIFO by the circuit,
• ou écriture par le processeur de ces informations dans une mémoire puis DMA vers FIFO du circuit, • ou accès direct à la FIFO par le processeur. La solution qui parait la plus satisfaisante est la seconde pour les raisons qui suivent :• or writing by the processor of this information in a memory then DMA to FIFO of the circuit, • or direct access to FIFO by the processor. The solution that seems the most satisfactory is the second for the following reasons:
- la présence de données de bourrage constitue un facteur dégradant en terme de performance (accroissement du taux d'utilisation de l'EMI et du nombre de transferts disque) ;- the presence of jamming data constitutes a degrading factor in terms of performance (increase in the rate of use of the EMI and the number of disk transfers);
- le nombre d'interruptions supplémentaires qu'engendre la seconde solution ne pénalisera que faiblement le taux de transfert vers le disque ;- the number of additional interruptions generated by the second solution will only slightly penalize the transfer rate to the disk;
- le travail supplémentaire demandé au processeur est faible.- the additional work required from the processor is low.
La suite de la description concerne la gestion d'informations relatives aux modes spéciaux.The remainder of the description relates to the management of information relating to special modes.
> Le microprocesseur envoie les données vers le disque dur via le circuit 133 et sa mémoire FIFO interne (qui a selon le présent exemple, une taille de 8 Ko).> The microprocessor sends the data to the hard disk via circuit 133 and its internal FIFO memory (which has, according to the present example, a size of 8 KB).
> Les blocs 128Ko envoyés vers le disque ont un format qui varie à chaque transfert. Ainsi le nombre de données vidéo ne sera pas constant et surtout ne correspondra pas à un nombre entier de LBA. Etant donné que le microprocesseur n'a aucune information sur le contenu des données qu'il transfère vers le disque, la frontière entre un bloc de 128Ko transféré et le suivant n'a aucune sémantique au sens MPEG. Un en-tête de paquet élémentaire ('PES header'), ou une charge utile, pourra par exemple être transféré en deux parties (c'est à dire dans deux blocs 128Ko différents).> The 128KB blocks sent to the disc have a format which varies with each transfer. Thus the number of video data will not be constant and above all will not correspond to an integer number of LBAs. Since the microprocessor has no information on the content of the data it transfers to the disk, the border between a block of 128Kb transferred and the next has no semantics in the MPEG sense. A basic packet header ('PES header'), or a payload, can for example be transferred in two parts (ie in two different 128KB blocks).
> Pour permettre une estimation des temps, on peut se fonder sur le fait qu'une image dure 40 ms (33,34ms dans le cas des standards de télévision américains). Les informations qui sont utiles à une réalisation des modes spéciaux ("trick modes") sont les suivantes :> To allow an estimation of times, we can base ourselves on the fact that an image lasts 40 ms (33.34 ms in the case of American television standards). The information which is useful for carrying out special modes ("trick modes") is as follows:
- le temps écoulé depuis le début d'un enregistrement donné (ou le nombre d'images) ; - la position de chaque en-tête de séquence ("Séquence header") ;- the time elapsed since the start of a given recording (or the number of images); - the position of each sequence header ("Sequence header");
- la position de chaque en-tête de groupe d'images ("GOP header").- the position of each image group header ("GOP header").
Pour chacune des images :For each of the images:
- l'adresse de l'en-tête d'image ("Picture Header").- the address of the Picture Header.
- le type de codage (Intra (I), Bidirectionnnel (B), Prédictif (P)).- the type of coding (Intra (I), Bidirectional (B), Predictive (P)).
- la structure d'une image (lmage("Frame")/Trame("Field")).- the structure of an image (image ("Frame") / Frame ("Field")).
II est à noter que la norme DVB recommande d'encoder un entête de séquence ("séquence header") suivi d'une image "I" au moins toutes les 500ms.It should be noted that the DVB standard recommends encoding a sequence header ("sequence header") followed by an "I" image at least every 500 ms.
Le temps écouléThe elapsed time
Cette information peut être utilisée dans des avances très rapides (avec un pas de 30 secondes et plus), mais aussi pour positionner la lecture à un endroit choisi par l'utilisateur (index ..).This information can be used in very rapid advances (with a step of 30 seconds and more), but also to position the reading in a place chosen by the user (index ...).
L'en-tête de séquence ("Séquence header")The sequence header
Etant donné que les informations peuvent varier au sein d'un même programme, il est impératif lors d'un déplacementSince the information can vary within the same program, it is imperative when traveling
(RECHERCHE("SEEK"),SAUT("SKIP")) de faire précéder la première image envoyée au décodeur, par l'en-tête de séquence ("séquence header") auquel elle est rattachée. Il faut donc pouvoir retrouver rapidement cet en-tête.(SEARCH ("SEEK"), JUMP ("SKIP")) to precede the first image sent to the decoder, by the sequence header ("sequence header ") to which it is attached. We must therefore be able to quickly find this header.
L'en-tête de groupe d'images ("GOP header")The GOP header
Cet en-tête contient le code de temps ("time-code") associé au programme.This header contains the time code ("time code") associated with the program.
Les imagesImages
En tête d'image (Picture header)Picture header
Cette information permettra une navigation fine dans un programme, image par image.This information will allow fine navigation in a program, image by image.
Type de codageType of coding
Pour le mode lecture arrière, il est nécessaire de connaître le type de l'image à décoder pour déterminer et aller chercher si besoin les autres images nécessaires à son décodage.For the reverse playback mode, it is necessary to know the type of image to be decoded in order to determine and, if necessary, seek other images necessary for its decoding.
Dans le cas de l'utilisation de l'avance et du retour rapide, on peut imaginer d'ignorer les images B, ou les images B et P en fonction de la vitesse de déplacement.In the case of using the fast forward and fast reverse, one can imagine ignoring the B images, or the B and P images as a function of the speed of movement.
Structure de l'imageImage structure
Comme il est signalé plus haut; une information qui permet de faire des estimations de temps est le nombre d'images qui, multiplié par 40ms (33,34ms US), donnera une bonne approximation des temps. Cependant il faut pouvoir faire la différence entre les trames et les images pour effectuer un calcul correct.As noted above; information that allows you to make time estimates is the number of images which, multiplied by 40ms (33.34ms US), will give a good approximation of times. However it is necessary to be able to differentiate between the frames and the images to carry out a correct calculation.
De plus dans la majeure partie des cas, si le mode Trame ("FIELD") est utilisé, il faudra présenter au décodeur les deux trames de manière indissociable.Furthermore, in most cases, if the Frame mode ("FIELD") is used, the two frames must be presented inseparably to the decoder.
Extraction des informations utilesExtraction of useful information
Le rôle principal du circuit d'interfaçage 133, pour ce qui concerne les modes spéciaux ("trick modes") est de procurer au microprocesseur des données qui permettront de recréer les informations listées ci-dessus.The main role of the interfacing circuit 133, as far as special modes ("trick modes") are concerned, is to provide the microprocessor with data which will make it possible to recreate the information listed above.
Accès rapide aux donnéesQuick access to data
Selon une variante de réalisation, une autre fonction du circuit 113 est une assistance au microprocesseur pour l'accès rapide à un entête, un début d'image. Le microprocesseur peut avoir besoin de récupérer une petite partie d'un bloc 128Ko (un en-tête de séquence seul, un début d'image placé à la fin de la partie vidéo); ainsi il peut être intéressant de pouvoir utiliser une partie de la mémoire FIFO du composant 113. On peut imaginer les tailles préfixées suivantes :According to an alternative embodiment, another function of the circuit 113 is assistance to the microprocessor for quick access to a header, the start of an image. The microprocessor may need to recover a small part of a 128KB block (a sequence header alone, a start of image placed at the end of the video part); thus it may be advantageous to be able to use part of the FIFO memory of the component 113. One can imagine the following prefixed sizes:
1 512 Octets. 2 1 Ko1,512 bytes. 2 1 KB
3 2Ko3 2KB
4 4Ko4 4K
5 8Ko Le microprocesseur devra donc initialiser la taille de la mémoire FIFO utilisée avant chaque transfert (R/W).5 8Kb The microprocessor must therefore initialize the size of the FIFO memory used before each transfer (R / W).
Selon une variante de réalisation, le microprocesseur, connaissant l'adresse de la première donnée à laquelle il veut accéder, donne au composant le nombre de données à occulter dans un transfert UDMA ("Ultra Direct Memory Access") (données qui ne doivent pas apparaître dans la mémoire FIFO du composant 113) entre le début du transfert et la première donnée utile.According to an alternative embodiment, the microprocessor, knowing the address of the first data item it wants to access, gives the component the number of data items to be hidden in a UDMA ("Ultra Direct Memory Access") transfer (data which must not appear in the FIFO memory of the component 113) between the start of the transfer and the first useful data.
Interfaçage / Communication avec microprocesseurInterfacing / Communication with microprocessor
Pour le système de fichier ("File System"), une adresse dans la partie programme du disque dur correspond à un numéro de bloc 128Ko augmenté d'une valeur de saut ("offset") (on peut en déduire un numéro de LBA). Cette valeur de saut correspond à la position de la donnée dans le bloc 128Ko. Le composant n'aura pas à connaître le numéro du bloc 128Ko mais uniquement à déterminer cette valeur de saut.For the file system, an address in the program part of the hard disk corresponds to a 128KB block number increased by a jump value ("offset") (we can deduce an LBA number from it) . This jump value corresponds to the position of the data in the 128KB block. The component will not have to know the number of the 128KB block but only to determine this jump value.
Le composant 113 remet à zéro son compteur "valeur de saut" lorsqu'il détecte une initialisation par le microprocesseur d'un transfert Ultra-DMA.Component 113 resets its "jump value" counter when it detects an initialization by the microprocessor of an Ultra-DMA transfer.
Le composant 113 mémorisera les informations dédiées au microprocesseur. A la fin d'un transfert UDMA (ou BD-DMA pour alléger la taille du composant), le microprocesseur lit les données à une (des) adresse(s) précise(s) du composant. Un mécanisme doit lui permettre de détecter qu'il a lu toutes les informations.Component 113 will store the information dedicated to the microprocessor. At the end of a UDMA transfer (or BD-DMA to reduce the size of the component), the microprocessor reads the data at a precise address (es) of the component. A mechanism must allow it to detect that it has read all of the information.
La table 1 propose un format pour ces données. Table 1Table 1 provides a format for this data. Table 1
Type de l'en-têteHeader type
Le type est indiqué par deux bits :The type is indicated by two bits:
00 : Pas d'en-tête => Ce code peut être utilisé pour signifier au microprocesseur qu'il n'y a plus (ou PAS) d'informations disponibles00: No header => This code can be used to indicate to the microprocessor that there is no more (or NOT) information available
01 : En-tête de séquence01: Sequence header
10 : En-tête de groupe d'images10: Image group header
11 : En-tête d'image11: Image header
Type de l'imageimage type
Il est également codé sur deux bits. Par ailleurs, cette information n'a de sens que si les bits 21 et 20 indiquent la présence d'un en-tête d'image.It is also coded on two bits. Furthermore, this information only makes sense if bits 21 and 20 indicate the presence of an image header.
00 : interdit00: prohibited
01 : image I01: image I
10 : image P10: image P
11 : image B11: image B
Structure de l'image Le codage est encore une fois effectué sur deux bits. Cette information n'a de sens que si les bits 21 et 20 indiquent la présence d'un en-tête d'image. 00 : interdit 01 : Trame impaire ("Top field")Image structure The coding is again performed on two bits. This information only makes sense if bits 21 and 20 indicate the presence of an image header. 00: forbidden 01: Odd frame ("Top field")
10 : Trame paire ("Bottom field")10: Bottom field
11 : Image ("Frame")11: Image ("Frame")
Valeur de saut de l'en-têteHeader jump value
Le codage est effectué sur 16 bits : seuls les 15 bits de poids faible sont utiles pour indiquer l'offset de l'en-tête dans le blocThe coding is carried out on 16 bits: only the 15 least significant bits are useful to indicate the offset of the header in the block
128Ko. Cette valeur indique le saut correspondant au dernier byte de l'en-tête. A charge du microprocesseur de définir si le début de ce même en-tête fait partie du même bloc de 128Ko ou du précédent.128KB. This value indicates the jump corresponding to the last byte of the header. It is up to the microprocessor to define whether the start of this same header is part of the same 128KB block or the previous one.
Le fichier système contiendra les informations qui permettront la navigation dans un programme enregistré sur le disque dur. Ce fichier, qui croît au fur et à mesure de l'enregistrement, pourra être sauvegardé par parties sur le disque. La taille de chacun des parties sera issue d'un compromis entre les trois facteurs qui suivent :The system file will contain the information that will allow navigation in a program saved on the hard drive. This file, which grows as it is saved, can be saved in parts on the disk. The size of each part will result from a compromise between the following three factors:
- coût en terme de taux de charge du transfert mémoire - disque ;- cost in terms of load rate of memory-to-disk transfer;
- maximum de perte autorisé en cas d'une coupure de courant ;- maximum loss allowed in the event of a power failure;
- et libération de mémoire.- and memory release.
Les informations récupérées via le circuit d'interfaçage 113 doivent être combinées avec celles que possède le microprocesseur (numéro de LBA utilisé, format des blocs 128Ko) pour générer une information utilisable à la relecture du disque.The information recovered via the interfacing circuit 113 must be combined with that which the microprocessor has (LBA number used, format of blocks 128Ko) to generate information usable when reading the disc.
Liste des informations nécessaires à la navigation - Numéro des blocs 128Ko utilisés.List of information necessary for navigation - Number of 128KB blocks used.
- Adresses des LBA formant un bloc 128Ko. (En supposant que tous les LBA formant un bloc 128Ko sont contigus, l'adresse du premier LBA peut s'avérer suffisante).- Addresses of LBAs forming a 128KB block. (Assuming that all the LBAs forming a 128KB block are contiguous, the address of the first LBA may be sufficient).
- Structure de chaque bloc 128Ko : information située en en-tête de chaque bloc 128Ko, indiquant le nombre de flux élémentaires- Structure of each 128KB block: information located at the header of each 128KB block, indicating the number of elementary streams
("Elementary Streams") composant le bloc 128Ko, leur type et leur taille.("Elementary Streams") composing the 128KB block, their type and size.
- Le temps écoulé depuis le début de l'enregistrement. - Liste des images avec leur adresse, leur type et leur structure formant le programme.- The time elapsed since the start of the recording. - List of images with their address, type and structure forming the program.
- L'adresse des en-têtes de séquence.- The address of the sequence headers.
- L'adresse des en-têtes de groupe d'images.- The address of the group of images headers.
Selon le présent exemple de réalisation, le format de ce fichier est le suivant: il est composé de deux fichiers, un pour les temps, un pour la composition en terme d'images et d'en-têtes. D'autres formats sont bien sûr envisageables.According to the present exemplary embodiment, the format of this file is as follows: it is composed of two files, one for the beats, one for the composition in terms of images and headers. Other formats are of course possible.
La figure 5 illustre la structure d'un bloc et la localisation d'un entête de groupe d'image par rapport au début du bloc, par l'intermédiaire d'une adresse de LBA et d'un offset à l'intérieur de cet LBA. FIG. 5 illustrates the structure of a block and the location of an image group header relative to the start of the block, via an LBA address and an offset inside this block. LBA.

Claims

REVENDICATIONS
1. Dispositif de gestion d'informations relatives à des modes de restitution spéciaux d'au moins un flux vidéo, comprenant des moyens d'enregistrement (133) dudit flux vidéo sur un support d'enregistrement (119),1. Device for managing information relating to special modes of reproduction of at least one video stream, comprising recording means (133) of said video stream on a recording medium (119),
caractérisé en ce que lesdits moyens d'enregistrement (133) sont prévus pour enregistrer sur ledit support d'enregistrement (119) des adresses de positionnement utiles à une réalisation d'au moins un des modes spéciaux, lesdites adresses étant suffisantes pour naviguer dans le flux vidéo enregistré, lors de la réalisation desdits modes spéciaux.characterized in that said recording means (133) are provided for recording on said recording medium (119) positioning addresses useful for carrying out at least one of the special modes, said addresses being sufficient to navigate in the recorded video stream, during the production of said special modes.
2. Dispositif de gestion d'informations selon la revendication 1 , caractérisé en ce que lesdits moyens d'enregistrement (133) sont prévus pour enregistrer lesdites adresses au fur et à mesure de l'enregistrement du flux vidéo.2. An information management device according to claim 1, characterized in that said recording means (133) are provided for recording said addresses as the video stream is recorded.
3. Dispositif de gestion d'informations selon l'une des revendications 1 ou 2, caractérisé en ce que lesdits moyens d'enregistrement (133) sont prévus pour enregistrer lesdites adresses dans au moins un fichier du support d'enregistrement (119).3. Information management device according to one of claims 1 or 2, characterized in that said recording means (133) are provided for recording said addresses in at least one file of the recording medium (119).
4. Dispositif de gestion d'informations selon la revendication 3, caractérisé en ce que lesdits .moyens d'enregistrement (133) sont prévus pour enregistrer lesdites adresses dans lesdits fichiers par parties au cours du temps. 4. An information management device according to claim 3, characterized in that said .means of recording (133) are provided for recording said addresses in said files in parts over time.
5. Dispositif de gestion d'informations selon quelconque des revendications précédentes, caractérisé en ce que ledit support d'enregistrement (119) est un disque dur.5. Information management device according to any one of the preceding claims, characterized in that said recording medium (119) is a hard disk.
6. Dispositif de gestion d'informations selon quelconque des revendications précédentes, caractérisé en ce qu'il comprend des moyens de détermination sur le support d'enregistrement (119), de l'ensemble desdites adresses de positionnement.6. An information management device according to any one of the preceding claims, characterized in that it comprises means for determining on the recording medium (119), all of said positioning addresses.
7. Dispositif de gestion d'informations selon quelconque des revendications précédentes, caractérisé en ce que lesdites adresses de positionnement sont choisies parmi au moins un des types d'adresses suivants :7. An information management device according to any one of the preceding claims, characterized in that said positioning addresses are chosen from at least one of the following types of addresses:
- des positions d'en-têtes de séquences, - des positions d'en-têtes de groupes d'images, et- positions of sequence headers, - positions of group image headers, and
- des adresses d'en-têtes d'images.- addresses of image headers.
8. Dispositif de gestion d'informations selon quelconque des revendications précédentes, caractérisé en ce que lesdits moyens d'enregistrement (133) sont prévus pour enregistrer également sur le support d'enregistrement (119) des informations d'espacement choisies parmi au moins un des types d'informations suivants :8. Information management device according to any one of the preceding claims, characterized in that said recording means (133) are provided for also recording on the recording medium (119) spacing information chosen from at least one of the following types of information:
- un temps écoulé depuis le début d'un enregistrement donné, et- a time elapsed since the start of a given recording, and
- un nombre d'images écoulé depuis le début d'un enregistrement donné.- a number of images that have elapsed since the start of a given recording.
9. Dispositif de gestion d'informations selon quelconque des revendications précédentes, caractérisé en ce que lesdits moyens d'enregistrement (133) sont prévus pour enregistrer également sur le support d'enregistrement (119) des informations de description d'objets choisies parmi au moins un des types d'informations suivants : un type de codage d'images, et une structure d'images.9. Information management device according to any one of the preceding claims, characterized in that said recording means (133) are provided for also recording on the recording medium (119) description information of objects chosen from among at least one of the following types of information: a type of image coding, and an image structure.
10. Procédé de gestion d'informations relatives à des modes de restitution spéciaux d'au moins un flux vidéo, dans lequel on enregistre ledit flux vidéo sur un support d'enregistrement (119),10. A method of managing information relating to special modes of reproduction of at least one video stream, in which said video stream is recorded on a recording medium (119),
caractérisé en ce qu'on enregistre sur ledit support d'enregistrement (119) des adresses de positionnement utiles à une réalisation d'au moins un des modes spéciaux, lesdites adresses étant suffisantes pour naviguer dans le flux vidéo enregistré, lors de la réalisation desdits modes spéciaux. characterized in that positioning addresses useful for carrying out at least one of the special modes are recorded on said recording medium (119), said addresses being sufficient to navigate in the recorded video stream, during the production of said special modes.
EP00975861A 1999-10-07 2000-10-09 Producing a trick modes signal for digital video recorder Withdrawn EP1224810A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP00975861A EP1224810A1 (en) 1999-10-07 2000-10-09 Producing a trick modes signal for digital video recorder

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
FR9912481 1999-10-07
FR9912481 1999-10-07
EP00400941A EP1148727A1 (en) 2000-04-05 2000-04-05 Method and device for decoding a digital video stream in a digital video system using dummy header insertion
EP00400941 2000-04-05
EP00402115A EP1148728A1 (en) 2000-04-05 2000-07-24 Trick play signal generation for a digital video recorder
EP00402115 2000-07-24
EP00975861A EP1224810A1 (en) 1999-10-07 2000-10-09 Producing a trick modes signal for digital video recorder
PCT/EP2000/009903 WO2001026374A1 (en) 1999-10-07 2000-10-09 Producing a trick modes signal for digital video recorder

Publications (1)

Publication Number Publication Date
EP1224810A1 true EP1224810A1 (en) 2002-07-24

Family

ID=27223601

Family Applications (2)

Application Number Title Priority Date Filing Date
EP00967849A Expired - Lifetime EP1222822B1 (en) 1999-10-07 2000-10-06 Trick play signal generation for a digital video recorder
EP00975861A Withdrawn EP1224810A1 (en) 1999-10-07 2000-10-09 Producing a trick modes signal for digital video recorder

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP00967849A Expired - Lifetime EP1222822B1 (en) 1999-10-07 2000-10-06 Trick play signal generation for a digital video recorder

Country Status (9)

Country Link
EP (2) EP1222822B1 (en)
JP (2) JP2003511918A (en)
KR (2) KR100741433B1 (en)
CN (2) CN1159917C (en)
AT (1) ATE275800T1 (en)
AU (2) AU7786800A (en)
DE (1) DE60013624T2 (en)
MX (2) MXPA02002798A (en)
WO (2) WO2001026375A1 (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002077818A (en) * 2000-09-04 2002-03-15 Pioneer Electronic Corp Accumulating/reproducing system, accumulating method and reproducing method of transport stream
FR2818788B1 (en) * 2000-12-26 2005-06-03 Thomson Multimedia Sa METHOD AND DEVICE FOR RECORDING MULTIMEDIA DIGITAL DATA, HARD DISK, RECORDING MEDIUM AND DIGITAL DATA SUITE THEREFOR
US6714721B2 (en) * 2001-06-18 2004-03-30 Thomson Licensing Changing a playback speed for video presentation recorded in a non-progressive frame structure format
US7215871B2 (en) * 2001-07-27 2007-05-08 Thomson Licensing Changing a playback speed for video presentation recorded in a field structure format
KR20030087193A (en) * 2002-05-07 2003-11-14 엘지전자 주식회사 Method for managing a multi-channel broadcast stream record
WO2003101114A1 (en) * 2002-05-28 2003-12-04 Matsushita Electric Industrial Co., Ltd. Moving picture data reproducing device with improved random access
FR2842979B1 (en) 2002-07-24 2004-10-08 Thomson Licensing Sa METHOD AND DEVICE FOR PROCESSING DIGITAL DATA
EP1713252A1 (en) * 2004-01-22 2006-10-18 Semiconductores Investigaci n Y Diseno S.A. -(SIDSA) Integrated circuit for the processing and subsequent routing of motion picture expert group (mpeg) data between interfaces
CN101697576B (en) 2004-04-28 2012-07-11 松下电器产业株式会社 Moving picture stream generation apparatus, moving picture coding apparatus, moving picture multiplexing apparatus and moving picture decoding apparatus
US10972536B2 (en) 2004-06-04 2021-04-06 Apple Inc. System and method for synchronizing media presentation at multiple recipients
US8443038B2 (en) 2004-06-04 2013-05-14 Apple Inc. Network media device
US20070110074A1 (en) 2004-06-04 2007-05-17 Bob Bradley System and Method for Synchronizing Media Presentation at Multiple Recipients
US8797926B2 (en) 2004-06-04 2014-08-05 Apple Inc. Networked media station
US7631119B2 (en) 2004-06-25 2009-12-08 Apple Inc. Techniques for providing audio for synchronized playback by multiple devices
FR2880497A1 (en) * 2005-01-05 2006-07-07 Thomson Licensing Sa DEVICE AND METHOD FOR RECORDING DATA
KR100727933B1 (en) * 2005-02-26 2007-06-13 삼성전자주식회사 Method and apparatus for seeking one part of media contents included in multimedia contents
US7620753B1 (en) 2005-03-17 2009-11-17 Apple Inc. Lockless access to a ring buffer
US7792024B1 (en) 2005-03-18 2010-09-07 Apple Inc. IO latency reduction
JP2009521163A (en) 2005-12-23 2009-05-28 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ Apparatus and method for processing a data stream
US8588575B2 (en) * 2010-04-26 2013-11-19 Eldon Technology Limited Apparatus and methods for high-speed video presentation
FR3000633B1 (en) * 2012-12-28 2015-01-09 Thales Sa METHOD AND SYSTEM FOR SYNCHRONIZATION FOR DVB-S2 FRAME AND ITS FRAME STRUCTURE
CA2973103C (en) * 2015-01-06 2020-08-04 Arris Enterprises Llc A method for efficient processing of btp enabled mpeg4 stream
US11297369B2 (en) 2018-03-30 2022-04-05 Apple Inc. Remotely controlling playback devices
US10993274B2 (en) 2018-03-30 2021-04-27 Apple Inc. Pairing devices by proxy
US10783929B2 (en) 2018-03-30 2020-09-22 Apple Inc. Managing playback groups
US10614857B2 (en) 2018-07-02 2020-04-07 Apple Inc. Calibrating media playback channels for synchronized presentation
US11666560B2 (en) * 2020-09-24 2023-06-06 George Mason University Anti-fibrotic agent
US11853218B2 (en) * 2020-11-20 2023-12-26 Western Digital Technologies, Inc. Semi and cached TLP coalescing
CN113297112B (en) * 2021-04-15 2022-05-17 上海安路信息科技股份有限公司 PCIe bus data transmission method and system and electronic equipment

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4504185A (en) * 1981-08-18 1985-03-12 Hitachi Construction Machinery Co., Inc. Hydraulic circuit of hydraulic power shovel
DE3132923A1 (en) * 1981-08-20 1983-03-03 Basf Ag, 6700 Ludwigshafen METHOD FOR PRODUCING 2,4,6-TRIISOCYANATO-TOLUOL
JPH05344495A (en) * 1992-06-10 1993-12-24 Ricoh Co Ltd Dynamic image coding system
US5481543A (en) * 1993-03-16 1996-01-02 Sony Corporation Rational input buffer arrangements for auxiliary information in video and audio signal processing systems
JP3359745B2 (en) * 1994-07-29 2002-12-24 シャープ株式会社 Moving image reproducing device and moving image recording device
JP3791024B2 (en) * 1994-09-12 2006-06-28 松下電器産業株式会社 Video signal recording and playback device
JP3248380B2 (en) * 1994-12-15 2002-01-21 ソニー株式会社 Data decoding device and data decoding method
JP3953512B2 (en) * 1994-12-23 2007-08-08 テラヨン コミュニケーションズ システムズ, インコーポレイテッド Method and apparatus for providing a trick mode function such as a VCR for observing distributed video data
JP3491365B2 (en) * 1995-01-31 2004-01-26 ソニー株式会社 Encoded data decoding method and decoding device
JP3604186B2 (en) * 1995-02-16 2004-12-22 三菱電機株式会社 Recording method and recording method of recording medium
JP3329979B2 (en) * 1995-02-24 2002-09-30 株式会社日立製作所 Optical disk and optical disk reproducing device
DE19543017A1 (en) * 1995-11-18 1997-05-22 Thomson Brandt Gmbh Method for generating image sequences for a fast search process in a film player and device for carrying out the method
JP3194694B2 (en) * 1995-12-01 2001-07-30 松下電器産業株式会社 Video server device
US5630005A (en) * 1996-03-22 1997-05-13 Cirrus Logic, Inc Method for seeking to a requested location within variable data rate recorded information
JP3663017B2 (en) * 1996-10-02 2005-06-22 株式会社東芝 Playback device and playback method
JPH10150636A (en) * 1996-11-19 1998-06-02 Sony Corp Video signal reproducing device and reproducing method for video signal
JPH10150635A (en) * 1996-11-19 1998-06-02 Sony Corp Video signal reproducing device and reproducing method for video signal
JPH10210419A (en) * 1997-01-23 1998-08-07 Matsushita Electric Ind Co Ltd Video server, terminal equipment and data transmission method
JP3491533B2 (en) * 1998-07-24 2004-01-26 ヤマハ株式会社 Method and apparatus for reproducing digital audio data
JP2001069464A (en) * 1999-08-26 2001-03-16 Victor Co Of Japan Ltd Video signal reproducing device
JP2001103427A (en) * 1999-09-30 2001-04-13 Matsushita Electric Ind Co Ltd Compressed image reproducing device and program recording medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0126374A1 *

Also Published As

Publication number Publication date
WO2001026375A8 (en) 2001-06-14
JP2003511810A (en) 2003-03-25
KR100758001B1 (en) 2007-09-12
AU1384401A (en) 2001-05-10
CN1378748A (en) 2002-11-06
CN1378747A (en) 2002-11-06
CN1194551C (en) 2005-03-23
DE60013624T2 (en) 2005-10-13
EP1222822B1 (en) 2004-09-08
KR100741433B1 (en) 2007-07-23
KR20020033830A (en) 2002-05-07
JP2003511918A (en) 2003-03-25
CN1159917C (en) 2004-07-28
WO2001026375A1 (en) 2001-04-12
ATE275800T1 (en) 2004-09-15
EP1222822A2 (en) 2002-07-17
MXPA02002797A (en) 2002-10-23
KR20020037055A (en) 2002-05-17
DE60013624D1 (en) 2004-10-14
AU7786800A (en) 2001-05-10
WO2001026374A1 (en) 2001-04-12
MXPA02002798A (en) 2003-10-14

Similar Documents

Publication Publication Date Title
EP1224810A1 (en) Producing a trick modes signal for digital video recorder
US7394969B2 (en) System and method to compose a slide show
FR2849327A1 (en) Audio and video data decoding process for set-top box, involves loading portions of flow of audio and video data in buffer memories, and supplying audio and video data to audio decoder and video decoder respectively for decoding data
JP2001346205A (en) Method for concealing signal error
JP2002247526A (en) Synchronous reproducing device for internal and external stream data, and stream data distributing device
CN102415095A (en) Digital video recorder recording and rendering programs formed from spliced segments
US20090003794A1 (en) Method and system for facilitating creation of content
EP1432246B1 (en) MPEG images decoding and reverse display procedure and device, video pilot circuit and decoder including such a device
FR2797549A1 (en) METHOD AND DEVICE FOR SYNCHRONIZING AN MPEG DECODER
US8340196B2 (en) Video motion menu generation in a low memory environment
US20060088284A1 (en) Digital photo kiosk and methods for digital image processing
FR2898458A1 (en) METHOD FOR THE SECURE DISTRIBUTION OF AUDIOVISUAL SEQUENCES, DECODER AND SYSTEM FOR IMPLEMENTING SAID METHOD
EP1147663B1 (en) Method for simultaneously recording and reading digital audio and video dataflow and receiver using same
FR2780184A1 (en) METHOD AND DEVICE FOR DECODING IMAGES, ALLOWING A REDUCED NUMBER OF MEMORY PAGE OPENINGS IN PREDICTION PROCESSING
FR2780186A1 (en) METHOD AND DEVICE FOR DECODING AN IMAGE, COMPRESSED IN PARTICULAR ACCORDING TO MPEG STANDARDS, IN PARTICULAR A BIDIRECTIONAL IMAGE
EP1142324B1 (en) Method for storing digital audio and video dataflow, storage device and receiver for implementing said method
FR2820846A1 (en) DEVICE AND METHOD FOR MANAGING ACCESS TO A RECORDING MEDIUM
JP4194588B2 (en) Playback apparatus and playback method
TWI355852B (en) Video recording and playing system and method for
JP2005309606A (en) Data processing circuit and method for receiving and transferring stream data
EP0967577B1 (en) MPEG frame processing method and apparatus
EP3170296B1 (en) Method of access to a multimedia content protected by a terminal
FR3093885A1 (en) method of managing the downloading of images associated with image jumps that may be achieved during accelerated playback of multimedia content.
EP1627528A2 (en) Method for distributing video sequences, decoder and system therefor
EP3548997A1 (en) Method for managing the reception of digital contents by a management device

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20020319

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: THOMSON LICENSING

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20080108