WO2015101209A1 - Method, coding apparatus and decoding apparatus for predicting motion vector - Google Patents

Method, coding apparatus and decoding apparatus for predicting motion vector Download PDF

Info

Publication number
WO2015101209A1
WO2015101209A1 PCT/CN2014/094923 CN2014094923W WO2015101209A1 WO 2015101209 A1 WO2015101209 A1 WO 2015101209A1 CN 2014094923 W CN2014094923 W CN 2014094923W WO 2015101209 A1 WO2015101209 A1 WO 2015101209A1
Authority
WO
WIPO (PCT)
Prior art keywords
block
sub
motion vector
predicted
prediction
Prior art date
Application number
PCT/CN2014/094923
Other languages
French (fr)
Chinese (zh)
Inventor
林永兵
张玉花
朱策
Original Assignee
华为技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2015101209A1 publication Critical patent/WO2015101209A1/en

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/597Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding specially adapted for multi-view video sequence encoding
    • 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

Definitions

  • the present invention relates to the field of video coding and decoding, and in particular, to a method, an encoding device, and a decoding device for predicting a motion vector.
  • Inter-view Motion Vector Prediction is the most important performance improvement tool in 3-Dimension video coding (3DV coding).
  • the 3D-High Efficiency Video Coding (3D-High Efficiency Video Coding) standard uses sub-PU Level Inter-view MV Prediction instead of predictive block-level inter-view motion vector prediction (PU). Level Inter-view MV Prediction).
  • the current prediction block is first divided into several equal-sized sub-predicted blocks or sub-predicted units (Sub -PU). If the motion vector information of the corresponding block in the reference view of the current sub-prediction block (eg, the first sub-prediction block) is not available, no processing is performed, and then the motion vector information of the other sub-predicted blocks is sequentially determined backward until the prediction is found. a sub-predicted block in which the first motion vector information of the corresponding block in the reference view is available, and the available motion vector information is determined as a motion vector predictor of all unavailable Sub-PU blocks before the sub-predicted block .
  • the above processing method is liable to cause delay in predicting motion vector processes.
  • Embodiments of the present invention provide a motion vector prediction method, which can eliminate a delay problem in predicting a motion vector process.
  • an embodiment of the present invention provides a method for predicting a motion vector, including: determining that motion vector information of a corresponding block in a reference view of a current sub-prediction block in a prediction block is unavailable; and in the current sub-prediction block When predicting the first sub-predicted block in the block, determine the operation of the first sub-predicted block
  • the predicted value of the motion vector is a predetermined value, and the predetermined value is a determined value.
  • the method further includes: when the current sub-predicted block is the Nth sub-predicted block in the prediction block, determining the predetermined value as the motion vector of the N-th sub-predicted block The predicted value, where N is an integer greater than or equal to 2.
  • the method further includes: predicting a motion vector of the (N-1)th sub-predicted block when the current sub-predicted block is the Nth sub-predicted block in the prediction block The value is determined as a predicted value of the motion vector of the Nth sub-predicted block, where N is an integer greater than or equal to 2.
  • the method further includes: constructing a motion vector of the prediction block Merging candidate list, the merge candidate list includes a plurality of candidate motion vectors of the prediction block; determining the first available sub-prediction block in the prediction block, the first available sub-prediction block is the motion vector information of the first corresponding block in the reference view available Sub prediction block; determining a prediction value of a motion vector of the first available sub prediction block according to motion vector information of a corresponding block of the first available sub prediction block; and inserting a prediction value of a motion vector of the first available sub prediction block into the prediction block A merge candidate list to constitute a new merge candidate list of motion vectors of the predicted block.
  • the predetermined value includes a zero motion vector, a disparity vector corresponding to the current sub-predicted block for inter-view motion compensation prediction, or a merge candidate list of the prediction block.
  • Candidate vector includes a zero motion vector, a disparity vector corresponding to the current sub-predicted block for inter-view motion compensation prediction, or a merge candidate list of the prediction block.
  • the zero motion vector is a vector with a numerical value of zero and a reference image index number of zero.
  • an embodiment of the present invention provides an encoding apparatus, including: a first determining unit, configured to determine that motion vector information of a corresponding block in a reference view of a current sub-prediction block in a prediction block is unavailable; And a unit, configured to determine, when the current sub-predicted block is the first one of the predicted blocks, that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
  • the coding apparatus further includes: a third determining unit, configured to: when the current sub-predicted block is the Nth sub-predicted block in the predicted block, a predetermined value The predicted value of the motion vector determined as the Nth sub-predicted block, where N is an integer greater than or equal to 2.
  • the encoding device further includes: a determining unit, configured to determine a predicted value of a motion vector of the N-1th sub-prediction block as a predicted value of a motion vector of the Nth sub-predicted block, when the current sub-predicted block is the N-th sub-predicted block in the predicted block, Where N is an integer greater than or equal to 2.
  • the coding device further includes: constructing a unit, a merge candidate list for constructing a motion vector of the prediction block, the merge candidate list includes a plurality of candidate motion vectors of the prediction block, and a fifth determining unit, configured to determine the first available sub-prediction block in the prediction block, the first available The sub-prediction block is a sub-prediction block in which the motion vector information of the corresponding block in the first view is available, and the sixth determining unit is configured to determine the first available sub-prediction block according to the motion vector information of the corresponding block of the first available sub-predicted block.
  • the prediction value of the motion vector; the insertion unit inserts the prediction value of the motion vector of the first available sub-prediction block into the merge candidate list of the prediction block to constitute a new merge candidate list of the motion vector of the prediction block.
  • the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction of the current sub-predicted block, or a combination of prediction blocks Candidate vector in the candidate list.
  • the zero motion vector is a vector with a numerical value of zero and a reference image index number of zero.
  • an embodiment of the present invention provides a decoding apparatus, including: a first determining unit, configured to determine that motion vector information of a corresponding block in a reference view of a current sub-prediction block in a prediction block is unavailable; And a unit, configured to determine, when the current sub-predicted block is the first one of the predicted blocks, that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
  • the decoding apparatus further includes: a third determining unit, configured to: when the current sub-predicted block is the Nth sub-predicted block in the predicted block, a predetermined value The predicted value of the motion vector determined as the Nth sub-predicted block, where N is an integer greater than or equal to 2.
  • the decoding apparatus further includes: a fourth determining unit, configured to: when the current sub-predicted block is the Nth sub-predicted block in the prediction block, the N-1th The predicted value of the motion vector of the sub-predicted block is determined as the predicted value of the motion vector of the N-th sub-predicted block, where N is an integer greater than or equal to 2.
  • the decoding apparatus further includes: a construction unit, configured to construct a merge candidate list of motion vectors of the prediction block, where the merge candidate list includes multiple prediction blocks a candidate motion vector; a fifth determining unit, configured to determine a first available sub-prediction block in the prediction block, where the first available sub-prediction block is a sub-predicted block in which motion vector information of the first corresponding block in the reference view is available; a determining unit, configured to determine a predicted value of a motion vector of the first available sub-predicted block according to motion vector information of a corresponding block of the first available sub-predicted block; and insert a unit to insert a predicted value of a motion vector of the first available sub-predicted block A merge candidate list to the prediction block is made to constitute a new merge candidate list of motion vectors of the prediction block.
  • the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion compensation prediction of the current sub-predicted block, or a combination of prediction blocks Candidate vector in the candidate list.
  • the zero motion vector is a vector with a numerical value of zero and a reference image index number of zero.
  • the embodiment of the present invention determines that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable, and when the current sub-predicted block is the first sub-predicted block in the prediction block, the predetermined value is determined. Determining the predicted value of the motion vector of the first sub-predicted block, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining the motion vector of the corresponding block in the first reference view.
  • the sub-prediction block in which the information is available determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
  • FIG. 1 is a schematic flow chart of a method for predicting a motion vector according to an embodiment of the present invention.
  • FIG. 2 is a schematic flow chart of a method for predicting a motion vector according to another embodiment of the present invention.
  • FIG. 3 is a schematic flow chart of a method for predicting a motion vector according to still another embodiment of the present invention.
  • FIG. 4 is a schematic flow chart of a method for predicting a motion vector according to still another embodiment of the present invention.
  • FIG. 5 is a schematic flow chart of a process of predicting a motion vector according to still another embodiment of the present invention.
  • FIG. 6 is a schematic flow chart of a process of predicting a motion vector according to still another embodiment of the present invention.
  • Figure 7 is a schematic diagram of a prediction block in accordance with an embodiment of the present invention.
  • Figure 8 is a schematic block diagram of an encoding device in accordance with one embodiment of the present invention.
  • FIG. 9 is a schematic block diagram of an encoding apparatus according to another embodiment of the present invention.
  • Figure 10 is a schematic block diagram of an encoding apparatus in accordance with still another embodiment of the present invention.
  • Figure 11 is a schematic block diagram of an encoding apparatus in accordance with still another embodiment of the present invention.
  • Figure 12 is a schematic block diagram of an encoding apparatus in accordance with still another embodiment of the present invention.
  • Figure 13 is a schematic block diagram of a decoding device in accordance with one embodiment of the present invention.
  • Figure 14 is a schematic block diagram of a decoding device in accordance with another embodiment of the present invention.
  • Figure 15 is a schematic block diagram of a decoding apparatus in accordance with still another embodiment of the present invention.
  • Figure 16 is a schematic block diagram of a decoding apparatus in accordance with still another embodiment of the present invention.
  • Figure 17 is a schematic block diagram of a decoding apparatus in accordance with still another embodiment of the present invention.
  • the method of the embodiment of the present invention is mainly applied to the motion vector prediction technology in the three-dimensional video coding and decoding in the field of three-dimensional video coding and decoding, and also to the motion vector prediction technology in the three-dimensional high-efficiency video coding and decoding.
  • the method of the embodiment of the present invention may also be used in an inter-layer MV prediction prediction technology in the field of Scalable Video Coding (SVC).
  • SVC Scalable Video Coding
  • the video includes multiple video sequences, each of which may include at least one video. frame.
  • FIG. 1 is a schematic flow chart of a method for predicting a motion vector according to an embodiment of the present invention.
  • the method of Figure 1 can be performed by an encoding device.
  • the method shown in FIG. 1 is used in the encoding or decoding process of an image or video, the method used in the encoding process is performed by the encoding device, and the method used in the decoding process is performed by the decoding device.
  • the method includes:
  • the predicted value of the motion vector of the prediction block is a predetermined value, and the predetermined value is the determined value.
  • the predetermined value is determined as the predicted value of the motion vector of the first sub-predicted block.
  • the availability of motion information according to the spatial neighbor block, the time domain neighborhood corresponding block or the corresponding block between the inter-view blocks of the current prediction block, and the current depth block for the depth map Corresponding to the availability of motion information of the texture block, a candidate list of prediction blocks is constructed, and the prediction block is divided into a plurality of sub-prediction blocks. For the current prediction block, for each sub-prediction block, the corresponding block in the reference view is found according to the disparity vector DV (Disparity Vector); if the motion information of the inter-view corresponding block is available, the motion vector of the corresponding block is used as the current sub-predicted block.
  • DV Display Deformation Vector
  • the motion vector predictor is inserted into the candidate list while the motion vector predictor of the sub-predicted block in which the first motion vector information is available.
  • the method of the embodiment of the present invention determines the motion vector prediction value of each prediction block by performing motion vector prediction on the sub-prediction block of the current prediction block in turn, when the current sub-predicted block is the first sub-predicted block in the prediction block. And finding a corresponding block of the sub-predicted block in the reference view, if the motion vector information of the corresponding block is available, determining a motion vector predictor of the current sub-predicted block according to the motion vector information, and using a motion vector of the corresponding block The information is used as the motion vector predictor of the current sub-predicted block.
  • Embodiments of the present invention determine a predetermined value as a motion vector predictor of a current sub-predicted block to fill the formed motion hole.
  • the embodiment of the present invention determines that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is not available and determines that the current sub-predicted block is the first sub-predicted block in the prediction block.
  • the value is determined as the predicted value of the motion vector of the first sub-predicted block, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining the motion of the first corresponding block in the reference view.
  • the sub-prediction block available for the vector information determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
  • the method of the embodiment of the present invention is also advantageous for flow-through operation, which has a better implementation effect in the field of chip processing.
  • the embodiment of the present invention does not limit the case where the current sub-prediction block is the N-th sub-prediction block in the prediction block (N is an integer greater than or equal to 2), which will be described in detail below.
  • the motion vector information is not available as having no motion vector information in the corresponding block in the reference view of the current sub-prediction block.
  • the available motion vector information includes the size of the motion vector and the reference image index number information, as indicated by the reference image index number. The positional relationship of the reference image and the image corresponding to the current sub-prediction block can determine the direction of the motion vector of the predicted current sub-predicted block.
  • the prediction block in the embodiment of the present invention includes multiple sub-prediction blocks, and the prediction block may be divided into multiple sub-prediction blocks, and may also be in multiple division forms, for example, 9 sub-prediction blocks that can be divided into 3*3, 4*4
  • the 16 sub-predicted blocks or the 5 sub-predicted blocks of 5*5 are not limited by the embodiment of the present invention.
  • the first sub-predicted block in the predicted block is the first sub-predicted block of the plurality of sub-predicted blocks of the predicted block.
  • the sub-predicted block in which the first prediction processing is performed on the sub-predicted block in the prediction block is subjected to prediction processing.
  • the position of the first sub-predicted block may be located at any position of the prediction block, for example, in the upper left corner, the upper right corner, the lower left corner or the lower right corner of the prediction block, which is not limited in the embodiment of the present invention.
  • the embodiment of the present invention is capable of determining a corresponding block in a reference view of a current sub-predicted block according to Disparity Vector (DV) information.
  • DV Disparity Vector
  • the predetermined value is a determined value, and may be regarded as a value that has been set in advance, and may also be regarded as a value obtained in a previous prediction process.
  • the predetermined value in the embodiment of the present invention may be directly used. It can be obtained without calculation or by other solutions.
  • the predetermined value in the embodiment of the present invention may be a certain motion vector information. Specifically, for example, the predetermined value may include a zero motion vector, and the current sub-predicted block performs the inter-view. The disparity vector corresponding to the motion compensation prediction or the candidate vector in the merge candidate list of the prediction block. These predetermined values are available prior to performing sub-predicted block-level inter-view motion vector prediction.
  • the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to the Motion Compensated Predictor (MCP) using the motion vector, the inter-view motion compensation prediction indicates that the motion compensation prediction is performed using the disparity vector to obtain the predicted value of the current block. The predicted value of the current block predicted by the inter-view motion compensation is derived from the reference view.
  • the candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors.
  • the zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
  • the following method may also be adopted: if the prediction block inter-view motion compensation prediction (PU Level IV-MCP) of the sub-prediction block is available, the corresponding block in the reference view does not exist.
  • the current sub-predicted block of the available motion vector information may be used to fill the motion hole formed by the inter-view motion compensated prediction value of the prediction block in which the sub-predicted block is located, and the inter-view motion compensation prediction of the prediction block in which the current sub-predicted block is located Use zeros when the value is not available
  • the motion vector zero MV fills the resulting motion hole for the current sub-predicted block.
  • the embodiment of the present invention does not require additional calculation, and directly determines the predetermined value as the motion vector predictor of the current sub-predicted block. Therefore, the embodiment of the present invention reduces the implementation complexity and has the characteristics of simple algorithm.
  • the motion vector information of the corresponding block is used as The motion vector predictor of the current sub-predicted block, if the motion vector information of the corresponding block is not available, a motion hole is formed here, and the predetermined value is determined as the motion vector predictor of the current sub-predicted block, and the formed Sports hollow.
  • the method further includes:
  • the current sub-prediction block is the N-th sub-prediction block in the prediction block, determine a predetermined value as a predicted value of a motion vector of the N-th sub-prediction block, where N is an integer greater than or equal to 2.
  • the predetermined value is directly determined as the predicted value of the motion vector of the Nth sub-predicted block, and there is no need to wait for the delay time.
  • the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem.
  • the motion vector information of the corresponding block is used as the motion vector predictor of the current sub-predicted block. If the motion vector information of the corresponding block is not available, a motion hole is formed here, and the predicted value of the motion vector of the N-1th sub-prediction block is determined as the predicted value of the motion vector of the Nth sub-predicted block, and is filled at the same time. The resulting motion cavity.
  • the method further includes:
  • the predicted value of the motion vector of the N-1th sub-prediction block is determined as the predicted value of the motion vector of the N-th sub-predicted block.
  • N is an integer greater than or equal to 2.
  • the current sub-predicted block is not the first sub-predicted block, that is, the current sub-predicted block is the N-th sub-predicted block, if the motion vector information of the corresponding block in the reference view of the N-th sub-predicted block Unavailable, determining the predicted value of the motion vector of the N-1th sub-prediction block as the predicted value of the motion vector of the Nth sub-predicted block, without waiting for a delay time, wherein the correspondence of the reference views of the Nth sub-predicted block The motion vector information of the block is not available.
  • the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem. Since the motion vectors of the adjacent sub-predicted blocks with higher correlation are used to fill the holes, it is advantageous to improve the motion compensation prediction accuracy of the current sub-predicted block.
  • the method further includes:
  • the sub-predicted block in which the motion vector information of the first block in the reference block in the reference block is available may be determined first, and then the prediction is determined according to the motion vector information of the first block in the reference block in the reference block.
  • the motion vector predictor of the sub-predicted block in which the motion vector information of the first block in the reference view is available, and the motion of the sub-predicted block in which the motion vector information of the first block in the reference view is available is available.
  • the predicted value of the vector is inserted into the merge candidate list.
  • the Mth sub-prediction block in the prediction block may also be determined first.
  • the motion vector information of the corresponding block of the M-th sub-prediction block in the reference view is available, and all sub-predicted blocks before the M-th sub-prediction block are in the reference view.
  • the motion vector information of the corresponding block in the reference block is not available, and then the predicted value of the motion vector of the Mth sub-predicted block is determined according to the motion vector information of the corresponding block of the Mth sub-predicted block in the reference view, Finally, the predicted value of the motion vector of the Mth sub-predicted block is inserted into the merge candidate list of the motion vector of the predicted block, where M is an integer greater than or equal to 1, and when M is equal to 1, the first available sub-predicted block is predicted The first sub-predicted block in the block.
  • a merge candidate list of motion vectors of a prediction block may be constructed, including availability of motion information of a current prediction block according to a spatial neighborhood block, a time domain neighborhood corresponding block, or a corresponding block between views, and For the current depth block of the depth map corresponding to the availability of the motion information of the texture block, construct a merge candidate list (MV candidate) containing a plurality of available motion vector candidates of the current prediction block, and perform motion vector on the prediction block.
  • MV candidate merge candidate list
  • a best candidate value is selected from the merge candidate list as the motion vector predictor of the merge prediction mode of the current prediction block, and the position information of the best candidate value in the merge candidate list is simultaneously transmitted.
  • the predicted values of the motion vectors of the first available sub-predicted block may be inserted into a plurality of locations in the candidate list to obtain different ordering of the plurality of motion vectors, for example, inserted into the front, middle, and middle of the list. Or the back, preferably, is inserted into the front of the candidate list.
  • the predetermined value may include a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction of the current sub-prediction block, or a candidate vector in the merge candidate list of the prediction block. These predetermined values are available prior to performing sub-predicted block-level inter-view motion vector prediction.
  • the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to motion compensation prediction using motion vectors, the inter-view motion compensation prediction indicates that motion compensation prediction is performed using the disparity vector to obtain a prediction value of the current block. The predicted value of the current block predicted by the inter-view motion compensation is derived from the reference view.
  • the candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors.
  • the zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
  • FIG. 5 is a schematic flow chart of a process of predicting a motion vector according to still another embodiment of the present invention.
  • the method shown in FIG. 5 is used in the encoding or decoding process of an image or video, the method used in the encoding process is performed by the encoding device, and the method used in the decoding process is performed by the decoding device.
  • FIG. 5 is an example of a method for predicting a motion vector of FIG. 1 according to an embodiment of the present invention, and a detailed description thereof is omitted as appropriate.
  • the hole filling is performed by directly filling a predetermined value.
  • the method shown in FIG. 5 directly determines the predetermined value as the motion vector predictor of the current sub-predicted block for the case where the motion information of the corresponding sub-prediction block corresponding to the reference view corresponding block is not available.
  • the method as shown in FIG. 5 includes the following.
  • it may be to start motion vector prediction of each sub-prediction block in the prediction block.
  • all of the sub-prediction blocks of the current prediction block may be traversed, and 503 to 507 are repeatedly performed to perform motion vector prediction on the sub-predicted blocks of the current prediction block one by one. That is, motion vector prediction is performed one by one from the first sub-prediction block to the last sub-prediction block in the prediction block.
  • step 503 Determine whether motion vector information of a corresponding block in a reference view of the current sub-prediction block is available. If available, step 504 is performed; if not, step 505 is performed.
  • the motion vector information is not available as the motion vector information in the corresponding block in the reference view of the current sub-prediction block.
  • the available motion vector information includes the size of the motion vector and the reference image index number information of the motion vector.
  • step 506 Determine whether the current sub-prediction block is the first available sub-prediction block in the prediction block, and the first available sub-prediction block is a sub-prediction block that is available for the motion vector information of the first corresponding block in the reference view. If yes, step 506 is performed, and if not, step 507 is performed.
  • the current sub-predicted block is one of the sub-predicted blocks first appearing in the predicted block, and the motion vector information of the corresponding block of the sub-predicted block in the reference view is available.
  • the predetermined value is determined as the predicted value of the motion vector of the current sub-predicted block while filling the formed motion hole.
  • the prediction value of the motion vector of the first available sub-predicted block is determined according to the motion vector information of the corresponding block of the first available sub-predicted block; the predicted value of the motion vector of the first available sub-predicted block is inserted into the prediction block
  • the merge candidate list to form a new merge candidate list of motion vectors of the predicted block.
  • step 508. Determine whether the current sub-predicted block is the last sub-predicted block. If yes, go to step 509, if not, go to step 502.
  • the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem. .
  • FIG. 7 is a schematic diagram of a prediction block in accordance with an embodiment of the present invention.
  • the prediction block is divided into 16 sub-prediction block blocks of 4*4, which are the first sub-prediction block to the 16th sub-prediction block, respectively.
  • motion vector information of the corresponding block in the reference view corresponding to the first sub-prediction block to the sixth sub-prediction block and the eleventh sub-prediction block is not available, and the seventh sub-test block to the tenth sub-predicted block and the twelfth sub-prediction The motion vector information of the corresponding block in the reference view corresponding to the block to the 16th sub-prediction block is available.
  • the motion vector prediction of the sub-predicted block in the prediction block shown in FIG. 7 can be performed by the method shown in FIG. 5.
  • the predetermined value is determined as the first sub-prediction block to the sixth sub-prediction Motion vector predictor of the block and the eleventh sub-prediction block; motion vector information of the corresponding block in the reference view corresponding to the seventh sub-block to the tenth sub-prediction block and the twelfth sub-prediction block to the 16th sub-prediction block Therefore, the motion vector information of the respective sub-blocks from the 7th sub-block to the 10th sub-prediction block and the 12th sub-prediction block to the 16th sub-prediction block can be used as their respective motion vector predictors; since the 7th sub-predicted block is Pre-predicting blocks in which the motion vector information of the first block in the reference view is available in the prediction block, so the motion vector predictor of the 7th sub-prediction block is inserted into the merge candidate list of the prediction
  • FIG. 5 is intended to help those skilled in the art to better understand the embodiments of the present invention and not to limit the scope of the embodiments of the present invention.
  • a person skilled in the art will be able to make various modifications or changes in the embodiments according to the example of FIG. 5, and such modifications or variations are also within the scope of the embodiments of the present invention.
  • the motion vector predictor of the block may be the same or different, that is, the first sub-prediction block to the sixth sub-prediction block and the eleventh sub-prediction block have a total of seven motion vector prediction values, and the seven prediction values may not be The same may be partially the same, and the embodiment of the present invention does not limit this.
  • the prediction block and the sub-prediction block in FIG. 7 are only schematic representations, and the prediction block shown in FIG. 7 is divided into 16 sub-prediction blocks of 4*4. In practical applications, the prediction block can be divided into multiple sub-predicted blocks. For example, it can be divided into 9 sub-predicted blocks of 3*3 or 25 sub-predicted blocks of 5*5, which are not limited by the embodiment of the present invention.
  • the sub-predicted blocks of the predictive block shown in FIG. 7 are labeled by horizontal sorting.
  • the labeling manner of the sub-predicted block of the prediction block may also be other manners, such as a reverse order label, or a vertical label, etc., which is not limited by the present invention. In other words, the example of FIG.
  • FIG. 6 is a schematic flow chart of a process of predicting a motion vector according to still another embodiment of the present invention.
  • the method shown in FIG. 6 is used in the encoding or decoding process of an image or video, the method used in the encoding process is performed by the encoding device, and the method used in the decoding process is performed by the decoding device.
  • FIG. 6 is an example of a method for predicting a motion vector of FIG. 2 according to an embodiment of the present invention, and a detailed description thereof is omitted as appropriate.
  • the predetermined value is directly determined as the motion vector predictor of the current sub-predicted block; the corresponding reference view appearing later
  • the sub-predicted block in which the motion vector information of the corresponding block is not available will directly inherit the predicted value of the motion vector of the previous sub-predicted block.
  • the method shown in Figure 6 includes:
  • it may be to start motion vector prediction of the sub-predicted block in the prediction block.
  • all of the sub-prediction blocks of the current prediction block may be traversed, and 603 to 609 are repeatedly performed to perform motion vector prediction on the sub-predicted blocks of the current prediction block one by one. That is, motion vector prediction is performed one by one from the first sub-prediction block to the last sub-prediction block in the prediction block.
  • step 604 Determine whether motion vector information of a corresponding block in a reference view of the current sub-prediction block is available. If yes, step 604 is performed; if not, step 605 is performed.
  • the motion vector information is not available as the middle of the corresponding block in the reference view of the current sub-predicted block. Does not have motion vector information.
  • the motion vector information may be used as motion vector information including the size of the motion vector and the reference image index number information of the motion vector.
  • step 606 Determine whether the current sub-prediction block is the first available sub-prediction block in the prediction block, and the first available sub-prediction block is a sub-prediction block that is available for the motion vector information of the first corresponding block in the reference view. If yes, step 606 is performed, and if not, step 607 is performed.
  • the current sub-predicted block is one of the sub-predicted blocks first appearing in the predicted block, and the motion vector information of the corresponding block of the sub-predicted block in the reference view is available.
  • step 605. Determine whether the current sub-prediction block is the first sub-prediction block. If yes, step 608 is performed, and if not, step 609 is performed.
  • the current sub-prediction block is the first sub-predicted block of the prediction, that is, whether the current sub-predicted block is the first sub-predicted block of the plurality of sub-predicted blocks of the predicted block.
  • the prediction value of the motion vector of the first available sub-predicted block is determined according to the motion vector information of the corresponding block of the first available sub-predicted block; the predicted value of the motion vector of the first available sub-predicted block is inserted into the prediction block
  • the merge candidate list to form a new merge candidate list of motion vectors of the predicted block.
  • the predetermined value is determined as the predicted value of the motion vector of the current sub-predicted block while filling the formed motion hole.
  • step 610 Determine whether the current sub-prediction block is the last sub-prediction block. If yes, step 611 is performed, and if not, step 602 is performed.
  • the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time.
  • the predicted value of the motion vector of each predicted block without waiting for confirmation
  • the sub-prediction blocks available for the motion vector information of the first corresponding block in the reference view determine the motion vector of these prediction blocks, thereby eliminating the delay problem in predicting the motion vector.
  • FIG. 7 is a schematic diagram of a prediction block according to an embodiment of the present invention.
  • the prediction block is divided into 16 sub-prediction block blocks of 4*4, which are the first sub-prediction block to the 16th sub-prediction block, respectively.
  • motion vector information of the corresponding block in the reference view corresponding to the first sub-prediction block to the sixth sub-prediction block and the eleventh sub-prediction block is not available, and the seventh sub-test block to the tenth sub-predicted block and the twelfth sub-prediction The motion vector information of the corresponding block in the reference view corresponding to the block to the 16th sub-prediction block is available.
  • the motion vector prediction of the sub-predicted block in the prediction block shown in FIG. 7 can be performed by the method shown in FIG. 6.
  • the predetermined value is determined as the motion vector predictor of the first sub-predicted block; since, after the first sub-predicted block The motion vector information of the corresponding block in the reference view corresponding to the second sub-prediction block to the sixth sub-prediction block is not available, because the method shown in FIG.
  • the 6 determines the predicted value of the motion vector of the N-1th sub-predicted block as The predicted value of the motion vector of the Nth sub-predicted block, so the predicted value of the motion vector of the second sub-predicted block is the same as the predicted value of the motion vector of the first sub-predicted block, that is, the same predetermined value, and similarly, the third sub- The motion vector prediction value of the prediction block to the sixth sub-prediction block is also the same as the motion vector prediction value of the first sub-prediction block and the second sub-prediction block; similarly, the motion vector prediction value of the eleventh sub-prediction and the tenth sub-prediction The motion vector predictor of the block is the same; since the 7th sub-prediction block is a sub-predicted block in which the motion vector information of the first block in the reference block in the reference block is available, the 7th sub-predicted block is Motion vector prediction value is inserted in merge the prediction block candidate list, constituting a new list of candidate prediction blocks merge.
  • FIG. 6 is intended to help those skilled in the art to better understand the embodiments of the present invention and not to limit the scope of the embodiments of the present invention.
  • a person skilled in the art will be able to make various modifications and changes in accordance with the example of FIG. 6 which are within the scope of the embodiments of the present invention.
  • the motion vector prediction is performed one by one from the first sub-prediction block to the last sub-prediction block in the prediction block, if the motion vector information in the corresponding block of all the prediction blocks is not available Use, consider the inter-view motion compensation prediction candidate of the prediction block (IV-MCP) Candidate) is invalid, in which case the motion vector information may not be inserted into the motion vector merge candidate list of the prediction block.
  • IV-MCP inter-view motion compensation prediction candidate of the prediction block
  • a method and a process for predicting a motion vector according to an embodiment of the present invention are described in detail above with reference to FIG. 1 to FIG. 7.
  • An encoding device according to an embodiment of the present invention will be described below with reference to FIG. 8 to FIG.
  • a decoding device according to an embodiment of the present invention.
  • FIG. 8 is a schematic block diagram of an encoding device in accordance with one embodiment of the present invention.
  • the encoding device 800 shown in FIG. 8 includes a first determining unit 810 and a second determining unit 820.
  • the first determining unit 810 is configured to determine that motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable.
  • the second determining unit 820 is configured to determine, when the current sub-prediction block is the first sub-prediction block in the prediction block, that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
  • the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block,
  • the predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available.
  • the sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
  • the encoding device 800 can implement the various processes implemented by the encoding device in the embodiment of FIG. 1. To avoid repetition, details are not described herein again.
  • the encoding device 900 shown in FIG. 9 further includes: a third determining unit 830.
  • the third determining unit 830 is configured to determine a predetermined value as a predicted value of a motion vector of the Nth sub-predicted block when the current sub-predicted block is the N-th sub-predicted block in the predicted block, where N is greater than or equal to An integer of 2.
  • the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem.
  • the encoding device 900 can implement the various processes implemented by the encoding device in the embodiment of FIG. 2. To avoid repetition, details are not described herein again.
  • the encoding device 1000 shown in FIG. 10 further includes: a fourth determining unit 840.
  • the fourth determining unit 840 is configured to determine, when the current sub-prediction block is the Nth sub-prediction block in the prediction block, the predicted value of the motion vector of the N-1th sub-predicted block as the motion of the Nth sub-predicted block.
  • the predicted value of the vector where N is an integer greater than or equal to 2.
  • the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem. Since the motion vectors of the adjacent sub-predicted blocks with higher correlation are used to fill the holes, it is advantageous to improve the motion compensation prediction accuracy of the current sub-predicted block.
  • the encoding device 1000 can implement the various processes implemented by the encoding device in the embodiment of FIG. 3. To avoid repetition, details are not described herein again.
  • the encoding apparatus 1100 shown in FIG. 11 further includes: a construction unit 850, a fifth determination unit 860, a sixth determination unit 870, and an insertion unit 880.
  • the construction unit 850 is configured to construct a merge candidate list of motion vectors of the prediction block, the merge candidate list includes a plurality of candidate motion vectors of the prediction block, and a fifth determining unit, configured to determine the first available sub-prediction block in the prediction block.
  • a first available sub-predicted block is a sub-predicted block available for motion vector information of a corresponding block in a reference view; a sixth determining unit, configured to determine, according to motion vector information of a corresponding block of the first available sub-predicted block, the first available a prediction value of a motion vector of the sub-predicted block; an insertion unit, configured to insert a prediction value of a motion vector of the first available sub-prediction block into a merge candidate list of the prediction block to constitute a new merge candidate of the motion vector of the prediction block List.
  • the encoding device 1100 can implement the various processes implemented by the encoding device in the embodiment of FIG. 4, and details are not described herein again to avoid repetition.
  • the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction by the current sub-prediction block, or a candidate vector in the merge candidate list of the prediction block.
  • the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to motion compensation prediction using motion vectors, inter-view motion compensation prediction representation The motion compensation prediction is performed using the disparity vector to obtain a predicted value of the current block. The predicted value of the current block predicted by the inter-view motion compensation is derived from the reference view.
  • the candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors.
  • the zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
  • FIG. 12 is a schematic block diagram of an encoding apparatus in accordance with still another embodiment of the present invention.
  • the encoding device 1200 shown in FIG. 12 includes a processor 1210, a memory 1220, and a bus system 1230.
  • the processor 1210 is configured to call the code stored in the memory 1220 through the bus system 1230 to determine that motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable; in the current sub-prediction block When the first sub-predicted block in the block is predicted, it is determined that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
  • the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block,
  • the predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available.
  • the sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
  • bus system 1240 that includes, in addition to the data bus, a power bus, a control bus, and a status signal bus.
  • bus system 1230 various buses are labeled as bus system 1230 in FIG.
  • Processor 1210 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method may be completed by an integrated logic circuit of hardware in the processor 1210 or an instruction in a form of software.
  • the processor 1210 may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), or the like. Programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA Field Programmable Gate Array
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present invention may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in random access memory (RAM), flash memory, only Read-Only Memory (ROM), programmable read-only memory or electrically erasable programmable memory, registers, etc., are well-known storage media in the field.
  • RAM random access memory
  • ROM Read-Only Memory
  • registers, etc. are well-known storage media in the field.
  • the storage medium is located in the memory 1220, and the processor 1210 reads the information in the memory 1220 and, in conjunction with its hardware, performs the steps of the above method.
  • the encoding device 1220 can implement various processes implemented by the encoding device in the embodiment of FIG. 1. To avoid repetition, details are not described herein again.
  • the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block,
  • the predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available.
  • the sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
  • the processor 1210 is further configured to: when the current sub-prediction block is the Nth sub-prediction block in the prediction block, determine the predetermined value as the predicted value of the motion vector of the N-th sub-predicted block, Where N is an integer greater than or equal to 2.
  • the processor 1210 is further configured to: when the current sub-prediction block is the N-th sub-prediction block in the prediction block, determine the predicted value of the motion vector of the N-1th sub-prediction block as the first The predicted value of the motion vector of the N sub-predicted blocks, where N is an integer greater than or equal to 2.
  • the processor 1210 is further configured to construct a merge candidate list of motion vectors of the prediction block, where the merge candidate list includes multiple candidate motion vectors of the prediction block; and determine the first available sub-prediction in the prediction block.
  • the first available sub-predicted block is a sub-predicted block in which motion vector information of the corresponding block in the first reference block is available; and the motion of the first available sub-predicted block is determined according to motion vector information of the corresponding block of the first available sub-predicted block
  • the predicted value of the vector; the predicted value of the motion vector of the first available sub-predicted block is inserted into the merge candidate list of the predicted block to constitute a new merge candidate list of motion vectors of the predicted block.
  • the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction by the current sub-prediction block, or a candidate vector in the merge candidate list of the prediction block.
  • the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to motion compensation prediction using motion vectors, inter-view motion compensation prediction representation The motion compensation prediction is performed using the disparity vector to obtain a predicted value of the current block. The predicted value of the current block predicted by the inter-view motion compensation is derived from the reference view.
  • the candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors.
  • the zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
  • FIG. 13 is a schematic block diagram of a decoding device in accordance with one embodiment of the present invention.
  • the decoding device 1300 shown in FIG. 13 includes a first determining unit 1310 and a second determining unit 1320.
  • the first determining unit 1310 is configured to determine that motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable.
  • the second determining unit 1320 is configured to determine, when the current sub-prediction block is the first sub-prediction block in the prediction block, that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
  • the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block,
  • the predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available.
  • the sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
  • the decoding device 1300 can implement various processes implemented by the decoding device in the embodiment of FIG. 1. To avoid repetition, details are not described herein again.
  • the decoding device 1400 shown in FIG. 14 further includes: a third determining unit 1330.
  • the third determining unit 1330 is configured to determine a predetermined value as a predicted value of a motion vector of the Nth sub-predicted block when the current sub-predicted block is the N-th sub-predicted block in the predicted block, where N is greater than or equal to An integer of 2.
  • the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem.
  • the decoding device 1400 can implement various processes implemented by the decoding device in the embodiment of FIG. 2. To avoid repetition, details are not described herein again.
  • the decoding device 1500 shown in FIG. 15 further includes: Unit 1340 is determined.
  • the fourth determining unit 1340 is configured to determine, when the current sub-predicted block is the N-th sub-predicted block in the prediction block, the predicted value of the motion vector of the N-1th sub-predicted block as the motion of the Nth sub-predicted block.
  • the predicted value of the vector where N is an integer greater than or equal to 2.
  • the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem. Since the motion vectors of the adjacent sub-predicted blocks with higher correlation are used to fill the holes, it is advantageous to improve the motion compensation prediction accuracy of the current sub-predicted block.
  • the decoding device 1500 can implement the various processes implemented by the decoding device in the embodiment of FIG. 3. To avoid repetition, details are not described herein again.
  • the decoding device 1600 shown in FIG. 16 further includes: a construction unit 1350, a fifth determination unit 1360, a sixth determination unit 1370, and an insertion unit 1380.
  • the construction unit 1350 is configured to construct a merge candidate list of motion vectors of the prediction block, the merge candidate list includes a plurality of candidate motion vectors of the prediction block, and a fifth determining unit, configured to determine the first available sub-prediction block in the prediction block.
  • a first available sub-predicted block is a sub-predicted block available for motion vector information of a corresponding block in a reference view; a sixth determining unit, configured to determine, according to motion vector information of a corresponding block of the first available sub-predicted block, the first available a prediction value of a motion vector of the sub-predicted block; an insertion unit, configured to insert a prediction value of a motion vector of the first available sub-prediction block into a merge candidate list of the prediction block to constitute a new merge candidate of the motion vector of the prediction block List.
  • the decoding device 1600 can implement various processes implemented by the decoding device in the embodiment of FIG. 4. To avoid repetition, details are not described herein again.
  • the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction by the current sub-prediction block, or a candidate vector in the merge candidate list of the prediction block.
  • the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to motion compensation prediction using motion vectors, the inter-view motion compensation prediction indicates that motion compensation prediction is performed using the disparity vector to obtain a prediction value of the current block. Complement by visual motion The predicted value of the current block predicted is derived from the reference view.
  • the candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors.
  • the zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
  • FIG. 17 is a schematic block diagram of a decoding apparatus in accordance with still another embodiment of the present invention.
  • the decoding device 1700 shown in FIG. 17 includes a processor 1710, a memory 1720, and a bus system 1730.
  • the processor 1710 is configured to call the code stored in the memory 1720 by the bus system 1730 to determine that motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable; in the current sub-prediction block When the first sub-predicted block in the block is predicted, it is determined that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
  • the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block,
  • the predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available.
  • the sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
  • bus system 1730 that includes, in addition to the data bus, a power bus, a control bus, and a status signal bus.
  • bus system 1730 includes, in addition to the data bus, a power bus, a control bus, and a status signal bus.
  • bus system 1730 includes, in addition to the data bus, a power bus, a control bus, and a status signal bus.
  • various buses are labeled as bus system 1730 in FIG.
  • the method disclosed in the above embodiments of the present invention may be applied to the processor 1710 or implemented by the processor 1710.
  • the processor 1710 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method may be completed by an integrated logic circuit of hardware in the processor 1710 or an instruction in a form of software.
  • the processor 1710 may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), or the like. Programmable logic devices, discrete gates or transistor logic devices, discrete hardware components.
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present invention may be implemented or carried out.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present invention may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory or electrically erasable Program memory, registers, etc. are well-established in the storage medium of the art.
  • the storage medium is located in the memory 1720, and the processor 1710 reads the information in the memory 1720 and performs the steps of the above method in combination with its hardware.
  • the decoding device 1720 can implement various processes implemented by the decoding device in the embodiment of FIG. 1. To avoid repetition, details are not described herein again.
  • the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block,
  • the predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available.
  • the sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
  • the processor 1710 is further configured to: when the current sub-prediction block is the Nth sub-prediction block in the prediction block, determine the predetermined value as the predicted value of the motion vector of the N-th sub-prediction block, Where N is an integer greater than or equal to 2.
  • the processor 1710 is further configured to: when the current sub-prediction block is the N-th sub-prediction block in the prediction block, determine the predicted value of the motion vector of the N-1th sub-prediction block as the first The predicted value of the motion vector of the N sub-predicted blocks, where N is an integer greater than or equal to 2.
  • the processor 1710 is further configured to construct a merge candidate list of motion vectors of the prediction block, where the merge candidate list includes multiple candidate motion vectors of the prediction block; and determine the first available sub-prediction in the prediction block.
  • the first available sub-predicted block is a sub-predicted block in which motion vector information of the corresponding block in the first reference block is available; and the motion of the first available sub-predicted block is determined according to motion vector information of the corresponding block of the first available sub-predicted block
  • the predicted value of the vector; the predicted value of the motion vector of the first available sub-predicted block is inserted into the merge candidate list of the predicted block to constitute a new merge candidate list of motion vectors of the predicted block.
  • the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction by the current sub-prediction block, or a candidate vector in the merge candidate list of the prediction block.
  • the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to motion compensation prediction using motion vectors, the inter-view motion compensation prediction indicates that motion compensation prediction is performed using the disparity vector to obtain a prediction value of the current block. Complement by visual motion The predicted value of the current block predicted is derived from the reference view.
  • the candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors.
  • the zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
  • RAM random access memory
  • ROM read only memory
  • EEPROM electrically programmable ROM
  • EEPly erasable programmable ROM registers
  • hard disk removable disk
  • CD-ROM computer-readable media

