CN110351565B - Method and device for exporting motion vector of reference region - Google Patents

Method and device for exporting motion vector of reference region Download PDF

Info

Publication number
CN110351565B
CN110351565B CN201810283066.4A CN201810283066A CN110351565B CN 110351565 B CN110351565 B CN 110351565B CN 201810283066 A CN201810283066 A CN 201810283066A CN 110351565 B CN110351565 B CN 110351565B
Authority
CN
China
Prior art keywords
current block
motion vector
reference region
pixel template
rectangular spatial
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810283066.4A
Other languages
Chinese (zh)
Other versions
CN110351565A (en
Inventor
虞露
孙煜程
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang University ZJU
Original Assignee
Zhejiang University ZJU
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 Zhejiang University ZJU filed Critical Zhejiang University ZJU
Priority to CN201810283066.4A priority Critical patent/CN110351565B/en
Publication of CN110351565A publication Critical patent/CN110351565A/en
Application granted granted Critical
Publication of CN110351565B publication Critical patent/CN110351565B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/513Processing of motion vectors
    • 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/573Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
    • 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/59Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution

Abstract

The invention provides a method and a device for exporting a motion vector of a reference region, comprising the following steps: according to the size of the current block and the position of the reference area relative to the current block, the size of a rectangular spatial domain pixel template of the reference area is appointed, a motion vector of the reference area is obtained by searching on a reference frame of the current block by using the rectangular spatial domain pixel template with the appointed size, and the motion vector of the reference area is used as the reference motion vector of the current block from the reference area to be output. The method and the device for deriving the motion vector of the reference area improve the accuracy of the reference motion vector by searching the motion of the motion vector of the reference area based on a reconstructed frame.

Description

Method and device for exporting motion vector of reference region
Technical Field
The present invention relates to video processing technologies, and in particular, to a method and an apparatus for deriving a motion vector of a reference region.
Background
In the video coding and decoding technology, the redundancy of video information in time and space is eliminated by using the prediction in the time domain and the prediction in the space domain. The inter-frame prediction technology is a technology commonly applied in the field of video encoding and decoding. Information of the current frame is predicted by motion compensation using information in the decoded frame. In the motion compensation process, a lot of side information needs to be transmitted in a video code stream, and a decoding end reconstructs pixel information of a current frame by using the side information and the transformed residual error. In the transmission process of the motion vector information, the transmission code rate of the motion information can be effectively compressed by a reasonable motion vector prediction method. It is a general practice to derive a motion vector of a reference region (located in a peripheral decoded region of the current block, as shown in fig. 14, PU0, PU1, PU2, PU3, and PU4 are reference blocks of the current block, the region of the reference block is a referenceable region of the current block, and the referenceable region may be smaller than the size of the reference block) as a motion vector predictor of the current block, thereby compressing the transmission cost of the actual motion vector of the current block. At a coding end, motion vectors of all reference areas need to be derived, and then the optimal motion vector of the reference area is decided through decision modes such as RDO (remote data object) and the like; at the decoding end, the position of the reference area can be uniquely determined through the code stream, so that the motion vector of the reference area only needs to be derived.
In the process of deriving the motion information of the current block based on the reference block, the reference frame index of the reference block is not adopted, so that the current block reference frame index and the reference block reference frame index are inconsistent (i.e. the motion vector temporal span of the current block and the motion vector temporal span of the reference block are inconsistent), and the reference motion vector obtained in this case is called a cross-temporal reference motion vector.
When the object motion is a uniform straight line, the cross-time domain reference motion vector obtained by performing time domain equal proportion expansion operation on the reference motion vector is reasonable. As shown in fig. 1, in case that the motion vector temporal span of the block where the reference motion vector is located is different from the current inter-predicted block motion vector temporal span. The final reference motion vector is obtained by adopting time domain linear expansion and contraction, and the formula is
Figure GDA0002957332300000011
Wherein predMV is a reference motion vector; the curMV is a motion vector which is finally put into a reference motion vector candidate list and subjected to time domain expansion; td is the time domain distance between the current frame and the reference frame of the current block; tb is the temporal distance between the current frame (the frame where the reference motion vector is located) and the frame to which the reference motion vector predMV points.
A common template matching technique uses an L-shaped template for motion search (the motion search generally uses SAD or SATD as a search criterion, the search can be performed with the original (decoded) motion vector of the reference region itself, the motion vector scaled according to the temporal distance of the reference frame, the motion vector derived from the reverse derivation, etc. as a search starting point, or a center point, etc.), and the template size is related to the current block size (as shown in fig. 2). The FRUC technique uses a motion vector obtained by template matching as a reference motion vector. Since the FRUC technique modifies the motion vector of the current block, the template is a joint template of the left and top sides of the current block (as shown in fig. 3), if the current block is MxN size, the top template size Mx4, and the left template size 4xN, i.e. the template shape is related to the current block shape.
Disclosure of Invention
The invention aims to re-search and update the reference motion vector of the current block by using a part of decoded areas in the current image so as to obtain a more accurate reference motion vector.
The first objective of the present invention is to provide a method for deriving a motion vector of a reference region, comprising:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template;
using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
Preferably, the deriving method further includes: if the rectangular spatial domain pixel template is located above the current block, further N is designated as a number greater than Q; if the rectangular spatial pixel template is located to the left of the current block, then further Q is assigned a number greater than N.
Preferably, the deriving method further includes: if the rectangular spatial domain pixel template is located above the current block, further N is designated as a number less than K; if the rectangular spatial pixel template is located to the left of the current block, then further Q is assigned a number less than L.
Preferably, the reference frame of the reference region where the rectangular spatial domain pixel template is located and the reference frame of the current block are not the same frame.
Preferably, the size of NxQ is further specified as one of: 4x4, 8x 8.
A second object of the present invention is to provide a reference region motion vector derivation apparatus, including:
a rectangular spatial domain pixel template determination module: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template;
a motion vector search module: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
reference motion vector output template: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
Preferably, the deriving means further comprises: in the pixel template determination module, if the rectangular airspace pixel template is located above the current block, then further N is specified as a number greater than Q; if the rectangular spatial pixel template is located to the left of the current block, then further Q is assigned a number greater than N.
Preferably, the deriving means further comprises: in the pixel template determination module, if the rectangular airspace pixel template is located above the current block, further N is specified as a number less than K; if the rectangular spatial pixel template is located to the left of the current block, then further Q is assigned a number less than L.
Preferably, the reference frame of the reference region where the rectangular spatial domain pixel template is located and the reference frame of the current block are not the same frame.
Preferably, the size of NxQ is further specified as one of: 4x4, 8x 8.
Compared with the prior art, the method adopts the reconstruction pixel in the rectangular template at one side of the current block to search and obtain the motion vector of the area, and the obtained motion vector is used as the reference motion vector of the current block corresponding to the area; instead of the prior art, the motion vector of the current block is selected through the peripheral reference information, and then the reconstructed pixels in the L-shaped template at the periphery of the current block are used for searching and updating the motion vector for the current block. Therefore, the motion vectors of different reference areas of the current block can be respectively searched by using the templates, the accuracy of the candidate reference vectors is ensured, and the diversity of the candidate reference vectors is kept. Further, because the motion vector search is performed for the reference region and not for the current region, the size of the pixel template used is not necessarily bound to the size of the current block, i.e., the adjacent edge of the pixel template to the current block is not necessarily the full side length of the current block.
In addition, the invention also limits the size of the template at a specific position: for the template above or on the left of the current block, the side adjacent to the current block needs to be longer than the side not adjacent to the current block, so that the derived motion vector can be closer to the actual motion vector of the current block, and the complexity of the search is considered. In addition, considering that the neighboring area of the current block does not necessarily have similar motion with the whole adjacent edge of the current block, and considering the complexity of searching, the side length of the pixel module adjacent to the current block may be shorter than the full length of the current block on the adjacent edge. For the diagonal positions (lower left, upper right) of the current block, the template is not directly adjacent to the current block, and the square template is more reasonable.
In the selection of the template, the invention also provides a preferable scheme that the size of the template is fixed to be 4x4 or 8x8, so that the reliability of the search result of the template area and the accuracy of the derived motion vector are both considered.
Finally, the invention considers that for the cross-time domain reference motion vector, because of the irrational linear scaling, the motion search of the template is needed to carry out the re-derivation operation.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings needed to be used in the description of the embodiments or the prior art will be briefly introduced below, and it is obvious that the drawings in the following description are some embodiments of the present invention, and for those skilled in the art, other drawings can be obtained according to these drawings without creative efforts.
FIG. 1 is a diagram of a cross-temporal reference motion vector;
FIG. 2 is a diagram of a template of a common template matching technique;
fig. 3 is a schematic diagram of a FRUC technology template;
FIG. 4 is a schematic diagram of a rectangular spatial domain pixel template according to an embodiment of the present invention;
FIG. 5 is a schematic diagram of a rectangular spatial domain pixel template according to an embodiment of the present invention;
FIG. 6 is a schematic diagram of a rectangular spatial domain pixel template according to an embodiment of the present invention;
FIG. 7 is a schematic diagram of a rectangular spatial domain pixel template according to an embodiment of the present invention;
FIG. 8 is a schematic diagram of a rectangular spatial domain pixel template according to an embodiment of the present invention;
FIG. 9 is a schematic diagram of a rectangular spatial domain pixel template according to an embodiment of the present invention;
FIG. 10 is a schematic diagram of a rectangular spatial domain pixel template according to an embodiment of the present invention;
fig. 11 is a schematic diagram of a method for deriving a motion vector of a reference region according to an embodiment of the present invention;
FIG. 12 is a schematic diagram of a rectangular spatial domain pixel template according to an embodiment of the present invention;
FIG. 13 is a schematic diagram of a rectangular spatial domain pixel template according to an embodiment of the present invention;
FIG. 14 is a diagram of reference blocks surrounding a current block.
Detailed Description
In the video coding inter-frame prediction technology, the coding cost of transmitting the actual motion vector can be greatly compressed by means of the reference motion vector.
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Example 1
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in fig. 4, a NxQ-sized pixel area above the current block is taken, and a search is performed on the reconstructed reference frame of the current block to obtain the first position of the reference motion vector in the reference motion vector list.
Example 2
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in FIG. 5, one method that may be used is to take a region of NxQ pixels to the left of the current block, and search through the reconstructed reference frame of the current block to obtain a second position where the reference motion vector is placed in the reference motion vector list.
Example 3
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in fig. 4, a NxQ-sized pixel area above the current block is taken, and a reference motion vector is searched for a third position in the reference motion vector list by searching the reconstructed reference frame of the current block.
Example 4
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region. Wherein the rectangular spatial domain pixel template NxQ is fixed in size to be one of: 4x4, 8x 8.
For example, as shown in FIG. 12, an NxQ-sized 4x4 pixel area above the current block is searched for the first position of the reference motion vector in the reference motion vector list in the reconstructed reference frame of the current block.
Example 5
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region. Wherein the rectangular spatial domain pixel template NxQ is fixed in size to be one of: 4x4, 8x 8.
For example, as shown in fig. 13, one method that can be used is to take a pixel area of 8 × 8 to the left of the current block, and search the reconstructed reference frame of the current block to obtain the second position of the reference motion vector in the reference motion vector list.
Example 6
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in fig. 6, one method that can be used is to take a pixel area NxQ to the left of the current block, and search on the reconstructed reference frame of the current block to obtain the first position of the reference motion vector to be placed in the reference motion vector list.
Example 7
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region. If the rectangular spatial domain pixel template is located above the current block, further N is designated as a number greater than Q; if the rectangular spatial pixel template is located to the left of the current block, then further Q is assigned a number greater than N.
For example, one method that may be used is to take the area of NxQ pixels above the current block, where N < K, and search through the reconstructed reference frame of the current block to get the reference motion vector to be placed in the third position of the reference motion vector list, as shown in FIG. 4.
Example 8
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region. If the rectangular spatial domain pixel template is located above the current block, further N is designated as a number greater than Q; if the rectangular spatial pixel template is located to the left of the current block, then further Q is assigned a number greater than N.
For example, one method that may be used is to take the pixel area to the left of NxQ of the current block, where Q < L, and search through the reconstructed reference frame of the current block to get the second position where the reference motion vector is placed in the reference motion vector list, as shown in FIG. 5.
Example 9
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region. If the rectangular spatial domain pixel template is located above the current block, further N is designated as a number less than K; if the rectangular spatial domain pixel template is to the left of the current block, then further Q is assigned a number less than L and if the rectangular spatial domain pixel template is to the left of the current block, then further Q is assigned a number greater than N.
For example, as shown in fig. 8, one method that can be used is to take the pixel area to the left of NxQ and Q < L of the current block, and search on the reconstructed reference frame of the current block to obtain the third position of the reference motion vector to be placed in the reference motion vector list.
Example 10
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region. If the rectangular spatial domain pixel template is located above the current block, further N is designated as a number less than K; if the rectangular spatial domain pixel template is to the left of the current block, then further Q is assigned a number less than L and if the rectangular spatial domain pixel template is to the left of the current block, then further Q is assigned a number greater than N. For example, as shown in fig. 9, a method is available in which a pixel region NxQ above the current block, N < K, is taken, and a search is performed on the reconstructed reference frame of the current block to obtain a third position of the reference motion vector to be placed in the reference motion vector list.
Example 11
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in FIG. 10, one method that can be used is to take the pixel area of NxQ below and to the left of the current block, and to search the reconstructed reference frame of the current block to obtain the first position of the reference motion vector in the reference motion vector list.
Example 12
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region. The reference frame of the reference area where the rectangular spatial domain pixel template is located and the reference frame of the current block are not the same frame.
For example, as shown in FIG. 4, one method that can be used is to take the pixel region NxQ above the current block, and search the reconstructed reference frame of the current block to obtain the second position of the reference motion vector in the reference motion vector list.
Example 13
The method for deriving a motion vector of a reference region provided in this embodiment specifically includes:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template; using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area; outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in fig. 5, a method may be used to take the pixel area to the left NxQ of the current block (the rectangular spatial pixel template is located in the pixel area where the reference frame of the current block and the reference frame of the current block are the same frame), and search the reconstructed reference frame of the current block to obtain the first position of the reference motion vector in the reference motion vector list.
Example 14
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in fig. 4, one method that can be used is to search the reconstructed reference frame of the current block for a reference motion vector by taking a NxQ-sized pixel region above the current block.
Example 15
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, one method that may be used is to search for a reference motion vector on the reconstructed reference frame of the current block, taking a region of pixels NxQ to the left of the current block, as shown in FIG. 5.
Example 16
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, one method that may be used is to take a region of NxQ-sized pixels to the top left of the current block and search for a reference motion vector on the reconstructed reference frame for the current block.
Example 17
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and equal to or less than 64 and Q is specified as a number greater than 0 and equal to or less than L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of a rectangular spatial pixel template, and Q is the vertical dimension of the rectangular spatial pixel template, where the size of the rectangular spatial pixel template NxQ is fixed to one of the following sizes: 4x4, 8x 8;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in fig. 12, a method is available in which a pixel area of 4 × 4 size above the current block is taken, and a reference motion vector is searched for on the reconstructed reference frame of the current block.
Example 18
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and equal to or less than 64 and Q is specified as a number greater than 0 and equal to or less than L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of a rectangular spatial pixel template, and Q is the vertical dimension of the rectangular spatial pixel template, where the size of the rectangular spatial pixel template NxQ is fixed to one of the following sizes: 4x4, 8x 8;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in fig. 13, one method that can be used is to search the reconstructed reference frame of the current block for the reference motion vector by taking the pixel area of 8 × 8 to the left of the current block.
Example 19
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in FIG. 6, one method that may be used is to search the reconstructed reference frame of the current block for a reference motion vector, taking a region of pixels NxQ to the left of the current block.
Example 20
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is assigned a number greater than 0 and less than or equal to 64 and Q is assigned a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of a rectangular spatial pixel template, and Q is the vertical dimension of the rectangular spatial pixel template, where N is assigned a number greater than Q if the rectangular spatial pixel template is above the current block; if the rectangular airspace pixel template is positioned at the left of the current block, Q is specified to be a number larger than N;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, one method that may be used is to take the region of pixels NxQ above the current block, where N < K, and search through the reconstructed reference frame for the current block to obtain a reference motion vector, as shown in FIG. 4.
Example 21
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is assigned a number greater than 0 and less than or equal to 64 and Q is assigned a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of a rectangular spatial pixel template, and Q is the vertical dimension of the rectangular spatial pixel template, where N is assigned a number greater than Q if the rectangular spatial pixel template is above the current block; if the rectangular airspace pixel template is positioned at the left of the current block, Q is specified to be a number larger than N;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, one method that may be used is to take the pixel area to the left NxQ of the current block, where Q < L, and search through the reconstructed reference frame of the current block for the reference motion vector, as shown in FIG. 5.
Example 22
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is assigned a number greater than 0 and less than or equal to 64 and Q is assigned a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of a rectangular spatial pixel template, and Q is the vertical dimension of the rectangular spatial pixel template, where N is assigned a number less than K if the rectangular spatial pixel template is located above the current block; if the rectangular airspace pixel template is positioned at the left of the current block, Q is specified to be a number smaller than L;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in FIG. 8, one method that can be used is to take the pixel area to the left NxQ of the current block, set Q < L, and search the reconstructed reference frame of the current block to obtain the reference motion vector.
Example 23
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is assigned a number greater than 0 and less than or equal to 64 and Q is assigned a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of a rectangular spatial pixel template, and Q is the vertical dimension of the rectangular spatial pixel template, where N is assigned a number less than K if the rectangular spatial pixel template is located above the current block; if the rectangular airspace pixel template is positioned at the left of the current block, Q is specified to be a number smaller than L;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in fig. 9, a method is available in which a pixel region NxQ above the current block is taken, N < K is set, and a reference motion vector is obtained by searching on a reconstructed reference frame of the current block.
Example 24
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in fig. 10, a method is available in which a pixel region of NxQ below and to the left of the current block is taken, N ≠ Q is set, and a reference motion vector is obtained by searching on a reconstructed reference frame of the current block.
Example 25
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference area is located on the left of the current block, N is specified to be a number greater than 0 and less than or equal to 64 and Q is specified to be a number greater than 0 and less than or equal to L, wherein K is the horizontal size of the current block, L is the vertical size of the current block, N is the horizontal size of a rectangular spatial domain pixel template, and Q is the vertical size of the rectangular spatial domain pixel template, wherein the reference frame of the reference area where the rectangular spatial domain pixel template is located is not the same frame as the reference frame of the current block;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in fig. 4, a pixel region NxQ above the current block (the reference frame of the reference region where the rectangular spatial domain pixel template is located is not the same frame as the reference frame of the current block) is taken, and a reference motion vector is obtained by searching on the reconstructed reference frame of the current block.
Example 26
This embodiment provides a method for deriving a motion vector of a reference region, as shown in fig. 11:
a module S101: its input comprises the size KxL of the current block, the position of the reference region relative to the current block, and its output comprises the size NxQ of the rectangular spatial pixel template of the reference region;
the function of the module is as follows: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template;
a module S102: its input includes the size NxQ of the rectangular spatial domain pixel template of the reference region, its output includes the motion vector of the reference region;
the function of the module is as follows: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
a module S103: its input includes the motion vector of the reference area, its output includes the motion vector of the current block;
the function of the module is as follows: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
For example, as shown in fig. 5, a pixel region to the left NxQ of the current block (the reference frame of the reference region where the rectangular spatial domain pixel template is located is the same frame as the reference frame of the current block) is taken, and a search is performed on the reconstructed reference frame of the current block to obtain a reference motion vector.

Claims (10)

1. A method for deriving a motion vector for a reference region, comprising:
specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template;
using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
2. The reference region motion vector derivation method as claimed in claim 1, further comprising:
if the rectangular spatial domain pixel template is located above the current block, further N is designated as a number greater than Q; if the rectangular spatial pixel template is located to the left of the current block, then further Q is assigned a number greater than N.
3. The reference region motion vector derivation method as claimed in claim 1, further characterized by:
if the rectangular spatial domain pixel template is located above the current block, further N is designated as a number less than K; if the rectangular spatial pixel template is located to the left of the current block, then further Q is assigned a number less than L.
4. The reference region motion vector derivation method as claimed in claim 1, further comprising:
the reference frame of the reference area where the rectangular spatial domain pixel template is located and the reference frame of the current block are not the same frame.
5. The reference region motion vector derivation method as claimed in claim 1, further comprising:
when K, L >4 and K, L <8, the size of the NxQ is further specified as 4x 4; when K, L >8, the size of NxQ is further specified as one of: 4x4, 8x 8.
6. An apparatus for deriving a motion vector of a reference region, comprising:
a rectangular spatial domain pixel template determination module: specifying NxQ a size of a rectangular spatial pixel template of a reference region according to the size KxL of the current block and the position of the reference region relative to the current block: if the reference region is located above the current block, N is designated as a number greater than 0 and less than or equal to K and Q is designated as a number greater than 0 and less than or equal to 64; if the reference region is to the left of the current block, then N is specified as a number greater than 0 and less than or equal to 64 and Q is specified as a number greater than 0 and less than or equal to L, where K is the horizontal dimension of the current block, L is the vertical dimension of the current block, N is the horizontal dimension of the rectangular spatial domain pixel template, and Q is the vertical dimension of the rectangular spatial domain pixel template;
a motion vector search module: using a rectangular spatial domain pixel template with the size of NxQ to search on a reference frame of a current block to obtain a motion vector of the reference area;
reference motion vector output template: outputting the motion vector of the reference region as a reference motion vector of the current block from the reference region.
7. The reference region motion vector deriving device according to claim 6, further comprising:
in the pixel template determination module, if the rectangular airspace pixel template is located above the current block, then further N is specified as a number greater than Q; if the rectangular spatial pixel template is located to the left of the current block, then further Q is assigned a number greater than N.
8. The reference region motion vector deriving device according to claim 6, further characterized in that:
in the pixel template determination module, if the rectangular airspace pixel template is located above the current block, further N is specified as a number less than K; if the rectangular spatial pixel template is located to the left of the current block, then further Q is assigned a number less than L.
9. The reference region motion vector deriving device according to claim 6, further comprising:
the reference frame of the reference area where the rectangular spatial domain pixel template is located and the reference frame of the current block are not the same frame.
10. The reference region motion vector deriving device according to claim 6, comprising:
when K, L >4 and K, L <8, the size of the NxQ is further specified as 4x 4; when K, L >8, the size of NxQ is further specified as one of: 4x4, 8x 8.
CN201810283066.4A 2018-04-02 2018-04-02 Method and device for exporting motion vector of reference region Active CN110351565B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810283066.4A CN110351565B (en) 2018-04-02 2018-04-02 Method and device for exporting motion vector of reference region

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810283066.4A CN110351565B (en) 2018-04-02 2018-04-02 Method and device for exporting motion vector of reference region

Publications (2)

Publication Number Publication Date
CN110351565A CN110351565A (en) 2019-10-18
CN110351565B true CN110351565B (en) 2021-08-03

Family

ID=68172474

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810283066.4A Active CN110351565B (en) 2018-04-02 2018-04-02 Method and device for exporting motion vector of reference region

Country Status (1)

Country Link
CN (1) CN110351565B (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102160383A (en) * 2008-09-24 2011-08-17 索尼公司 Image processing device and method
CN102883160A (en) * 2009-06-26 2013-01-16 华为技术有限公司 Method, device and equipment for acquiring video image motion information, and template construction method
CN105007493A (en) * 2015-07-17 2015-10-28 珠海市杰理科技有限公司 Match searching method and system based on motion search window
CN105704496A (en) * 2016-03-25 2016-06-22 符锌砂 Adaptive template matching algorithm based on edge detection
WO2017036414A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of decoder side motion derivation for video coding
CN107360419A (en) * 2017-07-18 2017-11-17 成都图必优科技有限公司 A kind of motion forward sight video interprediction encoding method based on perspective model
CN107770524A (en) * 2013-06-15 2018-03-06 浙江大学 A kind of video coding-decoding processing method and device

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI444049B (en) * 2011-01-18 2014-07-01 Univ Nat Chiao Tung Frame prediction system and prediction method thereof
US10397569B2 (en) * 2016-06-03 2019-08-27 Mediatek Inc. Method and apparatus for template-based intra prediction in image and video coding

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102160383A (en) * 2008-09-24 2011-08-17 索尼公司 Image processing device and method
CN102883160A (en) * 2009-06-26 2013-01-16 华为技术有限公司 Method, device and equipment for acquiring video image motion information, and template construction method
CN107770524A (en) * 2013-06-15 2018-03-06 浙江大学 A kind of video coding-decoding processing method and device
CN105007493A (en) * 2015-07-17 2015-10-28 珠海市杰理科技有限公司 Match searching method and system based on motion search window
WO2017036414A1 (en) * 2015-09-02 2017-03-09 Mediatek Inc. Method and apparatus of decoder side motion derivation for video coding
CN105704496A (en) * 2016-03-25 2016-06-22 符锌砂 Adaptive template matching algorithm based on edge detection
CN107360419A (en) * 2017-07-18 2017-11-17 成都图必优科技有限公司 A kind of motion forward sight video interprediction encoding method based on perspective model

Also Published As

Publication number Publication date
CN110351565A (en) 2019-10-18

Similar Documents

Publication Publication Date Title
AU2018294206B2 (en) Motion vector refinement for multi-reference prediction
US20190110065A1 (en) Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector
KR101393824B1 (en) System and method for low complexity motion vector derivation
TW201739252A (en) Method and apparatus of video coding with affine motion compensation
US9473787B2 (en) Video coding apparatus and video coding method
CN110858901B (en) Overlapped block motion compensation using temporal neighbors
US20210112254A1 (en) Affine model-based image encoding/decoding method and device
US11889099B2 (en) Methods and apparatuses of video processing for bi-directional prediction with motion refinement in video coding systems
EP2699001A1 (en) A method and a system for video signal encoding and decoding with motion estimation
JP2023134651A (en) Method and device for video decoding according to inter-prediction in video coding system
US20230209083A1 (en) Image decoding method and apparatus based on affine motion prediction in image coding system
US20230412833A1 (en) Affine motion prediction-based image decoding method and device using affne merge candidate list in image coding system
US10187654B2 (en) Method and device for forward multiple-hypothesis encoding/decoding of image block
JP2023139206A (en) Method and apparatus for encoding or decoding video data in FRUC mode using reduced memory access
WO2019242686A1 (en) Method and apparatus of motion vector buffer management for video coding system
CN110351565B (en) Method and device for exporting motion vector of reference region
KR102463478B1 (en) Affine inter prediction method and apparatus for video coding system
CN110876058B (en) Historical candidate list updating method and device
CN117882377A (en) Motion vector refinement based on template matching in video codec systems
AU2018267557B2 (en) Predictive encoding method, predictive encoding device, and predictive encoding program of motion vector, and, predictive decoding method, predictive decoding device, and predictive decoding program of motion vector
US11601643B2 (en) Method and apparatus for inter prediction in video processing system
JP6849781B2 (en) Image coding device, image coding method and computer program

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant