[go: up one dir, main page]

WO2012119766A1 - Codage et décodage vidéo avec tolérance aux erreurs améliorée - Google Patents

Codage et décodage vidéo avec tolérance aux erreurs améliorée Download PDF

Info

Publication number
WO2012119766A1
WO2012119766A1 PCT/EP2012/001011 EP2012001011W WO2012119766A1 WO 2012119766 A1 WO2012119766 A1 WO 2012119766A1 EP 2012001011 W EP2012001011 W EP 2012001011W WO 2012119766 A1 WO2012119766 A1 WO 2012119766A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion vector
predictors
image areas
image
encoded
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/EP2012/001011
Other languages
English (en)
Inventor
Guillaume Laroche
Patrice Onno
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Publication of WO2012119766A1 publication Critical patent/WO2012119766A1/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/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • H04N19/517Processing of motion vectors by encoding
    • H04N19/52Processing of motion vectors by encoding by predictive encoding
    • 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/164Feedback from the receiver or from the transmission channel
    • H04N19/166Feedback from the receiver or from the transmission channel concerning the amount of transmission errors, e.g. bit error rate [BER]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/85Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
    • H04N19/89Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression involving methods or arrangements for detection of transmission errors at the decoder

Definitions

  • the invention relates to a method and device for encoding a sequence of digital images into a bitstream and a method and device for decoding the corresponding bitstream.
  • the invention belongs to the field of digital signal processing, and in particular to the field of video compression using motion compensation to reduce spatial and temporal redundancies in video streams. Description of the prior-art
  • Video compression formats for example H.263, H.264, MPEG-1 , MPEG-2, MPEG-4, SVC, use block-based discrete cosine transform (DCT) and motion compensation to remove spatial and temporal redundancies. They can be referred to as predictive video formats.
  • DCT discrete cosine transform
  • Each frame or image of the video signal is divided into slices which are encoded and can be decoded independently.
  • a slice is typically a rectangular portion of the frame, or more generally, a portion of a frame or an entire frame.
  • each slice is divided into macroblocks (MBs), and each macroblock is further divided into blocks, typically blocks of 8x8 pixels.
  • MBs macroblocks
  • the encoded frames are of two types: temporal predicted frames (either predicted from one reference frame called P-frames or predicted from two reference frames called B- frames) and non temporal predicted frames (called Intra frames or I- frames).
  • Temporal prediction consists in finding in a reference frame, either a frame preceding or following the frame to encode in the video sequence, a reference area which is the closest to the block to encode. This step is known as motion estimation.
  • motion compensation the difference between the block to encode and the reference area is encoded (motion compensation), along with an item of motion information relative to the motion vector which indicates the reference area to use for motion compensation.
  • motion vectors are encoded with respect to a median predictor computed from the motion vectors of the block situated in a causal neighborhood of the block to encode, for example from the blocks situated above and on the left of the block to encode. Only the difference, also called residual motion vector, between the median predictor and the current block motion vector is encoded.
  • the encoding using residual motion vectors saves some bitrate, but necessitates that the decoder performs the same computation of the motion vector predictor in order to decode the value of the motion vector of a block to decode.
  • motion vector predictors are motion vectors associated to blocks generally close to the block to predict.
  • This method called motion vector competition, consists in selecting between several motion vector predictors or candidates the one that minimizes an encoding cost, typically a rate-distortion (RD) cost, of the residual motion information.
  • the residual motion information comprises the residual motion vector, i.e. the difference between the actual motion vector of the block to encode and the selected motion vector predictor, and an item of information indicating the selected motion vector predictor, such as for example an encoded value of the index of the selected motion vector predictor.
  • AMVP Advanced Motion Vector Prediction
  • the left predictor is extracted from the blocks I, H, G or F depending on the availability of the vector in these blocks.
  • a vector is considered as available if this vector exists and if the reference frame index of the associated block is the same as the reference frame index of the block to encode (if the vector predictor and vector of the block to encode point to the same reference frame).
  • the non-existence of a motion vector means that the related block was Intra coded.
  • the search is performed from bottom to top, starting at the block I and finishing at the block F.
  • the first vector predictor which meets the availability criterion is selected as the left predictor. If no predictor meets the availability criterion, the left predictor is considered unavailable.
  • the top predictor is extracted from the block E, D, C, B or A depending on the same availability criterion.
  • the search is performed from right to left starting at the block E and finishing at the block A. Again, if no predictor meets the availability criterion, the top predictor is considered unavailable.
  • the temporal predictor is generally extracted from the collocated block.
  • a collocated block is a block situated at the same position as the block to encode but in another image.
  • Two cases are considered for the temporal predictor depending on the acceptable decoding delay: low delay decoding case and hierarchical case. I n the low delay decoding case, the temporal motion predictor comes from the collocated block extracted from the nearest reference frame.
  • two collocated blocks could be available: one in the temporally closest frame from a list "LO" of reference frames and one in the temporally closest frame from a list "L1" of reference frames. The construction of these lists is left to the implementer who can decide for instance inserting past frames in list "LO" and future frames in list "L1".
  • both collocated blocks contain a motion vector
  • the predictor contained in the collocated block of the reference frame which is at the shortest temporal distance from the frame to encode is selected. If both reference frames are at the same temporal distance, the predictor provided by the list "LO" is selected. The selected predictor is then scaled, if needed, according to the temporal distance between its originating reference frame and the frame to encode. If no collocated predictor exists, the temporal predictor is considered unavailable.
  • the collocated block is extracted from the future reference frame and contains 2 motion vectors since this block is bi-predicted.
  • the motion vector which crosses the frame to encode is selected. If both predictors cross the frame to encode, the motion vector which points to the temporally closest reference frame is selected. If both predictors are associated to the same temporal distance, the motion from the first list "LO" is then selected.
  • the selected predictor is then scaled, if needed, according to the temporal distance between its originating reference frame and the frame to encode. If no collocated predictor exists, the temporal predictor is considered unavailable.
  • the collocated block is divided into a plurality of partitions (potentially, the collocated block contains a plurality of motion vectors)
  • the partition selected for providing a motion vector predictor is a centered partition.
  • JCTVC-D125 Improved Advanced Motion Vector Prediction, Jian-Liang Lin, Yu-Pao Tsai, Yu- Wen Huang, Shawmin Lei, 4 th JCTVC meeting, Daegu, KR, 20-28 January, 201 1 , http://phenix.int-eyry.fr/ict/” proposed to use multiple temporal predictors instead of using only one in the current version.
  • the set of predictors generated can contain 0, 1 , 2 or 3 predictors. If no predictor could be defined during the derivation, the motion vector is not predicted. Both vertical and horizontal components are coded without prediction (this corresponds to a prediction by a predictor equal to the zero value). In the current HEVC implementation, the index of the predictor is equal to 0.
  • the ordering of the motion vector predictors obtained after the vector predictors' derivation is important to reduce the overhead of signaling the best motion predictor in the set.
  • the ordering in the set is adapted depending on the block to encode prediction mode to position the most probable motion vector predictor in the first position. Indeed in that case a minimum overhead occurs if the first candidate is chosen as the best predictor.
  • the temporal predictor is in first position.
  • the overhead of signaling the index of the best predictor can be further reduced by a suppression process which minimizes the number of predictors in the set. Duplicated motion vectors are simply removed from the set.
  • the Merge mode is a particular Inter coding, similar to the usual Skip mode well known by persons skilled in the art.
  • the main difference compared to the usual Skip mode is that the Merge mode propagates the value of the reference frame index, the direction (Bi directional or uni-directional) and the list (with the uni-directional direction) of the motion vector predictors to the predicted block.
  • the Merge mode uses a motion vector predictor and its reference frame index, unless the predictor is a temporal predictor where the reference frame considered is always the closest preceding reference frame also called RefO (and always bi prediction for B frames). So the block predictors (the copied blocks) come from the reference frames pointed by the motion vector predictors.
  • the suppression process takes into account the values of the motion vector and its reference frame. So the two components of the motion vector and its reference index are compared to each other and only if these three values are equal the predictor is removed from the set. For B frames, this criterion is extended to the direction and the lists. So, predictors are considered as duplicated predictors if they use the same direction, the same lists (L0, L1 , or L0 and L1 ), the same reference frame indexes and have the same motion vector components (MV_L0 and MV_L1 for bi prediction).
  • the index signaling depends on the result of the motion vector predictor suppression process described above. Indeed, the number of bits allocated to the signaling depends on the number of motion vectors remaining after the suppression. For instance, if at the end of this algorithm, only one motion vector remains, no overhead is required to signal the motion vector predictor index, since the index can be easily retrieved by the decoder.
  • Table 1 gives the codeword for each index coding according to the number of predictors after the suppression process.
  • FIG. 3 illustrates a block diagram of a video encoder in which AMVP is implemented (in step S317).
  • Th e encoder i s represented by connected modules, each module being adapted to implement, for example in the form of programming instructions to be executed by a processor, a corresponding step of a method implementing a video encoding process involving AMVP.
  • An original sequence of digital images io to i n D301 is received as an input to an encoder 30.
  • Each digital image is represented by a set of samples, known as pixels.
  • a bitstream D310 is output by the encoder 30.
  • the bitstream D310 comprises a plurality of encoding units or slices, each slice comprising a slice header for encoding values of encoding parameters used to encode the slice and a slice body, comprising encoded video data.
  • the input digital images are divided into blocks S302, which blocks are image areas and may be of variable sizes (e.g. 4x4, 8x8, 16x16, 32x32).
  • a coding mode is selected for each input block.
  • Step S303 implements Intra prediction, in which the given block to encode is predicted by a predictor computed from pixels of the neighborhood of said block to encode. An indication of the Intra predictor selected and the difference between the given block and its predictor is encoded if the Intra coding is selected.
  • Temporal prediction is implemented by step S304 and S305. Firstly a reference image among a set of reference images D316 is selected, and an area of the reference image, also called reference area, which is the closest area to the given block to encode, is selected by the motion estimation module S304. The difference between the selected reference area and the given block, also called a residual block, is computed by the motion compensation module S305. The selected reference area is indicated by a motion vector.
  • Motion vector Information relative to the motion vector and the residual block is encoded if the Inter prediction is selected.
  • the motion vector is encoded by difference with respect to a motion vector predictor.
  • a set of motion vector predictors also called motion information predictors, is obtained from the motion vectors field D318 by a motion vector prediction and coding module S317.
  • the index of the selected motion vector predictor which is an item of information representative of the selected motion vector predictor, is encoded.
  • the encoder 30 further comprises a module of selection of the coding mode S306, which uses an encoding cost criterion, such as a rate-distortion criterion, to determine which is the best mode among the spatial prediction mode and the temporal prediction mode.
  • a transform S307 is applied to the residual block, the transformed data obtained is then quantized by module S308 and entropy encoded by module S309.
  • the encoded residual block of the current block to encode is inserted in the bitstream D310, along with the information relative to the predictor used. For the blocks encoded in 'SKIP' mode, only a reference to the predictor is encoded in the bitstream, without any residual block.
  • the encoder 30 further performs the decoding of the encoded image in order to produce a reference image for the motion estimation of the subsequent images.
  • the module S311 performs inverse quantization of the quantized data, followed by an inverse transform D312.
  • the reverse motion prediction module S314 uses the prediction information to determine which predictor to use for a given block and performs the reverse motion compensation by actually adding the residual obtained by module D312 to the reference area obtained from the set of reference images D316.
  • a deblocking filter S315 is applied to remove the blocking effects and enhance the visual quality of the decoded image. The same deblocking filter is applied at the decoder, so that, if there is no transmission loss, the encoder and the decoder apply the same processing.
  • Figure 1 b sh ows the description of the current implementation of the AMVP scheme in HEVC at encoder side which corresponds to module S317 in figure 3 when AMVP is used.
  • each stored encoded vector also called the motion vector field
  • module D1 b01 which corresponds to the motion vectors field D318 in figure 3.
  • the neighboring motion vectors, used for the prediction can be extracted from the motion vectors field D1 b01.
  • StepS1 b12 in Figure 1b corresponds to the entropy decoding step S309 in Figure 3.
  • step S1 b03 the motion vector predictors derivation process generates the motion vector predictors set D1b04 by taking into account the current reference frame index D1 b13. Then the suppression step S1 b05 is applied, as described above. Please note that with this process the value of the motion vector to be encoded needs to be known.
  • This step S1 b05 produces a reduced motion vector predictors set D1 b06.
  • the step S1b07 of RD (rate-distortion) selection of the best motion vector predictor is applied among the reduced motion vector predictors set D1 b06 with respect to the motion vector to be encoded D1b02.
  • step S1 b08 This generates a motion vector predictor index D1 b08 (if there is one) depending on the selected motion vector predictor D1 b09. Then, the motion vector D1 b02 is predicted in step S1 b10 which produces a motion vector residual D1 b1 1. This motion vector residual is then encoded in step S1 b12 using entropic coding. The motion vector predictor index D1 b08 is converted in step S1 b14 into a codeword D1 b15 according to the number of predictors D1 b16 in the reduced motion vector predictors set D1b06 as depicted in the previous table 1. As described above, if this set contains only one predictor, no index is transmitted to the decoder side.
  • FIG. 4 illustrates a flow chart of a video decoder implementing AMVP.
  • the decoder is represented by connected modules, each module being adapted to implement, for example in the form of programming instructions to be executed by a processor, a corresponding step of a method implementing a video decoding process involving AMVP.
  • the decoder 40 receives a bitstream D401 comprising encoding units or slice, each one being composed of a header containing information on encoding parameters and a body containing the encoded video data.
  • the received encoded video data is entropy decoded during step S402, dequantized in step S403 and then a reverse transform is applied in step S404.
  • the decoder when the received encoded video data corresponds to a residual block of a current block to decode, the decoder also decodes motion prediction information from the bitstream, so as to find the reference area used by the encoder.
  • the step S410 applies the motion vector decoding for each current block encoded by motion prediction, comprising determining the number N of motion vector predictors considered by the encoder and retrieving the motion vector predictor index encoded on a number of bits dependent on N. If the bitstream is received without losses, the decoder generates exactly the same set of motion vector predictors as the encoder. In case of losses, it may not be possible to generate the set of motion vector predictors and therefore to correctly decode the motion vector associated with the current block. In the current implementation of AMVP in HEVC, the parsing of the bitstream is not insured in case of errors.
  • the actual value of the motion vector associated with the current block can be decoded and used to apply reverse motion compensation in step S406.
  • the reference area indicated by the decoded motion vector is extracted from a reference image during step S408 to finally apply the reverse motion compensation in step S406.
  • an inverse Intra prediction is applied by step S405.
  • a deblocking filter is applied during step S407, similarly to the deblocking filter in step S315 applied at the encoder.
  • a decoded video signal D409 is finally provided by the decoder 40.
  • FIG. 1c shows in detail the flow chart of the AMVP scheme at decoder side.
  • reference D1 c01 is the same as D411 in Figure 4
  • reference D1c05 is the same as reference D401
  • step S1 c06 is the same as step S402.
  • This flow chart shows the algorithm applied in step S410 when the AMVP scheme is used.
  • the decoder applies the motion vector predictors' derivation and the suppression process to generate the motion predictors set D1 c03 based on the motion vectors field D1 c01 of the current frame and of the previous frames.
  • the motion vector residual D1 c07 is extracted from the bitstream D1c05 and decoded by the entropy decoder in step S1c06.
  • the number of predictors in the reduced set D1 c16 is then used in the entropy decoding step S1c06 to extract (if needed) the motion vector predictor codeword D1 c14.
  • This codeword (if it exists) is converted during step S1c15 according to the value in D1c16 in a predictor index D1c09.
  • the motion vector predictor D1c10 is then extracted from the reduced set D1 c08 according to this predictor index value D1c09.
  • the motion vector predictor is added to the motion residual in step S1c11 in order to produce the decoded motion vector D1 c12.
  • the decoder needs to be able to apply the same derivation and suppression as the encoder to determine the set of possible motion vector predictors considered by the encoder. Indeed, otherwise, it cannot deduce the amount of bits used for indicating the selected motion vector predictor and decode the index of the motion vector predictor and finally decode the motion vector using the motion vector residual received.
  • a second solution is to encode the predictor with a unary code.
  • the unary code consists in signaling the predictor index in a way that does not depend on the size of the set of predictors.
  • the encoder writes several successive "1" corresponding to the number of the predictor and the final bit is always "0".
  • Table 2 gives an example of the unary code with 3 possible indexes.
  • Figure 5 shows the flow chart of the encoding when the unary max code is used.
  • Figure 5 is the same as Figure 1 b, except that the step S614 receives the maximum possible number of predictors D616.
  • the number of predictors in the reduced set D1b16 is not used for the conversion of the index to codeword in S614. This number can be determined if transmitted in the slice header or inferred if this maximum number is always the same.
  • Figure 6 shows a flow chart of the decoding when the unary max code is used.
  • Figure 6 is the same as Figure 1c except that the module step S715 knows or receives the maximum possible number of motion vector predictors D716 that the encoder can use. So the number of predictors in the reduced set D1c16 of figure 1 c is not used for the entropy decoding in step S706 and for the conversion of the codeword to index in step S715. Only the maximum possible number is used.
  • Encoding the maximum number of predictors in the slice header is efficient when all blocks in a slice have the same number. Generally, this is not the case and this solution reduces the compression efficiency compared to a scheme adapting the maximum number at the CU level.
  • a method of encoding a sequence of digital images in which at least one area of an image is encoded by motion compensation with respect to at least one reference image area belonging to at least one reference image,
  • the method comprises:
  • the method of the invention allows the systematic determination of a target number of motion vector predictors to be used for encoding the motion information, such as a motion vector, associated with the image area to encode.
  • This feature allows avoiding any parsing issue on the decoder side when an error occurs.
  • the compression is advantageously improved since this number of motion vector predictors is adapted at image area level.
  • the number of predictors in said second set is obtainable by a decoder even if at least one said further encoding unit is lost.
  • the number of predictors in said second set is independent of the information contained in said one or more further encoding units. We thus insure that the number of motion vector predictors for a received image area is systematically obtained by a decoder, even in case of losses of said one or more further encoding units.
  • the number of predictors in said second set is obtainable by a decoder without using the information contained in the or each said further encoding unit.
  • the number of predictors in said second set is obtainable by a decoder from information contained in the encoding unit in which said image area to encode is encoded.
  • the number of predictors in said second set is obtainable by a decoder exclusively from information contained in the encoding unit in which said image area to encode is encoded.
  • the number of predictors in said second set is obtainable by the decoder using at least one piece of information already contained in the encoding unit in which said image area to encode is encoded for a purpose other than obtaining the number of predictors in said second set. This avoids any overhead for obtaining the number of predictors in said second set.
  • information from which the decoder is able to obtain the number of predictors in said second set include at least one of the following pieces of information:
  • Information that can be used is not limited to the above and can be related to any encoding parameter, such as for example, if the images are divided into variable size macroblocks for processing, the size of the macroblock to which the image area or block to encode belongs.
  • Information that can be used can also extend to pieces of information contained in the encoding unit in which said image area to encode is encoded for the exclusive purpose of obtaining the number of predictors in said second set, such as for example a dedicated data field.
  • Any combination of pieces of information can also be considered such as for example the number of motion vector predictors in the first set in combination with the size of the image area to encode.
  • the number of predictors in said second set is set to a predetermined value. This further avoids any overhead for obtaining the number of predictors in said second set.
  • the number of predictors in said second set can be obtained from said information following a predetermined rule.
  • the number of predictors in said second set is obtainable by a decoder from information contained in the encoding unit in which said image area to encode is encoded and from another source of information.
  • the information from that other source is preferably independent of the information contained in said one or more further encoding units.
  • the number of predictors in the second set is independent of information that can only be derived from the or each said further encoding unit.
  • the number of predictors in the second set is permitted to be zero, at least on some occasions, for example as may be appropriate for the coding conditions.
  • the second set is empty and there is no need to take account of motion vectors that are associated with image areas belonging to the further group(s) of image areas when carrying out the selection of the motion vector predictor and the encoding of the selected motion vector predictor.
  • the number of predictors in said second set is a predetermined number. This embodiment allows reducing the complexity of the determining said number.
  • the information representative of the selected motion vector predictor is determined by ordering the motion vector predictors of the first and second sets and indexing sequentially to motion vector predictors of the first and second sets according to the established order.
  • the information representative of the selected motion vector predictor to be encoded is the index assigned to said selected motion vector predictor.
  • the index is then encoded by means of entropy coding for example in dependence upon the number of motion vector predictors in the first and second sets. This latter information being available to the decoder.
  • motion vector predictor duplicates are indexed only once. This leads to better coding efficiency (less number of bits in the encoded index).
  • indexing motion vector predictor duplicates only once which is similar to suppressing motion vector predictor duplicates, allows further increasing the compression performance of the encoder.
  • this process doesn't prevent from parsing the bitstream associated represented the sequence of digital images since it is performed after the obtaining of the number of motion vector predictors in the first and second sets used at the encoding step.
  • the motion vector predictors of the second set are determined from motion vectors associated with an image area having the same size as the image area to encode and positioned, in the reference image, at the same position than the image area to encode.
  • said determined second set includes motion vector predictors generated by default if the number of motion vectors that are associated with image areas belonging to one or more further groups of image areas different from said first group of image areas and that are encoded into one or more further encoding units is less than a target number.
  • a motion vector of the image area to encode is encoded with respect to the selected motion vector predictor which results in a residual motion vector.
  • a method of encoding a sequence of digital images in which at least one area of an image is encoded by motion compensation with respect to at least one reference image area belonging to at least one reference image,
  • the method comprises:
  • the obtained number is obtainable by a decoder even if at least one said further encoding unit is lost.
  • the obtained number is independent of the information contained in said one or more further encoding units.
  • the obtained number is obtainable by a decoder without using the information contained in the or each said further encoding unit.
  • the obtained number is obtainable by a decoder from information contained in the encoding unit in which said image area to encode is encoded.
  • the obtained number is obtainable by a decoder exclusively from information contained in the encoding unit in which said image area to encode is encoded.
  • the obtained number is obtainable by the decoder using at least one piece of information already contained in the encoding unit in which said image area to encode is encoded for a purpose other than obtaining said number. This avoids any overhead for obtaining the number of motion vector predictors that would form the second set.
  • information from which the decoder is able to obtain the number of predictors to form said second set include at least one of the following pieces of information:
  • Information that can be used is not limited to the above and can be related to any encoding parameter, such as for example, if the images are divided into variable size macroblocks for processing, the size of the macroblock to which the image area or block to encode belongs.
  • Information that can be used can also extend to pieces of information contained in the encoding unit in which said image area to encode is encoded for the exclusive purpose of obtaining the number of predictors to form said second set, such as for example a dedicated data field.
  • Any combination of pieces of information can also be considered such as for example the number of motion vector predictors in the first set in combination with the size of the image area to encode.
  • the obtained number is set to a predetermined value
  • the number of predictors forming said second set can be obtained from said information following a predetermined rule. This allows to adapt the number of predictors in said second set to coding conditions of the image area to encode. This may lead to different numbers of predictors in second sets corresponding to different image areas to encode.
  • the obtained number is obtainable by a decoder from information contained in the encoding unit in which said image area to encode is encoded and from another source of information. The information from that other source is preferably independent of the information contained in said one or more further encoding units.
  • the number of predictors in the second set is independent of information that can only be derived from the or each said further encoding unit.
  • the obtained number is permitted to be zero, at least on some occasions, for example as may be appropriate for the coding conditions.
  • the second set is empty and there is no need to take account of motion vectors that are associated with image areas belonging to the further group(s) of image areas when carrying out the selection of the motion vector predictor and the encoding of the selected motion vector predictor.
  • the number of predictors forming said second set is a predetermined number.
  • default motion vector predictors are generated for forming a second set having said obtained number of motion vector predictors.
  • a third aspect of the present invention there is provided a method of encoding a sequence of digital images into a bitstream according to a predictive video format adapted to encode motion vector of a an image area to encode relatively to a motion vector predictor, said image area to encode belonging to a first group of image areas that are to be encoded into an encoding unit which can be decoded independently of any other encoding unit, the method being characterized in that it comprises the steps of:
  • a fourth aspect of the present invention there is provided a method of decoding a bitstream representative of a sequence of digital images in which at least one area of an image is encoded by motion compensation with respect to at least one reference image area belonging to at least one reference image,
  • the method comprises:
  • the number of predictors, if any, in said second set is obtainable even if at least one said further encoding unit is lost.
  • the selected motion vector predictor along with residual motion victor obtained from the received encoding unit are used to decode a motion vector of the image area to decode.
  • a fifth aspect of the present invention there is provided a method of decoding a bitstream representative of a sequence of digital images according to a predictive video format adapted to decode motion vector of an image area to decode relatively to a motion vector predictor, said image area belonging to a first group of image areas to be decoded from an encoding unit which can be decoded independently of any other encoding unit, the method being characterized in that it comprises the steps of:
  • a device of encoding a sequence of digital images in which at least one area of an image is encoded by motion compensation with respect to at least one reference image area belonging to at least one reference image,
  • the device comprises: - means for determining a first set of motion vector predictors from motion vectors that are associated with other image areas belonging to said first group of image areas,
  • a device of decoding a bitstream representative of a sequence of digital images in which at least one area of an image is encoded by motion compensation with respect to at least one reference image area belonging to at least one reference image,
  • the device comprises:
  • the invention also relates to a computer program product that can be loaded into a programmable apparatus, comprising sequences of instructions for implementing a method of encoding a sequence of digital images or decoding a bitstream as briefly described above, when the program is loaded into and executed by the programmable apparatus.
  • a computer program may be transitory or non transitory.
  • the computer program can be stored on a non-transitory computer-readable carrier medium.
  • an encoding unit can be preferably chosen equal to a slice and an image area to encode equal to an image block.
  • the method comprises: - determining a first set of motion vector predictors from motion vectors that are associated with other image areas belonging to said first group of image areas,
  • the number of predictors in said second set is independent of the information contained in said one or more further encoding units.
  • the number of predictors in said second set is obtainable by a decoder from information contained in the encoding unit in which said image area to encode is encoded.
  • the number of predictors in said second set is obtainable by the decoder using at least one piece of information already contained in the encoding unit in which said image area to encode is encoded for a purpose other than obtaining the number of predictors in said second set.
  • the number of predictors in said second set is a predetermined number.
  • the information representative of the selected motion vector predictor is determined by ordering the motion vector predictors of the first and second sets and indexing sequentially to motion vector predictors of the first and second sets according to the established order.
  • motion vector predictor duplicates are indexed only once.
  • the method comprises:
  • the selected motion vector predictor along with residual motion victor obtained from the received encoding unit are used to decode a motion vector of the image area to decode.
  • an encoding device for encoding a sequence of digital images in which at least one area of an image is encoded by motion compensation with respect to at least one reference image area belonging to at least one reference image, the device comprising:
  • a decoding device for decoding a bitstream representative of a sequence of digital images in which at least one area of an image is encoded by motion compensation with respect to at least one reference image area belonging to at least one reference image, the device comprising:
  • a first set of motion vector predictors for an image area to decode, the image area to decode belonging to a first group of image areas that are encoded into a received encoding unit which can be decoded independently of any other encoding unit, and the first set of motion vector predictors being determined from motion vectors that are associated with other image areas belonging to said first group of image areas,
  • a computer program which, when run on a computer, causes the implementation of a method of encoding a sequence of digital images as set out above or a method for decoding a bitstream as set out above.
  • a further aspect of the present invention provides a computer-readable storage medium storing the program.
  • FIG. 1 a illustrates schematically a set of motion vector predictors used in a motion vector prediction scheme.
  • FIG. 1 b illustrates an implementation of the AMVP scheme in HEVC on the encoder side.
  • FIG. 1 c illustrates the current implementation of the AMVP scheme in HEVC on the decoder side.
  • FIG. 2 is a diagram of a processing device adapted to implement an embodiment of the present invention.
  • FIG. 3 is a block diagram of an implementation of a HEVC encoder.
  • FIG. 4 is a block diagram of an implementation of a HEVC decoder.
  • FIG. 5 illustrates a particular implementation of the AMVP scheme on the encoder side, where the maximum possible number of motion vector predictors is considered as given.
  • FIG. 6 illustrates a particular implementation of the AMVP scheme on the decoder side, where the maximum possible number of motion vector predictors is considered as given.
  • FIG. 7 illustrates schematically the motion vector predictor derivation process on the encoder side according to an embodiment of the invention.
  • FIG. 8 illustrates schematically the motion vector predictor derivation process on the decoder side according to an embodiment of the invention.
  • FIG. 2 illustrates a diagram of a processing device 1000 adapted to implement one embodiment of the present invention.
  • the apparatus 1000 is for example a micro-computer, a workstation or a light portable device.
  • the apparatus 1000 comprises a communication bus 11 13 to which there are preferably connected:
  • central processing unit 1 1 1 1 such as a microprocessor, denoted CPU;
  • ROM read only memory
  • RAM random access memory 1 112 able to contain the executable code of the method of the invention as well as the registers adapted to record variables and parameters necessary for implementing the method of encoding a sequence of digital images and/or the method of decoding a bitstream;
  • the apparatus 1000 may also have the following components:
  • -a data storage means 1104 such as a hard disk, able to contain the programs implementing the invention and data used or produced during the implementation of the invention;
  • the disk drive being adapted to read data from the disk 1106 or to write data onto said disk;
  • a screen 1 109 for displaying data and/or serving as a graphical interface with the user, by means of a keyboard 1 1 10 or any other pointing means.
  • the apparatus 1000 can be connected to various peripherals, such as for example a digital camera 1 100 or a microphone 1 08, each being connected to an input/output card (not shown) so as to supply multimedia data to the apparatus 1000.
  • peripherals such as for example a digital camera 1 100 or a microphone 1 08, each being connected to an input/output card (not shown) so as to supply multimedia data to the apparatus 1000.
  • the communication bus affords communication and interoperability between the various elements included in the apparatus 1000 or connected to it.
  • the representation of the bus is not limiting and in particular the central processing unit is able to communicate instructions to any element of the apparatus 1000 directly or by means of another element of the apparatus 1000.
  • the disk 1 106 can be replaced by any information medium such as for example a compact disk (CD-ROM), rewritable or not, a ZIP disk or a memory card and, in general terms, by an information storage means that can be read by a microcomputer or by a microprocessor, integrated or not into the apparatus, possibly removable and adapted to store one or more programs whose execution enables the method of encoding a sequence of digital images and/or the method of decoding a bitstream according to the invention to be implemented.
  • CD-ROM compact disk
  • ZIP disk or a memory card
  • an information storage means that can be read by a microcomputer or by a microprocessor, integrated or not into the apparatus, possibly removable and adapted to store one or more programs whose execution enables the method of encoding a sequence of digital images and/or the method of decoding a bitstream according to the invention to be implemented.
  • the executable code may be stored either in read only memory 1107, on the hard disk 1104 or on a removable digital medium such as for example a disk 1106 as described previously.
  • the executable code of the programs can be received by means of the communication network 1103, via the interface 1102, in order to be stored in one of the storage means of the apparatus 1000 before being executed, such as the hard disk 1 104.
  • the central processing unit 11 11 is adapted to control and direct the execution of the instructions or portions of software code of the program or programs according to the invention, instructions that are stored in one of the aforementioned storage means.
  • the program or programs that are stored in a non-volatile memory for example on the hard disk 1104 or in the read only memory 1 107, are transferred into the random access memory 1 1 12, which then contains the executable code of the program or programs, as well as registers for storing the variables and parameters necessary for implementing the invention.
  • the apparatus is a programmable apparatus which uses software to implement the invention.
  • the present invention may be implemented in hardware (for example, in the form of an Application Specific Integrated Circuit or ASIC).
  • the invention could be implemented in the encoder described by figure 3 for the encoder part and the decoder described by figure 4 for parts related to the decoder.
  • the encoder part we replace in step S317 the AMVP version currently implemented in HEVC and described by figure 1 b by a version according to the invention and represented by figure 7.
  • the decoder part we replace in step S410 the AMVP version currently implemented in HEVC and described in figure 1 c by a version according to the invention and represented by figure 8
  • Figure 7 shows the flow chart describing the motion vector predictor derivation process. This figure is based on Figure 1 b. The main differences are the derivation process of the predictors and the information used to convert the index into a codeword. In this embodiment, two derivation processes were used instead of one: one for the predictors which come from the same slice as the block to encode and one for the motion vector predictors which come from another slice (spatial or temporal). We will see later that the specific criteria to determine the number of predictors in the set of motion vector predictors which come from another slice, only depend on information associated to the current slice. Consequently, the number of motion vector predictors considered by the encoder in set D820 is known by the decoder even if the other slice is lost or unavailable.
  • the conversion of the index into a codeword depends on this number of motion vector predictors instead of depending on the number of motion vector predictors of the reduced set (after suppression) because the number of predictors in the reduced set cannot be determined at the decoder side if some relevant other slices are lost.
  • the module D801 contains the motion vectors field and all other data related to the blocks of the current slice already coded.
  • the derivation process of the motion vector predictors of the current slice in step S803 receives this motion vector field as well as the reference frame index of the motion vector of the block to be encoded and generates the related motion vector predictors set 1 D816.
  • the same derivation algorithm but without suppression implemented in the current version of AMVP and described above with reference to figure 1a could be used to derive the number of motion vector predictors in set 1 as well as the values of the motion vector predictors. So, this derivation process can still take into account of the reference frame indexes of the neighboring blocks as long as they belong to the same slice and the reference frame index of the block to encode but also of the existence of the associated neighboring motion vectors in this slice.
  • the number of motion vector predictors and the value of the predictors can depend on the encoding mode of the neighboring blocks from the current slice.
  • the derivation process may result in 0, 1 or 2 spatial motion vector predictors.
  • the number of predictors in set 1 only depends on information which can be obtained on the decoder side from the current slice.
  • a slice is transported by a same transport unit (packet), which is either received or lost by a receiver. In that condition, a slice cannot be partially received or received with errors by a decoder.
  • the motion vector field and all other data related to the blocks of the other slices already coded are represented by reference D817. This includes the slices of previously encoded frames (the temporal slices) and the slices already encoded of the current frame.
  • the derivation process of the motion vector predictors from other slices generates the motion vector predictors set 2 D819.
  • the derivation process for set 2 can be divided into 2 independent functions: one to determine the number of predictors and one to determine the values of the predictors.
  • the number of the predictors in set 2 must depend only on information which can be determined by the decoder in case a slice other than the current slice is lost. Consequently, the values of the predictors can depend on all information available at decoder side at the time of decoding the current block.
  • the main difference with the prior art is that the number of predictors in the set 2 doesn't depend on information associated with slices from which the motion vectors predictors of set 2 are derived but only on information associated with the current slice which would be always available at the decoder as long as the data unit transporting the current encoded slice is not lost.
  • the number of predictors in set 2 must depend only on information which can be known by the decoder in case of slice loss. So, in a preferred embodiment this number of predictors can depend for instance on:
  • Neighboring blocks may not include a motion vector if it is coded in INTRA for instance.
  • One embodiment to determine the number of predictors in set 2 is to take into account the number of predictors in set 1 and the size of the block to encode. For example, if the block size is a small block size (4x4, 8x8, 16x16) and if the number of predictors in set 1 reaches its maximum (2 in the current implementation), the number of predictors in set 2 could be equal to 0. For large block size (32x32, 64x64, etc.), the number of predictors could be always equal to the maximum possible number of predictors in set 2 because for large block size a higher number of predictors is generally more efficient and the temporal motion vectors are more efficient than the spatial predictors.
  • the criterion on the block size could be determined according to the sequence resolution. And this rule can be sent in the sequence parameters set or picture parameters set or in the slice header.
  • the number of predictors in set 2 can be equal to 0. Indeed, the motion vectors which come from Inter mode have a residual, so they are (theoretically) more precise than motion vectors which come from a mode without motion vector residual.
  • the number of predictors for set 2 can be fixed (encoder and decoder side) or transmitted in the bitstream (Sequence parameter set, picture parameter set, slice header).
  • the number of predictors in set 2 could be given by:
  • Card(set 2) Max_pred - Card(set 1)
  • the number of predictors in set 1 is zero, the number of predictors in set 2 is 1 , for the same reasons as in the previous embodiment.
  • the values of the predictors in set 2 can depend on any information even if this information may be unavailable at decoder side when a slice loss occurs. This is possible because the parsing of the bitstream doesn't depend on the value of the motion vector predictors.
  • the value of the predictors in set 2 can depend on:
  • the derivation process of the values of the motion vector predictors can be the same as the one currently implemented in HEVC and described above with reference to figure 1 b.
  • the number of predictors in set 2 is independent of the existence of the motion vectors. Consequently, in embod i ments of invention, some particular determinations of the predictors could be used when the predictor doesn't exist.
  • the value of the at least one temporal motion vector predictor could be set to a default value. For example, the value (0, 0), or a value sent in the bitstream (in the Sequence Parameter Set, Picture Parameter Set, or slice header) could be used as the default value.
  • a predictor can be extracted from one block surrounding the collocated block (for instance the block on the top, the block on the left, the block on the right and the block below the collocated block).
  • a second embodiment appears in case of Bi-predicted blocks.
  • two collocated blocks could be available: one in the temporally closest frame in the list "L0" of reference frames and one in the temporally closest frame in the list "L1" of reference frames.
  • one collocated block is chosen for the motion vector prediction. If the motion vector predictor associated with the selected collocated block doesn't exist, a motion vector predictor can be extracted from the collocated block of the other list if it exists. The value could be scaled according to the temporal distance and the direction of the lists.
  • this motion vector predictor can be replaced by a motion vector predictor extracted from a block surrounding it if at least one exists. If these motion vector predictors don't exist, the value of the predictor can be equal to the value of one available motion vector in the slice containing this motion vector predictor.
  • set 1 D816 and set 2 D819 are merged in the motion vector predictors set D804 which will be used for the coding of the current motion vector D802.
  • the best predictor index is selected in the RD selection in step S807 among the reduced set D806 which was generated by the suppression step S805. Note that the number of predictor in set 1 and 2 could be zero. In that case the suppression step is not applied.
  • the current motion vector of the block to be encoded D808 is then predicted in step S810 by the best predictor D809 and the generated residual D811 is entropy coded in step S812.
  • the index of the best predictor D808 is converted in step S814 into the codeword D815.
  • the conversion in S814 depends on the number of predictors D820 in the motion vector predictors set D804.
  • the conversion process uses the following Table 4 when a maximum of 3 predictors are used.
  • Table 4 This conversion table is exactly the same as the current implementation of AMVP in HEVC. However it is important to note that the conversion process depends on the number of predictors in set D804 and not on the reduced vector predictors set D806 as in the current implementation of HEVC. Nevertheless, as seen before, the value of the index can depend on this reduced set D806, which allows improving further the coding efficiency. In this table, if the number of predictors (820) is equal to 1 the index of the predictor can be inferred and no de-synchronization of the bitstream in case of errors occurs. This i s becau se i n embodiments of the present invention this conversion process only depends on information associated with the current slice.
  • the status of the collocated block (availability of a temporal motion vector predictor or not) will always be known, and that this information could be used to determine the final number of motion vector predictors in set D804. Indeed this information depends only on information available in the current slice. We have seen that the number of predictors in set 2 obtained from the number derivation process applied on information of the current slice could be above the number of predictors existing in the other slices. In that case, missing predictors could be generated. The situation is different for set 1 , since in that case left and top predictor may not be available. However the information on the availability of the top and left predictors will always be available on the decoder side since it depends on the current slice only.
  • the suppression process in step S805 is then applied to the motion vector predictors set D804.
  • the suppression process can be the same as described above and based on the suppression of duplicates values.
  • This suppression process is particularly interesting in terms of coding efficiency.
  • the index values for the remaining motion vector predictors are changed. Thanks to this process the probability of obtaining a shorter index binary code is increased. For example, let us consider that 4 predictors are used for the current set of predictors D804. Among these predictors the first predictor having index 0 is equal to the second predictor having index 1.
  • the third predictor (index 2) and the fourth predictor (index 3) are different.
  • the best predictor is the third predictor index 3.
  • the codeword associated with the index 2 is '110', so 3 bits need to be coded as indicated in table 4b below. If the suppression process is used, the second predictor is removed and the third predictor has the index 1. The codeword related to this index is ⁇ ⁇ ', so only 2 bits need to be coded.
  • this suppression process could have an impact on the coding efficiency when the arithmetic coding is used even if the codeword of the best predictor has the same number of bits before and after the suppression process. Indeed, the probability of obtaining different binary values for the index coding decrease. As a consequence the probability of obtaining a good prediction of a binary value from its context during the arithmetic coding increases.
  • the Merge mode suppression process removes the second predictor and the third predictor takes its position (and its index T) in the reduced set.
  • the RD selection step S807 selects the third predictor and sends the predictor index '1 ' to the decoder. Consequently, the reference index for this block is reference frame 1 and the following blocks take into account this reference frame index for their derivation process of motion vector predictors.
  • the decoder At decoder side, if a slice loss occurs, the values of 3 predictors are false for this Merge block.
  • the Merge suppression process finds that the reduced set contains 3 predictors instead of 1.
  • the decoder reads the predictor index " ⁇ in the bitstream.
  • the decoder considers that the second predictor with a reference frame index equal to '0' is the selected predictor. Consequently, the reference frame value is equal to ⁇ ' for this block instead of " ⁇ at encoder side.
  • the derivation process of the motion vector predictors for the following blocks can't find the same amount of predictors as the encoder because this amount of predictors depends on this reference frame index.
  • the suppression process will not be applied in the Merge mode. This can also be extended in case of B frames, where the Merge mode propagates the direction (Bi-directional or unidirectional) and the list (L0, L1 , L0 and L1 ).
  • Figure 8 shows the flow chart of the processing at the decoder side in an embodiment of the invention.
  • This flow chart is similar to the flow chart of Figure 1c.
  • One difference is in the generation modules which are the same as the encoder.
  • the number of predictors in the set S920 is used to determine the number of bits which needs to be decoded in the entropic decoding step S906.
  • This step S906 decodes the code word D914.
  • the amount of predictors D920 is then used to convert the codeword to index in D915.
  • the main difference compared to the state of the art is that the entropic decoding step S906 and the conversion of the codeword to index step S915 depends on the amount of the predictors in set D902 and not on the amount of predictors in reduced set D909.
  • the number of predictors in set D920 depends only on information associated with the current slice which is systematically correctly decoded. So, no parsing issue can happen in the entropic decoding because the same values (number of predictors) are used at encoder and decoder side. But the motion vector value decoded could be false in case of slice loss.
  • any type of image areas to encode or decode can be considered, in particular rectangular areas or more generally geometrical areas.

Landscapes

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

Abstract

La présente invention porte sur une zone d'image à coder appartenant à un premier groupe de zones d'image qui sont à coder en une unité de codage qui peut être décodée indépendamment de toute autre unité de codage. Un procédé de codage comprend la détermination (S818) d'un premier ensemble (D819) de prédicteurs de vecteurs de mouvement pour la zone d'image à coder à partir de vecteurs de mouvement que sont associés à d'autres zones d'image appartenant au premier groupe de zones d'image. Un deuxième ensemble (D816) de prédicteurs de vecteurs de mouvement pour la zone d'image à coder est déterminé (S803) à partir de vecteurs de mouvement qui sont associés à des zones d'image appartenant à un ou plusieurs autres groupes de zones d'image différents dudit premier groupe de zones d'image et qui sont codées en une ou plusieurs autres unités de codage. Un prédicteur de vecteur de mouvement (S807) est sélectionné parmi les prédicteurs de vecteurs de mouvement des premier et deuxième ensembles, et des informations (D808) représentatives du prédicteur de vecteur de mouvement sélectionné sont codées (S814) en fonction du nombre de prédicteurs de vecteurs de mouvement dans les premier et deuxième ensembles.
PCT/EP2012/001011 2011-03-08 2012-03-07 Codage et décodage vidéo avec tolérance aux erreurs améliorée Ceased WO2012119766A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1103925.2 2011-03-08
GB201103925A GB2488798B (en) 2011-03-08 2011-03-08 Video encoding and decoding with improved error resillience

Publications (1)

Publication Number Publication Date
WO2012119766A1 true WO2012119766A1 (fr) 2012-09-13

Family

ID=43923384

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2012/001011 Ceased WO2012119766A1 (fr) 2011-03-08 2012-03-07 Codage et décodage vidéo avec tolérance aux erreurs améliorée

Country Status (2)

Country Link
GB (1) GB2488798B (fr)
WO (1) WO2012119766A1 (fr)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009115901A2 (fr) * 2008-03-19 2009-09-24 Nokia Corporation Vecteur de mouvement combiné et prédiction d'indice de référence pour codage vidéo

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3050736B2 (ja) * 1993-12-13 2000-06-12 シャープ株式会社 動画像符号化装置
CN1220388C (zh) * 1997-12-01 2005-09-21 三星电子株式会社 运动向量预测方法
US7567617B2 (en) * 2003-09-07 2009-07-28 Microsoft Corporation Predicting motion vectors for fields of forward-predicted interlaced video frames
US20080240242A1 (en) * 2007-03-27 2008-10-02 Nokia Corporation Method and system for motion vector predictions
US20100020877A1 (en) * 2008-07-23 2010-01-28 The Hong Kong University Of Science And Technology Multiple reference frame motion estimation in video coding

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009115901A2 (fr) * 2008-03-19 2009-09-24 Nokia Corporation Vecteur de mouvement combiné et prédiction d'indice de référence pour codage vidéo

Non-Patent Citations (10)

* Cited by examiner, † Cited by third party
Title
FUJIBAYASHI (NTT DOCOMO) A ET AL: "CE9: 3.2d Simplified motion vector prediction", 4. JCT-VC MEETING; 95. MPEG MEETING; 20-1-2011 - 28-1-2011; DAEGU;(JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JC TVC-SITE/,, no. JCTVC-D231, 15 January 2011 (2011-01-15), XP030008271, ISSN: 0000-0013 *
GUILLAUME LAROCHE ET AL: "RD Optimized Coding for Motion Vector Predictor Selection", IEEE TRANSACTIONS ON CIRCUITS AND SYSTEMS FOR VIDEO TECHNOLOGY, IEEE SERVICE CENTER, PISCATAWAY, NJ, US, vol. 17, no. 12, 1 December 2008 (2008-12-01), pages 1681 - 1691, XP011234848, ISSN: 1051-8215 *
GUILLAUME LAROCHE ET AL: "Robust solution for the AMVP parsing issue", 96. MPEG MEETING; 21-3-2011 - 25-3-2011; GENEVA; (MOTION PICTURE EXPERT GROUP OR ISO/IEC JTC1/SC29/WG11),, no. m19740, 18 March 2011 (2011-03-18), XP030048307 *
J. JUNG; G. CLARE: "JCTVC-D197, proposition for robust parsing with temporal predictor", 4TH JCTVC MEETING, 20 January 2011 (2011-01-20), Retrieved from the Internet <URL:http://phenix.int-evry.fr/jct>
JIAN-LIANG LIN; YU-PAO TSAI; YU-WEN HUANG; SHAWMIN LEI: "JCTVC-D125: Improved Advanced Motion Vector Prediction", 4TH JCTVC MEETING, 20 January 2011 (2011-01-20), Retrieved from the Internet <URL:http://phenix.int-evry.fr/ict/>
JINGJING DAI ET AL: "Motion Vector Coding Based on Optimal Predictor Selection", 15 December 2009, ADVANCES IN MULTIMEDIA INFORMATION PROCESSING - PCM 2009, SPRINGER BERLIN HEIDELBERG, BERLIN, HEIDELBERG, PAGE(S) 1040 - 1047, ISBN: 978-3-642-10466-4, XP019134851 *
J-L LIN ET AL: "Improved Advanced Motion Vector Prediction", 4. JCT-VC MEETING; 95. MPEG MEETING; 20-1-2011 - 28-1-2011; DAEGU;(JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JC TVC-SITE/,, no. JCTVC-D125, 15 January 2011 (2011-01-15), XP030008165, ISSN: 0000-0015 *
J-L LIN ET AL: "Syntax for AMVP Parsing Error Control", 4. JCT-VC MEETING; 95. MPEG MEETING; 20-1-2011 - 28-1-2011; DAEGU;(JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JC TVC-SITE/,, no. JCTVC-D126, 15 January 2011 (2011-01-15), XP030008166, ISSN: 0000-0015 *
JUNG J ET AL: "Proposition for robust parsing with temporal predictor", 4. JCT-VC MEETING; 95. MPEG MEETING; 20-1-2011 - 28-1-2011; DAEGU;(JOINT COLLABORATIVE TEAM ON VIDEO CODING OF ISO/IEC JTC1/SC29/WG11AND ITU-T SG.16 ); URL: HTTP://WFTP3.ITU.INT/AV-ARCH/JC TVC-SITE/,, no. JCTVC-D197, 15 January 2011 (2011-01-15), XP030008237, ISSN: 0000-0013 *
K. SATO: "TE11: Study on motion vector coding (experiment 3.3a and 3.3c", 3RD MEETING OF THE JOINT COLLABORATIVE TEAM ON VIDEO CODING (JTC-VC) OF GUANGZHOU, 7 October 2010 (2010-10-07)

Also Published As

Publication number Publication date
GB2488798A (en) 2012-09-12
GB201103925D0 (en) 2011-04-20
GB2488798B (en) 2015-02-11

Similar Documents

Publication Publication Date Title
US11968390B2 (en) Method and device for encoding a sequence of images and method and device for decoding a sequence of images
US11943465B2 (en) Video encoding and decoding
US11743487B2 (en) Method, device, and computer program for optimizing transmission of motion vector related information when transmitting a video stream from an encoder to a decoder
WO2012095467A1 (fr) Codage et décodage vidéo à faible complexité
WO2012095466A1 (fr) Codage et décodage vidéo présentant une résilience aux erreurs améliorée
US20190281287A1 (en) Method and Device for Encoding a Sequence of Images and Method and Device for Decoding a Sequence of Image
WO2012089773A1 (fr) Codage et décodage vidéo à résilience aux erreurs améliorée
WO2012119766A1 (fr) Codage et décodage vidéo avec tolérance aux erreurs améliorée

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

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

Country of ref document: EP

Kind code of ref document: A1