CN102227132B - Motion vector prediction coding and decoding method, apparatus thereof and coding and decoding system - Google Patents

Motion vector prediction coding and decoding method, apparatus thereof and coding and decoding system Download PDF

Info

Publication number
CN102227132B
CN102227132B CN201110139043.4A CN201110139043A CN102227132B CN 102227132 B CN102227132 B CN 102227132B CN 201110139043 A CN201110139043 A CN 201110139043A CN 102227132 B CN102227132 B CN 102227132B
Authority
CN
China
Prior art keywords
motion vector
motion
vector
current block
candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201110139043.4A
Other languages
Chinese (zh)
Other versions
CN102227132A (en
Inventor
徐苏珊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yunzhou Multimedia Technology Co., Ltd.
Original Assignee
SHENZHEN YUNZHOU MULTIMEDIA TECHNOLOGY Co Ltd
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 SHENZHEN YUNZHOU MULTIMEDIA TECHNOLOGY Co Ltd filed Critical SHENZHEN YUNZHOU MULTIMEDIA TECHNOLOGY Co Ltd
Priority to CN201110139043.4A priority Critical patent/CN102227132B/en
Priority to PCT/CN2011/076186 priority patent/WO2012159288A1/en
Publication of CN102227132A publication Critical patent/CN102227132A/en
Application granted granted Critical
Publication of CN102227132B publication Critical patent/CN102227132B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/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

Landscapes

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

Abstract

The invention discloses a motion vector prediction coding and decoding method, an apparatus thereof and a coding and decoding system, relating to the video coding and decoding field. The method comprises the following steps: through constructing a specific motion vector candidate set, carrying out simulation decoding at a coding terminal according to the specific motion vector candidate set; comparing an optimal motion vector predicted value selected from the candidate motion vector set and an optimal motion vector analog value in the simulation decoding; determining whether to add a description indicating a position sequence number of the optimal motion vector analog value in the candidate motion vector set in an output code flow; through detecting whether received code flow data contains the motion vector position sequence number or not, employing different decoding method with a decoding terminal. According to the invention, through space and time correlation, predicted value of the motion vector is more accurately selected, code rate of coding motion vector difference is reduced, motion vector data can be more finely compressed, and output code rate is reduced.

Description

A kind of motion-vector prediction decoding method, device and coding/decoding system
Technical field
The present invention relates to coding and decoding video field, more particularly to a kind of motion-vector prediction decoding method, device and volume Solution code system.
Background technology
As Video Applications are constantly carried out, video encoding standard and algorithm are also developed rapidly, such as newest video Coding standard H264 compares traditional coding standard such as H263 picture compression efficiencies and has and greatly lifted, but while also brings New problem.In new video encoding standard, Image Coding Algorithms are finer, and the division to view data is also less and less, Such as H264 is exactly 4x4 to brightness data minimal processing unit.Advantage of this is that in inter predication process, can be lifted The accuracy of motion prediction.Weak point is that becoming more meticulous for data processing unit brings the increase of motion vector, needs to expend big The data of amount cause the increase of code check transmitting motion vector, and this deficiency is especially projected in low bit-rate video compression, according to system Meter about 20% to 30% data in low bit-rate video stream are for transmitting motion vector.
The content of the invention
The purpose of the embodiment of the present invention is to propose a kind of motion-vector prediction coded method, it is intended to solves prior art and exists In low bit-rate video compression, becoming more meticulous for data processing unit brings the increase of motion vector, causes the increase problem of code check.
A kind of motion-vector prediction coded method of the embodiment of the present invention is achieved in that methods described includes:
Obtain the motion vector (mv) of the current block after motion prediction;
Build the set of candidate motion vectors for motion-vector prediction coding;
Optimal motion vector predictor (mv is chosen from set of candidate motion vectorsbest);
Ask for the motion vector difference (mvd) of current block motion vector and the optimal motion vector predictor.
Preferably, after step asks for the motion vector difference of current block motion vector and the optimal motion vector predictor Also include step:
Motion vector is simulated in coding side and is decoded, to obtain the optimal motion vector analogue value (mvdec)。
Preferably, after step asks for the motion vector difference of current block motion vector and the optimal motion vector predictor Also include step:
The motion vector difference (mvd) is entropy encoded module coding to send to decoding end.
Second purpose of the embodiment of the present invention is to propose a kind of motion-vector prediction code device, and described device includes:
Motion vector acquisition module, for obtaining the motion vector of the current block after motion prediction;
Set of candidate motion vectors builds module, for building the set of candidate motion vectors for motion-vector prediction coding; Specially:Choose motion vector mv of the current block left side adjacent to a blockA, directly over current block block motion vector mvB, it is current The motion vector mv of block upper right squareC, the predicted motion vector mv that obtained using H264 methods of current blockh264, present frame former frame The motion vector mv of same position blockD, current block motion vector mv point to reference block motion vector mvE, constitute Candidate Motion Vector set
[mvA mvB mvC mvh264 mvD mvE], each candidate motion vector has which in set of candidate motion vectors Specific position number;
Optimal motion vector predictor chooses module, for optimal motion vector prediction is chosen from set of candidate motion vectors Value, which includes motion-vector prediction differential bits number computing module, motion vector difference selecting module;
Motion-vector prediction differential bits number computing module, for the bit that calculation code motion-vector prediction difference needs Number R (mv-mvP), wherein, mvP∈[mvA mvB mvC mvh264 mvD mvE], wherein mv is current block motion vector, mvPIt is fortune The predictive value of dynamic vector, mvPValue select in the set of candidate motion vectors;
Motion vector difference bit number selecting module, for selecting to cause encoding motion vector difference bit number R (mv-mvP) most Little motion vector predictor mvPFor optimal motion vector predictor mvbest
Motion vector difference asks for module, for asking for current block motion vector mv and the optimal motion vector predictor mvbestMotion vector difference mvd, mvd=mv-mvbest
Preferably, described device is further included:
Motion vector difference sending module, sends to decoding for motion vector difference mvd is entropy encoded module coding End.
Preferably, described device is further included:
Analog codec module, asks for module with the motion vector difference and is connected, for carrying out to motion vector in coding side Analog codec, to obtain the optimal motion vector analogue value.
3rd purpose of the embodiment of the present invention is to propose a kind of motion-vector prediction coding/decoding method, and methods described includes:
Receive coding side transmitted stream data;
Whether position number of the motion vector in set of candidate motion vectors is included in the bit stream data that detection is received;
Motion vector position number is included whether according in bit stream data, decode in different ways.
, " whether including motion vector position number according in bit stream data, decode by the way of the different " tool Body is:
When the position number is included in the bit stream data, according to the motion vector position number, from motion arrow Optimal motion vector predictor mv is obtained in amount Candidate Setbest, what further decoding was calculated goes out current block motion vector mv, its In, mvd=mv-mvbest
When the position number is not included in the bit stream data, motion vector difference mvd to receiving is decoded Current block motion vector is calculated, wherein, mvd=mv-mvbest
4th purpose of the embodiment of the present invention is to propose a kind of motion-vector prediction decoding apparatus, and described device includes:
Data reception module, for receiving coding side transmitted stream data, the bit stream data includes motion vector difference And/or motion vector position number;
Motion vector position number detection module, for detecting in the bit stream data for receiving whether include motion vector position Sequence number, the motion vector position number are specific position number of the candidate motion vector in set of candidate motion vectors;
Decoder module, for when the position number of motion vector is not included in bit stream data, to the motion arrow for receiving Amount difference carries out decoding and calculates current block motion vector;It is additionally operable to when motion vector position number is included in bit stream data, According to the motion vector position number, concentrate from motion vector candidates and obtain optimal motion vector predictor, further decode What is calculated goes out current block motion vector.
5th purpose of the embodiment of the present invention is to propose a kind of motion-vector prediction coding/decoding system, the system bag Include the motion-vector prediction code device and the motion-vector prediction decoding apparatus.
Beneficial effects of the present invention
The embodiment of the present invention by building a set of motion vector analog codec module in coding side, by room and time phase Closing property more accurately selects the predictive value of motion vector, reduces the code check of encoding motion vector difference, more subtly can compress Motion vector data, reduces the code check of output.
Description of the drawings
Fig. 1 is a kind of motion-vector prediction coded method flow chart of the embodiment of the present invention;
Fig. 2 is motion vector to be simulated in coding side in Fig. 1 methods to decode, to obtain the optimal motion vector analogue value Method flow diagram;
Fig. 3 is the candidate motion vector when current block enumerated in the embodiment of the present invention is located at the 1st row row k of present frame The location drawing;
Fig. 4 is a kind of motion-vector prediction code device structural representation of the embodiment of the present invention;
Concrete modular structure schematic diagrams of the Fig. 5 for the analog codec module in Fig. 4 devices;
Fig. 6 is a kind of motion-vector prediction coding/decoding method flow chart of the embodiment of the present invention;
Fig. 7 is a kind of motion-vector prediction decoding apparatus structural representation of the embodiment of the present invention;
Fig. 8 is a kind of motion-vector prediction coding/decoding system structural representation of the embodiment of the present invention.
Specific embodiment
In order that the objects, technical solutions and advantages of the present invention become more apparent, it is below in conjunction with drawings and Examples, right The present invention is further elaborated, and for convenience of description, illustrate only the part related to the embodiment of the present invention.Should manage Solution, the specific embodiment that this place is described are used only for explaining the present invention, not to limit the present invention.
The embodiment of the present invention by building a set of motion vector analog codec module in coding side, by room and time phase Closing property more accurately selects the predictive value of motion vector, reduces the code check of encoding motion vector difference, more subtly can compress Motion vector data, reduces the code check of output.
Embodiment one
Fig. 1 is a kind of motion-vector prediction coded method flow chart of the embodiment of the present invention, be the method comprising the steps of:
S101, obtains the motion vector mv of the current block after motion prediction;
S102, builds the set of candidate motion vectors for motion-vector prediction coding;
Described " building the set of candidate motion vectors for motion-vector prediction coding " concrete grammar is:Choose current block left While adjacent to the motion vector mv of a blockA, directly over current block block motion vector mvB, current block upper right square motion vector mvC, the predicted motion vector mv that obtained using H264 methods of current blockh264, present frame former frame same position block motion vector mvD, current block motion vector mv point to reference block motion vector mvE, constitute set of candidate motion vectors
[mvA mvB mvC mvh264 mvD mvE], each candidate motion vector has which in set of candidate motion vectors Specific position number, for example:mvAPosition number in set of candidate motion vectors can be 1, mvDIn set of candidate motion vectors In position number can be 5.
The candidate motion vector location drawing being illustrated in figure 3 when the current block enumerated is located at the 1st row row k of present frame. As shown in figure 3, the motion vector of current block is mv, the motion vector of current block left side block is mvA, the fortune of block directly over current block Dynamic vector is mvB, the motion vector of current block upper right square is mvC;Present frame former frame same position (the 1st row row k) block Motion vector is mvD, the motion vector of the reference block that current block motion vector mv is pointed to is mvE
S103, chooses optimal motion vector predictor mv from set of candidate motion vectorsbest
It is described " to choose optimal motion vector predictor mvbest" concrete grammar it is as follows:
S1031, the bit number R (mv-mv that calculation code motion-vector prediction difference needsP);
Wherein, mvP∈[mvA mvB mvC mvh264 mvD mvE], wherein mv is current block motion vector, mvPIt is motion arrow The predictive value of amount, mvPValue select in the set of candidate motion vectors.
S1032, selects to cause encoding motion vector difference bit number R (mv-mvP) minimum motion vector predictor mvPFor most Excellent motion vector predictor mvbest
S104, asks for current block motion vector mv and optimal motion vector predictor mvbestMotion vector difference Mvd, mvd=mv-mvbest
Motion vector difference mvd is entropy encoded module coding and is sent to decoding end by S106.
The embodiment of the present invention more accurately selects the predictive value of motion vector by room and time dependency, reduces volume The code check of code motion vector difference.
In order to further reduce the code check that transmission motion vector prediction mode needs, can also increase after step s 104 Following steps:
S105, is simulated to motion vector in coding side and decodes, to obtain the optimal motion vector analogue value;
Fig. 2 is that the coding side is simulated decoding, the method to obtain the optimal motion vector analogue value to motion vector Flow chart;
Described " be simulated to motion vector and decode, to obtain the optimal motion vector analogue value " concrete grammar is:
S1051, selects motion vector predictor mv successively from the set of candidate motion vectorsP
S1052, builds temporary movement vector mvi, mvi=mvd+mvp;
S1053, obtains current reconstructed image block number according to YR, YR=ZR+XR
Wherein:
ZRFor the prediction data of current block image, which is to carry out motion compensation acquisition by the temporary movement vector mvi 's;
XRFor residual error data, which is to carry out motion compensation acquisition by current block motion vector mv.
S1054, builds coefficient of variation Ed
Wherein,
Y (i, j) be the i-th row jth row reconstructed image data, current reconstructed image block
Data YRFirst, middle upper left corner data be origin, with y (0,0) represent, m and n is the length and width of current block;
Y (i, -1) represents current reconstructed image block number according to YROne column data of the left side, wherein the value of i is from 0 to n-1;
(- 1, the current reconstructed image block number for j) representing is according to Y for yRThe value of top data line, wherein j is from 1 to m-1;
S1055, selection make coefficient of variation EdMinimum motion vector predictor mvPFor the decoding optimal motion arrow for simulating Amount analogue value mvdec
If optimal motion vector analogue value mvdecEqual to optimal motion vector predictor mvdest, in known mvd and mvbestIn the case of, decoding end can directly according to formula mvd=mv-mv in decodingbestThe motion vector mv of current block is drawn, Then coding side need not increase in output code flow and indicate position of the optimal motion vector predictor in set of candidate motion vectors The description of sequence number;
If optimal motion vector analogue value mvdecIt is not equal to optimal motion vector predictor mvbest, decoding end without Method correctly selects optimal motion vector predictor mvbest, then coding side need in output code flow increase indicate optimal motion swear Amount predictive value mvbestThe description of the position number in set of candidate motion vectors;Decoding end is obtained most according to the position number Excellent motion vector predictor mvbest;In known mvd and mvbestIn the case of, so as to further according to formula mvd=mv-mvbest Draw the motion vector mv of current block.
The embodiment of the present invention proposes a kind of motion-vector prediction coded method, more accurate by room and time dependency Ground selects the predictive value of motion vector, reduces the code check of encoding motion vector difference, can more subtly compressing motion vector number According to the code check of reduction output.
Embodiment two
Fig. 4 is a kind of motion-vector prediction code device structural representation of the embodiment of the present invention, the motion-vector prediction Code device includes:
Motion vector acquisition module, for obtaining the motion vector of the current block after motion prediction;
Set of candidate motion vectors builds module, for building the set of candidate motion vectors for motion-vector prediction coding; Specially:Choose motion vector mv of the current block left side adjacent to a blockA, directly over current block block motion vector mvB, it is current The motion vector mv of block upper right squareC, the predicted motion vector mv that obtained using H264 methods of current blockh264, present frame former frame The motion vector mv of same position blockD, current block motion vector mv point to reference block motion vector mvE, constitute Candidate Motion Vector set [mvA mvB mvC mvh264 mvD mvE], each candidate motion vector has which special in set of candidate motion vectors Fixed position number.
Optimal motion vector predictor chooses module, for optimal motion vector prediction is chosen from set of candidate motion vectors Value, which includes motion-vector prediction differential bits number computing module, motion vector difference selecting module;
Motion-vector prediction differential bits number computing module, for the bit that calculation code motion-vector prediction difference needs Number R (mv-mvP), wherein, mvP∈[mvA mvB mvC mvh264 mvD mvE], wherein mv is current block motion vector, mvPIt is The predictive value of motion vector, mvPValue select in the set of candidate motion vectors;
Motion vector difference bit number selecting module, for selecting to cause encoding motion vector difference bit number R (mv-mvP) most Little motion vector predictor mvPFor optimal motion vector predictor mvbest
Motion vector difference asks for module, for asking for current block motion vector mv and the optimal motion vector predictor mvbestMotion vector difference mvd, mvd=mv-mvbest
Further, the motion-vector prediction code device may also include:
Motion vector difference sending module, sends to decoding for motion vector difference mvd is entropy encoded module coding End;
Further, the motion-vector prediction code device can also include analog codec module, be institute as described in Figure 5 State the concrete modular structure schematic diagram of analog codec module.
Analog codec module, asks for module with the motion vector difference and is connected, for carrying out to motion vector in coding side Analog codec, to obtain the optimal motion vector analogue value;
The analog codec module further includes that motion vector predictor is chosen module, temporary movement vector and builds mould Block, reconstructed image block data acquisition module, coefficient of variation build module, the optimal motion vector analogue value and choose module, optimum fortune Dynamic vector position number writing module;
Motion vector predictor chooses module, for selecting motion-vector prediction from the set of candidate motion vectors successively Value mvP
Temporary movement vector builds module, for building temporary movement vector mvi, mvi=mvd+mvp;Wherein mvd is to work as The motion vector difference of front block motion vector and the optimal motion vector predictor, mvd=mv-mvbest
Reconstructed image block data acquisition module, for obtaining current reconstructed image block number according to YR, YR=ZR+XR
Wherein:ZRFor the prediction data of current block image, which is to carry out motion compensation by the temporary movement vector mvi Obtain;
XRFor residual error data, which is to carry out motion compensation acquisition by current block motion vector mv.Coefficient of variation builds Module, builds coefficient of variation E for askingd
Wherein,
Y (i, j) is the reconstructed image data of the i-th row jth row, and current reconstructed image block number is according to YRThe first number of the middle upper left corner According to for origin, with y (0,0) represent, m and n is the length and width of current block;
Y (i, -1) represents current reconstructed image block number according to YROne column data of the left side, wherein the value of i is from 0 to n-1;
(- 1, the current reconstructed image block number for j) representing is according to Y for yRThe value of top data line, wherein j is from 1 to m-1;
The optimal motion vector analogue value chooses module, for selecting to make coefficient of variation EdMinimum motion vector predictor mvP For decoding optimal motion vector analogue value mv for simulatingdec
Optimal motion vector position sequence number writing module, if for when optimal motion vector analogue value mvdec In optimal motion vector predictor mvbest, increase in output code flow and indicate optimal motion vector predictor mvbestTransport in candidate The description of the position number that dynamic vector is concentrated.
The embodiment of the present invention more accurately selects the predictive value of motion vector by room and time dependency, reduces coding The code check of motion vector difference, can more subtly compressing motion vector data, reduce the code check of output.
Embodiment three
Fig. 6 show a kind of motion-vector prediction coding/decoding method flow chart of the embodiment of the present invention, and methods described includes:
S601, receives coding side transmitted stream data;
Whether S602, include motion vector position number in detecting the bit stream data for receiving, and is then to enter step S603, no Step S604 is entered then
The motion vector position number is specific position number of the candidate motion vector in set of candidate motion vectors;
S603, according to the motion vector position number, concentrates from motion vector candidates and obtains optimal motion vector prediction Value mvbest, what further decoding was calculated goes out current block motion vector mv;
Wherein, mvd=mv-mvbest
S604, motion vector difference mvd to receiving carry out decoding and calculate current block motion vector;
Wherein, mvd=mv-mvbest
The bit stream data includes motion vector difference mvd and/or motion vector position number;
The set of candidate motion vectors is built by coding side, specially:Choose motion of the current block left side adjacent to a block Vector mvA, directly over current block block motion vector mvB, current block upper right square motion vector mvC, current block use H264 The predicted motion vector mv that method is obtainedh264, present frame former frame same position block motion vector mvD, current block motion vector The motion vector mv of the reference block that mv is pointed toE, constitute set of candidate motion vectors [mvA mvB mvC mvh264 mvD mvE], it is each Individual candidate motion vector has its specific position number in set of candidate motion vectors, the motion vector collection by coding side and Decoding end is safeguarded jointly;
The motion vector position number is specific position number of the candidate motion vector in set of candidate motion vectors.
Example IV
Fig. 7 is a kind of motion-vector prediction decoding apparatus structural representation of the embodiment of the present invention.
The motion-vector prediction decoding apparatus include data reception module, motion vector position number detection module, solution Code module;
Data reception module, for receiving coding side transmitted stream data, the bit stream data includes motion vector difference And/or motion vector position number;
Motion vector position number detection module, for detecting in the bit stream data for receiving whether include motion vector position Sequence number, the motion vector position number are specific position number of the candidate motion vector in set of candidate motion vectors;
Decoder module, for when the position number of motion vector is not included in bit stream data, to the motion arrow for receiving Amount difference carries out decoding and calculates current block motion vector;It is additionally operable to when motion vector position number is included in bit stream data, According to the motion vector position number, concentrate from motion vector candidates and obtain optimal motion vector predictor, further decode What is calculated goes out current block motion vector.
The set of candidate motion vectors is built by coding side, specially:Choose motion of the current block left side adjacent to a block Vector mvA, directly over current block block motion vector mvB, current block upper right square motion vector mvC, current block use H264 The predicted motion vector mv that method is obtainedh264, present frame former frame same position block motion vector mvD, current block motion vector The motion vector mv of the reference block that mv is pointed toE, constitute set of candidate motion vectors [mvA mvB mvC mvh264 mvD mvE], it is each Individual candidate motion vector has its specific position number in set of candidate motion vectors, the motion vector collection by coding side and Decoding end is safeguarded jointly;
The motion vector position number is specific position number of the candidate motion vector in set of candidate motion vectors.
Implement five
Fig. 8 be a kind of motion-vector prediction coding/decoding system structural representation of the embodiment of the present invention, the system include fortune Dynamic vector predictive coding apparatus, motion-vector prediction decoding apparatus.
The motion-vector prediction code device includes:
Motion vector acquisition module, for obtaining the motion vector of the current block after motion prediction;
Set of candidate motion vectors builds module, for building the set of candidate motion vectors for motion-vector prediction coding; Specially:Choose motion vector mv of the current block left side adjacent to a blockA, directly over current block block motion vector mvB, it is current The motion vector mv of block upper right squareC, the predicted motion vector mv that obtained using H264 methods of current blockh264, present frame former frame The motion vector mv of same position blockD, current block motion vector mv point to reference block motion vector mvE, constitute Candidate Motion Vector set [mvA mvB mvC mvh264 mvD mvE], each candidate motion vector has which special in set of candidate motion vectors Fixed position number;
Optimal motion vector predictor chooses module, for optimal motion vector prediction is chosen from set of candidate motion vectors Value, which includes motion-vector prediction differential bits number computing module, motion vector difference selecting module;
Motion-vector prediction differential bits number computing module, for the bit that calculation code motion-vector prediction difference needs Number R (mv-mvP), wherein, mvP∈[mvA mvB mvC mvh264 mvD mvE], wherein mv is current block motion vector, mvPIt is fortune The predictive value of dynamic vector, mvPValue select in the set of candidate motion vectors;
Motion vector difference bit number selecting module, for selecting to cause encoding motion vector difference bit number R (mv-mvP) most Little motion vector predictor mvPFor optimal motion vector predictor mvbest
Motion vector difference asks for module, for asking for current block motion vector mv and the optimal motion vector predictor mvbestMotion vector difference mvd, mvd=mv-mvbest
Further, the motion-vector prediction code device may also include:
Motion vector difference sending module, sends to decoding for motion vector difference mvd is entropy encoded module coding End;
Further, the motion-vector prediction code device can also include analog codec module, be institute as described in Figure 5 State the concrete modular structure schematic diagram of analog codec module.
Analog codec module, asks for module with the motion vector difference and is connected, for carrying out to motion vector in coding side Analog codec, to obtain the optimal motion vector analogue value;
The analog codec module further includes that motion vector predictor is chosen module, temporary movement vector and builds mould Block, reconstructed image block data acquisition module, coefficient of variation build module, the optimal motion vector analogue value and choose module, optimum fortune Dynamic vector position number writing module.
Motion vector predictor chooses module, for selecting motion-vector prediction from the set of candidate motion vectors successively Value mvP
Temporary movement vector builds module, for building temporary movement vector mvi, mvi=mvd+mvp;Wherein mvd is to work as The motion vector difference of front block motion vector and the optimal motion vector predictor, mvd=mv-mvbest
Reconstructed image block data acquisition module, for obtaining current reconstructed image block number according to YR, YR=ZR+XR
Wherein:ZRFor the prediction data of current block image, which is to carry out motion compensation by the temporary movement vector mvi Obtain;
XRFor residual error data, which is to carry out motion compensation acquisition by current block motion vector mv.Coefficient of variation builds Module, builds coefficient of variation E for askingd
Wherein,
Y (i, j) is the reconstructed image data of the i-th row jth row, and current reconstructed image block number is according to YRThe first number of the middle upper left corner According to for origin, with y (0,0) represent, m and n is the length and width of current block;
Y (i, -1) represents current reconstructed image block number according to YROne column data of the left side, wherein the value of i is from 0 to n-1;
(- 1, the current reconstructed image block number for j) representing is according to Y for yRThe value of top data line, wherein j is from 1 to m-1;
The optimal motion vector analogue value chooses module, for selecting to make coefficient of variation EdMinimum motion vector predictor mvP For decoding optimal motion vector analogue value mv for simulatingdec
Optimal motion vector position sequence number writing module, if for for when optimal motion vector analogue value mvdec It is not equal to optimal motion vector predictor mvbest, increase in output code flow and indicate optimal motion vector predictor mvbestWaiting Select the description of the position number of motion vector concentration.
The motion-vector prediction decoding apparatus include data reception module, motion vector position number detection module, solution Code module;
Data reception module, for receiving coding side transmitted stream data, the bit stream data includes motion vector difference And/or motion vector position number;
Motion vector position number detection module, for detecting in the bit stream data for receiving whether include motion vector position Sequence number, the motion vector position number are specific position number of the candidate motion vector in set of candidate motion vectors;
Decoder module, for when the position number of motion vector is not included in bit stream data, to the motion arrow for receiving Amount difference carries out decoding and calculates current block motion vector;It is additionally operable to when motion vector position number is included in bit stream data, According to the motion vector position number, concentrate from motion vector candidates and obtain optimal motion vector predictor, further decode What is calculated goes out current block motion vector.
The set of candidate motion vectors is built by coding side, specially:Choose motion of the current block left side adjacent to a block Vector mvA, directly over current block block motion vector mvB, current block upper right square motion vector mvC, current block use H264 The predicted motion vector mv that method is obtainedh264, present frame former frame same position block motion vector mvD, current block motion vector The motion vector mv of the reference block that mv is pointed toE, constitute set of candidate motion vectors [mvA mvB mvC mvh264 mvD mvE], it is each Individual candidate motion vector has its specific position number in set of candidate motion vectors, the motion vector collection by coding side and Decoding end is safeguarded jointly;
The motion vector position number is specific position number of the candidate motion vector in set of candidate motion vectors.
The embodiment of the present invention more accurately selects the predictive value of motion vector by room and time dependency, reduces coding The code check of motion vector difference, can more subtly compressing motion vector data, reduce the code check of output.
It will be understood by those skilled in the art that all or part of step in realizing above-described embodiment method is can Complete with by programmed instruction related hardware, described program can be stored in a computer read/write memory medium, Described storage medium can be ROM, RAM, disk, CD etc..
Presently preferred embodiments of the present invention is the foregoing is only, not to limit the present invention, all essences in the present invention Any modification, equivalent and improvement made within god and principle etc., should be included within the scope of the present invention.

Claims (10)

1. a kind of motion-vector prediction coded method, methods described include:
Obtain the motion vector (mv) of the current block after motion prediction;
Build the set of candidate motion vectors for motion-vector prediction coding;
Optimal motion vector predictor (mv is chosen from set of candidate motion vectorsbest);
Ask for the motion vector difference (mvd) of current block motion vector and the optimal motion vector predictor;
To send to decoding end after the motion vector difference (mvd) entropy code;
Characterized in that,
Described " building the set of candidate motion vectors for motion-vector prediction coding " concrete grammar is:Choose the current block left side adjacent Motion vector (the mv of a nearly blockA), directly over current block block motion vector (mvB), the motion vector of current block upper right square (mvC), the predicted motion vector (mv that obtained using H264 methods of current blockh264), the motion of present frame former frame same position block Vector (mvD), current block motion vector point to reference block motion vector (mvE), constitute set of candidate motion vectors ([mvA mvB mvC mvh264 mvD mvE]);
Step also includes step after asking for the motion vector difference of current block motion vector and the optimal motion vector predictor:
Motion vector is simulated in coding side and is decoded, to obtain the optimal motion vector analogue value (mvdec);
" be simulated to motion vector in coding side and decode, to obtain the optimal motion vector analogue value " is specially:
Motion vector predictor mv is selected from the set of candidate motion vectors successivelyP
Build temporary movement vector mvi, mvi=mvd+mvp;
Current reconstructed image block number is obtained according to YR, YR=ZR+XR
Wherein:ZRFor the prediction data of current block image, which is to carry out motion compensation acquisition by the temporary movement vector mvi 's;XRFor residual error data, which is to carry out motion compensation acquisition by current block motion vector mv;
Build coefficient of variation Ed
Wherein,
Y (i, j) is the reconstructed image data of the i-th row jth row, and current reconstructed image block number is according to YRFirst, middle upper left corner data are Origin, with y (0,0) represent, m and n is the length and width of current block;
Y (i, -1) represents current reconstructed image block number according to YROne column data of the left side, wherein the value of i is from 0 to n-1;
(- 1, the current reconstructed image block number for j) representing is according to Y for yRThe value of top data line, wherein j is from 1 to m-1;
Selection makes coefficient of variation EdMinimum motion vector predictor mvPFor the decoding optimal motion vector analogue value for simulating mvdec
2. motion-vector prediction coded method as claimed in claim 1, it is characterised in that described from set of candidate motion vectors Choose optimal motion vector predictor to be specially:
Bit number (R (the mv-mv that calculation code motion-vector prediction difference needsP));
Select to cause encoding motion vector difference bit number (R (mv-mvP)) minimum motion vector predictor (mvP) for optimal motion Vector predictor (mvbest);
Wherein, mvPIt is the predictive value of motion vector, mvPValue select in the set of candidate motion vectors, mv be current block fortune Dynamic vector.
3. motion-vector prediction coded method as claimed in claim 1, it is characterised in that described " selection makes coefficient of variation EdMost Little motion vector predictor mvPFor decoding optimal motion vector analogue value mv for simulatingdec" also include:
If optimal motion vector analogue value mvdecEqual to optimal motion vector predictor mvbest, then coding side need not be Increase the description for indicating position number of the optimal motion vector predictor in set of candidate motion vectors in output code flow;
If optimal motion vector analogue value mvdecIt is not equal to optimal motion vector predictor mvbest, then coding side need exist Increase in output code flow and indicate optimal motion vector predictor mvbestThe description of the position number in set of candidate motion vectors mv。
4. a kind of motion-vector prediction code device, it is characterised in that described device includes:
Motion vector acquisition module, for obtaining the motion vector of the current block after motion prediction;
Set of candidate motion vectors builds module, for building the set of candidate motion vectors for motion-vector prediction coding;Specifically For:Choose motion vector mv of the current block left side adjacent to a blockA, directly over current block block motion vector mvB, current block it is right The motion vector mv of upper blockC, the predicted motion vector mv that obtained using H264 methods of current blockh264, present frame former frame phase With the motion vector mv of block of locationsD, current block motion vector mv point to reference block motion vector mvE, constitute Candidate Motion arrow Quantity set [mvA mvB mvC mvh264 mvD mvE], each candidate motion vector has which specific in set of candidate motion vectors Position number;
Optimal motion vector predictor chooses module, for optimal motion vector predictor is chosen from set of candidate motion vectors, Which includes motion-vector prediction differential bits number computing module, motion vector difference selecting module;
Motion-vector prediction differential bits number computing module, for the bit number R that calculation code motion-vector prediction difference needs (mv-mvP), wherein, mvP∈[mvA mvB mvC mvh264 mvD mvE], wherein mv is current block motion vector, mvPIt is motion The predictive value of vector, mvPValue select in the set of candidate motion vectors;
Motion vector difference bit number selecting module, for selecting to cause encoding motion vector difference bit number R (mv-mvP) minimum fortune Dynamic vector predictive value mvPFor optimal motion vector predictor mvbest
Motion vector difference asks for module, for asking for current block motion vector mv and optimal motion vector predictor mvbest's Motion vector difference mvd, mvd=mv-mvbest
Described device is further included:
Analog codec module, asks for module with the motion vector difference and is connected, for being simulated to motion vector in coding side Decoding, to obtain the optimal motion vector analogue value;
The analog codec module includes:
Motion vector predictor chooses module, for selecting motion vector predictor from the set of candidate motion vectors successively mvP
Temporary movement vector builds module, for building temporary movement vector mvi, mvi=mvd+mvp;Wherein mvd is current block The motion vector difference of motion vector and the optimal motion vector predictor, mvd=mv-mvbest
Reconstructed image block data acquisition module, for obtaining current reconstructed image block number according to YR, YR=ZR+XR,
Wherein:ZRFor the prediction data of current block image, which is to carry out motion compensation acquisition by the temporary movement vector mvi ,
XRFor residual error data, which is to carry out motion compensation acquisition by current block motion vector mv;
Coefficient of variation builds module, builds coefficient of variation E for askingd,
Wherein,
Y (i, j) is the reconstructed image data of the i-th row jth row, and current reconstructed image block number is according to YRFirst, middle upper left corner data are Origin, with y, (0,0) expression, m and n are the length and width of current block, and the current reconstructed image block number of y (i, -1) expressions is according to YRThe left side one , from 0 to n-1, (- 1, the current reconstructed image block number for j) representing is according to Y for y for the value of column data, wherein iRTop data line, wherein The value of j is from 1 to m-1;
The optimal motion vector analogue value chooses module, for selecting to make coefficient of variation EdMinimum motion vector predictor mvPFor mould Decoding optimal motion vector analogue value mv drawn updec
Optimal motion vector position sequence number writing module, if for for when optimal motion vector analogue value mvdec In optimal motion vector predictor mvbest, increase in output code flow and indicate optimal motion vector predictor mvbestTransport in candidate The description of the position number that dynamic vector is concentrated.
5. motion-vector prediction code device as claimed in claim 4, it is characterised in that described device is further included:
Motion vector difference sending module, sends to decoding end for motion vector difference mvd is entropy encoded module coding.
6. a kind of motion-vector prediction coding/decoding method, it is characterised in that methods described includes:
Receive coding side transmitted stream data;
Whether position number of the motion vector in set of candidate motion vectors is included in the bit stream data that detection is received;
Motion vector position number is included whether according in bit stream data, decode in different ways;
The set of candidate motion vectors is built by coding side, specially:Choose motion vector of the current block left side adjacent to a block mvA, directly over current block block motion vector mvB, current block upper right square motion vector mvC, current block use H264 methods The predicted motion vector mv for obtainingh264, present frame former frame same position block motion vector mvD, current block motion vector mv refers to To reference block motion vector mvE, constitute set of candidate motion vectors [mvA mvB mvC mvh264 mvD mvE]。
7. motion-vector prediction coding/decoding method as claimed in claim 6, it is characterised in that described " according in bit stream data to be It is no comprising motion vector position number, decode in different ways " be specially:
When the position number is included in the bit stream data, according to the motion vector position number, wait from motion vector Optimal motion vector predictor mv is obtained in selected worksbest, further decode and calculate current block motion vector mv, wherein, Mvd=mv-mvbest
When the position number is not included in the bit stream data, motion vector difference mvd to receiving carries out decoding calculating Current block motion vector is drawn, wherein, mvd=mv-mvbest
8. motion-vector prediction coding/decoding method as claimed in claims 6 or 7, it is characterised in that
The bit stream data includes motion vector difference mvd and/or motion vector position number;
Each candidate motion vector has its specific position number in set of candidate motion vectors, the motion vector collection by Coding side and decoding end are safeguarded jointly;
The motion vector position number is specific position number of the candidate motion vector in set of candidate motion vectors.
9. a kind of motion-vector prediction decoding apparatus, it is characterised in that described device includes:
Data reception module, for receiving coding side transmitted stream data, the bit stream data include motion vector difference and/or Motion vector position number;
Motion vector position number detection module, for detecting in the bit stream data for receiving whether include motion vector position-order Number, the motion vector position number is specific position number of the candidate motion vector in set of candidate motion vectors;
Decoder module, for when the position number of motion vector is not included in bit stream data, to the motion vector difference for receiving Carry out decoding and calculate current block motion vector;Be additionally operable to when in bit stream data include motion vector position number when, according to The motion vector position number, concentrates from motion vector candidates and obtains optimal motion vector predictor, and further decoding is calculated Go out current block motion vector;
The set of candidate motion vectors is built by coding side, specially:Choose motion vector of the current block left side adjacent to a block mvA, directly over current block block motion vector mvB, current block upper right square motion vector mvC, current block use H264 methods The predicted motion vector mv for obtainingh264, present frame former frame same position block motion vector mvD, current block motion vector mv refers to To reference block motion vector mvE, constitute set of candidate motion vectors [mvA mvB mvC mvh264 mvD mvE], each time Motion vector is selected to have its specific position number in set of candidate motion vectors, the motion vector collection is by coding side and decoding End is common to safeguard;
The motion vector position number is specific position number of the candidate motion vector in set of candidate motion vectors.
10. a kind of motion-vector prediction coding/decoding system, it is characterised in that the system includes claim 4 and claim 9 Described motion-vector prediction code device and motion-vector prediction decoding apparatus.
CN201110139043.4A 2011-05-25 2011-05-25 Motion vector prediction coding and decoding method, apparatus thereof and coding and decoding system Expired - Fee Related CN102227132B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110139043.4A CN102227132B (en) 2011-05-25 2011-05-25 Motion vector prediction coding and decoding method, apparatus thereof and coding and decoding system
PCT/CN2011/076186 WO2012159288A1 (en) 2011-05-25 2011-06-23 A motion vector prediction coding and decoding method, apparatus and coding and decoding system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110139043.4A CN102227132B (en) 2011-05-25 2011-05-25 Motion vector prediction coding and decoding method, apparatus thereof and coding and decoding system

Publications (2)

Publication Number Publication Date
CN102227132A CN102227132A (en) 2011-10-26
CN102227132B true CN102227132B (en) 2017-04-12

Family

ID=44808086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110139043.4A Expired - Fee Related CN102227132B (en) 2011-05-25 2011-05-25 Motion vector prediction coding and decoding method, apparatus thereof and coding and decoding system

Country Status (2)

Country Link
CN (1) CN102227132B (en)
WO (1) WO2012159288A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2820303C1 (en) * 2019-06-14 2024-06-03 ЭлДжи ЭЛЕКТРОНИКС ИНК. Method and device for encoding images using motion vector differences

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI552577B (en) 2011-10-31 2016-10-01 Jvc Kenwood Corp Motion picture decoding device, dynamic image decoding method, and dynamic image decoding program product
CN107483946B (en) 2011-11-08 2021-01-12 株式会社Kt Method for decoding video signal by using decoding device
CN103108178B (en) * 2011-11-11 2016-03-30 华为技术有限公司 The method of video image encoding and decoding and device
CN102769748B (en) * 2012-07-02 2014-12-24 华为技术有限公司 Motion vector prediction method, device and system
US9736498B2 (en) 2012-10-03 2017-08-15 Mediatek Inc. Method and apparatus of disparity vector derivation and inter-view motion vector prediction for 3D video coding
CN103338372A (en) * 2013-06-15 2013-10-02 浙江大学 Method and device for processing video
KR20180048736A (en) * 2015-09-24 2018-05-10 엘지전자 주식회사 Inter prediction method and apparatus in video coding system
CN114501020A (en) * 2016-08-21 2022-05-13 上海天荷电子信息有限公司 Image compression method and apparatus using nearest motion vector and neighboring motion vector
WO2019191867A1 (en) * 2018-04-02 2019-10-10 华为技术有限公司 Method and apparatus for video encoding and decoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1649414A (en) * 2005-01-27 2005-08-03 浙江大学 Optimizing distribution method in moving evaluation for hardware computing power resource
CN101860754A (en) * 2009-12-16 2010-10-13 香港应用科技研究院有限公司 Method and device for coding and decoding motion vector

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101198064A (en) * 2007-12-10 2008-06-11 武汉大学 Movement vector prediction method in resolution demixing technology
JP2010028220A (en) * 2008-07-15 2010-02-04 Sony Corp Motion vector detecting device, motion vector detecting method, image encoding device, and program
CN101605262B (en) * 2009-07-09 2011-11-09 杭州士兰微电子股份有限公司 Method and device for predicting size motion of variable block

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1649414A (en) * 2005-01-27 2005-08-03 浙江大学 Optimizing distribution method in moving evaluation for hardware computing power resource
CN101860754A (en) * 2009-12-16 2010-10-13 香港应用科技研究院有限公司 Method and device for coding and decoding motion vector

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2820303C1 (en) * 2019-06-14 2024-06-03 ЭлДжи ЭЛЕКТРОНИКС ИНК. Method and device for encoding images using motion vector differences

Also Published As

Publication number Publication date
WO2012159288A1 (en) 2012-11-29
CN102227132A (en) 2011-10-26

Similar Documents

Publication Publication Date Title
CN102227132B (en) Motion vector prediction coding and decoding method, apparatus thereof and coding and decoding system
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
US20220353525A1 (en) Image encoding method and apparatus, and image decoding method and apparatus
CN102714736B (en) Method and apparatus for encoding and decoding motion vector based on reduced motion vector predictor candidates
CN101860754B (en) Method and device for coding and decoding motion vector
CN100551073C (en) Decoding method and device, image element interpolation processing method and device
CN104243982B (en) A kind of video coding-decoding processing method and device
CN101610413B (en) Video coding/decoding method and device
CN107113432A (en) Rate Control for parallel video coding
CN103260029A (en) Method and apparatus for encoding/decoding motion vector
CN102301717A (en) Video encoding using previously calculated motion information
CN107529063A (en) Coding method, code device, coding/decoding method and decoding apparatus
CN102474611A (en) Method and apparatus for encoding/decoding image by controlling accuracy of motion vector
CN103119935A (en) Image interpolation method and apparatus
CN105025298B (en) The method and apparatus that image is encoded/decoded
CN103188494A (en) Apparatus and method for encoding depth image by skipping discrete cosine transform (DCT), and apparatus and method for decoding depth image by skipping DCT
CN101765011B (en) Method and device for scaling motion estimation
CN103081466A (en) Method and system for encoding video frames using a plurality of processors
CN102316323B (en) Rapid binocular stereo-video fractal compressing and uncompressing method
CN101931739A (en) Absolute error sum estimation system and method
CN102843554A (en) Interframe image prediction encoding and decoding methods and video encoding and decoding device
CN109547781B (en) Compression method and device based on image prediction
CN105025299B (en) The method and apparatus that image is encoded/decoded
CN102263952A (en) Quick fractal compression and decompression method for binocular stereo video based on object
CN101841701A (en) Encoding and decoding method and device based on macroblock pair

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: SHENZHEN YUNZHOU MULTIMEDIA TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: SHENZHEN TEMOBI SCIENCE + TECHNOLOGY CO., LTD.

Effective date: 20140807

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20140807

Address after: Unit B4 9 building 518057 Guangdong city of Shenzhen province Nanshan District high in the four EVOC Technology Building No. 31

Applicant after: Shenzhen Yunzhou Multimedia Technology Co., Ltd.

Address before: 19, building 18, Changhong technology building, 518057 South twelve Road, South tech Zone, Nanshan District hi tech Zone, Guangdong, Shenzhen

Applicant before: Shenzhen Temobi Science & Tech Development Co.,Ltd.

CB02 Change of applicant information

Address after: The central Shenzhen city of Guangdong Province, 518057 Keyuan Road, Nanshan District science and Technology Park No. 15 Science Park Sinovac A Building 1 unit 403, No. 405 unit

Applicant after: Shenzhen Yunzhou Multimedia Technology Co., Ltd.

Address before: Unit B4 9 building 518057 Guangdong city of Shenzhen province Nanshan District high in the four EVOC Technology Building No. 31

Applicant before: Shenzhen Yunzhou Multimedia Technology Co., Ltd.

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170412

Termination date: 20200525