WO2008139120A2 - Multimedia flow processing architecture - Google Patents

Multimedia flow processing architecture Download PDF

Info

Publication number
WO2008139120A2
WO2008139120A2 PCT/FR2008/050637 FR2008050637W WO2008139120A2 WO 2008139120 A2 WO2008139120 A2 WO 2008139120A2 FR 2008050637 W FR2008050637 W FR 2008050637W WO 2008139120 A2 WO2008139120 A2 WO 2008139120A2
Authority
WO
WIPO (PCT)
Prior art keywords
stream
data
transcoding
multimedia
data structure
Prior art date
Application number
PCT/FR2008/050637
Other languages
French (fr)
Other versions
WO2008139120A3 (en
Inventor
Thomas Bouton
Vincent Themereau
Original Assignee
Streamwide
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
Application filed by Streamwide filed Critical Streamwide
Publication of WO2008139120A2 publication Critical patent/WO2008139120A2/en
Publication of WO2008139120A3 publication Critical patent/WO2008139120A3/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/40Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video transcoding, i.e. partial or full decoding of a coded input stream followed by re-encoding of the decoded output stream
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234309Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by transcoding between formats or standards, e.g. from MPEG-2 to MPEG-4 or from Quicktime to Realvideo
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234354Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering signal-to-noise ratio parameters, e.g. requantization
    • 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/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Systems (AREA)

Abstract

The invention relates to a system for managing a flow of digital data of the multimedia type, that comprises: a means (10) for acquiring a flow of multimedia data; a means (14) for processing said data flow adapted for carrying out least two different transcodings of said data flow; a means (12) for transmitting said processed data flow; a means (16) for storing data from said flow, characteristics thereof and results from the processing of said data flow. The processing means include an optimisation means (18) for selecting, during a given transcoding, a processing mode for minimising the resources required for said transcoding based on the information contained in the storage means.

Description

ARCHITECTURE DE TRAITEMENT DE FLUX MULTIMEDIA ARCHITECTURE FOR PROCESSING MULTIMEDIA STREAMS
La présente invention concerne un système et un procédé de gestion de flux de données numériques de type multimédia. Elle concerne également un programme d'ordinateur pour mettre en œuvre le procédé.The present invention relates to a system and method for managing multimedia digital data streams. It also relates to a computer program for implementing the method.
Les serveurs de flux de données numériques de type multimédia dit serveur média, servent à enregistrer des flux d'images, de son ou de vidéo circulant sur un réseau et/ou à diffuser ces fichiers sur le réseau.The digital media data stream servers, called media server, are used to record streams of images, sound or video circulating on a network and / or to broadcast these files over the network.
Le rôle de routage des flux multimédia s'accompagne le plus souvent d'un calcul nécessité par une opération de filtrage ou de transcodage du contenu du flux. Par exemple, il peut être nécessaire de changer le mode de codage du flux avant de le diffuser en modifiant le type de codage, l'échantillonnage ou le débit. Le traitement peut également consister à calculer la puissance d'un signal audio, les coefficients de Goertzel pour la détection des porteuses DTMF, le gain d'un signal, etc.The routing role of multimedia streams is usually accompanied by a computation required by a filtering or transcoding operation of the content of the stream. For example, it may be necessary to change the encoding mode of the stream before distributing it by changing the type of encoding, sampling, or bit rate. Processing may also include calculating the power of an audio signal, Goertzel coefficients for detecting DTMF carriers, gaining a signal, and so on.
Selon le type d'application exécutée sur le serveur média, un même flux peut être soumis à des traitements différents avant diffusion sur plusieurs canaux différents. Par exemple, un flux vidéo destiné à être diffusé en parallèle sur des ordinateurs reliés par une connexion filaire de type ADSL et des téléphones portables dit 3G, devra être codé avec des taux de compression différents pour tenir compte de la différence de débit existant entre la liaison ADSL et la liaison 3G. Ainsi le serveur média effectue autant de traitement qu' il y a de codage ou de calcul particulier à Cela crée une contrainte importante sur le dimensionnement des unités de calcul des serveurs média. En conséquence, ces serveurs sont construits autour d'architecture massivement parallèle utilisant un grand nombre de microprocesseurs. Outre la difficulté de mise au point de telle architecture, ces serveurs ont des coûts de fabrication élevés .Depending on the type of application running on the media server, the same stream may be subjected to different processing before broadcast on several different channels. For example, a video stream intended to be broadcast in parallel on computers connected by an ADSL-type wired connection and so-called 3G mobile telephones, will have to be coded with different compression ratios to take account of the difference in speed between the ADSL link and the 3G link. Thus the media server performs as much processing as there is coding or computation particular to that creates an important constraint on the sizing of the computing units of the media servers. As a result, these servers are built around massively parallel architecture using a large number of microprocessors. In addition to the difficulty of developing such an architecture, these servers have high manufacturing costs.
Il serait donc souhaitable de pouvoir utiliser des serveurs qui soient capables d'avoir la même capacité en terme de nombre de flux supportés en parallèle tout en étant d'un coût plus réduit, ou qui, pour un même coût, soient capables de traiter plus de flux.It would therefore be desirable to be able to use servers that are capable of having the same capacity in terms of the number of streams supported in parallel while being of a lower cost, or which, for the same cost, are capable of processing more of flow.
Ainsi, pour résoudre ce problème, dans un aspect de l'invention, un système de gestion de flux de données numériques de type multimédia comporte : - des moyens d'acquisition d'un flux de données multimédia ; des moyens de traitement dudit flux de données adaptés pour réaliser au moins deux transcodages différents dudit flux de données, - des moyens d'émission dudit flux de données traité, des moyens de stockage des données provenant dudit flux, de ses caractéristiques et des résultats des traitements dudit flux de données.Thus, to solve this problem, in one aspect of the invention, a multimedia type digital data flow management system comprises: means for acquiring a multimedia data stream; means for processing said data stream adapted to perform at least two different transcodings of said data stream, means for transmitting said processed data stream, means for storing data from said stream, its characteristics and the results of the data streams; processing of said data stream.
En outre, les moyens de traitement comportent des moyens d'optimisation pour, lors d'un transcodage donné, sélectionner un mode de traitement permettant de minimiser les ressources nécessaires audit transcodage en fonction des informations contenues dans les moyens de stockage . Ainsi, cela permet avantageusement de conserver les résultats des calculs déjà réalisés pour les utiliser dans des traitements ultérieurs, économisant ainsi des capacités de traitement en ne réalisant chaque opération qu'une seule fois. De plus, les moyens de traitement sont adaptatifs dans la mesure où la recherche d'optimisation est faite en fonction des informations disponibles au moment où le transcodage doit être effectué.In addition, the processing means comprise optimization means for, during a given transcoding, select a processing mode for minimizing the resources required for said transcoding based on the information contained in the storage means. Thus, this advantageously allows the results of calculations already made to be retained for use in subsequent treatments, thus saving processing capacity by performing each operation only once. In addition, the means of treatment are adaptive insofar as the search optimization is made based on the information available at the time the transcoding is to be performed.
Les caractéristiques des flux ainsi que les résultats des traitements sont stockés dans une structure de données permettant avantageusement un accès cohérent et aisé à ces résultats.The characteristics of the flows as well as the results of the treatments are stored in a data structure advantageously allowing coherent and easy access to these results.
Une structure de données comporte par exemple pour chaque codage du flux, des champs définissant le type de codage, la longueur de trame, la profondeur de codage et la vitesse d'échantillonnage.For example, for each encoding of the stream, a data structure comprises fields defining the type of coding, the frame length, the coding depth and the sampling rate.
Ainsi, cette structure de données contient entre autres avantageusement les différentes versions du média permettant un accès rapide au codage le plus pertinent pour le traitement ultérieur. La structure contient aussi les caractéristiques informationelles du média, par exemple la puissance du signal ainsi qu'une éventuelle touche transmise par le biais du média (DTMF) .Thus, this data structure advantageously contains, among other things, the different versions of the medium allowing quick access to the most relevant coding for the subsequent processing. The structure also contains the information characteristics of the medium, for example the signal strength as well as any key transmitted via the medium (DTMF).
Les moyens d'optimisation, avant tout transcodage, vérifient le contenu des moyens de stockage de façon à ne calculer que les résultats du traitement non disponibles dans les moyens de stockage en utilisant des données disponibles dans la structure de données permettant de minimiser les calculs à réaliser. Les moyens de traitement sont adaptés pour transférer aux moyens de stockage tous les résultats des traitements effectués.The optimization means, before any transcoding, verify the content of the storage means so as to calculate only the results of the processing not available in the storage means using data available in the data structure to minimize the calculations to achieve. The processing means are adapted to transfer to the storage means all the results of the treatments performed.
Selon un deuxième aspect de l'invention, un procédé de gestion d'un flux de données numériques de type multimédia comportant les étapes de :According to a second aspect of the invention, a method for managing a multimedia type digital data stream comprising the steps of:
- allocation d'une structure de données (IDC) capable de contenir les données et caractéristiques associées à une trame du flux multimédia,- allocation of a data structure (IDC) capable of containing the data and characteristics associated with a frame of the multimedia stream,
- réception dans la structure de données d'une trame du flux multimédia en provenance de la source,- reception in the data structure of a frame of the multimedia stream from the source,
- exécution d' au moins un transcodage sur ledit flux, stockage du ou des résultats dudit transcodage dans ladite structure de données.performing at least one transcoding on said stream, storing the result or results of said transcoding in said data structure.
L'exécution de chaque transcodage est adapté pour minimiser les ressources nécessaires audit transcodage en fonction des informations stockées dans la structure de données. Selon un mode particulier de réalisation, la structure de données comporte entre autres, pour chaque codage du flux, des champs définissant le type de codage, la longueur de trame, la profondeur de codage et la vitesse d'échantillonnage. Dans un troisième aspect de l'invention, un produit programme d'ordinateur comporte des instructions pour la mise en œuvre du procédé précédent lors de l'exécution sur un ordinateur.The execution of each transcoding is adapted to minimize the resources required for said transcoding based on the information stored in the data structure. According to a particular embodiment, the data structure comprises among others, for each encoding of the stream, fields defining the type of coding, the frame length, the coding depth and the sampling rate. In a third aspect of the invention, a computer program product includes instructions for implementing the above method when running on a computer.
L' invention sera mieux comprise à la lecture de la description qui suit, donnée uniquement à titre d'exemple, et faite en référence aux figures en annexe dans lesquelles : la figure 1 est un schéma synoptique d'un système de traitement de flux multimédia comportant un serveur de gestion de flux de données numériques de type multimédia selon un mode de réalisation de l' invention ; la figure 2 est un ordinogramme d' un procédé de gestion selon un mode de réalisation de l'invention ; et la figure 3 est un schéma d'une structure de données selon un mode de réalisation de l'invention.The invention will be better understood on reading the description which follows, given solely by way of example, and with reference to the appended figures in which: FIG. 1 is a block diagram of a multimedia flow processing system comprising a multimedia type digital data stream management server according to one embodiment of the invention; Figure 2 is a flow chart of a management method according to an embodiment of the invention; and Fig. 3 is a diagram of a data structure according to one embodiment of the invention.
En référence à la figure 1, un réseau 1 comporte un serveur 2 de gestion de flux de données numériques de type multimédia.With reference to FIG. 1, a network 1 comprises a digital data flow management server 2 of multimedia type.
Le serveur 2 est connecté à d' autres équipements 3, 4, 5 informatiques et/ou de télécommunication pour recevoir des flux de données de type multimédia, c'est-à- dire des flux de données vidéo, audio ou d'images.The server 2 is connected to other computer equipment 3, 4, 5 and / or telecommunications to receive multimedia type data streams, that is to say streams of video, audio or image data.
Le serveur 2 est également connecté à des équipements 6, 7, 8 informatiques et/ou de télécommunications pour envoyer des flux multimédia.The server 2 is also connected to computer equipment 6, 7, 8 and / or telecommunications to send multimedia streams.
Il est à noter que, très souvent, un même équipement peut être à la fois source et destination d'un flux multimédia. De même, un flux peut provenir, ou être fourni, à une unité de stockage interne au serveur 2.It should be noted that, very often, the same equipment can be both source and destination of a multimedia stream. Similarly, a stream can come, or be provided, to an internal storage unit at the server 2.
Le réseau 1 est typiquement un réseau de données numériques de type internet et les flux de données sont, par exemple, transportés en utilisant le protocole RTPThe network 1 is typically an internet type digital data network and the data streams are, for example, transported using the RTP protocol.
{Real-Time Transport Protocol - protocole de transport temps réel ) .{Real-Time Transport Protocol - real-time transport protocol).
Le serveur 2 comporte ainsi des moyens 10 d'acquisition d'un flux multimédia ainsi que des moyens 12 d'émission de flux multimédia.The server 2 thus comprises means 10 for acquiring a multimedia stream as well as means 12 for transmitting multimedia streams.
Il comporte également des moyens 14 de traitement de données connectés à des moyens 16 de stockage adaptés pour stocker les résultats des calculs effectués par les moyens 14 de traitement sur les flux multimédia, ainsi que les données des flux et leurs caractéristiques .It also comprises data processing means 14 connected to storage means 16 adapted to store the results of the calculations carried out by the processing means 14 on the multimedia streams, as well as the data of the streams and their characteristics.
Les moyens 14 de traitement comportent, en particulier, des moyens 18 d'optimisation des traitements à effectuer se basant sur les données stockées dans les moyens 16 de stockage.The processing means 14 comprise, in particular, means 18 for optimizing the processing to be performed based on the data stored in the storage means 16.
Le fonctionnement du serveur 2 va maintenant être explicité en référence à la figure 2.The operation of the server 2 will now be explained with reference to FIG.
Dans une étape préliminaire, le serveur 2 alloue en 20 un espace de stockage dédié à un flux. Cet espace de stockage dédié est constitué d'une zone d'adresses en mémoire vive, d'une zone de stockage sur un support de données de masse de type disque dur ou d'une combinaison des deux. Cet espace de stockage se présente logiquement comme une structure de données appelées par la suite IDC, {Intelligent Data Container - conteneur intelligent de données) schématisée à la figure 3.In a preliminary step, the server 2 allocates in 20 a storage space dedicated to a stream. This dedicated storage space consists of a zone of addresses in RAM memory, a storage area on a hard disk mass data medium or a combination of both. This storage space is logically a data structure called IDC subsequently, {Intelligent Data Container) schematically in Figure 3.
Un flux F de données multimédia est lu ou reçu, à l'étape 22, par le serveur 2 dans l'IDC. Ce flux F provient d'un des équipements 3, 4, 5 ou bien d'un autre flux, d'un fichier ou d'un tampon interne au serveur 2. Dans ce dernier cas, le flux est déjà sous la forme d'un IDC pouvant déjà contenir plusieurs codages et informations du flux.A stream F of multimedia data is read or received, in step 22, by the server 2 in the IDC. This stream F comes from one of the equipment 3, 4, 5 or another stream, a file or a buffer internal to the server 2. In the latter case, the stream is already in the form of an IDC that can already contain multiple encodings and feed information.
En fonction des besoins de traitement à effectuer sur le flux, le serveur 2 applique en 26, un filtre sur l'IDC. Le filtre est une opération sur le contenu destiné à le modifier ou à agir sur une propriété particulière des données du flux tel que, par exemple, une incrustation de média ou l'envoi d'un événement. Les résultats du filtre sont stockés en 28 dans l'IDC.Depending on the processing needs to be made on the stream, the server 2 applies at 26, a filter on the IDC. The filter is an operation on the content intended to modify or act on a particular property of the stream data such as, for example, a media overlay or the sending of an event. Filter results are stored at 28 in the IDC.
Dans un mode de réalisation particulier, le filtre se définit sous la forme d'un résultat particulier à obtenir : codage selon telles caractéristiques, puissance du signal, etc. Cette requête est analysée par une sous-structure de l'IDC appelée contexte calculatoire qui, en fonction des éléments déjà connus ou calculés, définit le mode d'obtention optimal et applique la transformation la plus pertinente.In a particular embodiment, the filter is defined as a particular result to obtain: coding according to such characteristics, signal strength, etc. This query is analyzed by a sub-structure of the IDC called computational context which, according to already known or calculated elements, defines the optimal mode of obtaining and applies the most relevant transformation.
Le contexte calculatoire se présente, par exemple, sous la forme d'une matrice définissant sur un côté les différents résultats possibles et sur l'autre côté les données de départ nécessaires. La cellule de la matrice contient aussi l'algorithme à utiliser pour obtenir un résultat donné à partir d'un type de données déterminé. Certaines modifications effectuées par le filtre peuvent invalider certaines versions ou propriétés du flux déjà contenues dans l'IDC.The computational context is, for example, in the form of a matrix defining on one side the different possible results and on the other side the necessary starting data. The cell of the matrix also contains the algorithm to be used to obtain a given result from a given type of data. Some changes made by the filter may invalidate some versions or properties of the feed already contained in the IDC.
Le filtre travaille généralement sur un codage YUV pour les images et linéaire pour les autres types de média. En fonction du résultat à atteindre, le filtre commence par analyser en 30 le contenu de l'IDC pour déterminer s'il peut utiliser des résultats contenus dans celui-ci, soit comme résultat intermédiaire, soit comme résultat final.The filter usually works on a YUV encoding for images and linear for other types of media. Depending on the result to be achieved, the filter begins by analyzing the content of the IDC to determine whether it can use results contained therein, either as an intermediate result or as a final result.
Ainsi, le filtre n'effectue avantageusement que les calculs strictement nécessaires et non déjà disponibles dans l'IDC.Thus, the filter advantageously performs only computations strictly necessary and not already available in the IDC.
De même, il choisit avantageusement, par les données disponibles, celles qui permettent une optimisation des calculs à réaliser.Likewise, it advantageously chooses, by the available data, those which make it possible to optimize the calculations to be made.
Ceci est particulièrement avantageux quand plusieurs filtres sont appliqués successivement sur le flux de données. En effet, avec l'application de chaque filtre, le contenu de l'IDC est enrichi de nouveaux résultats, augmentant ainsi la probabilité qu'un filtre ultérieur puisse utiliser des résultats déjà obtenus.This is particularly advantageous when several filters are successively applied to the data stream. Indeed, with the application of each filter, the content of the IDC is enriched with new results, thus increasing the probability that a subsequent filter can use already obtained results.
Un exemple relativement fréquent porte sur l'utilisation par plusieurs filtres d'un même codage. Celui-ci ayant été effectué une première fois et stocké dans l'IDC, les filtres suivants n'ont pas besoin de coder à nouveau le flux.A relatively common example is the use by multiple filters of the same encoding. Since this has been done for the first time and stored in the IDC, the following filters do not need to encode the stream again.
Il est à noter que le codage initial du flux n'est pas perdu mais stocké lui aussi dans l'IDC, ce qui permet de le réutiliser si nécessaire.It should be noted that the initial encoding of the stream is not lost but also stored in the IDC, which makes it possible to reuse it if necessary.
Les étapes 26 à 30 sont ainsi effectuées un certain nombre de fois. Puis le flux est envoyé, à l'étape 32, vers une ou plusieurs destinations particulières. Cet envoi consiste à transférer le contenu dans un format particulier à un ou plusieurs des équipements 6, 7, 8 mais peut également consister à écrire le contenu dans un autre flux, un fichier, un tampon, etc.Steps 26 to 30 are thus performed a number of times. Then the stream is sent, in step 32, to one or more particular destinations. This sending consists of transferring the content in a particular format to one or more of the equipment 6, 7, 8 but can also consist of writing the content in another stream, a file, a buffer, etc.
Le flux pouvant être envoyé à plusieurs destinations dans des codages différents, le procédé décrit comporte également une boucle de rétroaction en sortie de l'étape 32 d'émission.Since the stream can be sent to several destinations in different codings, the described method also includes a feedback loop at the output of the transmission step 32.
On comprend, qu'ainsi, tout flux est transcodé de n'importe quelle source vers n'importe quelle destination compatible (transcodage audio complet, rééchantillonnage et matrice de requantification, transcodage vidéo complet, changement de taille, d'espace de couleur, etc . )It is understandable, therefore, that any stream is transcoded from any source to any compatible destination (full audio transcoding, resampling and requantification matrix, full video transcoding, size change, color space, etc. .)
A titre d'exemple, on va décrire les opérations liées à deux flux : un flux d'émission pour envoyer des signaux vocaux sur un réseau IP, et un flux de réception de signaux vocaux.By way of example, operations related to two streams will be described: a transmission stream for sending voice signals over an IP network, and a voice signal receiving stream.
C'est un exemple typique de voix sur IP pouvant être comparé à quelqu'un parlant et écoutant au téléphone .This is a typical example of VoIP that can be compared to someone talking and listening on the phone.
Le flux de réception comporte : une source sous forme d'un objet RTP. Le contenu est lu du réseau sous un codage en loi U (codage audio basé sur une modulation d'impulsion codée (PCM - PuiseThe reception stream comprises: a source in the form of an RTP object. The content is read from the network under U-coding (coded pulse-code based audio coding (PCM - Puise
Code Modulation) ) . Un codage en loi U est échantillonné à 8 kHz sur 8 bits. Le flux entrant est formé de paquets de 20 ms . (L'objet RTP reçoit une trame audio de 160 échantillons toutes les 20 millisecondes) ; un filtre iDTMF pour détecter un signal DTMF intrabande. Le filtre a besoin des coefficients de Goertzel pour chaque fréquence DTMF ainsi que la puissance du signal audio en décibels. Ces données sont calculées par le serveur 2 ; une destination sous forme d'un fichier stocké sur le disque dur du serveur 2.Code Modulation)). A U-law encoding is sampled at 8 kHz on 8 bits. The incoming stream consists of 20 ms packets. (The RTP object receives an audio frame of 160 samples every 20 milliseconds); an iDTMF filter for detecting an in-band DTMF signal. The filter needs Goertzel coefficients for each DTMF frequency as well as the power of the audio signal in decibels. Those data are calculated by server 2; a destination in the form of a file stored on the hard disk of the server 2.
Le fichier contient le contenu média codé en loi A, échantillonné à 8 kHz avec une quantification sur 8 bits .The file contains media content encoded in A-law, sampled at 8 kHz with 8-bit quantization.
La structure IDC correspondante évolue comme indiqué dans le tableau ci-dessous au fur et à mesure des étapes de traitement du flux.The corresponding IDC structure evolves as shown in the table below as the flow processing steps progress.
ETAPE DESCRIPTION CONTENU IDC (après l ' étape)STEP DESCRIPTION IDC CONTENT (after step)
Allocation I DC videI empty DC allocation
Objet RTP charge l' IDC avec les trames audio en loi
Figure imgf000011_0001
U provenant du reseau
RTP object loads IDC with audio frames in law
Figure imgf000011_0001
U coming from the network
Le filtrage iDTMF recherche la puissance du signal et les coefficients
Figure imgf000011_0002
de Goertzel
IDTMF filtering looks for signal strength and coefficients
Figure imgf000011_0002
from Goertzel
Stockage des données codées en loi A dans un fichier
Figure imgf000011_0003
Storing A-coded data in a file
Figure imgf000011_0003
II est à noter que, à l'étape 2 du tableau, la trame audio est décodée sous forme d'un codage linéaire à partir du codage en loi U. Ce codage linéaire est stocké dans la structure IDC et sert au calcul de la puissance du signal et des coefficients de Goertzel. Ainsi, lors de l'étape 4 du tableau, le codage en loi A pour le stockage en fichier s'effectue à partir du codage linéaire réalisé a i ' étape 3.It should be noted that, in step 2 of the table, the audio frame is decoded in the form of a linear coding from the U-law coding. This linear coding is stored in the IDC structure and is used for calculating the power. signal and Goertzel coefficients. Thus, in step 4 of the table, the A-law coding for the file storage is carried out on the basis of the linear coding performed in step 3.
Le codage linéaire est donc utilisé pour le calcαl de la puissance du signal et des coefficients de Goertzel ainsi que pour le codage en loi A.Linear coding is therefore used for the calcαl of the signal power and Goertzel coefficients as well as for the A-law coding.
Le flux d'émission comporte, une source sous forme d'un fichier codé en loi A. Ce fichier, stocké sur le disque dur du serveur 2, est différent de celui du flux de réception. Il s'agit, par exemple, d'un message d'accueil ; une destination sous forme d'un objet RTP qui envoie le contenu codé en loi U sur le réseau.The transmission stream comprises, a source in the form of a file coded in law A. This file, stored on the hard disk of the server 2, is different from that of the reception stream. This is, for example, a greeting; a destination in the form of a RTP object that sends the U-coded content on the network.
La structure de données IDC correspondante se constitue alors selon le tableau suivant.The corresponding IDC data structure is then constructed according to the following table.
ETAPE DESCRIPTION CONTENU IDC (après l ' étape)STEP DESCRIPTION IDC CONTENT (after step)
Allocation I DC videI empty DC allocation
Données codées en loi A sont lus d' un loi A 20ms δbits 8kHz fichierData coded in law A are read from a law A 20ms δbits 8kHz file
Objet RTP envoie une trame en loi U sur le réseau
Figure imgf000012_0001
RTP object sends a U-law frame on the network
Figure imgf000012_0001
II est à noter qu'à l'étape 3, le transcodage en loi U est lié au fait que le fichier d'origine est codé en loi A et non en loi U. Le fichier aurait été codé initialement en loi U, aucun transcodage n'aurait été réalisé à l'étape 3.It should be noted that in step 3, the U-law transcoding is linked to the fact that the original file is coded in law A and not in law U. The file would have been initially coded in U-law, no transcoding would have been achieved in step 3.
Ainsi, on a décrit un serveur et un procédé de gestion des flux multimédia adaptés pour optimiser les quantités de calcul effectués sur ces flux.Thus, there is described a server and a method for managing the multimedia streams adapted to optimize the calculation quantities made on these streams.
L'invention n'est pas limitée à la description ci-dessus dans le sens où de nombreuses variantes peuvent être réalisées.The invention is not limited to the above description in the sense that many variations can be made.
Par exemple, la structure de données peut contenir chaque codage des données ou bien contenir seulement un pointeur vers un fichier ou une autre structure de données adapté pour contenir le contenu codé .For example, the data structure may contain each encoding of the data or contain only a pointer to a file or other data structure adapted to contain the encoded content.
On comprend également que l'invention peut être mise en œuvre sous la forme d'un produit programme d'ordinateur mettant en œuvre le procédé de gestion lorsqu'il est exécuté sur un ordinateur. Mais il peut également être mis en œuvre sous forme d'une structure matérielle de type FPGA (Field Programmable Gâte Arrays - réseau de portes logiques programmables sur le terrain) . Cette solution est particulièrement adaptée quand de nombreux flux ayant toujours la même structure et les mêmes types de traitement doivent être gérés. It is also understood that the invention can be implemented in the form of a program product computer implementing the management method when it is run on a computer. But it can also be implemented in the form of a hardware structure of the FPGA (Field Programmable Gate Arrays) type. This solution is particularly suitable when many flows always having the same structure and the same types of treatment must be managed.

Claims

REVENDICATIONS
1. Système de gestion de flux de données numériques de type multimédia comportant : des moyens (10) d'acquisition d'un flux de données multimédia ; des moyens (14) de traitement dudit flux de données adaptés pour réaliser au moins deux transcodages différents dudit flux de données, des moyens (12) d'émission dudit flux de données traité, des moyens (16) de stockage des données provenant dudit flux, de ses caractéristiques et des résultats des traitements dudit flux de données, caractérisé en ce que les moyens de traitement comportent des moyens d'optimisation (18) pour, lors d'un transcodage donné, sélectionner un mode de traitement permettant de minimiser les ressources nécessaires audit transcodage en fonction des informations contenues dans les moyens de stockage.A multimedia type digital data flow management system comprising: means (10) for acquiring a multimedia data stream; means (14) for processing said data stream adapted to perform at least two different transcodings of said data stream, means (12) for transmitting said processed data stream, means (16) for storing data from said stream , its characteristics and the results of the processing of said data stream, characterized in that the processing means comprise optimization means (18) for, during a given transcoding, select a processing mode for minimizing the resources necessary for said transcoding according to the information contained in the storage means.
2. Système selon la revendication 1, caractérisé en ce que les moyens (16) de stockage comportent une structure de données associée audit flux de données multimédia, ladite structure de données comportant au moins les données dudit flux, ses caractéristiques et les résultats des traitements.2. System according to claim 1, characterized in that the storage means (16) comprise a data structure associated with said multimedia data stream, said data structure comprising at least the data of said stream, its characteristics and the results of the processing operations. .
3. Système selon la revendication 2, caractérisé en ce que ladite structure de données comporte pour chaque codage dudit flux, au moins des champs définissant le type de codage, la longueur de trame, la profondeur de codage et la vitesse d'échantillonnage.3. System according to claim 2, characterized in that said data structure comprises for each encoding of said stream, at least fields defining the type of coding, the frame length, the depth of coding and sampling rate.
4. Système selon l'une quelconque des revendications 1, 2 ou 3, caractérisé en ce que les moyens d'optimisation, avant tout transcodage, vérifient le contenu des moyens de stockage de façon à ne calculer que les résultats dudit transcodage non disponibles dans les moyens de stockage, ledit calcul utilisant les informations disponibles dans la structure de données.4. System according to any one of claims 1, 2 or 3, characterized in that the optimization means, before any transcoding, verify the contents of the storage means so as to calculate only the results of said transcoding not available in the storage means, said calculation using the information available in the data structure.
5. Système selon la revendication 4, caractérisé en ce que les moyens de traitement sont adaptés pour transférer aux moyens de stockage tous les résultats des traitements effectués.5. System according to claim 4, characterized in that the processing means are adapted to transfer to the storage means all the results of the treatments performed.
6. Procédé de gestion d'un flux de données numériques de type multimédia comportant les étapes de :6. A method of managing a multimedia type digital data stream comprising the steps of:
- allocation (20) d'une structure de données (IDC) capable de contenir les données et caractéristiques associées à une trame du flux multimédia,- allocation (20) of a data structure (IDC) capable of containing the data and characteristics associated with a frame of the multimedia stream,
- réception (22) dans la structure de données d'une trame du flux multimédia en provenance de la source,receiving (22) in the data structure of a frame of the multimedia stream from the source,
- exécution (26) d'au moins un transcodage sur ledit flux,execution (26) of at least one transcoding on said stream,
- stockage (28) du ou des résultats dudit transcodage dans ladite structure de données, caractérisé en ce que l'exécution de chaque transcodage est adapté pour minimiser les ressources nécessaires audit transcodage en fonction des informations stockées dans la structure de données.storage (28) of the result or results of said transcoding in said data structure, characterized in that the execution of each transcoding is adapted to minimize the resources required for said transcoding as a function of the information stored in the data structure.
7. Procédé selon la revendication 6, caractérisé en ce que la structure de données comporte, pour chaque codage du flux, au moins des champs définissant le type de codage, la longueur de trame, la profondeur de codage et la vitesse d'échantillonnage.7. Method according to claim 6, characterized in that the data structure comprises, for each encoding the stream, at least fields defining the type of coding, the frame length, the coding depth and the sampling rate.
8. Produit programme d'ordinateur comportant des instructions pour la mise en œuvre du procédé selon la revendication 6 ou 7 lors de l'exécution sur un ordinateur . 8. Computer program product comprising instructions for implementing the method according to claim 6 or 7 when running on a computer.
PCT/FR2008/050637 2007-04-13 2008-04-10 Multimedia flow processing architecture WO2008139120A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0702693A FR2915047B1 (en) 2007-04-13 2007-04-13 ARCHITECTURE FOR TRANSCODING MULTIMEDIA STREAMS.
FR0702693 2007-04-13

Publications (2)

Publication Number Publication Date
WO2008139120A2 true WO2008139120A2 (en) 2008-11-20
WO2008139120A3 WO2008139120A3 (en) 2008-12-31

Family

ID=38573383

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2008/050637 WO2008139120A2 (en) 2007-04-13 2008-04-10 Multimedia flow processing architecture

Country Status (2)

Country Link
FR (1) FR2915047B1 (en)
WO (1) WO2008139120A2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2359438A (en) * 2000-02-21 2001-08-22 Snell & Wilcox Ltd Method of changing bit rate in accordance with user selected storage mode
GB2387287A (en) * 2002-04-05 2003-10-08 Snell & Wilcox Ltd Transcoding method wherein the signal contains metadata defining coding parameters
US20040267954A1 (en) * 2003-06-24 2004-12-30 Bo Shen Method and system for srvicing streaming media
WO2005099272A1 (en) * 2004-03-31 2005-10-20 Intel Corporation Converter-assisted video encoder
WO2005099261A1 (en) * 2004-03-05 2005-10-20 Thomson Licensing Multi-stage media compression technique for power and storage efficiency
US20060088105A1 (en) * 2004-10-27 2006-04-27 Bo Shen Method and system for generating multiple transcoded outputs based on a single input
US20060119536A1 (en) * 2004-09-06 2006-06-08 Daisuke Yoshida Encoded image signal conversion method and apparatus

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001036844A (en) * 1999-07-16 2001-02-09 Nec Corp Image quality confirming device, image quality confirming method and recording medium storing its program
US6463445B1 (en) * 1999-08-27 2002-10-08 Sony Electronics Inc. Multimedia information retrieval system and method including format conversion system and method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2359438A (en) * 2000-02-21 2001-08-22 Snell & Wilcox Ltd Method of changing bit rate in accordance with user selected storage mode
GB2387287A (en) * 2002-04-05 2003-10-08 Snell & Wilcox Ltd Transcoding method wherein the signal contains metadata defining coding parameters
US20040267954A1 (en) * 2003-06-24 2004-12-30 Bo Shen Method and system for srvicing streaming media
WO2005099261A1 (en) * 2004-03-05 2005-10-20 Thomson Licensing Multi-stage media compression technique for power and storage efficiency
WO2005099272A1 (en) * 2004-03-31 2005-10-20 Intel Corporation Converter-assisted video encoder
US20060119536A1 (en) * 2004-09-06 2006-06-08 Daisuke Yoshida Encoded image signal conversion method and apparatus
US20060088105A1 (en) * 2004-10-27 2006-04-27 Bo Shen Method and system for generating multiple transcoded outputs based on a single input

Also Published As

Publication number Publication date
FR2915047A1 (en) 2008-10-17
FR2915047B1 (en) 2009-10-30
WO2008139120A3 (en) 2008-12-31

Similar Documents

Publication Publication Date Title
US20080317065A1 (en) Utilization of media capabilities in a mixed environment
FR2924241A1 (en) DOWNLOAD SERVER WITH TWO PORTS AND ASSOCIATED METHOD
EP3780632B1 (en) System for distributing audiovisual content
WO2008139120A2 (en) Multimedia flow processing architecture
WO2010012925A1 (en) Method for updating an encoder by filter interpolation
CA2357909A1 (en) Device and method for processing a data packet sequence
FR2854753A1 (en) Low resolution version digital document archiving method for use in multi-resolution digital document distribution system server, involves sending request to processing system destination for obtaining low resolution version of document
EP2064855B1 (en) Method of communicating between several terminals
EP3675505B1 (en) Method and system for distributing audiovisual content
EP3675425B1 (en) Basic module of a system for the distribution of audiovisual content
FR2960371A1 (en) METHOD AND DEVICE FOR ANALYZING DATA INTERCEPTED ON AN IP NETWORK FOR MONITORING THE ACTIVITY OF USERS OF A WEB SITE
CA2397867C (en) Method and system for loop data distribution
EP1738571A1 (en) Multimedia messaging system and telephone station comprising same
FR2848050A1 (en) DEVICE FOR ACCESSING A TELECOMMUNICATION NETWORK FOR SELECTIVE DEGRADATION OF DATA FLOWS
EP2083554A1 (en) Method for direct transmission of content intended to be recovered later in P2P mode after being split, and associated control device and equipment
EP4366243A1 (en) Method for processing data flows of a conference session by a session server
EP1508237B1 (en) Communication protocol between a voice application module and a voice platform in a voice server
EP2739027A1 (en) Method for leaving a voice message on a voicemail server, corresponding voicemail server and computer program
FR2822007A1 (en) METHOD AND DEVICES FOR SECURING A COMMUNICATION SESSION
EP1458213B1 (en) Method for resources allocation in a mobile terminal
FR3105474A3 (en) SYSTEM AND METHOD FOR DISTRIBUTION OF CACHE-BASED DATA
WO2006108736A1 (en) Method and device for progressive quantization, method and device for inverse quantization, corresponding computer programmes, signal and data support
FR3079705A1 (en) COMMUNICATION BY VIDEO CONFERENCE
FR2919140A1 (en) METHOD FOR EXCHANGING MESSAGES BETWEEN SESSION DATA SERVER AND CLIENT SERVICES
WO2001001727A1 (en) Method for decoding and retrieving a sound signal in an asynchronous transmission system

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08788159

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 08788159

Country of ref document: EP

Kind code of ref document: A2