[go: up one dir, main page]

CN102595110A - Video coding method, decoding method and terminal - Google Patents

Video coding method, decoding method and terminal Download PDF

Info

Publication number
CN102595110A
CN102595110A CN2011100040255A CN201110004025A CN102595110A CN 102595110 A CN102595110 A CN 102595110A CN 2011100040255 A CN2011100040255 A CN 2011100040255A CN 201110004025 A CN201110004025 A CN 201110004025A CN 102595110 A CN102595110 A CN 102595110A
Authority
CN
China
Prior art keywords
motion vector
counter
candidate motion
backward
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.)
Granted
Application number
CN2011100040255A
Other languages
Chinese (zh)
Other versions
CN102595110B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201110004025.5A priority Critical patent/CN102595110B/en
Priority to PCT/CN2011/084817 priority patent/WO2012094944A1/en
Publication of CN102595110A publication Critical patent/CN102595110A/en
Application granted granted Critical
Publication of CN102595110B publication Critical patent/CN102595110B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/577Motion compensation with bidirectional frame interpolation, i.e. using B-pictures

Landscapes

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

Abstract

本申请实施例公开了一种视频编码方法、解码方法及终端,所述视频编码方法包括:获取当前编码块的初始候选运动矢量集合;为所述初始候选运动矢量集合中的每一个运动矢量添加一个反向运动矢量;根据所述反向运动矢量和所述初始候选运动矢量集合中的运动矢量生成新的候选运动矢量集合;从所述新的候选运动矢量集合中选择用于编码的运动矢量进行编码。应用本申请实施例生成的候选运动矢量集合中,包括了为运动矢量生成的反向运动矢量,该反向运动矢量相当于预测的运动矢量,从而使得候选运动矢量集合更加完备,从中选择的用于编码的运动矢量更优,提高了编码性能。

The embodiment of the present application discloses a video coding method, a decoding method, and a terminal. The video coding method includes: acquiring an initial candidate motion vector set of the current coding block; adding A reverse motion vector; generate a new candidate motion vector set according to the reverse motion vector and the motion vectors in the initial candidate motion vector set; select a motion vector for encoding from the new candidate motion vector set to encode. The set of candidate motion vectors generated by applying the embodiment of the present application includes the reverse motion vector generated for the motion vector, which is equivalent to the predicted motion vector, so that the set of candidate motion vectors is more complete. The motion vector for encoding is better, and the encoding performance is improved.

Description

