Coding and decoding method and device adopting different motion vectors for different frames

By adapting motion vector parameters to frame-specific characteristics, the method optimizes encoding efficiency by selecting optimal schemes for each frame, reducing bit usage and improving overall performance.

CN119232937APending Publication Date: 2024-12-31绍兴市北大信息技术科创中心
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411167031.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-23
Publication Date
2024-12-31

AI Technical Summary

Technical Problem

Existing motion vector encoding methods use fixed parameters for all frames, ignoring the differences in matching characteristics of different frame contents, which affects encoding efficiency.

Method used

Adaptive setting of motion vector parameters for each frame based on statistical analysis, allowing flexible selection of optimal encoding schemes tailored to individual frame characteristics.

Benefits of technology

Improves encoding efficiency by optimizing motion vector encoding to account for frame-specific differences, enhancing flexibility and reducing bit usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119232937A_ABST
    Figure CN119232937A_ABST
Patent Text Reader

Abstract

The invention provides an encoding and decoding method and device adopting different motion vectors for different frames, and the method comprises the steps: 1, encoding frame-level parameters: for each frame, obtaining at least one motion vector parameter value according to a motion vector statistical method of a current frame or a historical frame, and writing the obtained motion vector parameter value into an image parameter set code stream; step 2, coding unit level parameter: for each coding unit of the current frame, if the coding parameter of the coding mode of the coding unit contains a motion vector, coding part or all of the motion vectors according to the motion vector parameter value obtained in the step 1, and outputting an image parameter set code stream containing the displacement vector of the current coding unit; and step 3, coding all frames according to the operation in the step 2.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the field of image and video data compression processing, in particular to a coding and decoding method and device for using different motion vectors for different frames. Background Art

[0002] The motion vector encoding and decoding method used to represent the position relationship between the reference (block) string and the current (block) string is the focus of the research on efficient coding of intra-frame block copy technology (Intra Block Copy, IBC) and intra-frame string copy technology (Intra String Copy, ISC). The latest standard adopts the motion vector coding technology based on the historical motion vector list. For example, the history-based motion vector prediction (History-based Motion Vector Prediction, HMVP) technology and the history-based motion vector direct coding technology. HMVP technology refers to the search for the best predicted historical motion vector in the history motion vector list for the current coding motion vector, and the encoding of the index and vector difference corresponding to the best predicted historical motion vector; the history-based motion vector direct coding technology refers to the search for the motion vector equal to the current coding motion vector in the history motion vector list for the current coding motion vector. If it can be found, the index corresponding to the historical motion vector is encoded, otherwise the "current coding motion vector" is directly encoded. For example, in the AVS3 standard, the IBC mode adopts the HMVP technology, and the ISC mode adopts the history-based motion vector direct coding technology.

[0003] The motion vector coding technology based on the historical motion vector list currently uses exponential Golomb coding for the motion vector difference or the value of the motion vector itself, that is, the codec end agrees to use 5-order exponential Golomb coding for the motion vector in the ISC mode and 2-order exponential Golomb coding for the motion vector in the IBC mode. The motion vector is also called a motion vector. For the IBC mode, the motion vector is also called a block vector (BV); for the ISC mode, the motion vector is also called a string vector (SV).

[0004] At present, in the latest AVS4 exploration software, the reference range of IBC and ISC has been extended to 8 LCU rows. Unlike the previous reference range of only the current CTU (Coding Tree Unit) and the size of the CTU on the left, the IBC and ISC modes can find more optimal reference blocks or reference strings in a larger range. At the same time, motion vectors also show differences. Different frame contents have different matching characteristics. For example, some frame contents can find matches in closer places, and some frame contents can find matches in farther places, which leads to the distribution of motion vectors of different frames not necessarily being the same. The existing motion vector encoding method uses the same order of exponential Columbus coding for all frame contents, uses fixed parameters for encoding and decoding, and does not contain motion vector parameters in the bitstream. The differences in motion vectors of different frame contents are not taken into account, which affects the encoding efficiency. Summary of the invention

[0005] The present invention aims to solve the problem that the existing encoding method affects the encoding efficiency.

[0006] The present invention provides a coding and decoding method and device for using different motion vectors for different frames.

[0007] A coding method using different motion vectors for different frames, comprising:

