EP3357244A1 - Procédé d'encodage de flux de données vidéo basées sur des groupements d'images (gop) - Google Patents

Procédé d'encodage de flux de données vidéo basées sur des groupements d'images (gop)

Info

Publication number
EP3357244A1
EP3357244A1 EP16809456.3A EP16809456A EP3357244A1 EP 3357244 A1 EP3357244 A1 EP 3357244A1 EP 16809456 A EP16809456 A EP 16809456A EP 3357244 A1 EP3357244 A1 EP 3357244A1
Authority
EP
European Patent Office
Prior art keywords
data
images
video
gop
video data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP16809456.3A
Other languages
German (de)
English (en)
Inventor
Pierre KEIFLIN
Christophe CARNIEL
Daniel DEDISSE
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vogo SA
Original Assignee
Vogo SA
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 Vogo SA filed Critical Vogo SA
Publication of EP3357244A1 publication Critical patent/EP3357244A1/fr
Ceased legal-status Critical Current

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/65Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using error resilience
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/635Error control coding in combination with rate matching
    • H03M13/6356Error control coding in combination with rate matching by repetition or insertion of dummy data, i.e. rate reduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/177Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a group of pictures [GOP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23605Creation or processing of packetized elementary streams [PES]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2381Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network
    • 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/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2383Channel coding or modulation of digital bit-stream, e.g. QPSK modulation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home
    • H04N21/4363Adapting the video stream to a specific local network, e.g. a Bluetooth® network
    • H04N21/43637Adapting the video stream to a specific local network, e.g. a Bluetooth® network involving a wireless protocol, e.g. Bluetooth, RF or wireless LAN [IEEE 802.11]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/633Control signals issued by server directed to the network components or client
    • H04N21/6332Control signals issued by server directed to the network components or client directed to client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8455Structuring of content, e.g. decomposing content into time segments involving pointers to the content, e.g. pointers to the I-frames of the video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end

Definitions

  • the present invention relates to a method for encoding video data streams in order to improve the reliability and quality of reception of these streams in a digital wireless network, governed by a communication protocol, for example of type WIFI.
  • the streams concerned are sent in multicast and come from at least one transmitter broadcasting them to receiving devices in this case located in a relatively small perimeter, so that they can operate with a communication protocol as mentioned, provided for operate in a rather local environment.
  • the receiving devices are then equipped with at least one software application for processing and viewing the information received.
  • the video data concerned by the invention are based on groupings of images (GOP) conventionally used in video coding (in particular in the MPEG standards for compression, decompression, video and audio processing and coding) for define the order in which internally coded and predictive coded images are arranged for generating a visible image in a video stream.
  • the fluxes treated in the context of the invention also comprise conventional means for correcting transmission errors, the correction being done in this case by redundancy and being performed via algorithms known as AL-FEC algorithms. (for Application Level Forward Error Correction) implementing a matrix function.
  • the method of the invention can find many practical applications, since it optimizes very real-time and / or near-real-time image flow transmission, one of the applications envisaged is the diffusion practically instantaneous events like sports meetings or shows, in the perimeter of an enclosure where the said event takes place.
  • the quality of the video streams transmitted to the client devices allows mainly the visualization fluid and good quality of the video images, but also to enrich the visualization by treatments that may give added value to the streams received, for example a repetition and thus a review of some sequences, if necessary in slow motion or with a zoom effect. Such treatments would make little sense if the quality of video streams was not assured.
  • the video streams are usually transmitted in the form of successive packets of information which obey a predetermined division for sending them, these packets very generally comprising the images to be transmitted, encoded for transmission, and additional information ⁇ x reception problem, are used by the reconstruction algorithms to try to restore the initial images.
  • the method of the invention applies to video streams constituted in practice of successive data packets G, each packet G comprising, in a known manner, a first set H containing the native video data to be transmitted (the images of the video stream encoded) and a second set containing redundancy data obtained by a suitable algorithm.
  • the first set of data is constituted from all the data M of at least one image group (GOP).
  • the breakdown of the information packets to be transmitted in video streams therefore relies, in an innovative manner according to the invention, on particular groups of images developed and defined in the framework of standards organizing the architecture of the video data packets to be transmitted. .
  • the computer system responsible for sending the video streams, and therefore the software that drives it, then performs a breakdown of the information that is based on these groupings of images or GOPs formatted in a standard manner in the world of video coding. , identifying a specific architecture based on particular coded images.
  • the data M may belong to a single group of GOP images, of which they then contain all the data, or two or more groupings of GOP images, with the same condition to include all their data in the same packet.
  • the size of all the images of the array of images is added in the data M of the native video stream, in an area adjacent to each image, which for example occupies two bytes of data per image.
  • an index table containing the absolute position of each image of the group of images can be added in the data M, said table being able to be in a zone for example situated at the beginning of the image train encoded to be transmitted.
  • each packet G is then organized into K first blocks of data of predetermined size L and N blocks of redundancy of size L, K being equal to M / L, the whole value by excess of the result of the M / L division being assigned to K if M / L is not an integer.
  • the block portion corresponding to the difference (KxL-M), which exists only if M / L is not an integer, is then filled with data identified as stuffing data, for example zeros.
  • the block number (from 1 to K + N)
  • each of the blocks K and N then becomes L + n bytes that requires the coding of the above information.
  • the reconstruction operations to be implemented in the hypothesis of a flawed transmission of video streams are clearly facilitated by the proposed new architecture.
  • the invention also relates to a video stream organized according to the method explained above and comprising a succession of coded data packets G each consisting of a first set of native video data to be transmitted and a second set of redundant data.
  • error correction device characterized in that the first set contains all the data of at least one image group (GOP).
  • This type of video stream structured according to the method of the invention, makes it possible to guarantee reception in a sufficient quality at first so that the visualization of the transmitted streams is simply comfortable, then also for any subsequent processing applied to the transmitted signals. can be based on a sufficient information base for their realization.
  • the invention actually results in organizing the information, that is to say the native video streams to be sent, so as to allow an optimization of the response of the system to video signal transmission defects, on the basis of an architecture that is sufficiently structured and rich in information.
  • FIG. 1 represents a diagram schematizing the organization of a group of images as used in the context of the invention
  • FIG. 2 illustrates, for the same data packet, the addition to the native video stream of the size of each coded picture of the picture group
  • Fig. 3 shows the size M of the image packet when an index table is added to the data
  • FIG. 4 shows the division into K blocks of length L of the data packet M, with possible addition of stuffing when K ⁇ L>M;
  • Figure 5 illustrates the addition of N blocks due to redundancy encoding (FEC); and
  • Figure 6 finally shows the addition of additional parameters enriching the information to be transmitted and facilitating the subsequent implementation of data recovery, if any.
  • the first set of data constituting the native video stream to be transmitted before encoding the transmission error correction function is constituted from all the data of a group of images.
  • This data organization structure is well known in the field of video coding, since it is defined in particular by the MPEG standards.
  • GOP Group Of Pictures
  • the grouping of these images forms a particular sequence, this sequence being repeated periodically to constitute the encoding of a video stream.
  • I and predictive coded images there are internally coded images I and predictive coded images, the latter being of two types: predictive coding images based on a past image, and bidirectional predictive coding images B.
  • the images P contain difference information, by motion prediction, with an image X or a picture P passed.
  • the B images contain difference information with past and future I or P images within a group of images.
  • the I or P images can be used as reference images, whereas this is generally not the case with the B images.
  • the visible images are ultimately generated from the coded images contained in a group of images. images, which is also expressed in number of coded images, which are built at the time of encoding so as to guarantee the transfer rate of the video stream.
  • the grouping of images N begins with a reference image X N , followed by images P and B in a particular order which defines said grouping of images.
  • the video stream to be transmitted includes the image array N, followed by an image array N + l whose initial image ⁇ ⁇ + ⁇ is the new reference image, preceded by a group of images Nl and so after. All of these groupings of GOP N images constitute the encoded video stream.
  • the basis of the clipping of the video data packets to be sent consists of these picture groups.
  • Figure 1 represents only one, but there may be two or more in the M video data packets.
  • FIG. 2 illustrates another characteristic of the method of the invention, which improves the coding of the video stream by adding the size of all the images I, P, B of the image array in an area adjacent to each of these images.
  • the additional addition of an index table, appearing at the beginning of the video data packet in FIG. 3, further expands the encoded video information, the set constituting a first encoded set of size M.
  • This length or size M is the starting point of a calculation aiming at a division into K blocks of length L (or even in FIG. 4), L being a constant and K being an integer.
  • L being a constant
  • K being an integer.
  • the excess integer value is then attributed to K.
  • stuffing or "stuffing" is done to obtain K complete blocks of length L. It is simply a matter of filling the block K with zeros, identified by the program as a stuffing value.
  • Figures 5 and 6 add the notion of correction of possible transmission errors.
  • the error correction is performed in this case by redundancy, using an algorithm known per se type AL-FEC (Application Layer Forward Error Correction).
  • AL-FEC Application Layer Forward Error Correction
  • the error correction encoding implements a matrix function that results in adding N additional data blocks, also of length L. It is the blocks K + 1 to K + N appearing in these figures 5 and 6.
  • This additional information organizes in a better way the information, ie all the video streams to be sent, including the redundancy blocks, so as to allow an optimization of the system's response to faults. transmission of the video signal. They actually provide data on individual blocks to better trace errors and locate them in data packets.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

Procédé d'encodage de flux de données vidéos basées sur des groupements d'images (GOP) utilisés en codage vidéo pour définir l'ordre dans lequel sont disposées les images à codage interne et à codage prédictif permettant la génération d'une image visible, incluant des moyens de correction d'erreurs de transmission par redondance, pour des transmission sur un réseau sans fil régi par un protocole de communication de données en local. Le flux vidéo est constitué de paquets G de données successifs, chaque paquet G comprenant un premier ensemble M contenant les données vidéos à transmettre, et un second ensemble contenant des données de redondance obtenues par un algorithme de redondance» Selon le procédés le premier ensemble de données M est constitué à partir de toutes les données d'au moins un groupement d"images (GOP).

Description

Procédé d'encodage de flux de données vidéo basées sur des groupements d' images (GOP)
La présente invention a trait à un procédé d'encodage de flux de données vidéos en vue de l'amélioration de la fiabilité et de la qualité de réception de ces flux dans un réseau numérique sans fil, régi par un protocole de communication par exemple de type WIFI . Les flux concernés sont envoyés en multidiffusion et proviennent d'au moins un émetteur les diffusant vers des dispositifs récepteurs en l'occurrence situés dans un périmètre relativement restreint, de sorte qu'ils peuvent fonctionner avec un protocole de communication tel que mentionné, prévu pour fonctionner dans un environnement plutôt local. Les dispositifs récepteurs sont alors dotés d'au moins une application logicielle permettant de traiter et de visualiser l'information reçue.
Plus particulièrement, les données vidéos concernées par l'invention sont basées sur des groupements d'images (GOP) classiquement utilisés en codage vidéo (notamment dans les normes MPEG pour la compression, la décompression, le traitement et le codage vidéo et audio) pour définir l'ordre dans lequel sont disposées des images à codage interne et à codage prédictif permettant la génération d'une image visible dans un flux vidéo. Les flux traités dans le cadre de 1 ' invention comportent par ailleurs des moyens également classiques de correction des erreurs de transmission, la correction se faisant en l'occurrence par redondance et étant réalisée via des algorithmes connus sous le nom d'algorithmes AL-FEC (pour Application Level Forward Error Correction) mettant en œuvre une fonction matricielle.
Bien que le procédé de l'invention puisse trouver de multiples applications pratiques, puisqu'il optimise de manière très générale la transmission de flux d'images en temps réel et/ou quasi-réel, l'une des applications envisagée est la diffusion pratiquement instantanée d'événements de type rencontres sportives ou spectacles, dans le périmètre d'une enceinte où a lieu ledit événement. La qualité des flux vidéos transmis aux dispositifs clients permet à titre principal la visualisation fluide et de bonne Qualité des images vidéos, mais également d'enrichir la visualisation par des traitements susceptibles de conférer une valeur ajoutée aux flux reçus, par exemple une répétition et donc une revisualisation de certaines séquences, le cas échéant au ralenti ou encore avec une effet de zoom. De tels traitements n'auraient guère de sens si la Qualité des flux vidéos n'était pas assurée.
Les flux vidéos sont usuellement transmis sous forme de paquets d'informations successifs qui obéissent a un découpage prédéterminé en vue de leur envoi, ces paquets comportant très généralement les images à transmettre, encodées pour la transmission, et des informations additionnelles <xui, en cas de problème de réception, sont utilisées par les algorithmes de reconstruction pour tenter de restituer les images initiales.
De fait, le procédé de l'invention s'applique à des flux vidéos constitués en pratique de paquets G de données successifs, chaque paquet G comprenant de façon connue un premier ensemble H contenant les données vidéos natives à transmettre (les images du flux vidéo encodées) et un second ensemble contenant des données de redondance obtenues par un algorithme adéquat. Selon l'invention, le premier ensemble de données est constitué à partir de toutes les données M d'au moins un groupement d'images (GOP) .
Le découpage des paquets d'informations à transmettre dans des flux vidéos repose donc, de manière innovante selon l'invention, sur des groupements particuliers d'images développés et définis dans le cadre de normes organisant l'architecture des paquets de données vidéos à transmettre. Le système informatique chargé d'envoyer les flux vidéos, et par conséquent les logiciels qui le pilotent, effectuent dès lors un découpage de l'information qui est basé sur ces groupements d'images ou GOP formatés de manière standard dans le monde du codage vidéo, identifiant une architecture propre basée sur des images codées particulières. Les données M peuvent relever d'un unique groupement d'images GOP, dont elles contiennent alors toutes les données, ou de deux ou plus groupements d'images GOP, avec cette même condition d'inclure toutes leurs données dans un même paquet. Toujours selon l'invention, la taille de toutes les images du groupement d'images est ajoutée dans les données M du flux vidéo natif, dans une zone jouxtant chaque image, qui occupe par exemple deux octets de données par image.
De plus, selon une possibilité, une table d'index contenant la position absolue de chaque image du groupement d'images peut être ajoutée dans les données M, ladite table pouvant se trouver dans une zone par exemple située au début du train d'images codées à transmettre.
En pratique, selon l'invention, chaque paquet G est ensuite organisé en K premiers blocs de données de taille prédéterminée L et N blocs de redondance de taille L, K étant égal à M/L, la valeur entière par excès du résultat de la division M/L étant attribuée à K si M/L n'est pas un nombre entier. La portion de bloc correspondant à la différence (KxL - M), qui n'existe que si M/L n'est pas un nombre entier, est alors remplie par des données identifiées comme étant des données de bourrage, par exemple des zéros .
De préférence, selon l'invention, pour chacun des blocs K et N, des informations sont ajoutées, comportant :
le numéro du groupement d'images (GOP), inerémenté pour chaque nouveau groupement d'images ;
La valeur de K, incrémentée de 1 à K pour chaque bloc K ;
- La valeur de N, commençant à K+l et se terminant à N+K ;
La valeur de L ; et
Le numéro du bloc, (de 1 à K+N)
La longueur de chacun des blocs K et N devient alors L+ n octets que nécessite le codage des informations ci-dessus. L'existence de toutes ces données supplémentaires, combinée au découpage en blocs K + N de l'information vidéo native, elle-même basée sur un standard du codage vidéo (un ou plusieurs GOP), permet d'améliorer considérablement la maîtrise de la transmission des flux vidéos. Les opérations de reconstruction à mettre en oeuvre dans l'hypothèse d'une transmission viciée des flux vidéos sont clairement facilitées par la nouvelle architecture proposée.
L'invention concerne par ailleurs également un flux vidéo organisé selon le procédé expliqué ci-dessus et comportant une succession de paquets de données codées G constitués chacun d'un premier ensemble de données vidéos natives à transmettre et d'un second ensemble de données redondantes de correction d'erreurs, caractérisé en ce que le premier ensemble contient toutes les données d'au moins un groupement d'images (GOP) .
Ce type de flux vidéo, structuré selon le procédé de l'invention, permet de garantir une réception en une qualité suffisante d'abord pour que la visualisation des flux transmis soit simplement confortable, puis également pour que les éventuels traitements ultérieurs appliqués aux signaux transmis puissent se baser sur un socle d'information suffisant à leur réalisation.
L'invention aboutit en réalité à organiser l'information, c'est-à-dire les flux vidéos natifs à envoyer, de façon à permettre une optimisation de la réponse du système à des défauts de transmission du signal vidéo, sur la base d'une architecture suffisamment structurée et riche en informations.
Elle va à présent être décrite plus en détail, en référence aux figures annexées, représentant un exemple de mise en œuvre du procédé de l'invention montrant différentes étapes possibles pour l'élaboration de flux vidéos optimisés, pour lesquelles :
- la figure 1 représente un diagramme schématisant l'organisation d'un groupement d'images tel Qu'utilisé dans le cadre de l'invention ;
la figure 2 illustre, pour un même paquet de données, l'adjonction au flux vidéo natif de la taille de chaque image codée du groupement d'images ;
la figure 3 montre la taille M du paquet d'image lorsqu'une table d'index est ajoutée aux données ;
la figure 4 représente le découpage en K blocs de longueur L du paquet M de données, avec adjonction éventuelle de bourrage lorsque K x L > M ; la figure 5 illustre l'ajout de N blocs dus à l'encodage par redondance (FEC) ; et
la figure 6 montre enfin l'adjonction de paramètres supplémentaires enrichissant l'information à transmettre et facilitant la mise en œuvre ultérieure de la récupération de données, s'il y a lieu.
En référence à la figure 1, le premier ensemble de données, constitutif du flux vidéo natif à transmettre avant encodage de la fonction de correction d'erreurs de transmission, est constitué à partir de toutes les données d'un groupement d'images. Cette structure d'organisation de données est bien connue dans le domaine du codage vidéo, puisqu'elle est notamment définie par les normes MPEG. Ces groupements d'images, ou GOP (Group Of Pictures) dans leur désignation anglo-saxonne, définissent la nature et l'ordre dans lesquels des images résultants de plusieurs types de codages particuliers sont agencées. Le groupement de ces images forme de fait une suite particulière, cette suite étant répétée périodiquement pour constituer l'encodage d'un flux vidéo. Il existe ainsi des images à codage interne I et des images à codage prédictif, ces dernières pouvant être de deux types : les images P à codage prédictif basé sur une image passée, et les images B à codage prédictif bidirectionnel. Les images P contiennent des informations de différence, par prédiction de mouvement, avec une image X ou une image P passée. Les images B contiennent des informations de différence avec des images I ou P passées et futures à l'intérieur d'un groupement d'images.
Pour mémoire, les images I ou P peuvent être utilisées comme images de référence, alors que ce n'est en général pas le cas avec les images B. Les images visibles sont in fine générées à partir des images codées contenues dans un groupement d'images, qui est d'ailleurs exprimé en nombre d'images codées, lesquelles sont construites au moment de l'encodage de manière à garantir le taux de transfert du flux vidéo.
Comme cela apparaît notamment en figure 1, le groupement d'images N (GOP N) commence par une image de référence XN, suivie par des images P et B dans un ordre particulier qui définit ledit groupement d'images. Le flux vidéo à transmettre comporte ce groupement d'images N, suivi par un groupement d'images N+l dont l'image initiale ΙΗ+ι est la nouvelle image de référence, précédé par un groupement d'images N-l et ainsi de suite. L'ensemble de ces groupements d'images GOPN constitue le flux vidéo encodé. Pour la présente invention, la base du découpage des paquets de données vidéo à envoyer est constituée de ces groupements d'images. La figure 1 n'en représente qu'un, mais il peut y en avoir deux ou plus dans les paquets de données vidéos M.
La figure 2 illustre une autre caractéristique du procédé de l'invention, qui améliore le codage du flux vidéo en ajoutant la taille de toutes les images I, P, B du groupement d'images dans une zone jouxtant chacune de ces images. L'ajout supplémentaire d'une table d'index, apparaissant en début du paquet de données vidéos en figure 3, étoffe encore l'information vidéo encodée, l'ensemble constituant un premier ensemble encodé de taille M.
Cette longueur ou taille M est le point de départ d'un calcul visant à un découpage en K blocs de longueur L (voire en figure 4), L étant une constante et K un nombre entier. Lorsque le résultat de la division de M par L n'est pas un entier, la valeur entière par excès est alors attribuée à K. Dans la plupart des cas, K x L > M. Dans cette hypothèse, ainsi que représenté sur la figure 4, on procède à un bourrage ou « stuffing » pour obtenir K blocs complets de longueur L. Il s'agit simplement de compléter le bloc K par des zéros, identifiés par le programme comme valeur de bourrage.
Jusqu'ici, il a été question de codage vidéo, c'est-à-dire du codage d'images visant à la transmission du flux vidéo et permettant in fine la génération d'une image visible après décodage. Les figures 5 et 6 rajoutent la notion de correction d'erreurs éventuelles de transmission. Comme mentionnée auparavant, la correction d'erreur s'effectue en l'espèce par redondance, en utilisant un algorithme connu en soi de type AL- FEC (Application Layer Forward Error Correction) . L'encodage de correction d'erreur met en œuvre une fonction matricielle qui aboutit à ajouter N blocs de données supplémentaires, également de longueur L. Ce sont les blocs K+l à K+N apparaissant dans ces figures 5 et 6.
Selon une dernière opération propre à l'invention, visant à optimiser encore les possibilités de traitement, des informations sont ajoutées pour chacun des blocs K et N, comportant notamment mais non exclusivement :
le numéro du groupement, incrémenté pour cha<xue nouveau groupement d'images (GOP) ;
La valeur de K, incrémentée de 1 à K pour cnaçpie bloc K ;
La valeur de N, commençant à K+l et se terminant à N+K ;
La valeur de L ; et
Le numéro du bloc, {de 1 à K+N)
Ces informations complémentaires organisent en prati<jue mieux l'information, c'est-à-dire l'ensemble des flux vidéos à envoyer, y compris les blocs de redondance, de façon à permettre une optimisation de la réponse du système à des défauts de transmission du signal vidéo. Elles fournissent en fait des données sur les blocs pris individuellement, afin de mieux tracer les erreurs et de les localiser dans les paquets de données.
L'invention ne se limite bien entendu pas aux exemples décrits et expli<xués en référence aux figures, mais elle englobe les variantes et versions <jui entrent dans la portée des revendications .

Claims

REVENDICATIONS 1. Procédé d' encodage de flux de données vidéos basées sur des groupements d' images (GOF) utilisés en codage vidéo pour définir l'ordre dans lequel sont disposées les images à codage interne et à codage prédictif permettant la génération d' une image visible , incluant des moyens de correction d' erreurs de transmission par redondance , pour des transmission sur un réseau sans fil régi par un protocole de communication de données en local, ledit flux vidéo étant constitué de paquets G de données successifs, chaque paquet G comprenant un premier ensemble M contenant les données vidéos à transmettre , et un second ensemble contenant des données de redondance obtenues par un algorithme de redondance, caractérisé en ce que le premier ensemble de données M est constitué à partir de toutes les données d' au moins un groupement d' images (GOP) .
2. Procédé d' encodage de flux de données vidéos selon la revendication précédente , caractérisé en ce que la taille de toutes les images du groupement d'images est ajoutée dans les données M, dans une zone jouxtant chaque image.
3. Procédé d'encodage de flux de données vidéos selon l'une des revendications précédentes, caractérisé en ce qu'une table d' index contenant la position absolue de chaque image du groupement d'images est ajoutée dans les données M.
4. Procédé d'encodage de flux de données vidéos selon l'une des revendications précédentes , caractérisé en ce que chaque paquet G est organisé en K premiers blocs de données de taille prédéterminée L et N blocs de redondance de taille L , K étant égal à M/L, la valeur entière par excès du résultat de la division M/L étant attribuée à K si M/L n'est pas un nombre entier.
5. Procédé d' encodage de flux de données vidéos selon la revendication précédente, caractérisé en ce que la portion de bloc correspondant à la différence (KxL - M) , qui existe 9 si M/L n'est pas un nombre entier, est remplie par des données identifiées comme étant des données de bourrage, par exemple des zéros .
6. Procédé d'encodage de flux de données vidéos selon l'une des revendications 4 et 5, caractérisé en ce que, pour chacun des blocs K et N, des informations sont ajoutées, comportant
le numéro du groupement d' images (GOP) , incrémenté pour chaque nouveau groupement d' images ;
La valeur de K, incrémentée de 1 à K pour chaque bloc
K ;
La valeur de N, commençant à K+l et se terminant à N+K ;
La valeur de L ; et
Le numéro du bloc (de 1 à K+N) .
7. Flux vidéos organisés selon le procédé des revendications précédentes et comportant une succession de paquets de données G constitués chacun d' un premier ensemble de données vidéos natives à transmettre et d'un second ensemble de données redondantes de correction d' erreurs , caractérisé en ce que le premier ensemble contient toutes les données d' au moins un groupement d' images (GOP) .
EP16809456.3A 2015-09-30 2016-09-30 Procédé d'encodage de flux de données vidéo basées sur des groupements d'images (gop) Ceased EP3357244A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1559299A FR3041850B1 (fr) 2015-09-30 2015-09-30 Procede d'encodage de flux de donnees video basees sur des groupements d'images (gop)
PCT/FR2016/052508 WO2017055771A1 (fr) 2015-09-30 2016-09-30 Procédé d'encodage de flux de données vidéo basées sur des groupements d'images (gop)

Publications (1)

Publication Number Publication Date
EP3357244A1 true EP3357244A1 (fr) 2018-08-08

Family

ID=55236515

Family Applications (1)

Application Number Title Priority Date Filing Date
EP16809456.3A Ceased EP3357244A1 (fr) 2015-09-30 2016-09-30 Procédé d'encodage de flux de données vidéo basées sur des groupements d'images (gop)

Country Status (11)

Country Link
US (1) US10477246B2 (fr)
EP (1) EP3357244A1 (fr)
JP (1) JP2018536325A (fr)
KR (1) KR20180074692A (fr)
CN (1) CN108353183B (fr)
AU (1) AU2016333573A1 (fr)
BR (1) BR112018006381A2 (fr)
CA (1) CA3000557A1 (fr)
FR (1) FR3041850B1 (fr)
SG (1) SG11201802623PA (fr)
WO (1) WO2017055771A1 (fr)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10419738B1 (en) * 2018-06-14 2019-09-17 Telefonaktiebolaget Lm Ericsson (Publ) System and method for providing 360° immersive video based on gaze vector information
JP7155727B2 (ja) * 2018-08-07 2022-10-19 富士通株式会社 情報処理装置、情報処理装置の制御方法及び情報処理装置の制御プログラム
WO2023184552A1 (fr) * 2022-04-02 2023-10-05 Oppo广东移动通信有限公司 Procédé et appareil de transmission de données et dispositif de communication

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07170513A (ja) * 1993-12-15 1995-07-04 Hitachi Ltd 画像符号化復号化方法
US5768533A (en) * 1995-09-01 1998-06-16 National Semiconductor Corporation Video coding using segmented frames and retransmission to overcome channel errors
US7224702B2 (en) * 2000-08-30 2007-05-29 The Chinese University Of Hong Kong System and method for error-control for multicast video distribution
US7212726B2 (en) * 2000-09-15 2007-05-01 International Business Machines Corporation System and method of processing MPEG streams for file index insertion
CN1124745C (zh) * 2000-12-05 2003-10-15 湖南中芯数字技术有限公司 运用w-正交变换的视频图像压缩方法
US7095729B2 (en) * 2000-12-22 2006-08-22 Intel Corporation Method for multimedia communication over packet channels
US6898758B2 (en) * 2001-06-20 2005-05-24 Koninklijke Philips Electronics N.V. Cross media error protection method and system
JP4214816B2 (ja) * 2003-04-15 2009-01-28 パナソニック株式会社 メディア情報処理方法
JP2005252515A (ja) * 2004-03-03 2005-09-15 Matsushita Electric Ind Co Ltd データ配信方法
JP4180095B2 (ja) * 2004-07-01 2008-11-12 三菱電機株式会社 記録装置、及び記録方法、及び再生装置及び再生方法
ATE511721T1 (de) * 2004-10-06 2011-06-15 Nokia Corp Zusammenstellen von vorwärtsfehlerkorrektur- rahmen
JP4374548B2 (ja) * 2005-04-15 2009-12-02 ソニー株式会社 復号装置および方法、記録媒体、並びに、プログラム
US7788568B1 (en) * 2006-01-23 2010-08-31 Sprint Communications Company L.P. System and method for characterizing error correction performance for digital data transport over an IP network
DE102006057983A1 (de) * 2006-12-08 2008-06-12 Siemens Ag Verfahren zur Vidoecodierung einer Folge digitalisierter Bilder
US8279946B2 (en) * 2007-11-23 2012-10-02 Research In Motion Limited System and method for providing a variable frame rate and adaptive frame skipping on a mobile device
CN100592803C (zh) * 2008-06-03 2010-02-24 中国人民解放军军事交通学院 基于数据图像编解码技术的单向光通路数据导入装置
JP4686587B2 (ja) * 2008-10-16 2011-05-25 株式会社東芝 映像記録再生装置およびファイル管理方法
US8396114B2 (en) * 2009-01-29 2013-03-12 Microsoft Corporation Multiple bit rate video encoding using variable bit rate and dynamic resolution for adaptive video streaming
US9094641B1 (en) * 2011-06-08 2015-07-28 Arris Enterprises, Inc. Group of pictures size adjustment
EP3174296A1 (fr) * 2011-10-17 2017-05-31 Kabushiki Kaisha Toshiba Procédé de décodage et dispositif de décodage
KR102148158B1 (ko) * 2013-04-23 2020-08-28 삼성전자주식회사 통신 시스템에서 패킷 송수신 방법 및 장치
US9414100B2 (en) * 2014-03-31 2016-08-09 Arris Enterprises, Inc. Adaptive streaming transcoder synchronization
US9955159B2 (en) * 2014-10-31 2018-04-24 Google Llc Multi-video decoding with input switching

Also Published As

Publication number Publication date
FR3041850B1 (fr) 2018-05-25
KR20180074692A (ko) 2018-07-03
CA3000557A1 (fr) 2017-04-06
SG11201802623PA (en) 2018-04-27
BR112018006381A2 (pt) 2018-10-09
US10477246B2 (en) 2019-11-12
AU2016333573A1 (en) 2018-04-19
FR3041850A1 (fr) 2017-03-31
CN108353183A (zh) 2018-07-31
WO2017055771A1 (fr) 2017-04-06
JP2018536325A (ja) 2018-12-06
US20180270507A1 (en) 2018-09-20
CN108353183B (zh) 2021-02-09

Similar Documents

Publication Publication Date Title
EP0448491B1 (fr) Procédé de codage et de transmission à au moins deux niveaux de qualité d&#39;images numériques appartenant à une séquence d&#39;images, et dispositifs correspondants
JP2003318744A (ja) デジタルマルチメディアデータのエラー復元符号化、格納および送信
EP3357244A1 (fr) Procédé d&#39;encodage de flux de données vidéo basées sur des groupements d&#39;images (gop)
EP3707900A1 (fr) Procede de formation d&#39;une sequence d&#39;images de sortie a partir d&#39;une sequence d&#39;images d&#39;entree, procede de reconstruction d&#39;une sequence d&#39;images d&#39;entree a partir d&#39;une sequence d&#39;images de sortie, dispositifs, equipement serveur, equipement client et programmes d&#39;ordinateurs associes
FR2959636A1 (fr) Procede d&#39;acces a une partie spatio-temporelle d&#39;une sequence video d&#39;images
EP3378232B1 (fr) Procédé de traitement de données codées, procédé de réception de données codées, dispositifs, et programmes d&#39;ordinateurs associés
EP3780632A1 (fr) Systeme de distribution d&#39;un contenu audiovisuel
FR2987213A1 (fr) Systeme video pour representer des donnees d&#39;image et son procede d&#39;application
EP1302078A1 (fr) Procede de codage d&#39;un flux d&#39;images video
EP0053064A1 (fr) Système de transmission numérique à codage adaptatif d&#39;informations analogiques échantillonnées et transformées par transformation orthogonale
EP3350931B1 (fr) Procédé d&#39;optimisation de transmission de flux de données vidéo dans un réseau sans fil
FR2942095A1 (fr) Procede et dispositif d&#39;identification de pertes de donnees video
FR2851112A1 (fr) Dispositif securise pour la diffusion, l&#39;enregistrement et la visualisation a la demande des oeuvres audiovisuelles au format de type mpeg-2ts
WO2008132378A2 (fr) Procédé et dispositif de régulation du débit de codage de séquences d&#39;images vidéo vis-à-vis d&#39;un débit cible
FR2978639A1 (fr) Procedes de compression et de decompression d&#39;images animees
FR2923970A1 (fr) Procede et dispositif de formation, de transfert et de reception de paquets de transport encapsulant des donnees representatives d&#39;une sequence d&#39;images
WO2017098177A1 (fr) Procede d&#39;amelioration de la fiabilite de transmission et de la qualite de reception de flux de donnees videos
EP0788716A1 (fr) Multiplexeur de paquets d&#39;informations numeriques, notamment pour la television numerique
WO2000002394A1 (fr) Procede de traitement de donnees video destinees a etre visualisees sur ecran et dispositif mettant en oeuvre le procede
WO2024062231A1 (fr) Procédé de décodage de flux vidéo
FR2726413A1 (fr) Multiplexeur de paquets d&#39;informations numeriques, notamment pour la television numerique
US20170230612A1 (en) Adaptive resolution encoding for streaming data
EP2037686A2 (fr) Procédé de compression d&#39;un fichier numérique audio, image ou vidéo par désynchronisation
FR2834839A1 (fr) Procede et dispositif de gestion des transmissions de donnees numeriques multimedia
FR2658683A1 (fr) Systeme de codage a longueur variable de signaux numeriques.

Legal Events

Date Code Title Description
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: UNKNOWN

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

Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE

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

Free format text: ORIGINAL CODE: 0009012

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

Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE

17P Request for examination filed

Effective date: 20180327

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

AX Request for extension of the european patent

Extension state: BA ME

DAV Request for validation of the european patent (deleted)
DAX Request for extension of the european patent (deleted)
STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: EXAMINATION IS IN PROGRESS

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

Free format text: STATUS: EXAMINATION IS IN PROGRESS

17Q First examination report despatched

Effective date: 20201204

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

Free format text: STATUS: EXAMINATION IS IN PROGRESS

REG Reference to a national code

Ref country code: DE

Ref legal event code: R003

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

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20230909