Method for video coding, coding/decoding method and terminal
Technical field
The application relates to communication technical field, particularly relates to a kind of method for video coding, coding/decoding method and terminal.
Background technology
Motion prediction and motion compensation are the important technologies in the video compression; A part of bit in the compressed video stream is used for the transmitting moving Vector Message; Especially under low code check situation; For HD video, be used for the spent bit of transmitting moving Vector Message and surpass 50 percent of the total bit number of code stream usually.Therefore, need to improve code efficiency through selecting optimum motion vector.To the video coding of continuous dynamic image, continuous some width of cloth images are divided into three types of P, B, I, for the P frame, be that the difference according to this frame and adjacent former frame (I frame or P frame) comes the distilled edition frame data; For the B frame, then be that the difference according to adjacent former frame, this frame and back one frame data comes the distilled edition frame.Different to P frame and B frame, it is when selecting motion vector, and the P frame only needs to obtain the motion vector set according to its former frame, and the B frame can obtain the motion vector set according to its former frame and back one frame.
With the P frame is example; A kind of scheme of motion vector of selecting is in the prior art: in every two field picture, comprised some code blocks to be encoded; For a code block to be encoded; Motion vector according to this code block to be encoded periphery code block (being often referred to this code block to be encoded left side code block, upper left side code block, top code block and upper right side code block) obtains the spatial domain candidate motion vector, and the intermediate value motion vector that calculates according to these spatial domain candidate motion vectors; Obtain the code block on the same position in this code block former frame to be encoded, and the motion vector of neighbours territory, eight neighborhood code blocks, the time domain candidate motion vector obtained; Closing, the set of candidate motion vectors that becomes from above-mentioned spatial domain candidate motion vector, intermediate value motion vector and time domain set of candidate motion vectors selects the motion vector of an optimum; As motion vector to be encoded, the motion vector that this is to be encoded and enroll in the code stream for the index information of its distribution.
Be in the motion vector set that video coding generated in the prior art; Each motion vector is the motion vector that there has been code block in consideration and is generated; Only, therefore be difficult to further improve coding efficiency from by being difficult to select more excellent motion vector the motion vector that exists code block to obtain.
Summary of the invention
The application embodiment provides a kind of method for video coding, coding/decoding method and terminal, is difficult to choose more excellent motion vector to solve from existing motion vector set, causes being difficult to improve the problem of coding efficiency.
In order to solve the problems of the technologies described above, the application embodiment discloses following technical scheme:
A kind of method for video coding comprises:
Obtain the initial candidate motion vector set of present encoding piece;
For each motion vector in the said initial candidate motion vector set adds a counter motion vector;
Generating new set of candidate motion vectors according to the motion vector in said counter motion vector and the set of said initial candidate motion vector closes;
The motion vector of from said new set of candidate motion vectors is closed, selecting to be used to encode is encoded.
A kind of video coding terminal comprises:
Acquiring unit, the initial candidate motion vector set that is used to obtain the present encoding piece;
Adding device, each motion vector that is used in the said initial candidate motion vector set adds a counter motion vector;
Generation unit is used for closing according to the new set of candidate motion vectors of motion vector generation of said counter motion vector and the set of said initial candidate motion vector;
Coding unit is used for closing the motion vector of selecting to be used to encode from said new set of candidate motion vectors and encodes.
A kind of video encoding/decoding method comprises:
Obtain the initial candidate motion vector set of present encoding piece;
For each motion vector in the said initial candidate motion vector set adds a counter motion vector;
Generating new set of candidate motion vectors according to the motion vector in said counter motion vector and the set of said initial candidate motion vector closes;
The code stream that parsing receives, the information of the selected motion vector in acquisition video coding terminal;
, said new set of candidate motion vectors select corresponding motion vector to decode from closing according to the information of said motion vector.
A kind of video decode terminal comprises:
Acquiring unit, the initial candidate motion vector set that is used to obtain the present encoding piece;
Adding device, each motion vector that is used in the said initial candidate motion vector set adds a counter motion vector;
Generation unit is used for closing according to the new set of candidate motion vectors of motion vector generation of said counter motion vector and the set of said initial candidate motion vector;
Resolution unit is used to resolve the code stream that receives, and obtains the information of the selected motion vector in video coding terminal;
Decoding unit is used for closing the corresponding motion vector of selection according to the information of said motion vector from said new set of candidate motion vectors and decodes.
Can find out by the foregoing description; The application embodiment is fashionable in the set of candidate motion vectors that makes up video coding; Obtain the initial candidate motion vector set of present encoding piece; For each motion vector in the set of initial candidate motion vector adds a counter motion vector, generate new set of candidate motion vectors according to the motion vector in counter motion vector and the set of initial candidate motion vector and close, the motion vector of from new set of candidate motion vectors is closed, selecting to be used to encode is encoded.During the set of candidate motion vectors that application the application embodiment generates is closed; Comprised the counter motion vector that generates for motion vector; The motion vector that this counter motion vector is equivalent to predict; Thereby it is more complete to make set of candidate motion vectors close, and the motion vector of therefrom selecting that is used to encode is more excellent, has improved coding efficiency.
Description of drawings
In order to be illustrated more clearly in the application embodiment or technical scheme of the prior art; To do to introduce simply to the accompanying drawing of required use in embodiment or the description of the Prior Art below; Obviously; For those of ordinary skills, under the prerequisite of not paying creative work property, can also obtain other accompanying drawing according to these accompanying drawings.
Figure 1A is the first embodiment flow chart of the application's method for video coding;
Figure 1B is that the motion vector of encoding block in the application's Embodiment B frame is selected sketch map;
Fig. 1 C is the at the uniform velocity model sketch map of linear movement of the application's Embodiment B frame;
Fig. 2 is the second embodiment flow chart of the application's method for video coding;
Fig. 3 is the 3rd an embodiment flow chart of the application's method for video coding;
Fig. 4 is the embodiment flow chart of the application's video encoding/decoding method;
Fig. 5 A is the embodiment block diagram at the application's video coding terminal;
Fig. 5 B is the embodiment block diagram of a kind of adding device among Fig. 5 A;
Fig. 5 C is the embodiment block diagram of another kind of adding device among Fig. 5 A;
Fig. 5 D is the embodiment block diagram of coding unit among Fig. 5 A;
The embodiment block diagram at Fig. 6 the application video decode terminal.
Embodiment
The present invention following embodiment provide a kind of method for video coding and device.
In order to make those skilled in the art person understand the technical scheme in the embodiment of the invention better; And make the above-mentioned purpose of the embodiment of the invention, feature and advantage can be more obviously understandable, below in conjunction with accompanying drawing technical scheme in the embodiment of the invention done further detailed explanation.
Referring to Figure 1A, be the first embodiment flow chart of the application's method for video coding:
Step 101: the initial candidate motion vector set of obtaining the present encoding piece.
Concrete; Peripheral encoding block according to the present encoding piece obtains the spatial domain candidate motion vector; Obtain the time domain candidate motion vector of present encoding piece according to reference frame, this reference frame can be the former frame of the present frame at present encoding piece place, or back one frame; Or former frame and back one frame, the spatial domain candidate motion vector is become the initial motion vectors set with the time domain set of candidate motion vectors.
Referring to Figure 1B, for the motion vector of encoding block in the B frame with bi directional motion compensation characteristic is selected sketch map.Suppose that the encoding block mv in the present frame is the present encoding piece, then the peripheral encoding block of present encoding piece mv is often referred to the left side encoding block mv of the mv shown in Figure 1B a, top encoding block mv b, upper right side encoding block mv c, upper left side encoding block mv d, according to above-mentioned encoding block mv a, mv b, mv c, mv dObtain the spatial domain candidate motion vector of present encoding piece mv; Suppose with the reference frame to be that former frame in the present frame is an example, then the encoding block of present encoding piece mv corresponding position in former frame is mv Col, corresponding mv ColNeighbours territory and eight neighborhood encoding blocks be respectively mv 0To mv 7, according to above-mentioned mv ColAnd mv 0To mv 7Obtain the time domain candidate motion vector of mv, in like manner, also can be according to the encoding block mv of present encoding piece mv corresponding position in one frame of back Col' and neighbours territory and eight neighborhood encoding block mv 0' to mv 7' acquisition time domain candidate motion vector.
Step 102: for each motion vector in the set of initial candidate motion vector adds a counter motion vector.
Concrete, can add a counter motion vector for each motion vector in the set of initial candidate motion vector according to the predetermined movement model.The predetermined movement model comprises uniform rectilinear motion model or accelerated motion model.
With the uniform rectilinear motion model is example, referring to Fig. 1 C, is the B frame model sketch map of linear movement at the uniform velocity.Suppose V bBe backward motion vector, V fBe forward motion vector, the distance between B frame and the forward reference frame is T f, and the distance of back between reference frame is T b, then for the uniform rectilinear motion model shown in Fig. 1 C, each concerns when satisfying as follows forward motion vector and backward motion vector: V f/ T f=-V b/ T b
In addition, except the uniform rectilinear motion model shown in above-mentioned Fig. 1 C, also can adopt the accelerated motion model, at this moment two motion vector V fAnd V bBetween can satisfy and concern V f=-(V b+ α), wherein α is a speed difference.
Step 103: generate new set of candidate motion vectors according to the motion vector in counter motion vector and the set of initial candidate motion vector and close.
After having added the counter motion vector for the motion vector in the set of initial candidate motion vector; All forward motion vector in the motion vector in counter motion vector that is added and the original initial candidate motion vector set are formed forward direction set of candidate motion vectors close, and close to set of candidate motion vectors behind all backward motion vector compositions.
Except the above-mentioned forward direction set of candidate motion vectors of setting up is respectively closed with back to the mode that set of candidate motion vectors is closed; Also can, a new set of candidate motion vectors comprise all forward motion vector and backward motion vector in closing; This new set of candidate motion vectors has comprised some groups of motion vectors in closing; In each group motion vector corresponding forward motion vector and backward motion vector are arranged, each organizes corresponding forward motion vector and backward motion vector can be distinguished through identification information.
Step 104: the motion vector of from new set of candidate motion vectors is closed, selecting to be used to encode is encoded.
Can be new set of candidate motion vectors each motion vector allocation index sign in closing; Adopt RDO (Rate Distortion Optimization; The rate-distortion optimization criterion) mode is selected the motion vector that is used to encode from new set of candidate motion vectors is closed; And with the index sign of the motion vector of said selection, and enroll code stream according to the information that the motion vector of said selection obtains.
Wherein, The motion vector of from new set of candidate motion vectors is closed, selecting is and the immediate motion vectors of the true encoding motion vector of encoding terminal; Because the amount of information of motion vector itself is bigger,, then will increase the data volume of encoding compression if therefore in code stream, directly transmit true encoding motion vector itself; Reduce the efficient of encoding compression and coding transmission; Therefore close through making up set of candidate motion vectors, and after therefrom selecting motion vectors, can obtain the difference of itself and true motion vector according to this motion vectors; This difference is very little compared to the data volume of true encoding motion vector own, and therefore this difference is enrolled code stream just can effectively improve encoding compression and coding transmission efficient.
In addition, encoding terminal also can utilize the motion vector of selection to accomplish other cataloged procedure, and this process is consistent with prior art, repeats no more at this.
Referring to Fig. 2, be the second embodiment flow chart of the application's method for video coding, this embodiment shows motion vector is unified to judge the process that generates the counter motion vector:
Step 201: the initial candidate motion vector set of obtaining the present encoding piece.
Peripheral encoding block according to the present encoding piece obtains the spatial domain candidate motion vector; Obtain the time domain candidate motion vector of present encoding piece according to reference frame; This reference frame can be the former frame of the present frame at present encoding piece place; Or back one frame, or former frame and back one frame, the spatial domain candidate motion vector is become the initial motion vectors set with the time domain set of candidate motion vectors.
Step 202: judge in the set of initial candidate motion vector whether only have unidirectional motion vector, if then execution in step 203; Otherwise, execution in step 204.
In the initial motion vectors set; Comprise peripheral encoding block according to the present encoding piece; The motion vector that each encoding block obtains in the reference frame; Judge whether only to exist unidirectional motion vector to refer to whether only comprise forward motion vector in the set of initial candidate motion vector, perhaps only comprise backward motion vector here.
Step 203: for unidirectional motion vector adds the counter motion vector respectively, execution in step 205.
In the initial motion vectors set, if only comprise forward motion vector, then add a backward motion vector for each forward motion vector, if only comprise backward motion vector, then add a forward motion vector for each backward motion vector.Can know that in conjunction with Fig. 1 C each when adopting uniform rectilinear motion model, should satisfy following relation: V to forward motion vector and backward motion vector f/ T f=-V b/ T b
Step 204: be respectively forward motion vector and add backward motion vector, and be respectively backward motion vector interpolation forward motion vector as its counter motion vector as its counter motion vector.
In the initial motion vectors set, if promptly comprise forward motion vector, comprise backward motion vector again, then be respectively forward motion vector and add backward motion vector, and be respectively backward motion vector interpolation forward motion vector.Can know that in conjunction with Fig. 1 C each when adopting uniform rectilinear motion model, should satisfy following relation: V to forward motion vector and backward motion vector f/ T f=-V b/ T b
Step 205: generate new set of candidate motion vectors according to the motion vector in counter motion vector and the set of initial candidate motion vector and close.
Step 206: be new set of candidate motion vectors each motion vector allocation index sign in closing.
Step 207: adopt the RDO mode from new set of candidate motion vectors is closed, to select the motion vector that is used to encode.
Step 208:, and enroll code stream according to the information that the motion vector of said selection obtains with the index sign of the motion vector of said selection.
Enroll index information in the code stream and be equivalent to the selection information of the selected motion vector of encoding terminal, when decoding terminal that code stream sends, can find corresponding motion vector according to selection information.
Need to prove; Carry out the selection of motion vector to the RDO mode shown in the step 208 except employing step 206 in the foregoing description; Also can be employed in the mode that coding side and decoding end derive simultaneously and obtain motion vector, this application embodiment is not limited.
Referring to Fig. 3, be the 3rd embodiment flow chart of the application's method for video coding, this embodiment shows motion vector is judged the process that generates the counter motion vector one by one:
Step 301: the initial candidate motion vector set of obtaining the present encoding piece.
Peripheral encoding block according to the present encoding piece obtains the spatial domain candidate motion vector; Obtain the time domain candidate motion vector of present encoding piece according to reference frame; This reference frame can be the former frame of the present frame at present encoding piece place; Or back one frame, or former frame and back one frame, the spatial domain candidate motion vector is become the initial motion vectors set with the time domain set of candidate motion vectors.
Step 302: order is extracted a motion vector from the set of initial candidate motion vector.
Step 303: for the motion vector that extracts adds a counter motion vector.
Wherein, If the motion vector that is extracted is a forward motion vector; The motion vector that then is said extraction adds a backward motion vector as its counter motion vector; If the motion vector that is extracted is a backward motion vector, then be that the motion vector of said extraction adds a forward motion vector as its counter motion vector.
In conjunction with Fig. 1 C, each behind the interpolation counter motion vector concerns when satisfying as follows forward motion vector and backward motion vector: V f/ T f=-V b/ T b
Step 304: judge whether to accomplish all motion vectors in the set of initial candidate motion vector are added the counter motion vector, if then execution in step 305; Otherwise, return step 302.
Step 305: generate new set of candidate motion vectors according to the motion vector in counter motion vector and the set of initial candidate motion vector and close.
Step 306: the motion vector of from new set of candidate motion vectors is closed, selecting to be used to encode is encoded.
In this step 306, can specifically adopt the RDO mode shown in Fig. 2 embodiment to carry out the selection of motion vector, repeat no more at this.
Method embodiment by above-mentioned video coding is visible; In the set of candidate motion vectors that generates is closed; Except comprising spatial domain candidate motion vector, intermediate value motion vector and the time domain candidate motion vector that generates according to mode of the prior art; Also comprise the counter motion vector that adds according to image theory according to the characteristics of motion, the motion vector that this counter motion vector is equivalent to predict, thus it is more complete to make set of candidate motion vectors close; The motion vector of therefrom selecting that is used to encode is more excellent, improves coding efficiency.
Corresponding with aforementioned the application's method for video coding embodiment, the application also provides the embodiment of video encoding/decoding method.The mode that the generation set of candidate motion vectors is closed in the application's video decoding process is consistent with video coding process; Video decoding process need be analyzed video code flow and obtain the selection information of coding side to motion vector, so that from set of candidate motion vectors is closed, select the motion vector consistent with coding side that current code block is decoded.
Referring to Fig. 4, be the embodiment flow chart of the application's video encoding/decoding method:
Step 401: the initial candidate motion vector set of obtaining the present encoding piece.
Concrete; Peripheral encoding block according to the present encoding piece obtains the spatial domain candidate motion vector; Obtain the time domain candidate motion vector of present encoding piece according to reference frame, this reference frame can be the former frame of the present frame at present encoding piece place, or back one frame; Or former frame and back one frame, the spatial domain candidate motion vector is become the initial motion vectors set with the time domain set of candidate motion vectors.
Step 402: for each motion vector in the set of initial candidate motion vector adds a counter motion vector.
Concrete, can add a counter motion vector for each motion vector in the set of initial candidate motion vector according to the predetermined movement model.The predetermined movement model comprises uniform rectilinear motion model or accelerated motion model.
Wherein, can judge whether only there is unidirectional motion vector in the said initial candidate motion vector; If only have unidirectional motion vector, then add the counter motion vector respectively for said unidirectional motion vector; If have forward motion vector and backward motion vector simultaneously, then be respectively said forward motion vector and add backward motion vector, and be respectively said backward motion vector interpolation forward motion vector as its counter motion vector as its counter motion vector.
Wherein, Also can add a counter motion vector for the motion vector of said extraction; Wherein, if the motion vector that is extracted is a forward motion vector, then be that the motion vector of said extraction adds a backward motion vector as its counter motion vector; If the motion vector that is extracted is a backward motion vector, then be that the motion vector of said extraction adds a forward motion vector as its counter motion vector; Judge whether to accomplish all motion vectors in the said initial candidate motion vector set are added the counter motion vector, if then trigger and carry out the step that the new set of candidate motion vectors of said generation is closed; Otherwise, return the said step of from said initial candidate motion vector set, extracting a motion vector in proper order.
Step 403: generate new set of candidate motion vectors according to the motion vector in counter motion vector and the set of initial candidate motion vector and close.
Concrete implementation in above-mentioned steps 401 to the step 403 is consistent with the description among aforementioned method for video coding first embodiment to the three embodiment, repeats no more at this.
Step 404: resolve the code stream that receives, obtain the information of the selected motion vector in video coding terminal.
The motion vector that is used to encode is selected in the video coding terminal from new set of candidate motion vectors is closed after; Code stream can be enrolled with the index sign for the distribution of this motion vector in the video coding terminal; And the motion vector that will select and the difference between the true motion vector enroll code stream, and code stream is transferred to the video decode terminal.Therefore behind this code stream of video decode terminal analysis; Can therefrom get access to the information of the selected motion vector of encoding terminal; For example, the index of this motion vector sign, and obtain the motion vector of selection and the difference between the true motion vector; New set of candidate motion vectors according to this index sign can generate from step 403 is closed the middle selected motion vector of encoding terminal of selecting, and motion vector and the difference addition selected can be obtained the true encoding motion vector of encoding terminal.
Step 405: from new set of candidate motion vectors is closed, select corresponding motion vector to decode according to the information of motion vector.
Corresponding with the embodiment of aforementioned the application's method for video coding and video encoding/decoding method, the application also provides the embodiment block diagram at video coding terminal and video decode terminal.
Referring to Fig. 5 A, be the embodiment block diagram at the application's video coding terminal.
This video coding terminal comprises: acquiring unit 510, adding device 520, generation unit 530 and coding unit 540.
Wherein, acquiring unit 510, the initial candidate motion vector set that is used to obtain the present encoding piece;
Adding device 520, each motion vector that is used in the said initial candidate motion vector set adds a counter motion vector;
Generation unit 530 is used for closing according to the new set of candidate motion vectors of motion vector generation of said counter motion vector and the set of said initial candidate motion vector;
Coding unit 540 is used for closing the motion vector of selecting to be used to encode from said new set of candidate motion vectors and encodes.
Referring to Fig. 5 B, be the embodiment block diagram of a kind of adding device among Fig. 5 A:
This adding device 520 can comprise:
Direction vector judging unit 521 is used for judging whether said initial candidate motion vector only exists unidirectional motion vector;
Motion vector adding device 522; Be used for judged result according to said direction vector judging unit; If only there is unidirectional motion vector; Then add the counter motion vector respectively for said unidirectional motion vector, said exists unidirectional motion vector to comprise only to have forward motion vector, perhaps only have backward motion vector; If have forward motion vector and backward motion vector simultaneously, then be respectively said forward motion vector and add backward motion vector, and be respectively said backward motion vector interpolation forward motion vector as its counter motion vector as its counter motion vector.
Referring to Fig. 5 C, be the embodiment block diagram of another kind of adding device among Fig. 5 A:
This adding device 520 can comprise:
Order extraction unit 523 is used for extracting a motion vector from said initial candidate motion vector set order;
Order adding device 524; The motion vector that is used to said extraction adds a counter motion vector; Wherein, if the motion vector that is extracted is a forward motion vector, then be that the motion vector of said extraction adds a backward motion vector as its counter motion vector; If the motion vector that is extracted is a backward motion vector, then be that the motion vector of said extraction adds a forward motion vector as its counter motion vector;
Add and accomplish judging unit 525, be used for judging whether accomplishing said all motion vectors of initial candidate motion vector set are added the counter motion vector;
Trigger performance element 526, the judged result that is used for accomplishing judging unit when said interpolation then triggers said generation unit and carries out corresponding function for being, the judged result of accomplishing judging unit when said interpolation is then returned said order extraction unit for not.
Referring to Fig. 5 D, be the embodiment block diagram of coding unit among Fig. 5 A:
This coding unit 540 comprises:
Index sign allocation units 541 are used to said new set of candidate motion vectors each motion vector allocation index sign in closing;
Motion vector selected cell 542 is used for adopting rate-distortion optimization criterion RDO to close the motion vector that selection is used to encode from said new set of candidate motion vectors;
Encoding operation unit 543 is used for the index sign with the motion vector of said selection, and enrolls code stream according to the information that the motion vector of said selection obtains.
Referring to Fig. 6, be the embodiment block diagram at the application's video decode terminal.
This video decode terminal comprises: acquiring unit 610, adding device 620, generation unit 639, resolution unit 640 and decoding unit 650.
Wherein, acquiring unit 610, the initial candidate motion vector set that is used to obtain the present encoding piece;
Adding device 620, each motion vector that is used in the said initial candidate motion vector set adds a counter motion vector;
Generation unit 630 is used for closing according to the new set of candidate motion vectors of motion vector generation of said counter motion vector and the set of said initial candidate motion vector;
Resolution unit 640 is used to resolve the code stream that receives, and obtains the information of the selected motion vector in video coding terminal;
Decoding unit 650 is used for closing the corresponding motion vector of selection according to the information of said motion vector from said new set of candidate motion vectors and decodes.
Concrete, adding device 620 can comprise: the direction vector judging unit is used for judging whether said initial candidate motion vector set only exists unidirectional motion vector; The motion vector adding device; Be used for judged result according to said direction vector judging unit; If only there is unidirectional motion vector; Then add the counter motion vector respectively for said unidirectional motion vector, said exists unidirectional motion vector to comprise only to have forward motion vector, perhaps only have backward motion vector; If have forward motion vector and backward motion vector simultaneously, then be respectively said forward motion vector and add backward motion vector, and be respectively said backward motion vector interpolation forward motion vector as its counter motion vector as its counter motion vector.
Concrete, adding device 620 also can comprise: the direction vector judging unit is used for judging whether said initial candidate motion vector set only exists unidirectional motion vector; The motion vector adding device; Be used for judged result according to said direction vector judging unit; If only there is unidirectional motion vector; Then add the counter motion vector respectively for said unidirectional motion vector, said exists unidirectional motion vector to comprise only to have forward motion vector, perhaps only have backward motion vector; If have forward motion vector and backward motion vector simultaneously, then be respectively said forward motion vector and add backward motion vector, and be respectively said backward motion vector interpolation forward motion vector as its counter motion vector as its counter motion vector.
Description through to above execution mode can be known; The application embodiment is fashionable in the set of candidate motion vectors that makes up video coding; Obtain the initial candidate motion vector set of present encoding piece; For each motion vector in the set of initial candidate motion vector adds a counter motion vector; Generate new set of candidate motion vectors according to the motion vector in counter motion vector and the set of initial candidate motion vector and close, the motion vector of from new set of candidate motion vectors is closed, selecting to be used to encode is encoded.During the set of candidate motion vectors that application the application embodiment generates is closed; Comprised the counter motion vector that generates for motion vector; The motion vector that this counter motion vector is equivalent to predict; Thereby it is more complete to make set of candidate motion vectors close, and the motion vector of therefrom selecting that is used to encode is more excellent, has improved coding efficiency.
The technology that those skilled in the art can be well understood in the embodiment of the invention can realize by the mode that software adds essential general hardware platform.Based on such understanding; The part that technical scheme in the embodiment of the invention contributes to prior art in essence in other words can be come out with the embodied of software product; This computer software product can be stored in the storage medium, like ROM/RAM, magnetic disc, CD etc., comprises that some instructions are with so that a computer equipment (can be a personal computer; Server, the perhaps network equipment etc.) carry out the described method of some part of each embodiment of the present invention or embodiment.
Each embodiment in this specification all adopts the mode of going forward one by one to describe, and identical similar part is mutually referring to getting final product between each embodiment, and each embodiment stresses all is the difference with other embodiment.Especially, for system embodiment, because it is basically similar in appearance to method embodiment, so description is fairly simple, relevant part gets final product referring to the part explanation of method embodiment.
Above-described embodiment of the present invention does not constitute the qualification to protection range of the present invention.Any modification of within spirit of the present invention and principle, being done, be equal to replacement and improvement etc., all should be included within protection scope of the present invention.

Claims (20)

1. a method for video coding is characterized in that, comprising:
Obtain the initial candidate motion vector set of present encoding piece;
For each motion vector in the said initial candidate motion vector set adds a counter motion vector;
Generating new set of candidate motion vectors according to the motion vector in said counter motion vector and the set of said initial candidate motion vector closes;
The motion vector of from said new set of candidate motion vectors is closed, selecting to be used to encode is encoded.
2. method according to claim 1 is characterized in that, said initial candidate motion vector set of obtaining the present encoding piece comprises:
Peripheral encoding block according to the present encoding piece obtains the spatial domain candidate motion vector;
Obtain the time domain candidate motion vector of said present encoding piece according to reference frame, said reference frame is the former frame of the present frame at said present encoding piece place, or back one frame, or former frame and back one frame;
Said spatial domain candidate motion vector is become the initial motion vectors set with the time domain set of candidate motion vectors.
3. based on the described method of claim 1; It is characterized in that, saidly be specially for each motion vector in the initial candidate motion vector set adds a counter motion vector: based on the predetermined movement model is that each motion vector in the set of initial candidate motion vector adds a counter motion vector;
Said predetermined movement model comprises: uniform rectilinear motion model or accelerated motion model.
4. according to any described method of claim 1 to 3, it is characterized in that, saidly comprise for each motion vector in the initial candidate motion vector set adds a counter motion vector:
Judge in the said initial candidate motion vector set and whether only have unidirectional motion vector;
If only have unidirectional motion vector, then add the counter motion vector respectively for said unidirectional motion vector, said exists unidirectional motion vector to comprise only to have forward motion vector, perhaps only have backward motion vector;
If have forward motion vector and backward motion vector simultaneously, then be respectively said forward motion vector and add backward motion vector, and be respectively said backward motion vector interpolation forward motion vector as its counter motion vector as its counter motion vector.
5. according to any described method of claim 1 to 3, it is characterized in that, saidly comprise for each motion vector in the initial candidate motion vector set adds a counter motion vector:
Order is extracted a motion vector from said initial candidate motion vector set;
Counter motion vector of motion vector interpolation for said extraction; Wherein, If the motion vector that is extracted is a forward motion vector; The motion vector that then is said extraction adds a backward motion vector as its counter motion vector, if the motion vector that is extracted is a backward motion vector, then is that the motion vector of said extraction adds a forward motion vector as its counter motion vector;
Judge whether to accomplish all motion vectors in the said initial candidate motion vector set are added the counter motion vector, if then trigger and carry out the step that the new set of candidate motion vectors of said generation is closed; Otherwise, return the said step of from said initial candidate motion vector set, extracting a motion vector in proper order.
6. method according to claim 1 is characterized in that, the set of said new motion vector comprises: the forward direction set of candidate motion vectors by forward motion vector is formed is closed, and is afterwards closed to set of candidate motion vectors by what backward motion vector was formed.
7. method according to claim 1 is characterized in that, the said motion vector that selection is used to encode from new set of candidate motion vectors is closed is encoded and comprised:
Be said new set of candidate motion vectors each motion vector allocation index sign in closing;
Adopt rate-distortion optimization criterion RDO from said new set of candidate motion vectors is closed, to select the motion vector that is used to encode;
With the index sign of the motion vector of said selection, and enroll code stream according to the information that the motion vector of said selection obtains.
8. a video coding terminal is characterized in that, comprising:
Acquiring unit, the initial candidate motion vector set that is used to obtain the present encoding piece;
Adding device, each motion vector that is used in the said initial candidate motion vector set adds a counter motion vector;
Generation unit is used for closing according to the new set of candidate motion vectors of motion vector generation of said counter motion vector and the set of said initial candidate motion vector;
Coding unit is used for closing the motion vector of selecting to be used to encode from said new set of candidate motion vectors and encodes.
9. video coding according to claim 8 terminal is characterized in that, said adding device comprises:
The direction vector judging unit is used for judging whether said initial candidate motion vector set only exists unidirectional motion vector;
The motion vector adding device; Be used for judged result according to said direction vector judging unit; If only there is unidirectional motion vector; Then add the counter motion vector respectively for said unidirectional motion vector, said exists unidirectional motion vector to comprise only to have forward motion vector, perhaps only have backward motion vector; If have forward motion vector and backward motion vector simultaneously, then be respectively said forward motion vector and add backward motion vector, and be respectively said backward motion vector interpolation forward motion vector as its counter motion vector as its counter motion vector.
10. video coding according to claim 8 terminal is characterized in that, said adding device comprises:
The order extraction unit is used for extracting a motion vector from said initial candidate motion vector set order;
The order adding device; The motion vector that is used to said extraction adds a counter motion vector; Wherein, if the motion vector that is extracted is a forward motion vector, then be that the motion vector of said extraction adds a backward motion vector as its counter motion vector; If the motion vector that is extracted is a backward motion vector, then be that the motion vector of said extraction adds a forward motion vector as its counter motion vector;
Add and accomplish judging unit, be used for judging whether accomplishing said all motion vectors of initial candidate motion vector set are added the counter motion vector;
Trigger performance element, the judged result that is used for accomplishing judging unit when said interpolation then triggers said generation unit and carries out corresponding function for being, the judged result of accomplishing judging unit when said interpolation is then returned said order extraction unit for not.
11. video coding according to claim 8 terminal is characterized in that, said coding unit comprises:
Index sign allocation units are used to said new set of candidate motion vectors each motion vector allocation index sign in closing;
The motion vector selected cell is used for adopting rate-distortion optimization criterion RDO to close the motion vector that selection is used to encode from said new set of candidate motion vectors;
The encoding operation unit is used for the index sign with the motion vector of said selection, and enrolls code stream according to the information that the motion vector of said selection obtains.
12. a video encoding/decoding method is characterized in that, comprising:
Obtain the initial candidate motion vector set of present encoding piece;
For each motion vector in the said initial candidate motion vector set adds a counter motion vector;
Generating new set of candidate motion vectors according to the motion vector in said counter motion vector and the set of said initial candidate motion vector closes;
The code stream that parsing receives, the information of the selected motion vector in acquisition video coding terminal;
, said new set of candidate motion vectors select corresponding motion vector to decode from closing according to the information of said motion vector.
13. method according to claim 12 is characterized in that, said initial candidate motion vector set of obtaining the present encoding piece comprises:
Peripheral encoding block according to the present encoding piece obtains the spatial domain candidate motion vector;
Obtain the time domain candidate motion vector of said present encoding piece according to reference frame, said reference frame is the former frame of the present frame at said present encoding piece place, or back one frame, or former frame and back one frame;
Said spatial domain candidate motion vector is become the initial motion vectors set with the time domain set of candidate motion vectors.
14. based on the described method of claim 12; It is characterized in that, saidly be specially for each motion vector in the initial candidate motion vector set adds a counter motion vector: based on the predetermined movement model is that each motion vector in the set of initial candidate motion vector adds a counter motion vector;
Said predetermined movement model comprises: uniform rectilinear motion model or accelerated motion model.
15. according to any described method of claim 12 to 14, it is characterized in that, saidly comprise for each motion vector in the initial candidate motion vector set adds a counter motion vector:
Judge in the said initial candidate motion vector set and whether only have unidirectional motion vector;
If only have unidirectional motion vector, then add the counter motion vector respectively for said unidirectional motion vector, said exists unidirectional motion vector to comprise only to have forward motion vector, perhaps only have backward motion vector;
If have forward motion vector and backward motion vector simultaneously, then be respectively said forward motion vector and add backward motion vector, and be respectively said backward motion vector interpolation forward motion vector as its counter motion vector as its counter motion vector.
16. according to any described method of claim 12 to 14, it is characterized in that, saidly comprise for each motion vector in the set of said initial candidate motion vector adds a counter motion vector:
Order is extracted a motion vector from said initial candidate motion vector set;
Counter motion vector of motion vector interpolation for said extraction; Wherein, If the motion vector that is extracted is a forward motion vector; The motion vector that then is said extraction adds a backward motion vector as its counter motion vector, if the motion vector that is extracted is a backward motion vector, then is that the motion vector of said extraction adds a forward motion vector as its counter motion vector;
Judge whether to accomplish all motion vectors in the said initial candidate motion vector set are added the counter motion vector, if then trigger and carry out the step that the new set of candidate motion vectors of said generation is closed; Otherwise, return the said step of from said initial candidate motion vector set, extracting a motion vector in proper order.
17. method according to claim 12 is characterized in that, the set of said new motion vector comprises: the forward direction set of candidate motion vectors by forward motion vector is formed is closed, and is afterwards closed to set of candidate motion vectors by what backward motion vector was formed.
18. a video decode terminal is characterized in that, comprising:
Acquiring unit, the initial candidate motion vector set that is used to obtain the present encoding piece;
Adding device, each motion vector that is used in the said initial candidate motion vector set adds a counter motion vector;
Generation unit is used for closing according to the new set of candidate motion vectors of motion vector generation of said counter motion vector and the set of said initial candidate motion vector;
Resolution unit is used to resolve the code stream that receives, and obtains the information of the selected motion vector in video coding terminal;
Decoding unit is used for closing the corresponding motion vector of selection according to the information of said motion vector from said new set of candidate motion vectors and decodes.
19. video decode according to claim 18 terminal is characterized in that, said adding device comprises:
The direction vector judging unit is used for judging whether said initial candidate motion vector set only exists unidirectional motion vector;
The motion vector adding device; Be used for judged result according to said direction vector judging unit; If only there is unidirectional motion vector; Then add the counter motion vector respectively for said unidirectional motion vector, said exists unidirectional motion vector to comprise only to have forward motion vector, perhaps only have backward motion vector; If have forward motion vector and backward motion vector simultaneously, then be respectively said forward motion vector and add backward motion vector, and be respectively said backward motion vector interpolation forward motion vector as its counter motion vector as its counter motion vector.
20. video decode according to claim 18 terminal is characterized in that, said adding device comprises:
The direction vector judging unit is used for judging whether said initial candidate motion vector set only exists unidirectional motion vector;
The motion vector adding device; Be used for judged result according to said direction vector judging unit; If only there is unidirectional motion vector; Then add the counter motion vector respectively for said unidirectional motion vector, said exists unidirectional motion vector to comprise only to have forward motion vector, perhaps only have backward motion vector; If have forward motion vector and backward motion vector simultaneously, then be respectively said forward motion vector and add backward motion vector, and be respectively said backward motion vector interpolation forward motion vector as its counter motion vector as its counter motion vector.
CN201110004025.5A 2011-01-10 2011-01-10 Video coding method, decoding method and terminal Active CN102595110B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201110004025.5A CN102595110B (en) 2011-01-10 2011-01-10 Video coding method, decoding method and terminal
PCT/CN2011/084817 WO2012094944A1 (en) 2011-01-10 2011-12-28 Video encoding method, video decoding method and terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110004025.5A CN102595110B (en) 2011-01-10 2011-01-10 Video coding method, decoding method and terminal