[0008] Step 1, encoding frame-level parameters: for each frame, at least one motion vector parameter value is obtained according to the motion vector statistics method of the current frame or the historical frame, and the obtained motion vector parameter value is written into the data bit stream;

[0009] Step 2, coding unit level parameters: for each coding unit of the current frame, if the coding parameters of its coding mode include motion vectors, encode part or all of the motion vectors according to the motion vector parameter values ​​obtained in step 1, and output a data bitstream including the motion vector of the current coding unit;

[0010] Step 3: Encode all frames according to the operation of step 2.

[0011] Preferably, the motion vector parameters include one or more of the exponential Golomb order, whether to encode the upper string identifier, and whether the motion vector in the pre-coding stage adopts direct coding or predictive coding, and the corresponding motion vector parameter values ​​include one or more of the value of the exponential Golomb order, yes or no, and the number of bits obtained by the motion vector coding scheme in the pre-coding stage.

[0012] Preferably, when the motion vector parameter value includes the value of the Exponential Golomb order, the number of bits of all motion vector estimates of the current frame using different Exponential Golomb orders is counted, and the Exponential Golomb order with the least number of bits is selected as the motion vector parameter value.

[0013] A coding device using different motion vectors for different frames, comprising:

[0014] Motion vector parameter value acquisition module: obtains at least one motion vector parameter value according to a motion vector statistical method of a current frame or a historical frame;

[0015] Motion vector parameter value encoding module: encodes the motion vector parameter value and writes it into the data code stream;

[0016] Motion vector encoding module: input the current frame motion vector and encode the motion vector according to the motion vector parameter value;

[0017] Motion vector code stream output module: outputs data code stream containing the motion vector of the current frame.

[0018] Preferably, the motion vector parameters include one or more of the exponential Golomb order, whether to encode the upper string identifier, and whether the motion vector in the pre-coding stage adopts direct coding or predictive coding, and the corresponding motion vector parameter values ​​include one or more of the value of the exponential Golomb order, yes or no, and the number of bits obtained by the motion vector coding scheme in the pre-coding stage.

[0019] Preferably, when the motion vector parameter value includes the value of the exponential Golomb order, the number of bits of all motion vector estimates of the current frame using different exponential Golomb orders is counted, and the exponential Golomb order with the least number of bits is selected as the motion vector parameter value.

[0020] A decoding method using different motion vectors for different frames, comprising:

[0021] Step 1, inputting a data bit stream containing at least one motion vector parameter in the frame level parameters;

[0022] Step 2, decoding to obtain at least one motion vector parameter value;

[0023] Step 3, for each decoding unit of the current frame, decode the motion vector according to the motion vector parameter value obtained in step 2, and output the motion vector of the current decoding unit;

[0024] Step 4: decode all frames according to the operation of step 3.

[0025] Preferably, the motion vector parameters include one or more of the exponential Golomb order, whether to encode the upper string identifier, and whether the motion vector in the pre-coding stage adopts direct coding or predictive coding, and the corresponding motion vector parameter values ​​include one or more of the value of the exponential Golomb order, yes or no, and the number of bits obtained by the motion vector coding scheme in the pre-coding stage.

[0026] Preferably, when the motion vector parameter value includes the value of the Exponential Golomb order, the number of bits of all motion vector estimates of the current frame using different Exponential Golomb orders is counted, and the Exponential Golomb order with the least number of bits is selected as the motion vector parameter value.

[0027] A decoding device using different motion vectors for different frames, comprising:

[0028] Motion vector parameter decoding module: inputs a data bitstream containing a bitstream of motion vector parameters, and decodes to obtain one or more motion vector parameter values;

[0029] Current frame motion vector decoding module: inputs the data code stream of the current frame motion vector, and decodes the motion vector according to the above one or more motion vector parameter values;

[0030] Output module of current frame motion vector: outputs current frame motion vector.

[0031] Preferably, the motion vector parameters include one or more of the exponential Golomb order, whether to encode the upper string identifier, and whether the motion vector in the pre-coding stage adopts direct coding or predictive coding, and the corresponding motion vector parameter values ​​include one or more of the value of the exponential Golomb order, yes or no, and the number of bits obtained by the motion vector coding scheme in the pre-coding stage.

