Brevet FR2880226A1 — publié le 20060630

ÉQUIPEMENT D'ENREGISTREMENT AUDIOVISUEL La présente invention concerne un procédé et un 5 équipement de stockage d'enregistrements audiovisuels. Elle concerne plus particulièrement les équipements destinés à l'enregistrement et la relecture de programmes audiovisuels en qualité professionnelle selon différentes interfaces et moyens: via les standards d'interface audio et vidéo professionnelle numérique - via les réseaux informatiques et toutes interfaces d'échange de données - le support de stockage (par exemple la bande informatique) lui-même est alors considéré comme un moyen de stockage et d'échanges de programmes audiovisuels. On connaît dans l'état de la technique des magnétoscopes professionnels destinés notamment à l'archivage et à la postproduction vidéo. Il s'agit par exemple d'équipements de type BETACAM (nom commercial) dont le prix d'achat ainsi que le coût de la maintenance est élevé. Le but de l'invention est de remédier à ces inconvénients en proposant un équipement de faible prix de revient, remplissant l'ensemble des fonctionnalités techniques: - de stockage de programmes vidéo en qualité professionnelle sur un support constitué par une bande informatique à partir de copies existantes issues de magnétoscopes professionnels, de restitution de ces copies en qualité professionnelle sur des équipements de visualisation professionnels et de navigation dans ces copies, d'échange physique d'une copie entre différents 5 équipements selon l'invention, - d'échange physique d'une copie entre un équipement selon l'invention et des systèmes informatiques quelconques capables de lire ces bandes, - de transfert de la vidéo via un réseau depuis un 10 équipement selon l'invention vers tout dispositif de stockage ou de traitement connecté à ce réseau. À cet effet, l'invention comporte selon son acception la plus générale un nouveau procédé de stockage d'enregistrements audiovisuels caractérisé en ce que l'on procède à l'enregistrement et à la restitution à partir d'une mémoire de masse amovible commandés par un ordinateur personnel et par le logiciel associé comportant des moyens d'émulation des commandes et fonctionnalités d'un magnétoscope professionnel, ledit ordinateur personnel comportant, outre le lecteur-enregistreur de mémoire de masse amovible, deux circuits d'interface, l'une étant un circuit d'interface audiovisuel numérique série et l'autre étant un circuit d'interface d'échange de données numériques. De préférence, les données audiovisuelles font l'objet d'un encodage à un débit inférieur au débit nominal du flux entrant (par exemple en suivant le standard SMPTE D10) De préférence, l'encodage des données audiovisuelles est effectué en logiciel. Avantageusement, la mémoire de masse amovible est constituée par un disque optique. Selon un mode de réalisation, il comporte en outre une étape de stockage en mémoire tampon constituée par un disque dur, et de compression en temps réel, et la mémoire de masse est constituée par des bandes informatiques par exemple DAT ou LTO ou STLD. Selon un mode de mise en uvre, la mémoire de masse amovible est constituée par un support informatique amovible. De préférence, le circuit d'interface audiovisuel 15 numérique série comprend une interface SDI Serial Digital Interface. Avantageusement, le circuit d'interface audiovisuel numérique série comprend une interface HD-SDI High 20 Definition Serial Digital Interface. Par ailleurs, le circuit d'interface audiovisuel numérique série peut comprendre une ou plusieurs interfaces audio numérique série AES/EBU. De plus, le circuit d'interface audiovisuel numérique série peut comprendre une interface de code temporel LTC. Avantageusement, le circuit d'interface audiovisuel 30 numérique série est complété par un circuit d'interface audiovisuel analogique. Enfin, le circuit d'interface d'échanges de données numériques comprend une interface réseau ETHERNET. De préférence, le système est contrôlé par un panneau 5 de contrôle de type magnétoscope professionnel. Selon un mode de réalisation, ce panneau de contrôle échange des informations avec l'ordinateur personnel par l'intermédiaire d'une interface RS422. Avantageusement, le circuit d'interface d'échanges de données numériques permet l'enregistrement et la relecture de fichiers complémentaires de données quelconques sur le support de stockage de masse. De plus, une copie du flux audiovisuel en basse qualité peut être générée en parallèle à la copie principale à des fins de visualisation rapide. Il comporte en outre un dispositif de stockage rapide utilisé comme un cache (ou tampon) temporaire permettant un accès plus rapide au flux audiovisuel. Avantageusement, la gestion du cache permet à 25 plusieurs versions d'une même image sur la ligne temporelle d'être stockées simultanément. De plus, un code d'accès rapide (code hash ) est utilisé pour identifier ensuite efficacement les versions 30 d'une même image présentes sur le cache. Selon un mode de réalisation, il comporte plusieurs caches ou tampons, et il est contrôlé par un système d'exploitation non dédié au temps réel. Avantageusement, le dimensionnement des caches combiné à la suppression de tout processus possiblement concurrent permet d'assurer une précision à l'image. Selon un mode particulier de réalisation, l'ordinateur 10 personnel est remplacé par un dispositif électronique et/ou logiciel adapté. L'invention concerne également un équipement de stockage d'enregistrements audiovisuels caractérisé en ce qu'il est constitué par un ordinateur personnel comprenant deux circuits d'interface, l'une étant un circuit d'interface audiovisuel numérique et l'autre étant un circuit d'interface d'échange de données numériques, et un lecteur-enregistreur de mémoire de masse amovible pour l'enregistrement et la relecture des données audiovisuelles après compression logicielle en temps réel. L'invention sera mieux comprise à la lecture de la description qui suit, se référant aux dessins annexés où : - la figure 1 représente une vue schématique d'une architecture matérielle selon l'invention, - la figure 2 représente un exemple d'un premier bloc logiciel selon l'invention, - la figure 3 représente un exemple d'un troisième 30 bloc logiciel selon l'invention, - la figure 4 représente un exemple d'un quatrième bloc logiciel selon l'invention, - la figure 5 représente un exemple d'un cinquième bloc logiciel selon l'invention. Illustré figure 1, le dispositif est composé d'un 5 ordinateur personnel 1 comprenant: - une carte PCI d'entrée/sortie audio-vidéo numérique et de son module logiciel de contrôle, offrant notamment les interfaces Serial Digital Interface, vidéo analogique, son dit embedded en SDI ou par liaison AES/EBU, timecode VITC et LTC, et interface RS- 422 - une interface réseau de type Ethernet Gigabit et son module logiciel de contrôle permettant des échanges de données asynchrones. - un lecteur-enregistreur de cartouches SDLT et son 15 module logiciel de contrôle. - un disque dur et son module logiciel de contrôle, utilisés notamment en mémoire tampon entre les flux audiovidéo isochrones de la carte SDI et la bande. - un module logiciel de compression/décompression des flux vidéo au format standardisé selon une partie de la norme ISO MPEG2 4:2:2 Profile @ Main Level - Images Intra - 50 Mbit/s , soit une partie de la norme SMPTE D10. Cet ordinateur personnel est connecté à un panneau de commande 2 habituellement utilisé sur les magnétoscopes professionnels, dit panneau jog-shuttle , comprenant une molette de navigation dans le flux audiovisuel selon des modes pas à pas, ralenti et accéléré, ainsi que les touches de navigation classique lecture , stop , pause , avance rapide , arrière rapide . Du point de vue utilisateur, cet ensemble est vu comme un dispositif autonome, reproduisant une grande partie des fonctionnalités d'un magnétoscope professionnel classique et permettant également les entrées/sorties de flux et de données via l'interface Ethernet. Les figures suivantes présentent l'architecture d'un exemple de mise en uvre de l'invention. Elles consistent en des schémas UML de quelques modules, classes et méthodes importants de contrôle logiciel, dans un modèle standard dit orienté objet donné afin de compléter la description pour l'homme du métier. Ces figures et l'architecture générale sont explicitées ci-après. Illustré figure 2, la classe dite VideoRecorder représente l'abstraction d'un enregistreur/lecteur sur bande d'images audiovisuelles éventuellement compressées, en passant par un cache sur disque. La boucle principale du programme appelle successivement et régulièrement trois méthodes de VideoRecorder - getNextRsCommand récupère la prochaine commande fournie par le panneau de contrôle, initie l'action correspondante et prépare l'état interne du VideoRecorder afin que cette action se poursuive au prochain step . L'initiation de la commande se traduit par l'appel d'une methode xxxCallBack de VideoRecorder ; step lance le cycle d'action suivant d'enregistrement/lecture d'une image audio-vidéo selon 30 l'état interne défini préalablement; - update9PinDeviceStatus permet de tenir à jour vis-à-vis de l'extérieur l'état de la machine vue par le panneau de contrôle jog/shuttle. Une commande particulière du panneau de contrôle place le système en mode réseau afin que des images puissent être échangées via l'interface réseau plutôt que par l'interface vidéo numérique série sans perturber cette dernière. La classe VideoRecorder fait appel aux entités suivantes qu'il fait collaborer: - SdStation représente une abstraction de la carte d'acquisition et de gestion du panneau de contrôle externe, BiProMpegCompressionFifo et BiProMpegDecompressionFifo permettent de lancer des compressions/décompressions des images en les répartissant sur deux processeurs de la machine, MpegBufferedTape est l'abstraction d'un flux temporel de données (en l'occurrence un flux d'images audiovisuelles) sur une bande vu via un buffer disque, - NetworkVnuminterface regroupe les accès réseau. En fonction des commandes données par le panneau de contrôle, le Video Recorder se place dans un état permettant les échanges adéquats entre la carte d'entrée sortie (représentée par SdStation ), la pile de compression ou de décompression BiProMpegCompressionFifo / BiProMpegDecompressionFifo ), le disque et la bande ( MpegBufferedTape ). Les principaux états du VideoRecorder sont les suivants: Pas de media, pause, lecture, navigation jog , navigation shuttle , montage edit . L'état interne de l'enregistreur VideoRecorder comprend la position courante; en fonction de l'état dans lequel il est, de l'état des caches, et de sa position, son action consiste à pousser une image audio-vidéo dans la chaîne bande-disquecodec-carte d'entrée/sortie audiovisuelle. Lorsqu'un état correspond par exemple à de la lecture, l'image audio-vidéo pertinente est, si possible, récupérée de la bande via MpegBufferedTape et poussée dans la pile de décompression BiProMpegCompressionFifo une image vidéo prête est éventuellement passée de la pile de décompression au tampon de sortie de la carte SdStation . Lorsque l'on est dans un état d'enregistrement ou de montage entre deux codes temporels ad-hoc, des images sont tirées de la pile de d'entrée de la carte SdStation et elles sont passées à la pile de compression de BiProMpegCompressionFifo ; une image compressée prête en sortie de cette même pile est éventuellement passée pour stockage sur la bande MpegBufferedTape . Des caches ou tampons ( Buffer ) sont présents à tous les niveaux et dimensionnés afin de s'assurer qu'aucune image vidéo ou son ne puisse être perdue même sur un système d'exploitation non temps réel. Connaissant le délai de réaction de ce dernier, tout processus concurrent problématique a été préalablement éliminé. Ainsi, la carte d'Entrée-sortie dispose de buffers physiques. Les piles de compression-décompression placent plusieurs images en mémoire. La classe d'enregistreur virtuel sur bande comprend un cache disque comme indiqué précédemment. L'enregistreur sur bande lui-même (par exemple, un SDLT ou un LTO), comprend une petite mémoire vive de données. La somme des délais possibles dus à la compression-décompression et à la carte donne un délai de réaction en lecture ou en enregistrement ou en montage. Les délais induits par la gestion du cache disque et de la bande donnent un délai d'éjection après enregistrement. Illustré figure 3, la classe dite SdiBoard offre les fonctionnalités de contrôle des entrées / sorties audiovisuelles isochrones. Elle dérive (au sens orienté objet) en une classe SdStation représentant une carte particulière du marché. Ses principales méthodes gèrent les piles d'entrée et de sortie d'images audio-vidéo. Elles permettent en particulier de lancer ou d'arrêter le remplissage isochrone des images par la carte ainsi que de récupérer ou pousser les images à l'autre bout de la pile. Par exemple, en enregistrement, le démarrage de la pile ( startInputFifo ) active le remplissage régulier de la mémoire vive de la carte au rythme de l'arrivée sur l'interface numérique série. De l'autre côté de la pile, le programme peut récupérer les images de façon asynchrone ( popFrameFromInputFifo ). La carte gérant également l'accès au panneau de contrôle, un ensemble de méthodes permet de définir chaque fonction dite callback à appeler lorsqu'un événement donné issu du panneau survient. Seules quelques unes des méthodes correspondantes sont représentées en figure 3. Illustré figure 4, on trouve les classes représentant des images compressées ou non compressées. On voit sur ce diagramme que les classes BiProMpegCompressionFifo et BiProMpegDecompressionFifo precedemment citées font appel aux méthodes des classes représentant des images compressées. Ces méthodes déclenchent les opérations de compression et décompression. Plus précisément sur cette figure, les classes dites UncompressedAvFrame et CompressedAvFrame représentent respectivement les versions non-compressées et compressées d'une image vidéo, l'image audio restant principalement non compressée. La sous- classe dite Mpeg2VideoFrame représente la version compressée d'une image vidéo et c'est ce module qui offre la capacité de compression/décompression en SMPTE D10. La sous-classe dite MpeglVideoFrame représente une version très compressée d'une image vidéo (plus basse qualité) utilisée à des fins de visionnage rapide. Les classes dites BiProMpeg , précédemment citées, sont alors vues comme des classes utilitaires répartissant la charge de calcul de compression/décompression sur les deux processeurs de l'ordinateur personnel le cas échéant. En enregistrement, les versions haute et basse qualité sont générées simultanément. Illustré figure 5, on trouve la hiérarchie de classes comprenant l'abstraction d'enregistreur de flux temporel sur bande, bufferisé sur disque. La classe en question MpegBufferedTape est un concept plus spécifique de la classe générale MpegDeviceCursor . Il s'agit d'une abstraction de dispositif de stockage sur tout dispositif d'un flux avec un curseur sur l'image courante. Peut en dériver la version qui nous intéresse ( MpegBufferedTape ) comme, de façon plus simple, un enregistreur simple sur disque ( MpegDisk ). La classe dite MultiAccessBuffer représentée sur ce même schéma est un utilitaire pour MpegBufferedTape . Elle permet de gérer de manière efficace la concurrence possible d'accès au disque tampon: écriture depuis l'entrée vidéo sur le disque, mise à jour du disque vers la bande, lecture depuis la bande vers le disque, - lecture du disque vers la sortie audio/vidéo. La classe MultiAccessBuffer n'effectue pas elle - même les opérations d'entrées/sortie mais, connaissant un cache avec un nombre de places données, elle répartit les places disponibles au fur et à mesure des besoins de lecture et d'écriture depuis et vers ce cache. Cette concurrence peut concerner plusieurs versions d'une même image à un code temporel donné sur la ligne temporelle du programme. Une version peut par exemple être simultanément enregistrée depuis la carte d'entrée vers le cache alors qu'une ancienne version au même code temporel est en train d'être synchronisée depuis le cache vers la bande. La concurrence est autorisée pour ces différentes versions en autorisant qu'elles occupent des places différentes du cache. Plus précisément, une fonction de haste-code offre un nombre limité de places dans le cache pour les versions d'une même image; cela permet de rechercher efficacement les différents candidats pour une image donnée. Lorsque c'est nécessaire, le tri entre les candidats se fait par l'âge de l'image: celle qui est la plus jeune est considérée comme plus fraîche. Enfin, un mécanisme de blocage ( look ) interdit qu'une image soit lue avant qu'elle ait été complètement écrite sur le cache. La classe s'utilise ainsi: - Une écriture sur le cache (écriture depuis la carte d'entrée video ou préchargement depuis la bande) doit être encadrée par lockBufferSlot et unlockBufferSlot ; l'appel à lockBufferSlot se fait en indiquant la position temporelle de l'image; est retournée un identifiant d'une place adaptée dans le cache. - Des méthodes permettent de déclarer qu'une place sur le buffer a été synchronisée vers la bande (wasJustSynced) ou qu'elle a besoin d'être synchronisée (forceNeedsSyncStatus) parcequ'elle a été invalidée. - Pour la lecture depuis le cache, les méthodes isOnBuffer et getBufferSlotForld permettent respectivement de savoir si une image d'une position donnée sur la ligne temporelle du programme est sur le cache et de récupérer l'identifiant de sa place la plus fraîche en cache le cas échéant. - Des méthodes free permettent de libérer des places dans le cache. D'autres classes non représentées permettent la 25 gestion des entrées/sorties réseau. Il est entendu que l'homme du métier est apte à réaliser ces fonctionnalités logicielles au vue de la présente description et des exemples fournis dans les figures 2 à 5. L'invention est décrite dans ce qui précède à titre d'exemple. Il est entendu que l'homme du métier est à même 14 - de réaliser différentes variantes de l'invention sans pour autant sortir du cadre du brevet. REVENDICATIONS 1 - Procédé de stockage d'enregistrements audiovisuels caractérisé en ce que l'on procède à l'enregistrement et à la restitution à partir d'une mémoire de masse amovible commandés par un ordinateur personnel et par le logiciel associé comportant des moyens d'émulation des commandes et fonctionnalités d'un magnétoscope professionnel, ledit ordinateur personnel comportant, outre le lecteur- enregistreur de mémoire de masse amovible, deux circuits d'interface, l'une étant un circuit d'interface audiovisuel numérique série et l'autre étant un circuit d'interface d'échange de données numériques. 2 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1, caractérisé en ce que les données audiovisuelles font l'objet d'un encodage à un débit inférieur au débit nominal du flux entrant. 3 - Procédé de stockage d'enregistrements audiovisuels selon les revendications 1 et 2, caractérisé en ce que l'encodage des données audiovisuelles est effectué selon le standard SMPTE D10. 4 - Procédé de stockage d'enregistrements audiovisuels selon les revendications 1 et 2, caractérisé en ce que l'encodage des données audiovisuelles est effectué en logiciel. 5 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce que la mémoire de masse amovible est constituée par un disque optique. 6 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce qu'il comporte une étape de stockage en mémoire tampon constituée par un disque dur, et de compression en temps réel, et en ce que la mémoire de masse est constituée par des bandes informatiques DAT ou LTO ou STLD. 7 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce que la mémoire de masse amovible est constituée par un support informatique amovible. 8 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce que le circuit d'interface audiovisuel numérique série comprend une interface SDI Serial Digital Interface. 9 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce que le circuit d'interface audiovisuel numérique série comprend une interface HD-SDI High Definition Serial Digital Interface. - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce que le circuit d'interface audiovisuel numérique série comprend une ou plusieurs interfaces audio numérique série AES/EBU. 11 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce que le circuit d'interface audiovisuel numérique série comprend une interface de code temporel LTC. 12 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce que le circuit d'interface audiovisuel numérique série est complété par un circuit d'interface audiovisuel analogique. 13 Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce que le circuit d'interface d'échanges de données numériques comprend une interface réseau ETHERNET. 14 Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce que le système est contrôlé par un panneau de contrôle de type magnétoscope professionnel. - Procédé de stockage d'enregistrements audiovisuels selon la revendication 14, caractérisé en ce que le panneau de contrôle échange des informations avec l'ordinateur personnel par l'intermédiaire d'une interface RS422. 16 Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce que le circuit d'interface d'échanges de données numériques permet l'enregistrement et la relecture de fichiers complémentaires de données quelconques sur le support de stockage de masse. 17 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce qu'une copie du flux audiovisuel en basse qualité est généré en parallèle à la copie principale à des fins de visualisation rapide. 18 Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce qu'il comporte un dispositif de stockage rapide utilisé comme un cache (ou tampon) temporaire permettant un accès plus rapide au flux audiovisuel. 19 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 18, caractérisé en ce que la gestion du cache permet à plusieurs versions d'une même image sur la ligne temporelle d'être stockées simultanément. - Procédé de stockage d'enregistrements audiovisuels selon la revendication 19, caractérisé en ce qu'un code d'accès rapide (code hash ) est utilisé pour identifier ensuite efficacement les versions d'une même image présentes sur le cache. 21 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce qu'il comporte plusieurs caches ou tampons, et en ce qu'il est contrôlé par un système d'exploitation non dédié au temps réel. 22 Procédé de stockage d'enregistrements audiovisuels selon la revendication 21, caractérisé en ce que le dimensionnement des caches combiné à la suppression de tout processus possiblement concurrent permet d'assurer une précision à l'image. 23 - Procédé de stockage d'enregistrements audiovisuels selon la revendication 1 ou 2, caractérisé en ce que l'ordinateur personnel est remplacé par un dispositif électronique et/ou logiciel adapté. 24 - Equipement de stockage d'enregistrements audiovisuels caractérisé en ce qu'il est constitué par un ordinateur personnel comprenant deux circuits d'interface, l'une étant un circuit d'interface audiovisuel numérique et l'autre étant un circuit d'interface d'échange de données numériques, et un lecteur-enregistreur de mémoire de masse amovible pour l'enregistrement et la relecture des données audiovisuelles après compression logicielle en temps réel.