Publications (2)

Publication Number Publication Date
CN102595110A true CN102595110A (en) 2012-07-18
CN102595110B CN102595110B (en) 2015-04-29

Family

ID=46483267

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110004025.5A Active CN102595110B (en) 2011-01-10 2011-01-10 Video coding method, decoding method and terminal

Country Status (2)

Country Link
CN (1) CN102595110B (en)
WO (1) WO2012094944A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104661031A (en) * 2015-02-16 2015-05-27 华为技术有限公司 Method for coding and decoding video image, coding equipment and decoding equipment
WO2019191867A1 (en) * 2018-04-02 2019-10-10 华为技术有限公司 Method and apparatus for video encoding and decoding
CN110868602A (en) * 2018-08-27 2020-03-06 华为技术有限公司 Video encoder, video decoder and corresponding methods
CN111526369A (en) * 2020-04-29 2020-08-11 Oppo广东移动通信有限公司 Video motion estimation method and device, electronic equipment and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105872545B (en) * 2016-04-19 2019-03-29 电子科技大学 A kind of random access Video coding middle-levelization time domain Rate-distortion optimization method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1377067A1 (en) * 2002-06-17 2004-01-02 Kabushiki Kaisha Toshiba Motion vector coding
CN1615652A (en) * 2002-01-17 2005-05-11 皇家飞利浦电子股份有限公司 Unit for and method of estimating a current motion vector
CN101841712A (en) * 2010-04-28 2010-09-22 广西大学 B-frame expansion direct mode oriented to panoramic video coding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1615652A (en) * 2002-01-17 2005-05-11 皇家飞利浦电子股份有限公司 Unit for and method of estimating a current motion vector
EP1377067A1 (en) * 2002-06-17 2004-01-02 Kabushiki Kaisha Toshiba Motion vector coding
CN1832575A (en) * 2002-06-17 2006-09-13 株式会社东芝 Video coding/decoding method and apparatus
CN101841712A (en) * 2010-04-28 2010-09-22 广西大学 B-frame expansion direct mode oriented to panoramic video coding

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104661031A (en) * 2015-02-16 2015-05-27 华为技术有限公司 Method for coding and decoding video image, coding equipment and decoding equipment
WO2016131229A1 (en) * 2015-02-16 2016-08-25 华为技术有限公司 Encoding and decoding method for video image, encoding device, and decoding device
CN104661031B (en) * 2015-02-16 2017-12-22 华为技术有限公司 For encoding video pictures and method, encoding device and the decoding device of decoding
US10349079B2 (en) 2015-02-16 2019-07-09 Huawei Technologies Co., Ltd. Video image encoding method, video image decoding method, encoding device, and decoding device
CN114513671A (en) * 2018-04-02 2022-05-17 华为技术有限公司 Video coding and decoding method and device
CN111919439A (en) * 2018-04-02 2020-11-10 华为技术有限公司 A video encoding and decoding method and device
CN111919439B (en) * 2018-04-02 2022-01-14 华为技术有限公司 Method and device for acquiring motion vector, method and device for constructing motion vector set and computer-readable storage medium
WO2019191867A1 (en) * 2018-04-02 2019-10-10 华为技术有限公司 Method and apparatus for video encoding and decoding
US11394996B2 (en) 2018-04-02 2022-07-19 Huawei Technologies Co., Ltd. Video coding method and apparatus
CN114513671B (en) * 2018-04-02 2024-04-09 华为技术有限公司 Video encoding and decoding method and device
CN110868602A (en) * 2018-08-27 2020-03-06 华为技术有限公司 Video encoder, video decoder and corresponding methods
CN110868602B (en) * 2018-08-27 2024-04-12 华为技术有限公司 Video encoder, video decoder and corresponding methods
CN111526369A (en) * 2020-04-29 2020-08-11 Oppo广东移动通信有限公司 Video motion estimation method and device, electronic equipment and storage medium