[0032] Preferably, when the motion vector parameter value includes the value of the Exponential Golomb order, the number of bits of all motion vector estimates of the current frame using different Exponential Golomb orders is counted, and the Exponential Golomb order with the least number of bits is selected as the motion vector parameter value.

[0033] The existing encoder adopts a fixed parameter value, such as 2-order exponential Columbus, for all frames in all sequences. The data stream includes a frame-level parameter set and a coding unit parameter set. Each frame image is divided into multiple coding units for encoding.

[0034] Compared with the prior art, the present invention has the following advantages and effects:

[0035] The present invention takes into account that different frame contents have different matching features, sets different motion vector parameters according to different matching features, inserts parameters in the sequence header, increases the flexibility of each sequence to adaptively select the optimal motion vector scheme for the frame, breaks the limitation of each sequence using a fixed parameter motion vector encoding scheme, fully considers the differences in motion vectors, optimizes the motion vector encoding method, and thus improves encoding efficiency. BRIEF DESCRIPTION OF THE DRAWINGS

[0036] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative labor.

[0037] Figure 1 is a flow chart of the encoding method of the present invention.

[0038] Figure 2 is a flowchart of the decoding method of the present invention.

[0039] Figure 3 This is a coding efficiency table of the present invention and the existing method. DETAILED DESCRIPTION

[0040] In order to make the purpose, technical solution and advantages of the present invention more clearly understood, the present invention is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present invention and are not used to limit the present invention.

[0041] like Figure 1 As shown, a coding method using different motion vectors for different frames includes:

[0042] Step 1, encoding frame-level parameters: for each frame, at least one motion vector parameter value is obtained according to the motion vector statistics method of the current frame or the historical frame, and the obtained motion vector parameter value is written into the data bit stream;

[0043] Step 2, coding unit level parameters: for each coding unit of the current frame, if the coding parameters of its coding mode include motion vectors, encode part or all of the motion vectors according to the motion vector parameter values ​​obtained in step 1, and output a data bitstream including the motion vector of the current coding unit;

[0044] Step 3: Encode all frames according to the operation of step 2.

[0045] Preferably, the motion vector parameters include one or more of the exponential Golomb order, whether to encode the upper string identifier, and whether the motion vector in the pre-coding stage adopts direct coding or predictive coding, and the corresponding motion vector parameter values ​​include one or more of the value of the exponential Golomb order, yes or no, and the number of bits obtained by the motion vector coding scheme in the pre-coding stage.

[0046] In a specific implementation, in step 1, the motion vector parameters include one or more of the exponential Golomb order, whether to encode the upper string identifier, and whether the motion vector in the pre-coding stage adopts direct coding or predictive coding, and the corresponding motion vector parameter value includes one or more of the exponential Golomb order value, yes or no, and the number of bits obtained by the motion vector coding scheme in the pre-coding stage. The exponential Golomb order includes at least the exponential Golomb order of the IBC mode motion vector and / or the exponential Golomb order of the ISC mode motion vector; the motion vector may refer to the motion vector MVX, or the motion vector MVY, or the motion vectors MVX and MVY. For example, the motion vector parameter value is the value of the exponential Golomb order. For each frame of the image, the number of bits B2, B3, B4, and B5 estimated by different exponential Golomb orders for all motion vectors of the current frame are counted, and the exponential Golomb order with the least number of bits is selected as the motion vector parameter value; the motion vector parameter value is written into the image parameter set code stream after encoding; for each coding unit of the current frame, if the encoding parameters of its encoding mode include motion vectors, part or all of the motion vectors are encoded according to the above motion vector parameter value, and the image parameter set code stream including the motion vector of the current coding unit is output; all frames are encoded, and at least two frames are encoded using different motion vector parameter values. For another example, the motion vector parameter is whether to encode the upper string identifier. For each frame of the image, the probability of the upper string in all motion vectors of different current frames is counted. If the hit rate of the upper string is less than or equal to the threshold value X, the value of the motion vector parameter "whether to encode the upper string identifier" is no, otherwise it is yes. For another example, the motion vector parameter is the motion vector in the pre-coding stage using direct coding or predictive coding. For each frame of the image, the number of bits obtained by the direct coding and predictive coding schemes of all motion vectors of the frame is counted, and the scheme with the least number of bits is selected as the motion vector parameter value. For another example, the motion vector parameter is a combination of the exponential Golomb order and whether to encode the upper string flag. For each frame of the image, the number of bits estimated by different exponential Golomb orders for all motion vectors of the current frame is counted, and the exponential Golomb order with the least number of bits is selected as the value of the motion vector parameter "exponential Golomb order"; the probability of the upper string in all motion vectors of different current frames is counted. If the hit rate of the upper string is less than or equal to the threshold value X, the value of the motion vector parameter "whether to encode the upper string flag" is no, otherwise it is yes.

[0047] In a specific implementation, the motion vector is encoded in the following manner: a motion vector difference parameter corresponding to the motion vector difference is added to the sequence header definition, and the motion vector difference parameter may use a variable order exponential Golomb code.

[0048] In a specific implementation, the motion vector is encoded in the following manner: sequence header parameters BVD_X_EXP_G and BVD_Y_EXP_G corresponding to the motion vector differences BVD_X and BVD_Y of the IBC mode are added to the sequence header definition; sequence header parameters SV_X_EXP_G and SV_Y_EXP_G corresponding to the motion vectors SV_X and SV_Y of the ISC mode are written in a fixed-length code. For example, if BVD_X_EXP_G is 2, 3, 4, or 5, then the value of BVD_X_EXP_G minus 2 is encoded, and 00, 01, 10, or 11 is used to represent 0, 1, 2, or 3.

[0049] The fixed-length code ranges from 2 to 4 bits.

[0050] sequence_header(){ ......

[0052] BVD_X_EXP_G

[0053] BVD_Y_EXP_G

[0054] SV_X_EXP_G

[0055] SV_Y_EXP_G ......

[0057] }

[0058] When defining the coding unit, the exponential Golomb coding part of BVD_X, BVD_Y, SV_X, and SV_Y is used, and the N-order exponential Golomb code (similar to the 2-order exponential Golomb code) is changed to BVD_X_EXP_G-order exponential Golomb code, BVD_Y_EXP_G-order exponential Golomb code, SV_X_EXP_G-order exponential Golomb code, and SV_Y_EXP_G-order exponential Golomb code.

[0059] In a specific implementation, the motion vector is encoded in the following manner: a sequence header parameter SV_ABOVE_FLAG indicating whether to encode the above string is added to the sequence header definition;

[0060] sequence_header(){ ......

[0062] if(picture_i sc_os_enab l e_f l ag){

[0063] SV_ABOVE_FLAG

[0064] } ......

[0066] }

[0067] When defining the encoding unit, whether to encode the above string identifier is determined according to the value of SV_ABOVE_FLAG, that is, if SV_ABOVE_FLAG is true, the above string identifier is encoded, otherwise the above string identifier is not encoded.

[0068] In a specific implementation, the motion vector is encoded in the following manner: a direct or predicted identification sequence header parameter BV_D IRECT_PREDICTION is added to the sequence header definition;

[0069] sequence_header(){ ......

[0071] if(picture_ibc_enab l e_f l ag){

[0072] BV_D IRECT_PRED ICTION

[0073] } ......

[0075] }

[0076] When defining the coding unit, the value of BV_D I RECT_PREDICTION determines whether the BV encoding is the BV value itself or the BVD.

[0077] In a specific implementation, the motion vector is encoded in the following manner: sequence header parameters BVD_X_EXP_G and BVD_Y_EXP_G corresponding to the motion vector differences BVD_X and BVD_Y of the IBC mode are added to the sequence header definition; sequence header parameters SV_X_EXP_G and SV_Y_EXP_G corresponding to the motion vectors SV_X and SV_Y of the ISC mode are written in a fixed-length code. For example, if BVD_X_EXP_G is 2, 3, 4, or 5, then the value of BVD_X_EXP_G minus 2 is encoded, and 00, 01, 10, or 11 is used to represent 0, 1, 2, or 3.

[0078] The fixed-length code ranges from 2 to 4 bits.

[0079] sequence_header(){ ......

[0081] if(picture_i bc_enab l e_f l ag){

[0082] BVD_X_EXP_G

[0083] BVD_Y_EXP_G

[0084] }

[0085] if(picture_i sc_os_enab l e_f l ag){

[0086] SV_X_EXP_G

[0087] SV_Y_EXP_G

[0088] } ......

[0090] }