Landscapes

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

Abstract

A method, coding apparatus and decoding apparatus for predicting a motion vector are provided in embodiments of the present invention. The method comprises: determining that motion vector information of a corresponding block in a reference view of the current prediction sub-block in prediction blocks is not available; when the current prediction sub-block is the first prediction sub-block in the prediction blocks, determining that the prediction value of the motion vector of the first prediction sub-block is a predetermined value which is a determined value. The technical solution can solve the problem of delays in the process of motion vector prediction.

Description

预测运动矢量的方法、编码设备和解码设备Method for predicting motion vector, encoding device and decoding device
本申请要求于2014年01月03日提交中国专利局、申请号为201410004055.X、发明名称为“预测运动矢量的方法、编码设备和解码设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application filed on January 3, 2014, the Chinese Patent Office, the application number is 201410004055.X, and the invention is entitled "Method for predicting motion vectors, coding equipment and decoding equipment". The citations are incorporated herein by reference.
技术领域Technical field
本发明涉及视频编解码领域,特别涉及一种预测运动矢量的方法、编码设备和解码设备。The present invention relates to the field of video coding and decoding, and in particular, to a method, an encoding device, and a decoding device for predicting a motion vector.
背景技术Background technique
视间运动矢量预测(Inter-view Motion Vector Prediction)是三维视频编码(3-Dimension video coding,3DV coding)中最重要的性能提升工具。三维高效视频编码(3D-HEVC,3D-High Efficiency Video Coding)标准使用子预测块级视间运动矢量预测(Sub-PU Level Inter-view MV Prediction)来替代预测块级视间运动矢量预测(PU Level Inter-view MV Prediction)。Inter-view Motion Vector Prediction is the most important performance improvement tool in 3-Dimension video coding (3DV coding). The 3D-High Efficiency Video Coding (3D-High Efficiency Video Coding) standard uses sub-PU Level Inter-view MV Prediction instead of predictive block-level inter-view motion vector prediction (PU). Level Inter-view MV Prediction).
在对当前预测块或预测单元(Prediction Unit,PU)进行视间运动补偿预测(Inter-view Motion Compensated Prediction)时,首先将当前预测块划分成若干等尺寸的子预测块或子预测单元(Sub-PU)。若当前子预测块(例如,第一个子预测块)的参考视中的对应块的运动矢量信息不可用,则不作处理,接着依次向后确定其他子预测块的运动矢量信息,直到找到预测块中的首个在参考视中的对应块的运动矢量信息可用的子预测块,并将该可用的运动矢量信息确定为该子预测块之前所有不可用的Sub-PU块的运动矢量预测值。上述处理方法容易造成预测运动矢量过程中的延迟。When performing Inter-view Motion Compensated Prediction on a current prediction block or a Prediction Unit (PU), the current prediction block is first divided into several equal-sized sub-predicted blocks or sub-predicted units (Sub -PU). If the motion vector information of the corresponding block in the reference view of the current sub-prediction block (eg, the first sub-prediction block) is not available, no processing is performed, and then the motion vector information of the other sub-predicted blocks is sequentially determined backward until the prediction is found. a sub-predicted block in which the first motion vector information of the corresponding block in the reference view is available, and the available motion vector information is determined as a motion vector predictor of all unavailable Sub-PU blocks before the sub-predicted block . The above processing method is liable to cause delay in predicting motion vector processes.
发明内容Summary of the invention
本发明实施例提供一种运动矢量的预测方法,该方法能够消除预测运动矢量过程中的延迟问题。Embodiments of the present invention provide a motion vector prediction method, which can eliminate a delay problem in predicting a motion vector process.
第一方面,本发明实施例提供了一种预测运动矢量的方法,包括:确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用;在所述当前子预测块为预测块中的第一个子预测块时,确定第一个子预测块的运 动矢量的预测值为预定值,所述预定值为已确定的值。In a first aspect, an embodiment of the present invention provides a method for predicting a motion vector, including: determining that motion vector information of a corresponding block in a reference view of a current sub-prediction block in a prediction block is unavailable; and in the current sub-prediction block When predicting the first sub-predicted block in the block, determine the operation of the first sub-predicted block The predicted value of the motion vector is a predetermined value, and the predetermined value is a determined value.
结合第一方面,在第一种可能的实现方式中,该方法还包括:在当前子预测块为预测块中的第N个子预测块时,将预定值确定为第N个子预测块的运动矢量的预测值,其中,N为大于或等于2的整数。With reference to the first aspect, in a first possible implementation manner, the method further includes: when the current sub-predicted block is the Nth sub-predicted block in the prediction block, determining the predetermined value as the motion vector of the N-th sub-predicted block The predicted value, where N is an integer greater than or equal to 2.
结合第一方面,在第二种可能的实现方式中,该方法还包括:在当前子预测块为预测块中的第N个子预测块时,将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。With reference to the first aspect, in a second possible implementation manner, the method further includes: predicting a motion vector of the (N-1)th sub-predicted block when the current sub-predicted block is the Nth sub-predicted block in the prediction block The value is determined as a predicted value of the motion vector of the Nth sub-predicted block, where N is an integer greater than or equal to 2.
结合第一方面或第一至第二种可能的实现方式中的任一种可能的实现方式,在第一方面的第三种可能的实现方式中,该方法还包括:构建预测块的运动矢量的合并候选列表,合并候选列表包括预测块的多个候选运动矢量;确定预测块中的首个可用子预测块,首个可用子预测块为首个在参考视中的对应块的运动矢量信息可用的子预测块;根据首个可用子预测块的对应块的运动矢量信息确定首个可用子预测块的运动矢量的预测值;将首个可用子预测块的运动矢量的预测值插入到预测块的合并候选列表,以构成所述预测块的运动矢量的新合并候选列表。In combination with the first aspect or any one of the first to the second possible implementation manners, in a third possible implementation manner of the first aspect, the method further includes: constructing a motion vector of the prediction block Merging candidate list, the merge candidate list includes a plurality of candidate motion vectors of the prediction block; determining the first available sub-prediction block in the prediction block, the first available sub-prediction block is the motion vector information of the first corresponding block in the reference view available Sub prediction block; determining a prediction value of a motion vector of the first available sub prediction block according to motion vector information of a corresponding block of the first available sub prediction block; and inserting a prediction value of a motion vector of the first available sub prediction block into the prediction block A merge candidate list to constitute a new merge candidate list of motion vectors of the predicted block.
结合第三种可能的实现方式,在第四种可能的实现方式中,预定值包括零运动矢量、当前子预测块进行视间运动补偿预测所对应的视差矢量或预测块的合并候选列表中的候选矢量。With reference to the third possible implementation manner, in a fourth possible implementation manner, the predetermined value includes a zero motion vector, a disparity vector corresponding to the current sub-predicted block for inter-view motion compensation prediction, or a merge candidate list of the prediction block. Candidate vector.
结合第四种可能的实现方式,在第五种可能的实现方式中,零运动矢量为数值大小为零、参考图像索引号为零的矢量。In conjunction with the fourth possible implementation, in a fifth possible implementation, the zero motion vector is a vector with a numerical value of zero and a reference image index number of zero.
第二方面,本发明实施例提供了一种编码设备,包括:第一确定单元,用于确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用;第二确定单元,用于在当前子预测块为所述预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,预定值为已确定的值。In a second aspect, an embodiment of the present invention provides an encoding apparatus, including: a first determining unit, configured to determine that motion vector information of a corresponding block in a reference view of a current sub-prediction block in a prediction block is unavailable; And a unit, configured to determine, when the current sub-predicted block is the first one of the predicted blocks, that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
结合第二方面,在第一种可能的实现方式中,该编码设备还包括:第三确定单元,用于在当前子预测块为所述预测块中的第N个子预测块时,将预定值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。With reference to the second aspect, in a first possible implementation, the coding apparatus further includes: a third determining unit, configured to: when the current sub-predicted block is the Nth sub-predicted block in the predicted block, a predetermined value The predicted value of the motion vector determined as the Nth sub-predicted block, where N is an integer greater than or equal to 2.
结合第二方面,在第二种可能的实现方式中,该编码设备还包括:第四 确定单元,用于在当前子预测块为预测块中的第N个子预测块时,将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。With reference to the second aspect, in a second possible implementation manner, the encoding device further includes: a determining unit, configured to determine a predicted value of a motion vector of the N-1th sub-prediction block as a predicted value of a motion vector of the Nth sub-predicted block, when the current sub-predicted block is the N-th sub-predicted block in the predicted block, Where N is an integer greater than or equal to 2.
结合第二方面或第二方面的第一至第二种可能的实现方式中的任一种可能的实现方式,在第二方面的第三种可能的实现方式中,该编码设备还包括:构建单元,用于构建预测块的运动矢量的合并候选列表,合并候选列表包括预测块的多个候选运动矢量;第五确定单元,用于确定预测块中的首个可用子预测块,首个可用子预测块为首个在参考视中的对应块的运动矢量信息可用的子预测块;第六确定单元,用于根据首个可用子预测块的对应块的运动矢量信息确定首个可用子预测块的运动矢量的预测值;插入单元,将首个可用子预测块的运动矢量的预测值插入到预测块的合并候选列表,以构成预测块的运动矢量的新合并候选列表。With reference to the second aspect or any one of the first possible implementation manners of the second aspect, the third possible implementation manner of the second aspect, the coding device further includes: constructing a unit, a merge candidate list for constructing a motion vector of the prediction block, the merge candidate list includes a plurality of candidate motion vectors of the prediction block, and a fifth determining unit, configured to determine the first available sub-prediction block in the prediction block, the first available The sub-prediction block is a sub-prediction block in which the motion vector information of the corresponding block in the first view is available, and the sixth determining unit is configured to determine the first available sub-prediction block according to the motion vector information of the corresponding block of the first available sub-predicted block. The prediction value of the motion vector; the insertion unit inserts the prediction value of the motion vector of the first available sub-prediction block into the merge candidate list of the prediction block to constitute a new merge candidate list of the motion vector of the prediction block.
结合第二方面的第三种可能的实现方式,在第四种可能的实现方式中,预定值包括零运动矢量、当前子预测块进行视间运动补偿预测所对应的视差矢量或预测块的合并候选列表中的候选矢量。With reference to the third possible implementation manner of the second aspect, in a fourth possible implementation manner, the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction of the current sub-predicted block, or a combination of prediction blocks Candidate vector in the candidate list.
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,零运动矢量为数值大小为零、参考图像索引号为零的矢量。In conjunction with the fourth possible implementation of the second aspect, in a fifth possible implementation, the zero motion vector is a vector with a numerical value of zero and a reference image index number of zero.
第三方面,本发明实施例提供了一种解码设备,包括:第一确定单元,用于确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用;第二确定单元,用于在当前子预测块为所述预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,预定值为已确定的值。In a third aspect, an embodiment of the present invention provides a decoding apparatus, including: a first determining unit, configured to determine that motion vector information of a corresponding block in a reference view of a current sub-prediction block in a prediction block is unavailable; And a unit, configured to determine, when the current sub-predicted block is the first one of the predicted blocks, that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
结合第三方面,在第一种可能的实现方式中,该解码设备还包括:第三确定单元,用于在当前子预测块为所述预测块中的第N个子预测块时,将预定值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。With reference to the third aspect, in a first possible implementation, the decoding apparatus further includes: a third determining unit, configured to: when the current sub-predicted block is the Nth sub-predicted block in the predicted block, a predetermined value The predicted value of the motion vector determined as the Nth sub-predicted block, where N is an integer greater than or equal to 2.
结合第三方面,在第二种可能的实现方式中,该解码设备还包括:第四确定单元,用于在当前子预测块为预测块中的第N个子预测块时,将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。With reference to the third aspect, in a second possible implementation manner, the decoding apparatus further includes: a fourth determining unit, configured to: when the current sub-predicted block is the Nth sub-predicted block in the prediction block, the N-1th The predicted value of the motion vector of the sub-predicted block is determined as the predicted value of the motion vector of the N-th sub-predicted block, where N is an integer greater than or equal to 2.
结合第三方面或第三方面的第一至第二种可能的实现方式中的任一种 可能的实现方式,在第三方面的第三种可能的实现方式中,该解码设备还包括:构建单元,用于构建预测块的运动矢量的合并候选列表,合并候选列表包括预测块的多个候选运动矢量;第五确定单元,用于确定预测块中的首个可用子预测块,首个可用子预测块为首个在参考视中的对应块的运动矢量信息可用的子预测块;第六确定单元,用于根据首个可用子预测块的对应块的运动矢量信息确定首个可用子预测块的运动矢量的预测值;插入单元,将首个可用子预测块的运动矢量的预测值插入到预测块的合并候选列表,以构成预测块的运动矢量的新合并候选列表。Combining any of the first to second possible implementations of the third aspect or the third aspect In a third possible implementation manner of the third aspect, the decoding apparatus further includes: a construction unit, configured to construct a merge candidate list of motion vectors of the prediction block, where the merge candidate list includes multiple prediction blocks a candidate motion vector; a fifth determining unit, configured to determine a first available sub-prediction block in the prediction block, where the first available sub-prediction block is a sub-predicted block in which motion vector information of the first corresponding block in the reference view is available; a determining unit, configured to determine a predicted value of a motion vector of the first available sub-predicted block according to motion vector information of a corresponding block of the first available sub-predicted block; and insert a unit to insert a predicted value of a motion vector of the first available sub-predicted block A merge candidate list to the prediction block is made to constitute a new merge candidate list of motion vectors of the prediction block.
结合第三方面的第三种可能的实现方式,在第四种可能的实现方式中,预定值包括零运动矢量、当前子预测块进行视间运动补偿预测所对应的视差矢量或预测块的合并候选列表中的候选矢量。With reference to the third possible implementation manner of the third aspect, in a fourth possible implementation manner, the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion compensation prediction of the current sub-predicted block, or a combination of prediction blocks Candidate vector in the candidate list.
结合第三方面的第四种可能的实现方式,在第五种可能的实现方式中,零运动矢量为数值大小为零、参考图像索引号为零的矢量。In conjunction with the fourth possible implementation of the third aspect, in a fifth possible implementation, the zero motion vector is a vector with a numerical value of zero and a reference image index number of zero.
本发明实施例通过确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用,并在当前子预测块为预测块中的第一个子预测块时,将预定值确定为所述第一个子预测块的运动矢量的预测值,这样能够及时确定第一个子预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定第一个子预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。The embodiment of the present invention determines that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable, and when the current sub-predicted block is the first sub-predicted block in the prediction block, the predetermined value is determined. Determining the predicted value of the motion vector of the first sub-predicted block, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining the motion vector of the corresponding block in the first reference view. The sub-prediction block in which the information is available determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
附图说明DRAWINGS
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the drawings to be used in the embodiments of the present invention will be briefly described below. It is obvious that the drawings described below are only some embodiments of the present invention, Those skilled in the art can also obtain other drawings based on these drawings without paying any creative work.
图1是本发明一个实施例的预测运动矢量的方法示意流程图。1 is a schematic flow chart of a method for predicting a motion vector according to an embodiment of the present invention.
图2是本发明另一实施例的预测运动矢量的方法示意流程图。2 is a schematic flow chart of a method for predicting a motion vector according to another embodiment of the present invention.
图3是本发明再一实施例的预测运动矢量的方法示意流程图。3 is a schematic flow chart of a method for predicting a motion vector according to still another embodiment of the present invention.
图4是本发明再一实施例的预测运动矢量的方法示意流程图。4 is a schematic flow chart of a method for predicting a motion vector according to still another embodiment of the present invention.
图5是本发明再一实施例的预测运动矢量的过程的示意流程图。FIG. 5 is a schematic flow chart of a process of predicting a motion vector according to still another embodiment of the present invention.
图6是本发明再一实施例的预测运动矢量的过程的示意流程图。 6 is a schematic flow chart of a process of predicting a motion vector according to still another embodiment of the present invention.
图7是本发明实施例的一个预测块的示意图。Figure 7 is a schematic diagram of a prediction block in accordance with an embodiment of the present invention.
图8是本发明一个实施例的编码设备示意框图。Figure 8 is a schematic block diagram of an encoding device in accordance with one embodiment of the present invention.
图9是本发明另一实施例的编码设备示意框图。9 is a schematic block diagram of an encoding apparatus according to another embodiment of the present invention.
图10是本发明再一实施例的编码设备示意框图。Figure 10 is a schematic block diagram of an encoding apparatus in accordance with still another embodiment of the present invention.
图11是本发明再一实施例的编码设备示意框图。Figure 11 is a schematic block diagram of an encoding apparatus in accordance with still another embodiment of the present invention.
图12是本发明再一实施例的编码设备示意框图。Figure 12 is a schematic block diagram of an encoding apparatus in accordance with still another embodiment of the present invention.
图13是本发明一个实施例的解码设备示意框图。Figure 13 is a schematic block diagram of a decoding device in accordance with one embodiment of the present invention.
图14是本发明另一实施例的解码设备示意框图。Figure 14 is a schematic block diagram of a decoding device in accordance with another embodiment of the present invention.
图15是本发明再一实施例的解码设备示意框图。Figure 15 is a schematic block diagram of a decoding apparatus in accordance with still another embodiment of the present invention.
图16是本发明再一实施例的解码设备示意框图。Figure 16 is a schematic block diagram of a decoding apparatus in accordance with still another embodiment of the present invention.
图17是本发明再一实施例的解码设备示意框图。Figure 17 is a schematic block diagram of a decoding apparatus in accordance with still another embodiment of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are a part of the embodiments of the present invention, but not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts shall fall within the scope of the present invention.
应理解,本发明实施例方法主要应用于三维视频编解码领域中的三维立体视频编解码中的运动矢量预测技术,也可应用于三维高效视频编解码中的运动矢量预测技术,本发明实施例不限于此,例如,本发明实施例的方法还可用于可伸缩视频编码(SVC:Scalable Video Coding)领域中的层间运动矢量(inter-layer MV prediction)预测技术中。视间是指在三维(three-dimension,3D)视频拍摄过程中对于同一场景从不同角度同时拍摄的两个或多个视频之间,视包括多个视频序列,每一个视可以包括至少一个视频帧。It should be understood that the method of the embodiment of the present invention is mainly applied to the motion vector prediction technology in the three-dimensional video coding and decoding in the field of three-dimensional video coding and decoding, and also to the motion vector prediction technology in the three-dimensional high-efficiency video coding and decoding. For example, the method of the embodiment of the present invention may also be used in an inter-layer MV prediction prediction technology in the field of Scalable Video Coding (SVC). Depending on whether three or more videos are simultaneously captured from different angles for the same scene during three-dimension (3D) video shooting, the video includes multiple video sequences, each of which may include at least one video. frame.
图1是本发明一个实施例的预测运动矢量的方法示意流程图。例如,图1的方法可以由编码设备来执行。图1所示的方法用于图像或视频的编码或解码过程中,用于编码过程中的方法由编码设备执行,用于解码过程中的方法由解码设备执行。如图1所示,该方法包括:1 is a schematic flow chart of a method for predicting a motion vector according to an embodiment of the present invention. For example, the method of Figure 1 can be performed by an encoding device. The method shown in FIG. 1 is used in the encoding or decoding process of an image or video, the method used in the encoding process is performed by the encoding device, and the method used in the decoding process is performed by the decoding device. As shown in Figure 1, the method includes:
110,确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用;110. Determine that motion vector information of a corresponding block in a reference view of a current sub-prediction block in the prediction block is unavailable;
120,在当前子预测块为预测块中的第一个子预测块时,确定第一个子 预测块的运动矢量的预测值为预定值,预定值为已确定的值。120. Determine the first sub-prediction block when the current sub-predicted block is the first sub-predicted block in the prediction block. The predicted value of the motion vector of the prediction block is a predetermined value, and the predetermined value is the determined value.
也就是说在当前子预测块为预测块中的第一个子预测块时,将预定值确定为第一个子预测块的运动矢量的预测值。That is to say, when the current sub-predicted block is the first sub-predicted block in the prediction block, the predetermined value is determined as the predicted value of the motion vector of the first sub-predicted block.
具体地说,在进行视间预测的编码和解码时,根据当前预测块的空间邻域块、时域邻域对应块或视点间对应块的运动信息的可用性,以及针对深度图的当前深度块对应纹理块的运动信息的可用性,构建预测块的候选列表,并将预测块分成多个子预测块。针对当前预测块,对每个子预测块根据视差矢量DV(Disparity Vector)找到在参考视中对应块;若该视间对应块的运动信息可用,则将该对应块的运动矢量作为当前子预测块的运动矢量预测值,同时将首个运动矢量信息可用的子预测块的运动矢量预测值插入到候选列表中。本发明实施例的方法通过依次对当前预测块的子预测块进行运动矢量预测,确定每一个预测块的运动矢量预测值,在当前子预测块为该预测块中的第一个子预测块时,找到该子预测块在参考视中的对应块,若该对应块的运动矢量信息可用,则根据该运动矢量信息确定该当前子预测块的运动矢量预测值,并将该对应块的运动矢量信息作为当前子预测块的运动矢量预测值,若该对应块的运动矢量信息不可用,则无法得到当前子预测块的运动矢量预测值,从而形成运动空洞(motion hole)。本发明的实施例将预定值确定为当前子预测块的运动矢量预测值,以填补所形成的运动空洞。Specifically, when encoding and decoding the inter-view prediction, the availability of motion information according to the spatial neighbor block, the time domain neighborhood corresponding block or the corresponding block between the inter-view blocks of the current prediction block, and the current depth block for the depth map Corresponding to the availability of motion information of the texture block, a candidate list of prediction blocks is constructed, and the prediction block is divided into a plurality of sub-prediction blocks. For the current prediction block, for each sub-prediction block, the corresponding block in the reference view is found according to the disparity vector DV (Disparity Vector); if the motion information of the inter-view corresponding block is available, the motion vector of the corresponding block is used as the current sub-predicted block. The motion vector predictor is inserted into the candidate list while the motion vector predictor of the sub-predicted block in which the first motion vector information is available. The method of the embodiment of the present invention determines the motion vector prediction value of each prediction block by performing motion vector prediction on the sub-prediction block of the current prediction block in turn, when the current sub-predicted block is the first sub-predicted block in the prediction block. And finding a corresponding block of the sub-predicted block in the reference view, if the motion vector information of the corresponding block is available, determining a motion vector predictor of the current sub-predicted block according to the motion vector information, and using a motion vector of the corresponding block The information is used as the motion vector predictor of the current sub-predicted block. If the motion vector information of the corresponding block is not available, the motion vector predictor of the current sub-predicted block cannot be obtained, thereby forming a motion hole. Embodiments of the present invention determine a predetermined value as a motion vector predictor of a current sub-predicted block to fill the formed motion hole.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用并确定当前子预测块为预测块中的第一个子预测块时,将预定值确定为所述第一个子预测块的运动矢量的预测值,这样能够及时确定第一个子预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定第一个子预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。另外,本发明实施例方法还有利于流水作业,这在芯片处理领域具有较佳的实施效果。Therefore, the embodiment of the present invention determines that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is not available and determines that the current sub-predicted block is the first sub-predicted block in the prediction block. The value is determined as the predicted value of the motion vector of the first sub-predicted block, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining the motion of the first corresponding block in the reference view. The sub-prediction block available for the vector information determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector. In addition, the method of the embodiment of the present invention is also advantageous for flow-through operation, which has a better implementation effect in the field of chip processing.
本发明的实施例对当前子预测块为预测块中的第N个子预测块的情形(N为大于等于2的整数)不作限定,具体将在下文作详细描述。The embodiment of the present invention does not limit the case where the current sub-prediction block is the N-th sub-prediction block in the prediction block (N is an integer greater than or equal to 2), which will be described in detail below.
应理解,运动矢量信息不可用为当前子预测块的参考视中的对应块的中不具有运动矢量信息。换句话说,在步骤110中,也可以确定预测块中的当前子预测块的参考视中的对应块不具有运动矢量信息。可用的运动矢量信息包括运动矢量的大小和参考图像索引号信息,根据参考图像索引号所指示的 参考图像和当前子预测块所对应的图像的位置关系能够确定所预测的当前子预测块的运动矢量的方向。It should be understood that the motion vector information is not available as having no motion vector information in the corresponding block in the reference view of the current sub-prediction block. In other words, in step 110, it may also be determined that the corresponding block in the reference view of the current sub-prediction block in the prediction block does not have motion vector information. The available motion vector information includes the size of the motion vector and the reference image index number information, as indicated by the reference image index number. The positional relationship of the reference image and the image corresponding to the current sub-prediction block can determine the direction of the motion vector of the predicted current sub-predicted block.
应理解,本发明实施例中的预测块包括多个子预测块,预测块可以分为多个子预测块还可以为多种划分形式,例如可以分为3*3的9个子预测块、4*4的16个子预测块或5*5的25个子预测块,本发明实施例并不对此做限定,预测块中的第一个子预测块为该预测块的多个子预测块中的首个子预测块,换句话说在对预测块中的子预测块进行运动矢量预测中第一个进行预测处理的子预测块。第一个子预测块的位置可以位于预测块的任意位置,例如位于预测块的左上角、右上角、左下角或右下角,本发明实施例并不对此做限定。It should be understood that the prediction block in the embodiment of the present invention includes multiple sub-prediction blocks, and the prediction block may be divided into multiple sub-prediction blocks, and may also be in multiple division forms, for example, 9 sub-prediction blocks that can be divided into 3*3, 4*4 The 16 sub-predicted blocks or the 5 sub-predicted blocks of 5*5 are not limited by the embodiment of the present invention. The first sub-predicted block in the predicted block is the first sub-predicted block of the plurality of sub-predicted blocks of the predicted block. In other words, the sub-predicted block in which the first prediction processing is performed on the sub-predicted block in the prediction block is subjected to prediction processing. The position of the first sub-predicted block may be located at any position of the prediction block, for example, in the upper left corner, the upper right corner, the lower left corner or the lower right corner of the prediction block, which is not limited in the embodiment of the present invention.
应理解,本发明实施例能够根据视差矢量(Disparity Vector,DV)信息确定当前子预测块的参考视中的对应块。It should be understood that the embodiment of the present invention is capable of determining a corresponding block in a reference view of a current sub-predicted block according to Disparity Vector (DV) information.
应理解,预定值为已确定的值,可以认为预先已设定好的值,也可以认为是在之前的预测过程中得到的值,较优的,本发明实施例中的预定值可以直接使用,不需要计算或通过其他求解即可获得,应注意本发明实施例中的预定值可以为某一运动矢量信息,具体地,例如,预定值可以包括零运动矢量、当前子预测块进行视间运动补偿预测所对应的视差矢量或预测块的合并候选列表中的候选矢量。这些预定值在执行子预测块级视间运动矢量预测之前都是可用的。应理解,当前子预测块进行视间运动补偿预测所对应的视差矢量是指当前视的当前块指向参考视的矢量,用于指示当前块相对于参考视的对应位置的偏移量。与利用运动矢量进行运动补偿预测(Motion Compensated Predictor,MCP)类似,视间运动补偿预测表示利用该视差矢量进行运动补偿预测,获得当前块的预测值。通过视间运动补偿预测得的当前块的预测值来自于参考视。预测块的合并候选列表中的候选矢量为运动矢量的合并候选列表中的任一矢量。零运动矢量可以为数值大小为零、参考图像索引号为零的矢量。It should be understood that the predetermined value is a determined value, and may be regarded as a value that has been set in advance, and may also be regarded as a value obtained in a previous prediction process. Preferably, the predetermined value in the embodiment of the present invention may be directly used. It can be obtained without calculation or by other solutions. It should be noted that the predetermined value in the embodiment of the present invention may be a certain motion vector information. Specifically, for example, the predetermined value may include a zero motion vector, and the current sub-predicted block performs the inter-view. The disparity vector corresponding to the motion compensation prediction or the candidate vector in the merge candidate list of the prediction block. These predetermined values are available prior to performing sub-predicted block-level inter-view motion vector prediction. It should be understood that the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to the Motion Compensated Predictor (MCP) using the motion vector, the inter-view motion compensation prediction indicates that the motion compensation prediction is performed using the disparity vector to obtain the predicted value of the current block. The predicted value of the current block predicted by the inter-view motion compensation is derived from the reference view. The candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors. The zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
需要说明的一点是,为了填补所形成的运动空洞,也可以采用如下方法:如果子预测块的预测块视间运动补偿预测(PU Level IV-MCP)可用,则参考视中的对应块不存在可用运动矢量信息的当前子预测块可以使用该子预测块所在的预测块的视间运动补偿预测值进行填补所形成的运动空洞,并且在当前子预测块所在的预测块的视间运动补偿预测值也不可用时,使用零运 动矢量(zero MV)对当前子预测块填补所形成的运动空洞。由于使用预测块的视间运动补偿预测对子预测块进行填补空洞,需要针对每个预测块重新生成其预测块的视间运动补偿预测的可用信息并进行存储,额外增加了计算量,增加了实现的复杂度。而本发明实施例不需额外计算,直接将预定值确定为当前子预测块的运动矢量预测值,因此,本发明实施例降低了实现复杂度,具有算法简单的特点。It should be noted that, in order to fill the formed motion hole, the following method may also be adopted: if the prediction block inter-view motion compensation prediction (PU Level IV-MCP) of the sub-prediction block is available, the corresponding block in the reference view does not exist. The current sub-predicted block of the available motion vector information may be used to fill the motion hole formed by the inter-view motion compensated prediction value of the prediction block in which the sub-predicted block is located, and the inter-view motion compensation prediction of the prediction block in which the current sub-predicted block is located Use zeros when the value is not available The motion vector (zero MV) fills the resulting motion hole for the current sub-predicted block. Since the sub-predicted block is filled with holes by using the inter-view motion compensation prediction of the prediction block, the available information of the inter-view motion compensation prediction of the prediction block of each prediction block needs to be regenerated and stored, which additionally increases the calculation amount and increases The complexity of the implementation. However, the embodiment of the present invention does not require additional calculation, and directly determines the predetermined value as the motion vector predictor of the current sub-predicted block. Therefore, the embodiment of the present invention reduces the implementation complexity and has the characteristics of simple algorithm.
可选地,若当前子预测块为预测块中的第N(N为大于等于2的整数)个子预测块时,若其对应块的运动矢量信息可用,则将其对应块的运动矢量信息作为当前子预测块的运动矢量预测值,若其对应块的运动矢量信息不可用,则此处会形成运动空洞,将预定值确定为当前子预测块的运动矢量预测值,同时填补了所形成的运动空洞。Optionally, if the current sub-predicted block is the Nth (N is an integer greater than or equal to 2) sub-predicted blocks in the prediction block, if the motion vector information of the corresponding block is available, the motion vector information of the corresponding block is used as The motion vector predictor of the current sub-predicted block, if the motion vector information of the corresponding block is not available, a motion hole is formed here, and the predetermined value is determined as the motion vector predictor of the current sub-predicted block, and the formed Sports hollow.
相应地,作为另一实施例,如图2所示,该方法还包括:Correspondingly, as another embodiment, as shown in FIG. 2, the method further includes:
130,若当前子预测块为预测块中的第N个子预测块时,将预定值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。130. If the current sub-prediction block is the N-th sub-prediction block in the prediction block, determine a predetermined value as a predicted value of a motion vector of the N-th sub-prediction block, where N is an integer greater than or equal to 2.
也就是说,如果当前子预测块不是第一个子预测块时,也就是当前子预测块为第N个子预测块时,如果第N个子预测块的参考视中的对应块的运动矢量信息不可用,则直接将预定值确定为第N个子预测块的运动矢量的预测值,不需要等待延迟时间。That is, if the current sub-predicted block is not the first sub-predicted block, that is, when the current sub-predicted block is the Nth sub-predicted block, if the motion vector information of the corresponding block in the reference view of the Nth sub-predicted block is not available If so, the predetermined value is directly determined as the predicted value of the motion vector of the Nth sub-predicted block, and there is no need to wait for the delay time.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用时,将预定值确定为当前子预测块的运动矢量的预测值,这样能够及时确定每个预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定这些预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。Therefore, when determining that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is not available, the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem.
可选地,若当前子预测块为预测块中的第N个子预测块时,若该对应块的运动矢量信息可用,则将该对应块的运动矢量信息作为当前子预测块的运动矢量预测值,若该对应块的运动矢量信息不可用,则此处会形成运动空洞,将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值,同时填补了所形成的运动空洞。Optionally, if the current sub-prediction block is the N-th sub-prediction block in the prediction block, if the motion vector information of the corresponding block is available, the motion vector information of the corresponding block is used as the motion vector predictor of the current sub-predicted block. If the motion vector information of the corresponding block is not available, a motion hole is formed here, and the predicted value of the motion vector of the N-1th sub-prediction block is determined as the predicted value of the motion vector of the Nth sub-predicted block, and is filled at the same time. The resulting motion cavity.
相应地,作为另一实施例,如图3所示,该方法还包括:Correspondingly, as another embodiment, as shown in FIG. 3, the method further includes:
140,当前子预测块为预测块中的第N个子预测块时,将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值,其 中,N为大于等于2的整数。140. When the current sub-prediction block is the N-th sub-prediction block in the prediction block, the predicted value of the motion vector of the N-1th sub-prediction block is determined as the predicted value of the motion vector of the N-th sub-predicted block. Where N is an integer greater than or equal to 2.
也就是说,如果当前子预测块为不是第一个子预测块时,也就是当前子预测块为第N个子预测块时,如果第N个子预测块的参考视中的对应块的运动矢量信息不可用,将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值,不需要等待延迟时间,其中该第N个子预测块的参考视中的对应块的运动矢量信息不可用。That is, if the current sub-predicted block is not the first sub-predicted block, that is, the current sub-predicted block is the N-th sub-predicted block, if the motion vector information of the corresponding block in the reference view of the N-th sub-predicted block Unavailable, determining the predicted value of the motion vector of the N-1th sub-prediction block as the predicted value of the motion vector of the Nth sub-predicted block, without waiting for a delay time, wherein the correspondence of the reference views of the Nth sub-predicted block The motion vector information of the block is not available.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用时,将预定值确定为当前子预测块的运动矢量的预测值,这样能够及时确定每个预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定这些预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。由于使用了相关性更高的相邻子预测块的运动矢量来填充空洞,有利于提高当前子预测块的运动补偿预测精度。Therefore, when determining that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is not available, the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem. Since the motion vectors of the adjacent sub-predicted blocks with higher correlation are used to fill the holes, it is advantageous to improve the motion compensation prediction accuracy of the current sub-predicted block.
可选地,作为另一实施例,如图4所示,该方法还包括:Optionally, as another embodiment, as shown in FIG. 4, the method further includes:
150,构建预测块的运动矢量的合并候选列表,合并候选列表包括预测块的多个候选运动矢量;150. Construct a merge candidate list of motion vectors of the prediction block, where the merge candidate list includes multiple candidate motion vectors of the prediction block;
160,确定预测块中的首个可用子预测块,首个可用子预测块为在参考视中的对应块的运动矢量信息可用的子预测块;160. Determine a first available sub-prediction block in the prediction block, where the first available sub-prediction block is a sub-predicted block that is available for motion vector information of the corresponding block in the reference view;
170,根据首个可用子预测块的对应块的运动矢量信息确定所述首个可用子预测块的运动矢量的预测值;170: Determine a predicted value of a motion vector of the first available sub-predicted block according to motion vector information of a corresponding block of the first available sub-predicted block;
180,将首个可用子预测块的运动矢量的预测值插入到预测块的合并候选列表,以构成预测块的运动矢量的新合并候选列表。180. Insert a prediction value of a motion vector of the first available sub-prediction block into a merge candidate list of the prediction block to form a new merge candidate list of motion vectors of the prediction block.
也就是说可以先确定预测块中的首个在参考视中的对应块的运动矢量信息可用的子预测块,然后根据预测块中的首个在参考视中的对应块的运动矢量信息确定预测块中的首个在参考视中的对应块的运动矢量信息可用的子预测块的运动矢量预测值,最后将将首个在参考视中的对应块的运动矢量信息可用的子预测块的运动矢量的预测值插入到合并候选列表中。换句话说,也可以先确定预测块中的第M个子预测块,第M个子预测块在参考视中的对应块的运动矢量信息可用,第M个子预测块之前的全部子预测块在参考视中的对应块的运动矢量信息不可用,然后根据第M个子预测块在参考视中的对应块的运动矢量信息确定第M个子预测块的运动矢量的预测值, 最后将第M个子预测块的运动矢量的预测值插入到预测块的运动矢量的合并候选列表,其中M为大于或等于1的整数,当M等于1时表示该首个可用子预测块为预测块中的第一个子预测块。That is to say, the sub-predicted block in which the motion vector information of the first block in the reference block in the reference block is available may be determined first, and then the prediction is determined according to the motion vector information of the first block in the reference block in the reference block. The motion vector predictor of the sub-predicted block in which the motion vector information of the first block in the reference view is available, and the motion of the sub-predicted block in which the motion vector information of the first block in the reference view is available is available. The predicted value of the vector is inserted into the merge candidate list. In other words, the Mth sub-prediction block in the prediction block may also be determined first. The motion vector information of the corresponding block of the M-th sub-prediction block in the reference view is available, and all sub-predicted blocks before the M-th sub-prediction block are in the reference view. The motion vector information of the corresponding block in the reference block is not available, and then the predicted value of the motion vector of the Mth sub-predicted block is determined according to the motion vector information of the corresponding block of the Mth sub-predicted block in the reference view, Finally, the predicted value of the motion vector of the Mth sub-predicted block is inserted into the merge candidate list of the motion vector of the predicted block, where M is an integer greater than or equal to 1, and when M is equal to 1, the first available sub-predicted block is predicted The first sub-predicted block in the block.
应理解,在150中,可以构建预测块的运动矢量的合并候选列表,包括对当前预测块,根据其空间邻域块、时域邻域对应块或视点间对应块的运动信息的可用性,以及针对深度图的当前深度块对应纹理块的运动信息的可用性,构建一个包含当前预测块的多个可用运动矢量的候选(MV candidate)的合并候选列表(candidate list),在对预测块进行运动矢量预测时,从该合并候选列表中挑选一个最佳候选值,作为当前预测块的合并预测模式的运动矢量预测值,同时传送最佳候选值在合并候选列表中的位置信息。It should be understood that, in 150, a merge candidate list of motion vectors of a prediction block may be constructed, including availability of motion information of a current prediction block according to a spatial neighborhood block, a time domain neighborhood corresponding block, or a corresponding block between views, and For the current depth block of the depth map corresponding to the availability of the motion information of the texture block, construct a merge candidate list (MV candidate) containing a plurality of available motion vector candidates of the current prediction block, and perform motion vector on the prediction block. In the prediction, a best candidate value is selected from the merge candidate list as the motion vector predictor of the merge prediction mode of the current prediction block, and the position information of the best candidate value in the merge candidate list is simultaneously transmitted.
应理解,在180中,首个可用子预测块的运动矢量的预测值可以插入到候选列表中的多个位置已得到多个运动矢量的不同排列顺序,例如插入到列表中的前部、中部或后部,优选的,插入到候选列表中的前部。It should be understood that, in 180, the predicted values of the motion vectors of the first available sub-predicted block may be inserted into a plurality of locations in the candidate list to obtain different ordering of the plurality of motion vectors, for example, inserted into the front, middle, and middle of the list. Or the back, preferably, is inserted into the front of the candidate list.
可选地,预定值可以包括零运动矢量、当前子预测块进行视间运动补偿预测所对应的视差矢量或预测块的合并候选列表中的候选矢量。这些预定值在执行子预测块级视间运动矢量预测之前都是可用的。Optionally, the predetermined value may include a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction of the current sub-prediction block, or a candidate vector in the merge candidate list of the prediction block. These predetermined values are available prior to performing sub-predicted block-level inter-view motion vector prediction.
应理解,当前子预测块进行视间运动补偿预测所对应的视差矢量是指当前视的当前块指向参考视的矢量,用于指示当前块相对于参考视的对应位置的偏移量。与利用运动矢量进行运动补偿预测类似,视间运动补偿预测表示利用该视差矢量进行运动补偿预测,获得当前块的预测值。通过视间运动补偿预测得的当前块的预测值来自于参考视。预测块的合并候选列表中的候选矢量为运动矢量的合并候选列表中的任一矢量。零运动矢量可以为数值大小为零、参考图像索引号为零的矢量。It should be understood that the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to motion compensation prediction using motion vectors, the inter-view motion compensation prediction indicates that motion compensation prediction is performed using the disparity vector to obtain a prediction value of the current block. The predicted value of the current block predicted by the inter-view motion compensation is derived from the reference view. The candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors. The zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
图5是本发明再一实施例的预测运动矢量的过程的示意流程图。图5所示的方法用于图像或视频的编码或解码过程中,用于编码过程中的方法由编码设备执行,用于解码过程中的方法由解码设备执行。图5为本发明实施例图1的一种运动矢量的预测方法的例子,在此适当省略详细的描述。FIG. 5 is a schematic flow chart of a process of predicting a motion vector according to still another embodiment of the present invention. The method shown in FIG. 5 is used in the encoding or decoding process of an image or video, the method used in the encoding process is performed by the encoding device, and the method used in the decoding process is performed by the decoding device. FIG. 5 is an example of a method for predicting a motion vector of FIG. 1 according to an embodiment of the present invention, and a detailed description thereof is omitted as appropriate.
如图5所示,采用直接填充预定值的方式进行空洞填充。图5所示的方法针对当前子预测块对应参考视点相应块的运动信息不可用的情况,直接将预定值确定为当前子预测块的运动矢量预测值。如图5所示的方法包括如下内容。 As shown in FIG. 5, the hole filling is performed by directly filling a predetermined value. The method shown in FIG. 5 directly determines the predetermined value as the motion vector predictor of the current sub-predicted block for the case where the motion information of the corresponding sub-prediction block corresponding to the reference view corresponding block is not available. The method as shown in FIG. 5 includes the following.
501,开始运动矢量预测。501, start motion vector prediction.
具体地,可以是开始预测块中各个子预测块的运动矢量预测。Specifically, it may be to start motion vector prediction of each sub-prediction block in the prediction block.
502,遍历预测块的所有子预测块,以便依次对当前预测块的子预测块进行运动矢量预测。502. Traverse all sub-prediction blocks of the prediction block to perform motion vector prediction on the sub-predicted blocks of the current prediction block.
具体地,可以遍历当前预测块的所有子预测块,并重复执行503至507,以便逐个对当前预测块的子预测块进行运动矢量预测。也就是从预测块中的第一个子预测块到最后一个子预测块逐个进行运动矢量预测。Specifically, all of the sub-prediction blocks of the current prediction block may be traversed, and 503 to 507 are repeatedly performed to perform motion vector prediction on the sub-predicted blocks of the current prediction block one by one. That is, motion vector prediction is performed one by one from the first sub-prediction block to the last sub-prediction block in the prediction block.
503,判断当前子预测块的参考视中的对应块的运动矢量信息是否可用。如果可用,执行步骤504;如果不可用,执行步骤505。503. Determine whether motion vector information of a corresponding block in a reference view of the current sub-prediction block is available. If available, step 504 is performed; if not, step 505 is performed.
具体地,运动矢量信息不可用为当前子预测块的参考视中的对应块的中不具有运动矢量信息。可用的运动矢量信息包括运动矢量的大小和运动矢量的参考图像索引号信息。Specifically, the motion vector information is not available as the motion vector information in the corresponding block in the reference view of the current sub-prediction block. The available motion vector information includes the size of the motion vector and the reference image index number information of the motion vector.
504,判断当前子预测块是否是预测块中的首个可用子预测块,首个可用子预测块为首个在参考视中的对应块的运动矢量信息可用的子预测块。如果是,则执行步骤506,如果不是,则执行步骤507。504. Determine whether the current sub-prediction block is the first available sub-prediction block in the prediction block, and the first available sub-prediction block is a sub-prediction block that is available for the motion vector information of the first corresponding block in the reference view. If yes, step 506 is performed, and if not, step 507 is performed.
也就是说,判断当前子预测块是否是预测块中首次出现的一个子预测块,并且该子预测块在参考视中的对应块的运动矢量信息可用。That is, it is judged whether the current sub-predicted block is one of the sub-predicted blocks first appearing in the predicted block, and the motion vector information of the corresponding block of the sub-predicted block in the reference view is available.
505,将预定值确定为当前子预测块的运动矢量预测值。505. Determine a predetermined value as a motion vector predictor of the current sub-predicted block.
具体地,将预定值确定为当前子预测块的运动矢量的预测值,同时填补了所形成的运动空洞。Specifically, the predetermined value is determined as the predicted value of the motion vector of the current sub-predicted block while filling the formed motion hole.
506,将当前子预测块的运动矢量的预测值插入到预测块的运动矢量合并候选列表,以构成所述预测块的运动矢量的新合并候选列表。506. Insert a prediction value of a motion vector of the current sub-prediction block into a motion vector merge candidate list of the prediction block to form a new merge candidate list of motion vectors of the prediction block.
也就是说根据首个可用子预测块的对应块的运动矢量信息确定首个可用子预测块的运动矢量的预测值;将首个可用子预测块的运动矢量的预测值插入到所述预测块的合并候选列表,以构成预测块的运动矢量的新合并候选列表。That is, the prediction value of the motion vector of the first available sub-predicted block is determined according to the motion vector information of the corresponding block of the first available sub-predicted block; the predicted value of the motion vector of the first available sub-predicted block is inserted into the prediction block The merge candidate list to form a new merge candidate list of motion vectors of the predicted block.
507,将参考视对应块的运动矢量作为当前子预测块的运动矢量的预测值。507. Use a motion vector of the reference corresponding block as a predicted value of a motion vector of the current sub-predicted block.
508,判断当前子预测块是否是最后一个子预测块。如果是,则执行步骤509,如果不是,则执行步骤502。508. Determine whether the current sub-predicted block is the last sub-predicted block. If yes, go to step 509, if not, go to step 502.
具体地,也就是判断当前子预测块之前的所有预测块是否都已经完成运 动矢量预测。Specifically, it is to determine whether all the prediction blocks before the current sub-prediction block have been completed. Motion vector prediction.
509,结束运动矢量预测过程。509, ending the motion vector prediction process.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用时,将预定值确定为当前子预测块的运动矢量的预测值,这样能够及时确定每个预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定这些预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。。Therefore, when determining that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is not available, the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem. .
例如,图7是本发明实施例的一个预测块的示意图。For example, FIG. 7 is a schematic diagram of a prediction block in accordance with an embodiment of the present invention.
如图7所示,将预测块分为4*4的16个子预测块块,分别为第1个子预测块至第16个子预测块。例如第1个子预测块至第6个子预测块和第11个子预测块所对应的参考视中的对应块的运动矢量信息不可用,第7个子测块至第10个子预测块和第12个子预测块至第16个子预测块所对应的参考视中的对应块的运动矢量信息可用。那么可以利用图5所示的方法对图7所示的预测块中的子预测块的运动矢量预测。由于第1个子预测块至第6个子预测块和第11个子预测块所对应的参考视中的对应块的运动矢量信息不可用,所以将预定值确定为第1个子预测块至第6个子预测块和第11个子预测块的运动矢量预测值;由于第7个子测块至第10个子预测块和第12个子预测块至第16个子预测块所对应的参考视中的对应块的运动矢量信息可用所以将第7个子测块至第10个子预测块和第12个子预测块至第16个子预测块它们各自对应块的运动矢量信息作为它们各自的运动矢量预测值;由于第7个子预测块是预测块中的首个在参考视中的对应块的运动矢量信息可用的子预测块,所以将第7个子预测块的运动矢量预测值插入到该预测块的合并候选列表,构成预测块的运动矢量的新合并候选列表。As shown in FIG. 7, the prediction block is divided into 16 sub-prediction block blocks of 4*4, which are the first sub-prediction block to the 16th sub-prediction block, respectively. For example, motion vector information of the corresponding block in the reference view corresponding to the first sub-prediction block to the sixth sub-prediction block and the eleventh sub-prediction block is not available, and the seventh sub-test block to the tenth sub-predicted block and the twelfth sub-prediction The motion vector information of the corresponding block in the reference view corresponding to the block to the 16th sub-prediction block is available. Then, the motion vector prediction of the sub-predicted block in the prediction block shown in FIG. 7 can be performed by the method shown in FIG. 5. Since the motion vector information of the corresponding block in the reference view corresponding to the first sub-prediction block to the sixth sub-prediction block and the eleventh sub-prediction block is not available, the predetermined value is determined as the first sub-prediction block to the sixth sub-prediction Motion vector predictor of the block and the eleventh sub-prediction block; motion vector information of the corresponding block in the reference view corresponding to the seventh sub-block to the tenth sub-prediction block and the twelfth sub-prediction block to the 16th sub-prediction block Therefore, the motion vector information of the respective sub-blocks from the 7th sub-block to the 10th sub-prediction block and the 12th sub-prediction block to the 16th sub-prediction block can be used as their respective motion vector predictors; since the 7th sub-predicted block is Pre-predicting blocks in which the motion vector information of the first block in the reference view is available in the prediction block, so the motion vector predictor of the 7th sub-prediction block is inserted into the merge candidate list of the prediction block to constitute the motion of the prediction block. Vector new merge candidate list.
应注意,图5的例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图5的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。It should be noted that the example of FIG. 5 is intended to help those skilled in the art to better understand the embodiments of the present invention and not to limit the scope of the embodiments of the present invention. A person skilled in the art will be able to make various modifications or changes in the embodiments according to the example of FIG. 5, and such modifications or variations are also within the scope of the embodiments of the present invention.
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。It should be understood that the size of the sequence numbers of the above processes does not imply a sequence of executions, and the order of execution of the processes should be determined by its function and internal logic, and should not be construed as limiting the implementation process of the embodiments of the present invention.
应理解,图7中的第1个子预测块至第6个子预测块和第11个子预测 块的运动矢量预测值可以相同,也可以不同,也就是说第1个子预测块至第6个子预测块和第11个子预测块共有7个运动矢量的预测值,该7个预测值可以都不相同,也可以部分相同,本发明实施例并不对此做限定。It should be understood that the first sub-prediction block to the sixth sub-predicted block and the eleventh sub-prediction in FIG. 7 The motion vector predictor of the block may be the same or different, that is, the first sub-prediction block to the sixth sub-prediction block and the eleventh sub-prediction block have a total of seven motion vector prediction values, and the seven prediction values may not be The same may be partially the same, and the embodiment of the present invention does not limit this.
应注意,图7中预测块和子预测块只是示意性的表示,图7所示的预测块分为4*4的16个子预测块,在实际应用中,预测块可以分为多个子预测块,例如可以分为3*3的9个子预测块或5*5的25个子预测块,本发明实施例并不对此做限定,图7所示的预测块的子预测块的标号为横向排序标号方式,预测块的子预测块的标号方式还可以为其他方式,例如为倒序标号,或纵向标号等,本发明并不对此做限定。也就是说图7的例子仅仅是为了帮助本领域技术人员理解本发明实施例,而非要将本发明实施例限于所例示的具体数值或具体场景。本领域技术人员根据所给出的图7的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。It should be noted that the prediction block and the sub-prediction block in FIG. 7 are only schematic representations, and the prediction block shown in FIG. 7 is divided into 16 sub-prediction blocks of 4*4. In practical applications, the prediction block can be divided into multiple sub-predicted blocks. For example, it can be divided into 9 sub-predicted blocks of 3*3 or 25 sub-predicted blocks of 5*5, which are not limited by the embodiment of the present invention. The sub-predicted blocks of the predictive block shown in FIG. 7 are labeled by horizontal sorting. The labeling manner of the sub-predicted block of the prediction block may also be other manners, such as a reverse order label, or a vertical label, etc., which is not limited by the present invention. In other words, the example of FIG. 7 is only intended to help those skilled in the art to understand the embodiments of the present invention, and the embodiments of the present invention are not limited to the specific numerical values or specific examples illustrated. A person skilled in the art will be able to make various modifications or changes in the embodiments according to the example of FIG. 7. The modifications or variations are also within the scope of the embodiments of the present invention.
图6是本发明再一实施例的预测运动矢量的过程的示意流程图。图6所示的方法用于图像或视频的编码或解码过程中,用于编码过程中的方法由编码设备执行,用于解码过程中的方法由解码设备执行。图6为本发明实施例图2的一种运动矢量的预测方法的例子,在此适当省略详细的描述。6 is a schematic flow chart of a process of predicting a motion vector according to still another embodiment of the present invention. The method shown in FIG. 6 is used in the encoding or decoding process of an image or video, the method used in the encoding process is performed by the encoding device, and the method used in the decoding process is performed by the decoding device. FIG. 6 is an example of a method for predicting a motion vector of FIG. 2 according to an embodiment of the present invention, and a detailed description thereof is omitted as appropriate.
如图6所示,如果第一个子预测块的参考视中的对应块的运动信息不可用,直接将预定值确定为当前子预测块的运动矢量预测值;后面出现的对应的参考视中的对应块的运动矢量信息不可用的子预测块,将直接继承前一个子预测块的运动矢量的预测值。如图6所示的方法,包括:As shown in FIG. 6, if the motion information of the corresponding block in the reference view of the first sub-prediction block is not available, the predetermined value is directly determined as the motion vector predictor of the current sub-predicted block; the corresponding reference view appearing later The sub-predicted block in which the motion vector information of the corresponding block is not available will directly inherit the predicted value of the motion vector of the previous sub-predicted block. The method shown in Figure 6 includes:
601,开始运动矢量预测。601, start motion vector prediction.
具体地,可以是开始预测块中子预测块的运动矢量预测。Specifically, it may be to start motion vector prediction of the sub-predicted block in the prediction block.
602,遍历预测块的所有子预测块,以便依次对当前预测块的子预测块进行运动矢量预测。602. Traverse all sub-prediction blocks of the prediction block to perform motion vector prediction on the sub-prediction blocks of the current prediction block.
具体地,可以遍历当前预测块的所有子预测块,并重复执行603至609以便逐个对当前预测块的子预测块进行运动矢量预测。也就是从预测块中的第一个子预测块到最后一个子预测块逐个进行运动矢量预测。Specifically, all of the sub-prediction blocks of the current prediction block may be traversed, and 603 to 609 are repeatedly performed to perform motion vector prediction on the sub-predicted blocks of the current prediction block one by one. That is, motion vector prediction is performed one by one from the first sub-prediction block to the last sub-prediction block in the prediction block.
603,判断当前子预测块的参考视中的对应块的运动矢量信息是否可用。如果可用,执行步骤604;如果不可用,执行步骤605。603. Determine whether motion vector information of a corresponding block in a reference view of the current sub-prediction block is available. If yes, step 604 is performed; if not, step 605 is performed.
具体地,运动矢量信息不可用为当前子预测块的参考视中的对应块的中 不具有运动矢量信息。运动矢量信息可用为运动矢量信息包括运动矢量的大小和运动矢量的参考图像索引号信息。Specifically, the motion vector information is not available as the middle of the corresponding block in the reference view of the current sub-predicted block. Does not have motion vector information. The motion vector information may be used as motion vector information including the size of the motion vector and the reference image index number information of the motion vector.
604,判断当前子预测块是否是预测块中的首个可用子预测块,首个可用子预测块为首个在参考视中的对应块的运动矢量信息可用的子预测块。如果是,则执行步骤606,如果不是,则执行步骤607。604. Determine whether the current sub-prediction block is the first available sub-prediction block in the prediction block, and the first available sub-prediction block is a sub-prediction block that is available for the motion vector information of the first corresponding block in the reference view. If yes, step 606 is performed, and if not, step 607 is performed.
也就是说,判断当前子预测块是否是预测块中首次出现的一个子预测块,并且该子预测块在参考视中的对应块的运动矢量信息可用。That is, it is judged whether the current sub-predicted block is one of the sub-predicted blocks first appearing in the predicted block, and the motion vector information of the corresponding block of the sub-predicted block in the reference view is available.
605,判断当前子预测块是否是第一个子预测块。如果是,则执行步骤608,如果不是,则执行步骤609。605. Determine whether the current sub-prediction block is the first sub-prediction block. If yes, step 608 is performed, and if not, step 609 is performed.
具体地,判断当前子预测块是否是预测的首个子预测块,也就是判断当前子预测块是否为该预测块的多个子预测块中的首个子预测块。Specifically, it is determined whether the current sub-prediction block is the first sub-predicted block of the prediction, that is, whether the current sub-predicted block is the first sub-predicted block of the plurality of sub-predicted blocks of the predicted block.
606,将当前子预测块的运动矢量预测值插入到预测块的运动矢量合并候选列表中,以构成所述预测块的运动矢量的新合并候选列表。606. Insert a motion vector prediction value of the current sub-prediction block into a motion vector merge candidate list of the prediction block to form a new merge candidate list of motion vectors of the prediction block.
也就是说根据首个可用子预测块的对应块的运动矢量信息确定首个可用子预测块的运动矢量的预测值;将首个可用子预测块的运动矢量的预测值插入到所述预测块的合并候选列表,以构成预测块的运动矢量的新合并候选列表。That is, the prediction value of the motion vector of the first available sub-predicted block is determined according to the motion vector information of the corresponding block of the first available sub-predicted block; the predicted value of the motion vector of the first available sub-predicted block is inserted into the prediction block The merge candidate list to form a new merge candidate list of motion vectors of the predicted block.
607,将参考视对应块的运动矢量作为当前子预测块的运动矢量预测值。607. Use a motion vector of the reference corresponding block as a motion vector predictor of the current sub-prediction block.
608,将预定值确定为当前子预测块的运动矢量预测值。608. Determine a predetermined value as a motion vector predictor of the current sub-predicted block.
具体地,将将预定值确定为当前子预测块的运动矢量的预测值,同时填补了所形成的运动空洞。Specifically, the predetermined value is determined as the predicted value of the motion vector of the current sub-predicted block while filling the formed motion hole.
609,将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值。609. Determine a predicted value of a motion vector of the N-1th sub-prediction block as a predicted value of a motion vector of the Nth sub-predicted block.
610,判断当前子预测块是否是最后一个子预测块。如果是,则执行步骤611,如果不是,则执行步骤602。610. Determine whether the current sub-prediction block is the last sub-prediction block. If yes, step 611 is performed, and if not, step 602 is performed.
具体地,判断当前子预测块之前的所有预测块是否都已经完成运动矢量预测。Specifically, it is determined whether all prediction blocks before the current sub-prediction block have completed motion vector prediction.
611,结束运动矢量预测过程。611, ending the motion vector prediction process.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用时,将预定值确定为当前子预测块的运动矢量的预测值,这样能够及时确定每个预测块的运动矢量的预测值,而无需等到确定 首个在参考视中的对应块的运动矢量信息可用的子预测块才确定这些预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。Therefore, when determining that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is not available, the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. The predicted value of the motion vector of each predicted block without waiting for confirmation The sub-prediction blocks available for the motion vector information of the first corresponding block in the reference view determine the motion vector of these prediction blocks, thereby eliminating the delay problem in predicting the motion vector.
例如,图7是本发明实施例的预测块的示意图。For example, FIG. 7 is a schematic diagram of a prediction block according to an embodiment of the present invention.
如图7所示,将预测块分为4*4的16个子预测块块,分别为第1个子预测块至第16个子预测块。例如第1个子预测块至第6个子预测块和第11个子预测块所对应的参考视中的对应块的运动矢量信息不可用,第7个子测块至第10个子预测块和第12个子预测块至第16个子预测块所对应的参考视中的对应块的运动矢量信息可用。那么可以利用图6所示的方法对图7所示的预测块中的子预测块的运动矢量预测。由于第1个子预测块所对应的参考视中的对应块的运动矢量信息不可用,所以将预定值确定为第1个子预测块的运动矢量预测值;由于,在第一个子预测块之后的第2个子预测块至第6个子预测块所对应的参考视中的对应块的运动矢量信息不可用,由于图6所示方法为将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值,所以第2个子预测块的运动矢量的预测值与第1个子预测块的运动矢量预测值相同,即为同一个预定值,同理,第3个子预测块至第6个子预测块的运动矢量预测值也与第1个子预测块和第2个子预测块的运动矢量预测值相同;同理,第11个子预测的运动矢量预测值与第10个子预测块的运动矢量预测值相同;由于第7个子预测块是预测块中的首个在参考视中的对应块的运动矢量信息可用的子预测块,所以将第7个子预测块的运动矢量预测值插入到该预测块的合并候选列表,构成了预测块的新合并候选列表。As shown in FIG. 7, the prediction block is divided into 16 sub-prediction block blocks of 4*4, which are the first sub-prediction block to the 16th sub-prediction block, respectively. For example, motion vector information of the corresponding block in the reference view corresponding to the first sub-prediction block to the sixth sub-prediction block and the eleventh sub-prediction block is not available, and the seventh sub-test block to the tenth sub-predicted block and the twelfth sub-prediction The motion vector information of the corresponding block in the reference view corresponding to the block to the 16th sub-prediction block is available. Then, the motion vector prediction of the sub-predicted block in the prediction block shown in FIG. 7 can be performed by the method shown in FIG. 6. Since the motion vector information of the corresponding block in the reference view corresponding to the first sub-prediction block is not available, the predetermined value is determined as the motion vector predictor of the first sub-predicted block; since, after the first sub-predicted block The motion vector information of the corresponding block in the reference view corresponding to the second sub-prediction block to the sixth sub-prediction block is not available, because the method shown in FIG. 6 determines the predicted value of the motion vector of the N-1th sub-predicted block as The predicted value of the motion vector of the Nth sub-predicted block, so the predicted value of the motion vector of the second sub-predicted block is the same as the predicted value of the motion vector of the first sub-predicted block, that is, the same predetermined value, and similarly, the third sub- The motion vector prediction value of the prediction block to the sixth sub-prediction block is also the same as the motion vector prediction value of the first sub-prediction block and the second sub-prediction block; similarly, the motion vector prediction value of the eleventh sub-prediction and the tenth sub-prediction The motion vector predictor of the block is the same; since the 7th sub-prediction block is a sub-predicted block in which the motion vector information of the first block in the reference block in the reference block is available, the 7th sub-predicted block is Motion vector prediction value is inserted in merge the prediction block candidate list, constituting a new list of candidate prediction blocks merge.
应注意,图6的例子是为了帮助本领域技术人员更好地理解本发明实施例,而非要限制本发明实施例的范围。本领域技术人员根据所给出的图6的例子,显然可以进行各种等价的修改或变化,这样的修改或变化也落入本发明实施例的范围内。It should be noted that the example of FIG. 6 is intended to help those skilled in the art to better understand the embodiments of the present invention and not to limit the scope of the embodiments of the present invention. A person skilled in the art will be able to make various modifications and changes in accordance with the example of FIG. 6 which are within the scope of the embodiments of the present invention.
应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。It should be understood that the size of the sequence numbers of the above processes does not imply a sequence of executions, and the order of execution of the processes should be determined by its function and internal logic, and should not be construed as limiting the implementation process of the embodiments of the present invention.
可选地,作为另一实施例,如果从预测块中的第一个子预测块到最后一个子预测块逐个进行运动矢量预测后,如果所有的预测块的对应块中的运动矢量信息都不可用,则认为该预测块的视间运动补偿预测候选(IV-MCP  candidate)无效,在这种情况下,可以不将运动矢量信息插入该预测块的运动矢量合并候选列表中。Optionally, as another embodiment, if the motion vector prediction is performed one by one from the first sub-prediction block to the last sub-prediction block in the prediction block, if the motion vector information in the corresponding block of all the prediction blocks is not available Use, consider the inter-view motion compensation prediction candidate of the prediction block (IV-MCP) Candidate) is invalid, in which case the motion vector information may not be inserted into the motion vector merge candidate list of the prediction block.
上文中结合图1至图7,详细描述了根据本发明实施例的预测运动矢量的方法和过程,下面结合图8至图12描述根据本发明实施例的编码设备,结合图13至图17描述根据本发明实施例的解码设备。A method and a process for predicting a motion vector according to an embodiment of the present invention are described in detail above with reference to FIG. 1 to FIG. 7. An encoding device according to an embodiment of the present invention will be described below with reference to FIG. 8 to FIG. A decoding device according to an embodiment of the present invention.
图8是本发明一个实施例的编码设备示意框图。图8所示的编码设备800包括第一确定单元810和第二确定单元820。Figure 8 is a schematic block diagram of an encoding device in accordance with one embodiment of the present invention. The encoding device 800 shown in FIG. 8 includes a first determining unit 810 and a second determining unit 820.
具体地,第一确定单元810用于确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用。第二确定单元820用于在当前子预测块为预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,预定值为已确定的值。Specifically, the first determining unit 810 is configured to determine that motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable. The second determining unit 820 is configured to determine, when the current sub-prediction block is the first sub-prediction block in the prediction block, that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用并确定当前子预测块为预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,这样能够及时确定第一个子预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定第一个子预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。Therefore, the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block, The predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available. The sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
编码设备800能够实现图1的实施例中由编码设备实现的各个过程,为避免重复,这里不再赘述。The encoding device 800 can implement the various processes implemented by the encoding device in the embodiment of FIG. 1. To avoid repetition, details are not described herein again.
可选地,作为另一实施例,如图9所示编码设备900还包括:第三确定单元830。Optionally, as another embodiment, the encoding device 900 shown in FIG. 9 further includes: a third determining unit 830.
具体地,第三确定单元830用于在当前子预测块为预测块中的第N个子预测块时,将预定值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。Specifically, the third determining unit 830 is configured to determine a predetermined value as a predicted value of a motion vector of the Nth sub-predicted block when the current sub-predicted block is the N-th sub-predicted block in the predicted block, where N is greater than or equal to An integer of 2.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用时,将预定值确定为当前子预测块的运动矢量的预测值,这样能够及时确定每个预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定这些预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。Therefore, when determining that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is not available, the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem.
编码设备900能够实现图2的实施例中由编码设备实现的各个过程,为避免重复,这里不再赘述。 The encoding device 900 can implement the various processes implemented by the encoding device in the embodiment of FIG. 2. To avoid repetition, details are not described herein again.
可选地,作为另一实施例,如图10所示编码设备1000还包括:第四确定单元840。Optionally, as another embodiment, the encoding device 1000 shown in FIG. 10 further includes: a fourth determining unit 840.
具体地,第四确定单元840用于在当前子预测块为预测块中的第N个子预测块时,将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。Specifically, the fourth determining unit 840 is configured to determine, when the current sub-prediction block is the Nth sub-prediction block in the prediction block, the predicted value of the motion vector of the N-1th sub-predicted block as the motion of the Nth sub-predicted block. The predicted value of the vector, where N is an integer greater than or equal to 2.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用时,将预定值确定为当前子预测块的运动矢量的预测值,这样能够及时确定每个预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定这些预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。由于使用了相关性更高的相邻子预测块的运动矢量来填充空洞,有利于提高当前子预测块的运动补偿预测精度。Therefore, when determining that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is not available, the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem. Since the motion vectors of the adjacent sub-predicted blocks with higher correlation are used to fill the holes, it is advantageous to improve the motion compensation prediction accuracy of the current sub-predicted block.
编码设备1000能够实现图3的实施例中由编码设备实现的各个过程,为避免重复,在此不再赘述。The encoding device 1000 can implement the various processes implemented by the encoding device in the embodiment of FIG. 3. To avoid repetition, details are not described herein again.
可选地,作为另一实施例,如图11所示编码设备1100还包括:构建单元850、第五确定单元860、第六确定单元870和插入单元880。Optionally, as another embodiment, the encoding apparatus 1100 shown in FIG. 11 further includes: a construction unit 850, a fifth determination unit 860, a sixth determination unit 870, and an insertion unit 880.
具体地,构建单元850用于构建预测块的运动矢量的合并候选列表,合并候选列表包括预测块的多个候选运动矢量;第五确定单元,用于确定预测块中的首个可用子预测块,首个可用子预测块为在参考视中的对应块的运动矢量信息可用的子预测块;第六确定单元,用于根据首个可用子预测块的对应块的运动矢量信息确定首个可用子预测块的运动矢量的预测值;插入单元,用于将首个可用子预测块的运动矢量的预测值插入到预测块的合并候选列表,以构成所述预测块的运动矢量的新合并候选列表。Specifically, the construction unit 850 is configured to construct a merge candidate list of motion vectors of the prediction block, the merge candidate list includes a plurality of candidate motion vectors of the prediction block, and a fifth determining unit, configured to determine the first available sub-prediction block in the prediction block. a first available sub-predicted block is a sub-predicted block available for motion vector information of a corresponding block in a reference view; a sixth determining unit, configured to determine, according to motion vector information of a corresponding block of the first available sub-predicted block, the first available a prediction value of a motion vector of the sub-predicted block; an insertion unit, configured to insert a prediction value of a motion vector of the first available sub-prediction block into a merge candidate list of the prediction block to constitute a new merge candidate of the motion vector of the prediction block List.
编码设备1100能够实现图4的实施例中由编码设备实现的各个过程,为避免重复,这里不再赘述。The encoding device 1100 can implement the various processes implemented by the encoding device in the embodiment of FIG. 4, and details are not described herein again to avoid repetition.
可选地,作为另一实施例,预定值包括零运动矢量、当前子预测块进行视间运动补偿预测所对应的视差矢量或预测块的合并候选列表中的候选矢量。Optionally, as another embodiment, the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction by the current sub-prediction block, or a candidate vector in the merge candidate list of the prediction block.
应理解,当前子预测块进行视间运动补偿预测所对应的视差矢量是指当前视的当前块指向参考视的矢量,用于指示当前块相对于参考视的对应位置的偏移量。与利用运动矢量进行运动补偿预测类似,视间运动补偿预测表示 利用该视差矢量进行运动补偿预测,获得当前块的预测值。通过视间运动补偿预测得的当前块的预测值来自于参考视。预测块的合并候选列表中的候选矢量为运动矢量的合并候选列表中的任一矢量。零运动矢量可以为数值大小为零、参考图像索引号为零的矢量。It should be understood that the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to motion compensation prediction using motion vectors, inter-view motion compensation prediction representation The motion compensation prediction is performed using the disparity vector to obtain a predicted value of the current block. The predicted value of the current block predicted by the inter-view motion compensation is derived from the reference view. The candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors. The zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
图12是本发明再一实施例的编码设备示意框图。图12所示的编码设备1200包括处理器1210,存储器1220和总线系统1230。Figure 12 is a schematic block diagram of an encoding apparatus in accordance with still another embodiment of the present invention. The encoding device 1200 shown in FIG. 12 includes a processor 1210, a memory 1220, and a bus system 1230.
具体地,处理器1210用于通过总线系统1230调用存储在存储器1220中的代码,以确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用;在当前子预测块为预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,预定值为已确定的值。Specifically, the processor 1210 is configured to call the code stored in the memory 1220 through the bus system 1230 to determine that motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable; in the current sub-prediction block When the first sub-predicted block in the block is predicted, it is determined that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用并确定当前子预测块为预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,这样能够及时确定第一个子预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定第一个子预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。Therefore, the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block, The predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available. The sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
编码设备1200中的各个组件通过总线系统1230耦合在一起,其中总线系统1240除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图12中将各种总线都标为总线系统1230。The various components in encoding device 1200 are coupled together by a bus system 1240 that includes, in addition to the data bus, a power bus, a control bus, and a status signal bus. However, for clarity of description, various buses are labeled as bus system 1230 in FIG.
上述本发明实施例揭示的方法可以应用于处理器1210中,或者由处理器1210实现。处理器1210可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1210中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1210可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存、只 读存储器(Read-Only Memory,ROM)、可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1220,处理器1210读取存储器1220中的信息,结合其硬件完成上述方法的步骤。The method disclosed in the foregoing embodiments of the present invention may be applied to the processor 1210 or implemented by the processor 1210. Processor 1210 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method may be completed by an integrated logic circuit of hardware in the processor 1210 or an instruction in a form of software. The processor 1210 may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), or the like. Programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps, and logical block diagrams disclosed in the embodiments of the present invention may be implemented or carried out. The general purpose processor may be a microprocessor or the processor or any conventional processor or the like. The steps of the method disclosed in the embodiments of the present invention may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor. The software module can be located in random access memory (RAM), flash memory, only Read-Only Memory (ROM), programmable read-only memory or electrically erasable programmable memory, registers, etc., are well-known storage media in the field. The storage medium is located in the memory 1220, and the processor 1210 reads the information in the memory 1220 and, in conjunction with its hardware, performs the steps of the above method.
编码设备1220能够实现图1的实施例中由编码设备实现的各个过程,为避免重复,这里不再赘述。The encoding device 1220 can implement various processes implemented by the encoding device in the embodiment of FIG. 1. To avoid repetition, details are not described herein again.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用并确定当前子预测块为预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,这样能够及时确定第一个子预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定第一个子预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。Therefore, the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block, The predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available. The sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
可选地,作为另一实施例,处理器1210还用于在当前子预测块为预测块中的第N个子预测块时,将预定值确定为第N个子预测块的运动矢量的预测值,其中,N为大于或等于2的整数。Optionally, in another embodiment, the processor 1210 is further configured to: when the current sub-prediction block is the Nth sub-prediction block in the prediction block, determine the predetermined value as the predicted value of the motion vector of the N-th sub-predicted block, Where N is an integer greater than or equal to 2.
可选地,作为另一实施例,处理器1210还用于在当前子预测块为预测块中的第N个子预测块时,将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。Optionally, in another embodiment, the processor 1210 is further configured to: when the current sub-prediction block is the N-th sub-prediction block in the prediction block, determine the predicted value of the motion vector of the N-1th sub-prediction block as the first The predicted value of the motion vector of the N sub-predicted blocks, where N is an integer greater than or equal to 2.
可选地,作为另一实施例,处理器1210还用于构建预测块的运动矢量的合并候选列表,合并候选列表包括预测块的多个候选运动矢量;确定预测块中的首个可用子预测块,首个可用子预测块为首个在参考视中的对应块的运动矢量信息可用的子预测块;根据首个可用子预测块的对应块的运动矢量信息确定首个可用子预测块的运动矢量的预测值;将首个可用子预测块的运动矢量的预测值插入到预测块的合并候选列表,以构成所述预测块的运动矢量的新合并候选列表。Optionally, as another embodiment, the processor 1210 is further configured to construct a merge candidate list of motion vectors of the prediction block, where the merge candidate list includes multiple candidate motion vectors of the prediction block; and determine the first available sub-prediction in the prediction block. a block, the first available sub-predicted block is a sub-predicted block in which motion vector information of the corresponding block in the first reference block is available; and the motion of the first available sub-predicted block is determined according to motion vector information of the corresponding block of the first available sub-predicted block The predicted value of the vector; the predicted value of the motion vector of the first available sub-predicted block is inserted into the merge candidate list of the predicted block to constitute a new merge candidate list of motion vectors of the predicted block.
可选地,作为另一实施例,预定值包括零运动矢量、当前子预测块进行视间运动补偿预测所对应的视差矢量或预测块的合并候选列表中的候选矢量。Optionally, as another embodiment, the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction by the current sub-prediction block, or a candidate vector in the merge candidate list of the prediction block.
应理解,当前子预测块进行视间运动补偿预测所对应的视差矢量是指当前视的当前块指向参考视的矢量,用于指示当前块相对于参考视的对应位置的偏移量。与利用运动矢量进行运动补偿预测类似,视间运动补偿预测表示 利用该视差矢量进行运动补偿预测,获得当前块的预测值。通过视间运动补偿预测得的当前块的预测值来自于参考视。预测块的合并候选列表中的候选矢量为运动矢量的合并候选列表中的任一矢量。零运动矢量可以为数值大小为零、参考图像索引号为零的矢量。It should be understood that the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to motion compensation prediction using motion vectors, inter-view motion compensation prediction representation The motion compensation prediction is performed using the disparity vector to obtain a predicted value of the current block. The predicted value of the current block predicted by the inter-view motion compensation is derived from the reference view. The candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors. The zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
图13是本发明一个实施例的解码设备示意框图。图13所示的解码设备1300包括第一确定单元1310和第二确定单元1320。Figure 13 is a schematic block diagram of a decoding device in accordance with one embodiment of the present invention. The decoding device 1300 shown in FIG. 13 includes a first determining unit 1310 and a second determining unit 1320.
具体地,第一确定单元1310用于确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用。第二确定单元1320用于在当前子预测块为预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,预定值为已确定的值。Specifically, the first determining unit 1310 is configured to determine that motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable. The second determining unit 1320 is configured to determine, when the current sub-prediction block is the first sub-prediction block in the prediction block, that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用并确定当前子预测块为预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,这样能够及时确定第一个子预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定第一个子预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。Therefore, the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block, The predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available. The sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
解码设备1300能够实现图1的实施例中由解码设备实现的各个过程,为避免重复,这里不再赘述。The decoding device 1300 can implement various processes implemented by the decoding device in the embodiment of FIG. 1. To avoid repetition, details are not described herein again.
可选地,作为另一实施例,如图14所示解码设备1400还包括:第三确定单元1330。Optionally, as another embodiment, the decoding device 1400 shown in FIG. 14 further includes: a third determining unit 1330.
具体地,第三确定单元1330用于在当前子预测块为预测块中的第N个子预测块时,将预定值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。Specifically, the third determining unit 1330 is configured to determine a predetermined value as a predicted value of a motion vector of the Nth sub-predicted block when the current sub-predicted block is the N-th sub-predicted block in the predicted block, where N is greater than or equal to An integer of 2.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用时,将预定值确定为当前子预测块的运动矢量的预测值,这样能够及时确定每个预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定这些预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。Therefore, when determining that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is not available, the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem.
解码设备1400能够实现图2的实施例中由解码设备实现的各个过程,为避免重复,这里不再赘述。The decoding device 1400 can implement various processes implemented by the decoding device in the embodiment of FIG. 2. To avoid repetition, details are not described herein again.
可选地,作为另一实施例,如图15所示解码设备1500还包括:第四确 定单元1340。Optionally, as another embodiment, the decoding device 1500 shown in FIG. 15 further includes: Unit 1340 is determined.
具体地,第四确定单元1340用于在当前子预测块为预测块中的第N个子预测块时,将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。Specifically, the fourth determining unit 1340 is configured to determine, when the current sub-predicted block is the N-th sub-predicted block in the prediction block, the predicted value of the motion vector of the N-1th sub-predicted block as the motion of the Nth sub-predicted block. The predicted value of the vector, where N is an integer greater than or equal to 2.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用时,将预定值确定为当前子预测块的运动矢量的预测值,这样能够及时确定每个预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定这些预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。由于使用了相关性更高的相邻子预测块的运动矢量来填充空洞,有利于提高当前子预测块的运动补偿预测精度。Therefore, when determining that the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is not available, the embodiment determines the predetermined value as the predicted value of the motion vector of the current sub-predicted block, so that it can be determined in time. Predicting the motion vector of each prediction block without determining that the motion vector of the prediction block is determined by determining the motion vector information of the first motion vector information of the corresponding block in the reference view, thereby being able to eliminate the motion vector during prediction Delay problem. Since the motion vectors of the adjacent sub-predicted blocks with higher correlation are used to fill the holes, it is advantageous to improve the motion compensation prediction accuracy of the current sub-predicted block.
解码设备1500能够实现图3的实施例中由解码设备实现的各个过程,为避免重复,在此不再赘述。The decoding device 1500 can implement the various processes implemented by the decoding device in the embodiment of FIG. 3. To avoid repetition, details are not described herein again.
可选地,作为另一实施例,如图16所示解码设备1600还包括:构建单元1350、第五确定单元1360、第六确定单元1370和插入单元1380。Optionally, as another embodiment, the decoding device 1600 shown in FIG. 16 further includes: a construction unit 1350, a fifth determination unit 1360, a sixth determination unit 1370, and an insertion unit 1380.
具体地,构建单元1350用于构建预测块的运动矢量的合并候选列表,合并候选列表包括预测块的多个候选运动矢量;第五确定单元,用于确定预测块中的首个可用子预测块,首个可用子预测块为在参考视中的对应块的运动矢量信息可用的子预测块;第六确定单元,用于根据首个可用子预测块的对应块的运动矢量信息确定首个可用子预测块的运动矢量的预测值;插入单元,用于将首个可用子预测块的运动矢量的预测值插入到预测块的合并候选列表,以构成所述预测块的运动矢量的新合并候选列表。Specifically, the construction unit 1350 is configured to construct a merge candidate list of motion vectors of the prediction block, the merge candidate list includes a plurality of candidate motion vectors of the prediction block, and a fifth determining unit, configured to determine the first available sub-prediction block in the prediction block. a first available sub-predicted block is a sub-predicted block available for motion vector information of a corresponding block in a reference view; a sixth determining unit, configured to determine, according to motion vector information of a corresponding block of the first available sub-predicted block, the first available a prediction value of a motion vector of the sub-predicted block; an insertion unit, configured to insert a prediction value of a motion vector of the first available sub-prediction block into a merge candidate list of the prediction block to constitute a new merge candidate of the motion vector of the prediction block List.
解码设备1600能够实现图4的实施例中由解码设备实现的各个过程,为避免重复,这里不再赘述。The decoding device 1600 can implement various processes implemented by the decoding device in the embodiment of FIG. 4. To avoid repetition, details are not described herein again.
可选地,作为另一实施例,预定值包括零运动矢量、当前子预测块进行视间运动补偿预测所对应的视差矢量或预测块的合并候选列表中的候选矢量。Optionally, as another embodiment, the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction by the current sub-prediction block, or a candidate vector in the merge candidate list of the prediction block.
应理解,当前子预测块进行视间运动补偿预测所对应的视差矢量是指当前视的当前块指向参考视的矢量,用于指示当前块相对于参考视的对应位置的偏移量。与利用运动矢量进行运动补偿预测类似,视间运动补偿预测表示利用该视差矢量进行运动补偿预测,获得当前块的预测值。通过视间运动补 偿预测得的当前块的预测值来自于参考视。预测块的合并候选列表中的候选矢量为运动矢量的合并候选列表中的任一矢量。零运动矢量可以为数值大小为零、参考图像索引号为零的矢量。It should be understood that the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to motion compensation prediction using motion vectors, the inter-view motion compensation prediction indicates that motion compensation prediction is performed using the disparity vector to obtain a prediction value of the current block. Complement by visual motion The predicted value of the current block predicted is derived from the reference view. The candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors. The zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
图17是本发明再一实施例的解码设备示意框图。图17所示的解码设备1700包括处理器1710,存储器1720和总线系统1730。Figure 17 is a schematic block diagram of a decoding apparatus in accordance with still another embodiment of the present invention. The decoding device 1700 shown in FIG. 17 includes a processor 1710, a memory 1720, and a bus system 1730.
具体地,处理器1710用于通过总线系统1730调用存储在存储器1720中的代码,以确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用;在当前子预测块为预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,预定值为已确定的值。Specifically, the processor 1710 is configured to call the code stored in the memory 1720 by the bus system 1730 to determine that motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable; in the current sub-prediction block When the first sub-predicted block in the block is predicted, it is determined that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用并确定当前子预测块为预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,这样能够及时确定第一个子预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定第一个子预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。Therefore, the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block, The predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available. The sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
解码设备1700中的各个组件通过总线系统1730耦合在一起,其中总线系统1740除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图17中将各种总线都标为总线系统1730。The various components in decoding device 1700 are coupled together by a bus system 1730 that includes, in addition to the data bus, a power bus, a control bus, and a status signal bus. However, for clarity of description, various buses are labeled as bus system 1730 in FIG.
上述本发明实施例揭示的方法可以应用于处理器1710中,或者由处理器1710实现。处理器1710可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器1710中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器1710可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存取存储器(Random Access Memory,RAM)、闪存、只读存储器(Read-Only Memory,ROM)、可编程只读存储器或者电可擦写可 编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1720,处理器1710读取存储器1720中的信息,结合其硬件完成上述方法的步骤。The method disclosed in the above embodiments of the present invention may be applied to the processor 1710 or implemented by the processor 1710. The processor 1710 may be an integrated circuit chip with signal processing capabilities. In the implementation process, each step of the above method may be completed by an integrated logic circuit of hardware in the processor 1710 or an instruction in a form of software. The processor 1710 may be a general-purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA), or the like. Programmable logic devices, discrete gates or transistor logic devices, discrete hardware components. The methods, steps, and logical block diagrams disclosed in the embodiments of the present invention may be implemented or carried out. The general purpose processor may be a microprocessor or the processor or any conventional processor or the like. The steps of the method disclosed in the embodiments of the present invention may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor. The software module can be located in a random access memory (RAM), flash memory, read-only memory (ROM), programmable read-only memory or electrically erasable Program memory, registers, etc. are well-established in the storage medium of the art. The storage medium is located in the memory 1720, and the processor 1710 reads the information in the memory 1720 and performs the steps of the above method in combination with its hardware.
解码设备1720能够实现图1的实施例中由解码设备实现的各个过程,为避免重复,这里不再赘述。The decoding device 1720 can implement various processes implemented by the decoding device in the embodiment of FIG. 1. To avoid repetition, details are not described herein again.
因此,本发明实施例在确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用并确定当前子预测块为预测块中的第一个子预测块时,确定第一个子预测块的运动矢量的预测值为预定值,这样能够及时确定第一个子预测块的运动矢量的预测值,而无需等到确定首个在参考视中的对应块的运动矢量信息可用的子预测块才确定第一个子预测块的运动矢量,从而能够消除预测运动矢量过程中的延迟问题。Therefore, the embodiment of the present invention determines that when the motion vector information of the corresponding block in the reference view of the current sub-prediction block in the prediction block is unavailable and determines that the current sub-predicted block is the first sub-predicted block in the prediction block, The predicted value of the motion vector of one sub-predicted block is a predetermined value, so that the predicted value of the motion vector of the first sub-predicted block can be determined in time without waiting for determining that the motion vector information of the first corresponding block in the reference view is available. The sub-predictive block determines the motion vector of the first sub-predicted block, thereby eliminating the delay problem in predicting the motion vector.
可选地,作为另一实施例,处理器1710还用于在当前子预测块为预测块中的第N个子预测块时,将预定值确定为第N个子预测块的运动矢量的预测值,其中,N为大于或等于2的整数。Optionally, in another embodiment, the processor 1710 is further configured to: when the current sub-prediction block is the Nth sub-prediction block in the prediction block, determine the predetermined value as the predicted value of the motion vector of the N-th sub-prediction block, Where N is an integer greater than or equal to 2.
可选地,作为另一实施例,处理器1710还用于在当前子预测块为预测块中的第N个子预测块时,将第N-1个子预测块的运动矢量的预测值确定为第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。Optionally, as another embodiment, the processor 1710 is further configured to: when the current sub-prediction block is the N-th sub-prediction block in the prediction block, determine the predicted value of the motion vector of the N-1th sub-prediction block as the first The predicted value of the motion vector of the N sub-predicted blocks, where N is an integer greater than or equal to 2.
可选地,作为另一实施例,处理器1710还用于构建预测块的运动矢量的合并候选列表,合并候选列表包括预测块的多个候选运动矢量;确定预测块中的首个可用子预测块,首个可用子预测块为首个在参考视中的对应块的运动矢量信息可用的子预测块;根据首个可用子预测块的对应块的运动矢量信息确定首个可用子预测块的运动矢量的预测值;将首个可用子预测块的运动矢量的预测值插入到预测块的合并候选列表,以构成所述预测块的运动矢量的新合并候选列表。Optionally, as another embodiment, the processor 1710 is further configured to construct a merge candidate list of motion vectors of the prediction block, where the merge candidate list includes multiple candidate motion vectors of the prediction block; and determine the first available sub-prediction in the prediction block. a block, the first available sub-predicted block is a sub-predicted block in which motion vector information of the corresponding block in the first reference block is available; and the motion of the first available sub-predicted block is determined according to motion vector information of the corresponding block of the first available sub-predicted block The predicted value of the vector; the predicted value of the motion vector of the first available sub-predicted block is inserted into the merge candidate list of the predicted block to constitute a new merge candidate list of motion vectors of the predicted block.
可选地,作为另一实施例,预定值包括零运动矢量、当前子预测块进行视间运动补偿预测所对应的视差矢量或预测块的合并候选列表中的候选矢量。Optionally, as another embodiment, the predetermined value includes a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction by the current sub-prediction block, or a candidate vector in the merge candidate list of the prediction block.
应理解,当前子预测块进行视间运动补偿预测所对应的视差矢量是指当前视的当前块指向参考视的矢量,用于指示当前块相对于参考视的对应位置的偏移量。与利用运动矢量进行运动补偿预测类似,视间运动补偿预测表示利用该视差矢量进行运动补偿预测,获得当前块的预测值。通过视间运动补 偿预测得的当前块的预测值来自于参考视。预测块的合并候选列表中的候选矢量为运动矢量的合并候选列表中的任一矢量。零运动矢量可以为数值大小为零、参考图像索引号为零的矢量。It should be understood that the disparity vector corresponding to the current sub-predicted block performing the inter-view motion compensated prediction refers to the vector of the current view pointing to the reference view, and is used to indicate the offset of the current block relative to the corresponding position of the reference view. Similar to motion compensation prediction using motion vectors, the inter-view motion compensation prediction indicates that motion compensation prediction is performed using the disparity vector to obtain a prediction value of the current block. Complement by visual motion The predicted value of the current block predicted is derived from the reference view. The candidate vector in the merge candidate list of the prediction block is any one of the merge candidate lists of the motion vectors. The zero motion vector may be a vector having a numerical value of zero and a reference image index number of zero.
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和块,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those skilled in the art will appreciate that the various method steps and blocks described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both, in order to clearly illustrate hardware and software. Interchangeability, the steps and composition of the various embodiments have been generally described in terms of function in the foregoing description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. Different methods may be used to implement the described functionality for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
结合本文中所公开的实施例描述的方法或步骤可以用硬件、处理器执行的软件程序,或者二者的结合来实施。软件程序可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。The methods or steps described in connection with the embodiments disclosed herein may be implemented in hardware, a software program executed by a processor, or a combination of both. Software programs can be placed in random access memory (RAM), memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or technical fields. Any other form of storage medium known.
尽管通过参考附图并结合优选实施例的方式对本发明进行了详细描述,但本发明并不限于此。在不脱离本发明的精神和实质的前提下,本领域普通技术人员可以对本发明的实施例进行各种等效的修改或替换,而这些修改或替换都应在本发明的涵盖范围内。 Although the present invention has been described in detail by reference to the accompanying drawings in the preferred embodiments, the invention is not limited thereto. Various equivalent modifications and alterations to the embodiments of the present invention may be made by those skilled in the art without departing from the spirit and scope of the invention.

Claims (18)

  1. 一种预测运动矢量的方法,其特征在于,包括:A method for predicting a motion vector, comprising:
    确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用;Determining that motion vector information of a corresponding block in a reference view of a current sub-prediction block in the prediction block is not available;
    在所述当前子预测块为所述预测块中的第一个子预测块时,确定所述第一个子预测块的运动矢量的预测值为预定值,所述预定值为已确定的值。When the current sub-predicted block is the first one of the predicted blocks, determining that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, and the predetermined value is the determined value. .
  2. 根据权利要求1所述的方法,其特征在于,还包括:The method of claim 1 further comprising:
    在所述当前子预测块为所述预测块中的第N个子预测块时,将所述预定值确定为所述第N个子预测块的运动矢量的预测值,其中,N为大于或等于2的整数。When the current sub-prediction block is the Nth sub-prediction block in the prediction block, determining the predetermined value as a predicted value of a motion vector of the N-th sub-prediction block, where N is greater than or equal to 2 The integer.
  3. 根据权利要求1所述的方法,其特征在于,还包括:The method of claim 1 further comprising:
    在所述当前子预测块为所述预测块中的第N个子预测块时,将第N-1个子预测块的运动矢量的预测值确定为所述第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。When the current sub-prediction block is the Nth sub-prediction block in the prediction block, determining a prediction value of a motion vector of the N-1th sub-prediction block as a prediction value of a motion vector of the N-th sub-predicted block Where N is an integer greater than or equal to 2.
  4. 根据权利要求1-3中任一项所述的方法,其特征在于,还包括:The method of any of claims 1-3, further comprising:
    构建所述预测块的运动矢量的合并候选列表,所述合并候选列表包括所述预测块的多个候选运动矢量;Constructing a merge candidate list of motion vectors of the prediction block, the merge candidate list including a plurality of candidate motion vectors of the prediction block;
    确定所述预测块中的首个可用子预测块,所述首个可用子预测块为首个在参考视中的对应块的运动矢量信息可用的子预测块;Determining a first available sub-prediction block in the prediction block, the first available sub-prediction block being a sub-predicted block available for motion vector information of a first corresponding block in a reference view;
    根据所述首个可用子预测块的对应块的运动矢量信息确定所述首个可用子预测块的运动矢量的预测值;Determining a predicted value of a motion vector of the first available sub-predicted block according to motion vector information of a corresponding block of the first available sub-predicted block;
    将所述首个可用子预测块的运动矢量的预测值插入到所述预测块的合并候选列表,以构成所述预测块的运动矢量的新合并候选列表。A prediction value of a motion vector of the first available sub-prediction block is inserted into a merge candidate list of the prediction block to constitute a new merge candidate list of motion vectors of the prediction block.
  5. 根据权利要求4所述的方法,其特征在于,所述预定值包括零运动矢量、所述当前子预测块进行视间运动补偿预测所对应的视差矢量或所述预测块的合并候选列表中的候选矢量。The method according to claim 4, wherein the predetermined value comprises a zero motion vector, a disparity vector corresponding to the inter-view motion prediction prediction of the current sub-prediction block, or a merge candidate list of the prediction block. Candidate vector.
  6. 根据权利要求5所述的方法,其特征在于,所述零运动矢量为数值大小为零、参考图像索引号为零的矢量。The method according to claim 5, wherein the zero motion vector is a vector having a numerical value of zero and a reference image index number of zero.
  7. 一种编码设备,其特征在于,包括:An encoding device, comprising:
    第一确定单元,用于确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用; a first determining unit, configured to determine that motion vector information of a corresponding block in a reference view of a current sub-prediction block in the prediction block is unavailable;
    第二确定单元,用于在所述当前子预测块为所述预测块中的第一个子预测块时,确定所述第一个子预测块的运动矢量的预测值为预定值,所述预定值为已确定的值。a second determining unit, configured to determine, when the current sub-predicted block is the first one of the predicted blocks, that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, The predetermined value is the determined value.
  8. 根据权利要求7所述的编码设备,其特征在于,还包括:The encoding device according to claim 7, further comprising:
    第三确定单元,用于在所述当前子预测块为所述预测块中的第N个子预测块时,将所述预定值确定为所述第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。a third determining unit, configured to determine the predetermined value as a predicted value of a motion vector of the Nth sub-predicted block, when the current sub-predicted block is the Nth sub-predicted block in the predicted block, where , N is an integer greater than or equal to 2.
  9. 根据权利要求7所述的编码设备,其特征在于,还包括:The encoding device according to claim 7, further comprising:
    第四确定单元,用于在所述当前子预测块为所述预测块中的第N个子预测块时,将第N-1个子预测块的运动矢量的预测值确定为所述第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。a fourth determining unit, configured to determine, when the current sub-predicted block is the Nth sub-predicted block in the predicted block, a predicted value of a motion vector of the N-1th sub-predicted block as the Nth sub-prediction The predicted value of the motion vector of the block, where N is an integer greater than or equal to 2.
  10. 根据权利要求7-9中任一项所述的编码设备,其特征在于,还包括:The encoding device according to any one of claims 7-9, further comprising:
    构建单元,用于构建所述预测块的运动矢量的合并候选列表,所述合并候选列表包括所述预测块的多个候选运动矢量;a construction unit, configured to construct a merge candidate list of motion vectors of the prediction block, the merge candidate list including a plurality of candidate motion vectors of the prediction block;
    第五确定单元,用于确定所述预测块中的首个可用子预测块,所述首个可用子预测块为首个在参考视中的对应块的运动矢量信息可用的子预测块;a fifth determining unit, configured to determine a first available sub-prediction block in the prediction block, where the first available sub-prediction block is a sub-predicted block that is available for motion vector information of a first block in a reference view;
    第六确定单元,用于根据所述首个可用子预测块的对应块的运动矢量信息确定所述首个可用子预测块的运动矢量的预测值;a sixth determining unit, configured to determine a predicted value of a motion vector of the first available sub-predicted block according to motion vector information of a corresponding block of the first available sub-predicted block;
    插入单元,用于将所述首个可用子预测块的运动矢量的预测值插入到所述预测块的合并候选列表,以构成所述预测块的运动矢量的新合并候选列表。And an insertion unit, configured to insert a prediction value of a motion vector of the first available sub-prediction block into a merge candidate list of the prediction block to form a new merge candidate list of motion vectors of the prediction block.
  11. 根据权利要求10所述的编码设备,其特征在于,所述预定值包括零运动矢量、所述当前子预测块进行视间运动补偿预测所对应的视差矢量或所述预测块的合并候选列表中的候选矢量。The encoding apparatus according to claim 10, wherein the predetermined value comprises a zero motion vector, a disparity vector corresponding to the current sub-prediction block performing inter-view motion compensation prediction, or a merge candidate list of the prediction block Candidate vector.
  12. 根据权利要求11所述的编码设备,其特征在于,所述零运动矢量为数值大小为零、参考图像索引号为零的矢量。The encoding apparatus according to claim 11, wherein said zero motion vector is a vector having a numerical value of zero and a reference image index number of zero.
  13. 一种解码设备,其特征在于,包括:A decoding device, comprising:
    第一确定单元,用于确定预测块中的当前子预测块的参考视中的对应块的运动矢量信息不可用;a first determining unit, configured to determine that motion vector information of a corresponding block in a reference view of a current sub-prediction block in the prediction block is unavailable;
    第二确定单元,用于在所述当前子预测块为所述预测块中的第一个子预测块时,确定所述第一个子预测块的运动矢量的预测值为预定值,所述预定 值为已确定的值。a second determining unit, configured to determine, when the current sub-predicted block is the first one of the predicted blocks, that the predicted value of the motion vector of the first sub-predicted block is a predetermined value, Book The value is the determined value.
  14. 根据权利要求13所述的解码设备,其特征在于,还包括:The decoding device according to claim 13, further comprising:
    第三确定单元,用于在所述当前子预测块为所述预测块中的第N个子预测块时,将所述预定值确定为所述第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。a third determining unit, configured to determine the predetermined value as a predicted value of a motion vector of the Nth sub-predicted block, when the current sub-predicted block is the Nth sub-predicted block in the predicted block, where , N is an integer greater than or equal to 2.
  15. 根据权利要求13所述的解码设备,其特征在于,还包括:The decoding device according to claim 13, further comprising:
    第四确定单元,用于在所述当前子预测块为所述预测块中的第N个子预测块时,将第N-1个子预测块的运动矢量的预测值确定为所述第N个子预测块的运动矢量的预测值,其中,N为大于等于2的整数。a fourth determining unit, configured to determine, when the current sub-predicted block is the Nth sub-predicted block in the predicted block, a predicted value of a motion vector of the N-1th sub-predicted block as the Nth sub-prediction The predicted value of the motion vector of the block, where N is an integer greater than or equal to 2.
  16. 根据权利要求13-15中任一项所述的解码设备,其特征在于,还包括:The decoding device according to any one of claims 13 to 15, further comprising:
    构建单元,用于构建所述预测块的运动矢量的合并候选列表,所述合并候选列表包括所述预测块的多个候选运动矢量;a construction unit, configured to construct a merge candidate list of motion vectors of the prediction block, the merge candidate list including a plurality of candidate motion vectors of the prediction block;
    第五确定单元,用于确定所述预测块中的首个可用子预测块,所述首个可用子预测块为首个在参考视中的对应块的运动矢量信息可用的子预测块;a fifth determining unit, configured to determine a first available sub-prediction block in the prediction block, where the first available sub-prediction block is a sub-predicted block that is available for motion vector information of a first block in a reference view;
    第六确定单元,用于根据所述首个可用子预测块的对应块的运动矢量信息确定所述首个可用子预测块的运动矢量的预测值;a sixth determining unit, configured to determine a predicted value of a motion vector of the first available sub-predicted block according to motion vector information of a corresponding block of the first available sub-predicted block;
    插入单元,用于将所述首个可用子预测块的运动矢量的预测值插入到所述预测块的合并候选列表,以构成所述预测块的运动矢量的新合并候选列表。And an insertion unit, configured to insert a prediction value of a motion vector of the first available sub-prediction block into a merge candidate list of the prediction block to form a new merge candidate list of motion vectors of the prediction block.
  17. 根据权利要求16所述的解码设备,其特征在于,所述预定值包括零运动矢量、所述当前子预测块进行视间运动补偿预测所对应的视差矢量或所述预测块的合并候选列表中的候选矢量。The decoding device according to claim 16, wherein the predetermined value comprises a zero motion vector, a disparity vector corresponding to the current sub-prediction block performing inter-view motion compensation prediction, or a merge candidate list of the prediction block Candidate vector.
  18. 根据权利要求17所述的解码设备,其特征在于,所述零运动矢量为数值大小为零、参考图像索引号为零的矢量。 The decoding apparatus according to claim 17, wherein said zero motion vector is a vector having a numerical value of zero and a reference image index number of zero.
PCT/CN2014/094923 2014-01-03 2014-12-25 Method, coding apparatus and decoding apparatus for predicting motion vector WO2015101209A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410004055.X 2014-01-03
CN201410004055.XA CN103747264B (en) 2014-01-03 2014-01-03 Method, encoding device and the decoding device of predicted motion vector

Publications (1)

Publication Number Publication Date
WO2015101209A1 true WO2015101209A1 (en) 2015-07-09

Family

ID=50504246

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2014/094923 WO2015101209A1 (en) 2014-01-03 2014-12-25 Method, coding apparatus and decoding apparatus for predicting motion vector

Country Status (2)

Country Link
CN (1) CN103747264B (en)
WO (1) WO2015101209A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110574372A (en) * 2017-02-24 2019-12-13 株式会社Kt Video signal processing method and apparatus

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104079944B (en) * 2014-06-30 2017-12-01 华为技术有限公司 The motion vector list construction method and system of Video coding
KR20170041220A (en) 2014-10-09 2017-04-14 에이치에프아이 이노베이션 인크. Method of 3d or multi-view video coding including view synthesis prediction
CN108616758B (en) * 2016-12-15 2023-09-29 北京三星通信技术研究有限公司 Multi-view video encoding and decoding methods, encoder and decoder

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102695054A (en) * 2004-07-20 2012-09-26 高通股份有限公司 Method and apparatus for motion vector prediction in temporal video compression
WO2012144829A2 (en) * 2011-04-19 2012-10-26 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding motion vector of multi-view video
CN102769748A (en) * 2012-07-02 2012-11-07 华为技术有限公司 Motion vector prediction method, device and system
CN102946536A (en) * 2012-10-09 2013-02-27 华为技术有限公司 Candidate vector list constructing method and device thereof
WO2013053309A1 (en) * 2011-10-11 2013-04-18 Mediatek Inc. Method and apparatus of motion and disparity vector derivation for 3d video coding and hevc
CN103079067A (en) * 2013-01-09 2013-05-01 华为技术有限公司 Motion vector predicted value list construction method and video encoding and decoding method and device
CN103747260A (en) * 2013-12-26 2014-04-23 沈阳东软医疗系统有限公司 Compression and decompression methods, compression and decompression apparatuses, and a scanning system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100828353B1 (en) * 2003-02-05 2008-05-08 삼성전자주식회사 Method for dividing the image block and Apparatus thereof
KR100677142B1 (en) * 2004-08-13 2007-02-02 경희대학교 산학협력단 Motion estimation and compensation for panorama image
CN103237213B (en) * 2013-04-08 2016-03-30 华为技术有限公司 Method for video coding and video encoding/decoding method and relevant apparatus

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102695054A (en) * 2004-07-20 2012-09-26 高通股份有限公司 Method and apparatus for motion vector prediction in temporal video compression
WO2012144829A2 (en) * 2011-04-19 2012-10-26 Samsung Electronics Co., Ltd. Method and apparatus for encoding and decoding motion vector of multi-view video
WO2013053309A1 (en) * 2011-10-11 2013-04-18 Mediatek Inc. Method and apparatus of motion and disparity vector derivation for 3d video coding and hevc
CN102769748A (en) * 2012-07-02 2012-11-07 华为技术有限公司 Motion vector prediction method, device and system
CN102946536A (en) * 2012-10-09 2013-02-27 华为技术有限公司 Candidate vector list constructing method and device thereof
CN103079067A (en) * 2013-01-09 2013-05-01 华为技术有限公司 Motion vector predicted value list construction method and video encoding and decoding method and device
CN103747260A (en) * 2013-12-26 2014-04-23 沈阳东软医疗系统有限公司 Compression and decompression methods, compression and decompression apparatuses, and a scanning system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110574372A (en) * 2017-02-24 2019-12-13 株式会社Kt Video signal processing method and apparatus
CN110574372B (en) * 2017-02-24 2023-07-28 株式会社Kt Video signal processing method and computer readable medium

Also Published As

Publication number Publication date
CN103747264B (en) 2017-10-17
CN103747264A (en) 2014-04-23

Similar Documents

Publication Publication Date Title
US10587859B2 (en) Method of sub-predication unit inter-view motion prediction in 3D video coding
US11968377B2 (en) Unified constrains for the merge affine mode and the non-merge affine mode
WO2014056316A1 (en) Method and device for building candidate vector list
WO2015101209A1 (en) Method, coding apparatus and decoding apparatus for predicting motion vector
CN104718760A (en) Method and apparatus of motion vector derivation 3D video coding
JP2015533038A5 (en)
CN104602024A (en) Three-dimensional video or multi-view video encoding and decoding method and device
WO2016054937A1 (en) Three-dimensional image coding method, three-dimensional image decoding method and related device
WO2016054975A1 (en) Method for partitioning prediction block, encoding device and decoding device
JP2017526268A (en) Arrangement of adaptive search windows for video coding
CN110944182A (en) Motion vector derivation for sub-blocks in affine mode
US20150264356A1 (en) Method of Simplified Depth Based Block Partitioning
KR102148723B1 (en) Inter-frame predictive coding method and apparatus
EP2923486A1 (en) Method and apparatus of disparity vector derivation for three-dimensional video coding
EP2773115A1 (en) Coding and decoding method, device, encoder, and decoder for multi-view video
Afonso et al. Energy-aware motion and disparity estimation system for 3D-HEVC with run-time adaptive memory hierarchy
EP2932720A1 (en) Method and apparatus of disparity vector derivation for three-dimensional and multi-view video coding
US20170070747A1 (en) Image processing device for adjusting computational complexity of interpolation filter, image interpolation method, and image encoding method
US9621892B2 (en) Emulation of Bi predicted pictures using adjacent pictures for improved video
CN110958457B (en) Affine inheritance of pattern dependencies
Choi et al. Area-efficient fast scheduling schemes for MVC prediction architecture
CN103533361A (en) Determination method of multi-view disparity vector, coding equipment and decoding equipment
WO2015196988A1 (en) Method of inter-view advanced residual prediction in 3d video coding
Iqbal Hardware bidirectional real time motion estimator on a Xilinx Virtex II Pro FPGA
Choi et al. Low-complexity frame scheduler using shared frame memory for multi-view video coding

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14875953

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14875953

Country of ref document: EP

Kind code of ref document: A1