[go: up one dir, main page]

WO2019180350A1 - Procédé d'encodage et de décodage vidéo faible latence - Google Patents

Procédé d'encodage et de décodage vidéo faible latence 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
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/FR2019/050556
Other languages
English (en)
Inventor
Jean-Marc Thiesse
Adrien GRILL
Didier Nicholson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SA Vitec
Original Assignee
SA 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 SA Vitec filed Critical SA Vitec
Publication of WO2019180350A1 publication Critical patent/WO2019180350A1/fr
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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

L'invention concerne un procédé d'encodage d'une vidéo comprenant une séquence d'images découpées en éléments, le procédé comprenant : L'invention concerne un procédé d'encodage d'une vidéo comprenant une séquence d'images découpées en éléments, le procédé comprenant : - La détermination d'une pluralité de zones spatiales; - L'association de chaque zone spatiale à une valeur d'un index; - La sélection d'une image de la séquence d'images; - La sélection d'une valeur de l'index; -L'obtention d'un flux binaire vidéo comprenant : 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 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.

Description

Procédé d'encodage et de décodage vidéo faible latence
La présente invention concerne le domaine de la compression vidéo et plus spécifiquement les encodeurs et décodeurs vidéo.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Bien que le gain en termes de latence soit conséquent, de tels procédés ne sont pas exempts de défauts.
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.
La présente invention vient améliorer la 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 :
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;
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,;
La sélection de N images,
Figure imgf000006_0002
de la séquence d'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
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.
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
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.
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.
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.
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;
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.
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.
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).
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.
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).
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.
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.
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.
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.
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.
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.
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.
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.
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 ».
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
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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;
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;
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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:
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
n'est pas faite à partir d'éléments de l'image restituée I Rj situés en dehors de la zone spatiale 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.
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.
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,
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 ;
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;
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.
« Lesdits éléments » sont ceux à partir desquels ont été obtenues les données représentatives du premier élément.
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.
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;
L'association respectivement des zones spatiales de la pluralité de zones spatiales avec des valeurs d'un index;
La sélection d'une image de la séquence d'images ;
La sélection d'une valeur de l'index ;
L'obtention d'un flux binaire vidéo comprenant :
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 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.
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é.
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.
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
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 imgf000021_0001
formant un recouvrement de chaque image, où N est un entier strictement supérieur à 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,;
sélectionner N images,
Figure imgf000021_0003
de la séquence d'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:
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 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.
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 :
un processeur; et
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;
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;
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.
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 :
- la figure 1 illustre le traitement d'une séquence d'images dans le cadre d'un encodage de type Intra-refresh ;
- la figure 2 illustre la structure d'une séquence binaire selon un mode de réalisation de l'invention ;
- la figure 3 illustre les étapes de l'encodage selon un mode de réalisation de l'invention ;
- la figure 4 illustre les étapes de décodage selon un mode de réalisation de l'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.
La figure 1 illustre le traitement d'une séquence d'images dans le cadre d'un encodage de type Intra-refresh.
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.
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.
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.
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.
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.
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.
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é.
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.
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.
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.
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,.
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.
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.
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.
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).
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.
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).
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.
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.
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.
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.
Dans cet exemple, les données encodées représentatives du bloc ECOd en cours d'encodage seront comprises dans la cinquième tranche.
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).
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.
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.
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).
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.
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.
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.
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).
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.
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.
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).
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 :
Valeur(signalisation delta Q.P bloc) + Valeur(signalisation delta Q.P tranche) +
Valeur(signalisation initial 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 :
Valeur(signalisation delta Q.P bloc) + Valeur(signalisation delta Q.P intra-refresh) +
Valeur(signalisation delta Q.P tranche) +
Valeur(signalisation initial Q.P)
La figure 3 décrit les étapes mises en œuvre par l'encodeur selon un mode de réalisation de l'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
L'encodeur dispose les valeurs des différents éléments de signalisation dans le champ PPS.
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.
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.
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.
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é.
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).
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.
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.
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.
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.
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.
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.
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.
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.
La figure 4 illustre les étapes de décodage selon un mode de réalisation selon l'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.
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.
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.
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.
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.
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 .
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).
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
Bien entendu, la présente invention ne se limite pas aux formes de réalisation décrites ci-avant à titre d'exemples.

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 :
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;
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,;
La sélection de N images, {l ieiiiWi, de la séquence d'images ;
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:
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 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.
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.
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.
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.
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.
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.
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.
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 :
- des données relatives à un paramètre de quantification relatif à l'image lj ;
- 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.
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:
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;
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.
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.
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,
alors la détermination d'un élément de l'image restituée IRj correspondant au premier élément E est obtenu à partir :
du décodage des données encodées représentatives du premier élément 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;
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.
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 :
La détermination d'une pluralité de zones spatiales formant un recouvrement de chaque image;
L'association respectivement des zones spatiales de la pluralité de zones spatiales avec des valeurs d'un index;
La sélection d'une image de la séquence d'images ;
La sélection d'une valeur de l'index ; L'obtention d'un flux binaire vidéo comprenant :
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 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.
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.
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 :
- un processeur; et
- 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;
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,;
sélectionner N images,
Figure imgf000042_0003
de la séquence d'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:
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 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 .
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 :
- un processeur; et
- 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;
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;
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.
PCT/FR2019/050556 2018-03-19 2019-03-13 Procédé d'encodage et de décodage vidéo faible latence Ceased WO2019180350A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1852346A FR3079098B1 (fr) 2018-03-19 2018-03-19 Procede d'encodage et de decodage video faible latence
FR1852346 2018-03-19

Publications (1)

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

Family

ID=63143198

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2019/050556 Ceased WO2019180350A1 (fr) 2018-03-19 2019-03-13 Procédé d'encodage et de décodage vidéo faible latence

Country Status (2)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3098071A1 (fr) * 2019-06-25 2021-01-01 S.A. Vitec Procédé d’encodage et de décodage vidéo faible latence

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 (fr) * 2019-06-25 2021-01-01 S.A. Vitec Procédé d’encodage et de décodage vidéo faible latence

Also Published As

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

Similar Documents

Publication Publication Date Title
EP2304963B1 (fr) Procede et dispositif de codage d&#39;images mettant en oeuvre une prediction amelioree, procede et dispositif de decodage, signal et programmes d&#39;ordinateur correspondants
FR2947134A1 (fr) Procedes de codage et de decodages d&#39;images, dispositifs de codage et de decodage, flux de donnees et programme d&#39;ordinateur correspondants.
EP3061246B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP2277318B1 (fr) Codage et decodage d&#39;une image ou d&#39;une sequence d&#39;images decoupees selon des partitions de pixels de forme lineaire
EP3075155B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
FR3008840A1 (fr) Procede et dispositif de decodage d&#39;un train scalable representatif d&#39;une sequence d&#39;images et procede et dispositif de codage correspondants
WO2019008255A2 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;une séquence d&#39;images
WO2019008254A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
EP3180914B1 (fr) Procédé de codage et de décodage d&#39;images, dispositif de codage et de décodage d&#39;images et programmes d&#39;ordinateur correspondants
EP3632103B1 (fr) Procédés et dispositifs de codage et de décodage d&#39;un flux de données représentatif d&#39;au moins une image
EP2761871B1 (fr) Estimation de mouvement au niveau du décodeur par mise en correspondance de modèles
WO2019180350A1 (fr) Procédé d&#39;encodage et de décodage vidéo faible latence
EP3409016A1 (fr) Procédé de codage et décodage de données, dispositif de codage et décodage de données et programmes d&#39;ordinateur correspondants
FR3098071A1 (fr) Procédé d’encodage et de décodage vidéo faible latence
FR2939264A1 (fr) Dispositif d&#39;encodage d&#39;un flux d&#39;images numeriques et dispositif de decodage correspondant
FR3139260A1 (fr) Lissage hors boucle de codage d’une frontière entre deux zones d’image
EP3649786A1 (fr) Procédé de codage et décodage d&#39;images, dispositif de codage et décodage et programmes d&#39;ordinateur correspondants
FR3057130A1 (fr) Procede de codage d&#39;une image, procede de decodage, dispositifs, equipement terminal et programmes d&#39;ordinateurs associes
FR3064145A1 (fr) Procede de codage et decodage d&#39;images, dispositif de codage et decodage et programmes d&#39;ordinateur correspondants
WO2020094706A1 (fr) Codage d&#39;image par modulation differentielle par impulsions codees a l&#39;aide d&#39;une fonction de prediction
FR2927494A1 (fr) Procede de decodage et codage d&#39;une sequence d&#39;images avec compensation de mouvement

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