Also Published As

Publication number Publication date
WO2012094944A1 (en) 2012-07-19
CN102595110B (en) 2015-04-29

Similar Documents

Publication Publication Date Title
US9781443B2 (en) Motion vector encoding/decoding method and device and image encoding/decoding method and device using same
US11516498B2 (en) Image encoding/decoding apparatus and method
US20200244986A1 (en) Picture prediction method and related apparatus
US10091526B2 (en) Method and apparatus for motion vector encoding/decoding using spatial division, and method and apparatus for image encoding/decoding using same
AU2019275631B2 (en) Motion vector field coding and decoding method, coding apparatus, and decoding apparatus
US11736707B2 (en) Method and apparatus for processing video signal using affine prediction
CN104602017A (en) Video coder, method and device and inter-frame mode selection method and device thereof
CN103210646B (en) Method and apparatus for encoding/decoding images by efficiently selecting intra prediction mode groups
CN102595110A (en) Video coding method, decoding method and terminal
JP2007529175A5 (en)
CN102611886A (en) Method for predicting or compensating motion
CN102710934A (en) Motion predicting or compensating method
CN105847832B (en) Video decoding method
KR101845622B1 (en) Adaptive rdpcm method for video coding, video encoding method based on adaptive rdpcm and video decoding method based on adaptive rdpcm
CN100473168C (en) Motion Vector Spatial Prediction Method for Video Coding
CN116170582A (en) Video data processing method, device, computer equipment and storage medium
CN108200440A (en) A kind of distributed video compressed sensing reconstructing method based on temporal correlation
CN102215407A (en) Bilaterally predicted block acquisition method, device and image decoding method
CN103533372B (en) The coding of bidirectional predictive picture sheet, coding/decoding method and equipment
CN102474616A (en) Method and device for generating, decoding and transcoding a coded video data stream
CN105791863A (en) Layer-based 3D-HEVC Depth Map Intra-frame Prediction Coding Method
CN104509114A (en) Video encoding method, video decoding method, video encoding device, video decoding device, video encoding program, video decoding program, and recording medium
CN113556551B (en) Encoding and decoding method, device and equipment
Gulia Performance Analysis of Advancements in Video Compression with Deep Learning
KR20110050914A (en) Directional intra prediction device and prediction method thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant