WO2014005426A1 - Method and device for processing inter-frame predictive coding motion information and codec system - Google Patents

Method and device for processing inter-frame predictive coding motion information and codec system Download PDF

Info

Publication number
WO2014005426A1
WO2014005426A1 PCT/CN2013/070867 CN2013070867W WO2014005426A1 WO 2014005426 A1 WO2014005426 A1 WO 2014005426A1 CN 2013070867 W CN2013070867 W CN 2013070867W WO 2014005426 A1 WO2014005426 A1 WO 2014005426A1
Authority
WO
WIPO (PCT)
Prior art keywords
reference frame
frame list
motion vector
matching block
determined
Prior art date
Application number
PCT/CN2013/070867
Other languages
French (fr)
Chinese (zh)
Inventor
杨海涛
张星宇
时永方
區子廉
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2014005426A1 publication Critical patent/WO2014005426A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • 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/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Definitions

  • the present invention relates to the field of image processing, and in particular, to a method, an apparatus, and a codec system for processing inter prediction encoded motion information.
  • inter-frame prediction coding refers to compression coding of a current coded picture by using the temporal correlation of the current coded picture and the coded picture.
  • inter-frame prediction coding refers to compression coding of a current coded picture by using the temporal correlation of the current coded picture and the coded picture.
  • H.264/AVC one frame of image is divided into several square image blocks. Searching for the image block matching the current image block from the encoded reference frame, and calculating the relative offset of the spatial position of the current block and the matching block, the relative offset is the motion vector (Motion Vector, MV), The process of motion vector is called Motion Estimation (ME). The process of predicting the current image block by using matching block is called Motion Compensation (MC). The difference between the pixel values of the current image block and the matching block. It is called image block prediction residual.
  • Motion Vector Motion Estimation
  • MC Motion Compensation
  • the motion information of the image block used by the encoder side needs to be transmitted to the decoder side in the code stream.
  • H.264 uses multi-reference frame prediction to improve prediction accuracy in the motion estimation process, that is, to establish a buffer for storing multiple reconstructed image frames, and all the buffers in the cache. Find the optimal matching block in the reconstructed image frame for motion compensation to better remove the redundancy in the time domain.
  • the interframe predictive coding of H.264 uses two buffers as above, reference frame list 0 (reference list 0) and reference frame list 1 (reference list 1).
  • the reference frame in which the best matching block in each list is located is indicated by an index value, namely ref_10_idx and ref_ll_idx.
  • the motion information of the matching block in the list includes a reference frame index value (ref_10_idx), a motion vector predictor (MVP), and a motion vector difference (MVD). Based on these three pieces of information, the decoder can find the correct matching block in the selected reference frame.
  • a method for processing interframe predictive coding motion information is to use H.264/AVC as a video image compression standard, and use a macroblock (16x16 pixel size) as a basic unit of encoding processing, during interframe prediction.
  • a macroblock can contain one or more motion blocks, but any motion block is a rectangular block.
  • the reference frame list value, reference frame index value, and motion vector difference of these motion blocks will be transmitted or decoded in units of macroblocks. Since the selection method of the motion vector predictor (MVP) in H.264/AVC is uniquely determined, the related information of the MVP need not be transmitted in the code stream.
  • MVP motion vector predictor
  • the selection of the reference frame list of the macroblock is first transmitted, that is, when the reference frame list 0 is used, the transmission motion information is encoded in the following order: sequentially transmitting all motion blocks in the macroblock in the reference frame list Reference frame index value ref_idx_10 used in 0; sequentially transmitting all motion blocks in the macroblock in the reference frame list 0 motion vector difference mvd_10.
  • the transmission motion information is encoded in the following order: The reference frame index value ref_idx_11 used by all motion blocks in the reference frame list 1; the motion vector difference mvd_11 in the reference frame list 1 is transmitted in sequence in all the motion blocks in the macro block.
  • the motion information when the reference frame list 0 is used, Decoding the motion information in the following order: sequentially decoding the reference frame index value ref_idx_10 used by all motion blocks in the macroblock in the reference frame list 0; sequentially decoding all motion blocks in the macroblock in the reference frame list 0 in the motion vector difference mvd_10.
  • the motion information is decoded in the following order: sequentially decoding all motion blocks in the macro block in the reference frame list The reference frame index value ref_idx_ll used in 1; sequentially decodes the motion vector difference mvd_11 of all motion blocks in the macroblock in the reference frame list 1.
  • each motion block in the macroblock can determine the reference frame in which the matching block of each motion block is located according to the reference frame list and the reference frame index value parsed in the code stream; each motion in the macroblock The block calculates a motion vector based on a motion vector difference (eg, mvd_10 ) of a certain list (eg, reference frame list 0) parsed in the code stream, plus a motion vector predictor derived from the decoder side. , mv_10), thereby determining the spatial position of the matching block in the list, and obtaining the required matching block.
  • a motion vector difference eg, mvd_10
  • a certain list eg, reference frame list 0
  • the method for processing inter-predictive coding motion information provided by the above prior art is disadvantageous in that the motion vector predictor obtained at the decoder end is not necessarily the current image block because the motion vector predictor is uniquely selected.
  • the optimal value in addition, the decoder is not processed in parallel at this end, and the decoding speed is not high.
  • Embodiments of the present invention provide a method, a device, and a codec system for processing inter-predictive coding motion information, so as to improve the code stream resolution speed.
  • An embodiment of the present invention provides a method for processing inter prediction encoding motion information, where the method includes: determining, according to a value of a syntax element, a currently used reference frame list and motion information of a matching block to be transmitted in the used reference frame list,
  • the reference frame list includes at least one of a reference frame list 0 and a reference frame list 1, the motion information including a reference frame index value, a motion vector predictor identifier, and motion vector difference related information; if the currently used reference frame list and the The motion information of the matching block to be transmitted in the used reference frame list is determined, and the motion vector predictor identifier of the matching block in the determined used reference frame list is prior to the determined matching block in the used reference frame list.
  • the motion vector difference related information is written to the code stream.
  • An embodiment of the present invention provides a method for processing inter-predictive coding motion information, where the method includes: determining, according to a value of a syntax element, a currently used reference frame list and motion information of a matching block to be parsed in the used reference frame list,
  • the reference frame list includes at least one of a reference frame list 0 and a reference frame list 1, the motion information including a reference frame index value, a motion vector predictor identifier, and motion vector difference related information; if the currently used reference frame list and the The motion information of the matching block to be parsed in the used reference frame list is determined, and then the motion vector predictor identifier of the matching block in the determined used reference frame list is parsed and then parsed into the determined used reference frame list.
  • Match block motion vector difference related information if the currently used reference frame list and the The motion information of the matching block to be parsed in the used reference frame list is determined, and then the motion vector predictor identifier of the matching block in the determined used reference frame list is parsed and then parsed into
  • An embodiment of the present invention provides an apparatus for processing inter prediction encoding motion information, where the apparatus includes: a determining module, configured to determine, according to a value of a syntax element, a list of currently used reference frames and the used Referencing motion information of a matching block in the frame list that needs to be transmitted, the reference frame list including at least one of a reference frame list 0 and a reference frame list 1, the motion information including a reference frame index value, a motion vector predictor flag, and motion a vector difference related information; a writing module, configured to: if the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list are determined by the determining module, the determined used reference frame list The motion vector predictor value of the inner matching block is written to the code stream prior to the determined matching block motion vector difference related information in the used reference frame list.
  • a determining module configured to determine, according to a value of a syntax element, a list of currently used reference frames and the used Referencing motion information of a matching block in the
  • An embodiment of the present invention provides an apparatus for processing inter-predictive coding motion information, where the apparatus includes: a to-be-resolved determination module, configured to determine, according to a value of a syntax element, a list of currently used reference frames and a list of used reference frames to be parsed
  • the motion information of the matching block, the reference frame list includes at least one of a reference frame list 0 and a reference frame list 1, the motion information including a reference frame index value, a motion vector predictor identifier, and a motion vector difference related information;
  • a module configured to: if the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list are determined by the to-be-parsed determining module, parsing the determined matching block in the used reference frame list first
  • the motion vector predictor identifies and parses the determined matching block motion vector difference related information in the used reference frame list.
  • An embodiment of the present invention provides a codec system, where the codec system includes an encoder and a decoder, the encoder includes a determining module and a writing module, and the decoder includes a to-be-resolved determining module and a parsing module; a determining module, configured to determine, according to a value of the syntax element, a currently used reference frame list and motion information of a matching block to be transmitted in the used reference frame list, where the reference frame list includes the reference frame list 0 and the reference frame list 1 At least one of the motion information includes a reference frame index value, a motion vector predictor identifier, and a motion vector difference related information; the writing module is configured to: if the currently used reference frame list and the used reference frame list need to be transmitted The motion information of the matching block is determined by the determining module, and the motion vector predictor identifier of the matching block in the determined used reference frame list is prior to the determined matching block motion vector difference in the determined used reference frame list.
  • the information is written into the code stream; the to-be-resolved determination module is configured to determine the currently used parameter according to the value of the syntax element And the motion information of the matching block that needs to be parsed in the used reference frame list; the parsing module is configured to: if the currently used reference frame list and the used reference frame list need to be parsed, the motion information of the matching block is Determining, by the to-be-resolved determination module, parsing the motion vector predictor identifier of the matching block in the determined used reference frame list, and parsing the determined matching block in the used reference frame list Motion vector difference related information.
  • the motion information of the matching block transmitted to the decoder end includes the motion vector predictor identifier, and in the transmission process, the motion vector predictor identifier of the matching block in the corresponding reference frame list is prior to the motion.
  • the vector difference related information is written to the code stream. Therefore, compared with the processing of the inter-predictive coding motion information provided by the prior art, the method provided by the embodiment of the present invention can enable the decoder side to obtain the motion vector prediction optimal for the current image block according to the motion vector prediction value identifier.
  • the value, and the motion vector predictor identifier is written into the code stream prior to the motion vector difference related information, so that the decoder side can process the information in parallel, that is, the motion vector difference correlation information is parsed while the motion vector predictor value is decoded.
  • the motion vector predictor is obtained, thereby increasing the decoding speed of the code stream at the decoder end.
  • FIG. 1 is a schematic flow chart of a method for processing inter prediction encoding motion information according to an embodiment of the present invention
  • FIG. 2 is a schematic flow chart of a method for processing inter prediction encoding motion information according to another embodiment of the present invention.
  • FIG. 3 is a schematic structural diagram of an apparatus for processing inter-pre-J code motion information according to an embodiment of the present invention
  • FIG. 4 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention.
  • FIG. 9 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention.
  • FIG. 10 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention.
  • FIG. 11 is a schematic structural diagram of a codec system according to an embodiment of the present invention.
  • FIG. 1 is a schematic flowchart of a method for processing inter prediction encoding motion information according to an embodiment of the present invention, where an execution body may be an encoder of a communication system using interframe prediction coding technology.
  • the method illustrated in Fig. 1 mainly includes step S101 and step S102:
  • S101 Determine, according to the value of the syntax element, a list of currently used reference frames and motion information of the matching block to be transmitted in the used reference frame list.
  • the reference frame list includes at least one of a reference frame list 0 (reference list 0 ) and a reference frame list 1 (reference list 1 ), that is, may be a reference frame list 0, possibly a reference frame list 1 or It may be a reference frame list 0 and a reference frame list 1, each of which has the same function as the reference frame list mentioned in the background art.
  • the motion information of the matching block in the reference frame list of the prior art only needs to include the reference frame index value and the motion vector difference.
  • the motion information of the matching block in the reference frame list includes the reference frame index value and
  • a motion vector predictor flag hereinafter referred to as MVP_flag
  • the motion information of the matching block in the reference frame list includes motion information including the matching block in the reference frame list 0, motion information of the matching block in the reference frame list 1 or motion information of the matching block in the reference frame list 0, and matching in the reference frame list 1 Block motion information.
  • the motion vector predictive value identifier (MVP_flag) is used to indicate that the motion vector predictor selected at the encoder side is Mvp_0 is also mvp_l; when the encoder transmits the motion vector predictor identifier to the decoder end, it is equivalent to telling the decoder whether the motion vector predictor selected at the encoding end of the decoder is mvp_0 or mvp_l.
  • the Motion Vector Difference may be obtained by MV - 111 ⁇ _0 or ] ⁇ - mvp_l.
  • the prediction unit is similar to the motion block in H.264/AVC, that is, the smaller block divided under the macro block using the inter prediction technique; since each such block is You can have your own motion vector, so each prediction unit can have its own motion vector.
  • inter_pred_idc the syntax element
  • the value may be Pred_L0, Pred_L1, or Pred_BI; further, when the value of inter_pred_idc is Pred_L0, it is determined that the reference frame list 0 is used, and What needs to be transmitted is the motion information of the matching block in the reference frame list 0.
  • inter_pred_idc When the value of inter_pred_idc is Pred_L1, it is determined that the reference frame list 1 is used, and the motion information of the matching block in the reference frame list 1 needs to be transmitted; When the value of inter_pred_idc is Pred_BI, it is determined that the reference frame list 0 and the reference frame list 1 are used, and it is necessary to transmit the motion information of the matching block in the reference frame list 0 and the reference frame list 1. If the current PU does not belong to the bidirectional prediction stripe, the syntax element inter_pred_idc, that is, the value of the syntax element inter_pred_idc, is not transmitted, and the default is Pred_0.
  • determining whether the motion information needs to be transmitted it may be determined according to the prediction mode, that is, if the inter prediction mode of the current PU is not the Merge mode, it is determined to transmit the motion information, otherwise the default motion information.
  • the motion vector predictor identifier of the matching block in the determined used reference frame list is prior to the The determined motion vector difference related information of the matching block in the determined reference frame list is written into the code stream.
  • the motion information of the matching block is used as the reference frame used for the determination.
  • the motion vector predictor of the matching block in the reference frame list of the matching block identifies an embodiment of the code stream written prior to the determined motion vector difference related information of the matching block in the used reference frame list, which may be determined first.
  • the reference frame index value of the matching block in the used reference frame list is written into the code stream, and the motion vector predictor identifier of the matching block in the determined used reference frame list is further written into the code stream, and finally the determined reference used is used.
  • the motion vector difference related information of the matching block in the frame list is written into the code stream.
  • the motion information of the code stream sequentially written includes the matching block in the reference frame list 0.
  • the reference frame index value hereinafter denoted by ref_idx_/0
  • the motion vector predictor flag of the matching block in the reference frame list 0 hereinafter denoted by mvp_ /0_flag
  • the motion of the matching block in the reference frame list 0 Vector difference (hereinafter referred to as mvd - /0) related information; if the encoder side determines that the current reference frame 1 is used and the motion information of the matching block in the reference frame list 1 is to be transmitted, the code stream is sequentially written.
  • the motion information includes a reference frame index value of the matching block in the reference frame list 1 (hereinafter denoted by ref_idx ⁇ /1), and a motion vector predictor identifier of the matching block in the reference frame list 1 (hereinafter, mvp_ /1_flag is used) And the motion vector difference of the matching block in the reference frame list 1 (hereinafter referred to as mvd - /1) related information; if the encoder side determines that the reference frame list 0 and the reference frame list are currently used 1 and the motion information of the matching block in the reference frame list 0 and the reference frame list 1 to be transmitted, the motion information of the code stream sequentially written in the reference frame list 0 includes the ref_idx_/0, mvp_/ of the matching block in the reference frame list 0. 0—flag and mvd—/0 related information, and ref_idx_/1, mvp_/1_flag, and mvd_/1 related information of the matching block in the reference frame
  • the motion vector predictor identifier of the matching block in the determined used reference frame list may be first written into the code stream, and then the reference frame index value of the matching block in the determined used reference frame list may be written. The code stream finally writes the motion vector difference related information of the matching block in the determined used reference frame list to the code stream.
  • the motion information of the code stream sequentially written includes mvp_/0_flag, ref_idx_/0, and mvd- /0 related information; if the encoder side determines that the current need to transmit the motion information of the matching block in the reference frame list 1, the motion information of the code stream sequentially written includes mvp_ /1_flag, ref_idx_ /1 and Mvd — /1 related information; if the encoder determines that the current need to transmit is the reference frame list 0 and the reference frame The motion information of the matching block in the list 1 is sequentially written into the motion information of the code stream including mvp_ /0_flag, ref_idx_ /0 and mvd_ /0 related information, and mvp_ /1_flag, ref- Idx — /1, and mvd — /1
  • the above motion information may be transmitted to the decoder end in the order of writing the code stream, i.e., the decoder side may finally read the parsed code stream in the order in which the motion information is written to the encoder side in the code stream.
  • the following uses the reference frame list 1 as an example to illustrate the technical solution for transmitting mvd_ / 0 related information; the technical solution for transmitting mvd - / 1 related information is similar to the technical solution for transmitting mvd - / 0 related information, and will not be described.
  • the mvd_ /0 related information includes the mvd - / 0 horizontal component whose absolute value is greater than 0 (the following uses abs - mvd - greaterO - flag [0];), the absolute value of the mvd - / 0 vertical component is greater than 0 mark (hereinafter abs_mvd - greaterO - flag [l] is indicated;), mvd - /0 horizontal component absolute value is greater than 1 mark (hereinafter abs_mvd - greaterl - flag [0]), mvd - /0
  • the absolute value of the vertical component is greater than 1 (the following is used abs_mvd - greater l - flag [l]), mvd - / 0 horizontal component absolute value minus 2 amplitude (the following use abs - mvd - minus2 [0] Indicates), the sign of the mvd — /0 horizontal component (the following is expressed by
  • abs—mvd—greater 1—flag [0] , abs mvd greaterl _flag[l] , abs_mvd_minus2 [0] , mvd — sign — flag [0] , abs — mvd — minus2[l], and mvd — sign—flag[ l] is conditional transmission, that is, if the absolute value of the mvd_ /0 horizontal component is greater than 0, then the transmission abs- mvd - greaterl - flag [0]; if the absolute value of the mvd - / 0 vertical component is greater than 0, then the transmission Abs—mvd— greaterl—flag[l]; if the absolute value of the mvd ⁇ /0 horizontal component is greater than 1, then transmit abs—mvd—minus2[0] and mvd—sign—flag [0]; if mvd — /0 is vertical If the absolute value of the
  • the motion information of the matching block transmitted to the decoder side includes a motion vector predictor identifier, and in the transmission process, the motion vector predictor flag of the matching block in the corresponding reference frame list is written to the code stream prior to the motion vector difference related information. Therefore, compared with the processing of the inter-predictive coding motion information provided by the prior art, the method provided by the embodiment of the present invention may enable the decoder end to obtain the pair according to the motion vector prediction value identifier.
  • the motion vector predictor value is optimal for the current image block, and the motion vector predictor flag is written to the code stream prior to the motion vector difference related information, so that the decoder can process the information in parallel, that is, while parsing the motion vector difference related information.
  • the parsed motion vector predictor identifies the motion vector predictor decoded, thereby increasing the decoding speed of the code stream at the decoder end.
  • FIG. 2 it is a schematic flowchart of a method for processing inter-predictive coding motion information according to another embodiment of the present invention.
  • the execution body may be a decoder of a communication system using inter-prediction coding technology.
  • the method illustrated in FIG. 2 mainly includes step S201 and step S02:
  • S201 Determine, according to a value of the syntax element, a reference frame list used and motion information of the matching block that needs to be parsed in the used reference frame list.
  • the motion information of the matching block in the reference frame list includes a reference frame index value, a motion vector difference, and a motion vector predictor identifier;
  • the motion information of the matching block in the reference frame list includes The motion information of the matching block in the reference frame list 0 (reference list 0 ) and/or the motion information of the matching block in the reference frame list 1 (reference list 1 ), that is, the motion information including the matching block in the reference frame list 0, the reference frame list The motion information of the matching block in 1 or the motion information of the matching block in the reference frame list 0 and the motion information of the matching block in the reference frame list 1.
  • the decoder receives the motion vector predictor identifier transmitted by the encoder, the decoder knows whether the motion vector predictor value selected by the encoder at the time of encoding is mvp_0 or mvp_l.
  • Which reference frame list is currently used for the decoder side and which one of the reference frame lists need to be parsed is the motion information of the matching block in the reference frame list.
  • it is determined according to the value of the syntax element, that is, inter_pred_idc.
  • the syntax element inter_pred_idc is read and parsed, and the value may be Pred_L0, Pred_L1 or Pred_BI; further, when the value of inter_pred_idc is Pred_L0, it is determined that the reference frame list is used. 0, need to read and parse the motion information of the matching block in the reference frame list 0.
  • inter_pred_idc When the value of inter_pred_idc is Pred_Ll, it is determined that the reference frame list 1 is used, and the reference frame list 1 needs to be read and parsed. Matching the motion information of the block; when the value of inter_pred_idc is Pred_BI, it is determined that the reference frame list 0 and the reference frame list 1 are used, and the motion of the matching block in the reference frame list 0 and the reference frame list 1 needs to be read and parsed. information. If the current PU does not belong to the bidirectional prediction slice, the syntax element inter_pred_idc is not parsed, that is, the value of the syntax element inter_pred_idc defaults to Pred_0.
  • determining whether the motion information needs to be read and parsed it may be determined according to the prediction mode, that is, if the inter prediction mode of the current PU is not the Merge mode, it is determined to read and parse the motion information, otherwise the default motion information.
  • the motion vector prediction of the matching block in the determined reference frame list is first parsed. After the value identifier is used to parse the determined motion vector difference related information of the matching block in the used reference frame list, the reference frame of the matching block in the determined reference frame list in the determined code stream may be sequentially read and parsed. Index value, motion vector predictor identification, and motion vector difference related information. Specifically, if the decoder determines that the reference frame list 0 is currently used and the motion information of the matching block in the reference frame list 0 that needs to be parsed, the reference of the matching block in the reference frame list 0 in the code stream is sequentially read and parsed.
  • the frame index value (hereinafter expressed by ref_idx_/0), the motion vector predictor flag of the matching block in the reference frame list 0 (hereinafter denoted by mvp_ /0_flag), and the motion vector of the matching block in the reference frame list 0 Difference (hereinafter referred to as mvd - /0) related information; if the decoder determines that the current reference frame 1 is used and the motion information of the matching block in the reference frame list 1 is to be parsed, the code stream is sequentially read and parsed
  • the reference frame index value of the matching block in the reference frame list 1 (hereinafter denoted by ref_idx ⁇ /1), the motion vector predictor identifier of the matching block in the reference frame list 1 (hereinafter denoted by mvp ⁇ /1 ⁇ flag) and
  • the motion vector difference of the matching block in the reference frame list 1 (hereinafter referred to as mvd - /1) related information; if the decoder side
  • Another embodiment of the motion vector difference related information of the matching block in the used reference frame list after parsing the determined motion vector predictor identifier of the matching block in the determined used reference frame list may be And sequentially reading the transport of the matching block in the used reference frame list determined in the code stream Motion vector predictor identification, reference frame index value, and motion vector difference related information. Specifically, if the decoder determines that the reference frame list 0 is currently used and the motion information of the matching block in the reference frame list 0 that needs to be parsed, the mvp_ /0_flag, ref_ in the code stream are sequentially read and parsed.
  • the motion information of the matching block in the frame list 1 sequentially reads and parses the information of mvp_ /0_flag, ref_idx_ /0 and mvd_ /0 in the code stream, and mvp_ /1_flag, ref- Idx — /1 and mvd — /1 related information.
  • the following takes the reference frame list 0 as an example to illustrate the technical solution of the decoder parsing mvd_ / 0; the technical solution of the decoder to parse the mvd - / 1 related information is similar to the technical solution for parsing the mvd - / 0 related information, and will not be described again.
  • the mvd_ / 0 related information includes the mvd - / 0 horizontal component whose absolute value is greater than 0 (the following uses abs - mvd - greaterO - flag [0]), mvd - / 0 vertical
  • the absolute value of the component is greater than 0 (the following uses abs-mvd - greaterO - flag [l]), mvd - / 0 horizontal component absolute value is greater than 1 (hereinafter abs_mvd - greaterl - flag [0])
  • the mvd— /0 vertical component has an absolute value greater than 1 (the following is abs—mvd—the greater l—flag[l] is used, and the mvd— /0 horizontal component has an absolute value minus 2 (the following uses abs—mvd—min 2 [0] indicates ;), the sign of the mvd - / 0 horizontal component (the following uses mvd - sign), the
  • the decoder can first parse the motion vector predictor identifier and then parse the motion vector difference related information.
  • the interframe predictive coding motion information processing method illustrated in FIG. 2 causes the decoder side to decode The speed is greatly accelerated, which is conducive to its parallel processing. This is because the motion vector difference related information is more complicated than the motion vector predictor identification.
  • the time taken to parse the motion vector difference related information is T1
  • the time taken to decode the motion vector predictor is T2. If the motion vector difference correlation information is first analyzed, after the motion vector difference correlation information is completed, the motion vector predictor identifier is parsed, and then the motion vector predictor value is used to identify the motion vector predictor (MVP) scheme. The total time taken to resolve the motion vector difference related information and the decoded motion vector predictor is the time of both, that is, T1 + ⁇ 2.
  • the motion vector predictor identifier is first parsed, after the motion vector predictor identifier is completed, the motion vector difference related information is parsed, and then the motion vector difference related information is parsed, and the motion vector predictor value is decoded according to the already parsed motion vector predictor.
  • the total time taken to resolve the motion vector difference related information and the decoded motion vector predictor is max (Tl, T2), that is, the maximum of the two, obviously, max (Tl, D2) is less than 11 + Ding 2.
  • the method further includes: determining, according to the reference frame index value, the matching block. a reference frame in which the reference frame is reconstructed; a motion vector of the matching block in the corresponding reference frame list is reconstructed; and the current inter prediction unit is obtained according to the reference frame in which the determined matching block is located and the motion vector of the matching block in the reconstructed corresponding reference frame list A matching block in the corresponding reference frame list.
  • the reference frame list 0 selected by the decoder side is taken as an example (similar to the reference frame list 1 when not selected), and when the motion vector of the matching block is reconstructed in the corresponding reference frame list, the specific one may be:
  • the difference (mvd - /0) related information includes the mvd - / 0 horizontal component (hereinafter expressed by mvd - X) and the mvd - / 0 vertical component (hereinafter referred to as 11 ⁇ (1), where mvd - x can be as follows Mode calculation:
  • Mvd_ can be calculated as follows:
  • Mvd_ abs_mvd_greaterO_flag[l] * (abs_mvd_minus2 [1] +2 ) * ( l-2*mvd_sign_flag[l]) ;
  • the reconstructed current image block is obtained by adding the image prediction residual block to the (weighted) matching block.
  • FIG. 3 it is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to an embodiment of the present invention.
  • the processing apparatus of the exemplary interframe predictive coding motion information may be an encoder of a communication system employing interframe predictive coding techniques.
  • the apparatus for inter-predictive encoding motion information of the example of Figure 3 includes a determination module 301 and a write module 302, wherein:
  • the determining module 301 is configured to determine, according to the value of the syntax element, the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list to be transmitted.
  • the reference frame list includes at least one of a reference frame list 0 (reference list 0 ) and a reference frame list 1 (reference list 1 ), that is, may be a reference frame list 0, may be a reference frame list 1 or may It is the reference frame list 0 and the reference frame list 1, and the role of each reference frame list is the same as that of the reference frame list mentioned in the foregoing embodiment or the background art.
  • the motion information of the matching block in the reference frame list includes a motion vector predictor flag (hereinafter referred to as MVP_flag) in addition to the reference frame index value and the motion vector difference.
  • MVP_flag motion vector predictor flag
  • the motion information of the matching block in the reference frame list includes a reference frame list 0 (reference list 0 ) the motion information of the matching block and/or the motion information of the matching block in the reference frame list 1 (reference list 1 ), that is, the motion information including the matching block in the reference frame list 0, and the matching in the reference frame list 1
  • the motion vector predictive value identifier (MVP_flag) is used to indicate whether the motion vector predictor selected by the encoder side is mvp_0 or mvp_l; when the encoder transmits the motion vector predictor identifier to the decoder end, it is equivalent to informing the decoder encoding.
  • the motion vector predictor selected by the terminal at the time of encoding is mvp_0 or mvp_l.
  • the syntax element inter_pred_idc is transmitted, and the value may be Pred_L0, Pred_L1, or Pred_BI; further, when the value of inter_pred_idc is Pred_L0, the determining module 301 determines that the reference frame list is used. 0, and need to transmit the motion information of the matching block in the reference frame list 0. When the value of inter_pred_idc is Pred_L1, the determining module 301 determines that the reference frame list 1 is used, and the reference frame list 1 needs to be transmitted.
  • Motion information of the block when the value of inter_pred_idc is Pred_BI, the determining module 301 determines that the reference frame list 0 and the reference frame list 1 are used, and the motion of the matching block in the reference frame list 0 and the reference frame list 1 is required to be transmitted. information. If the current PU does not belong to the bidirectional prediction stripe, the syntax element inter_pred_idc is not transmitted, that is, the value of the syntax element inter_pred_idc defaults to Pred_0.
  • the writing module 302 is configured to: if the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list are determined by the determining module 301, the determined used reference frame list matching block The motion vector predictor flag is written to the code stream prior to the determined motion vector difference related information of the matching block in the used reference frame list.
  • the reference frame list 1 is taken as an example to illustrate the technical solution for transmitting mvd_ / 0 related information; the technical solution for transmitting mvd - /1 related information is similar to the technical solution for transmitting mvd - / 0 related information, and will not be described again.
  • the mvd_ /0 related information includes the mvd - / 0 horizontal component whose absolute value is greater than 0 (the following uses abs - mvd - greaterO - flag [0];), the absolute value of the mvd - / 0 vertical component is greater than 0 mark (hereinafter abs_mvd - greaterO - flag [l] is indicated;), mvd - /0 horizontal component absolute value is greater than 1 mark (hereinafter abs_mvd - greaterl - flag [0]), mvd - /0
  • the absolute value of the vertical component is greater than 1 (the following is used abs_mvd - greater l - flag [l]), mvd - / 0 horizontal component absolute value minus 2 amplitude (the following use abs - mvd - minus2 [0] Indicates), the sign of the mvd_ /0 horizontal component (below Use mv
  • abs—mvd—greater 1—flag [0] , abs mvd greaterl _flag[l] , abs_mvd_minus2 [0] , mvd — sign — flag [0] , abs — mvd — minus2[l], and mvd — sign—flag[ l] is conditional transmission, that is, if the absolute value of the mvd_ /0 horizontal component is greater than 0, then the transmission abs- mvd - greater 1 - flag [0]; if the absolute value of the mvd - / 0 vertical component is greater than 0, then Transfer abs-mvd- greaterl_flag[l]; if the absolute value of the mvd_ /0 horizontal component is greater than 1, then transmit abs-mvd- minus2[0] and mvd_sign_flag [0]; if mvd_ /0 vertical If the absolute value of the direct
  • each functional module is only an example, and the actual application may be considered according to requirements, for example, configuration requirements of corresponding hardware or convenience of implementation of software.
  • the above function assignment is performed by different functional modules, that is, the internal structure of the inter-predictive coding motion information processing device is divided into different functional modules to complete all or part of the functions described above.
  • the corresponding functional modules in this embodiment may be implemented by corresponding hardware, or may be executed by corresponding hardware.
  • the foregoing determining module may have the foregoing syntax elements.
  • the value of the currently used reference frame and the hardware of the reference frame to be transmitted in the reference frame list may also be a general processor or other hardware device capable of executing a corresponding computer program to perform the aforementioned functions; Further, as described above, the transmission module may be configured to perform the foregoing if the currently used reference frame list and the motion information to be transmitted in the used reference frame list are determined by the determining module (or determiner), Determining, by the determined motion vector predictor value of the matching block in the used reference frame list, hardware that writes the code stream function prior to the determined motion vector difference related information of the matching block in the used reference frame list, such as a transmitter, or Perform the corresponding computer program to complete the aforementioned functions
  • a general processor or other hardware device (the above described principles can be applied to the various embodiments provided in this specification).
  • the write module 302 of the example of FIG. 3 may include a first write unit 401, such as the processing device for interframe predictive encoding motion information provided by another embodiment of the present invention as shown in FIG.
  • the first writing unit 401 is configured to first write the reference frame index value of the matching block in the determined used reference frame list into the code stream, and then The determined motion vector predictor of the matching block in the determined reference frame list identifies the write code stream, and finally writes the motion vector difference related information of the matching block in the determined used reference frame list to the code stream.
  • the transmission module 302 of the example of FIG. 3 may include a second writing unit 501, such as the processing apparatus for inter-predictive encoding motion information provided by another embodiment of the present invention as shown in FIG.
  • the second writing unit 501 is configured to first write the motion vector predictor identifier of the matching block in the determined used reference frame list into the code stream, and then use the determined reference frame index value of the matching block in the determined used reference frame list. The code stream is written, and finally the motion vector difference related information of the matching block in the determined used reference frame list is written into the code stream.
  • FIG. 6 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention.
  • the processing device of the interframe predictive coding motion information exemplified in Fig. 6 may be a decoder of a communication system employing interframe predictive coding techniques.
  • the apparatus for inter-predictive coding motion information illustrated in Fig. 6 includes a to-be-desolved determination module 601 and a parsing module 602, where:
  • the to-be-resolved determination module 601 is configured to determine, according to the value of the syntax element, the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list, where the reference frame list includes the reference frame list 0 and the reference frame list. At least one of 1, the motion information includes a reference frame index value, a motion vector predictor identifier, and motion vector difference related information.
  • the parsing module 602 is configured to: if the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list are determined by the to-be-resolved determination module 601, parse the determined used reference frame list first
  • the motion vector predictor of the matching block identifies the motion vector difference related information of the matching block in the determined used reference frame list after the determination.
  • each functional module is only an example, and the actual application may be considered according to requirements, for example, configuration requirements of corresponding hardware or convenience of implementation of software.
  • the above function assignment is performed by different functional modules, that is, the internal structure of the inter-predictive coding motion information processing device is divided into different functional modules to complete all or part of the functions described above.
  • the corresponding functional modules in this embodiment may be implemented by corresponding hardware, or may be executed by corresponding hardware.
  • the foregoing to-be-resolved determining module may have the foregoing basis.
  • the value of the syntax element determines a list of reference frames currently used and a matching block to be parsed within the list of used reference frames
  • the hardware of the motion information such as the identifier to be parsed, may also be a general processor or other hardware device capable of executing the corresponding computer program to perform the foregoing functions; and the parsing module as described above may have the reference frame currently used to perform the foregoing.
  • the motion information of the matching block to be parsed in the list and the used reference frame list is determined by the to-be-resolved determining module (or the to-be-resolved determiner), and the determined matching block in the used reference frame list is first parsed
  • the determined motion vector predictor of the matching block in the used reference frame list identifies the hardware that parses the motion vector difference related information function, such as a parser, or a general processor capable of executing a corresponding computer program to perform the foregoing functions. Or other hardware devices (the various descriptions provided in this specification apply the above described principles).
  • the parsing module 602 of the example of FIG. 6 may include a first extracting unit 701, such as the processing apparatus for inter-predictive encoding motion information provided by another embodiment of the present invention as shown in FIG.
  • the first extracting unit 701 is configured to sequentially read and parse the reference frame index value, the motion vector predictor identifier, and the motion vector difference related information of the matching block in the determined reference frame list in the code stream.
  • the parsing module 602 of the example of FIG. 6 may also include a second extracting unit 801, such as the processing apparatus for inter-predictive encoding motion information provided by another embodiment of the present invention as shown in FIG.
  • the second extracting unit 801 is configured to sequentially read and parse the motion vector predictor identifier, the reference frame index value, and the motion vector difference related information of the matched matching block in the used reference frame list in the code stream.
  • the apparatus for inter-predictive coding motion information illustrated in FIG. 6 may further include a reference frame determination module 901, a reconstruction module 902, and an acquisition module 903, such as the interframe predictive coding motion provided by another embodiment of the present invention as shown in FIG. Information processing device, wherein:
  • a reference frame determining module 901 configured to determine, according to the reference frame index value, a reference frame in which the matching block is located;
  • a reconstruction module 902 configured to reconstruct a motion vector of the matching block in the determined used reference frame list
  • an obtaining module 903 configured to acquire a current frame according to the reference frame in which the determined matching block is located and the reconstructed motion vector
  • the inter prediction unit is a matching block within the determined list of used reference frames.
  • the reconstruction module 902 illustrated in FIG. 9 may include a motion vector difference recovery unit 1001, a motion vector predictor determination unit 1002, and a summation unit 1003, as shown in FIG. 10, which provides inter prediction encoding motion information according to another embodiment of the present invention.
  • Processing device wherein:
  • a motion vector difference recovery unit 1001 configured to use, according to the determined reference frame used in the reference frame list
  • the motion vector difference related information recovers the motion vector difference of the matching block in the determined used reference frame list
  • the motion vector difference (mvd - /0) related information of the matching block in the reference frame list 0 includes the mvd - / 0 horizontal component (mvd - X ) and the mvd - / 0 vertical component (mvd_)
  • the motion vector difference recovery unit 1001 can calculate mvd_X as follows:
  • the motion vector difference recovery unit 1001 can calculate mvd_ as follows:
  • Mvd_ abs_mvd_greaterO_flag[l] * (abs_mvd_minus2 [1] +2 ) * ( l-2*mvd_sign _flag[l]) ;
  • a motion vector predictor determining unit 1002 configured to determine, according to the determined motion vector predictor identifier of the matching block in the used reference frame list, a motion vector predictor of the current inter prediction unit;
  • FIG. 11 is a schematic structural diagram of a codec system according to an embodiment of the present invention. For the convenience of description, only parts related to the embodiment of the present invention are shown.
  • the codec system illustrated in FIG. 11 includes the encoder 111 provided in any one of the embodiments of FIG. 3 to FIG. 5 and the decoder 112 provided in any one of FIGS. 6 to 10, wherein the encoder 111 includes the determination.
  • the module 1111 and the transmission module 1112, the decoder 112 includes a decoder including a to-be-resolved determination module 1121 and a parsing module 1122, where:
  • a determining module 1111 configured to determine, according to a value of the syntax element, a currently used reference frame list and motion information of a matching block that needs to be transmitted in the used reference frame list, where the reference frame list includes a reference frame list 0 and a reference frame list 1 At least one of the motion information includes a reference frame index value, a motion vector predictor identifier, and a motion vector difference related information;
  • the transmitting module 1112 is configured to: if the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list are determined by the determining module 1111, match the determined used reference frame list to the matching block.
  • the motion vector predictor identifier is written to the code stream prior to the determined motion vector difference related information of the matching block in the used reference frame list;
  • the to-be-resolved determination module 1121 is configured to determine, according to the value of the syntax element, the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list;
  • the parsing module 1122 is configured to: if the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list are determined by the to-be-resolved determining module 1121, parsing the determined used reference frame list first
  • the motion vector predictor of the matching block identifies the motion vector difference related information of the matching block in the determined used reference frame list after the determination.
  • Method 1 determining, according to the value of the syntax element, the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list, where the reference frame list includes at least one of the reference frame list 0 and the reference frame list 1.
  • the motion information includes a reference frame index value, a motion vector predictor identifier, and a motion vector difference related information;
  • the motion vector predictor identifier of the matching block in the determined used reference frame list is prior to the determined
  • the motion vector difference related information of the matching block in the reference frame list used is written to the code stream.
  • Method 2 Determine, according to the value of the syntax element, a currently used reference frame list and motion information of the matching block to be parsed in the used reference frame list, where the reference frame list includes at least one of the reference frame list 0 and the reference frame list 1.
  • the motion information includes a reference frame index value, a motion vector predictor identifier, and a motion vector difference related information; If the currently used reference frame list and the motion information of the matching block to be parsed in the used reference frame list are determined, parsing the motion vector predictor identifier of the matching block in the determined used reference frame list and parsing the determination The motion vector difference related information of the matching block in the used reference frame list.
  • the program may be stored in a computer readable storage medium, and the storage medium may include: Read Only Memory (ROM), Random Access Memory (RAM), disk or optical disk.
  • ROM Read Only Memory
  • RAM Random Access Memory

Landscapes

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

Abstract

Embodiments of the present invention provide a method and device for processing inter-frame predictive coding motion information, and a codec system, so as to improve a code stream parsing speed. The method comprises: determining, according to values of syntax elements, a reference frame list currently in use and motion information of matching blocks to be transmitted in the reference frame list in use; if the reference frame list currently in use and the motion information of matching blocks to be transmitted in the reference frame list in use are determined, first writing a motion vector predictor identifier of matching blocks in the determined reference frame list in use into a code stream, and then writing motion vector difference related information of matching blocks in the determined reference frame list into the code stream. With the present invention, a decoder end is capable of processing the information in a parallel way, that is, parsing the motion vector difference related information, and at the same time decoding the parsed motion vector predictor identifier to obtain a motion vector, thereby improving the code stream decoding speed at the decoder end.

Description

帧间预测编码运动信息的处理方法、 装置和编解码系统 本申请要求于 2012 年 07 月 02 日提交中国专利局、 申请号为 201210225481.7、 发明名称为 "帧间预测编码运动信息的处理方法、 装置和编 解码系统" 的中国专利申请的优先权, 其全部内容通过引用结合在本申请中。 技术领域  The present invention claims to be submitted to the Chinese Patent Office on July 2, 2012, the application number is 201210225481.7, and the invention name is "interframe prediction coding motion information processing method and device" The priority of the Chinese Patent Application, the entire disclosure of which is incorporated herein by reference. Technical field
本发明涉及图像处理领域, 尤其涉及帧间预测编码运动信息的处理方法、 装置和编解码系统。  The present invention relates to the field of image processing, and in particular, to a method, an apparatus, and a codec system for processing inter prediction encoded motion information.
背景技术 Background technique
现有的视频图像编解码技术包括帧内预测编码与帧间预测编码, 其中, 帧 间预测编码是指利用当前编码图像与已编码图像的时间相关性对当前编码图 像进行压缩编码。 在 H.264/AVC中, 一帧图像被分为若干方形的图像块。 从已 编码的参考帧中搜索出与当前图像块匹配的图像块,计算当前块和匹配块的空 间位置的相对偏移量,这一相对偏移量就是运动矢量(Motion Vector , MV ) , 得到运动矢量的过程被称为运动估计(Motion Estimation, ME ) , 利用匹配块 对当前图像块进行预测的过程被称为运动补偿(Motion Compensation, MC ) , 当前图像块与匹配块的像素值的差别称作图像块预测残差。  Existing video image coding and decoding techniques include intra-prediction coding and inter-frame prediction coding, wherein inter-frame prediction coding refers to compression coding of a current coded picture by using the temporal correlation of the current coded picture and the coded picture. In H.264/AVC, one frame of image is divided into several square image blocks. Searching for the image block matching the current image block from the encoded reference frame, and calculating the relative offset of the spatial position of the current block and the matching block, the relative offset is the motion vector (Motion Vector, MV), The process of motion vector is called Motion Estimation (ME). The process of predicting the current image block by using matching block is called Motion Compensation (MC). The difference between the pixel values of the current image block and the matching block. It is called image block prediction residual.
为了使解码器一端和编码器一端使用的匹配块相同,编码器一端使用的图 像块的运动信息需要在码流中传输到解码器一端。如果直接对每个图像块的运 动矢量直接进行编码, 那么将耗费大量的比特数,特别是当小尺寸的图像块占 多数时。 由于一个运动物体常常会覆盖多个图像块, 空间域相邻图像块的运动 矢量具有 4艮强的相关性。 因此, 当前图像块的运动矢量可以根据邻近已编码图 像块的运动矢量进行预测, 预测所得到的值被称为运动矢量预测值 (motion Vector Predictor, MVP ) , 当前图像块的运动矢量和运动矢量预测值之间的差 值被称为运动矢量差 (Motion Vector Difference, MVD ) , 即有关系: MV = MVD + MVP。  In order to make the matching block used by the decoder side and the encoder side the same, the motion information of the image block used by the encoder side needs to be transmitted to the decoder side in the code stream. If the motion vector of each image block is directly encoded directly, a large number of bits will be consumed, especially when a small-sized image block is dominant. Since a moving object often covers multiple image blocks, the motion vectors of adjacent image blocks in the spatial domain have a reluctant correlation. Therefore, the motion vector of the current image block can be predicted according to the motion vector of the adjacent coded image block, and the predicted value is called a motion vector predictor (MVP), a motion vector of the current image block, and a motion vector. The difference between the predicted values is called the Motion Vector Difference (MVD), which is related to: MV = MVD + MVP.
作为一种新的视频编码标准, H.264在运动估计过程中采用了多参考帧预 测来提高预测精度, 即建立储存多个重建图像帧的緩存, 并在緩存内的所有的 重建图像帧中寻找最优的匹配块进行运动补偿,以便更好地去除时间域的冗余 度。 H. 264的帧间预测编码使用两个如上的緩存,即参考帧列表 0 ( reference list 0 )和参考帧列表 1 ( reference list 1 ) 。 每一个列表中最优匹配块所在的参考 帧用索引值标明, 即 ref_10_idx和 ref_ll_idx。 以参考帧列表 0为例, 该列表内匹 配块的运动信息包括参考帧索引值 (ref_10_idx)、 运动矢量预测值 (MVP)和运 动矢量差 (MVD)。 根据这三个信息, 解码器这一端就可以在选定的参考帧中 找到正确的匹配块。 As a new video coding standard, H.264 uses multi-reference frame prediction to improve prediction accuracy in the motion estimation process, that is, to establish a buffer for storing multiple reconstructed image frames, and all the buffers in the cache. Find the optimal matching block in the reconstructed image frame for motion compensation to better remove the redundancy in the time domain. The interframe predictive coding of H.264 uses two buffers as above, reference frame list 0 (reference list 0) and reference frame list 1 (reference list 1). The reference frame in which the best matching block in each list is located is indicated by an index value, namely ref_10_idx and ref_ll_idx. Taking the reference frame list 0 as an example, the motion information of the matching block in the list includes a reference frame index value (ref_10_idx), a motion vector predictor (MVP), and a motion vector difference (MVD). Based on these three pieces of information, the decoder can find the correct matching block in the selected reference frame.
现有技术提供的一种帧间预测编码运动信息的处理方法是, 以 H.264/AVC 为视频图像压缩标准, 将宏块(16x16像素大小)作为编码处理的基本单元, 在帧间预测时, 一个宏块可以包含一个或多个运动块,但任意一运动块均为矩 形块。这些运动块的参考帧列表值、参考帧索引值和运动矢量差将以宏块为单 位进行传输或解码。 由于 H.264/AVC中运动矢量预测值(MVP )的选取方法唯 一确定, 所以 MVP的相关信息无需在码流中传输。 具体地, 在编码器这一端, 首先传输该宏块的参考帧列表的选择, 即当使用参考帧列表 0时, 按以下顺序 编码传输运动信息: 依次传输宏块内所有运动块在参考帧列表 0中使用的参考 帧索引值 ref_idx_10; 依次传输宏块内所有运动块在参考帧列表 0中运动矢量差 mvd_10„ 当使用参考帧列表 1时, 按以下顺序编码传输运动信息: 依次传输宏 块内所有运动块在参考帧列表 1中使用的参考帧索引值 ref_idx_ll ; 依次传输宏 块内所有运动块在参考帧列表 1中运动矢量差 mvd_ll。 在解码器这一端, 当使 用参考帧列表 0时, 按以下顺序解码运动信息: 依次解码宏块内所有运动块在 参考帧列表 0中使用的参考帧索引值 ref_idx_10; 依次解码宏块内所有运动块在 参考帧列表 0中运动矢量差 mvd_10。 当使用参考帧列表 1时,按以下顺序解码运 动信息: 依次解码宏块内所有运动块在参考帧列表 1中使用的参考帧索引值 ref_idx_ll ; 依次解码宏块内所有运动块在参考帧列表 1中运动矢量差 mvd_ll。 解码器端和编码器端使用相同的方法选择推导当前图像块的运动矢量预测值 在解码器这一端,宏块内每一个运动块可以根据码流中解析得到的参考帧 列表和参考帧索引值确定每运动块的匹配块所在的参考帧;宏块内每一个运动 块根据码流中解析得出的某一列表(例如, 参考帧列表 0 ) 的运动矢量差 (例 如, mvd_10 ) , 加上解码器端推导得到的运动矢量预测值, 计算得出运动矢量 (例如, mv_10), 从而确定该列表中匹配块的空间位置, 得到需要的匹配块。 A method for processing interframe predictive coding motion information provided by the prior art is to use H.264/AVC as a video image compression standard, and use a macroblock (16x16 pixel size) as a basic unit of encoding processing, during interframe prediction. A macroblock can contain one or more motion blocks, but any motion block is a rectangular block. The reference frame list value, reference frame index value, and motion vector difference of these motion blocks will be transmitted or decoded in units of macroblocks. Since the selection method of the motion vector predictor (MVP) in H.264/AVC is uniquely determined, the related information of the MVP need not be transmitted in the code stream. Specifically, at the encoder end, the selection of the reference frame list of the macroblock is first transmitted, that is, when the reference frame list 0 is used, the transmission motion information is encoded in the following order: sequentially transmitting all motion blocks in the macroblock in the reference frame list Reference frame index value ref_idx_10 used in 0; sequentially transmitting all motion blocks in the macroblock in the reference frame list 0 motion vector difference mvd_10 „ When the reference frame list 1 is used, the transmission motion information is encoded in the following order: The reference frame index value ref_idx_11 used by all motion blocks in the reference frame list 1; the motion vector difference mvd_11 in the reference frame list 1 is transmitted in sequence in all the motion blocks in the macro block. At the decoder side, when the reference frame list 0 is used, Decoding the motion information in the following order: sequentially decoding the reference frame index value ref_idx_10 used by all motion blocks in the macroblock in the reference frame list 0; sequentially decoding all motion blocks in the macroblock in the reference frame list 0 in the motion vector difference mvd_10. When referring to frame list 1, the motion information is decoded in the following order: sequentially decoding all motion blocks in the macro block in the reference frame list The reference frame index value ref_idx_ll used in 1; sequentially decodes the motion vector difference mvd_11 of all motion blocks in the macroblock in the reference frame list 1. The decoder side and the encoder side use the same method to select and derive the motion vector predictor of the current image block. At the decoder end, each motion block in the macroblock can determine the reference frame in which the matching block of each motion block is located according to the reference frame list and the reference frame index value parsed in the code stream; each motion in the macroblock The block calculates a motion vector based on a motion vector difference (eg, mvd_10 ) of a certain list (eg, reference frame list 0) parsed in the code stream, plus a motion vector predictor derived from the decoder side. , mv_10), thereby determining the spatial position of the matching block in the list, and obtaining the required matching block.
然而, 上述现有技术提供的帧间预测编码运动信息的处理方法, 其不足在 于, 由于运动矢量预测值的选取方法唯一, 因此, 解码器这一端得到的运动矢 量预测值对当前图像块未必是最优值, 此外, 解码器这一端也不是并行处理, 解码速度不高。  However, the method for processing inter-predictive coding motion information provided by the above prior art is disadvantageous in that the motion vector predictor obtained at the decoder end is not necessarily the current image block because the motion vector predictor is uniquely selected. The optimal value, in addition, the decoder is not processed in parallel at this end, and the decoding speed is not high.
发明内容 Summary of the invention
本发明实施例提供帧间预测编码运动信息的处理方法、 装置和编解码系 统, 以提升码流解析速度。  Embodiments of the present invention provide a method, a device, and a codec system for processing inter-predictive coding motion information, so as to improve the code stream resolution speed.
本发明实施例提供一种帧间预测编码运动信息的处理方法, 所述方法包 括:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需 要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表 0和参考帧列表 1 中的至少一个, 所述运动信息包括参考帧索引值、运动矢量预测值标识和运动 矢量差相关信息;若当前所用参考帧列表以及所述所用参考帧列表内需要传输 的匹配块的运动信息被确定,则将所述确定的所用参考帧列表内匹配块的运动 矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关 信息写入码流。  An embodiment of the present invention provides a method for processing inter prediction encoding motion information, where the method includes: determining, according to a value of a syntax element, a currently used reference frame list and motion information of a matching block to be transmitted in the used reference frame list, The reference frame list includes at least one of a reference frame list 0 and a reference frame list 1, the motion information including a reference frame index value, a motion vector predictor identifier, and motion vector difference related information; if the currently used reference frame list and the The motion information of the matching block to be transmitted in the used reference frame list is determined, and the motion vector predictor identifier of the matching block in the determined used reference frame list is prior to the determined matching block in the used reference frame list. The motion vector difference related information is written to the code stream.
本发明实施例提供一种帧间预测编码运动信息的处理方法, 所述方法包 括:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内需 要解析的匹配块的运动信息,所述参考帧列表包括参考帧列表 0和参考帧列表 1 中的至少一个, 所述运动信息包括参考帧索引值、运动矢量预测值标识和运动 矢量差相关信息;若当前所用参考帧列表以及所述所用参考帧列表内需要解析 的匹配块的运动信息被确定,则先解析所述确定的所用参考帧列表内匹配块的 运动矢量预测值标识后解析所述所述确定的所用参考帧列表内匹配块运动矢 量差相关信息。  An embodiment of the present invention provides a method for processing inter-predictive coding motion information, where the method includes: determining, according to a value of a syntax element, a currently used reference frame list and motion information of a matching block to be parsed in the used reference frame list, The reference frame list includes at least one of a reference frame list 0 and a reference frame list 1, the motion information including a reference frame index value, a motion vector predictor identifier, and motion vector difference related information; if the currently used reference frame list and the The motion information of the matching block to be parsed in the used reference frame list is determined, and then the motion vector predictor identifier of the matching block in the determined used reference frame list is parsed and then parsed into the determined used reference frame list. Match block motion vector difference related information.
本发明实施例提供一种帧间预测编码运动信息的处理装置, 所述装置包 括: 确定模块, 用于根据语法元素的值确定当前所用参考帧列表以及所述所用 参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表 0和参考帧列表 1中的至少一个, 所述运动信息包括参考帧索引值、运动矢量预 测值标识和运动矢量差相关信息; 写入模块, 用于若当前所用参考帧列表以及 所述所用参考帧列表内需要传输的匹配块的运动信息被所述确定模块确定,则 将所述确定的所用参考帧列表内匹配块的所述运动矢量预测值标识先于所述 确定的所用参考帧列表内匹配块运动矢量差相关信息写入码流。 An embodiment of the present invention provides an apparatus for processing inter prediction encoding motion information, where the apparatus includes: a determining module, configured to determine, according to a value of a syntax element, a list of currently used reference frames and the used Referencing motion information of a matching block in the frame list that needs to be transmitted, the reference frame list including at least one of a reference frame list 0 and a reference frame list 1, the motion information including a reference frame index value, a motion vector predictor flag, and motion a vector difference related information; a writing module, configured to: if the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list are determined by the determining module, the determined used reference frame list The motion vector predictor value of the inner matching block is written to the code stream prior to the determined matching block motion vector difference related information in the used reference frame list.
本发明实施例提供一种帧间预测编码运动信息的处理装置, 所述装置包 括: 待解析确定模块, 用于根据语法元素的值确定当前所用参考帧列表以及所 述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考 帧列表 0和参考帧列表 1中的至少一个, 所述运动信息包括参考帧索引值、运动 矢量预测值标识和运动矢量差相关信息; 解析模块, 用于若当前所用参考帧列 表以及所述所用参考帧列表内需要解析的匹配块的运动信息被所述待解析确 定模块确定,则先解析所述确定的所用参考帧列表内匹配块的所述运动矢量预 测值标识后解析所述确定的所用参考帧列表内匹配块运动矢量差相关信息。  An embodiment of the present invention provides an apparatus for processing inter-predictive coding motion information, where the apparatus includes: a to-be-resolved determination module, configured to determine, according to a value of a syntax element, a list of currently used reference frames and a list of used reference frames to be parsed The motion information of the matching block, the reference frame list includes at least one of a reference frame list 0 and a reference frame list 1, the motion information including a reference frame index value, a motion vector predictor identifier, and a motion vector difference related information; a module, configured to: if the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list are determined by the to-be-parsed determining module, parsing the determined matching block in the used reference frame list first The motion vector predictor identifies and parses the determined matching block motion vector difference related information in the used reference frame list.
本发明实施例提供一种编解码系统, 所述编解码系统包括编码器和解码 器, 所述编码器包括确定模块和写入模块, 所述解码器包括待解析确定模块和 解析模块; 所述确定模块, 用于根据语法元素的值确定当前所用参考帧列表以 及所述所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括 参考帧列表 0和参考帧列表 1中的至少一个, 所述运动信息包括参考帧索引值、 运动矢量预测值标识和运动矢量差相关信息; 所述写入模块, 用于若当前所用 参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被所述 确定模块确定,则将所述确定的所用参考帧列表内匹配块的所述运动矢量预测 值标识先于所述确定的所用参考帧列表内匹配块运动矢量差相关信息写入码 流; 所述待解析确定模块, 用于根据语法元素的值确定当前所用参考帧列表以 及所述所用参考帧列表内需要解析的匹配块的运动信息; 所述解析模块, 用于 若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的运动 信息被所述待解析确定模块确定,则先解析所述确定的所用参考帧列表内匹配 块的所述运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块的 运动矢量差相关信息。 An embodiment of the present invention provides a codec system, where the codec system includes an encoder and a decoder, the encoder includes a determining module and a writing module, and the decoder includes a to-be-resolved determining module and a parsing module; a determining module, configured to determine, according to a value of the syntax element, a currently used reference frame list and motion information of a matching block to be transmitted in the used reference frame list, where the reference frame list includes the reference frame list 0 and the reference frame list 1 At least one of the motion information includes a reference frame index value, a motion vector predictor identifier, and a motion vector difference related information; the writing module is configured to: if the currently used reference frame list and the used reference frame list need to be transmitted The motion information of the matching block is determined by the determining module, and the motion vector predictor identifier of the matching block in the determined used reference frame list is prior to the determined matching block motion vector difference in the determined used reference frame list. The information is written into the code stream; the to-be-resolved determination module is configured to determine the currently used parameter according to the value of the syntax element And the motion information of the matching block that needs to be parsed in the used reference frame list; the parsing module is configured to: if the currently used reference frame list and the used reference frame list need to be parsed, the motion information of the matching block is Determining, by the to-be-resolved determination module, parsing the motion vector predictor identifier of the matching block in the determined used reference frame list, and parsing the determined matching block in the used reference frame list Motion vector difference related information.
从上述本发明实施例可知,由于传输到解码器端的匹配块的运动信息包括 运动矢量预测值标识, 并且在传输过程中,是将对应参考帧列表内匹配块的运 动矢量预测值标识先于运动矢量差相关信息写入码流。 因此, 与现有技术提供 的帧间预测编码运动信息的处理相比,本发明实施例提供的方法可以使解码器 一端根据运动矢量预测值标识取得对当前图像块而言最优的运动矢量预测值, 而运动矢量预测值标识先于运动矢量差相关信息写入码流也使得解码器端可 以并行处理这些信息即在解析运动矢量差相关信息的同时根据已解析出的运 动矢量预测值标识解码得到运动矢量预测值,从而提高了码流在解码器一端的 解码速度。  As can be seen from the foregoing embodiments of the present invention, the motion information of the matching block transmitted to the decoder end includes the motion vector predictor identifier, and in the transmission process, the motion vector predictor identifier of the matching block in the corresponding reference frame list is prior to the motion. The vector difference related information is written to the code stream. Therefore, compared with the processing of the inter-predictive coding motion information provided by the prior art, the method provided by the embodiment of the present invention can enable the decoder side to obtain the motion vector prediction optimal for the current image block according to the motion vector prediction value identifier. The value, and the motion vector predictor identifier is written into the code stream prior to the motion vector difference related information, so that the decoder side can process the information in parallel, that is, the motion vector difference correlation information is parsed while the motion vector predictor value is decoded. The motion vector predictor is obtained, thereby increasing the decoding speed of the code stream at the decoder end.
附图说明 DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对现有技术或实施例 描述中所需要使用的附图作筒单地介绍,显而易见地, 下面描述中的附图仅仅 是本发明的一些实施例,对于本领域技术人员来讲,还可以如这些附图获得其 他的附图。  In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings used in the description of the prior art or the embodiments will be briefly described below. Obviously, the drawings in the following description are only the present invention. For some embodiments, other figures may also be obtained as those skilled in the art from these figures.
图 1是本发明实施例提供的帧间预测编码运动信息的处理方法流程示意 图;  1 is a schematic flow chart of a method for processing inter prediction encoding motion information according to an embodiment of the present invention;
图 2是本发明另一实施例提供的帧间预测编码运动信息的处理方法流程示 意图;  2 is a schematic flow chart of a method for processing inter prediction encoding motion information according to another embodiment of the present invention;
图 3是本发明实施例提供的帧间预 'J编码运动信息的处理装置结构示意 图;  3 is a schematic structural diagram of an apparatus for processing inter-pre-J code motion information according to an embodiment of the present invention;
图 4是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示 意图;  4 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention;
图 5是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示 意图;  FIG. 5 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention; FIG.
图 6是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示 意图;  6 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention;
图 7是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示 意图; FIG. 7 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention; Intention
图 8是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示 意图;  FIG. 8 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention; FIG.
图 9是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构示 意图;  FIG. 9 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention; FIG.
图 10是本发明另一实施例提供的帧间预测编码运动信息的处理装置结构 示意图;  FIG. 10 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention; FIG.
图 11是本发明实施例提供的编解码系统结构示意图。  FIG. 11 is a schematic structural diagram of a codec system according to an embodiment of the present invention.
具体实施方式 detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清 楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而不是 全部的实施例。基于本发明中的实施例, 本领域技术人员所获得的所有其他实 施例, 都属于本发明保护的范围。  BRIEF DESCRIPTION OF THE DRAWINGS The technical solutions in the embodiments of the present invention will be described in detail below with reference to the accompanying drawings. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention are within the scope of the present invention.
请参阅附图 1 , 是本发明实施例提供的帧间预测编码运动信息的处理方法 流程示意图, 其执行主体可以是采用帧间预测编码技术的通信系统的编码器。 附图 1示例的方法主要包括步骤 S101和步骤 S102:  FIG. 1 is a schematic flowchart of a method for processing inter prediction encoding motion information according to an embodiment of the present invention, where an execution body may be an encoder of a communication system using interframe prediction coding technology. The method illustrated in Fig. 1 mainly includes step S101 and step S102:
S101 ,根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列 表内需要传输的匹配块的运动信息。  S101. Determine, according to the value of the syntax element, a list of currently used reference frames and motion information of the matching block to be transmitted in the used reference frame list.
在本发明实施例中, 参考帧列表包括参考帧列表 0 ( reference list 0 )和 参考帧列表 1 ( reference list 1 ) 中的至少一个, 即可能是参考帧列表 0、 可能 是参考帧列表 1或可能是参考帧列表 0和参考帧列表 1 , 每个参考帧列表作用与 背景技术提及的参考帧列表相同。与现有技术的参考帧列表内匹配块的运动信 息只需要包括参考帧索引值和运动矢量差不同,在本发明实施例中, 参考帧列 表内匹配块的运动信息除了包括参考帧索引值和运动矢量差之外,还包括运动 矢量预测值标识(以下使用 MVP_flag表示 )。 参考帧列表内匹配块的运动信息 包括包括参考帧列表 0内匹配块的运动信息、参考帧列表 1内匹配块的运动信息 或参考帧列表 0内匹配块的运动信息和参考帧列表 1内匹配块的运动信息。运动 矢量预测值标识(MVP_flag ) 即用于表明编码器端选择的运动矢量预测值是 mvp_0还是 mvp_l ; 当编码器将运动矢量预测值标识传输至解码器端时, 也相 当于告知了解码器编码器端在编码时选择的运动矢量预测值是 mvp_0还是 mvp_l。In the embodiment of the present invention, the reference frame list includes at least one of a reference frame list 0 (reference list 0 ) and a reference frame list 1 (reference list 1 ), that is, may be a reference frame list 0, possibly a reference frame list 1 or It may be a reference frame list 0 and a reference frame list 1, each of which has the same function as the reference frame list mentioned in the background art. The motion information of the matching block in the reference frame list of the prior art only needs to include the reference frame index value and the motion vector difference. In the embodiment of the present invention, the motion information of the matching block in the reference frame list includes the reference frame index value and In addition to the motion vector difference, a motion vector predictor flag (hereinafter referred to as MVP_flag) is also included. The motion information of the matching block in the reference frame list includes motion information including the matching block in the reference frame list 0, motion information of the matching block in the reference frame list 1 or motion information of the matching block in the reference frame list 0, and matching in the reference frame list 1 Block motion information. The motion vector predictive value identifier (MVP_flag) is used to indicate that the motion vector predictor selected at the encoder side is Mvp_0 is also mvp_l; when the encoder transmits the motion vector predictor identifier to the decoder end, it is equivalent to telling the decoder whether the motion vector predictor selected at the encoding end of the decoder is mvp_0 or mvp_l.
Figure imgf000009_0001
, 对于每一个预测单元( Prediction Unit, PU )的运 动矢量差 (Motion Vector Difference, MVD ), 其可能由 MV - 111¥ _0或]^¥ - mvp_l得到。
Figure imgf000009_0001
For each prediction unit (PU), the Motion Vector Difference (MVD) may be obtained by MV - 111¥ _0 or ]^¥ - mvp_l.
需要说明的是, 在本发明实施例中, 预测单元类似于 H.264/AVC中的运动 块即使用帧间预测技术的宏块下划分出来的更小的块;由于每一个这样的块都 可以有自己的运动矢量,因此,每一个预测单元也都可以拥有自己的运动矢量。  It should be noted that, in the embodiment of the present invention, the prediction unit is similar to the motion block in H.264/AVC, that is, the smaller block divided under the macro block using the inter prediction technique; since each such block is You can have your own motion vector, so each prediction unit can have its own motion vector.
对于编码器端当前所用的是哪一个参考帧列表以及传输的是哪一个参考 帧列表内匹配块的运动信息, 在本发明实施例中, 是根据语法元素即 inter_pred_idc的值来确定。 具体地, 若当前 PU属于双向预测条带, 则传输语法 元素 inter_pred_idc, 其值可以是 Pred_L0、 Pred_Ll或 Pred_BI; 进一步地, 当 inter_pred_idc的值为 Pred_L0时, 则确定所用的是参考帧列表 0, 并且需要传输 的是参考帧列表 0内匹配块的运动信息, 当 inter_pred_idc的值为 Pred_Ll时, 则 确定所用的是参考帧列表 1 ,并且需要传输的是参考帧列表 1内匹配块的运动信 息; 当 inter_pred_idc的值为 Pred_BI时, 则确定所用的是参考帧列表 0和参考帧 列表 1 , 并且需要传输的是参考帧列表 0和参考帧列表 1内匹配块的运动信息。 若当前 PU不属于双向预测条带,则不传输语法元素 inter_pred_idc, 即语法元素 inter_pred_idc的值 ,默认为是 Pred_0。  Which of the reference frame lists is currently used for the encoder side and which of the reference frame lists are transmitted is in the embodiment of the present invention, which is determined according to the value of the syntax element, inter_pred_idc. Specifically, if the current PU belongs to the bidirectional prediction slice, the syntax element inter_pred_idc is transmitted, and the value may be Pred_L0, Pred_L1, or Pred_BI; further, when the value of inter_pred_idc is Pred_L0, it is determined that the reference frame list 0 is used, and What needs to be transmitted is the motion information of the matching block in the reference frame list 0. When the value of inter_pred_idc is Pred_L1, it is determined that the reference frame list 1 is used, and the motion information of the matching block in the reference frame list 1 needs to be transmitted; When the value of inter_pred_idc is Pred_BI, it is determined that the reference frame list 0 and the reference frame list 1 are used, and it is necessary to transmit the motion information of the matching block in the reference frame list 0 and the reference frame list 1. If the current PU does not belong to the bidirectional prediction stripe, the syntax element inter_pred_idc, that is, the value of the syntax element inter_pred_idc, is not transmitted, and the default is Pred_0.
至于确定是否需要传输运动信息, 则可以根据预测模式来确定, 即若当前 PU的帧间预测模式不是 Merge模式,则确定传输运动信息,否则缺省运动信息。  As for determining whether the motion information needs to be transmitted, it may be determined according to the prediction mode, that is, if the inter prediction mode of the current PU is not the Merge mode, it is determined to transmit the motion information, otherwise the default motion information.
S 102 ,若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配 块的运动信息被确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预 测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写 入码流。  S102. If the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list are determined, the motion vector predictor identifier of the matching block in the determined used reference frame list is prior to the The determined motion vector difference related information of the matching block in the determined reference frame list is written into the code stream.
若编码器端确定当前所用的是哪一个参考帧列表以及需要传输的是哪一 个参考帧列表内匹配块的运动信息,则作为将所述确定的所用参考帧列表内匹 配块的参考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考 帧列表内匹配块的运动矢量差相关信息写入码流的一个实施例,可以是先将所 述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,再将所述确定的 所用参考帧列表内匹配块的运动矢量预测值标识写入码流,最后将所述确定的 所用参考帧列表内匹配块的运动矢量差相关信息写入码流。具体地, 若编码器 端确定当前所用的是参考帧列表 0以及需要传输的是参考帧列表 0内匹配块的 运动信息, 则依次写入码流的运动信息包括参考帧列表 0内匹配块的参考帧索 引值(以下使用 ref— idx— /0表示)、 参考帧列表 0内匹配块的运动矢量预测值标 识(以下使用 mvp— /0— flag表示 )和参考帧列表 0内匹配块的运动矢量差(以下 使用 mvd— /0表示)相关信息; 若编码器端确定当前所用的是参考帧列表 1以及 需要传输的是参考帧列表 1内匹配块的运动信息, 则依次写入码流的运动信息 包括参考帧列表 1内匹配块的参考帧索引值(以下使用 ref— idx— /1表示)、 参考 帧列表 1内匹配块的运动矢量预测值标识(以下使用 mvp— /1— flag表示)和参考 帧列表 1内匹配块的运动矢量差(以下使用 mvd— /1表示)相关信息; 若编码器 端确定当前所用的是参考帧列表 0和参考帧列表 1以及需要传输的是参考帧列 表 0和参考帧列表 1内匹配块的运动信息,则依次写入码流的运动信息包括参考 帧列表 0内匹配块的 ref— idx— /0、 mvp— /0— flag以及 mvd— /0相关信息, 和参考帧 列表 1内匹配块的 ref— idx— /1、 mvp— /1— flag以及 mvd— /1相关信息。 If the encoder side determines which reference frame list is currently used and which of the reference frame lists need to be transmitted, the motion information of the matching block is used as the reference frame used for the determination. The motion vector predictor of the matching block in the reference frame list of the matching block identifies an embodiment of the code stream written prior to the determined motion vector difference related information of the matching block in the used reference frame list, which may be determined first. The reference frame index value of the matching block in the used reference frame list is written into the code stream, and the motion vector predictor identifier of the matching block in the determined used reference frame list is further written into the code stream, and finally the determined reference used is used. The motion vector difference related information of the matching block in the frame list is written into the code stream. Specifically, if the encoder side determines that the reference frame list 0 is currently used and the motion information of the matching block in the reference frame list 0 that needs to be transmitted, the motion information of the code stream sequentially written includes the matching block in the reference frame list 0. The reference frame index value (hereinafter denoted by ref_idx_/0), the motion vector predictor flag of the matching block in the reference frame list 0 (hereinafter denoted by mvp_ /0_flag), and the motion of the matching block in the reference frame list 0 Vector difference (hereinafter referred to as mvd - /0) related information; if the encoder side determines that the current reference frame 1 is used and the motion information of the matching block in the reference frame list 1 is to be transmitted, the code stream is sequentially written. The motion information includes a reference frame index value of the matching block in the reference frame list 1 (hereinafter denoted by ref_idx−/1), and a motion vector predictor identifier of the matching block in the reference frame list 1 (hereinafter, mvp_ /1_flag is used) And the motion vector difference of the matching block in the reference frame list 1 (hereinafter referred to as mvd - /1) related information; if the encoder side determines that the reference frame list 0 and the reference frame list are currently used 1 and the motion information of the matching block in the reference frame list 0 and the reference frame list 1 to be transmitted, the motion information of the code stream sequentially written in the reference frame list 0 includes the ref_idx_/0, mvp_/ of the matching block in the reference frame list 0. 0—flag and mvd—/0 related information, and ref_idx_/1, mvp_/1_flag, and mvd_/1 related information of the matching block in the reference frame list 1.
作为将所述确定的所用参考帧列表内匹配块的参考帧列表内匹配块的运 动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相 关信息写入码流的另一实施例,可以先将所述确定的所用参考帧列表内匹配块 的运动矢量预测值标识写入码流,再将所述确定的所用参考帧列表内匹配块的 参考帧索引值写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢 量差相关信息写入码流。具体地, 若编码器端确定当前需要传输的是参考帧列 表 0内匹配块的运动信息, 则依次写入码流的运动信息包括 mvp— /0— flag、 ref— idx— /0和 mvd— /0相关信息;若编码器端确定当前需要传输的是参考帧列表 1 内匹配块的运动信息,则依次写入码流的运动信息包括 mvp— /1— flag、 ref— idx— /1 和 mvd— /1相关信息; 若编码器端确定当前需要传输的是参考帧列表 0和参考帧 列表 1内匹配块的运动信息, 则依次写入码流的运动信息包括 mvp— /0— flag、 ref— idx— /0以及 mvd— /0相关信息, 和 mvp— /1— flag、 ref— idx— /1、 以及 mvd— /1相 关信息。 Transmitting a motion vector predictor value of the matching block in the reference frame list of the matching block in the determined reference frame list of the determined reference frame identifier to the code stream prior to the determined motion vector difference related information of the matching block in the used reference frame list In another embodiment, the motion vector predictor identifier of the matching block in the determined used reference frame list may be first written into the code stream, and then the reference frame index value of the matching block in the determined used reference frame list may be written. The code stream finally writes the motion vector difference related information of the matching block in the determined used reference frame list to the code stream. Specifically, if the encoder side determines that the motion information of the matching block in the reference frame list 0 is currently to be transmitted, the motion information of the code stream sequentially written includes mvp_/0_flag, ref_idx_/0, and mvd- /0 related information; if the encoder side determines that the current need to transmit the motion information of the matching block in the reference frame list 1, the motion information of the code stream sequentially written includes mvp_ /1_flag, ref_idx_ /1 and Mvd — /1 related information; if the encoder determines that the current need to transmit is the reference frame list 0 and the reference frame The motion information of the matching block in the list 1 is sequentially written into the motion information of the code stream including mvp_ /0_flag, ref_idx_ /0 and mvd_ /0 related information, and mvp_ /1_flag, ref- Idx — /1, and mvd — /1 related information.
上述运动信息, 可以按照写入码流的顺序传输至解码器端, 即解码器端最 终可以按照运动信息在编码器端写入码流的顺序读取解析码流。  The above motion information may be transmitted to the decoder end in the order of writing the code stream, i.e., the decoder side may finally read the parsed code stream in the order in which the motion information is written to the encoder side in the code stream.
以下以参考帧列表 1为例, 说明传输 mvd— /0相关信息的技术方案; 传输 mvd— /1相关信息的技术方案与传输 mvd— /0相关信息的技术方案类似, 不做赘 述。  The following uses the reference frame list 1 as an example to illustrate the technical solution for transmitting mvd_ / 0 related information; the technical solution for transmitting mvd - / 1 related information is similar to the technical solution for transmitting mvd - / 0 related information, and will not be described.
具体地, mvd— /0相关信息包括 mvd— /0水平分量的绝对值大于 0标识(以下 使用 abs— mvd— greaterO— flag[0】表示;)、 mvd— /0竖直分量的绝对值大于 0标识(以 下使用 abs— mvd— greaterO— flag[l】表示;)、 mvd— /0水平分量绝对值大于 1标识(以 下使用 abs— mvd— greaterl— flag[0】 表示)、 mvd— /0竖直分量绝对值大于 1标识 (以下使用 abs— mvd— greater l—flag[l】 表示)、 mvd— /0水平分量绝对值减 2后的 幅值(以下使用 abs— mvd— minus2[0】表示)、 mvd— /0水平分量的正负号 (以下 使用 mvd— sign— flag[0】表示)、 mvd— /0竖直分量绝对值减 2后的幅值(以下使用 abs_mvd_minus2[l]表示 ) 和 mvd— /0竖直分量的正负 号 ( 以下使用 mvd— sign— flag [1] 表 示 ) 。 对 于 abs— mvd— greater 1— flag [0] 、 abs mvd greaterl _flag[l] 、 abs_mvd_minus2 [0] 、 mvd— sign— flag [0] 、 abs— mvd— minus2[l】和 mvd— sign— flag[l】都是有条件传输, 即, 若 mvd— /0水平 分量绝对值大于 0, 则传输 abs— mvd— greaterl— flag [0】; 若 mvd— /0竖直分量绝对 值大于 0, 则传输 abs— mvd— greaterl— flag[l】; 若 mvd— /0水平分量绝对值大于 1 , 则传输 abs— mvd— minus2[0】和 mvd— sign— flag [0】; 若 mvd— /0竖直分量绝对值大 于 1 , 则传输 abs— mvd— minus2 [1】和 mvd— sign— flag[l】。 传输到解码器端的匹配块的运动信息包括运动矢量预测值标识,并且在传输过 程中,是将对应参考帧列表内匹配块的运动矢量预测值标识先于运动矢量差相 关信息写入码流。因此,与现有技术提供的帧间预测编码运动信息的处理相比, 本发明实施例提供的方法可以使解码器一端根据运动矢量预测值标识取得对 当前图像块而言最优的运动矢量预测值,而运动矢量预测值标识先于运动矢量 差相关信息写入码流也使得解码器可以并行处理这些信息即在解析运动矢量 差相关信息的同时根据已解析出的运动矢量预测值标识解码得到运动矢量预 测值, 从而提高了码流在解码器一端的解码速度。 Specifically, the mvd_ /0 related information includes the mvd - / 0 horizontal component whose absolute value is greater than 0 (the following uses abs - mvd - greaterO - flag [0];), the absolute value of the mvd - / 0 vertical component is greater than 0 mark (hereinafter abs_mvd - greaterO - flag [l] is indicated;), mvd - /0 horizontal component absolute value is greater than 1 mark (hereinafter abs_mvd - greaterl - flag [0]), mvd - /0 The absolute value of the vertical component is greater than 1 (the following is used abs_mvd - greater l - flag [l]), mvd - / 0 horizontal component absolute value minus 2 amplitude (the following use abs - mvd - minus2 [0] Indicates), the sign of the mvd — /0 horizontal component (the following is expressed by mvd — sign — flag [0]), and the amplitude of the mvd — /0 vertical component absolute value minus 2 (the following is expressed using abs_mvd_minus2[l] ) and the sign of the vertical component of mvd — /0 (the following is represented by mvd — sign — flag [1]). For abs—mvd—greater 1—flag [0] , abs mvd greaterl _flag[l] , abs_mvd_minus2 [0] , mvd — sign — flag [0] , abs — mvd — minus2[l], and mvd — sign—flag[ l] is conditional transmission, that is, if the absolute value of the mvd_ /0 horizontal component is greater than 0, then the transmission abs- mvd - greaterl - flag [0]; if the absolute value of the mvd - / 0 vertical component is greater than 0, then the transmission Abs—mvd— greaterl—flag[l]; if the absolute value of the mvd− /0 horizontal component is greater than 1, then transmit abs—mvd—minus2[0] and mvd—sign—flag [0]; if mvd — /0 is vertical If the absolute value of the component is greater than 1, then transmit abs-mvd- minus2 [1] and mvd_sign_flag[l]. The motion information of the matching block transmitted to the decoder side includes a motion vector predictor identifier, and in the transmission process, the motion vector predictor flag of the matching block in the corresponding reference frame list is written to the code stream prior to the motion vector difference related information. Therefore, compared with the processing of the inter-predictive coding motion information provided by the prior art, the method provided by the embodiment of the present invention may enable the decoder end to obtain the pair according to the motion vector prediction value identifier. The motion vector predictor value is optimal for the current image block, and the motion vector predictor flag is written to the code stream prior to the motion vector difference related information, so that the decoder can process the information in parallel, that is, while parsing the motion vector difference related information. The parsed motion vector predictor identifies the motion vector predictor decoded, thereby increasing the decoding speed of the code stream at the decoder end.
请参阅附图 2, 是本发明另一实施例提供的帧间预测编码运动信息的处理 方法流程示意图,其执行主体可以是采用帧间预测编码技术的通信系统的解码 器。 附图 2示例的方法主要包括步骤 S201和步骤 S02:  Referring to FIG. 2, it is a schematic flowchart of a method for processing inter-predictive coding motion information according to another embodiment of the present invention. The execution body may be a decoder of a communication system using inter-prediction coding technology. The method illustrated in FIG. 2 mainly includes step S201 and step S02:
S201 ,根据语法元素的值确定所用参考帧列表以及所述所用参考帧列表内 需要解析的匹配块的运动信息。  S201. Determine, according to a value of the syntax element, a reference frame list used and motion information of the matching block that needs to be parsed in the used reference frame list.
与附图 1的实施例类似, 在本实施例中, 参考帧列表内匹配块的运动信息 包括参考帧索引值、运动矢量差和运动矢量预测值标识; 参考帧列表内匹配块 的运动信息包括参考帧列表 0 ( reference list 0 ) 内匹配块的运动信息和 /或参 考帧列表 1 ( reference list 1 ) 内匹配块的运动信息, 即包括参考帧列表 0内匹 配块的运动信息、参考帧列表 1内匹配块的运动信息或参考帧列表 0内匹配块的 运动信息和参考帧列表 1内匹配块的运动信息。 当解码器端收到编码器传输过 来的运动矢量预测值标识时,解码器获知编码器端在编码时选择的运动矢量预 测值是 mvp_0还是 mvp_l。  Similar to the embodiment of FIG. 1, in this embodiment, the motion information of the matching block in the reference frame list includes a reference frame index value, a motion vector difference, and a motion vector predictor identifier; the motion information of the matching block in the reference frame list includes The motion information of the matching block in the reference frame list 0 (reference list 0 ) and/or the motion information of the matching block in the reference frame list 1 (reference list 1 ), that is, the motion information including the matching block in the reference frame list 0, the reference frame list The motion information of the matching block in 1 or the motion information of the matching block in the reference frame list 0 and the motion information of the matching block in the reference frame list 1. When the decoder receives the motion vector predictor identifier transmitted by the encoder, the decoder knows whether the motion vector predictor value selected by the encoder at the time of encoding is mvp_0 or mvp_l.
对于解码器端当前所用的是哪一个参考帧列表以及需要解析的是哪个一 个参考帧列表内匹配块的运动信息, 在本实施例中, 是根据语法元素即 inter_pred_idc的值来确定。 具体地, 若当前 PU属于双向预测条带, 则读取并解 析语法元素 inter_pred_idc,其值可以是 Pred_L0、 Pred_Ll或 Pred_BI;进一步地, 当 inter_pred_idc的值为 Pred_L0时, 则确定所用的是参考帧列表 0, 需要读取并 解析的是参考帧列表 0内匹配块的运动信息, 当 inter_pred_idc的值为 Pred_Ll 时, 则确定所用的是参考帧列表 1 , 需要读取并解析的是参考帧列表 1内匹配块 的运动信息; 当 inter_pred_idc的值为 Pred_BI时, 则确定所用的是参考帧列表 0 和参考帧列表 1 , 需要读取并解析的是参考帧列表 0和参考帧列表 1内匹配块的 运动信息。 若当前 PU不属于双向预测条带, 则不解析语法元素 inter_pred_idc, 即语法元素 inter_pred_idc的值默认为是 Pred_0。 至于确定是否需要读取并解析运动信息, 则可以根据预测模式来确定, 即 若当前 PU的帧间预测模式不是 Merge模式, 则确定读取并解析运动信息, 否则 缺省运动信息。 Which reference frame list is currently used for the decoder side and which one of the reference frame lists need to be parsed is the motion information of the matching block in the reference frame list. In this embodiment, it is determined according to the value of the syntax element, that is, inter_pred_idc. Specifically, if the current PU belongs to the bidirectional prediction slice, the syntax element inter_pred_idc is read and parsed, and the value may be Pred_L0, Pred_L1 or Pred_BI; further, when the value of inter_pred_idc is Pred_L0, it is determined that the reference frame list is used. 0, need to read and parse the motion information of the matching block in the reference frame list 0. When the value of inter_pred_idc is Pred_Ll, it is determined that the reference frame list 1 is used, and the reference frame list 1 needs to be read and parsed. Matching the motion information of the block; when the value of inter_pred_idc is Pred_BI, it is determined that the reference frame list 0 and the reference frame list 1 are used, and the motion of the matching block in the reference frame list 0 and the reference frame list 1 needs to be read and parsed. information. If the current PU does not belong to the bidirectional prediction slice, the syntax element inter_pred_idc is not parsed, that is, the value of the syntax element inter_pred_idc defaults to Pred_0. As for determining whether the motion information needs to be read and parsed, it may be determined according to the prediction mode, that is, if the inter prediction mode of the current PU is not the Merge mode, it is determined to read and parse the motion information, otherwise the default motion information.
S202,若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配 块的运动信息被确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢 量预测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关 信息。  S202. If the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list are determined, first parsing the motion vector predictive value identifier of the matching block in the determined used reference frame list The determined motion vector difference related information of the matching block in the used reference frame list.
若解码器端确定当前所用的是哪一个参考帧列表以及需要解析的是哪一 个参考帧列表内匹配块的运动信息,则作为先解析所述确定的所用参考帧列表 内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列表内匹配块 的运动矢量差相关信息的一个实施例,可以是依次读取并解析码流中所述确定 的所用参考帧列表内匹配块的参考帧索引值、运动矢量预测值标识和运动矢量 差相关信息。 具体地, 若解码器端确定当前所用的是参考帧列表 0以及需要解 析的是参考帧列表 0内匹配块的运动信息, 则依次读取并解析码流中参考帧列 表 0内匹配块的参考帧索引值(以下使用 ref— idx— /0表示 )、 参考帧列表 0内匹配 块的运动矢量预测值标识(以下使用 mvp— /0— flag表示)和参考帧列表 0内匹配 块的运动矢量差 (以下使用 mvd— /0表示)相关信息; 若解码器端确定当前所 用的是参考帧列表 1以及需要解析的是参考帧列表 1内匹配块的运动信息,则依 次读取并解析码流中参考帧列表 1内匹配块的参考帧索引值 ( 以下使用 ref— idx— /1表示)、 参考帧列表 1内匹配块的运动矢量预测值标识 (以下使用 mvp— /1— flag表示) 和参考帧列表 1内匹配块的运动矢量差 (以下使用 mvd— /1 表示)相关信息; 若解码器端确定当前所用的是参考帧列表 0和参考帧列表 1 以及需要解析的是参考帧列表 0和参考帧列表 1内匹配块的运动信息,则依次读 取并解析码流中 ref— idx— /0、 mvp— /0— flag以及 mvd— /0相关信息, 和 ref— idx— /1、 mvp— /1— flag以及 mvd— /1相关信息。  If the decoder determines which of the reference frame lists are currently used and which of the reference frame lists need to be parsed, the motion vector prediction of the matching block in the determined reference frame list is first parsed. After the value identifier is used to parse the determined motion vector difference related information of the matching block in the used reference frame list, the reference frame of the matching block in the determined reference frame list in the determined code stream may be sequentially read and parsed. Index value, motion vector predictor identification, and motion vector difference related information. Specifically, if the decoder determines that the reference frame list 0 is currently used and the motion information of the matching block in the reference frame list 0 that needs to be parsed, the reference of the matching block in the reference frame list 0 in the code stream is sequentially read and parsed. The frame index value (hereinafter expressed by ref_idx_/0), the motion vector predictor flag of the matching block in the reference frame list 0 (hereinafter denoted by mvp_ /0_flag), and the motion vector of the matching block in the reference frame list 0 Difference (hereinafter referred to as mvd - /0) related information; if the decoder determines that the current reference frame 1 is used and the motion information of the matching block in the reference frame list 1 is to be parsed, the code stream is sequentially read and parsed The reference frame index value of the matching block in the reference frame list 1 (hereinafter denoted by ref_idx− /1), the motion vector predictor identifier of the matching block in the reference frame list 1 (hereinafter denoted by mvp− /1−flag) and The motion vector difference of the matching block in the reference frame list 1 (hereinafter referred to as mvd - /1) related information; if the decoder side determines that the reference frame list 0 and the reference are currently used The test frame list 1 and the motion information of the matching block in the reference frame list 0 and the reference frame list 1 need to be parsed, and then the ref_idx_ /0, mvp_ /0_flag and mvd in the code stream are sequentially read and parsed. /0 related information, and ref_ idx - / 1, mvp - / 1 - flag and mvd - / 1 related information.
作为先解析所述确定的所用参考帧列表内匹配块的所述运动矢量预测值 标识的后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息的 另一实施例,可以是依次读取码流中确定的所用参考帧列表内匹配块的所述运 动矢量预测值标识、 参考帧索引值和运动矢量差相关信息。 具体地, 若解码器 端确定当前所用的是参考帧列表 0以及需要解析的是参考帧列表 0内匹配块的 运动信息, 则依次读取并解析码流中 mvp— /0— flag、 ref— idx— /0和 mvd— /0相关信 息;若解码器端确定当前所用的是参考帧列表 1以及需要解析的是参考帧列表 1 内匹配块的运动信息, 则依次读取并解析码流中 mvp— /1— flag、 ref— idx— /1和 mvd— /1相关信息; 若解码器端确定当前所用的是参考帧列表 0和参考帧列表 1 以及需要解析的是参考帧列表 0和参考帧列表 1内匹配块的运动信息,则依次读 取并解析码流中 mvp— /0— flag、 ref— idx— /0以及 mvd— /0相关信息,和 mvp— /1— flag、 ref— idx— /1以及 mvd— /1相关信息。 以下以参考帧列表 0为例, 说明解码器解析 mvd— /0的技术方案; 解码器解析 mvd— /1相关信息的技术方案与解析 mvd— /0相 关信息的技术方案类似, 不做赘述。 Another embodiment of the motion vector difference related information of the matching block in the used reference frame list after parsing the determined motion vector predictor identifier of the matching block in the determined used reference frame list may be And sequentially reading the transport of the matching block in the used reference frame list determined in the code stream Motion vector predictor identification, reference frame index value, and motion vector difference related information. Specifically, if the decoder determines that the reference frame list 0 is currently used and the motion information of the matching block in the reference frame list 0 that needs to be parsed, the mvp_ /0_flag, ref_ in the code stream are sequentially read and parsed. Idx — /0 and mvd — /0 related information; if the decoder determines that the current reference frame 1 is used and the motion information of the matching block in the reference frame list 1 needs to be parsed, the code stream is sequentially read and parsed. Mvp— /1—flag, ref—idx—/1 and mvd—1/1 related information; if the decoder determines that the current reference frame list 0 and the reference frame list 1 are used, and the reference frame list 0 and reference need to be parsed The motion information of the matching block in the frame list 1 sequentially reads and parses the information of mvp_ /0_flag, ref_idx_ /0 and mvd_ /0 in the code stream, and mvp_ /1_flag, ref- Idx — /1 and mvd — /1 related information. The following takes the reference frame list 0 as an example to illustrate the technical solution of the decoder parsing mvd_ / 0; the technical solution of the decoder to parse the mvd - / 1 related information is similar to the technical solution for parsing the mvd - / 0 related information, and will not be described again.
具体地, 在本实施例中, mvd— /0相关信息包括 mvd— /0水平分量的绝对值 大于 0标识(以下使用 abs— mvd— greaterO— flag[0】表示)、 mvd— /0竖直分量的绝 对值大于 0标识(以下使用 abs— mvd— greaterO— flag[l】表示)、 mvd— /0水平分量 绝对值大于 1标识(以下使用 abs— mvd— greaterl— flag[0】 表示)、 mvd— /0竖直分 量绝对值大于 1标识(以下使用 abs— mvd— greaterl— flag[l】 表示)、 mvd— /0水平 分量绝对值减 2后的幅值 (以下使用 abs— mvd— minus2[0】表示;)、 mvd— /0水平分 量的正负号 (以下使用 mvd— sign— flag[0】表示)、 mvd— /0竖直分量绝对值减 2后 的幅值(以下使用 abs— mvd— minus2[l】表示 )和 mvd— /0竖直分量的正负号(以 下 使用 mvd— sign— flag[l] 表 示 ) 。 对 于 abs— mvd— greater 1— flag [0] 、 abs mvd greaterl _flag[l] 、 abs_mvd_minus2 [0] 、 mvd— sign— flag [0] 、 abs— mvd— minus2[l】和 mvd— sign— flag[l】都是有条件解析, 即, 若 mvd— /0水平 分量绝对值大于 0 , 则解码器读取并解析 abs— mvd— greaterl— flag[0】; 若 mvd— /0 竖直分量绝对值大于 0 , 则解码器读取并解析 abs— mvd— greaterl— flag[l】; 若 mvdJO水平分量绝对值大于 1 , 则解码器读取并解析 abs— mvd— minus2 [0]和 mvd_sign_flag[0]; 若 mvd— /0竖直分量绝对值大于 1 , 则解码器读取并解析 abs_mvd_minus2 [1]和 mvd— sign— flag[l】。  Specifically, in the embodiment, the mvd_ / 0 related information includes the mvd - / 0 horizontal component whose absolute value is greater than 0 (the following uses abs - mvd - greaterO - flag [0]), mvd - / 0 vertical The absolute value of the component is greater than 0 (the following uses abs-mvd - greaterO - flag [l]), mvd - / 0 horizontal component absolute value is greater than 1 (hereinafter abs_mvd - greaterl - flag [0]), The mvd— /0 vertical component has an absolute value greater than 1 (the following is abs—mvd—the greater l—flag[l] is used, and the mvd— /0 horizontal component has an absolute value minus 2 (the following uses abs—mvd—min 2 [0] indicates ;), the sign of the mvd - / 0 horizontal component (the following uses mvd - sign - flag [0]), mvd - / 0 vertical component absolute value minus 2 amplitude (the following use abs — mvd — minus2[l] represents) and the sign of the vertical component of mvd — /0 (represented by mvd — sign — flag[l] below). For abs—mvd—greater 1—flag [0] , abs mvd greaterl _flag[l] , abs_mvd_minus2 [0] , mvd — sign — flag [0] , abs — mvd — minus2[l], and mvd — sign—flag[ l] is conditional parsing, that is, if the absolute value of the mvd_ /0 horizontal component is greater than 0, the decoder reads and parses abs-mvd - greaterl - flag[0]; if mvd - /0 vertical component absolute value If greater than 0, the decoder reads and parses abs-mvd- greaterl-flag[l]; if the absolute value of the mvdJO horizontal component is greater than 1, the decoder reads and parses abs-mvd- minus2 [0] and mvd_sign_flag[0] If the absolute value of the mvd_ /0 vertical component is greater than 1, the decoder reads and parses abs_mvd_minus2 [1] and mvd_sign_flag[l].
对于附图 2示例的帧间预测编码运动信息的处理方法, 由于运动矢量预测 值标识在码流中的位置先于运动矢量差相关信息, 因此,解码器可以先将运动 矢量预测值标识解析出来, 然后解析运动矢量差相关信息。 与先解析运动矢量 差相关信息,在解析运动矢量差相关信息完成后,再解析运动矢量预测值标识 的方案相比, 附图 2示例的帧间预测编码运动信息的处理方法使得解码器端解 码速度大大加快, 利于其并行处理。 这是因为, 运动矢量差相关信息相较于运 动矢量预测值标识要复杂。假设解析运动矢量差相关信息耗费的时间是 T1 ,解 码运动矢量预测值耗费的时间是 T2。若采用先解析运动矢量差相关信息,在解 析运动矢量差相关信息完成后,再解析运动矢量预测值标识, 然后根据解析出 来的运动矢量预测值标识解码运动矢量预测值(MVP ) 的方案, 则解析运动 矢量差相关信息和解码运动矢量预测值总共耗费的时间是两者的时间和即 T1 + Τ2。若采用先解析运动矢量预测值标识,在解析运动矢量预测值标识完成后, 再解析运动矢量差相关信息, 然后,在解析运动矢量差相关信息的同时根据已 经解析出来的运动矢量预测值标识解码运动矢量预测值,则解析运动矢量差相 关信息和解码运动矢量预测值总共耗费的时间是 max ( Tl , T2 )即两者中的最 大值, 显然, max ( Tl , 丁2 )要小于11 +丁2。 For the method of processing inter prediction encoded motion information illustrated in FIG. 2, due to motion vector prediction The position of the value identifier in the code stream precedes the motion vector difference related information. Therefore, the decoder can first parse the motion vector predictor identifier and then parse the motion vector difference related information. Compared with the first analysis of the motion vector difference related information, after parsing the motion vector difference related information, and resolving the motion vector prediction value identification, the interframe predictive coding motion information processing method illustrated in FIG. 2 causes the decoder side to decode The speed is greatly accelerated, which is conducive to its parallel processing. This is because the motion vector difference related information is more complicated than the motion vector predictor identification. It is assumed that the time taken to parse the motion vector difference related information is T1, and the time taken to decode the motion vector predictor is T2. If the motion vector difference correlation information is first analyzed, after the motion vector difference correlation information is completed, the motion vector predictor identifier is parsed, and then the motion vector predictor value is used to identify the motion vector predictor (MVP) scheme. The total time taken to resolve the motion vector difference related information and the decoded motion vector predictor is the time of both, that is, T1 + Τ2. If the motion vector predictor identifier is first parsed, after the motion vector predictor identifier is completed, the motion vector difference related information is parsed, and then the motion vector difference related information is parsed, and the motion vector predictor value is decoded according to the already parsed motion vector predictor. For the motion vector predictor, the total time taken to resolve the motion vector difference related information and the decoded motion vector predictor is max (Tl, T2), that is, the maximum of the two, obviously, max (Tl, D2) is less than 11 + Ding 2.
在附图 2示例的方法中, 先解析对应参考帧列表内匹配块的运动矢量预测 值标识后, 再解析运动矢量差相关信息的步骤之后, 进一步包括: 根据所述参 考帧索引值确定匹配块所在的参考帧;重建对应参考帧列表内匹配块的运动矢 量;根据所述确定的匹配块所在的参考帧和所述重建的对应参考帧列表内匹配 块的运动矢量, 获取当前帧间预测单元在对应参考帧列表内的匹配块。  In the method illustrated in FIG. 2, after the step of parsing the motion vector predictor identifier of the matching block in the corresponding reference frame list, and then parsing the motion vector difference related information, the method further includes: determining, according to the reference frame index value, the matching block. a reference frame in which the reference frame is reconstructed; a motion vector of the matching block in the corresponding reference frame list is reconstructed; and the current inter prediction unit is obtained according to the reference frame in which the determined matching block is located and the motion vector of the matching block in the reconstructed corresponding reference frame list A matching block in the corresponding reference frame list.
以解码器端选择的是参考帧列表 0为例(选择参考帧列表 1时类似, 不做赘 述), 在重建对应参考帧列表内匹配块的运动矢量时, 具体可以是:  The reference frame list 0 selected by the decoder side is taken as an example (similar to the reference frame list 1 when not selected), and when the motion vector of the matching block is reconstructed in the corresponding reference frame list, the specific one may be:
S1 ,根据所述确定的所用参考帧列表内匹配块的运动矢量差相关信息恢复 所述确定的所用参考帧列表内匹配块的运动矢量差; 具体地, 参考帧列表 0内 匹配块的运动矢量差 (mvd— /0 )相关信息包括 mvd— /0水平分量 (以下使用 mvd— X表示)和 mvd— /0竖直分量(以下使用 11^(1 表示), 其中, mvd— x可按 照以下方式计算:  S1, recovering, according to the determined motion vector difference related information of the matching block in the used reference frame list, the motion vector difference of the matching block in the determined used reference frame list; specifically, referring to the motion vector of the matching block in the frame list 0 The difference (mvd - /0) related information includes the mvd - / 0 horizontal component (hereinafter expressed by mvd - X) and the mvd - / 0 vertical component (hereinafter referred to as 11 ^ (1), where mvd - x can be as follows Mode calculation:
mvd— X = abs mvd greaterO _flag[0] * (abs_mvd_minus2 [0] +2 ) * (l-2*mvd_sign_flag[0] ); Mvd— X = abs mvd greaterO _flag[0] * (abs_mvd_minus2 [0] +2 ) * (l-2*mvd_sign_flag[0] );
mvd_可按照以下方式计算:  Mvd_ can be calculated as follows:
mvd_ = abs_mvd_greaterO_flag[l] * (abs_mvd_minus2 [1] +2 ) * ( l-2*mvd_sign_flag[l]) ;  Mvd_ = abs_mvd_greaterO_flag[l] * (abs_mvd_minus2 [1] +2 ) * ( l-2*mvd_sign_flag[l]) ;
上述 mvd x和 mvd 的表示式 中 , abs— mvd— greaterO— flag[0] 、 abs_mvd_minus2 [0] 、 mvd— sign— flag [0] 、 abs— mvd— greaterO— flag [1] 、 abs— mvd— minus2[l]以及 abs— mvd— minus2[l]的意义可参阅前述实施例, 此处 不做赘述。  In the above expressions of mvd x and mvd, abs_mvd_greater O_flag[0], abs_mvd_minus2[0], mvd_sign_flag[0], abs_mvd- greaterO-flag[1], abs-mvd- The meanings of minus2[l] and abs-mvd- minus2[l] can be referred to the foregoing embodiments, and are not described herein.
52,根据所述确定的所用参考帧列表内匹配块的参考帧列表内匹配块的运 动矢量预测值标识确定当前帧间预测单元(PU ) 的运动矢量预测值;  52. Determine, according to the determined motion vector predictor identifier of the matching block in the reference frame list of the matching block in the used reference frame list, a motion vector predictor of the current inter prediction unit (PU);
53 ,将所述恢复的运动矢量差与所述确定的当前帧间预测单元的运动矢量 预测值相加, 得到对应参考帧列表内匹配块的运动矢量。  53. Add the recovered motion vector difference to the determined motion vector prediction value of the current inter prediction unit to obtain a motion vector of the matching block in the corresponding reference frame list.
在重建当前图像块时, 可仅使用一个列表中的匹配块, 或两个列表中匹配 块加权后得到的加权匹配块。具体有关使用的列表的选择在码流中有相应的语 法元素指明;重建的当前图像块为图像预测残差块与(加权)匹配块相加得到。  When reconstructing the current image block, only one matching block in the list, or a weighted matching block obtained by matching the block weights in the two lists may be used. The selection of the list of specific uses is indicated by a corresponding syntax element in the code stream; the reconstructed current image block is obtained by adding the image prediction residual block to the (weighted) matching block.
请参阅附图 3 , 是本发明实施例提供的帧间预测编码运动信息的处理装置 结构示意图。 为了便于说明, 仅仅示出了与本发明实施例相关的部分。 附图 3 示例的帧间预测编码运动信息的处理装置可以是采用帧间预测编码技术的通 信系统的编码器。 附图 3示例的帧间预测编码运动信息的处理装置包括确定模 块 301和写入模块 302, 其中:  Referring to FIG. 3, it is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to an embodiment of the present invention. For the convenience of description, only parts related to the embodiment of the present invention are shown. The processing apparatus of the exemplary interframe predictive coding motion information may be an encoder of a communication system employing interframe predictive coding techniques. The apparatus for inter-predictive encoding motion information of the example of Figure 3 includes a determination module 301 and a write module 302, wherein:
确定模块 301 , 用于根据语法元素的值确定当前所用参考帧列表以及所述 所用需要传输的参考帧列表内需要传输的匹配块的运动信息。  The determining module 301 is configured to determine, according to the value of the syntax element, the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list to be transmitted.
在本实施例中, 参考帧列表包括参考帧列表 0 ( reference list 0 )和参考 帧列表 1 ( reference list 1 ) 中的至少一个, 即可能是参考帧列表 0、 可能是参 考帧列表 1或可能是参考帧列表 0和参考帧列表 1 , 每个参考帧列表的作用与前 述实施例或背景技术提及的参考帧列表的作用相同。参考帧列表内匹配块的运 动信息除了包括参考帧索引值和运动矢量差之外,还包括运动矢量预测值标识 (以下使用 MVP_flag表示)。 参考帧列表内匹配块的运动信息包括参考帧列表 0 ( reference list 0 )内匹配块的运动信息和 /或参考帧列表 1 ( reference list 1 ) 内匹配块的运动信息, 即包括参考帧列表 0内匹配块的运动信息、参考帧列表 1 内匹配块的运动信息或参考帧列表 0内匹配块的运动信息和参考帧列表 1内匹 配块的运动信息。 运动矢量预测值标识(MVP_flag ) 即用于表明编码器端选 择的运动矢量预测值是 mvp_0还是 mvp_l; 当编码器将运动矢量预测值标识传 输至解码器端时,也相当于告知了解码器编码器端在编码时选择的运动矢量预 测值是 mvp_0还是 mvp_l。 In this embodiment, the reference frame list includes at least one of a reference frame list 0 (reference list 0 ) and a reference frame list 1 (reference list 1 ), that is, may be a reference frame list 0, may be a reference frame list 1 or may It is the reference frame list 0 and the reference frame list 1, and the role of each reference frame list is the same as that of the reference frame list mentioned in the foregoing embodiment or the background art. The motion information of the matching block in the reference frame list includes a motion vector predictor flag (hereinafter referred to as MVP_flag) in addition to the reference frame index value and the motion vector difference. The motion information of the matching block in the reference frame list includes a reference frame list 0 (reference list 0 ) the motion information of the matching block and/or the motion information of the matching block in the reference frame list 1 (reference list 1 ), that is, the motion information including the matching block in the reference frame list 0, and the matching in the reference frame list 1 The motion information of the block or the motion information of the matching block in the reference frame list 0 and the motion information of the matching block in the reference frame list 1. The motion vector predictive value identifier (MVP_flag) is used to indicate whether the motion vector predictor selected by the encoder side is mvp_0 or mvp_l; when the encoder transmits the motion vector predictor identifier to the decoder end, it is equivalent to informing the decoder encoding. The motion vector predictor selected by the terminal at the time of encoding is mvp_0 or mvp_l.
具体地, 若当前 PU属于双向预测条带, 则传输语法元素 inter_pred_idc, 其 值可以是 Pred_L0、 Pred_Ll或 Pred_BI ; 进一步地, 当 inter_pred_idc的值为 Pred_L0时, 则确定模块 301确定所用的是参考帧列表 0, 并且需要传输的是参 考帧列表 0内匹配块的运动信息, 当 inter_pred_idc的值为 Pred_Ll时, 则确定模 块 301确定所用的是参考帧列表 1 , 并且需要传输的是参考帧列表 1内匹配块的 运动信息; 当 inter_pred_idc的值为 Pred_BI时, 则确定模块 301确定所用的是参 考帧列表 0和参考帧列表 1 ,并且需要传输的是参考帧列表 0和参考帧列表 1内匹 配块的运动信息。 若当前 PU不属于双向预测条带, 则不传输语法元素 inter_pred_idc , 即语法元素 inter_pred_idc的值默认为是 Pred_0。  Specifically, if the current PU belongs to the bidirectional prediction slice, the syntax element inter_pred_idc is transmitted, and the value may be Pred_L0, Pred_L1, or Pred_BI; further, when the value of inter_pred_idc is Pred_L0, the determining module 301 determines that the reference frame list is used. 0, and need to transmit the motion information of the matching block in the reference frame list 0. When the value of inter_pred_idc is Pred_L1, the determining module 301 determines that the reference frame list 1 is used, and the reference frame list 1 needs to be transmitted. Motion information of the block; when the value of inter_pred_idc is Pred_BI, the determining module 301 determines that the reference frame list 0 and the reference frame list 1 are used, and the motion of the matching block in the reference frame list 0 and the reference frame list 1 is required to be transmitted. information. If the current PU does not belong to the bidirectional prediction stripe, the syntax element inter_pred_idc is not transmitted, that is, the value of the syntax element inter_pred_idc defaults to Pred_0.
写入模块 302 , 用于若当前所用参考帧列表以及所述所用参考帧列表内需 要传输的匹配块的运动信息被所述确定模块 301确定, 则将所述确定的所用参 考帧列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内 匹配块的运动矢量差相关信息写入码流。  The writing module 302 is configured to: if the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list are determined by the determining module 301, the determined used reference frame list matching block The motion vector predictor flag is written to the code stream prior to the determined motion vector difference related information of the matching block in the used reference frame list.
以参考帧列表 1为例, 说明传输 mvd— /0相关信息的技术方案; 传输 mvd— /1 相关信息的技术方案与传输 mvd—/0相关信息的技术方案类似, 不做赘述。  The reference frame list 1 is taken as an example to illustrate the technical solution for transmitting mvd_ / 0 related information; the technical solution for transmitting mvd - /1 related information is similar to the technical solution for transmitting mvd - / 0 related information, and will not be described again.
具体地, mvd— /0相关信息包括 mvd— /0水平分量的绝对值大于 0标识(以下 使用 abs— mvd— greaterO— flag[0】表示;)、 mvd— /0竖直分量的绝对值大于 0标识(以 下使用 abs— mvd— greaterO— flag[l】表示;)、 mvd— /0水平分量绝对值大于 1标识(以 下使用 abs— mvd— greaterl— flag[0】 表示)、 mvd— /0竖直分量绝对值大于 1标识 (以下使用 abs— mvd— greater l—flag[l】 表示)、 mvd— /0水平分量绝对值减 2后的 幅值(以下使用 abs— mvd— minus2[0】表示)、 mvd— /0水平分量的正负号 (以下 使用 mvd— sign— flag[0】表示)、 mvd— /0竖直分量绝对值减 2后的幅值(以下使用 abs_mvd_minus2[l]表示 ) 和 mvd— /0竖直分量的正负 号 ( 以下使用 mvd— sign— flag [1] 表 示 ) 。 对 于 abs— mvd— greater 1— flag [0] 、 abs mvd greaterl _flag[l] 、 abs_mvd_minus2 [0] 、 mvd— sign— flag [0] 、 abs— mvd— minus2[l】和 mvd— sign— flag[l】都是有条件传输, 即, 若 mvd— /0水平 分量绝对值大于 0, 则传输 abs— mvd— greater 1— flag [0】; 若 mvd— /0竖直分量绝对 值大于 0, 则传输 abs— mvd— greaterl— flag[l】; 若 mvd— /0水平分量绝对值大于 1 , 则传输 abs— mvd— minus2[0】和 mvd— sign— flag [0】; 若 mvd— /0竖直分量绝对值大 于 1 , 则传输 abs— mvd— minus2 [1】和 mvd— sign— flag[l】。 Specifically, the mvd_ /0 related information includes the mvd - / 0 horizontal component whose absolute value is greater than 0 (the following uses abs - mvd - greaterO - flag [0];), the absolute value of the mvd - / 0 vertical component is greater than 0 mark (hereinafter abs_mvd - greaterO - flag [l] is indicated;), mvd - /0 horizontal component absolute value is greater than 1 mark (hereinafter abs_mvd - greaterl - flag [0]), mvd - /0 The absolute value of the vertical component is greater than 1 (the following is used abs_mvd - greater l - flag [l]), mvd - / 0 horizontal component absolute value minus 2 amplitude (the following use abs - mvd - minus2 [0] Indicates), the sign of the mvd_ /0 horizontal component (below Use mvd— sign—flag[0], mvd— /0 The absolute value of the vertical component minus 2 (the following is expressed using abs_mvd_minus2[l]) and the sign of the mvd— /0 vertical component (below) Use mvd— sign—flag [1] to indicate). For abs—mvd—greater 1—flag [0] , abs mvd greaterl _flag[l] , abs_mvd_minus2 [0] , mvd — sign — flag [0] , abs — mvd — minus2[l], and mvd — sign—flag[ l] is conditional transmission, that is, if the absolute value of the mvd_ /0 horizontal component is greater than 0, then the transmission abs- mvd - greater 1 - flag [0]; if the absolute value of the mvd - / 0 vertical component is greater than 0, then Transfer abs-mvd- greaterl_flag[l]; if the absolute value of the mvd_ /0 horizontal component is greater than 1, then transmit abs-mvd- minus2[0] and mvd_sign_flag [0]; if mvd_ /0 vertical If the absolute value of the direct component is greater than 1, then transmit abs-mvd- minus2 [1] and mvd_sign_flag[l].
需要说明的是, 以上帧间预测编码运动信息的处理装置的实施方式中,各 功能模块的划分仅是举例说明, 实际应用中可以根据需要, 例如相应硬件的配 置要求或者软件的实现的便利考虑, 而将上述功能分配由不同的功能模块完 成,即将所述帧间预测编码运动信息的处理装置的内部结构划分成不同的功能 模块, 以完成以上描述的全部或者部分功能。 而且, 实际应用中, 本实施例中 的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的 软件完成, 例如, 前述的确定模块, 可以是具有执行前述根据语法元素的值确 定当前所用参考帧列表以及所述所用参考帧列别内需要传输的运动信息的硬 件, 例如确定器,也可以是能够执行相应计算机程序从而完成前述功能的一般 处理器或者其他硬件设备; 再如前述的传输模块, 可以是具有执行前述若当前 所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的运动信息被 所述确定模块(或确定器 )确定, 则将所述确定的所用参考帧列表内匹配块的 运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的运动矢量差 相关信息写入码流功能的硬件, 例如传输器,也可以是能够执行相应计算机程 序从而完成前述功能的一般处理器或者其他硬件设备(本说明书提供的各个实 施例都可应用上述描述原则 )。  It should be noted that, in the implementation manner of the above-mentioned inter-predictive coding motion information processing apparatus, the division of each functional module is only an example, and the actual application may be considered according to requirements, for example, configuration requirements of corresponding hardware or convenience of implementation of software. The above function assignment is performed by different functional modules, that is, the internal structure of the inter-predictive coding motion information processing device is divided into different functional modules to complete all or part of the functions described above. Moreover, in practical applications, the corresponding functional modules in this embodiment may be implemented by corresponding hardware, or may be executed by corresponding hardware. For example, the foregoing determining module may have the foregoing syntax elements. The value of the currently used reference frame and the hardware of the reference frame to be transmitted in the reference frame list, such as a determiner, may also be a general processor or other hardware device capable of executing a corresponding computer program to perform the aforementioned functions; Further, as described above, the transmission module may be configured to perform the foregoing if the currently used reference frame list and the motion information to be transmitted in the used reference frame list are determined by the determining module (or determiner), Determining, by the determined motion vector predictor value of the matching block in the used reference frame list, hardware that writes the code stream function prior to the determined motion vector difference related information of the matching block in the used reference frame list, such as a transmitter, or Perform the corresponding computer program to complete the aforementioned functions A general processor or other hardware device (the above described principles can be applied to the various embodiments provided in this specification).
附图 3示例的写入模块 302可以包括第一写入单元 401,如附图 4所示本发明 另一实施例提供的帧间预测编码运动信息的处理装置。 第一写入单元 401用于 先将所述确定的所用参考帧列表内匹配块的所述参考帧索引值写入码流,再将 所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,最后将 所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。 The write module 302 of the example of FIG. 3 may include a first write unit 401, such as the processing device for interframe predictive encoding motion information provided by another embodiment of the present invention as shown in FIG. The first writing unit 401 is configured to first write the reference frame index value of the matching block in the determined used reference frame list into the code stream, and then The determined motion vector predictor of the matching block in the determined reference frame list identifies the write code stream, and finally writes the motion vector difference related information of the matching block in the determined used reference frame list to the code stream.
附图 3示例的传输模块 302可以包括第二写入单元 501,如附图 5所示本发明 另一实施例提供的帧间预测编码运动信息的处理装置。 第二写入单元 501用于 先将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,再 将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,最后将所述 确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。  The transmission module 302 of the example of FIG. 3 may include a second writing unit 501, such as the processing apparatus for inter-predictive encoding motion information provided by another embodiment of the present invention as shown in FIG. The second writing unit 501 is configured to first write the motion vector predictor identifier of the matching block in the determined used reference frame list into the code stream, and then use the determined reference frame index value of the matching block in the determined used reference frame list. The code stream is written, and finally the motion vector difference related information of the matching block in the determined used reference frame list is written into the code stream.
请参阅附图 6, 是本发明另一实施例提供的帧间预测编码运动信息的处理 装置结构示意图。 为了便于说明, 仅仅示出了与本发明实施例相关的部分。 附 图 6示例的帧间预测编码运动信息的处理装置可以是采用帧间预测编码技术的 通信系统的解码器。 附图 6示例的帧间预测编码运动信息的处理装置包括待解 析确定模块 601和解析模块 602, 其中:  Referring to FIG. 6, FIG. 6 is a schematic structural diagram of an apparatus for processing inter prediction encoding motion information according to another embodiment of the present invention. For the convenience of description, only parts related to the embodiment of the present invention are shown. The processing device of the interframe predictive coding motion information exemplified in Fig. 6 may be a decoder of a communication system employing interframe predictive coding techniques. The apparatus for inter-predictive coding motion information illustrated in Fig. 6 includes a to-be-desolved determination module 601 and a parsing module 602, where:
待解析确定模块 601 , 用于根据语法元素的值确定当前所用参考帧列表以 及所述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括 参考帧列表 0和参考帧列表 1中的至少一个, 所述运动信息包括参考帧索引值、 运动矢量预测值标识和运动矢量差相关信息。  The to-be-resolved determination module 601 is configured to determine, according to the value of the syntax element, the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list, where the reference frame list includes the reference frame list 0 and the reference frame list. At least one of 1, the motion information includes a reference frame index value, a motion vector predictor identifier, and motion vector difference related information.
解析模块 602, 用于若当前所用参考帧列表以及所述所用参考帧列表内需 要解析的匹配块的运动信息被所述待解析确定模块 601确定, 则先解析所述确 定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用 参考帧列表内匹配块的运动矢量差相关信息。  The parsing module 602 is configured to: if the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list are determined by the to-be-resolved determination module 601, parse the determined used reference frame list first The motion vector predictor of the matching block identifies the motion vector difference related information of the matching block in the determined used reference frame list after the determination.
需要说明的是, 以上帧间预测编码运动信息的处理装置的实施方式中,各 功能模块的划分仅是举例说明, 实际应用中可以根据需要, 例如相应硬件的配 置要求或者软件的实现的便利考虑, 而将上述功能分配由不同的功能模块完 成,即将所述帧间预测编码运动信息的处理装置的内部结构划分成不同的功能 模块, 以完成以上描述的全部或者部分功能。 而且, 实际应用中, 本实施例中 的相应的功能模块可以是由相应的硬件实现,也可以由相应的硬件执行相应的 软件完成, 例如, 前述的待解析确定模块, 可以是具有执行前述根据语法元素 的值确定当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块 的运动信息的硬件, 例如待解析确定器,也可以是能够执行相应计算机程序从 而完成前述功能的一般处理器或者其他硬件设备; 再如前述的解析模块, 可以 是具有执行前述若当前所用参考帧列表以及所述所用参考帧列表内需要解析 的匹配块的运动信息被所述待解析确定模块(或待解析确定器 )确定, 则先解 析所述确定的所用参考帧列表内匹配块的所述所述确定的所用参考帧列表内 匹配块的运动矢量预测值标识后解析所述运动矢量差相关信息功能的硬件,例 如解析器,也可以是能够执行相应计算机程序从而完成前述功能的一般处理器 或者其他硬件设备(本说明书提供的各个实施例都可应用上述描述原则)。 It should be noted that, in the implementation manner of the above-mentioned inter-predictive coding motion information processing apparatus, the division of each functional module is only an example, and the actual application may be considered according to requirements, for example, configuration requirements of corresponding hardware or convenience of implementation of software. The above function assignment is performed by different functional modules, that is, the internal structure of the inter-predictive coding motion information processing device is divided into different functional modules to complete all or part of the functions described above. Moreover, in practical applications, the corresponding functional modules in this embodiment may be implemented by corresponding hardware, or may be executed by corresponding hardware. For example, the foregoing to-be-resolved determining module may have the foregoing basis. The value of the syntax element determines a list of reference frames currently used and a matching block to be parsed within the list of used reference frames The hardware of the motion information, such as the identifier to be parsed, may also be a general processor or other hardware device capable of executing the corresponding computer program to perform the foregoing functions; and the parsing module as described above may have the reference frame currently used to perform the foregoing. And the motion information of the matching block to be parsed in the list and the used reference frame list is determined by the to-be-resolved determining module (or the to-be-resolved determiner), and the determined matching block in the used reference frame list is first parsed The determined motion vector predictor of the matching block in the used reference frame list identifies the hardware that parses the motion vector difference related information function, such as a parser, or a general processor capable of executing a corresponding computer program to perform the foregoing functions. Or other hardware devices (the various descriptions provided in this specification apply the above described principles).
附图 6示例的解析模块 602可以包括第一析取单元 701,如附图 7所示本发明 另一实施例提供的帧间预测编码运动信息的处理装置。 第一析取单元 701 , 用 于依次读取并解析码流中所述确定的所用参考帧列表内匹配块的参考帧索引 值、 运动矢量预测值标识和运动矢量差相关信息。  The parsing module 602 of the example of FIG. 6 may include a first extracting unit 701, such as the processing apparatus for inter-predictive encoding motion information provided by another embodiment of the present invention as shown in FIG. The first extracting unit 701 is configured to sequentially read and parse the reference frame index value, the motion vector predictor identifier, and the motion vector difference related information of the matching block in the determined reference frame list in the code stream.
附图 6示例的解析模块 602也可以包括第二析取单元 801,如附图 8所示本发 明另一实施例提供的帧间预测编码运动信息的处理装置。 第二析取单元 801 , 用于依次读取并解析码流中所述确定的所用参考帧列表内匹配块的运动矢量 预测值标识、 参考帧索引值和运动矢量差相关信息。  The parsing module 602 of the example of FIG. 6 may also include a second extracting unit 801, such as the processing apparatus for inter-predictive encoding motion information provided by another embodiment of the present invention as shown in FIG. The second extracting unit 801 is configured to sequentially read and parse the motion vector predictor identifier, the reference frame index value, and the motion vector difference related information of the matched matching block in the used reference frame list in the code stream.
附图 6示例的帧间预测编码运动信息的处理装置还可以包括参考帧确定模 块 901、重建模块 902和获取模块 903 ,如附图 9所示本发明另一实施例提供的帧 间预测编码运动信息的处理装置, 其中:  The apparatus for inter-predictive coding motion information illustrated in FIG. 6 may further include a reference frame determination module 901, a reconstruction module 902, and an acquisition module 903, such as the interframe predictive coding motion provided by another embodiment of the present invention as shown in FIG. Information processing device, wherein:
参考帧确定模块 901 , 用于根据所述参考帧索引值确定匹配块所在的参考 帧;  a reference frame determining module 901, configured to determine, according to the reference frame index value, a reference frame in which the matching block is located;
重建模块 902,用于重建所述确定的所用参考帧列表内匹配块的运动矢量; 获取模块 903 , 用于根据所述确定的匹配块所在的参考帧和所述重建的运 动矢量, 获取当前帧间预测单元在所述确定的所用参考帧列表内的匹配块。  a reconstruction module 902, configured to reconstruct a motion vector of the matching block in the determined used reference frame list, and an obtaining module 903, configured to acquire a current frame according to the reference frame in which the determined matching block is located and the reconstructed motion vector The inter prediction unit is a matching block within the determined list of used reference frames.
附图 9示例的重建模块 902可以包括运动矢量差恢复单元 1001、运动矢量预 测值确定单元 1002和求和单元 1003 ,如附图 10所示本发明另一实施例提供的帧 间预测编码运动信息的处理装置, 其中:  The reconstruction module 902 illustrated in FIG. 9 may include a motion vector difference recovery unit 1001, a motion vector predictor determination unit 1002, and a summation unit 1003, as shown in FIG. 10, which provides inter prediction encoding motion information according to another embodiment of the present invention. Processing device, wherein:
运动矢量差恢复单元 1001 ,用于根据所述确定的所用参考帧列表内匹配块 的运动矢量差相关信息恢复所述确定的所用参考帧列表内匹配块的运动矢量 差; a motion vector difference recovery unit 1001, configured to use, according to the determined reference frame used in the reference frame list The motion vector difference related information recovers the motion vector difference of the matching block in the determined used reference frame list;
以参考帧列表 0为例, 参考帧列表 0内匹配块的运动矢量差 ( mvd— /0 )相 关信息包括 mvd— /0水平分量(mvd— X )和 mvd— /0竖直分量(mvd_ ), 运动矢 量差恢复单元 1001可按照以下方式计算 mvd— X:  Taking the reference frame list 0 as an example, the motion vector difference (mvd - /0) related information of the matching block in the reference frame list 0 includes the mvd - / 0 horizontal component (mvd - X ) and the mvd - / 0 vertical component (mvd_) The motion vector difference recovery unit 1001 can calculate mvd_X as follows:
mvd— X = abs mvd greaterO _flag[0] * (abs_mvd_minus2 [0] +2 ) * (l-2*mvd_sign_flag[0] );  Mvd— X = abs mvd greaterO _flag[0] * (abs_mvd_minus2 [0] +2 ) * (l-2*mvd_sign_flag[0] );
运动矢量差恢复单元 1001可按照以下方式计算 mvd_ :  The motion vector difference recovery unit 1001 can calculate mvd_ as follows:
mvd_ = abs_mvd_greaterO_flag[l] * (abs_mvd_minus2 [1] +2 ) * ( l-2*mvd_sign _flag[l]) ;  Mvd_ = abs_mvd_greaterO_flag[l] * (abs_mvd_minus2 [1] +2 ) * ( l-2*mvd_sign _flag[l]) ;
上述 mvd— x和 mvd— y的表示式 中 , abs— mvd— greaterO— flag [0] 、 abs_mvd_minus2 [0] 、 mvd— sign— flag [0] 、 abs— mvd— greaterO— flag [1] 、 abs— mvd— minus2[l]以及 abs— mvd— minus2[l]的意义可参阅前述实施例, 此处 不做赘述。  In the above expressions of mvd_x and mvd-y, abs_mvd- greaterO-flag[0], abs_mvd_minus2[0], mvd_sign_flag[0], abs-mvd- greaterO-flag [1], abs - mvd - minus2 [l] and abs - mvd - minus 2 [l] meaning can be referred to the foregoing embodiment, and will not be described herein.
运动矢量预测值确定单元 1002,用于根据所述所述确定的所用参考帧列表 内匹配块的运动矢量预测值标识确定当前帧间预测单元的运动矢量预测值; 求和单元 1003 ,用于将所述恢复的参考帧列表内匹配块的运动矢量差与所 述确定的当前帧间预测单元的运动矢量预测值相加,得到对应参考帧列表内匹 配块的运动矢量。  a motion vector predictor determining unit 1002, configured to determine, according to the determined motion vector predictor identifier of the matching block in the used reference frame list, a motion vector predictor of the current inter prediction unit; a summation unit 1003, configured to The motion vector difference of the matching block in the restored reference frame list is added to the determined motion vector prediction value of the current inter prediction unit to obtain a motion vector of the matching block in the corresponding reference frame list.
请参阅附图 11 , 是本发明实施例提供的编解码系统结构示意图。 为了便于 说明, 仅仅示出了与本发明实施例相关的部分。 附图 11示例的编解码系统包括 附图 3至附图 5任意一实施例提供的编码器 111和附图 6至附图 10任意一实施例 提供的解码器 112, 其中, 编码器 111包括确定模块 1111和传输模块 1112, 解码 器 112包括解码器包括待解析确定模块 1121和解析模块 1122, 其中:  Referring to FIG. 11, FIG. 11 is a schematic structural diagram of a codec system according to an embodiment of the present invention. For the convenience of description, only parts related to the embodiment of the present invention are shown. The codec system illustrated in FIG. 11 includes the encoder 111 provided in any one of the embodiments of FIG. 3 to FIG. 5 and the decoder 112 provided in any one of FIGS. 6 to 10, wherein the encoder 111 includes the determination. The module 1111 and the transmission module 1112, the decoder 112 includes a decoder including a to-be-resolved determination module 1121 and a parsing module 1122, where:
确定模块 1111 ,用于根据语法元素的值确定当前所用参考帧列表以及所述 所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧 列表 0和参考帧列表 1中的至少一个, 所述运动信息包括参考帧索引值、运动矢 量预测值标识和运动矢量差相关信息; 传输模块 1112 ,用于若当前所用参考帧列表以及所述所用参考帧列表内需 要传输的匹配块的运动信息被所述确定模块 1111确定,则将所述确定的所用参 考帧列表内匹配块的运动矢量预测值标识先于所述所述确定的所用参考帧列 表内匹配块的运动矢量差相关信息写入码流; a determining module 1111, configured to determine, according to a value of the syntax element, a currently used reference frame list and motion information of a matching block that needs to be transmitted in the used reference frame list, where the reference frame list includes a reference frame list 0 and a reference frame list 1 At least one of the motion information includes a reference frame index value, a motion vector predictor identifier, and a motion vector difference related information; The transmitting module 1112 is configured to: if the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list are determined by the determining module 1111, match the determined used reference frame list to the matching block. The motion vector predictor identifier is written to the code stream prior to the determined motion vector difference related information of the matching block in the used reference frame list;
待解析确定模块 1121 ,用于根据语法元素的值确定当前所用参考帧列表以 及所述所用参考帧列表内需要解析的匹配块的运动信息;  The to-be-resolved determination module 1121 is configured to determine, according to the value of the syntax element, the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list;
解析模块 1122 ,用于若当前所用参考帧列表以及所述所用参考帧列表内需 要解析的匹配块的运动信息被所述待解析确定模块 1121确定,则先解析所述确 定的所用参考帧列表内匹配块的运动矢量预测值标识后解析所述所述确定的 所用参考帧列表内匹配块的运动矢量差相关信息。  The parsing module 1122 is configured to: if the currently used reference frame list and the motion information of the matching block that needs to be parsed in the used reference frame list are determined by the to-be-resolved determining module 1121, parsing the determined used reference frame list first The motion vector predictor of the matching block identifies the motion vector difference related information of the matching block in the determined used reference frame list after the determination.
需要说明的是, 上述装置各模块 /单元之间的信息交互、 执行过程等内容, 由于与本发明方法实施例基于同一构思,其带来的技术效果与本发明方法实施 例相同, 具体内容可参见本发明方法实施例中的叙述, 此处不再赘述。  It should be noted that the information interaction, the execution process, and the like between the modules/units of the foregoing device are the same as the embodiment of the method of the present invention. Reference is made to the description in the method embodiment of the present invention, and details are not described herein again.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成,比如以下各种方法的一种或多种 或全部:  One of ordinary skill in the art will appreciate that all or a portion of the various methods of the above-described embodiments can be performed by a program to instruct the associated hardware, such as one or more or all of the following various methods:
方法一:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧 列表内需要传输的匹配块的运动信息, 所述参考帧列表包括参考帧列表 0和参 考帧列表 1中的至少一个, 所述运动信息包括参考帧索引值、 运动矢量预测值 标识和运动矢量差相关信息;  Method 1: determining, according to the value of the syntax element, the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list, where the reference frame list includes at least one of the reference frame list 0 and the reference frame list 1. The motion information includes a reference frame index value, a motion vector predictor identifier, and a motion vector difference related information;
若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的 运动信息被确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值 标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码 流。  And if the currently used reference frame list and the motion information of the matching block to be transmitted in the used reference frame list are determined, the motion vector predictor identifier of the matching block in the determined used reference frame list is prior to the determined The motion vector difference related information of the matching block in the reference frame list used is written to the code stream.
方法二:根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧 列表内需要解析的匹配块的运动信息, 所述参考帧列表包括参考帧列表 0和参 考帧列表 1中的至少一个, 所述运动信息包括参考帧索引值、 运动矢量预测值 标识和运动矢量差相关信息; 若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的 运动信息被确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预 测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。 Method 2: Determine, according to the value of the syntax element, a currently used reference frame list and motion information of the matching block to be parsed in the used reference frame list, where the reference frame list includes at least one of the reference frame list 0 and the reference frame list 1. The motion information includes a reference frame index value, a motion vector predictor identifier, and a motion vector difference related information; If the currently used reference frame list and the motion information of the matching block to be parsed in the used reference frame list are determined, parsing the motion vector predictor identifier of the matching block in the determined used reference frame list and parsing the determination The motion vector difference related information of the matching block in the used reference frame list.
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步 骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读 存储介质中, 存储介质可以包括: 只读存储器( ROM, Read Only Memory ) 、 随机存取存储器(RAM, Random Access Memory ) 、 磁盘或光盘等。  A person skilled in the art may understand that all or part of the various steps of the foregoing embodiments may be completed by a program instructing related hardware. The program may be stored in a computer readable storage medium, and the storage medium may include: Read Only Memory (ROM), Random Access Memory (RAM), disk or optical disk.
以上对本发明实施例提供的帧间预测编码运动信息的处理方法、装置和编 进行了阐述, 以上实施例的说明只是用于帮助理解本发明的方法及其核心思 想; 同时, 对于本领域的一般技术人员, 依据本发明的思想, 在具体实施方式 及应用范围上均会有改变之处, 综上所述, 本说明书内容不应理解为对本发明 的限制。  The method, device, and editing of the inter-predictive coding motion information provided by the embodiments of the present invention are described above. The description of the above embodiments is only used to help understand the method and core ideas of the present invention; The present invention is not limited by the scope of the present invention, and the details of the present invention are not limited by the scope of the present invention.

Claims

权 利 要 求 Rights request
1、 一种帧间预测编码运动信息的处理方法, 其特征在于, 所述方法包括: 根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内 需要传输的匹配块的运动信息, 所述参考帧列表包括参考帧列表 0和参考帧列 表 1中的至少一个, 所述运动信息包括参考帧索引值、 运动矢量预测值标识和 运动矢量差相关信息; 1. A method for processing inter-frame prediction encoding motion information, characterized in that the method includes: determining the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list according to the value of the syntax element , the reference frame list includes at least one of reference frame list 0 and reference frame list 1, and the motion information includes reference frame index value, motion vector prediction value identification and motion vector difference related information;
若当前所用参考帧列表以及所述所用参考帧列表内需要传输的匹配块的 运动信息被确定,则将所述确定的所用参考帧列表内匹配块的运动矢量预测值 标识先于所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码 流。 If the motion information of the currently used reference frame list and the matching block that needs to be transmitted in the used reference frame list is determined, the motion vector prediction value of the matching block in the determined used reference frame list is identified prior to the determined The motion vector difference related information of the matching block in the reference frame list used is written into the code stream.
2、 如权利要求 1所述的方法, 其特征在于, 所述将所述确定的所用参考帧 列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配 块的运动矢量差相关信息写入码流包括: 2. The method according to claim 1, characterized in that: identifying the motion vector predictor value of the determined matching block in the used reference frame list precedes the motion of the determined matching block in the used reference frame list. The vector difference related information written into the code stream includes:
先将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流,再将 所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码流,最后将 所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。 First, write the reference frame index value of the matching block in the determined reference frame list into the code stream, then write the motion vector prediction value identifier of the matching block in the determined reference frame list into the code stream, and finally write the reference frame index value of the matching block in the determined reference frame list into the code stream. The motion vector difference related information of the matching block in the determined reference frame list is written into the code stream.
3、 如权利要求 1所述的方法, 其特征在于, 所述将所述确定的所用参考帧 列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配 块的运动矢量差相关信息写入码流包括: 3. The method of claim 1, wherein: identifying the motion vector predictor value of the determined matching block in the used reference frame list precedes the motion of the determined matching block in the used reference frame list. The vector difference related information written into the code stream includes:
先将所述确定的所用参考帧列表内匹配块的运动矢量预测值标识写入码 流,再将所述确定的所用参考帧列表内匹配块的参考帧索引值写入码流, 最后 将所述确定的所用参考帧列表内匹配块的运动矢量差相关信息写入码流。 First, the motion vector prediction value identifier of the matching block in the determined reference frame list is written into the code stream, then the reference frame index value of the matching block in the determined reference frame list is written into the code stream, and finally the reference frame index value of the matching block in the determined reference frame list is written into the code stream. The motion vector difference related information of the matching block in the determined reference frame list is written into the code stream.
4、 一种帧间预测编码运动信息的处理方法, 其特征在于, 所述方法包括: 根据语法元素的值确定当前所用参考帧列表以及所述所用参考帧列表内 需要解析的匹配块的运动信息, 所述参考帧列表包括参考帧列表 0和参考帧列 表 1中的至少一个, 所述运动信息包括参考帧索引值、 运动矢量预测值标识和 运动矢量差相关信息; 4. A method for processing inter-frame prediction encoding motion information, characterized in that the method includes: determining the currently used reference frame list and the motion information of the matching blocks that need to be parsed in the used reference frame list according to the value of the syntax element , the reference frame list includes at least one of reference frame list 0 and reference frame list 1, and the motion information includes reference frame index value, motion vector prediction value identification and motion vector difference related information;
若当前所用参考帧列表以及所述所用参考帧列表内需要解析的匹配块的 运动信息被确定,则先解析所述确定的所用参考帧列表内匹配块的运动矢量预 测值标识后解析所述确定的所用参考帧列表内匹配块的运动矢量差相关信息。 If the currently used reference frame list and the matching block to be parsed in the used reference frame list When the motion information is determined, first analyze the motion vector predictor identifier of the matching block in the determined used reference frame list, and then analyze the motion vector difference related information of the determined matching block in the used reference frame list.
5、 如权利要求 4所述的方法, 其特征在于, 所述先解析所述确定的所用参 考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用运动矢量差 相关信息包括: 5. The method of claim 4, wherein said first parsing the motion vector predictor identifier of the matching block in the determined used reference frame list and then parsing the determined used motion vector difference related information includes:
依次读取并解析码流中所述确定的所用参考帧列表内匹配块的参考帧索 引值、 运动矢量预测值标识和运动矢量差相关信息。 Sequentially read and parse the reference frame index value, motion vector prediction value identification and motion vector difference related information of the matching block in the determined reference frame list used in the code stream.
6、 如权利要求 4所述的方法, 其特征在于, 所述先解析所述确定的所用参 考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用运动矢量差 相关信息包括: 6. The method of claim 4, wherein said first parsing the motion vector predictor identifier of the matching block in the determined used reference frame list and then parsing the determined used motion vector difference related information includes:
依次读取并解析码流中所述确定的所用参考帧列表内匹配块的运动矢量 预测值标识、 参考帧索引值和运动矢量差相关信息。 Sequentially read and parse the motion vector predictor identifier, reference frame index value and motion vector difference related information of the matching block in the determined reference frame list used in the code stream.
7、 如权利要求 4所述的方法, 其特征在于, 所述先解析所述确定的所用参 考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用运动矢量差 相关信息的步骤之后, 所述方法进一步包括: 7. The method of claim 4, wherein the step of first parsing the motion vector predictor identifier of the matching block in the determined used reference frame list and then parsing the determined used motion vector difference related information Afterwards, the method further includes:
根据所述参考帧索引值确定匹配块所在的参考帧; Determine the reference frame where the matching block is located according to the reference frame index value;
重建所述确定的所用参考帧列表内匹配块的运动矢量; Reconstructing the motion vector of the matching block within the determined reference frame list used;
根据所述确定的匹配块所在的参考帧和所述重建的参考帧列表内匹配块 的运动矢量, 获取当前帧间预测单元在对应参考帧列表内的匹配块。 According to the reference frame in which the determined matching block is located and the motion vector of the matching block in the reconstructed reference frame list, the matching block of the current inter prediction unit in the corresponding reference frame list is obtained.
8、 如权利要求 7所述的方法, 其特征在于, 所述重建对应参考帧列表内匹 配块的运动矢量包括: 8. The method of claim 7, wherein the reconstructing the motion vector of the matching block in the corresponding reference frame list includes:
根据所述确定的所用参考帧列表内匹配块的运动矢量差相关信息恢复所 述确定的所用参考帧列表内匹配块的运动矢量差; Restore the motion vector difference of the determined matching block in the used reference frame list based on the motion vector difference related information of the determined matching block in the used reference frame list;
根据所述确定的所用参考帧列表内匹配块的运动矢量预测值标识确定当 前帧间预测单元的运动矢量预测值; Determine the motion vector predictor of the current inter prediction unit according to the motion vector predictor identifier of the matching block in the determined reference frame list;
将所述恢复的参考帧列表内匹配块的运动矢量差与所述确定的当前帧间 预测单元的运动矢量预测值相加,得到所述确定的所用参考帧列表内匹配块的 运动矢量。 The motion vector difference of the matching block in the restored reference frame list is added to the determined motion vector prediction value of the current inter prediction unit to obtain the determined motion vector of the matching block in the used reference frame list.
9、 一种帧间预测编码运动信息的处理装置, 其特征在于, 所述装置包括: 确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述所用 参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧列表 0和参考帧列表 1中的至少一个, 所述运动信息包括参考帧索引值、运动矢量预 测值标识和运动矢量差相关信息; 9. A processing device for inter-frame prediction encoding motion information, characterized in that the device includes: a determination module, configured to determine the currently used reference frame list and the information that needs to be transmitted in the used reference frame list according to the value of the syntax element. Motion information of the matching block, the reference frame list includes at least one of reference frame list 0 and reference frame list 1, and the motion information includes a reference frame index value, a motion vector predictor identification and motion vector difference related information;
写入模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要传 输的匹配块的运动信息被所述确定模块确定,则将所述确定的所用参考帧列表 内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配块的 运动矢量差相关信息写入码流。 A writing module, configured to write the motion information of the matching block in the determined reference frame list if the currently used reference frame list and the motion information of the matching block that needs to be transmitted in the used reference frame list are determined by the determination module. The vector prediction value identifier is written into the code stream prior to the motion vector difference related information of the matching block in the determined reference frame list used.
10、 如权利要求 9所述的装置, 其特征在于, 所述写入模块包括: 第一写入单元,用于先将所述确定的所用参考帧列表内匹配块的参考帧索 引值写入码流,再将所述确定的所用参考帧列表内匹配块的运动矢量预测值标 识写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信 息写入码流。 10. The device according to claim 9, wherein the writing module includes: a first writing unit, configured to first write the reference frame index value of the matching block in the determined reference frame list. Then write the motion vector predictor identifier of the matching block in the determined reference frame list into the code stream, and finally write the motion vector difference related information of the determined matching block in the used reference frame list into the code stream. .
11、 如权利要求 9所述的装置, 其特征在于, 所述写入模块包括: 第二写入单元,用于先将所述确定的所用参考帧列表内匹配块的运动矢量 预测值标识写入码流,再将所述确定的所用参考帧列表内匹配块的参考帧索引 值写入码流,最后将所述确定的所用参考帧列表内匹配块的运动矢量差相关信 息写入码流。 11. The device according to claim 9, wherein the writing module includes: a second writing unit, configured to first write the motion vector prediction value identifier of the matching block in the determined reference frame list. Enter the code stream, then write the reference frame index value of the matching block in the determined reference frame list into the code stream, and finally write the motion vector difference related information of the matching block in the determined reference frame list into the code stream. .
12、一种帧间预测编码运动信息的处理装置,其特征在于,所述装置包括: 待解析确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所 述所用参考帧列表内需要解析的匹配块的运动信息,所述参考帧列表包括参考 帧列表 0和参考帧列表 1中的至少一个, 所述运动信息包括参考帧索引值、运动 矢量预测值标识和运动矢量差相关信息; 12. A processing device for inter-frame prediction encoding motion information, characterized in that the device includes: a to-be-parsed determination module, configured to determine the currently used reference frame list and the needs in the used reference frame list according to the value of the syntax element The motion information of the parsed matching block, the reference frame list includes at least one of the reference frame list 0 and the reference frame list 1, the motion information includes a reference frame index value, a motion vector predictor identification and motion vector difference related information;
解析模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需要解 析的匹配块的运动信息被所述待解析确定模块确定,则先解析所述确定的所用 参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考帧列 表内匹配块的运动矢量差相关信息。 A parsing module, configured to first parse the matching blocks in the determined reference frame list if the motion information of the currently used reference frame list and the matching block that needs to be parsed in the used reference frame list is determined by the to-be-parsed determination module. After identifying the motion vector predictor, the motion vector difference related information of the matching block in the determined reference frame list is analyzed.
13、 如权利要求 12所述的装置, 其特征在于, 所述解析模块包括: 第一析取单元,用于依次读取并解析码流中所述确定的所用参考帧列表内 匹配块的参考帧索引值、 运动矢量预测值标识和运动矢量差相关信息。 13. The device according to claim 12, wherein the parsing module includes: a first extraction unit, configured to sequentially read and parse the references of matching blocks in the determined reference frame list used in the code stream. Frame index value, motion vector predictor identification and motion vector difference related information.
14、 如权利要求 12所述的装置, 其特征在于, 所述解析模块包括: 第二析取单元,用于依次读取并解析码流中所述确定的所用参考帧列表内 匹配块的运动矢量预测值标识、 参考帧索引值和运动矢量差相关信息。 14. The device according to claim 12, wherein the parsing module includes: a second extraction unit, configured to sequentially read and parse the motion of matching blocks within the determined reference frame list in the code stream. Vector prediction value identification, reference frame index value and motion vector difference related information.
15、 如权利要求 12所述的装置, 其特征在于, 所述装置进一步包括: 参考帧确定模块, 用于根据所述参考帧索引值确定匹配块所在的参考帧; 重建模块, 用于重建所述确定的所用参考帧列表内匹配块的运动矢量; 获取模块,用于根据所述确定的匹配块所在的参考帧和所述重建的参考帧 列表内匹配块的运动矢量,获取当前帧间预测单元在对应参考帧列表内的匹配 块。 15. The device of claim 12, wherein the device further includes: a reference frame determination module, configured to determine the reference frame in which the matching block is located based on the reference frame index value; a reconstruction module, configured to reconstruct the The motion vector of the matching block in the determined reference frame list; an acquisition module, configured to obtain the current inter-frame prediction based on the reference frame in which the determined matching block is located and the motion vector of the matching block in the reconstructed reference frame list. The matching block of the unit within the corresponding reference frame list.
16、 如权利要求 15所述的装置, 其特征在于, 所述重建模块包括: 运动矢量差恢复单元,用于根据所述确定的所用参考帧列表内匹配块的运 动矢量差相关信息恢复所述确定的所用参考帧列表内匹配块的运动矢量差; 运动矢量预测值确定单元,用于根据所述确定的所用参考帧列表内匹配块 的运动矢量预测值标识确定当前帧间预测单元的运动矢量预测值; 16. The device according to claim 15, wherein the reconstruction module includes: a motion vector difference restoration unit, configured to restore the motion vector difference related information of the matching block in the determined reference frame list. The determined motion vector difference of the matching block in the used reference frame list; a motion vector predictor determination unit, configured to determine the motion vector of the current inter prediction unit according to the determined motion vector predictor identifier of the matching block in the used reference frame list Predictive value;
求和单元,用于将所述恢复的参考帧列表内匹配块的运动矢量差与所述确 定的当前帧间预测单元的运动矢量预测值相加,得到所述确定的所用参考帧列 表内匹配块的运动矢量。 A summation unit configured to add the motion vector difference of the matching block in the restored reference frame list to the determined motion vector prediction value of the current inter prediction unit to obtain the determined matching within the used reference frame list. The motion vector of the block.
17、一种编解码系统,其特征在于,所述编解码系统包括编码器和解码器, 所述编码器包括确定模块和写入模块,所述解码器包括待解析确定模块和解析 模块; 17. A coding and decoding system, characterized in that the coding and decoding system includes an encoder and a decoder, the encoder includes a determination module and a writing module, and the decoder includes a determination module to be parsed and a parsing module;
所述确定模块,用于根据语法元素的值确定当前所用参考帧列表以及所述 所用参考帧列表内需要传输的匹配块的运动信息,所述参考帧列表包括参考帧 列表 0和参考帧列表 1中的至少一个, 所述运动信息包括参考帧索引值、运动矢 量预测值标识和运动矢量差相关信息; The determination module is configured to determine the currently used reference frame list and the motion information of the matching blocks that need to be transmitted in the used reference frame list according to the value of the syntax element. The reference frame list includes reference frame list 0 and reference frame list 1. At least one of, the motion information includes a reference frame index value, a motion vector predictor identifier, and motion vector difference related information;
所述写入模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需 要传输的匹配块的运动信息被所述确定模块确定,则将所述确定的所用参考帧 列表内匹配块的运动矢量预测值标识先于所述确定的所用参考帧列表内匹配 块的运动矢量差相关信息写入码流; The writing module is used if the currently used reference frame list and the used reference frame list are needed When the motion information of the matching block to be transmitted is determined by the determination module, the motion vector prediction value of the matching block in the determined used reference frame list is identified prior to the motion vector of the matching block in the determined used reference frame list. The difference related information is written into the code stream;
所述待解析确定模块,用于根据语法元素的值确定当前所用参考帧列表以 及所述所用参考帧列表内需要解析的匹配块的运动信息; The to-be-parsed determination module is used to determine the currently used reference frame list and the motion information of the matching blocks that need to be parsed in the used reference frame list according to the value of the syntax element;
所述解析模块,用于若当前所用参考帧列表以及所述所用参考帧列表内需 要解析的匹配块的运动信息被所述待解析确定模块确定,则先解析所述确定的 所用参考帧列表内匹配块的运动矢量预测值标识后解析所述确定的所用参考 帧列表内匹配块运动矢量差相关信息。 The parsing module is configured to first parse the determined reference frame list if the motion information of the currently used reference frame list and the matching block that needs to be parsed in the used reference frame list is determined by the to-be-parsed determination module. After identifying the motion vector predictor of the matching block, the motion vector difference related information of the matching block in the determined reference frame list is analyzed.
PCT/CN2013/070867 2012-07-02 2013-01-23 Method and device for processing inter-frame predictive coding motion information and codec system WO2014005426A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210225481.7A CN103533376B (en) 2012-07-02 2012-07-02 Method and apparatus for motion information processing of interframe prediction coding, and coding and decoding system
CN201210225481.7 2012-07-02

Publications (1)

Publication Number Publication Date
WO2014005426A1 true WO2014005426A1 (en) 2014-01-09

Family

ID=49881296

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/070867 WO2014005426A1 (en) 2012-07-02 2013-01-23 Method and device for processing inter-frame predictive coding motion information and codec system

Country Status (2)

Country Link
CN (1) CN103533376B (en)
WO (1) WO2014005426A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230345033A1 (en) * 2015-08-24 2023-10-26 Lg Electronics Inc. Inter prediction mode-based image processing methodand apparatus therefor

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9930341B2 (en) * 2014-06-20 2018-03-27 Qualcomm Incorporated Block vector coding for intra block copying
CN111263166B (en) * 2018-11-30 2022-10-11 华为技术有限公司 Video image prediction method and device
WO2020108168A1 (en) * 2018-11-30 2020-06-04 华为技术有限公司 Video image prediction method and device
WO2020140242A1 (en) * 2019-01-03 2020-07-09 北京大学 Video processing method and apparatus
CN110636290B (en) * 2019-08-30 2021-12-03 北京大学 Video image motion vector encoding/decoding method and encoder/decoder
CN113766222B (en) * 2020-06-01 2023-03-24 杭州海康威视数字技术股份有限公司 Encoding and decoding method, device and equipment
CN113873249B (en) * 2020-06-30 2023-02-28 杭州海康威视数字技术股份有限公司 Encoding and decoding method, device and equipment
CN112055201B (en) * 2020-08-06 2024-05-28 浙江大华技术股份有限公司 Video coding method and related device thereof
CN112565753B (en) * 2020-12-06 2022-08-16 浙江大华技术股份有限公司 Method and apparatus for determining motion vector difference, storage medium, and electronic apparatus
CN114640848B (en) * 2021-04-13 2023-04-28 杭州海康威视数字技术股份有限公司 Encoding and decoding method, device and equipment thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101415122A (en) * 2007-10-15 2009-04-22 华为技术有限公司 Forecasting encoding/decoding method and apparatus between frames
US20100284464A1 (en) * 2009-05-07 2010-11-11 Texas Instruments Incorporated Reducing computational complexity when video encoding uses bi-predictively encoded frames
CN101917615A (en) * 2010-06-03 2010-12-15 北京邮电大学 Enhancement type bi-directional motion vector predicting method in mixed video coding framework
CN102447894A (en) * 2010-09-30 2012-05-09 华为技术有限公司 Video image coding method and device as well as video image decoding method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101415122A (en) * 2007-10-15 2009-04-22 华为技术有限公司 Forecasting encoding/decoding method and apparatus between frames
US20100284464A1 (en) * 2009-05-07 2010-11-11 Texas Instruments Incorporated Reducing computational complexity when video encoding uses bi-predictively encoded frames
CN101917615A (en) * 2010-06-03 2010-12-15 北京邮电大学 Enhancement type bi-directional motion vector predicting method in mixed video coding framework
CN102447894A (en) * 2010-09-30 2012-05-09 华为技术有限公司 Video image coding method and device as well as video image decoding method and device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230345033A1 (en) * 2015-08-24 2023-10-26 Lg Electronics Inc. Inter prediction mode-based image processing methodand apparatus therefor

Also Published As

Publication number Publication date
CN103533376B (en) 2017-04-12
CN103533376A (en) 2014-01-22

Similar Documents

Publication Publication Date Title
WO2014005426A1 (en) Method and device for processing inter-frame predictive coding motion information and codec system
US20220060736A1 (en) Method and an apparatus for processing a video signal
CN104025599B (en) reference picture processing
CN106210734B (en) Method and device for encoding a sequence of images into a bitstream and for decoding a bitstream
CN102835111B (en) The motion vector of previous block is used as the motion vector of current block, image to be carried out to the method and apparatus of coding/decoding
TW201803351A (en) Method and apparatus of video coding with affine motion compensation
US9462274B2 (en) Transformation mode encoding and decoding method and apparatus
CN112400319A (en) Merging candidates with multiple hypotheses
CN112534807A (en) Method and apparatus for multi-hypothesis mode referencing and constraining
KR20100136962A (en) Methods and apparatus for implicit block segmentation in video encoding and decoding
EP3958572A1 (en) Method for encoding multi-view video and method for decoding multi-view video
EP4037320A1 (en) Boundary extension for video coding
WO2019154424A1 (en) Video decoding method, video decoder, and electronic device
US8155196B2 (en) Method of and apparatus for estimating motion vector based on sizes of neighboring partitions, encoder, decoding, and decoding method
WO2012122836A1 (en) Video encoding/decoding method and device
KR20080060188A (en) A method and apparatus for decoding a video signal
WO2020221317A1 (en) Vector difference decoding method, apparatus and electronic device
KR102232417B1 (en) A method and an apparatus for processing a video signal
CN111586419A (en) Video decoding method, video encoding method and device
WO2014106379A1 (en) Scalable video code stream coding and decoding method and device
CN112218086A (en) Encoding method, decoding method, transmission method, encoding device, decoding device, and system
CN112261409A (en) Residual encoding method, residual decoding method, residual encoding device, residual decoding device, storage medium and electronic device
CN103916665A (en) Image decoding and coding method and device
CN104396239A (en) Apparatus and method for coding a video signal
RU2787812C2 (en) Method and equipment for video image prediction

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

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

Country of ref document: EP

Kind code of ref document: A1