WO2019180350A1 - Method of low-latency video encoding and decoding - Google Patents

Method of low-latency video encoding and decoding Download PDF

Info

Publication number
WO2019180350A1
WO2019180350A1 PCT/FR2019/050556 FR2019050556W WO2019180350A1 WO 2019180350 A1 WO2019180350 A1 WO 2019180350A1 FR 2019050556 W FR2019050556 W FR 2019050556W WO 2019180350 A1 WO2019180350 A1 WO 2019180350A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
elements
index
value
encoded data
Prior art date
Application number
PCT/FR2019/050556
Other languages
French (fr)
Inventor
Jean-Marc Thiesse
Adrien GRILL
Didier Nicholson
Original Assignee
S.A. Vitec
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 S.A. Vitec filed Critical S.A. Vitec
Publication of WO2019180350A1 publication Critical patent/WO2019180350A1/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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/107Selection of coding mode or of prediction mode between spatial and temporal predictive coding, e.g. picture refresh
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • 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

Definitions

  • the present invention relates to the field of video compression and more specifically video encoders and decoders.
  • the invention particularly relates to low latency video compression protocols and associated video encoders and decoders.
  • each image is divided into groups of pixels (also called, below, element of the image) also processed sequentially, for example starting at the top left and ending at the bottom right of each image.
  • the encoding of an image of the stream is performed by dividing a matrix of pixels corresponding to the image into several sets, for example blocks of fixed sizes 16 ⁇ 16, 32 ⁇ 32 or 64 ⁇ 64 pixels, and encoding these blocks of pixels according to a given processing sequence.
  • the processing (otherwise called compression or encoding) of data can be carried out according to two types, the so-called “Intra” processing, in which the processing is performed on elements of a single image, and on the other hand the so-called “processing". Inter ", wherein the treatment is performed from previously processed images.
  • the "Intra” encoding of an element of an image comprises a prediction of the pixels of the element made solely with the aid of elements of this previously encoded image, in which case we speak of "Intra prediction”.
  • the encoding of an element of the image comprises a prediction of the pixels of the element made using elements from previously encoded images, in which case we speak of "prediction Inter ".
  • hybrid High Efficiency Video Coding
  • HEVC High Efficiency Video Coding
  • the blocks are decoded using information relating to blocks previously decoded either from the same image (Intra prediction) or from at least one other image. (Inter prediction), combined with residues.
  • These residues are encoded after a transformation step (eg a discrete cosine transform, DCT) and quantization.
  • This quantization step is performed on the basis of a quantization parameter (Q.P) associated with each block and reported in the video bit stream.
  • Q.P quantization parameter
  • Intra-refresh In the context of a conventional operation, namely not "intra-refresh", the first image is coded only with the aid of a spatial prediction, that is to say that each block of the image is encoded only on the basis of the blocks present in the first image and more precisely the blocks which are in the vicinity of the block being processed.
  • a spatial prediction that is to say that each block of the image is encoded only on the basis of the blocks present in the first image and more precisely the blocks which are in the vicinity of the block being processed.
  • the following images are encoded by alternating encoded images using temporal prediction (Inter prediction) and encoded images using spatial prediction.
  • temporal prediction is meant that the blocks of the image are encoded using also blocks belonging to previously encoded images.
  • the images encoded using a spatial prediction notably make it possible to reduce the persistent errors due to a temporal coding and to be able to start the decoding of the stream. We talk about refreshing the video stream. Indeed, an error in the encoding or the decoding of a first block will be transmitted to all blocks whose encoding or decoding uses this first block. Without an Intra image, the error can propagate when decoding or encoding subsequent images.
  • the Intra images allow access to the stream that is to say the decoding of the stream at a given moment, for example when the viewer arrives on a television channel.
  • the amount of bits resulting from the encoding of the Intra images is much larger than that resulting from the encoding of the Inter images.
  • the Intra images therefore represent a significantly larger amount of bits than the Inter images.
  • the Intra images then take a higher transmission time which can be spread over a time corresponding to several Inter images.
  • large Intra images introduce significant latency.
  • Intra refresh In order to reduce this latency, so-called "Intra refresh” techniques have been developed. These techniques consist of spreading the weight of the Intra images over several images. Thus, each image then has an Intra zone whose blocks are encoded solely on the basis of blocks belonging to said image, hereinafter referred to as the Intra-refresh zone, and an Inter zone whose block encoding also uses a prediction. time.
  • the Intra-refresh zones defined to encode the image sequence allow after a certain period of time to have "refreshed" the entire video image, that is to say that for every pixel of the video, during this period of time, there is an image of the sequence whose element containing this pixel is encoded in Intra.
  • Figure 1 describes such a technique of encoding an image sequence.
  • ZS being the Intra-refresh zones, also referred to hereinafter as spatial zones.
  • the zones D j being the areas not yet refreshed during the period of N images.
  • the zones being the zones already refreshed during this period. We see that at the end of the period all the pixels of the video image have been refreshed.
  • Zones Q and D may contain blocks whose encoding uses spatial prediction as well as blocks whose encoding uses temporal prediction. The refresh of the video stream is therefore done on several images of the sequence.
  • it is possible to obtain a uniform size of the encoded images by applying encoding with Intra-refresh areas of similar size for each image.
  • the Intra-refresh zones used are columns, these columns moving from left to right. But it is also possible to use lines or any other forms.
  • the present invention improves the situation.
  • the present invention proposes a method for encoding a video, comprising a sequence of images, each image of the image sequence being divided into elements, said method comprising:
  • N is an integer strictly greater than 1
  • each row SBj bit sequence j of the video bit stream comprises: o First encoded data representative of a jth value n j of the index; o second encoded data representative of elements of a jth image I j located in a spatial area ZSJ associated with the value n j of the index, obtained from the picture elements s j
  • Such a method makes it possible to reduce the amount of encoded data resulting from the encoding of images of a sequence of images. Such a method makes it possible in particular to reduce the signaling at the level of the elements of the image. Indeed, each encoded image is associated with a value of an index
  • This value of the index corresponds to a division into specific spatial zones of the image.
  • the value of the index makes it possible to indicate a set of elements of the image encoded from the other elements of this same image. That is, the Intra-refresh area of the image.
  • this same value of the index makes it possible to deduce the Inter zone of the image.
  • the signaling data specific to each element of the image located in the Intra-refresh zone thereof no longer need to indicate that the element is encoded using a spatial prediction. The amount of signaling data to be encoded, transmitted and then decoded is therefore reduced.
  • Such a method allows the decoder to deduce the Intra-refresh area before decoding the representative data of each element.
  • the decoder can deduce the layout of the Intra-refresh zone before decoding the data. representative of each element.
  • the encoding and decoding of the data representative of each element can be made by taking into account the position of this element within the image and the division induced by the Intra-refresh zone. For example, image elements that are both in the Intra-refresh region and adjacent or close to elements outside the Intra-refresh zone can be encoded on fewer bits.
  • the decoder already knows that certain configurations are impossible, for example such an element located in the Intra-refresh zone can not be encoded on the basis of element encoded in Inter located outside the Intra-refresh zone.
  • the decoder can for example decode the elements located in the Intra-refresh zone independently of the elements located outside the Intra-refresh zone.
  • the elements located in the Intra-refresh zone
  • the method comprises: The determination of N spatial zones forming an overlap of each image, where N is an integer strictly greater than 1;
  • each binary sequence SBj of rank j of the video bit stream comprises: o First encoded data representative of information n j representative of the jth spatial area; o Second encoded data, representative of the elements of an ith image 1 j located in a spatial zone ZSj associated with the information n j representative of the j-th spatial zone, obtained from the elements of the image 1 j ; o Third encoded data representative of the elements of the jth image l j located outside the spatial zone ZSj associated with the information n j representative of the j-th spatial zone, obtained at least from a d element another image of the sequence of images.
  • This information n j representative of the j-th spatial area may for example be a value of an index as previously explained or several values which combined to identify a spatial area among the N spatial areas.
  • the index values can be replaced by information representative of the j-th spatial zones.
  • the ordered bit sequences may be successive binary sequences.
  • elements of the image is meant a processing unit in a video compression format. These processing units divide or cut the image into a pixel group, for example into fixed size blocks of 16 ⁇ 16, 32 ⁇ 32 or 64 ⁇ 64 pixels, which can themselves be divided into sub-blocks.
  • the formats that make use of these elements are, for example, JPEG, H.261, MPEG-1, H.262 / MPEG-2, H.263, MPEG-4, H.264 / MPEG-4 AVC and H formats. 265 / HEVC or the VP8, VP9, AVI formats.
  • These elements of the image are commonly called macroblocks (MB) or in the case H.265 / HEVC coding tree unit (CTU).
  • encoded data representative of one or more elements it is understood the data included in a binary sequence and therefore in the video bit stream that are obtained by encoding the one or more elements. It is the data relating to an element of the image resulting from the video processing applied to the video stream.
  • This encoded data comprises the information on the basis of which the decoder will decode the encoded video stream to render the element of the image.
  • These encoded data are obtained from the element they represent but also from other elements of the image (Intra prediction) or of other images of the video stream (Inter prediction).
  • video bit stream is meant the bit stream resulting from the encoding of the video stream.
  • binary sequences is meant that part of the bit stream relating to an image, that is to say comprising the encoded data representative of the elements of this image.
  • a sequence of images is a video stream.
  • the selection of N images is not limited to a particular selection, it may be a selection of the first N frames of the video stream, but also of any other N distinct images or not among the images of the sequence.
  • the image selection depends on the encoding sequence implemented by the standard. Thus, some images may be encoded and decoded before images previously located in the video image stream.
  • a spatial zone is defined for all the images in the image sequence, ie for each image, the spatial zone defines elements that are located in this spatial zone and elements that are located in the spatial zone. outside this spatial area.
  • the set of spatial zones ZS forms an overlap of each image, that is to say that for every element of an image of the image sequence this element is located in at least one of the spatial zones.
  • the first encoded data is directly or indirectly representative of the jth value n j of the index.
  • decoding these data provides the value of the index only from the first encoded data.
  • the first encoded data are indirectly representative of the jth value n j obtaining the value of the index requires using, in addition to the first data, other previously decoded data.
  • the decoding of the first data makes it possible to obtain information making it possible to deduce the value of the index. For example, the information indicates another binary sequence, the value of the index of this other binary sequence being taken over for the binary sequence containing the information.
  • the N spatial zones form a partition of each image. That is, an element of the image can only be located in one spatial area.
  • the second encoded data are not obtained from elements other than those of the image 1j.
  • second encoded data are obtained among others from the encoded data representative of image elements l j but never from the encoded data representative of elements of another image lj. Indeed, for the jth image, the second encoded data representative of the elements located in the jth spatial area are encoded in Intra.
  • the first encoded data are included in a signaling part of the video bit stream. This makes it possible to simplify the decoding of these data, and to perform, for example, the decoding of these first data before any decoding of data representative of the elements of the encoded image being decoded.
  • the third encoded data comprise encoded data representative of the elements of the jth image 1 j located in a spatial area U ⁇ _1 ZS fe corresponding to the union spatial zones respectively associated with the first j-1 values of the index, said encoded data representative of the elements of the jth image 1 j located in the spatial area U ⁇ _1 ZS fe are not obtained from elements other than those of the images l m situated respectively in zones space U ZS k , for 1 ⁇ m ⁇ j ⁇ N.
  • the encoded data representative of the elements of the jth image 1 j located in the spatial zone U ⁇ -1 ZS k are obtained from the elements of the images l m respectively located in spatial zones U r i ZS k and never from elements of the images l m located respectively outside the spatial zones U TM ZS k for 1 ⁇ m ⁇ j ⁇ N
  • the number of bits in the bitstream reserved for the encoded data representative of an element of the image 1 j located in the spatial zone U ⁇ _1 ZS k is adapted to the dimensions of the spatial zone U ⁇ _1 ZS k .
  • the decoder prior to decoding the data specific to each element of an image the position of the Intra-refresh zone.
  • the elements of the rank image j (l j ) located in the spatial area U ⁇ -1 ZS k can only be encoded from elements located in a "refreshed" zone.
  • the "refreshed" zones are also known to the decoder, since these are defined by the set of values (h ⁇ ) ⁇ E ⁇ i , ⁇ previously decoded.
  • the number of elements from which the encoding of an element of the spatial zone U ⁇ -1 ZS k can be obtained is even lower than the area U ⁇ _1 ZS fe is small (and therefore that "refreshed" areas are small).
  • the number of bits reserved for the encoded data representative of an element of a "refreshed” zone can be adapted to the size of the zone U ⁇ _1 ZS k .
  • number of bits in the bitstream reserved for the encoded data representative of an element is meant the maximum number of bits that can be used in the bitstream for the encoded data representative of this element.
  • the number of bits in the bitstream reserved for the encoded data representative of an element of the image l j located in the spatial zone U ⁇ -1 ZS k is adapted to the position of this element in the spatial zone U ⁇ -1 ZS k .
  • the number of elements from which the encoded data representative of an element located in the spatial area U ⁇ -1 ZS k can be obtained also depends on the position of this element within this zone. Indeed, since the encoding of such an element can not be obtained from previously encoded image elements l m (1 ⁇ m ⁇ j) located respectively outside the spatial areas U ZS k , plus the element of the image l j is located outside a large number of zones U r L ZS k and less it is possible to encode this element from encoded elements using a temporal prediction. As previously stated, the more the number of elements from which an element can be encoded is restricted and the number of bits reserved for the encoded data representative of such an element can be restricted. The position is therefore relative to the intra-refresh zones which are indicated upstream of the encoded data representative of each element of the image.
  • the number of bits in the bitstream reserved for the encoded data representative of an element of the image l j located in the spatial zone ZSj associated with the value nj is adapted to the position of this element in ZSj.
  • the binary sequence SBj includes: data relating to a quantization parameter relating to the image I j
  • a quantization parameter relating to the intra-refresh zone (more precisely a quantization parameter differential of the intra-refresh zone) makes it possible to reduce the number of bits necessary to indicate the quantization parameters relating to the elements of the intra-refresh zone. the image located in the intra-refresh area. Thus, the size of the binary sequence is reduced without losing information.
  • a second aspect of the invention relates to a method for decoding a video bit stream, the video bit stream being obtained according to one of the preceding claims, said method comprising for each binary sequence SBj of rank j: Determining the spatial zone ZS j associated with the value n j of the index from the decoding of the first encoded data;
  • the decoder can deduce the layout of the Intra-refresh zone before decoding the data representative of each element.
  • the encoding and decoding of the representative data of each element can be made by taking into account the position of this element within the image and the division induced by the Intra-refresh zone. For example, image elements that are located in the Intra-refresh area and adjacent or close to elements outside the Intra-refresh area can be encoded on fewer bits.
  • the decoder already knows that certain configurations are impossible, for example such an element located in the Intra-refresh zone can not be encoded on the element base located outside the Intra-refresh zone, so the decoder can for example, to decode the elements located in the Intra-refresh zone independently of the elements located outside the Intra-refresh zone.
  • the determination of the elements located in the spatial zone ZS j is made from the decoding of the second encoded data and the element of the restored image IR j . It can in particular be obtained from elements located outside the space zone ZS j .
  • the determination of the elements of a restored image IR j located in the spatial area ZS j associated with the value n j of the index is not made from elements other than the image I j .
  • rendered image of rank j is meant the image decoded by the decoder by using the first, second and third encoded data included in the binary sequence SB of rank j, that is to say the binary sequence corresponding to the image of rank j among the image selection.
  • the restored image of rank j is the decoded image obtained by decoding the encoded data representative of the elements of the image of the sequence of images of rank j.
  • the element of a rendered image corresponding to an element of an image is an element situated at the same position as the element of the picture.
  • the rendered image being of identical rank to that of the image among the image selection. Subsequently the elements of an image and their corresponding elements may not be distinguished.
  • generic data also called generic element or default data
  • generic data is understood data used to decode encoded data representative of an element of the image located in the Intra-refresh area. These generic data are used in particular when the neighborhood of the element does not exist if the element is at the edge of the image in particular. Or when a specific mode prohibiting the use of the elements using a temporal prediction is activated and that the neighborhood of the element being encoded consists of elements Inter.
  • the determination of the elements of a restored image I Rj located in the spatial zone ZSj associated with the value nj of the index is made only from the decoding of the second encoded data and / or elements of the restored image I Rj.
  • determining the elements of the rendered image of rank j is meant obtaining pixel values of the element of the restored image of rank j.
  • the second and third encoded data comprise encoded data representative of a first element E of the image 1 j obtained solely from elements of said image 1 j and the data representative of at least one second element E 'of said picture elements s j are obtained at least from a component of another image I of the sequence of images,
  • the determination of an element of the restored image I Rj corresponding to the first element E is obtained from: decoding the encoded data representative of the first element E;
  • the said elements are those from which the data representative of the first element were obtained.
  • a third aspect of the invention relates to a method of encoding a video comprising a sequence of images, each image of the image sequence being divided into elements, said method comprising: Determining a plurality of spatial areas forming an overlap of each image;
  • Obtaining a video bit stream comprising:
  • o Encoded data representative of the value of the index o Encoded data representative of the elements of the image located in the spatial zone associated with the value of the index, obtained from the elements of the image;
  • o Encoded data representative of the elements of the image located outside the spatial zone associated with the value of the index, obtained at least from an element of another image of the image sequence.
  • a fourth aspect of the invention relates to a computer program comprising instructions for implementing all or part of the method described above, when this program is executed by a processor.
  • This program can use any programming language (for example, an object language or other), and be in the form of an interpretable source code, a partially compiled code or a fully compiled code.
  • Figures 3 and 4 described in detail below, can form the flow chart of the general algorithm of such a computer program.
  • a fifth aspect of the invention relates to a device for encoding a video, said video comprising a sequence of images, each image of the image sequence being divided into elements, the device comprising: a processor; and
  • a non-transitory computer medium including instructions that when executed by the processor configures the device to:
  • N is an integer strictly greater than 1
  • each binary sequence SBj of rank j of the video bit stream comprises:
  • Second encoded data representative of the elements of an ith image 1 j located in a spatial zone ZSj associated with the value n j of the index, obtained from the elements of the image 1 j o
  • a sixth aspect of the invention relates to a device for decoding a video bit stream, the video bit stream being obtained according to one of the preceding claims 1 to 7, the device comprising:
  • a non-transitory computer medium comprising instructions that when executed by the processor configures the device so that, for each bit sequence SBj of rank j, the device: determines the spatial zone ZS j associated with the value n j of the index from the decoding of the first encoded data;
  • FIG. 1 illustrates the processing of a sequence of images within the framework of an Intra-refresh type encoding
  • FIG. 2 illustrates the structure of a binary sequence according to one embodiment of the invention
  • FIG. 3 illustrates the steps of the encoding according to one embodiment of the invention
  • FIG. 4 illustrates the decoding steps according to one embodiment of the invention
  • FIG. 5 illustrates a video encoding device and a video decoding device according to one embodiment of the invention.
  • FIG. 1 illustrates the processing of a sequence of images in the context of an Intra-refresh type encoding.
  • the sequence of images is confused with the N images of the image selection.
  • the selection of images corresponds to the ordered selection N first images of a sequence of N images.
  • a sequence of N images li, l 2 , ..., I N is extracted from a video stream.
  • Each of these images is divided into blocks, E, of fixed size, called macro-blocks, CTU blocks or elements, for example 16 ⁇ 16, 32 ⁇ 32.64 ⁇ 64, 128 ⁇ 128 or 256 ⁇ 256 pixels blocks.
  • the blocks are only represented in image li and l 2 , but the structure of the other images is identical.
  • These blocks are more generally treatment units that can be of varying shapes and / or sizes depending on the treatment protocols chosen. The blocks thus cover each of the images.
  • Each image is encoded according to a block processing sequence, a typical case of encoding sequence of an image is to encode the blocks from left to right and from top to bottom, but other processing sequences can be used.
  • Each block of each image is then encoded either by using a spatial prediction, or by using a temporal prediction, starting with the block at the top left of the image.
  • Block E COd is the block being encoded, the shaded blocks are those previously encoded and the white blocks are those remaining to be encoded.
  • the block E cod can be encoded using a spatial or temporal prediction.
  • Encoder E ⁇ d using a spatial prediction is to use only current elements of the image encoder 2 to encode the block E ⁇ d ⁇
  • the block his left and above are used.
  • Encoding E ⁇ d using a temporal prediction also consists in using elements of the previously encoded image to encode the block E cod .
  • the block of the image li located at the same place as E ⁇ d is used.
  • the result of the encoding of all the blocks of an image is a binary sequence.
  • the set of binary sequences forms the video bit stream.
  • a set of indexed block encoding schemes may be used.
  • one of the diagrams may be the use of the same block of the previous image to encode, or the use of the 4 contiguous blocks previously encoded.
  • the sequence does not directly indicate the blocks from which the encoding is performed, only the number of the index of the schema relating to the encoding of the block is included in the sequence.
  • the sequence of images represented is encoded in an intra-refresh mode, that is to say that for each image the encoder imposes a zone, called an intra-refresh zone, in which the blocks are encoded only by using a prediction spatial (intra-encoded).
  • each intra- refresh zone covers a different part of the image, and all the Intra-refresh zones applied to a sequence of images form a tiling of the images.
  • the pixels of the video image are all refreshed, that is to say, encoded at least once in intra.
  • the zones D being the zones not yet refreshed during the period of N images.
  • the zones ⁇ being the refreshed areas during this period. We see that at the end of the period all the image is refreshed.
  • the zones intra-refresh zones ⁇ and D may also represent areas located in other images than the image I, and the image restored IR.
  • Intra-refresh zones used are columns, these are applied from left to right. But it is also possible to use other overlays, or advantageously other tilings, for example horizontal Intra-refresh zones applied from top to bottom, or intra-refresh zones. square spiral applied.
  • Each sequence consists of a general signaling part and a part comprising the encoded data representative of the blocks of the image. This last part may also include signaling data.
  • the general signaling part of the HEVC standard consists of a Video Parameter Set (VPS) field (also called a NAL), a Sequence Parameter Set (SPS) field, and a Picture Parameter Set field. "(PPS).
  • VPS Video Parameter Set
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • the VPS field includes information about the video.
  • the VPS field includes for example information concerning the "Profile", the "Level” and the “Tier” which define decoding characteristics.
  • the field may also contain information relating to the size of the buffer (buffer in English) applied for the decoding.
  • the SPS field includes the information relating to the image sequence considered. All images in the sequence use in principle the same SPS.
  • the SPS field notably includes information relating to the coding tools used, or important parameters describing the characteristics of the encoded sequence (for example the size of the images).
  • the PPS field includes information about each image, even though multiple images may refer to the same PPS to reduce the size of the signaling.
  • the PPS includes in particular additional information relating to the coding tools used in the image or images which refer to it (for example the "constrained intra prediction").
  • the PPS also includes parameter quantization parameter initialization parameters, initial quantisation parameter (QP). This parameter serves as a common basis for calculating the QP of all the elements of the images.
  • the part comprising the encoded data representative of the blocks of the image in HEVC is composed of several fields called slices. These slices group the encoded data representative of several blocks in order of encoding / decoding. The slices depend on the type of predictions used to encode the blocks whose encoded data is included in the slice as well as other decoding characteristics.
  • the first slice includes, for example, the encoded data representative of the first and second blocks (numbered in the order from left to right and from the top down).
  • the second slice can group the encoded data representative of the third and fourth blocks.
  • the third slice can group all the blocks of the fifth block up to the second block of the second row.
  • the fourth slice can group the third and fourth blocks of the second row.
  • the fifth slice can group all blocks from the fifth block of the second row to the second block of the third row, and so on.
  • the above division is a fine division, it is also possible to have all the blocks of the same image in the same slice, or to have a slice per line of the image.
  • the encoded data representative of the COd E block being encoded will be included in the fifth slice.
  • the slices also contain signaling data including a slice identifier, a reference to the PPS that applies, the slice type, a value of the quantization parameter of the slice. These signaling data are included in the header of the slice (Slice Header in English).
  • the PPS field comprises an information piece of information (otherwise known as signaling activation) making it possible to indicate whether the method according to the invention is applied or not in the context of the picture referring to the PPS in question.
  • This information item may for example be coded on a bit, the value "1" being associated with the application of the method and the value "0" being associated with the fact of not applying the method.
  • Intra-refresh mode parameters in particular: information data (intra-refresh type signaling) making it possible to signal the type of intra-refresh.
  • This information item may for example be coded on two bits, the value 0 being associated with a refresh by column, the value 1 being associated with a refresh by line, the value 2 being associated with pseudo-random refreshment by column and the value 3 being associated with a pseudo-random refresh by line; information data (intra-refresh size signaling) making it possible to signal the size of the intra-refresh zones, for example in number of blocks or width of the column; information data for signaling a value of a quantization parameter specific to the image (initial signaling QP). information data making it possible to signal a value of a quantization parameter differential specific to the intra-refresh zone (delta QP intra-refresh signaling).
  • the header of the slice comprises information data making it possible to signal the direction of application of the Intra-refresh zones, called intra-refresh direction signaling, for example from left to right (coded for example "0") or right-to-left (coded for example "1") when the refresh type is refresh by column. From top to bottom (coded for example "0") or from bottom to top (coded for example "1") when the type of refresh is a refresh by line.
  • intra-refresh direction signaling for example from left to right (coded for example "0") or right-to-left (coded for example "1") when the refresh type is refresh by column. From top to bottom (coded for example "0") or from bottom to top (coded for example "1") when the type of refresh is a refresh by line.
  • the header of the slice may also include signaling data for signaling the position of the Intra-refresh zone, called intra-refresh position signaling, applied to the image corresponding to this slice.
  • intra-refresh position signaling For example, the positions of the intra-refresh zones as applied to the images of rank 1 to N in FIG. 1, can for example be coded by their rank, that is to say 1 for ZSi, 2 for ZS 2 , ..., N for ZS N.
  • the signaling included in the header of the slot can also provide information data for signaling a value of a quantization parameter differential specific to the slice (delta Q.P slice signaling).
  • the encoded data representative of each block contain also signaling data specifying whether the encoding of the block is performed intra or inter.
  • signaling data specifying whether the encoding of the block is performed intra or inter.
  • only the encoded data representative of blocks located outside the intra-refresh zone comprise information on the type of encoding.
  • the encoded data representative of the blocks situated in the intra-refresh zone do not contain this signaling, the decoder will deduce the type of encoding of the blocks of the intra-refresh zone by means of the signaling located in the slice header and making it possible to determine the position of the intra-refresh zone.
  • the respective encoded data of each block also contains information data for signaling a value of a quantization parameter differential specific to the block (delta Q.P block signaling).
  • the quantization parameter value of a block located outside the intra-refresh zone is calculated according to the formula of the HEVC standard:
  • the quantization parameter value of a block located in the intra-refresh zone is calculated according to the formula of the HEVC standard:
  • Figure 3 describes the steps implemented by the encoder according to one embodiment of the invention.
  • the encoder determines the parameters of the encoding of the image l j being encoded. That is, the encoder determines the position of the intra-refresh zone, the intra-refresh zone type, the QP value, the direction, and the intra-refresh position it applies to the image. lj. The encoder also determines the slicing of the image. In the example below, the resulting signaling is: activation signaling: 1; Intra-refresh signaling type: 0; intra-refresh size signaling: 2 (width of the column representing the intra-refresh zone in number of blocks); - Initial signaling QP: 26 (coded by the value 0); QP intra-refresh delta signaling: -2
  • the encoder has the values of the different signaling elements in the PPS field.
  • the encoder also determines the position of the intra-refresh area. In step S, the encoder determines the signaling of the slot headers as well as the data representative of the blocks of each slot.
  • the encoder based on the determination of the position of the intra-refresh zone determines the appropriate signaling for each slice to be encoded, namely for the image j : - signaling direction intra-refresh: 0; Intra-refresh position signaling: j.
  • the encoder starts encoding the first block of the first slice.
  • the image 1 j has a zone and a zone Dj, that is to say that j has all the cases of image encoding of the sequence.
  • encoding scheme here is considered a set of encoding parameter of the block for obtaining the block residue (that is to say the difference in value between the block to be encoded and the predictor block which is then transformed and quantified).
  • the term encoding scheme used here is therefore associated with a plurality of signaling indexes to deduce the schema used.
  • the encoder selects a block encoding scheme from among the diagrams that do not encode from elements located in the zones D m of the previously encoded images. l m (1 ⁇ m ⁇ j).
  • the encoder reserves for the encoded data representative of the first block a minimum number of bits to be able to index all allowed block encoding schemes or at least some of these schemes allowed.
  • the number of bits reserved for encoded data representative of a block located in the zone depends on the size of the zone zone and the position of the block within this zone. In fact, the narrower the zone C j is, the more the areas C k for k ⁇ j are narrow (since they are included in C i) and the fewer elements of images previously encoded in previously "refreshed" zones. The number of schemes allowed is therefore lower. The number of encoding schemes allowed is also affected by the position of the block being encoded within the zone C j; thus, the closer the block is to the intra-refresh zone, the more it is included or close to a large number of zones D m with m ⁇ j.
  • the encoder encodes the second block to the last block before the Intra-refresh area.
  • the encoder chooses the relevant encoding scheme, among the encoding schemes allowed for this block, that is to say only the encoding schemes intra.
  • the number of bits reserved for the encoded data representative of this block can be reduced to allow to represent only the allowed diagrams.
  • the encoder encodes the blocks located in the intra-refresh zone and more generally all intra blocks of the image using only blocks of the image being encoded.
  • the blocks of the intra-refresh zone can be encoded only from blocks which are themselves encoded intra.
  • the encoder can replace the reference pixels from an inter block by generic pixels when it uses a block encoding scheme using a block inter as part of the encoding of a block located in the intra-refresh area.
  • the blocks located in the zone D j and encoded intra can be encoded from block of the image I j encoded inter, this allows greater flexibility and thus provides encoded data representative of these less heavy blocks.
  • the encoded data representative of intra blocks obtained by using generic blocks instead of inter blocks are larger and consume more resources for decoding.
  • the encoder determines signaling data associated with each block, the associated signaling data are in particular representative of the type of block encoding, intra or inter encoding.
  • the blocks located in the intra-refresh zone are not each associated with a signaling representing the type of encoding.
  • the position signaling of the intra-refresh zone enables the decoder to deduce that the blocks of the intra-refresh zone are intra-encoded blocks.
  • the number of bits reserved for encoded data representative of each block located in the intra-refresh area is reduced.
  • FIG. 4 illustrates the decoding steps according to an embodiment according to the invention.
  • step S20 the decoder decodes or reads the general signaling included in the VPS, SPS and PPS fields.
  • the encoder determines the value of the activation signaling. If this is "0" then the encoder decodes the slices and blocks of the restored image of rank j, I Rj, being decoded according to the conventional decoding steps provided for example in the HEVC standard. If the value of the activation signaling is "1" then the encoder continues decoding as described below. The encoder then reads the values of: signaling type intra-refresh; intra-refresh size signaling; QP intra-refresh delta signaling.
  • step S21 the decoder reads the values in the header of the first slice of intra-refresh direction signaling and / or intra-refresh position signaling.
  • the decoder then deduces the position of the intra-refresh zone of the restored image IR j during decoding.
  • the decoder also reads the delta QP slice signaling values.
  • the decoder then decodes each of the blocks of the slot after determining whether or not they were blocks located in the intra-refresh zone (S22).
  • the intra-refresh zone is the same for the image l j and the restored image of rank j during decoding.
  • the rendered image IR j is divided into zones identical to those of the image I j , namely the zones and D j which will be named in the same way.
  • step S23.1 when the block is not located in the intra-refresh zone, the decoder reads the information included in the encoded data representative of the block being decoded to determine whether it is a block encoded in intra or inter.
  • the decoder also reads the value of the delta Q.P block signaling and deduces therefrom the quantization parameter value (Q.P) of the block according to the formula previously presented.
  • the encoder has selected a block encoding scheme among the patterns that do not encode from picture elements I m previously encoded located respectively in the zones D m (1 ⁇ m ⁇ j).
  • the encoder reserving for the encoded data representative of the current block of decoding the minimum number of bits to be able to index only allowed block encoding schemes. The number of diagrams allowed depends solely on the type of block encoded and its position in the zone.
  • the encoder and the decoder are previously configured to associate block positions within the zone with a set of allowed indexed schemas.
  • the decoder derives the set of previously configured patterns and based on a schema index value (or multiple index values when each schema is represented by several indexes) received the decoder determines the scheme to encode the block being decoded.
  • the decoder determines the values of the pixels of the block being decoded from the previously decoded blocks indicated by the diagram and the quantization parameter calculated for the block (allowing the calculation of a residual).
  • the decoder decodes an intra block located in the zone C j or D j and where the encoding scheme of this block indicates previously decoded blocks which are blocks encoded in inter, then the decoder does not replace these blocks. previously decoded by generic blocks to decode the intra block.
  • the decoder decodes the encoded data representative of the block according to conventional methods, for example those conventionally used in the HEVC standard.
  • step S23.2 when the block being decoded is located in the intra-refresh area of the restored image IR j , the encoder has selected an intra encoding scheme.
  • the set of encoding schemes allowed is limited to intra encoding schemes.
  • a minimum number of bits to be able to allow to indicate all the index values (or several index values when each schema is represented by several indexes) of the set of encoding schemes allowed relative to the block of the intra-refresh zone being decoded is provided .
  • the previously configured decoder deduces all of the encoding schemes previously and on the basis of received schema index values, the decoder determines the encoding scheme to encode the block being decoded.
  • the decoder also reads the value of the delta Q.P block signaling and deduces therefrom the quantization parameter value (Q.P) of the block located in the intra-refresh zone according to the formula previously presented.
  • Q.P quantization parameter value
  • the introduction of a quantization parameter differential relative to the intra-refresh zone makes it possible to reduce the ranges of values necessary for the QP block delta signaling to represent the quantization parameter value of each block located in the intra-refresh area. Thus, the size of the binary sequence is reduced without losing information.
  • the decoder decodes a block located in the intra-refresh zone and where the encoding scheme of this block requires reference pixels from previously decoded blocks which are inter-encoded blocks, then the decoder replaces these pixels. previously decoded by generic pixels to decode the block located in the intra-refresh zone.
  • the decoder determines the values of the pixels of the block being decoded from the previously decoded blocks indicated by the diagram and the quantization parameter calculated for the block (allowing the calculation of a residual).
  • This particular decoding of the blocks of the intra-refresh zone is carried out without decoding information concerning the type of block.
  • the encoder does not indicate the block type, for the blocks located in the intra-refresh zone, so the part of the field reserved for this purpose is deleted in order to reduce the size of the data. encoded.
  • the decoder derives from the position signaling of the intra-refresh zone, the blocks of the intra-refresh zone which are blocks encoded intra.
  • step S24 the decoder passes to the next block and restarts steps S22 and S23, until decoding of all the blocks of the slot.
  • the encoder goes to the next slice by repeating the steps from step S21, until the slice containing the encoded data representative of the last block of the image is decoded.
  • FIG. 5 illustrates a video encoding device 11 and a video decoding device 21 according to one embodiment of the invention.
  • the video encoding device 11 comprises an integrated circuit 14 and a video image stream input 12 and a video bit stream output 13.
  • the integrated circuit comprises a database 15, a memory 16 and a processor.
  • the memory 16 is configured to store instructions in the form of a computer program whose execution by the processor 17 triggers the encoding of the video image stream, FIV, in video bit stream, FBV, by the integrated circuit 14 as previously described.
  • the database 15 is configured to store by block positioning torque and intra-refresh zone positioning, sets of block encoding schemes.
  • the video decoding device 21 comprises an integrated circuit 24 and a video bit stream input 22 and a video image stream output 23.
  • the integrated circuit 14 comprises a database 25, a memory 26 and a processor.
  • the memory 26 is configured to store instructions in the form of a computer program whose execution by the processor 27 triggers the decoding of the video bit stream, FBV, into video rendered image streams, FIRV, by the integrated circuit 24. as previously described.
  • the database 25 is configured to store by block positioning torque and intra-refresh zone positioning, sets of encoding schemes of block.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The invention relates to a method for encoding a video comprising a sequence of images cut up into elements, the method comprising: - determining a plurality of spatial zones; - pairing each spatial zone with a value of an index; - selecting an image among the sequence of images; - selecting a value of the index; - obtaining a video binary stream comprising: o encoded data representative of the value of the index; o encoded data representative of the image elements situated in the spatial zone paired with the value of the index and obtained on the basis of the elements of the image; o encoded data representative of the image elements situated outside of the spatial zone paired with the value of the index and obtained at least on the basis of an element of another image of the sequence of images.

Description

Procédé d'encodage et de décodage vidéo faible latence  Low latency video encoding and decoding method
La présente invention concerne le domaine de la compression vidéo et plus spécifiquement les encodeurs et décodeurs vidéo.  The present invention relates to the field of video compression and more specifically video encoders and decoders.
L'invention concerne notamment les protocoles de compression vidéo de faible latence et les encodeurs et décodeurs vidéo associés. Notamment, les protocoles intégrant les techniques dites « Intra Refresh », par exemple dans le standard HEVC. The invention particularly relates to low latency video compression protocols and associated video encoders and decoders. In particular, protocols incorporating techniques called "Intra Refresh", for example in the standard HEVC.
Dans les schémas de codage classique les images d'un flux vidéo à encoder sont considérées selon une séquence d'encodage. Chaque image est divisée en groupe de pixels (également dénommé, ci-dessous, élément de l'image) eux aussi traités séquentiellement, par exemple en commençant en haut à gauche et en finissant en bas à droite de chaque image. In conventional coding schemes the images of a video stream to be encoded are considered according to an encoding sequence. Each image is divided into groups of pixels (also called, below, element of the image) also processed sequentially, for example starting at the top left and ending at the bottom right of each image.
Ainsi, l'encodage d'une image du flux est effectué en divisant une matrice de pixels correspondant à l'image en plusieurs ensembles, par exemple des blocs de tailles fixes 16 x 16, 32 x 32 ou 64 x 64 pixels, et en encodant ces blocs de pixels selon une séquence de traitement donnée. Thus, the encoding of an image of the stream is performed by dividing a matrix of pixels corresponding to the image into several sets, for example blocks of fixed sizes 16 × 16, 32 × 32 or 64 × 64 pixels, and encoding these blocks of pixels according to a given processing sequence.
Le traitement (autrement appelé compression ou encore encodage) de données peut être réalisé selon deux types, le traitement dit « Intra », dans lequel le traitement est effectué sur des éléments d'une unique image, et d'autre part le traitement dit « Inter », dans lequel le traitement est effectué à partir d'images précédemment traitées. The processing (otherwise called compression or encoding) of data can be carried out according to two types, the so-called "Intra" processing, in which the processing is performed on elements of a single image, and on the other hand the so-called "processing". Inter ", wherein the treatment is performed from previously processed images.
Ainsi, l'encodage dit « Intra » d'un élément d'une image comprend une prédiction des pixels de l'élément effectuée uniquement à l'aide d'éléments de cette image précédemment encodés, auquel cas on parle de « prédiction Intra ». Dans le traitement dit « Inter », l'encodage d'un élément de l'image comprend une prédiction des pixels de l'élément effectuée à l'aide d'éléments issus d'images précédemment encodées, auquel cas on parle de « prédiction Inter ». Ces deux types d'encodage sont utilisés au sein de schémas de codage dits « hybrides », qui sont spécifiés dans les standards vidéo existants (MPEG2, H.264/AVC, HEVC, VP8, VP9, AVI) et sont décrits pour le codée HEVC (High Efficiency Video Coding) dans l'article intitulé « OverView of the High Efficiency Video Coding (HEVC) Standard », par Gary J. Sullivan et al., IEEE Transactions on Circuits and Systems for Video Technology, vol. 22, No. 12, Dec. 2012. Thus, the "Intra" encoding of an element of an image comprises a prediction of the pixels of the element made solely with the aid of elements of this previously encoded image, in which case we speak of "Intra prediction". . In the so-called "Inter" processing, the encoding of an element of the image comprises a prediction of the pixels of the element made using elements from previously encoded images, in which case we speak of "prediction Inter ". These two types of encoding are used within so-called "hybrid" coding schemes, which are specified in the existing video standards (MPEG2, H.264 / AVC, HEVC, VP8, VP9, AVI) and are described for HEVC coding (High Efficiency Video Coding) in the article entitled "OverVIEW of High Efficiency Video Coding (HEVC) Standard", by Gary J. Sullivan et al., IEEE Transactions on Circuits and Systems for Video Technology, vol. 22, No. 12, Dec. 2012.
Plus précisément, dans les standards HEVC et H.264/AVC les blocs sont décodés à l'aide d'informations, relatives à des blocs précédemment décodés soit provenant de la même image (prédiction Intra) soit provenant d'au moins une autre image (prédiction Inter), combinées à des résidus. Ces résidus sont encodés après une étape de transformation (par exemple une transformation en cosinus discrète, DCT) et de quantification. Cette étape de quantification est réalisée sur la base d'un paramètre de quantification (Q.P), associé à chaque bloc et signalé dans le flux binaire vidéo. Plus le Q.P est élevé moins la quantité d'information de résidus de pixels est élevée, la qualité de reconstruction est alors moins bonne. More precisely, in the HEVC and H.264 / AVC standards, the blocks are decoded using information relating to blocks previously decoded either from the same image (Intra prediction) or from at least one other image. (Inter prediction), combined with residues. These residues are encoded after a transformation step (eg a discrete cosine transform, DCT) and quantization. This quantization step is performed on the basis of a quantization parameter (Q.P) associated with each block and reported in the video bit stream. The higher the Q.P is, the lower the amount of pixel residue information, the poorer the reconstruction quality.
Dans le cadre d'un fonctionnement classique, à savoir non « intra-refresh », la première image, est codée uniquement à l'aide d'une prédiction spatiale, c'est-à- dire que chaque bloc de l'image est encodé uniquement sur la base des blocs présents dans la première image et plus précisément les blocs qui sont dans le voisinage du bloc en cours de traitement. Ces images seront nommées images Intra. In the context of a conventional operation, namely not "intra-refresh", the first image is coded only with the aid of a spatial prediction, that is to say that each block of the image is encoded only on the basis of the blocks present in the first image and more precisely the blocks which are in the vicinity of the block being processed. These images will be named Intra images.
Les images suivantes sont encodées en alternant des images encodées en utilisant une prédiction temporelle (prédiction Inter) et des images encodées en utilisant une prédiction spatiale. Par prédiction temporelle on entend que les blocs de l'image sont encodés en utilisant également des blocs appartenant à des images précédemment encodées. Les images encodées en utilisant une prédiction spatiale permettent notamment de réduire les erreurs persistantes dues à un codage temporel et de pouvoir démarrer le décodage du flux. On parle de rafraîchissement du flux vidéo. En effet, une erreur dans l'encodage ou le décodage d'un premier bloc sera transmise à tous blocs dont l'encodage ou le décodage utilise ce premier bloc. Sans image Intra, l'erreur peut se propager lors du décodage ou l'encodage des images suivantes. De plus, les images Intra permettent l'accès au flux c'est-à-dire le décodage du flux à un moment donné, par exemple lorsque le téléspectateur arrive sur une chaîne de télévision. The following images are encoded by alternating encoded images using temporal prediction (Inter prediction) and encoded images using spatial prediction. By temporal prediction is meant that the blocks of the image are encoded using also blocks belonging to previously encoded images. The images encoded using a spatial prediction notably make it possible to reduce the persistent errors due to a temporal coding and to be able to start the decoding of the stream. We talk about refreshing the video stream. Indeed, an error in the encoding or the decoding of a first block will be transmitted to all blocks whose encoding or decoding uses this first block. Without an Intra image, the error can propagate when decoding or encoding subsequent images. In addition, the Intra images allow access to the stream that is to say the decoding of the stream at a given moment, for example when the viewer arrives on a television channel.
Néanmoins, la quantité de bits résultant de l'encodage des images Intra est beaucoup plus importante que celle résultant de l'encodage des images Inter. Les images Intra représentent donc une quantité de bits significativement plus élevé que les images Inter. Les images Intra prennent alors un temps plus élevé de transmission qui peut s'étaler sur un temps correspondant à plusieurs images Inter. Ainsi, les images Intra de grande taille introduisent une latence importante. Nevertheless, the amount of bits resulting from the encoding of the Intra images is much larger than that resulting from the encoding of the Inter images. The Intra images therefore represent a significantly larger amount of bits than the Inter images. The Intra images then take a higher transmission time which can be spread over a time corresponding to several Inter images. Thus, large Intra images introduce significant latency.
Afin de réduire cette latence des techniques dites d'« Intra refresh » ont été développées. Ces techniques consistent à répartir le poids des images Intra sur plusieurs images. Ainsi, chaque image a alors une zone Intra, dont les blocs sont encodés uniquement sur la base de blocs appartenant à ladite image, nommée ci-après zone Intra-refresh, et une zone Inter, dont l'encodage des blocs utilise également une prédiction temporelle. Les zones Intra-refresh définies pour encoder la séquence d'image permettent après une certaine période de temps d'avoir « rafraîchit » l'intégralité de l'image vidéo, c'est-à-dire que pour tout pixel de la vidéo, au cours de cette période de temps, il y a une image de la séquence dont l'élément contenant ce pixel est encodé en Intra. In order to reduce this latency, so-called "Intra refresh" techniques have been developed. These techniques consist of spreading the weight of the Intra images over several images. Thus, each image then has an Intra zone whose blocks are encoded solely on the basis of blocks belonging to said image, hereinafter referred to as the Intra-refresh zone, and an Inter zone whose block encoding also uses a prediction. time. The Intra-refresh zones defined to encode the image sequence allow after a certain period of time to have "refreshed" the entire video image, that is to say that for every pixel of the video, during this period of time, there is an image of the sequence whose element containing this pixel is encoded in Intra.
La figure 1 décrit une telle technique d'encodage d'une séquence d'image. ZS, étant les zones Intra-refresh, nommées également ci-après zones spatiales. Les zones Dj étant les zones non encore rafraîchies au cours de la période de N images. Les zones étant les zones déjà rafraîchies au cours de cette période. On voit qu'à la fin de la période tous les pixels de l'image vidéo ont été rafraîchis. Les zones Q et D, peuvent contenir aussi bien des blocs dont l'encodage utilise une prédiction spatiale que des blocs dont l'encodage utilise une prédiction temporelle. Le rafraîchissement du flux vidéo se fait donc sur plusieurs images de la séquence. Ainsi, il est possible d'obtenir une taille uniforme des images encodées en appliquant un encodage avec des zones Intra-refresh de taille similaire pour chaque image. Figure 1 describes such a technique of encoding an image sequence. ZS, being the Intra-refresh zones, also referred to hereinafter as spatial zones. The zones D j being the areas not yet refreshed during the period of N images. The zones being the zones already refreshed during this period. We see that at the end of the period all the pixels of the video image have been refreshed. Zones Q and D may contain blocks whose encoding uses spatial prediction as well as blocks whose encoding uses temporal prediction. The refresh of the video stream is therefore done on several images of the sequence. Thus, it is possible to obtain a uniform size of the encoded images by applying encoding with Intra-refresh areas of similar size for each image.
Dans l'exemple de la figure 1 les zones Intra-refresh utilisées sont des colonnes, celles-ci se déplaçant de gauche à droite. Mais il est également possible d'utiliser des lignes ou toutes autres formes. In the example of FIG. 1, the Intra-refresh zones used are columns, these columns moving from left to right. But it is also possible to use lines or any other forms.
Bien que le gain en termes de latence soit conséquent, de tels procédés ne sont pas exempts de défauts. Although the gain in latency is substantial, such methods are not free from defects.
Les techniques d'« Intra refresh » présentent notamment le défaut d'augmenter significativement le volume de la signalisation, de complexifier le traitement, encodage et décodage, de la vidéo et de réduire la performance de la compression. The techniques of "Intra refresh" have the particular problem of significantly increasing the volume of the signaling, of complexifying the processing, encoding and decoding, of the video and of reducing the performance of the compression.
La présente invention vient améliorer la situation. The present invention improves the situation.
A cet effet, la présente invention propose un procédé d'encodage d'une vidéo, comprenant une séquence d'images, chaque image de la séquence d'images étant découpée en éléments, ledit procédé comprenant : For this purpose, the present invention proposes a method for encoding a video, comprising a sequence of images, each image of the image sequence being divided into elements, said method comprising:
La détermination de N zones spatiales
Figure imgf000006_0001
formant un recouvrement de chaque image, où N est un entier strictement supérieur à l;
The determination of N spatial zones
Figure imgf000006_0001
forming an overlap of each image, where N is an integer strictly greater than 1;
L'association respectivement des N zones spatiales avec N valeurs {nt)te|[i;ivi d'un index, de sorte qu'une i-ième valeur n, est associée avec une i-ième zone spatiale ZS,; The association of the N spatial areas respectively with N values { n t) te | [i; ivi of an index, so that an i-th value n, is associated with a i-th spatial zone ZS ,;
La sélection de N images,
Figure imgf000006_0002
de la séquence d'images;
The selection of N images,
Figure imgf000006_0002
the sequence of images;
L'obtention d'un flux binaire vidéo comprenant des séquences binaires ordonnées {SB ^.JVJ, de sorte que chaque séquence binaire SBj de rang j du flux binaire vidéo, comprend: o Des premières données encodées représentatives d'une j-ième valeur nj de l'index; o Des deuxièmes données encodées, représentatives des éléments d'une j-ième image lj situés dans une zone spatiale ZSj associée à la valeur nj de l'index, obtenues à partir des éléments de l'image lj Obtaining a video bit stream comprising ordered bit sequences {SB ^ .JVJ, so that each row SBj bit sequence j of the video bit stream, comprises: o First encoded data representative of a jth value n j of the index; o second encoded data representative of elements of a jth image I j located in a spatial area ZSJ associated with the value n j of the index, obtained from the picture elements s j
o Des troisièmes données encodées représentatives des éléments de la j-ième image lj situés en dehors de la zone spatiale ZSj associée à la j-ième valeur nj de l'index, obtenues au moins à partir d'un élément d'une autre image de la séquence d'images. o Third encoded data representative of the elements of the jth image I j located outside the spatial zone ZSj associated with the j-th value n j of the index, obtained at least from an element of a another image of the image sequence.
Un tel procédé permet de réduire la quantité de données encodées résultant de l'encodage des images d'une séquence d'images. Un tel procédé permet notamment de réduire la signalisation au niveau des éléments de l'image. En effet, chaque image encodée est associée à une valeur d'un index
Figure imgf000007_0001
Such a method makes it possible to reduce the amount of encoded data resulting from the encoding of images of a sequence of images. Such a method makes it possible in particular to reduce the signaling at the level of the elements of the image. Indeed, each encoded image is associated with a value of an index
Figure imgf000007_0001
Cette valeur de l'index correspond à un découpage en zones spatiales spécifiques de l'image. La valeur de l'index permet d'indiquer un ensemble d'éléments de l'image encodés à partir des autres éléments de cette même image. C'est-à-dire la zone Intra-refresh de l'image. De même, cette même valeur de l'index permet de déduire la zone Inter de l'image. Ainsi, les données de signalisation propres à chacun des éléments de l'image situés dans la zone Intra-refresh de celle-ci, n'ont plus besoin d'indiquer que l'élément est encodé en utilisant une prédiction spatiale. La quantité de données de signalisation à encoder, transmettre puis décoder est donc réduite. This value of the index corresponds to a division into specific spatial zones of the image. The value of the index makes it possible to indicate a set of elements of the image encoded from the other elements of this same image. That is, the Intra-refresh area of the image. Likewise, this same value of the index makes it possible to deduce the Inter zone of the image. Thus, the signaling data specific to each element of the image located in the Intra-refresh zone thereof, no longer need to indicate that the element is encoded using a spatial prediction. The amount of signaling data to be encoded, transmitted and then decoded is therefore reduced.
Un tel procédé permet au décodeur de déduire la zone Intra-refresh avant de décoder les données représentatives de chaque élément. En effet, en décodant la valeur de l'index, inclues dans les premières données, le décodeur peut déduire la disposition de la zone Intra-refresh avant de décoder les données représentatives de chaque élément. Ainsi, l'encodage et le décodage des données représentatives à chaque élément peuvent être réalisés en prenant en compte la position de cet élément au sein de l'image et du découpage induit par la zone Intra-refresh. Par exemple, les éléments de l'image qui sont situés à la fois dans la zone Intra-refresh et adjacents ou proches d'éléments situés en dehors de la zone Intra-refresh peuvent être encodés sur moins de bits. En effet, le décodeur sait déjà que certaines configurations sont impossibles, par exemple un tel élément situé dans la zone Intra-refresh ne peut pas être encodé sur la base d'élément encodé en Inter situé en dehors de la zone Intra-refresh. Such a method allows the decoder to deduce the Intra-refresh area before decoding the representative data of each element. By decoding the value of the index, included in the first data, the decoder can deduce the layout of the Intra-refresh zone before decoding the data. representative of each element. Thus, the encoding and decoding of the data representative of each element can be made by taking into account the position of this element within the image and the division induced by the Intra-refresh zone. For example, image elements that are both in the Intra-refresh region and adjacent or close to elements outside the Intra-refresh zone can be encoded on fewer bits. Indeed, the decoder already knows that certain configurations are impossible, for example such an element located in the Intra-refresh zone can not be encoded on the basis of element encoded in Inter located outside the Intra-refresh zone.
De plus, le décodeur peut par exemple décoder les éléments situés dans la zone Intra-refresh indépendamment des éléments situés en dehors de la zone Intra-refresh. En encodant (respectivement en décodant) en premier lieu les éléments (respectivement les données encodées représentatives des éléments) situés dans la zone Intra-refresh, il est possible d'encoder (respectivement de décoder) des éléments (respectivement des données encodées représentatives d'éléments) de l'image situés en dehors de la zone Intra-refresh à partir d'éléments (respectivement de données encodées représentatives d'éléments) situés dans la zone Intra-refresh quand bien même les éléments (respectivement les données encodées représentatives des éléments) situés en dehors de la zone Intra-refresh auraient, suivant la séquence de traitement, été encodés (respectivement décodés) avant les éléments (respectivement les données encodées représentatives des éléments) situés dans la zone Intra-refresh, et n'auraient ainsi pas pu être encodées (respectivement décodées) à partir des éléments (respectivement des données encodées représentatives des éléments) situés dans la zone Intra-refresh qui sont pourtant moins susceptibles de contenir des erreurs. In addition, the decoder can for example decode the elements located in the Intra-refresh zone independently of the elements located outside the Intra-refresh zone. By first encoding (respectively decoding) the elements (respectively the encoded data representative of the elements) located in the Intra-refresh zone, it is possible to encode (respectively decode) elements (respectively encoded data representative of elements) of the image located outside the Intra-refresh zone from elements (respectively of encoded data representative of elements) located in the Intra-refresh zone even if the elements (respectively the encoded data representative of the elements ) located outside the Intra-refresh zone would, according to the processing sequence, be encoded (respectively decoded) before the elements (respectively the encoded data representative of the elements) located in the Intra-refresh zone, and thus would not have could be encoded (respectively decoded) from the elements (respectively encoded data of the elements) located in the Intra-refresh zone that are less likely to contain errors.
Avantageusement les
Figure imgf000008_0001
peuvent représenter toutes informations permettant d'identifier ou de distinguer les zones spatiales. Le procédé comprend: La détermination de N zones spatiales
Figure imgf000009_0001
formant un recouvrement de chaque image, où N est un entier strictement supérieur à l;
Advantageously,
Figure imgf000008_0001
may represent any information that identifies or distinguishes spatial areas. The method comprises: The determination of N spatial zones
Figure imgf000009_0001
forming an overlap of each image, where N is an integer strictly greater than 1;
La sélection de N images,
Figure imgf000009_0002
de la séquence d'images; - L'obtention d'un flux binaire vidéo comprenant des séquences binaires ordonnées
Figure imgf000009_0003
de sorte que chaque séquence binaire SBj de rang j du flux binaire vidéo, comprend: o Des premières données encodées représentatives d'une information nj représentative de la j-ième zone spatiale; o Des deuxièmes données encodées, représentatives des éléments d'une j-ième image lj situés dans une zone spatiale ZSj associée à l'information nj représentative de la j-ième zone spatiale, obtenues à partir des éléments de l'image lj ; o Des troisièmes données encodées représentatives des éléments de la j-ième image lj situés en dehors de la zone spatiale ZSj associée à l'information nj représentative de la j-ième zone spatiale, obtenues au moins à partir d'un élément d'une autre image de la séquence d'images.
The selection of N images,
Figure imgf000009_0002
the sequence of images; Obtaining a video bit stream comprising ordered bitstreams
Figure imgf000009_0003
so that each binary sequence SBj of rank j of the video bit stream comprises: o First encoded data representative of information n j representative of the jth spatial area; o Second encoded data, representative of the elements of an ith image 1 j located in a spatial zone ZSj associated with the information n j representative of the j-th spatial zone, obtained from the elements of the image 1 j ; o Third encoded data representative of the elements of the jth image l j located outside the spatial zone ZSj associated with the information n j representative of the j-th spatial zone, obtained at least from a d element another image of the sequence of images.
Cette information nj représentative de la j-ième zone spatiale peut par exemple être une valeur d'un index comme précédemment expliqué ou encore plusieurs valeurs qui combinées permettent d'identifier une zone spatiale parmi les N zones spatiales. Dans la présente demande les valeurs d'index pourrons être respectivement remplacées par des informations
Figure imgf000009_0004
représentatives des j-ième zones spatiales.
This information n j representative of the j-th spatial area may for example be a value of an index as previously explained or several values which combined to identify a spatial area among the N spatial areas. In this application, the index values can be replaced by information
Figure imgf000009_0004
representative of the j-th spatial zones.
Avantageusement, les séquences binaires ordonnées peuvent être des séquences binaires successives. Par éléments de l'image on entend une unité de traitement dans un format de compression vidéo. Ces unités de traitement divisent ou découpent l'image en groupe de pixel, par exemple en blocs de tailles fixes de 16 x 16, 32 x 32 ou 64 x 64 pixels, qui peuvent eux-mêmes être divisées en sous blocs. Les formats qui font usage de ces éléments sont par exemple les formats JPEG, H.261, MPEG-1, H.262/MPEG-2, H.263, MPEG-4, H.264/MPEG-4 AVC et H.265/HEVC ou encore les formats VP8, VP9, AVI. Ces éléments de l'image sont communément appelés des macro-blocs (MB) ou dans le cas H.265/HEVC des « coding tree unit » (CTU). Advantageously, the ordered bit sequences may be successive binary sequences. By elements of the image is meant a processing unit in a video compression format. These processing units divide or cut the image into a pixel group, for example into fixed size blocks of 16 × 16, 32 × 32 or 64 × 64 pixels, which can themselves be divided into sub-blocks. The formats that make use of these elements are, for example, JPEG, H.261, MPEG-1, H.262 / MPEG-2, H.263, MPEG-4, H.264 / MPEG-4 AVC and H formats. 265 / HEVC or the VP8, VP9, AVI formats. These elements of the image are commonly called macroblocks (MB) or in the case H.265 / HEVC coding tree unit (CTU).
Par données encodées représentatives d'un ou plusieurs éléments il est entendu les données comprises dans une séquence binaire et donc dans le flux binaire vidéo qui sont obtenues par encodage du ou desdits éléments. Il s'agit des données relatives à un élément de l'image issu du traitement vidéo appliqué au flux vidéo. Ces données encodées comportent l'information sur la base de laquelle le décodeur décodera le flux vidéo encodé pour restituer l'élément de l'image. By encoded data representative of one or more elements it is understood the data included in a binary sequence and therefore in the video bit stream that are obtained by encoding the one or more elements. It is the data relating to an element of the image resulting from the video processing applied to the video stream. This encoded data comprises the information on the basis of which the decoder will decode the encoded video stream to render the element of the image.
Ces données encodées sont obtenues à partir de l'élément qu'elles représentent mais également d'autres éléments soit de l'image (prédiction Intra) soit de d'autres images du flux vidéo (prédiction Inter). These encoded data are obtained from the element they represent but also from other elements of the image (Intra prediction) or of other images of the video stream (Inter prediction).
Par flux binaire vidéo on entend le flux binaire résultant de l'encodage du flux vidéo. Par séquences binaires on entend la partie du flux binaire relatif à une image, c'est-à-dire comprenant les données encodées représentatives des éléments de cette image. By video bit stream is meant the bit stream resulting from the encoding of the video stream. By binary sequences is meant that part of the bit stream relating to an image, that is to say comprising the encoded data representative of the elements of this image.
Une séquence d'images est un flux vidéo. La sélection de N images n'est pas limitée à une sélection particulière, il peut s'agir d'une sélection des N premières images du flux vidéo, mais également de tout autre N images distinctes ou non parmi les images de la séquence. La sélection d'image dépend de la séquence d'encodage implémentée par le standard. Ainsi, certaines images pourront être encodées et décodées avant des images situées antérieurement dans le flux d'image vidéo. Une zone spatiale est définie pour l'ensemble des images de la séquence d'images, c'est-à-dire que pour chaque image, la zone spatiale définit des éléments qui sont situés dans cette zone spatiale et des éléments qui sont situés en dehors de cette zone spatiale. A sequence of images is a video stream. The selection of N images is not limited to a particular selection, it may be a selection of the first N frames of the video stream, but also of any other N distinct images or not among the images of the sequence. The image selection depends on the encoding sequence implemented by the standard. Thus, some images may be encoded and decoded before images previously located in the video image stream. A spatial zone is defined for all the images in the image sequence, ie for each image, the spatial zone defines elements that are located in this spatial zone and elements that are located in the spatial zone. outside this spatial area.
L'ensemble des zones spatiales ZS, forme un recouvrement de chaque image, c'est-à-dire que pour tout élément d'une image de la séquence d'image cet élément est situé dans au moins l'une des zones spatiales. The set of spatial zones ZS forms an overlap of each image, that is to say that for every element of an image of the image sequence this element is located in at least one of the spatial zones.
Les premières données encodées sont directement ou indirectement représentatives de la j-ième valeur nj de l'index. Ainsi, lorsque les premières données encodées sont directement représentatives de la j-ième valeur nj le décodage de ces données permet d'obtenir la valeur de l'index uniquement à partir des premières données encodées. Lorsque les premières données encodées sont indirectement représentatives de la j-ième valeur nj l'obtention de la valeur de l'index nécessite d'utiliser, en plus des premières données, d'autres données préalablement décodées. Ainsi, le décodage des premières données permet d'obtenir une information permettant de déduire la valeur de l'index. Par exemple, l'information indique une autre séquence binaire, la valeur de l'index de cette autre séquence binaire étant reprise pour la séquence binaire comportant l'information. The first encoded data is directly or indirectly representative of the jth value n j of the index. Thus, when the first encoded data is directly representative of the j-th value n j decoding these data provides the value of the index only from the first encoded data. When the first encoded data are indirectly representative of the jth value n j obtaining the value of the index requires using, in addition to the first data, other previously decoded data. Thus, the decoding of the first data makes it possible to obtain information making it possible to deduce the value of the index. For example, the information indicates another binary sequence, the value of the index of this other binary sequence being taken over for the binary sequence containing the information.
Avantageusement, les N zones spatiales forment une partition de chaque image. C'est-à-dire qu'un élément de l'image ne peut être situé que dans une seule zone spatiale. Cela permet de réduire le nombre d'éléments de l'image encodés en utilisant une prédiction spatiale (autrement dit encodés en Intra), et ainsi de réduire le volume des données encodées représentatives de ces éléments, ces données encodées étant particulièrement volumineuse rapporté au nombre d'éléments qu'elles représentent. Advantageously, the N spatial zones form a partition of each image. That is, an element of the image can only be located in one spatial area. This makes it possible to reduce the number of elements of the encoded image by using a spatial prediction (in other words encoded in Intra), and thus to reduce the volume of the encoded data representative of these elements, these encoded data being particularly large compared to the number of elements they represent.
Selon un mode de réalisation, les deuxièmes données encodées ne sont pas obtenues à partir d'éléments autres que ceux de l'image lj., autrement dit les deuxièmes données encodées sont obtenues entre autres à partir des données encodées représentatives d'éléments de l'image lj mais jamais à partir des données encodées représentatives d'éléments d'une autre image que lj. En effet, pour la j-ième image, les deuxièmes données encodées représentatives des éléments situés dans la j-ième zone spatiale sont encodées en Intra. According to one embodiment, the second encoded data are not obtained from elements other than those of the image 1j. second encoded data are obtained among others from the encoded data representative of image elements l j but never from the encoded data representative of elements of another image lj. Indeed, for the jth image, the second encoded data representative of the elements located in the jth spatial area are encoded in Intra.
Selon un mode de réalisation, les premières données encodées sont comprises dans une partie signalisation du flux binaire vidéo. Cela permet de simplifier le décodage de ces données, et d'effectuer par exemple le décodage de ces premières données avant tout décodage de données représentatives des éléments de l'image encodée en cours de décodage. According to one embodiment, the first encoded data are included in a signaling part of the video bit stream. This makes it possible to simplify the decoding of these data, and to perform, for example, the decoding of these first data before any decoding of data representative of the elements of the encoded image being decoded.
Selon un mode de réalisation, pour chaque séquence binaire SBj de rang j, les troisièmes données encodées comprennent des données encodées représentatives des éléments de la j-ième image lj situés dans une zone spatiale U {_1 ZSfe correspondant à l'union des zones spatiales respectivement associées aux j-1 premières valeurs
Figure imgf000012_0001
de l'index, lesdites données encodées représentatives des éléments de la j-ième image lj situés dans la zone spatiale U {_1 ZSfe ne sont pas obtenues à partir d'éléments autres que ceux des images lm situés respectivement dans des zones spatiales U ZSk, pour 1 < m < j < N.
According to one embodiment, for each binary sequence SB j of rank j, the third encoded data comprise encoded data representative of the elements of the jth image 1 j located in a spatial area U { _1 ZS fe corresponding to the union spatial zones respectively associated with the first j-1 values
Figure imgf000012_0001
of the index, said encoded data representative of the elements of the jth image 1 j located in the spatial area U { _1 ZS fe are not obtained from elements other than those of the images l m situated respectively in zones space U ZS k , for 1 <m <j <N.
Cela permet que les éléments de l'image de rang j situés dans des zones précédemment « rafraîchies » (éléments des images lm situés respectivement dans des zones spatiales U™ ZSk pour 1 < m < j < N), au cours de la période de N images, ne soient pas encodés puis décodés sur la base d'élément qui sont dans des zones non encore « rafraîchies » (éléments des images lm situés respectivement dans les zones spatiales des images lm complémentaires à pour 1 < m < j < N), au cour de la période de N images. Cela évite la propagation des erreurs de décodage des éléments situés dans la zone non encore « rafraîchie » au décodage d'éléments situés dans la zone « rafraîchie ». En particulier, l'encodage d'un élément de l'image lj situé dans la zone spatiale u{ 1 ZSk ne peut être réalisé par prédiction temporelle à partir d'un élément situé dans la zone non encore « rafraîchie ». This allows the elements of the rank image j located in previously "refreshed" areas (elements of the images l m located respectively in U ™ ZS k spatial zones for 1 <m <j <N), during the period of N images, are not encoded then decoded on the basis of element that are in areas not yet "refreshed" (elements of the images l m located respectively in the spatial areas of the images l m complementary to for 1 <m < j <N), during the period of N images. This avoids the propagation of decoding errors of the elements located in the zone not yet "refreshed" to the decoding of elements situated in the "refreshed" zone. In particular, the encoding of an element of the image l j located in the spatial zone u { 1 ZS k can not be realized by temporal prediction from an element located in the zone not yet "refreshed".
Les données encodées représentatives des éléments de la j-ième image lj situés dans la zone spatiale U{-1 ZSk sont obtenues à partir des éléments des images lm situés respectivement dans des zones spatiales U ri ZSk et jamais à partir des éléments des images lm situés en dehors respectivement des zones spatiales U™ ZSk pour 1 < m < j < N The encoded data representative of the elements of the jth image 1 j located in the spatial zone U { -1 ZS k are obtained from the elements of the images l m respectively located in spatial zones U r i ZS k and never from elements of the images l m located respectively outside the spatial zones U ™ ZS k for 1 <m <j <N
Selon un mode de réalisation, pour chaque séquence binaire SBj de rang j, le nombre de bits dans le flux binaire réservés aux données encodées représentatives d'un élément de l'image lj situé dans la zone spatiale U{_1 ZSk est adapté aux dimensions de la zone spatiale U{_1 ZSk. According to one embodiment, for each binary sequence SB j of rank j, the number of bits in the bitstream reserved for the encoded data representative of an element of the image 1 j located in the spatial zone U { _1 ZS k is adapted to the dimensions of the spatial zone U { _1 ZS k .
Le décodeur connaît préalablement au décodage des données propres à chaque élément d'une image la position de la zone Intra-refresh. De plus, les éléments de l'image de rang j (lj) situés dans la zone spatiale U{-1 ZSk ne peuvent être encodés qu'à partir d'éléments situés dans une zone « rafraîchie ». Les zones « rafraîchies » sont également connues du décodeur, puisque celles-ci sont définies par l'ensemble des valeurs (hί)ίEΐi,· préalablement décodées. Ainsi, le nombre d'éléments à partir desquelles l'encodage d'un élément de la zone spatiale U{-1 ZSk peut-être obtenu est d'autant plus faible que la zone U {_1 ZSfe est petite (et donc que les zones « rafraîchies » sont petites). Ainsi, le nombre de bits réservés aux données encodées représentatives d'un élément d'une zone « rafraîchie » peut être adapté à la taille de la zone U{_1 ZSk. The decoder prior to decoding the data specific to each element of an image the position of the Intra-refresh zone. In addition, the elements of the rank image j (l j ) located in the spatial area U { -1 ZS k can only be encoded from elements located in a "refreshed" zone. The "refreshed" zones are also known to the decoder, since these are defined by the set of values (h ί ) ίE ΐi , · previously decoded. Thus, the number of elements from which the encoding of an element of the spatial zone U { -1 ZS k can be obtained is even lower than the area U { _1 ZS fe is small (and therefore that "refreshed" areas are small). Thus, the number of bits reserved for the encoded data representative of an element of a "refreshed" zone can be adapted to the size of the zone U { _1 ZS k .
Par nombre de bits dans le flux binaire réservés aux données encodées représentatives d'un élément, on entend le nombre de bits maximum qui peuvent être utilisés dans le flux binaire pour les données encodées représentatives de cet élément. By number of bits in the bitstream reserved for the encoded data representative of an element, is meant the maximum number of bits that can be used in the bitstream for the encoded data representative of this element.
Avantageusement, pour chaque séquence binaire SBj de rang j, le nombre de bits dans le flux binaire réservés aux données encodées représentatives d'un élément de l'image lj situés dans la zone spatiale U{-1 ZSk est adapté à la position de cet élément dans la zone spatiale U{-1 ZSk. Advantageously, for each binary sequence SB j of rank j, the number of bits in the bitstream reserved for the encoded data representative of an element of the image l j located in the spatial zone U { -1 ZS k is adapted to the position of this element in the spatial zone U { -1 ZS k .
Le nombre d'éléments à partir desquelles les données encodées représentatives d'un élément situé dans la zone spatiale U{-1 ZSk peuvent être obtenues dépend également de la position de cet élément au sein de cette zone. En effet, puisque l'encodage d'un tel élément ne peut être obtenu à partir des éléments d'images précédemment encodées lm (1 < m < j) situés respectivement en dehors des zones spatiale U ZSk, plus l'élément de l'image lj est situé en dehors d'un nombre important de zones U r L ZSk et moins il est possible d'encoder cet élément à partir d'éléments encodés en utilisant une prédiction temporelle. Comme précédemment exposé, plus le nombre d'éléments à partir desquelles un élément peut être encodé est restreint et plus le nombre de bits réservés aux données encodées représentatives d'un tel élément peut être restreint. La position est donc relative aux zones intra-refresh qui sont signalées en amont des données encodées représentatives de chaque élément de l'image. The number of elements from which the encoded data representative of an element located in the spatial area U { -1 ZS k can be obtained also depends on the position of this element within this zone. Indeed, since the encoding of such an element can not be obtained from previously encoded image elements l m (1 <m <j) located respectively outside the spatial areas U ZS k , plus the element of the image l j is located outside a large number of zones U r L ZS k and less it is possible to encode this element from encoded elements using a temporal prediction. As previously stated, the more the number of elements from which an element can be encoded is restricted and the number of bits reserved for the encoded data representative of such an element can be restricted. The position is therefore relative to the intra-refresh zones which are indicated upstream of the encoded data representative of each element of the image.
Selon un mode de réalisation, pour chaque séquence binaire SBj de rang j, le nombre de bits dans le flux binaire réservés aux données encodées représentatives d'un élément de l'image lj situé dans la zone spatiale ZSj associée à la valeur nj est adapté à la position de cet élément dans ZSj. According to one embodiment, for each binary sequence SB j of rank j, the number of bits in the bitstream reserved for the encoded data representative of an element of the image l j located in the spatial zone ZSj associated with the value nj is adapted to the position of this element in ZSj.
Cela permet de réduire le nombre de bits dans le flux binaire utilisés par les données encodées représentatives des éléments de la zone Intra-refresh de chaque image. En effet, les éléments de l'image de rang j (lj) situés dans la zone Intra-refresh (ZSj) ne peuvent être encodés qu'à partir d'éléments situés dans cette même zone Intra-refresh. Or, le décodeur connaît préalablement au décodage des données représentatives de chaque élément de l'image lj la position de la zone Intra-refresh. Ainsi, en fonction de la position de l'élément à décoder dans la zone Intra-refresh, il est possible d'adapter le nombre de bits réservés pour prendre en compte toutes les possibilités d'encodage de cet élément. Par exemple, si l'on est dans le cas où l'encodage de chaque élément de la zone Intra-refresh se fait uniquement à partir des éléments de la même zone Intra-refresh qui lui sont contiguës, alors le nombre d'éléments à partir desquels il est possible d'encoder un élément de la zone Intra-refresh contiguë avec un élément situé en dehors de la zone Intra-refresh est d'autant plus réduit. On peut donc réserver, au résultat de l'encodage d'un tel élément, un nombre plus faible de bits. This makes it possible to reduce the number of bits in the bitstream used by the encoded data representative of the elements of the Intra-refresh zone of each image. Indeed, the elements of the rank image j (l j ) located in the Intra-refresh (ZSj) zone can only be encoded from elements located in the same Intra-refresh zone. However, the decoder prior to decoding data representative of each element of the image I j the position of the Intra-refresh zone. Thus, depending on the position of the element to be decoded in the Intra-refresh zone, it is possible to adapt the number of bits. reserved to take into account all the possibilities of encoding this element. For example, if we are in the case where the encoding of each element of the Intra-refresh zone is done only from the elements of the same Intra-refresh zone which are contiguous to it, then the number of elements to from which it is possible to encode an element of the Intra-refresh zone contiguous with an element located outside the Intra-refresh zone is further reduced. We can therefore reserve, to the result of the encoding of such an element, a smaller number of bits.
Selon un mode de réalisation, pour chaque séquence binaire SBj de rang j, la séquence binaire SBj comprend : des données relatives à un paramètre de quantification relatif à l'image lj According to one embodiment, for each SBj bit sequence of rank j, the binary sequence SBj includes: data relating to a quantization parameter relating to the image I j
des données relatives à un paramètre de quantification relatif à la zone spatiale ZSj associée à la valeur nj de l'index ; - des données relatives à des paramètres de quantification, de sorte que chacun desdits paramètres est relatif respectivement à un des éléments de l'image. data relating to a quantization parameter relating to the spatial zone ZSj associated with the value nj of the index; data relating to quantization parameters, so that each of said parameters is respectively relative to one of the elements of the image.
L'introduction d'un paramètre de quantification relatif à la zone intra-refresh (plus précisément un différentiel de paramètre de quantification de la zone intra- refresh) permet de réduire le nombre de bits nécessaires pour indiquer les paramètres de quantification relatifs aux éléments de l'image situés dans la zone intra-refresh. Ainsi, la taille de la séquence binaire est réduite sans pour autant perdre d'information. The introduction of a quantization parameter relating to the intra-refresh zone (more precisely a quantization parameter differential of the intra-refresh zone) makes it possible to reduce the number of bits necessary to indicate the quantization parameters relating to the elements of the intra-refresh zone. the image located in the intra-refresh area. Thus, the size of the binary sequence is reduced without losing information.
Un deuxième aspect de l'invention concerne un procédé de décodage d'un flux binaire vidéo, le flux binaire vidéo étant obtenu selon l'une des revendications précédentes, ledit procédé comprenant pour chaque séquence binaire SBj de rang j: La détermination de la zone spatiale ZSj associée à la valeur nj de l'index à partir du décodage des premières données encodées; A second aspect of the invention relates to a method for decoding a video bit stream, the video bit stream being obtained according to one of the preceding claims, said method comprising for each binary sequence SBj of rank j: Determining the spatial zone ZS j associated with the value n j of the index from the decoding of the first encoded data;
La détermination des éléments d'une image restituée IRj situés dans la zone spatiale ZSj associée à la valeur nj de l'index, à partir d'éléments de l'image restituée IRj et du décodage des deuxièmes données encodées;Determining the elements of a restored image IR j located in the spatial zone ZS j associated with the value n j of the index, from elements of the restored image IR j and the decoding of the second encoded data;
La détermination des éléments de l'image restituée IRj situés en dehors de la zone spatiale ZSj associée à la valeur nj de l'index d'image, à partir du décodage des troisièmes données encodées et d'au moins un élément d'une autre image restituée IR. Determining the elements of the IR rendered image j located outside the spatial zone ZS j associated with the value n j of the image index, from the decoding of the third encoded data and at least one element of another image rendered IR.
Cela permet au décodeur d'être informé en amont des éléments situés dans la zone Intra-refresh de l'image à décoder avant le décodage des données encodées propres aux éléments de cette image. This allows the decoder to be informed upstream of the elements located in the Intra-refresh zone of the image to be decoded before decoding the encoded data specific to the elements of this image.
Comme précédemment mentionné, en décodant la valeur de l'index, inclue dans les premières données, le décodeur peut déduire la disposition de la zone Intra-refresh avant de décoder les données représentatives de chaque élément. Ainsi, l'encodage et le décodage des données représentatives de chaque élément peuvent être réalisés en prenant en compte la position de cet élément au sein de l'image et du découpage induit par la zone Intra-refresh. Par exemple, les éléments de l'image qui sont situés dans la zone Intra-refresh et adjacents ou proches d'éléments situés en dehors de la zone Intra-refresh peuvent être encodés sur moins de bits. En effet, le décodeur sait déjà que certaines configurations sont impossibles, par exemple un tel élément situé dans la zone Intra-refresh ne peut pas être encodé sur la base d'élément situé en dehors de la zone Intra-refresh, donc le décodeur peut par exemple décoder les éléments situés dans la zone Intra-refresh indépendamment des éléments situés en dehors de la zone Intra-refresh. As previously mentioned, by decoding the value of the index, included in the first data, the decoder can deduce the layout of the Intra-refresh zone before decoding the data representative of each element. Thus, the encoding and decoding of the representative data of each element can be made by taking into account the position of this element within the image and the division induced by the Intra-refresh zone. For example, image elements that are located in the Intra-refresh area and adjacent or close to elements outside the Intra-refresh area can be encoded on fewer bits. Indeed, the decoder already knows that certain configurations are impossible, for example such an element located in the Intra-refresh zone can not be encoded on the element base located outside the Intra-refresh zone, so the decoder can for example, to decode the elements located in the Intra-refresh zone independently of the elements located outside the Intra-refresh zone.
Cela peut notamment permettre de vérifier voir de corriger certaines erreurs. Par exemple, si un élément de l'image restituée de rang j situé dans la zone Intra- refresh associée à la valeur nj est obtenu en décodant des données encodées représentatives d'au moins un élément situé en dehors de la zone Intra-refresh de l'image de rang j alors le décodeur est en mesure de détecter la présence de cette erreur. This can in particular make it possible to check or correct certain errors. For example, if an element of the rendered image of rank j located in the Intra-refresh zone associated with the value n j is obtained by decoding encoded data representative of at least one element located outside the Intra-refresh zone of the rank image j then the decoder is able to detect the presence of this error.
La détermination des éléments situés dans la zone spatiale ZSj est faite à partir du décodage des deuxièmes données encodées et d'élément de l'image restituée IRj. Elle peut notamment être obtenue à partir d'éléments situés en dehors de la zone spatiale ZSj. The determination of the elements located in the spatial zone ZS j is made from the decoding of the second encoded data and the element of the restored image IR j . It can in particular be obtained from elements located outside the space zone ZS j .
Avantageusement, la détermination des éléments d'une image restituée IRj situés dans la zone spatiale ZSj associée à la valeur nj de l'index, n'est pas faite à partir d'éléments autres que ceux de l'image lj. Advantageously, the determination of the elements of a restored image IR j located in the spatial area ZS j associated with the value n j of the index, is not made from elements other than the image I j .
Par image restituée de rang j on entend l'image décodée par le décodeur en utilisant les premières, deuxièmes et troisièmes données encodées comprises dans la séquence binaire SB de rang j, c'est-à-dire la séquence binaire correspondant à l'image de rang j parmi la sélection d'images. Autrement dit l'image restituée de rang j est l'image décodée obtenue par décodage des données encodées représentatives des éléments de l'image de la séquence d'images de rang j. By rendered image of rank j is meant the image decoded by the decoder by using the first, second and third encoded data included in the binary sequence SB of rank j, that is to say the binary sequence corresponding to the image of rank j among the image selection. In other words, the restored image of rank j is the decoded image obtained by decoding the encoded data representative of the elements of the image of the sequence of images of rank j.
La détermination d'un élément d'une image restituée IRj n'est pas faite à partir d'éléments des autres images restituées The determination of an element of a restored image IR j is not made from elements of the other restored images
L'élément d'une image restituée correspondant à un élément d'une image (ou plus simplement l'élément correspondant à un élément d'une image de la séquence) est un élément situé à la même position que l'élément de l'image. L'image restituée étant de rang identique à celle de l'image parmi la sélection d'image. Par la suite les éléments d'une image et leurs éléments correspondant pourront ne pas être distingués. The element of a rendered image corresponding to an element of an image (or more simply the element corresponding to an element of an image of the sequence) is an element situated at the same position as the element of the picture. The rendered image being of identical rank to that of the image among the image selection. Subsequently the elements of an image and their corresponding elements may not be distinguished.
Par données génériques (aussi appelées élément générique ou encore données par défaut) il est entendu des données utilisées pour décoder des données encodées représentatives d'un élément de l'image situé dans la zone Intra-refresh. Ces données génériques sont notamment utilisées lorsque le voisinage de l'élément n'existe pas si l'élément se trouve au bord de l'image notamment. Ou bien lorsqu'un mode spécifique interdisant d'utiliser les éléments utilisant une prédiction temporelle est activé et que le voisinage de l'élément en cours d'encodage est constitué d'éléments Inter. By generic data (also called generic element or default data) is understood data used to decode encoded data representative of an element of the image located in the Intra-refresh area. These generic data are used in particular when the neighborhood of the element does not exist if the element is at the edge of the image in particular. Or when a specific mode prohibiting the use of the elements using a temporal prediction is activated and that the neighborhood of the element being encoded consists of elements Inter.
Avantageusement, la détermination des éléments d'une image restituée I Rj situés dans la zone spatiale ZSj associée à la valeur nj de l'index: Advantageously, the determination of the elements of a restored image I Rj located in the spatial zone ZSj associated with the value nj of the index:
est faite à partir du décodage des deuxièmes données encodées et/ou d'éléments de l'image restituée I Rj ; et  is made from the decoding of the second encoded data and / or elements of the restored image I Rj; and
n'est pas faite à partir d'éléments de l'image restituée I Rj situés en dehors de la zone spatiale ZSj.  is not made from elements of the rendered image I Rj located outside the spatial zone ZSj.
En d'autre terme la détermination des éléments d'une image restituée I Rj situés dans la zone spatiale ZSj associée à la valeur nj de l'index, est faite uniquement à partir du décodage des deuxièmes données encodées et/ou d'éléments de l'image restituée I Rj. In other words the determination of the elements of a restored image I Rj located in the spatial zone ZSj associated with the value nj of the index, is made only from the decoding of the second encoded data and / or elements of the restored image I Rj.
Par détermination des éléments de l'image restituée de rang j on entend l'obtention des valeurs des pixels de l'élément de l'image restituée de rang j.  By determining the elements of the rendered image of rank j is meant obtaining pixel values of the element of the restored image of rank j.
Selon un mode de réalisation, pour chaque séquence binaire SBj de rang j, si les deuxièmes et troisièmes données encodées comprennent des données encodées représentatives d'un premier élément E de l'image lj obtenues uniquement à partir d'éléments de ladite image lj et que les données représentatives d'au moins un deuxième élément E' parmi lesdits éléments de l'image lj sont obtenues au moins à partir d'un élément d'une autre image I de la séquence d'images, According to one embodiment, for each binary sequence SBj of rank j, if the second and third encoded data comprise encoded data representative of a first element E of the image 1 j obtained solely from elements of said image 1 j and the data representative of at least one second element E 'of said picture elements s j are obtained at least from a component of another image I of the sequence of images,
alors la détermination d'un élément de l'image restituée I Rj correspondant au premier élément E est obtenu à partir : du décodage des données encodées représentatives du premier élément E ; then the determination of an element of the restored image I Rj corresponding to the first element E is obtained from: decoding the encoded data representative of the first element E;
d'au moins l'élément de l'image restituée I Rj correspondant au deuxième l'élément E', si le premier élément E est situé en dehors de la zone spatiale ZSj associée à la valeur nj de l'index;  at least the element of the restored image I Rj corresponding to the second element E ', if the first element E is located outside the spatial zone ZSj associated with the value nj of the index;
des éléments de l'image restituée I Rj correspondant aux dits éléments de l'image lj en remplaçant l'élément de l'image I Rj correspondant au deuxième élément E' par un élément générique, si le premier élément E est situé dans la zone spatiale ZSj associée à la valeur nj de l'index. elements of the rendered image I Rj corresponding to said elements of the image I j by replacing the element of the image I Rj corresponding to the second element E 'by a generic element, if the first element E is situated in the spatial zone ZSj associated with the value nj of the index.
« Lesdits éléments » sont ceux à partir desquels ont été obtenues les données représentatives du premier élément. "The said elements" are those from which the data representative of the first element were obtained.
Cela permet d'éviter de propager une erreur de décodage de l'élément de l'image restituée I Rj correspondant au deuxième élément au décodage d'un élément de la zone Intra-refresh. En d'autre terme les éléments de l'image restituée I Rj situés dans la zone Intra-refresh de rang j ne sont obtenus qu'à partir d'éléments correspondant à des éléments de l'image lj eux-mêmes encodés en Intra. De plus, seuls les éléments de la zone Intra-refresh de l'image restituée sont déterminés de cette manière. Les éléments de l'image restituée I Rj situés en dehors de la zone Intra-refresh peuvent être obtenu à partir d'éléments de l'image I Rj correspondant à des éléments de l'image lj qui ne sont pas encodées en intra mais en inter, c'est-à-dire en utilisant une prédiction temporelle. Cela permet d'éviter un encodage et décodage trop coûteux en ressource et temps de calcul du fait du remplacement des éléments encodés en inter par des éléments génériques. This makes it possible to avoid propagating a decoding error of the element of the rendered image I Rj corresponding to the second element to the decoding of an element of the Intra-refresh zone. In other words the elements of the image I returned Rj located in the Intra-refresh rank zone j are obtained only from elements corresponding to the image elements of the j themselves encoded in Intra . In addition, only the elements of the Intra-refresh area of the rendered image are determined in this manner. The elements of the rendered image I Rj located outside the Intra-refresh zone can be obtained from elements of the image I Rj corresponding to elements of the image I j which are not encoded intra but in inter, that is to say using a temporal prediction. This makes it possible to avoid encoding and decoding which is too expensive in terms of resource and calculation time because of the replacement of the elements encoded in inter by generic elements.
Un troisième aspect de l'invention concerne un procédé d'encodage d'une vidéo comprenant une séquence d'images, chaque image de la séquence d'images étant découpée en éléments, ledit procédé comprenant : La détermination d'une pluralité de zones spatiales formant un recouvrement de chaque image; A third aspect of the invention relates to a method of encoding a video comprising a sequence of images, each image of the image sequence being divided into elements, said method comprising: Determining a plurality of spatial areas forming an overlap of each image;
L'association respectivement des zones spatiales de la pluralité de zones spatiales avec des valeurs d'un index;  Associating respectively the spatial zones of the plurality of spatial zones with values of an index;
La sélection d'une image de la séquence d'images ;  Selecting an image of the image sequence;
La sélection d'une valeur de l'index ;  Selecting a value from the index
L'obtention d'un flux binaire vidéo comprenant :  Obtaining a video bit stream comprising:
o Des données encodées représentatives de la valeur de l'index; o Des données encodées représentatives des éléments de l'image situés dans la zone spatiale associée à la valeur de l'index, obtenues à partir des éléments de l'image ;  o Encoded data representative of the value of the index; o Encoded data representative of the elements of the image located in the spatial zone associated with the value of the index, obtained from the elements of the image;
o Des données encodées représentatives des éléments de l'image situés en dehors de la zone spatiale associée à la valeur de l'index, obtenues au moins à partir d'un élément d'une autre image de la séquence d'images.  o Encoded data representative of the elements of the image located outside the spatial zone associated with the value of the index, obtained at least from an element of another image of the image sequence.
Un quatrième aspect de l'invention concerne un programme informatique comportant des instructions pour la mise en œuvre de tout ou partie du procédé décrit ci-avant, lorsque ce programme est exécuté par un processeur. Ce programme peut utiliser n'importe quel langage de programmation (par exemple, un langage objet ou autre), et être sous la forme d'un code source interprétable, d'un code partiellement compilé ou d'un code totalement compilé. A fourth aspect of the invention relates to a computer program comprising instructions for implementing all or part of the method described above, when this program is executed by a processor. This program can use any programming language (for example, an object language or other), and be in the form of an interpretable source code, a partially compiled code or a fully compiled code.
Les figures 3 et 4 décrites en détails ci-après, peuvent former l'organigramme de l'algorithme général d'un tel programme informatique. Figures 3 and 4 described in detail below, can form the flow chart of the general algorithm of such a computer program.
Un cinquième aspect de l'invention concerne un dispositif d'encodage d'une vidéo, la dite vidéo comprenant une séquence d'images, chaque image de la séquence d'images étant découpée en éléments, le dispositif comprenant: un processeur; et A fifth aspect of the invention relates to a device for encoding a video, said video comprising a sequence of images, each image of the image sequence being divided into elements, the device comprising: a processor; and
un support informatique non-transitoire comprenant des instructions qui lorsqu'elles sont exécutées par le processeur configure le dispositif pour: a non-transitory computer medium including instructions that when executed by the processor configures the device to:
déterminer N zones spatiales
Figure imgf000021_0001
formant un recouvrement de chaque image, où N est un entier strictement supérieur à 1;
determine N spatial zones
Figure imgf000021_0001
forming an overlap of each image, where N is an integer strictly greater than 1;
associer respectivement les N zones spatiales avec N valeurs
Figure imgf000021_0002
d'un index, de sorte qu'une i-ième valeur n, est associée avec une i-ième zone spatiale ZS,;
associate respectively the N spatial zones with N values
Figure imgf000021_0002
an index, so that an i-th value n, is associated with a i-th spatial zone ZS ,;
sélectionner N images,
Figure imgf000021_0003
de la séquence d'images ;
select N images,
Figure imgf000021_0003
the sequence of images;
obtenir un flux binaire vidéo comprenant des séquences binaires ordonnées
Figure imgf000021_0004
de sorte que chaque séquence binaire SBj de rang j du flux binaire vidéo, comprenne:
to obtain a video bit stream comprising ordered bit sequences
Figure imgf000021_0004
so that each binary sequence SBj of rank j of the video bit stream comprises:
o Des premières données encodées représentatives d'une j-ième valeur nj de l'index; o First encoded data representative of a j-th value n j of the index;
o Des deuxièmes données encodées, représentatives des éléments d'une j-ième image lj situés dans une zone spatiale ZSj associée à la valeur nj de l'index, obtenues à partir des éléments de l'image lj o Des troisièmes données encodées représentatives des éléments de la j-ième image lj situés en dehors de la zone spatiale ZSj associée à la j-ième valeur nj de l'index, obtenues au moins à partir d'un élément d'une autre image de la séquence d'images. o Second encoded data, representative of the elements of an ith image 1 j located in a spatial zone ZSj associated with the value n j of the index, obtained from the elements of the image 1 j o Third data encoded representative of the elements of the jth image l j located outside the spatial zone ZSj associated with the j-th value n j of the index, obtained at least from an element of another image of the sequence of images.
Un sixième aspect de l'invention concerne un dispositif de décodage d'un flux binaire vidéo, le flux binaire vidéo étant obtenu selon l'une des revendications 1 à 7 précédentes, le dispositif comprenant : A sixth aspect of the invention relates to a device for decoding a video bit stream, the video bit stream being obtained according to one of the preceding claims 1 to 7, the device comprising:
un processeur; et a processor; and
un support informatique non-transitoire comprenant des instructions qui lorsqu'elles sont exécutées par le processeur configure le dispositif pour que, pour chaque séquence binaire SBj de rang j, le dispositif: détermine la zone spatiale ZSj associée à la valeur nj de l'index à partir du décodage des premières données encodées; a non-transitory computer medium comprising instructions that when executed by the processor configures the device so that, for each bit sequence SBj of rank j, the device: determines the spatial zone ZS j associated with the value n j of the index from the decoding of the first encoded data;
détermine des éléments d'une image restituée IRj situés dans la zone spatiale ZSj associée à la valeur nj de l'index, à partir du décodage des deuxièmes données encodées et/ou de données génériques; determines elements of a restored image IR j located in the spatial zone ZS j associated with the value n j of the index, from the decoding of the second encoded data and / or generic data;
détermine des éléments de l'image restituée IRj situés en dehors de la zone spatiale ZSj associée à la valeur nj de l'index d'image, à partir du décodage des troisièmes données encodées et d'au moins un élément d'une autre image restituée IR. determines elements of the rendered image IR j located outside the spatial zone ZS j associated with the value n j of the image index, from the decoding of the third encoded data and at least one element of another image rendered IR.
D'autres caractéristiques et avantages de l'invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels : Other features and advantages of the invention will become apparent on reading the description which follows. This is purely illustrative and should be read in conjunction with the attached drawings in which:
- la figure 1 illustre le traitement d'une séquence d'images dans le cadre d'un encodage de type Intra-refresh ; FIG. 1 illustrates the processing of a sequence of images within the framework of an Intra-refresh type encoding;
- la figure 2 illustre la structure d'une séquence binaire selon un mode de réalisation de l'invention ; FIG. 2 illustrates the structure of a binary sequence according to one embodiment of the invention;
- la figure 3 illustre les étapes de l'encodage selon un mode de réalisation de l'invention ; FIG. 3 illustrates the steps of the encoding according to one embodiment of the invention;
- la figure 4 illustre les étapes de décodage selon un mode de réalisation de l'invention ; FIG. 4 illustrates the decoding steps according to one embodiment of the invention;
- la figure 5 illustre un dispositif d'encodage vidéo et un dispositif de décodage vidéo selon un mode de réalisation de l'invention. FIG. 5 illustrates a video encoding device and a video decoding device according to one embodiment of the invention.
La figure 1 illustre le traitement d'une séquence d'images dans le cadre d'un encodage de type Intra-refresh. FIG. 1 illustrates the processing of a sequence of images in the context of an Intra-refresh type encoding.
Dans l'exposé de l'invention la séquence d'images est confondue avec les N images de la sélection d'images. Autrement dit à des fins de concision de l'exposé de l'invention la sélection d'images correspond à la sélection ordonnée des N premières images d'une séquence de N images. In the disclosure of the invention the sequence of images is confused with the N images of the image selection. In other words, for the purpose of brevity of the disclosure of the invention, the selection of images corresponds to the ordered selection N first images of a sequence of N images.
Une séquence de N images li, l2,..., IN est extraite d'un flux vidéo. Chacune de ces images est divisée en blocs, E, de taille fixe, appelés macro-blocs, blocs CTU ou encore éléments, par exemple des blocs de 16 x 16, 32 x 32,64 x 64, 128 xl28 ou 256x256 pixels. Les blocs ne sont représentés que dans l'image li et l2, mais la structure des autres images est identique. Ces blocs sont plus généralement des unités de traitement qui peuvent être de formes et/ou de dimensions variables suivant les protocoles de traitement choisis. Les blocs recouvrent ainsi chacune des images. A sequence of N images li, l 2 , ..., I N is extracted from a video stream. Each of these images is divided into blocks, E, of fixed size, called macro-blocks, CTU blocks or elements, for example 16 × 16, 32 × 32.64 × 64, 128 × 128 or 256 × 256 pixels blocks. The blocks are only represented in image li and l 2 , but the structure of the other images is identical. These blocks are more generally treatment units that can be of varying shapes and / or sizes depending on the treatment protocols chosen. The blocks thus cover each of the images.
Ces images sont encodées les unes après les autres suivant la séquence d'encodage exposée, à savoir que l'image de rang 1 est encodée, puis l'image de rang 2 et ainsi de suite jusqu'à l'image de rang N. These images are encoded one after the other according to the encoding sequence exposed, namely that the rank 1 image is encoded, then the rank 2 image and so on until the rank N image.
Chaque image est encodée selon une séquence de traitement des blocs, un cas classique de séquence d'encodage d'une image consiste à encoder les blocs de gauche à droite et de haut en bas, mais d'autres séquences de traitement peuvent être utilisées. Each image is encoded according to a block processing sequence, a typical case of encoding sequence of an image is to encode the blocks from left to right and from top to bottom, but other processing sequences can be used.
Chaque bloc de chaque image est alors encodé soit en utilisant une prédiction spatiale, soit en utilisant une prédiction temporelle, en commençant par le bloc en haut à gauche de l'image. Le bloc ECOd est le bloc en cours d'encodage, les blocs grisés sont ceux précédemment encodés et les blocs blancs sont ceux restant à encoder. Each block of each image is then encoded either by using a spatial prediction, or by using a temporal prediction, starting with the block at the top left of the image. Block E COd is the block being encoded, the shaded blocks are those previously encoded and the white blocks are those remaining to be encoded.
Le bloc Ecod peut être encodé en utilisant une prédiction spatiale ou temporelle. Encoder E¥d en utilisant une prédiction spatiale consiste à n'utiliser que des éléments de l'image en cours d'encodage l2 pour encoder le bloc E¥d· Par exemple, pour encoder le bloc E¥d, le bloc à sa gauche et au-dessus sont utilisés. The block E cod can be encoded using a spatial or temporal prediction. Encoder E ¥ d using a spatial prediction is to use only current elements of the image encoder 2 to encode the block E ¥ d · For example, to encode the block E ¥ d, the block his left and above are used.
Encoder E¥d en utilisant une prédiction temporelle consiste à également utiliser des éléments de l'image précédemment encodée pour encoder le bloc Ecod. Par exemple, pour encoder le bloc ECOd, le bloc de l'image li situé au même endroit que E¥d est utilisé. Encoding E ¥ d using a temporal prediction also consists in using elements of the previously encoded image to encode the block E cod . For example, to encode the block E COd , the block of the image li located at the same place as E ¥ d is used.
Le résultat de l'encodage de l'ensemble des blocs d'une l'image est une séquence binaire. L'ensemble des séquences binaires forme le flux binaire vidéo. The result of the encoding of all the blocks of an image is a binary sequence. The set of binary sequences forms the video bit stream.
Pour réduire la quantité des données représentatives de chaque bloc dans la séquence binaire, un ensemble de schémas d'encodages de bloc indexés peut être utilisé. Par exemple, l'un des schémas peut être l'utilisation du même bloc de l'image précédente pour encoder, ou encore l'utilisation des 4 blocs contiguës précédemment encodés. Ainsi, la séquence n'indique pas directement les blocs à partir desquels l'encodage est effectué, seul le numéro de l'index du schéma relatif à l'encodage du bloc est inclus dans la séquence. To reduce the amount of data representative of each block in the bit sequence, a set of indexed block encoding schemes may be used. For example, one of the diagrams may be the use of the same block of the previous image to encode, or the use of the 4 contiguous blocks previously encoded. Thus, the sequence does not directly indicate the blocks from which the encoding is performed, only the number of the index of the schema relating to the encoding of the block is included in the sequence.
La séquence d'images représentées est encodées dans un mode intra-refresh, c'est-à-dire que pour chaque image l'encodeur impose une zone, dite zone intra- refresh, dans laquelle les blocs sont encodés uniquement en utilisant une prédiction spatiale (encodés en intra). Avantageusement, chaque zone intra- refresh recouvre une partie différente de l'image, ainsi l'ensemble des zones Intra-refresh appliquées à une séquence d'images forme un pavage des images. Ainsi, sur une période temporelle correspondant à N images, les pixels de l'image vidéo sont tous rafraîchis, c'est-à-dire encodés au moins une fois en intra. The sequence of images represented is encoded in an intra-refresh mode, that is to say that for each image the encoder imposes a zone, called an intra-refresh zone, in which the blocks are encoded only by using a prediction spatial (intra-encoded). Advantageously, each intra- refresh zone covers a different part of the image, and all the Intra-refresh zones applied to a sequence of images form a tiling of the images. Thus, over a period of time corresponding to N images, the pixels of the video image are all refreshed, that is to say, encoded at least once in intra.
Les zones D, étant les zones non encore rafraîchies au cours de la période de N images. Les zones Ç étant les zones rafraîchies au cours de cette période. On voit qu'à la fin de la période toute l'image est rafraîchie. Par analogie avec les zones intra-refresh les zones Ç et D, pourront également représenter des zones situées sur d'autres images que l'image I, et l'image restituée IR,. The zones D, being the zones not yet refreshed during the period of N images. The zones Ç being the refreshed areas during this period. We see that at the end of the period all the image is refreshed. By analogy with the zones intra-refresh zones Ç and D, may also represent areas located in other images than the image I, and the image restored IR.
Les zones Intra-refresh utilisées sont des colonnes, celles-ci sont appliquées de gauche à droite. Mais il est également possible d'utiliser d'autres recouvrements, ou avantageusement d'autres pavages, par exemple des zones Intra-refresh horizontales appliquées de haut en bas, ou des zones intra-refresh carrées appliquées en spirale. The Intra-refresh zones used are columns, these are applied from left to right. But it is also possible to use other overlays, or advantageously other tilings, for example horizontal Intra-refresh zones applied from top to bottom, or intra-refresh zones. square spiral applied.
La structure des séquences binaires obtenues par encodage de chaque image est représentée à la figure 2. Chaque séquence se compose d'une partie signalisation générale et d'une partie comprenant les données encodées représentatives des blocs de l'image. Cette dernière partie peut comporter également des données de signalisation. The structure of the binary sequences obtained by encoding each image is shown in FIG. 2. Each sequence consists of a general signaling part and a part comprising the encoded data representative of the blocks of the image. This last part may also include signaling data.
Dans un but de clarté et de concision de l'exposé, l'exemple que nous développons ci-dessous reprend le cadre du standard HEVC. La personne du métier pourra transposer l'invention dans tout standard disposant d'un mode Intra-refresh comme décrit ci-dessus. For the sake of clarity and conciseness of the presentation, the example we develop below is based on the HEVC standard. The person skilled in the art can transpose the invention into any standard having an Intra-refresh mode as described above.
La partie de signalisation générale du standard HEVC se compose d'un champ (également appelé NAL) « Video Parameter Set » (VPS), d'un champ « Sequence Parameter Set » (SPS), et d'un champ « Picture Parameter Set » (PPS). The general signaling part of the HEVC standard consists of a Video Parameter Set (VPS) field (also called a NAL), a Sequence Parameter Set (SPS) field, and a Picture Parameter Set field. "(PPS).
Le champ VPS comprend les informations relatives à la vidéo. Le champ VPS comprend par exemple une information concernant le « Profil », le « Level » et le « Tier » qui définissent des caractéristiques de décodage. Le champ peut également contenir une information relative à la taille de la mémoire tampon (buffer en anglais) appliquée pour le décodage. The VPS field includes information about the video. The VPS field includes for example information concerning the "Profile", the "Level" and the "Tier" which define decoding characteristics. The field may also contain information relating to the size of the buffer (buffer in English) applied for the decoding.
Le champ SPS comprend les informations relatives à la séquence d'images considérée. Toutes les images de la séquence utilisent en principe le même SPS. Le champ SPS comprend notamment des informations relatives aux outils de codage utilisés, ou encore des paramètres importants décrivant les caractéristiques de la séquence encodée (par exemple la taille des images). The SPS field includes the information relating to the image sequence considered. All images in the sequence use in principle the same SPS. The SPS field notably includes information relating to the coding tools used, or important parameters describing the characteristics of the encoded sequence (for example the size of the images).
Le champ PPS comprend des informations relatives à chaque image, même si plusieurs images peuvent faire référence au même PPS afin de réduire la taille de la signalisation. Le PPS comprend notamment des informations supplémentaires relatives aux outils de codage utilisés dans la ou les images qui s'y réfèrent (par exemple le « constrained intra prédiction »). Le PPS comprend également des paramètres de type paramètre de quantification d'initialisation, Q.P (initial quantisation parameter e n anglais). Ce paramètre sert de base commune pour le calcul des Q.P de l'ensemble des éléments des images. The PPS field includes information about each image, even though multiple images may refer to the same PPS to reduce the size of the signaling. The PPS includes in particular additional information relating to the coding tools used in the image or images which refer to it (for example the "constrained intra prediction"). The PPS also includes parameter quantization parameter initialization parameters, initial quantisation parameter (QP). This parameter serves as a common basis for calculating the QP of all the elements of the images.
La partie comprenant les données encodées représentatives des blocs de l'image dans HEVC est composée de plusieurs champs appelés tranches (slices en anglais). Ces tranches regroupent les données encodées représentatives de plusieurs blocs par ordre d'encodage/décodage. Les tranches dépendent du type de prédictions utilisées pour encoder les blocs dont les données encodées sont inclues dans la tranche ainsi que d'autres caractéristiques de décodage. The part comprising the encoded data representative of the blocks of the image in HEVC is composed of several fields called slices. These slices group the encoded data representative of several blocks in order of encoding / decoding. The slices depend on the type of predictions used to encode the blocks whose encoded data is included in the slice as well as other decoding characteristics.
Ainsi, dans la séquence binaire de rang 2 (correspondant à l'image de rang 2), la première tranche regroupe par exemple les données encodées représentatives des premier et deuxième blocs (numéroté dans l'ordre de la gauche vers la droite et du haut vers le bas). La deuxième tranche peut regrouper les données encodées représentatives des troisième et quatrième blocs. La troisième tranche peut regrouper tous les blocs du cinquième bloc jusqu'au deuxième bloc de la seconde ligne. La quatrième tranche peut regrouper les troisièmes et quatrièmes blocs de la deuxième ligne. La cinquième tranche peut regrouper tous les blocs du cinquième bloc de la seconde ligne jusqu'au deuxième bloc de la troisième ligne et ainsi de suite. Thus, in the bit sequence of rank 2 (corresponding to the rank 2 image), the first slice includes, for example, the encoded data representative of the first and second blocks (numbered in the order from left to right and from the top down). The second slice can group the encoded data representative of the third and fourth blocks. The third slice can group all the blocks of the fifth block up to the second block of the second row. The fourth slice can group the third and fourth blocks of the second row. The fifth slice can group all blocks from the fifth block of the second row to the second block of the third row, and so on.
Le découpage ci-dessus est un découpage fin, il est également possible d'avoir tous les blocs d'une même image dans une même slice, ou encore d'avoir une slice par ligne de l'image. The above division is a fine division, it is also possible to have all the blocks of the same image in the same slice, or to have a slice per line of the image.
Dans cet exemple, les données encodées représentatives du bloc ECOd en cours d'encodage seront comprises dans la cinquième tranche. In this example, the encoded data representative of the COd E block being encoded will be included in the fifth slice.
Les tranches contiennent également des données de signalisation qui comprennent notamment un identifiant de la tranche, une référence au PPS qui s'applique, le type de tranche, une valeur du paramètre de quantification de la tranche. Ces données de signalisation sont comprises dans l'entête de la tranche (Slice Header en anglais). The slices also contain signaling data including a slice identifier, a reference to the PPS that applies, the slice type, a value of the quantization parameter of the slice. These signaling data are included in the header of the slice (Slice Header in English).
Par la suite nous exposerons plus en détail des modes de réalisation de l'invention s'appuyant à titre d'exemple sur le standard HEVC tel que précédemment décrit, ce standard étant adapté pour décrire l'invention. Subsequently we will discuss in more detail embodiments of the invention based on example on the standard HEVC as previously described, this standard being adapted to describe the invention.
Selon un mode de réalisation de l'invention le champ PPS comprend une donnée d'information (autrement nommée signalisation activation) permettant de signaler si la méthode selon l'invention est ou non appliquée dans le cadre de l'image faisant référence au PPS en question. Cette donnée d'information pourra par exemple être codée sur un bit, la valeur « 1 » étant associée à l'application de la méthode et la valeur « 0 » étant associée au fait de ne pas appliquer la méthode. According to one embodiment of the invention, the PPS field comprises an information piece of information (otherwise known as signaling activation) making it possible to indicate whether the method according to the invention is applied or not in the context of the picture referring to the PPS in question. This information item may for example be coded on a bit, the value "1" being associated with the application of the method and the value "0" being associated with the fact of not applying the method.
De plus il est possible de prévoir dans le champ PPS certains des paramètres du mode Intra-refresh, notamment : des données d'information (signalisation type intra-refresh) permettant de signaler le type d'intra-refresh. Cette donnée d'information pourra par exemple être codée sur deux bits, la valeur 0 étant associée à un rafraîchissement par colonne, la valeur 1 étant associée à un rafraîchissement par ligne, la valeur 2 étant associée à un rafraîchissement pseudo-aléatoire par colonne et la valeur 3 étant associée à un rafraîchissement pseudo-aléatoire par ligne ; des données d'information (signalisation taille intra-refresh) permettant de signaler la taille des zones intra-refresh, par exemple en nombre de blocs ou largeur de la colonne ; des données d'information permettant de signaler une valeur d'un paramètre de quantification propre à l'image (signalisation initial Q.P). des données d'information permettant de signaler une valeur d'un différentiel de paramètre de quantification propre à la zone intra-refresh (signalisation delta Q.P intra-refresh). Moreover, it is possible to provide in the PPS field some of the Intra-refresh mode parameters, in particular: information data (intra-refresh type signaling) making it possible to signal the type of intra-refresh. This information item may for example be coded on two bits, the value 0 being associated with a refresh by column, the value 1 being associated with a refresh by line, the value 2 being associated with pseudo-random refreshment by column and the value 3 being associated with a pseudo-random refresh by line; information data (intra-refresh size signaling) making it possible to signal the size of the intra-refresh zones, for example in number of blocks or width of the column; information data for signaling a value of a quantization parameter specific to the image (initial signaling QP). information data making it possible to signal a value of a quantization parameter differential specific to the intra-refresh zone (delta QP intra-refresh signaling).
L'entête de la tranche comprend des données d'information permettant de signaler la direction d'application des zones Intra-refresh, nommée signalisation de direction intra-refresh, par exemple de gauche à droite (codée par exemple « 0 ») ou de droit à gauche (codée par exemple « 1 ») lorsque le type de rafraîchissement est un rafraîchissement par colonne. De haut en bas (codée par exemple « 0 ») ou de bas en haut (codée par exemple « 1 ») lorsque le type de rafraîchissement est un rafraîchissement par ligne. The header of the slice comprises information data making it possible to signal the direction of application of the Intra-refresh zones, called intra-refresh direction signaling, for example from left to right (coded for example "0") or right-to-left (coded for example "1") when the refresh type is refresh by column. From top to bottom (coded for example "0") or from bottom to top (coded for example "1") when the type of refresh is a refresh by line.
L'entête de la tranche peut comprendre également des données de signalisation permettant de signaler la position de la zone Intra-refresh, nommée signalisation de position intra-refresh, appliquée à l'image correspondant à cette tranche. Par exemple, les positions des zones intra-refresh telles qu'appliquées aux images de rang 1 à N sur la figure 1, peuvent être par exemple codées par leur rang, c'est-à-dire 1 pour ZSi, 2 pour ZS2, ..., N pour ZSN. The header of the slice may also include signaling data for signaling the position of the Intra-refresh zone, called intra-refresh position signaling, applied to the image corresponding to this slice. For example, the positions of the intra-refresh zones as applied to the images of rank 1 to N in FIG. 1, can for example be coded by their rank, that is to say 1 for ZSi, 2 for ZS 2 , ..., N for ZS N.
Il est possible de ne pas introduire de signalisation de direction intra-refresh et de seulement utiliser la signalisation de position intra-refresh. De même il est possible d'utiliser la signalisation de direction et de n'introduire une signalisation de position que pour la première image de la séquence. It is possible not to introduce intra-refresh directional signaling and only use intra-refresh position signaling. Similarly, it is possible to use the direction signaling and to introduce a position signaling only for the first image of the sequence.
La signalisation comprise dans l'entête de la tranche peut également prévoir des données d'information permettant de signaler une valeur d'un différentiel de paramètre de quantification propre à la tranche (signalisation delta Q.P tranche). The signaling included in the header of the slot can also provide information data for signaling a value of a quantization parameter differential specific to the slice (delta Q.P slice signaling).
Les champs réservés pour les paramètres exposés dans la présente, en dehors du champ prévu pour la signalisation relative à l'application ou non de la méthode, ne sont présents que lorsque la méthode est appliquée. Ainsi, lorsque la méthode n'est pas appliquée elle impacte peu la performance de l'encodage/décodage. The fields reserved for the parameters exposed herein, outside the field provided for the signaling relating to the application or not of the method, are present only when the method is applied. Thus, when the method is not applied, it has little impact on the performance of the encoding / decoding.
En général les données encodées représentatives de chaque bloc contiennent également des données de signalisation précisant si l'encodage du bloc est réalisé en intra ou en inter. Dans le cadre de l'invention seules les données encodées représentatives de blocs situés en dehors de la zone intra-refresh comprennent une information sur le type d'encodage. Les données encodées représentatives des blocs situés dans la zone intra-refresh ne contiennent pas cette signalisation, le décodeur déduira le type d'encodage des blocs de la zone intra-refresh au moyen de la signalisation située dans l'entête de tranche et permettant de déterminer la position de la zone intra-refresh. In general, the encoded data representative of each block contain also signaling data specifying whether the encoding of the block is performed intra or inter. In the context of the invention, only the encoded data representative of blocks located outside the intra-refresh zone comprise information on the type of encoding. The encoded data representative of the blocks situated in the intra-refresh zone do not contain this signaling, the decoder will deduce the type of encoding of the blocks of the intra-refresh zone by means of the signaling located in the slice header and making it possible to determine the position of the intra-refresh zone.
Les données encodées respectives de chaque bloc contiennent également des données d'information permettant de signaler une valeur d'un différentiel de paramètre de quantification propre au bloc (signalisation delta Q.P bloc). The respective encoded data of each block also contains information data for signaling a value of a quantization parameter differential specific to the block (delta Q.P block signaling).
Ainsi, la valeur de paramètre de quantification d'un bloc situé en dehors de la zone intra-refresh se calcule selon la formule du standard HEVC : Thus, the quantization parameter value of a block located outside the intra-refresh zone is calculated according to the formula of the HEVC standard:
Valeur(signalisation delta Q.P bloc) + Valeur(signalisation delta Q.P tranche) + Value (delta Q.P block signaling) + Value (delta Q.P slice signaling) +
Valeur(signalisation initial Q.P) Value (initial signaling Q.P)
Et, la valeur de paramètre de quantification d'un bloc situé dans la zone intra- refresh se calcule selon la formule du standard HEVC : And, the quantization parameter value of a block located in the intra-refresh zone is calculated according to the formula of the HEVC standard:
Valeur(signalisation delta Q.P bloc) + Valeur(signalisation delta Q.P intra-refresh) + Value (delta Q.P block signaling) + Value (delta Q.P intra-refresh signaling) +
Valeur(signalisation delta Q.P tranche) + Value (delta Q.P slice signaling) +
Valeur(signalisation initial Q.P) Value (initial signaling Q.P)
La figure 3 décrit les étapes mises en œuvre par l'encodeur selon un mode de réalisation de l'invention. Figure 3 describes the steps implemented by the encoder according to one embodiment of the invention.
A une étape S10 l'encodeur détermine les paramètres de l'encodage de l'image lj en cours d'encodage. C'est-à-dire que l'encodeur détermine la position de la zone intra-refresh, le type de zone intra-refresh, la valeur du Q.P, la direction et la position intra-refresh qu'il applique à l'image lj. L'encodeur détermine également le découpage de l'image en tranches. Dans l'exemple ci-dessous, la signalisation qui en découle est : signalisation activation : 1 ; signalisation type intra-refresh : 0 ; signalisation taille intra-refresh : 2 (largeur de la colonne représentant la zone intra-refresh en nombre de blocs) ; - signalisation initial Q.P: 26 (codé par la valeur 0) ; signalisation delta Q.P intra-refresh : -2 At a step S10 the encoder determines the parameters of the encoding of the image l j being encoded. That is, the encoder determines the position of the intra-refresh zone, the intra-refresh zone type, the QP value, the direction, and the intra-refresh position it applies to the image. lj. The encoder also determines the slicing of the image. In the example below, the resulting signaling is: activation signaling: 1; Intra-refresh signaling type: 0; intra-refresh size signaling: 2 (width of the column representing the intra-refresh zone in number of blocks); - Initial signaling QP: 26 (coded by the value 0); QP intra-refresh delta signaling: -2
L'encodeur dispose les valeurs des différents éléments de signalisation dans le champ PPS. The encoder has the values of the different signaling elements in the PPS field.
L'encodeur détermine également la position de la zone intra-refresh. A l'étape SU l'encodeur détermine la signalisation des entêtes de tranches ainsi que les données représentatives des blocs de chaque tranche. The encoder also determines the position of the intra-refresh area. In step S, the encoder determines the signaling of the slot headers as well as the data representative of the blocks of each slot.
L'encodeur sur la base de la détermination de la position de la zone intra- refresh détermine la signalisation adéquate pour chaque tranche à encoder, à savoir pour l'image lj : - signalisation direction intra-refresh : 0 ; signalisation position intra-refresh : j. The encoder based on the determination of the position of the intra-refresh zone determines the appropriate signaling for each slice to be encoded, namely for the image j : - signaling direction intra-refresh: 0; Intra-refresh position signaling: j.
L'encodeur commence l'encodage du premier bloc de la première tranche. Dans cet exemple l'image lj présente une zone et une zone Dj, c'est-à-dire que lj présente tous les cas d'encodage d'image de la séquence. Par schéma d'encodage, il est ici considéré un ensemble de paramètre d'encodage du bloc permettant d'obtenir le résidu du bloc (c'est-à-dire la différence de valeur entre le bloc à encoder et le bloc prédicteur qui est ensuite transformé et quantifié). A savoir la taille de partitionnement en blocs de prédiction ; la transformée utilisée ; un sous-type de mode de prédiction Inter (AMVP, Merge ou Skip dans HEVC par exemple) ; des informations de mouvement (vecteur de mouvement, image de référence et index de prédiction dans HEVC) pour un bloc encodé en Inter ; un sous-mode Intra (33 directions angulaires et deux sous-modes supplémentaires, DC et Planar, dans HEVC) pour un bloc encodé en Intra. The encoder starts encoding the first block of the first slice. In this example, the image 1 j has a zone and a zone Dj, that is to say that j has all the cases of image encoding of the sequence. By encoding scheme, here is considered a set of encoding parameter of the block for obtaining the block residue (that is to say the difference in value between the block to be encoded and the predictor block which is then transformed and quantified). Namely the size of partitioning into prediction blocks; the transform used; a subtype of Inter prediction mode (AMVP, Merge or Skip in HEVC for example); motion information (motion vector, reference image and prediction index in HEVC) for a block encoded in Inter; an Intra sub-mode (33 angular directions and two additional sub-modes, DC and Planar, in HEVC) for a block encoded in Intra.
Le terme schéma d'encodage utilisé ici est donc associé à une pluralité d'index de signalisation permettant de déduire le schéma utilisé. The term encoding scheme used here is therefore associated with a plurality of signaling indexes to deduce the schema used.
Dans le cadre de l2 le premier bloc étant dans la zone C2, l'encodeur sélectionne un schéma d'encodage de bloc parmi les schémas qui n'encodent pas à partir d'éléments situés dans les zones Dm des images précédemment encodées lm (1 < m < j). In the context of l 2, the first block being in the zone C 2 , the encoder selects a block encoding scheme from among the diagrams that do not encode from elements located in the zones D m of the previously encoded images. l m (1 <m <j).
C'est-à-dire que si le premier bloc est encodé en inter alors tous les éléments à partir duquel il est encodé auront déjà été rafraîchis depuis le début de l'encodage de la séquence d'image. Ainsi, toute erreur dans l'encodage d'un élément d'une image précédente ne se propage pas lors de l'utilisation de cet élément lors d'un encodage inter au-delà de l'encodage de deux séquences d'images. That is, if the first block is encoded inter then all the elements from which it is encoded will have been refreshed since the beginning of the encoding of the image sequence. Thus, any error in the encoding of an element of a previous image does not propagate when using this element during an inter encoding beyond the encoding of two sequences of images.
Certains schémas d'encodage de ce premier bloc sont donc interdits. L'encodeur réserve pour les données encodées représentatives du premier bloc un nombre de bits minimum pour pouvoir indexer l'ensemble des schémas d'encodage de bloc permis ou au moins certain de ces schémas permis. Some encoding schemes of this first block are prohibited. The encoder reserves for the encoded data representative of the first block a minimum number of bits to be able to index all allowed block encoding schemes or at least some of these schemes allowed.
Le nombre de bits réservés pour des données encodées représentatives d'un bloc situé dans la zone dépend de la taille de la zone zone et de la position du bloc au sein de cette zone. En effet, plus la zone Cj est étroite, plus les zones Ck pour k<j sont étroites (puisque inclues dans Cj) et moins il y a d'éléments d'images précédemment encodées dans des zones précédemment « rafraîchies ». Le nombre de schémas permis est donc plus faible. Le nombre de schémas d'encodage permis est également affecté par la position du bloc en cours d'encodage au sein de la zone Cj; ainsi plus le bloc est proche de la zone intra-refresh et plus il est inclus ou proche d'un nombre important de zone Dm avec m < j. The number of bits reserved for encoded data representative of a block located in the zone depends on the size of the zone zone and the position of the block within this zone. In fact, the narrower the zone C j is, the more the areas C k for k <j are narrow (since they are included in C i) and the fewer elements of images previously encoded in previously "refreshed" zones. The number of schemes allowed is therefore lower. The number of encoding schemes allowed is also affected by the position of the block being encoded within the zone C j; thus, the closer the block is to the intra-refresh zone, the more it is included or close to a large number of zones D m with m <j.
Une fois les données encodées représentatives du premier bloc obtenu l'encodeur encode le deuxième bloc jusqu'au dernier bloc situé avant la zone Intra-refresh. Lorsque l'encodeur arrive sur le premier bloc de la colonne intra, alors l'encodeur choisit le schéma d'encodage pertinent, parmi les schémas d'encodage permis pour ce bloc, c'est-à-dire uniquement les schémas d'encodage intra. Là encore le nombre de bits réservés aux données encodées représentatives de ce bloc peut être réduit pour permettre de représenter uniquement les schémas permis. Once the encoded data representative of the first block obtained the encoder encodes the second block to the last block before the Intra-refresh area. When the encoder arrives on the first block of the intra column, then the encoder chooses the relevant encoding scheme, among the encoding schemes allowed for this block, that is to say only the encoding schemes intra. Here again the number of bits reserved for the encoded data representative of this block can be reduced to allow to represent only the allowed diagrams.
Comme décrit précédemment l'encodeur encode les blocs situés dans la zone intra-refresh et plus généralement tous blocs intra de l'image en utilisant uniquement des blocs de l'image en cours d'encodage. As described above, the encoder encodes the blocks located in the intra-refresh zone and more generally all intra blocks of the image using only blocks of the image being encoded.
Avantageusement, les blocs de la zone intra-refresh peuvent être encodés uniquement à partir de blocs qui sont eux-mêmes encodés en intra. L'encodeur peut remplacer les pixels de référence issus d'un bloc inter par des pixels génériques lorsqu'il fait appel à un schéma d'encodage de bloc utilisant un bloc inter dans le cadre de l'encodage d'un bloc situé dans la zone intra-refresh. De plus, les blocs situés dans la zone Dj et encodés en intra peuvent être encodés à partir de bloc de l'image lj encodé en inter, cela permet une plus grande souplesse et permet ainsi d'obtenir des données encodées représentatives de ces blocs moins lourdes. De plus, les données encodées représentatives de blocs intra obtenues en utilisant des blocs génériques en remplacement de blocs inter sont plus volumineuses et consomment plus de ressources pour le décodage. Advantageously, the blocks of the intra-refresh zone can be encoded only from blocks which are themselves encoded intra. The encoder can replace the reference pixels from an inter block by generic pixels when it uses a block encoding scheme using a block inter as part of the encoding of a block located in the intra-refresh area. In addition, the blocks located in the zone D j and encoded intra can be encoded from block of the image I j encoded inter, this allows greater flexibility and thus provides encoded data representative of these less heavy blocks. In addition, the encoded data representative of intra blocks obtained by using generic blocks instead of inter blocks are larger and consume more resources for decoding.
De manière générale lors de l'encodage des blocs, l'encodeur détermine des données de signalisation associées à chaque bloc, les données de signalisation associées sont notamment représentatives du type d'encodage du bloc, encodage en intra ou en inter. In general, when encoding the blocks, the encoder determines signaling data associated with each block, the associated signaling data are in particular representative of the type of block encoding, intra or inter encoding.
Dans le cadre de l'invention les blocs situés dans la zone intra-refresh, ne sont pas chacun associé à une signalisation représentant le type d'encodage. En effet, ces blocs étant tous encodés en intra la signalisation de position de la zone intra- refresh permet au décodeur de déduire que les blocs de la zone intra-refresh sont des blocs encodés en intra. Ainsi, du fait de l'absence de la signalisation sur le type d'encodage des blocs situés dans la zone intra-refresh, le nombre de bits réservés aux données encodées représentatives de chaque bloc situé dans la zone intra-refresh est réduit. In the context of the invention, the blocks located in the intra-refresh zone are not each associated with a signaling representing the type of encoding. In fact, since these blocks are all intra-encoded, the position signaling of the intra-refresh zone enables the decoder to deduce that the blocks of the intra-refresh zone are intra-encoded blocks. Thus, due to the absence of signaling on the type of encoding blocks located in the intra-refresh area, the number of bits reserved for encoded data representative of each block located in the intra-refresh area is reduced.
La figure 4 illustre les étapes de décodage selon un mode de réalisation selon l'invention. FIG. 4 illustrates the decoding steps according to an embodiment according to the invention.
A l'étape S20 le décodeur décode ou lit la signalisation générale inclue dans les champs VPS, SPS et PPS. A la lecture du champ PPS l'encodeur détermine la valeur de la signalisation activation. Si celle-ci est « 0 » alors l'encodeur décode les tranches et blocs de l'image restituée de rang j, I Rj, en cours de décodage suivant les étapes classiques de décodage prévues par exemple dans le standard HEVC. Si la valeur de la signalisation activation est « 1 » alors l'encodeur poursuit le décodage tel que décrit ci-dessous. L'encodeur lit ensuite les valeurs de : signalisation type intra-refresh ; signalisation taille intra-refresh ; signalisation delta Q.P intra-refresh. In step S20 the decoder decodes or reads the general signaling included in the VPS, SPS and PPS fields. When reading the PPS field, the encoder determines the value of the activation signaling. If this is "0" then the encoder decodes the slices and blocks of the restored image of rank j, I Rj, being decoded according to the conventional decoding steps provided for example in the HEVC standard. If the value of the activation signaling is "1" then the encoder continues decoding as described below. The encoder then reads the values of: signaling type intra-refresh; intra-refresh size signaling; QP intra-refresh delta signaling.
Ensuite, à l'étape S21, le décodeur lit les valeurs dans l'entête de la première tranche de la signalisation de direction intra-refresh et/ou signalisation de position intra-refresh. Le décodeur en déduit alors la position de la zone intra- refresh de l'image restituée IRj en cours de décodage. Le décodeur lit également les valeurs de la signalisation delta Q.P tranche. Then, in step S21, the decoder reads the values in the header of the first slice of intra-refresh direction signaling and / or intra-refresh position signaling. The decoder then deduces the position of the intra-refresh zone of the restored image IR j during decoding. The decoder also reads the delta QP slice signaling values.
Le décodeur décode ensuite chacun des blocs de la tranche après avoir déterminé s'ils étaient ou non des blocs situés dans la zone intra-refresh (S22). La zone intra-refresh est la même pour l'image lj et l'image restituée de rang j en cours de décodage. De même, l'image restituée IRj est découpée en zones identiques à celles de l'image lj, à savoir les zones et Dj qui seront nommées de la même manière. The decoder then decodes each of the blocks of the slot after determining whether or not they were blocks located in the intra-refresh zone (S22). The intra-refresh zone is the same for the image l j and the restored image of rank j during decoding. Likewise, the rendered image IR j is divided into zones identical to those of the image I j , namely the zones and D j which will be named in the same way.
A l'étape S23.1, lorsque le bloc n'est pas situé dans la zone intra-refresh, le décodeur lit les informations comprises dans les données encodées représentatives du bloc en cours de décodage pour déterminer s'il s'agit d'un bloc encodé en intra ou en inter. In step S23.1, when the block is not located in the intra-refresh zone, the decoder reads the information included in the encoded data representative of the block being decoded to determine whether it is a block encoded in intra or inter.
Le décodeur lit également la valeur de la signalisation delta Q.P bloc et en déduit la valeur de paramètre de quantification (Q.P) du bloc selon la formule précédemment présentée. The decoder also reads the value of the delta Q.P block signaling and deduces therefrom the quantization parameter value (Q.P) of the block according to the formula previously presented.
Si le bloc en cours de décodage est situé dans la zone Cj de l'image restituée IRj alors l'encodeur a sélectionné un schéma d'encodage de blocs parmi les schémas qui n'encodent pas à partir d'éléments d'image lm précédemment encodées situés respectivement dans les zones Dm (1 < m < j). L'encodeur réservant pour les données encodées représentatives du bloc en cours de décodage le nombre de bits minimum permettant de pouvoir indexer uniquement les schémas d'encodage de bloc permis. Le nombre de schémas permis étant uniquement fonction du type de bloc encodée et de sa position dans la zone . If the decoding of the current block is located in the area C j of the image restored IR j then the encoder has selected a block encoding scheme among the patterns that do not encode from picture elements I m previously encoded located respectively in the zones D m (1 <m <j). The encoder reserving for the encoded data representative of the current block of decoding the minimum number of bits to be able to index only allowed block encoding schemes. The number of diagrams allowed depends solely on the type of block encoded and its position in the zone.
Pour se faire, on peut par exemple prévoir que l'encodeur et le décodeur soient préalablement configurés pour associer à des positions de bloc au sein de la zone un ensemble de schémas indexés permis. Ainsi, sur la base de la position et du type du bloc en cours de décodage le décodeur déduit l'ensemble de schémas préalablement configuré et sur la base d'une valeur d'index de schéma (ou de plusieurs valeurs d'index lorsque chaque schéma est représenté par plusieurs index) reçue le décodeur détermine le schéma pour encoder le bloc en cours de décodage. Le décodeur détermine les valeurs des pixels du bloc en cours de décodage à partir des blocs préalablement décodés indiqués par le schéma et du paramètre de quantification calculé pour le bloc (permettant le calcul d'un résidu). To do so, it is possible, for example, to provide that the encoder and the decoder are previously configured to associate block positions within the zone with a set of allowed indexed schemas. Thus, based on the position and type of the block being decoded, the decoder derives the set of previously configured patterns and based on a schema index value (or multiple index values when each schema is represented by several indexes) received the decoder determines the scheme to encode the block being decoded. The decoder determines the values of the pixels of the block being decoded from the previously decoded blocks indicated by the diagram and the quantization parameter calculated for the block (allowing the calculation of a residual).
Dans la mesure où le décodeur décode un bloc intra situé dans la zone Cj ou Dj et où le schéma d'encodage de ce bloc indique des blocs préalablement décodés qui sont des blocs encodés en inter, alors le décodeur ne remplace pas ces blocs préalablement décodés par des blocs générique pour décoder le bloc intra. Insofar as the decoder decodes an intra block located in the zone C j or D j and where the encoding scheme of this block indicates previously decoded blocks which are blocks encoded in inter, then the decoder does not replace these blocks. previously decoded by generic blocks to decode the intra block.
Si le bloc en cours de décodage est situé dans la zone Dj de l'image restituée IRj alors le décodeur décode les données encodées représentatives du bloc selon les méthodes classiques, par exemple celles classiquement utilisées dans le standard HEVC. If the decoding of the current block is located in the area D j of the restored image IR j then the decoder decodes the encoded data representative of the block according to conventional methods, for example those conventionally used in the HEVC standard.
A l'étape S23.2, lorsque le bloc en cours de décodage est situé dans la zone intra-refresh de l'image restituée IRj, l'encodeur a sélectionné un schéma d'encodage intra. Ainsi, l'ensemble des schémas d'encodage permis est limité aux schémas d'encodage intra. Comme précédemment expliqué pour les blocs situés dans la zone Cj, un nombre de bits minimum pour pouvoir permettre d'indiquer toutes les valeurs d'index (ou plusieurs valeurs d'index lorsque chaque schéma est représenté par plusieurs index) de l'ensemble des schémas d'encodage permis relativement au bloc de la zone intra-refresh en cours de décodage est prévu. Le décodeur préalablement configuré, déduit l'ensemble des schémas d'encodage préalablement et sur la base de valeurs d'index de schéma reçus, le décodeur détermine le schéma d'encodage pour encoder le bloc en cours de décodage. In step S23.2, when the block being decoded is located in the intra-refresh area of the restored image IR j , the encoder has selected an intra encoding scheme. Thus, the set of encoding schemes allowed is limited to intra encoding schemes. As previously explained for the blocks located in the area C j , a minimum number of bits to be able to allow to indicate all the index values (or several index values when each schema is represented by several indexes) of the set of encoding schemes allowed relative to the block of the intra-refresh zone being decoded is provided . The previously configured decoder deduces all of the encoding schemes previously and on the basis of received schema index values, the decoder determines the encoding scheme to encode the block being decoded.
Le décodeur lit également la valeur de la signalisation delta Q.P bloc et en déduit la valeur de paramètre de quantification (Q.P) du bloc situé dans la zone intra-refresh selon la formule précédemment présentée. L'introduction d'un différentiel de paramètre de quantification relative à la zone intra-refresh (signalisation delta Q.P intra-refresh) permet de réduire les plages de valeurs nécessaires pour la signalisation delta Q.P bloc pour représenter la valeur de paramètre de quantification de chaque bloc situé dans la zone intra-refresh. Ainsi, la taille de la séquence binaire est réduite sans pour autant perdre d'information. The decoder also reads the value of the delta Q.P block signaling and deduces therefrom the quantization parameter value (Q.P) of the block located in the intra-refresh zone according to the formula previously presented. The introduction of a quantization parameter differential relative to the intra-refresh zone (delta QP intra-refresh signaling) makes it possible to reduce the ranges of values necessary for the QP block delta signaling to represent the quantization parameter value of each block located in the intra-refresh area. Thus, the size of the binary sequence is reduced without losing information.
Dans la mesure où le décodeur décode un bloc situé dans la zone intra-refresh et où le schéma d'encodage de ce bloc nécessite des pixels de référence issus de blocs préalablement décodés qui sont des blocs encodés en inter, alors le décodeur remplace ces pixels préalablement décodés par des pixels génériques pour décoder le bloc situé dans la zone intra-refresh. Insofar as the decoder decodes a block located in the intra-refresh zone and where the encoding scheme of this block requires reference pixels from previously decoded blocks which are inter-encoded blocks, then the decoder replaces these pixels. previously decoded by generic pixels to decode the block located in the intra-refresh zone.
Le décodeur détermine les valeurs des pixels du bloc en cours de décodage à partir des blocs préalablement décodés indiqués par le schéma et du paramètre de quantification calculé pour le bloc (permettant le calcul d'un résidu). The decoder determines the values of the pixels of the block being decoded from the previously decoded blocks indicated by the diagram and the quantization parameter calculated for the block (allowing the calculation of a residual).
Ce décodage particulier des blocs de la zone intra-refresh est réalisé sans décoder d'information concernant le type de bloc. En effet, l'encodeur n'indique pas le type de bloc, pour les blocs situés dans la zone intra-refresh, ainsi la partie du champ réservé à cet usage est supprimée afin de réduire la taille des données encodées. Le décodeur déduit de la signalisation de position de la zone intra- refresh, les blocs de la zone intra-refresh qui sont des blocs encodés en intra. This particular decoding of the blocks of the intra-refresh zone is carried out without decoding information concerning the type of block. In fact, the encoder does not indicate the block type, for the blocks located in the intra-refresh zone, so the part of the field reserved for this purpose is deleted in order to reduce the size of the data. encoded. The decoder derives from the position signaling of the intra-refresh zone, the blocks of the intra-refresh zone which are blocks encoded intra.
A l'étape S24 le décodeur passe au bloc suivant et recommence les étapes S22 et S23, jusqu'au décodage de l'ensemble des blocs de la tranche. Une fois l'ensemble des blocs de la tranche décodés, l'encodeur passe à la tranche d'après en recommençant les étapes à partir de l'étape S21, jusqu'à ce que la tranche contenant les données encodées représentatives du dernier bloc de l'image soit décodées. In step S24, the decoder passes to the next block and restarts steps S22 and S23, until decoding of all the blocks of the slot. Once the set of decoded blocks of the slice, the encoder goes to the next slice by repeating the steps from step S21, until the slice containing the encoded data representative of the last block of the image is decoded.
La figure 5 illustre un dispositif d'encodage vidéo 11 et un dispositif de décodage vidéo 21 selon un mode de réalisation de l'invention. FIG. 5 illustrates a video encoding device 11 and a video decoding device 21 according to one embodiment of the invention.
Le dispositif d'encodage vidéo 11 comprend un circuit intégré 14 et une entrée de flux d'images vidéo 12 et une sortie de flux binaire vidéo 13. Le circuit intégré comprend une base de données 15, une mémoire 16 et un processeur. La mémoire 16 étant configurée pour stocker des instructions sous la forme d'un programme informatique dont l'exécution par le processeur 17 déclenche l'encodage du flux d'images vidéo, FIV, en flux binaire vidéo, FBV, par le circuit intégré 14, tel que décrit précédemment. La base de données 15 est configurée pour stocker par couple de positionnement de bloc et positionnement de zone intra-refresh, des ensembles de schémas d'encodage de bloc. The video encoding device 11 comprises an integrated circuit 14 and a video image stream input 12 and a video bit stream output 13. The integrated circuit comprises a database 15, a memory 16 and a processor. The memory 16 is configured to store instructions in the form of a computer program whose execution by the processor 17 triggers the encoding of the video image stream, FIV, in video bit stream, FBV, by the integrated circuit 14 as previously described. The database 15 is configured to store by block positioning torque and intra-refresh zone positioning, sets of block encoding schemes.
Le dispositif de décodage vidéo 21 comprend un circuit intégré 24 et une entrée de flux binaire vidéo 22 et une sortie de flux d'image vidéo 23. Le circuit intégré 14 comprend une base de données 25, une mémoire 26 et un processeur. La mémoire 26 étant configurée pour stocker des instructions sous la forme d'un programme informatique dont l'exécution par le processeur 27 déclenche le décodage du flux binaire vidéo, FBV, en flux d'images restituées vidéo, FIRV, par le circuit intégré 24, tel que décrit précédemment. La base de données 25 est configurée pour stocker par couple de positionnement de bloc et positionnement de zone intra-refresh, des ensembles de schémas d'encodage de bloc. The video decoding device 21 comprises an integrated circuit 24 and a video bit stream input 22 and a video image stream output 23. The integrated circuit 14 comprises a database 25, a memory 26 and a processor. The memory 26 is configured to store instructions in the form of a computer program whose execution by the processor 27 triggers the decoding of the video bit stream, FBV, into video rendered image streams, FIRV, by the integrated circuit 24. as previously described. The database 25 is configured to store by block positioning torque and intra-refresh zone positioning, sets of encoding schemes of block.
Bien entendu, la présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemples. Of course, the present invention is not limited to the embodiments described above as examples.

Claims

REVENDICATIONS
1. Procédé d'encodage d'une vidéo, comprenant une séquence d'images, chaque image de la séquence d'images étant découpée en éléments, ledit procédé comprenant : A method of encoding a video, comprising a sequence of images, each image of the image sequence being divided into elements, said method comprising:
La détermination de N zones spatiales
Figure imgf000039_0001
formant un recouvrement de chaque image, où N est un entier strictement supérieur à l;
The determination of N spatial zones
Figure imgf000039_0001
forming an overlap of each image, where N is an integer strictly greater than 1;
L'association respectivement des N zones spatiales avec N valeurs {n ie[ii;ivj d'un index, de sorte qu'une i-ième valeur n, est associée avec une i-ième zone spatiale ZS,; The association respectively of the N spatial zones with N values { n ie [ ii ; i v j of an index, so that an i-th value n, is associated with a i-th spatial zone ZS ,;
La sélection de N images, {l ieiiiWi, de la séquence d'images ; The selection of N images, {l ieii iW i, of the image sequence;
L'obtention d'un flux binaire vidéo comprenant des séquences binaires ordonnées
Figure imgf000039_0002
de sorte que chaque séquence binaire SBj de rang j du flux binaire vidéo, comprend:
Obtaining a video bit stream comprising ordered bit sequences
Figure imgf000039_0002
so that each binary bit SBj of rank j of the video bit stream comprises:
o Des premières données encodées représentatives d'une j-ième valeur nj de l'index; o First encoded data representative of a j-th value n j of the index;
o Des deuxièmes données encodées, représentatives des éléments d'une j-ième image lj situés dans une zone spatiale ZSj associée à la valeur nj de l'index, obtenues à partir des éléments de l'image lj o Des troisièmes données encodées représentatives des éléments de la j-ième image lj situés en dehors de la zone spatiale ZSj associée à la j-ième valeur nj de l'index, obtenues au moins à partir d'un élément d'une autre image de la séquence d'images. o Second encoded data, representative of the elements of an ith image 1 j located in a spatial zone ZSj associated with the value n j of the index, obtained from the elements of the image 1 j o Third data encoded representative of the elements of the jth image l j located outside the spatial zone ZSj associated with the j-th value n j of the index, obtained at least from an element of another image of the sequence of images.
2. Procédé d'encodage d'une vidéo selon la revendication 1, dans lequel les deuxièmes données encodées ne sont pas obtenues à partir d'éléments autres que ceux de l'image lj. 2. A method of encoding a video according to claim 1, wherein the second encoded data is not obtained from elements other than those of the image l j .
3. Procédé d'encodage d'une vidéo selon l'une des revendications précédentes, dans lequel les N zones spatiales forment une partition de chaque image. 3. A method of encoding a video according to one of the preceding claims, wherein the N spatial areas form a partition of each image.
4. Procédé d'encodage d'une vidéo selon l'une des revendications précédentes, dans lequel les premières données encodées sont comprises dans une partie signalisation du flux binaire vidéo. 4. A method of encoding a video according to one of the preceding claims, wherein the first encoded data are included in a signaling portion of the video bit stream.
5. Procédé d'encodage d'une vidéo selon l'une des revendications précédentes, dans lequel pour chaque séquence binaire SBj de rang j, les troisièmes données encodées comprennent des données encodées représentatives des éléments de la j-ième image lj situés dans une zone spatiale U {_1 ZSfe correspondant à l'union des zones spatiales respectivement associées aux j-1 premières valeurs
Figure imgf000040_0001
de l'index, lesdites données encodées représentatives des éléments de la j-ième image lj situés dans la zone spatiale U {_1 ZSfe ne sont pas obtenues à partir d'éléments autres que ceux des images lm situés respectivement dans des zones spatiales L^ ZS ., pour 1 < m < j < N.
5. Method for encoding a video according to one of the preceding claims, wherein for each bit sequence SBj of rank j, the third encoded data comprise encoded data representative of the elements of the jth image 1 j located in a spatial area U { _1 ZS fe corresponding to the union of the spatial zones respectively associated with the first j-1 values
Figure imgf000040_0001
of the index, said encoded data representative of the elements of the jth image 1 j located in the spatial area U { _1 ZS fe are not obtained from elements other than those of the images l m situated respectively in zones L ^ ZS., for 1 <m <j <N.
6. Procédé d'encodage d'une vidéo selon la revendication 5, dans lequel, pour chaque séquence binaire SBj de rang j, le nombre de bits dans le flux binaire réservés aux données encodées représentatives d'un élément de l'image lj situé dans la zone spatiale U{-1 ZSk est adapté aux dimensions de la zone spatiale U{-1 ZSk. 6. A method of encoding a video according to claim 5, wherein, for each binary sequence SB j of rank j, the number of bits in the bit stream reserved for the encoded data representative of an element of the image. j located in the spatial zone U { -1 ZS k is adapted to the dimensions of the spatial zone U { -1 ZS k .
7. Procédé d'encodage d'une vidéo selon l'une des revendications précédentes, dans lequel, pour chaque séquence binaire SBj de rang j, le nombre de bits dans le flux binaire réservés aux données encodées représentatives d'un élément de l'image lj situés dans la zone spatiale ZSj associée à la valeur nj est adapté à une position de cet élément dans ZSj. 7. Video encoding method according to one of the preceding claims, wherein, for each bit sequence SBj of rank j, the number of bits in the bitstream reserved for encoded data representative of an element of the image l j located in the spatial zone ZSj associated with the value nj is adapted to a position of this element in ZSj.
8. Procédé d'encodage d'une vidéo selon l'une des revendications précédentes, dans lequel, pour chaque séquence binaire SBj de rang j, la séquence binaire SBj comprend : 8. Video encoding method according to one of the preceding claims, wherein, for each binary sequence SBj of rank j, the binary sequence SBj comprises:
- des données relatives à un paramètre de quantification relatif à l'image lj ;data relating to a quantization parameter relating to the image l j ;
- des données relatives à un paramètre de quantification relatif à la zone spatiale ZSj associée à la valeur nj de l'index ; data relating to a quantization parameter relating to the spatial zone ZSj associated with the value nj of the index;
- des données relatives à des paramètres de quantification, de sorte que chacun desdits paramètres est relatif respectivement à un des éléments de l'image.  data relating to quantization parameters, so that each of said parameters is respectively relative to one of the elements of the image.
9. Procédé de décodage d'un flux binaire vidéo, le flux binaire vidéo étant obtenu selon l'une des revendications précédentes, ledit procédé comprenant pour chaque séquence binaire SBj de rang j: 9. A method of decoding a video bit stream, the video bit stream being obtained according to one of the preceding claims, said method comprising for each binary sequence SBj of rank j:
La détermination de la zone spatiale ZSj associée à la valeur nj de l'index à partir du décodage des premières données encodées; Determining the spatial zone ZSj associated with the value nj of the index from the decoding of the first encoded data;
La détermination des éléments d'une image restituée I Rj situés dans la zone spatiale ZSj associée à la valeur nj de l'index, à partir du décodage des deuxièmes données encodées et d'éléments de l'image restituée IRj; La détermination des éléments de l'image restituée IRj situés en dehors de la zone spatiale ZSj associée à la valeur nj de l'index d'image, à partir du décodage des troisièmes données encodées et d'au moins un élément d'une autre image restituée IR. Determining the elements of a restored image I Rj located in the spatial zone ZSj associated with the value nj of the index, from the decoding of the second encoded data and elements of the restored image IR j ; Determining the elements of the IR rendered image j located outside the spatial zone ZS j associated with the value n j of the image index, from the decoding of the third encoded data and at least one element of another image rendered IR.
10. Procédé de décodage d'un flux binaire vidéo selon la revendication 9, dans lequel, la détermination des éléments d'une image restituée IRj situés dans la zone spatiale ZSj associée à la valeur nj de l'index n'est pas faite à partir d'éléments autres que ceux de l'image lj. The method of decoding a video bit stream according to claim 9, wherein the determination of the elements of a restored image IR j located in the spatial zone ZS j associated with the value n j of the index is not made from elements other than those of image l j .
11. Procédé de décodage d'un flux binaire vidéo selon l'une des revendications 9 et 10, dans lequel, pour chaque séquence binaire SBj de rang j, si les deuxièmes et troisièmes données encodées comprennent des données encodées représentatives d'un premier élément E de l'image lj obtenues uniquement à partir d'éléments de ladite image lj et que les données représentatives d'au moins un deuxième élément E' parmi lesdits éléments de l'image lj sont obtenues à partir d'un élément d'une autre image de la séquence d'images, 11. A method for decoding a video bit stream according to one of claims 9 and 10, wherein, for each binary sequence SB j of rank j, if the second and third encoded data comprise encoded data representative of a first element E of the image 1 j obtained only from elements of said image 1 j and that the data representative of at least one second element E 'among said elements of the image 1 j are obtained from a element of another image in the image sequence,
alors la détermination d'un élément de l'image restituée IRj correspondant au premier élément E est obtenu à partir : then the determination of an element of the restored image IR j corresponding to the first element E is obtained from:
du décodage des données encodées représentatives du premier élément E ;  decoding the encoded data representative of the first element E;
d'au moins l'élément de l'image restituée IRj correspondant au deuxième l'élément E', si le premier élément E est situé en dehors de la zone spatiale ZSj associée à la valeur nj de l'index; at least the element of the restored image IR j corresponding to the second element E ', if the first element E is located outside the spatial zone ZS j associated with the value n j of the index;
des éléments de l'image restituée IRj correspondant aux dits éléments de l'image lj en remplaçant l'élément de l'image IRj correspondant au deuxième élément E' par un élément générique, si le premier élément E est situé dans la zone spatiale ZSj associée à la valeur nj de l'index. elements of the rendered image IR j corresponding to said elements of the image I j by replacing the element of the image IR j corresponding to the second element E 'by a generic element, if the first element E is located in the spatial zone ZS j associated with the value n j of the index.
12. Procédé d'encodage d'une vidéo comprenant une séquence d'images, chaque image de la séquence d'images étant découpée en éléments, ledit procédé comprenant : A method of encoding a video comprising a sequence of images, each image of the image sequence being divided into elements, said method comprising:
La détermination d'une pluralité de zones spatiales formant un recouvrement de chaque image;  Determining a plurality of spatial areas forming an overlap of each image;
L'association respectivement des zones spatiales de la pluralité de zones spatiales avec des valeurs d'un index;  Associating respectively the spatial zones of the plurality of spatial zones with values of an index;
La sélection d'une image de la séquence d'images ;  Selecting an image of the image sequence;
La sélection d'une valeur de l'index ; L'obtention d'un flux binaire vidéo comprenant : Selecting a value from the index Obtaining a video bit stream comprising:
o Des données encodées représentatives de la valeur de l'index; o Des données encodées représentatives des éléments de l'image situés dans la zone spatiale associée à la valeur de l'index, obtenues à partir des éléments de l'image ;  o Encoded data representative of the value of the index; o Encoded data representative of the elements of the image located in the spatial zone associated with the value of the index, obtained from the elements of the image;
o Des données encodées représentatives des éléments de l'image situés en dehors de la zone spatiale associée à la valeur de l'index, obtenues au moins à partir d'un élément d'une autre image de la séquence d'images.  o Encoded data representative of the elements of the image located outside the spatial zone associated with the value of the index, obtained at least from an element of another image of the image sequence.
13. Produit programme informatique comportant des instructions pour la mise en œuvre du procédé selon l'une des revendications 1 à 12, lorsque ce programme est exécuté par un processeur. 13. Computer program product comprising instructions for implementing the method according to one of claims 1 to 12, when the program is executed by a processor.
14. Dispositif d'encodage d'une vidéo, la dite vidéo comprenant une séquence d'images, chaque image de la séquence d'images étant découpée en éléments, le dispositif comprenant : 14. A device for encoding a video, said video comprising a sequence of images, each image of the image sequence being divided into elements, the device comprising:
- un processeur; et  - a processor; and
- un support informatique non-transitoire comprenant des instructions qui lorsqu'elles sont exécutées par le processeur configure le dispositif pour: déterminer N zones spatiales
Figure imgf000042_0001
formant un recouvrement de chaque image, où N est un entier strictement supérieur à 1;
a non-transitory computer medium comprising instructions that when executed by the processor configures the device to: determine N spatial zones
Figure imgf000042_0001
forming an overlap of each image, where N is an integer strictly greater than 1;
associer respectivement les N zones spatiales avec N valeurs
Figure imgf000042_0002
d'un index, de sorte qu'une i-ième valeur n, est associée avec une i-ième zone spatiale ZS,;
associate respectively the N spatial zones with N values
Figure imgf000042_0002
an index, so that an i-th value n, is associated with a i-th spatial zone ZS ,;
sélectionner N images,
Figure imgf000042_0003
de la séquence d'images ;
select N images,
Figure imgf000042_0003
the sequence of images;
obtenir un flux binaire vidéo comprenant des séquences binaires ordonnées
Figure imgf000042_0004
de sorte que chaque séquence binaire SBj de rang j du flux binaire vidéo, comprenne:
to obtain a video bit stream comprising ordered bit sequences
Figure imgf000042_0004
so that each binary sequence SBj of rank j of the video bit stream comprises:
o Des premières données encodées représentatives d'une j-ième valeur nj de l'index; o First encoded data representative of a j-th value n j of the index;
o Des deuxièmes données encodées, représentatives des éléments d'une j-ième image lj situés dans une zone spatiale ZSj associée à la valeur nj de l'index, obtenues à partir des éléments de l'image lj o Des troisièmes données encodées représentatives des éléments de la j-ième image lj situés en dehors de la zone spatiale ZSj associée à la j-ième valeur nj de l'index, obtenues au moins à partir d'un élément d'une autre image de la séquence d'images . o Second encoded data, representative of the elements of an ith image 1 j located in a spatial zone ZSj associated with the value n j of the index, obtained from the elements of the image 1 j o Third data encoded representative of the elements of the jth image l j located outside the spatial zone ZSj associated with the jth value n j of the index, obtained at least from an element of another image of the image sequence.
15. Dispositif de décodage d'un flux binaire vidéo, le flux binaire vidéo étant obtenu selon l'une des revendications 1 à 7 précédentes, le dispositif comprenant : 15. Device for decoding a video bit stream, the video bit stream being obtained according to one of the preceding claims 1 to 7, the device comprising:
- un processeur; et  - a processor; and
- un support informatique non-transitoire comprenant des instructions qui lorsqu'elles sont exécutées par le processeur configure le dispositif pour que, pour chaque séquence binaire SBj de rang j, le dispositif: a non-transitory computer support comprising instructions which, when executed by the processor, configures the device so that, for each binary sequence SB j of rank j, the device:
détermine la zone spatiale ZSj associée à la valeur nj de l'index à partir du décodage des premières données encodées; determines the spatial zone ZS j associated with the value n j of the index from the decoding of the first encoded data;
détermine des éléments d'une image restituée IRj situés dans la zone spatiale ZSj associée à la valeur nj de l'index, à partir du décodage des deuxièmes données encodées et/ou de données génériques; determines elements of a restored image IR j located in the spatial zone ZS j associated with the value n j of the index, from the decoding of the second encoded data and / or generic data;
détermine des éléments de l'image restituée IRj situés en dehors de la zone spatiale ZSj associée à la valeur nj de l'index d'image, à partir du décodage des troisièmes données encodées et d'au moins un élément d'une autre image restituée IR. determines elements of the rendered image IR j located outside the spatial zone ZS j associated with the value n j of the image index, from the decoding of the third encoded data and at least one element of another image rendered IR.
PCT/FR2019/050556 2018-03-19 2019-03-13 Method of low-latency video encoding and decoding WO2019180350A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1852346A FR3079098B1 (en) 2018-03-19 2018-03-19 LOW LATENCY VIDEO ENCODING AND DECODING METHOD
FR1852346 2018-03-19

Publications (1)

Publication Number Publication Date
WO2019180350A1 true WO2019180350A1 (en) 2019-09-26

Family

ID=63143198

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2019/050556 WO2019180350A1 (en) 2018-03-19 2019-03-13 Method of low-latency video encoding and decoding

Country Status (2)

Country Link
FR (1) FR3079098B1 (en)
WO (1) WO2019180350A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3098071A1 (en) * 2019-06-25 2021-01-01 S.A. Vitec Low latency video encoding and decoding process

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130114697A1 (en) * 2011-11-08 2013-05-09 Texas Instruments Incorporated Method, System and Apparatus for Intra-Refresh in Video Signal Processing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130114697A1 (en) * 2011-11-08 2013-05-09 Texas Instruments Incorporated Method, System and Apparatus for Intra-Refresh in Video Signal Processing

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GARY J. SULLIVAN ET AL.: "Overview of the High Efficiency Video Coding (HEVC) Standard", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, vol. 22, no. 12, December 2012 (2012-12-01), XP011487803, DOI: doi:10.1109/TCSVT.2012.2221191
KIMIHIKO KAZUI ET AL: "Draft description of proposed syntax and semantics for very low delay coding", 95. MPEG MEETING; 24-1-2011 - 28-1-2011; DAEGU; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, no. m18800, 15 January 2011 (2011-01-15), XP030047370 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3098071A1 (en) * 2019-06-25 2021-01-01 S.A. Vitec Low latency video encoding and decoding process

Also Published As

Publication number Publication date
FR3079098B1 (en) 2020-04-17
FR3079098A1 (en) 2019-09-20

Similar Documents

Publication Publication Date Title
EP2446628B1 (en) Method for decoding images, decoding devices, and corresponding computer program
EP2304963B1 (en) Method and device for encoding images using improved prediction, and corresponding decoding method and device, signal and computer software
EP3061246B1 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
EP2277318B1 (en) Coding and decoding of an image or of a sequence of images sliced into partitions of pixels of linear form
FR3008840A1 (en) METHOD AND DEVICE FOR DECODING A SCALABLE TRAIN REPRESENTATIVE OF AN IMAGE SEQUENCE AND CORRESPONDING ENCODING METHOD AND DEVICE
EP3075155B1 (en) Method for encoding and decoding images, device for encoding and decoding images and corresponding computer programs
EP4344203A2 (en) Method for encoding and decoding images, corresponding encoding and decoding device and computer programs
WO2019180350A1 (en) Method of low-latency video encoding and decoding
EP2761871B1 (en) Decoder side motion estimation based on template matching
WO2016024067A1 (en) Image encoding and decoding method, image encoding and decoding device, and corresponding computer programs
EP3632103B1 (en) Methods and devices for coding and decoding a data stream representative of at least one image
EP3649787A2 (en) Methods and devices for encoding and decoding a data stream representative of an image sequence
EP3409016A1 (en) Method for encoding and decoding data, device for encoding and decoding data, and corresponding computer programs
FR3098071A1 (en) Low latency video encoding and decoding process
EP3649786A1 (en) Method for encoding and decoding images, encoding and decoding device, and corresponding computer programs
WO2010063898A1 (en) Device for encoding a digital image stream and corresponding decoding device with approximation of the neighbourhood of a block by the widened neighbourhood of the block
FR3057130A1 (en) METHOD OF ENCODING AN IMAGE, DECODING METHOD, DEVICES, TERMINAL EQUIPMENT AND COMPUTER PROGRAMS
WO2024042286A1 (en) Coding-loop-external smoothing of a boundary between two image regions
EP3180914B1 (en) Image encoding and decoding method, image encoding and decoding device, and corresponding computer programs
WO2020094706A1 (en) Image coding by differential pulse coded modulation with the aid of a prediction function
FR3064145A1 (en) METHOD FOR ENCODING AND DECODING IMAGES, CORRESPONDING ENCODING AND DECODING DEVICE AND COMPUTER PROGRAMS
FR2927494A1 (en) Image sequence e.g. compressed video sequence, decoding method for e.g. electronic device, involves determining reference macro block to be deleted based on defined probability criteria, and deleting reference macro block from memory

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: 19717527

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19717527

Country of ref document: EP

Kind code of ref document: A1