[0091] Among them, picture_ibc_enable_flag means that the current frame enables IBC mode, and picture_isc_os_enable_flag means that the current frame enables ISC mode normal string mode.

[0092] In a specific implementation, in step 1, the motion vector statistics method according to the current frame or the historical frame is performed after pre-coding. During pre-coding, the first frame image is pre-coded with the exponential Golomb order A (fixed order value of the existing coding method), and the second frame image and the remaining frame images are pre-coded with the exponential Golomb order B with the least number of bits of the previous frame. The motion vector statistics method according to the current frame or the historical frame refers to counting the number of bits estimated for all motion vectors of the current frame by different exponential Golomb orders (such as 2 to 5), and selecting the exponential Golomb order with the least number of bits as the value of the motion vector parameter "exponential Golomb order"; or counting the probability of the upper string in all motion vectors of the current frame, if the hit rate of the upper string is less than or equal to the threshold A, the value of the motion vector parameter "whether to encode the upper string identifier" is no, otherwise it is yes; or counting the number of bits obtained by the direct coding and predictive coding schemes of all motion vectors of the current frame, and selecting the scheme with the least number of bits as the value of the motion vector parameter "direct coding or predictive coding scheme".

[0093] In a specific implementation, in step 2, there are multiple modes of motion vectors, and all motion vectors may be encoded, or some motion vectors may be encoded. Partial motion vectors refer to encoding motion vectors of some modes (e.g., only motion vectors of the IBC mode are encoded and decoded using different motion vector encoding and decoding schemes, and motion vectors of other modes are encoded and decoded using existing methods), or encoding some vectors of some modes, such as encoding motion vectors of non-upper vectors of the ISC mode.

[0094] like Figure 3As shown, the encoding method of this embodiment is used for testing, ArenaOfValor_1920x1080_60_8bit, etc. are the names of AVS standard test sequences, G / Y, B / U, R / V, C (Cpsnr) are international standard measurement indicators for coding efficiency (BD-rate, a negative value indicates an improvement in coding efficiency, and a positive value indicates a reduction in coding efficiency); it can be seen that the BD-rate reduction rate of the Y component can reach up to -1.27%, and the average reduction rate is -0.28%, and the coding efficiency is improved.

[0095] A coding device using different motion vectors for different frames, comprising:

[0096] Motion vector parameter value acquisition module: obtain at least one motion vector parameter value according to the motion vector statistics method of the current frame or the historical frame; motion vector parameter value encoding module: encode the motion vector parameter value and write it into the data code stream; motion vector encoding module: input the current frame motion vector, and encode the motion vector according to the motion vector parameter value; motion vector code stream output module: output the data code stream containing the current frame motion vector.

[0097] like Figure 2 As shown, a decoding method using different motion vectors for different frames includes:

[0098] Step 1, inputting a data bit stream containing at least one motion vector parameter in the frame level parameters;

[0099] Step 2, decoding to obtain at least one motion vector parameter value;

[0100] Step 3, for each decoding unit of the current frame, decode the motion vector according to the motion vector parameter value obtained in step 2, and output the motion vector of the current decoding unit;

[0101] Step 4: decode all frames according to the operation of step 3.

[0102] A decoding device using different motion vectors for different frames, comprising:

[0103] Motion vector parameter decoding module: inputs a data bitstream containing a bitstream of motion vector parameters, and decodes to obtain one or more motion vector parameter values;

[0104] Current frame motion vector decoding module: inputs the data code stream of the current frame motion vector, and decodes the motion vector according to the above one or more motion vector parameter values;

[0105] Output module of current frame motion vector: outputs current frame motion vector.

[0106] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A coding method using different motion vectors for different frames, characterized in that: include: Step 1, encoding frame-level parameters: for each frame, at least one motion vector parameter value is obtained according to the motion vector statistics method of the current frame or the historical frame, and the obtained motion vector parameter value is written into the data bit stream; Step 2, coding unit level parameters: for each coding unit of the current frame, if the coding parameters of its coding mode include motion vectors, encode part or all of the motion vectors according to the motion vector parameter values ​​obtained in step 1, and output a data bitstream including the motion vector of the current coding unit; Step 3: Encode all frames according to the operation of step 2.

