WO96/19081 PCT~5/01~8 DISPOSITIF DE MUL~IPLEXAGE NUMERIQUE DE PROGRAMMES
VIDEO
La présente invention concerne les dispositifs d'émis-sion en temps réel de plusieurs programmes vidéo, chacun sous forme d'un flux binaire de données représentant des trames successives, sur un canal de transmission ayant une capacité de débit déterminée, le dispositif comprenant, pour chaque voie de programme alimentant un multiplexeur atta-quant le canal, un codeur vidéo ayant un débit de codage programmable.
Le document EP-A-0 526 201 décrit un tel codeur vidéo, permettant d~ajuster, pour chaque groupe de blocs de pixels d'une image, le pas de quantification de façon à maintenir la qualité de l'image à une valeur approximativement constante.
Dans la suite du texte, le terme ~trame~ doit être interprété dans un sens large. Il peut designer l~ensemble des données vidéo nécessaires pour reconstituer une image complète en balayage progressif, l'ensemble des données nécessaires pour reconstituer une trame paire ou impaire en balayage entrelacé, voire même des données dlassistance permettant de reconstituer une image à partir d'une image précédente.
L'invention trouve une application particulièrement importante, bien que non exclusive, dans les dispositifs d'émission suivant la norme vidéo MPEG2, qui a fait l~objet de la recommandation UIT-TH262 (ISO/CEI)13818-2 publiée en juin 1994 par l'Union Internationale des Télécommunica-tions).
La norme MPEG2 prévoit la mise en oeuvre d'algorithmes de compression permettant de générer des flux de débit modifiables pour des images de résolution standard (annexe D.4 à la recommandation ci-dessus). Cette possibilité est notamment utilisée lors du codage d~un film en temps différé
WO 96/19081 P~,l/r~ 11648 pour enregistrement sur un support de stockage.
Les canaux de transmission ont une capacité limitée. La solution utilisée à l~heure actuelle lorsque plusieurs programmes sont multiplexés sur un même canal (canal satellite par exemple) consiste à définir a priori, pour chaque programme, le débit maximum qu~il doit appliquer au multiplexeur. Cette solution est peu satisfaisante car elle utilise mal les ressources du canal. En effet, la richesse des informations vidéo transmises dans chacun des programmes est très variable. A un instant donné, il est statistique-ment probable qu~un codeur au moins a alors à sa disposition un débit supérieur à celui qui lui est nécessaire, alors qu'un autre codeur devra appliquer un taux de compression réduisant la qualité iconographique de llimage, du fait qu'il dispose d~un débit insuffisant.
L~article de Guha et al ~multichannel joint rate control of VBR MPEG encoded video for DBS applications" dans IEEE
Transactions on Consumer Electronics, Vol. 40, No. 3, Août 1994 propose un algorithme destiné à allouer, à différents codeurs alimentant un même multiplexeur, des débits qui sont fonction de la complexité des groupes d'images successives à coder et tels que le débit cumulé ne risque pas de provoquer un débordement d~un registre tampon en amont du multiplexeur. Cet algorithme ne permet pas, tel quel, de réaliser des affectations en temps réel, puisqu'on ne connaît pas les images qui vont être ultérieurement reçues et leur richesse en information.
La présente invention vise notamment à fournir un dispositif d'émission du type ci-dessus défini, répondant mieux que ceux antérieurement utilisés aux exigences de la pratique, notamment en ce qu'il permet d'utiliser au mieux la capacité du canal de transmission.
L'invention utilise dans ce but llexistence de codeurs permettant de coder chaque trame à un débit différent de la précédente. Elle utilise également le fait que l'on sait CA 02208432 1997-06-lO
WO 96/19081 P~ r~9sl~l648 analyser les informations provenant du codage pour détermi-ner la qualité iconographique de l~image obtenue.
L~invention propose en conséquence un dispositif qui comporte :
S - sur chaque voie de programme, une mémoire d'image ayant une capacité d'au moins une trame, placée en amont du codeur, et un codeur auxiliaire recevant les trames d'entrée successives en même temps que la mémoire ;
- des moyens de comparaison de la qualité des trames codées par les codeurs auxiliaires de chaque voie, entre elles ou avec une référence, et de commande du débit de codage sur les différentes voies pour équilibrer les qualités des sorties des différents codeurs.
Un tel dispositif effectue un multiplexage statistique optimal dont la nature est totalement différente de celle d~un codage vidéo avec un pas de quantification ajusté pour chaque groupe de blocs pour tenir compte de la sensibilité
à la distorsion.
Dans le cas particulier de la norme MPEG2, qui prévoit des flux compressés dont le débit est compris entre 2 et lS Mbits/s en profil principal-niveau principal, et de la transmission sur un canal satellite, le cas le plus fréquent est celui de la transmission de cinq programmes sur le même canal. Dans ce cas, l'invention permettra, au lieu d~affec-ter de façon arbitraire 8 Mbits/s à chaque voie de program-me, dladapter à tout moment le débit qui lui est affecté à
la richesse de l'image. Le flux vidéo codé a un débit adapté
et est ensuite fractionné en paquets répartis en séquences.
Les caractéristiques ci-dessus ainsi que d~autres apparaîtront mieux à la lecture de la description qui suit d'un mode particulier de réalisation donné à titre d'exem-ple. La description se réfère à la figure qui l~accompagne et qui est un synoptique simplifié, montrant un mode particulier de mise en oeuvre de l'invention, dans le cas d'un dispositif à deux codeurs alimentant un même canal.
WO96/19081 PCTA~S/01~8 Le dispositif dont la constitution de principe est montrée en figure l comporte deux voies vidéo de programme lO1 et lO~ alimentant un multiplexeur 12 qui attaque des circuits de modulation et de transmission non représentés, car ils ne sont pas concernés par llinvention. Chaque voie de programme comporte, en plus du flux vidéo, un flux binaire représentant le son et un flux d'informations de service. Ils peuvent être ajoutés au flux vidéo en amont du multiplexeur 12. Dans la pratique, les fonctions de mise en paquet, de multiplexage des données vidéo, de son et de service et de constitution de file dlattente seront effec-tuées dans des circuits 14a et 14b qu'il n~est pas néces-saire de décrire ici, car ils peuvent être de type connu.
Chaque voie vidéo de programme comprend un codeur programmable 16-à débit variable, ayant une entrée de commande du taux de compression 18. Le flux vidéo à coder est appliqué au codeur à débit variable 16 par l'intermé-diaire d~une mémoire d'image 20 ayant une capacité au moins égale à une trame. Des moyens de synchronisation non représentés permettent llécriture en mémoire 20 au fur et à
mesure de llarrivée du flux vidéo correspondant à une trame complète, et la lecture en mémoire avec un retard tel que le codeur à débit variable 16 reçoive le flux vidéo avec un retard d~une trame.
Chaque voie comporte également un codeur auxiliaire 22 qui reçoit le flux vidéo en même temps que la mémoire 20. Le codeur auxiliaire 22 est prévu pour coder chaque trame avec un débit fixe, qui sera en général tel que les ressources affectées à chacun des canaux soient les mêmes. Dans le cas d'un canal satellite pouvant admettre un débit de 40 Mbits/s, le codeur auxiliaire 22 sera alors prévu pour coder chaque image au débit vidéo compatible avec un débit sur le canal satellite de 8 MbitsJs.
Le codeur auxiliaire 22 est d'un type permettant d'analyser les informations résultant du codage et de fournir un indice de qualité iconographique. On connaît déjà
des codeurs capables de fournir une telle information de sortie. En particulier, un codeur de ce type est disponible auprès de la société C-Cube Microsystems, Milpitas, Califor-nia. Il peut être utilisé également en tant que codeur programmable.
Divers critères d'évaluation de la qualité iconographi-que existent et sont utilisables. On peut notamment citer les suivants.
Une première possibilité consiste à analyser la moyenne, sur l'ensemble d~une trame, du pas de quantification mis en oeuvre dans l'algorithme de passage du domaine temporel au domaine fréquentiel (algorithme de transformation en cosinus discrète en général). Un pas de quantification donné
correspond à un débit. Lorsque l'image est complexe, le codeur vidéo augmente le pas de quantification au cours de la trame pour les groupes de blocs de pixels concernés, afin de ne pas augmenter de façon excessive le nombre d~octets représentant llimage.
L~analyse de la moyenne du pas de quantification final sur une trame permet de savoir si le codeur aurait eu besoin d'un débit plus important pour représenter l'image de façon satisfaisante et donc quelle qualité il a obtenu avec le débit programmé.
Dans le cas particulier du codage MPEG2, qui utilise des images à codage intra-trame ~images I) codées sans référence à d'autres images, des images à codage prédictif (images P) et des images codées par prédiction bidirectionnelle (images B), une statistique sur le nombre respectif de macroblocs utilisés permet d'évaluer le niveau d~activité
d'une image et en déduire un indice de qualité pour un taux de compression donné.
Une autre possibilité consiste à mesurer le rapport signal à bruit entre l~image avant codage et llimage après codage.
WO96/19081 PCT~5/01~8 Le dispositif de codage comprend encore un processeur 26 qui reçoit les indications de qualité iconographique fournies par les deux codeurs auxiliaires 22, qui jouent un rôle d'estimateurs de qualité. Les codeurs auxiliaires 22 sont prévus de façon qu'ils fournissent une indication de qualité au processeur 26 au bout d~une durée inférieure à la période de répétition de trame. Le processeur 26 est programmé de façon à comparer les indices de qualité qu~il reçoit soit entre eux, soit avec un indice de référence.
Si par exemple les qualités iconographiques des images codées sont comparables, le processeur 26 commande les codeurs programmables 16 de façon qu'ils utilisent le même taux de compression.
Si en revanche, les indices de qualité montrent que la qualité iconographique d'une des images codées au débit nominal est notablement inférieure à celle de l'autre image codée au même débit nominal, le processeur programme alors le codeur vidéo de la voie ayant une richesse d'image requé-rant un débit élevé pour que le codage par le codeur 16 correspondant s~effectue à un débit supérieur au débit nominal. L~algorithme de répartition peut être du même genre que celui décrit dans llarticle de Guha et al déjà cité. Il peut être implémenté par voie câblée ou logicielle.
Le processeur 26 et les codeurs vidéo programmables 16 peuvent notamment être prévus pour provoquer le codage à un débit nominal et à un ou deux débits au-dessus et un ou deux débits au-dessous du taux nominal, cette solution simple étant suffisante dans la plupart des cas.
Le processeur 26 doit disposer simultanément des évaluations fournies, chacune sur une trame complète, par les codeurs estimateurs 22 de toutes les voies de programme.
Pour faciliter cette comparaison, il est souhaitable que les flux vidéo soient synchronisés, ~ar des moyens non représen-tés, de façon que les trames soient en coïncidence temporel-les. Toutefois il est possible de renoncer à la synchronisa-WO 96/19081 PCT/~gS/01648 tion, à condition de disposer une mémoire d~image de capacité accrue en amont de chaque codeur estimateur.
Diverses normes de codage vidéo imposent des codages de natures différentes à des trames successives. C'est en particulier le cas de la norme MPEG 2, déjà mentionnée, dont les images I exigent un volume d'information à peu près trois fois supérieur aux images P et environ neuf fois supérieur aux images B.
On pourrait penser que le problème ainsi posé peut être résolu en synchronisan~ les codeurs 16 (et les codeurs 22) de facon que la comparaison soit toujours effectuée entre trames de même nature. Avec cette solution, le volume d~information varie de trame à trame dans des limites très considérables. Cela conduirait à provoquer un taux de compression très élevé pour les trames I. Il est plus avantageux d'accepter que le processeur 26 reçoive de façon aléatoire des trames de nature différente à un instant donné, et de prévoir les codeurs estimateurs de façon qu'ils tiennent compte du volume d~information requis par les différents types de trame pour un même pas de quantifica-tion.
L~invention est susceptible de nombreuses variantes de réalisation. Le nombre de voies peut être supérieur ou inférieur à cinq. Les codeurs auxiliaires 22 qui servent d~estimateurs peuvent avoir plusieurs débits de codage plutôt qu'un seul. Les différentes voies peuvent se voir affecter des ressources différentes, ce qui conduit à donner aux codeurs auxiliaires 22 des débits différents.
Si on accepte des files d'attente suffisamment longues, la répartition des débits peut s~effectuer à partir d'une estimation sur un nombre déterminé de trames, supérieur à 1.
Un inconvénient de- cette solution est que des mémoires d~images doivent être prévues en amont des codeurs. Il est également possible d'assurer une telle répartition sur plusieurs trames en mémorisant des excédents ou des résidus WO 96/19081 PCT/FrR95/01648 de débits à l~issue de chaque comparaison par le processeur 26, et en en tenant compte sur une trame ou des trames suivantes. WO96 / 19081 PCT ~ 5/01 ~ 8 DIGITAL MUL ~ IPLEXING DEVICE FOR PROGRAMS
VIDEO
The present invention relates to transmitting devices real time broadcasting of several video programs, each as a binary data stream representing successive frames, on a transmission channel having a determined flow capacity, the device comprising, for each program channel feeding an attax multiplexer as for the channel, a video coder having a coding rate programmable.
The document EP-A-0 526 201 describes such a video coder, allowing to adjust, for each group of pixel blocks of an image, the quantification step so as to maintain image quality at approximately a value constant.
In the remainder of the text, the term ~ frame ~ should be interpreted in a broad sense. He can design the whole video data needed to reconstruct an image complete in progressive scan, all data necessary to reconstruct an even or odd frame in interlaced scanning or even assistance data to reconstruct an image from an image previous.
The invention finds a particularly application important, although not exclusive, in the devices transmission according to the MPEG2 video standard, which was the subject of Recommendation ITU-TH262 (ISO / IEC) 13818-2 published in June 1994 by the International Telecommunication Union-tions).
The MPEG2 standard provides for the implementation of algorithms compression to generate flow flows editable for standard resolution images (appendix D.4 to the above recommendation). This possibility is especially used when coding a delayed-time film WO 96/19081 P ~, l / r ~ 11648 for recording on a storage medium.
Transmission channels have limited capacity. The solution currently used when multiple programs are multiplexed on the same channel (channel satellite for example) consists in defining a priori, for each program, the maximum bit rate it must apply to the multiplexer. This solution is unsatisfactory because it misuse channel resources. Wealth video information transmitted in each program is very variable. At a given time, it is statistical-likely that at least one coder then has at its disposal a flow higher than that which is necessary for him, then that another coder will have to apply a compression ratio reducing the iconographic quality of the image, because that it has insufficient flow.
The article by Guha et al ~ multichannel joint rate control of VBR MPEG encoded video for DBS applications "in IEEE
Transactions on Consumer Electronics, Vol. 40, No. 3, August 1994 proposes an algorithm intended to allocate, to different encoders supplying the same multiplexer, rates which are depending on the complexity of successive groups of images to code and such that the accumulated bit rate is not likely to cause an overflow of a buffer register upstream of the multiplexer. This algorithm does not allow, as such, to assignments in real time, since not know which images will be received later and their wealth of information.
The present invention aims in particular to provide a transmitting device of the type defined above, responding better than those previously used the requirements of the practical, especially in that it allows the best use the capacity of the transmission channel.
The invention uses for this purpose the existence of coders allowing each frame to be encoded at a bit rate different from the previous. It also uses the fact that we know CA 02208432 1997-06-lO
WO 96/19081 P ~ r ~ 9sl ~ l648 analyze information from coding to determine ner the iconographic quality of the image obtained.
The invention therefore provides a device which includes:
S - on each program channel, an image memory having a capacity of at least one frame, placed upstream of the encoder, and an auxiliary encoder receiving the input frames successive at the same time as memory;
- means for comparing the quality of the frames encoded by the auxiliary encoders of each channel, between them or with a reference, and control the flow of coding on the different channels to balance the qualities of the outputs of the different encoders.
Such a device performs statistical multiplexing optimal whose nature is totally different from that video coding with a quantization step adjusted for each group of blocks to account for sensitivity to distortion.
In the particular case of the MPEG2 standard, which provides compressed flows whose flow is between 2 and lS Mbits / s in main-main profile, and transmission on a satellite channel, the most frequent case is that of the transmission of five programs on the same channel. In this case, the invention will allow, instead of affect-arbitrarily ter 8 Mbit / s on each program channel adapt the flow assigned to it at any time the richness of the image. The coded video stream has a suitable bit rate and is then split into packets divided into sequences.
The above features as well as others will appear better on reading the description which follows of a particular embodiment given by way of example full. The description refers to the accompanying figure and which is a simplified block diagram showing a mode particular implementation of the invention, in the case a device with two encoders supplying the same channel.
WO96 / 19081 PCTA ~ S / 01 ~ 8 The system whose constitution in principle is shown in figure l has two program video channels lO1 and lO ~ supplying a multiplexer 12 which attacks modulation and transmission circuits not shown, because they are not affected by the invention. Each way program includes, in addition to the video stream, a stream binary representing sound and a flow of information from service. They can be added to the video stream upstream of the multiplexer 12. In practice, the switching functions packet, multiplexing video, sound and service and queue building will be performed killed in circuits 14a and 14b that it is not necessary Please describe here because they can be of known type.
Each program video channel includes an encoder programmable 16-variable flow, having an input of compression rate control 18. The video stream to be encoded is applied to the variable rate encoder 16 via diary of an image memory 20 having a capacity at least equal to one frame. Non synchronization means represented allow writing in memory 20 as and measurement of the arrival of the video stream corresponding to a frame complete, and reading into memory with a delay such as the variable rate encoder 16 receives the video stream with a frame delay.
Each channel also has an auxiliary encoder 22 which receives the video stream at the same time as the memory 20. The auxiliary encoder 22 is provided for coding each frame with a fixed debit, which will generally be such as resources assigned to each channel are the same. In the case a satellite channel that can accept a speed of 40 Mbits / s, the auxiliary encoder 22 will then be provided for coding each frame at video bit rate compatible with bit rate on the 8 MbitsJs satellite channel.
The auxiliary encoder 22 is of a type allowing analyze the information resulting from coding and provide an iconographic quality index. We already know coders capable of providing such information exit. In particular, an encoder of this type is available with C-Cube Microsystems, Milpitas, Califor-nie. It can also be used as an encoder programmable.
Various iconographic quality assessment criteria that exist and are usable. We can notably cite The following.
A first possibility consists in analyzing the average, over the whole of a frame, the quantization step set work in the algorithm for moving from the time domain to frequency domain (cosine transformation algorithm discreet in general). A given quantification step corresponds to a flow. When the image is complex, the video encoder increases the quantization step during the frame for the groups of pixel blocks concerned, so not to increase the number of bytes excessively representing the image.
Analysis of the mean of the final quantization step on a frame lets you know if the coder would have needed higher throughput to represent the image in a way satisfactory and therefore what quality he got with the programmed flow.
In the particular case of MPEG2 coding, which uses intra-frame coded images ~ images I) coded without reference to other images, predictively coded images (P images) and images coded by bidirectional prediction (images B), a statistic on the respective number of macroblocks used to assess the level of activity an image and deduce a quality index for a rate given compression.
Another possibility is to measure the ratio signal to noise between the image before coding and the image after coding.
WO96 / 19081 PCT ~ 5/01 ~ 8 The coding device also comprises a processor 26 who receives the indications of iconographic quality supplied by the two auxiliary encoders 22, which play a role of quality estimators. Auxiliary encoders 22 are planned so that they provide an indication of quality to processor 26 after a period of less than frame repeat period. Processor 26 is programmed to compare the quality indices it receives either between them or with a benchmark.
If for example the iconographic qualities of the images coded are comparable, the processor 26 controls the 16 programmable encoders so they use the same compression ratio.
If, on the other hand, the quality indices show that the iconographic quality of one of the bit-coded images nominal is significantly lower than the other picture coded at the same nominal bit rate, the processor then programs the video encoder of the channel having a richness of image required high speed for coding by the encoder 16 correspondent is carried out at a flow rate greater than the flow rate nominal. The distribution algorithm can be of the same kind than that described in the article by Guha et al already cited. he can be implemented by cable or software.
Processor 26 and programmable video encoders 16 may in particular be provided to cause coding at a nominal flow and one or two flows above and one or two debits below the nominal rate, this simple solution being sufficient in most cases.
The processor 26 must simultaneously have the assessments provided, each on a complete frame, by the coder estimators 22 of all the program channels.
To facilitate this comparison, it is desirable that the video streams are synchronized, ~ ar means not shown tees, so that the frames are in temporal coincidence-the. However, it is possible to give up synchronization WO 96/19081 PCT / ~ gS / 01648 tion, provided you have an image memory of increased capacity upstream of each estimator coder.
Various video coding standards require coding of different natures in successive frames. It's in in particular the case of the MPEG 2 standard, already mentioned, of which images I require about a lot of information three times the P images and about nine times higher than images B.
One might think that the problem thus posed may be solved in synchronisan ~ coders 16 (and coders 22) so that the comparison is always made between frames of the same kind. With this solution, the volume of information varies from frame to frame within very limited considerable. This would lead to a rate of very high compression for I frames. It is more advantageous to accept that the processor 26 receives in a way random frames of different nature at a time given, and predict the estimator coders so that they take into account the volume of information required by different types of frame for the same quantification step tion.
The invention is susceptible of numerous variants of production. The number of channels can be higher or less than five. The auxiliary encoders 22 which serve estimators can have multiple coding rates rather than just one. The different paths can be seen allocate different resources, which leads to giving to the auxiliary encoders 22 of different bit rates.
If we accept long enough queues, the distribution of flows can be made from a estimation on a determined number of frames, greater than 1.
A disadvantage of this solution is that memories d ~ images must be provided upstream of the coders. It is also possible to ensure such a distribution over several frames by storing surpluses or residues WO 96/19081 PCT / FrR95 / 01648 of rates after each comparison by the processor 26, and taking it into account on a frame or frames following.