2. The encoding method for different frames using different motion vectors according to claim 1, characterized in that: The motion vector parameters include one or more of the exponential Golomb order, whether to encode the upper string identifier, and whether the motion vector in the pre-coding stage adopts direct encoding or predictive encoding. The corresponding motion vector parameter values ​​include one or more of the value of the exponential Golomb order, yes or no, and the number of bits obtained by the motion vector encoding scheme in the pre-coding stage.

3. The encoding method for different frames using different motion vectors according to claim 2, characterized in that: When the motion vector parameter value includes the value of the exponential Golomb order, the number of bits of all motion vector estimates of the current frame using different exponential Golomb orders is counted, and the exponential Golomb order with the least number of bits is selected as the motion vector parameter value.

4. A coding device using different motion vectors for different frames, characterized in that: include Motion vector parameter value acquisition module: obtains at least one motion vector parameter value according to a motion vector statistical method of a current frame or a historical frame; Motion vector parameter value encoding module: encodes the motion vector parameter value and writes it into the data code stream; Motion vector encoding module: input the current frame motion vector and encode the motion vector according to the motion vector parameter value; Motion vector code stream output module: outputs data code stream containing the motion vector of the current frame.

5. The encoding device for using different motion vectors for different frames according to claim 4, characterized in that: The motion vector parameters include one or more of the exponential Golomb order, whether to encode the upper string identifier, and whether the motion vector in the pre-coding stage adopts direct encoding or predictive encoding. The corresponding motion vector parameter values ​​include one or more of the value of the exponential Golomb order, yes or no, and the number of bits obtained by the motion vector encoding scheme in the pre-coding stage.

6. The encoding device for using different motion vectors for different frames according to claim 5, characterized in that: When the motion vector parameter value includes the value of the exponential Golomb order, the number of bits of all motion vector estimates of the current frame using different exponential Golomb orders is counted, and the exponential Golomb order with the least number of bits is selected as the motion vector parameter value.

7. A decoding method using different motion vectors for different frames, characterized in that: include: Step 1, inputting a data bit stream containing at least one motion vector parameter in the frame level parameters; Step 2, decoding to obtain at least one motion vector parameter value; Step 3, for each decoding unit of the current frame, decode the motion vector according to the motion vector parameter value obtained in step 2, and output the motion vector of the current decoding unit; Step 4: decode all frames according to the operation of step 3.

8. The decoding method for different frames using different motion vectors according to claim 7, characterized in that: The motion vector parameters include one or more of the exponential Golomb order, whether to encode the upper string identifier, and whether the motion vector in the pre-coding stage adopts direct encoding or predictive encoding. The corresponding motion vector parameter values ​​include one or more of the value of the exponential Golomb order, yes or no, and the number of bits obtained by the motion vector encoding scheme in the pre-coding stage.

9. The decoding method for different frames using different motion vectors according to claim 8, characterized in that: When the motion vector parameter value includes the value of the exponential Golomb order, the number of bits of all motion vector estimates of the current frame using different exponential Golomb orders is counted, and the exponential Golomb order with the least number of bits is selected as the motion vector parameter value.

10. A decoding device using different motion vectors for different frames, characterized in that: include Motion vector parameter decoding module: inputs a data bitstream containing a bitstream of motion vector parameters, and decodes to obtain one or more motion vector parameter values; Current frame motion vector decoding module: inputs the data code stream of the current frame motion vector, and decodes the motion vector according to the above one or more motion vector parameter values; Output module of current frame motion vector: outputs current frame motion vector.

11. The decoding device for using different motion vectors for different frames according to claim 10, characterized in that: The motion vector parameters include one or more of the exponential Golomb order, whether to encode the upper string identifier, and whether the motion vector in the pre-coding stage adopts direct encoding or predictive encoding. The corresponding motion vector parameter values ​​include one or more of the value of the exponential Golomb order, yes or no, and the number of bits obtained by the motion vector encoding scheme in the pre-coding stage.

12. The decoding device for using different motion vectors for different frames according to claim 11, characterized in that: When the motion vector parameter value includes the value of the exponential Golomb order, the number of bits of all motion vector estimates of the current frame using different exponential Golomb orders is counted, and the exponential Golomb order with the least number of bits is selected as the motion vector parameter value.