WO2020057558A1 - 帧间预测方法和设备 - Google Patents

帧间预测方法和设备 Download PDF

Info

Publication number
WO2020057558A1
WO2020057558A1 PCT/CN2019/106484 CN2019106484W WO2020057558A1 WO 2020057558 A1 WO2020057558 A1 WO 2020057558A1 CN 2019106484 W CN2019106484 W CN 2019106484W WO 2020057558 A1 WO2020057558 A1 WO 2020057558A1
Authority
WO
WIPO (PCT)
Prior art keywords
mhp
target
image block
current image
candidate
Prior art date
Application number
PCT/CN2019/106484
Other languages
English (en)
French (fr)
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 WO2020057558A1 publication Critical patent/WO2020057558A1/zh

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/137Motion inside a coding unit, e.g. average field, frame or block difference
    • H04N19/139Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/167Position within a video image, e.g. region of interest [ROI]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel

Definitions

  • This application relates to video image technology, and in particular, to an inter prediction method and device.
  • Inter prediction refers to predictive coding using reconstructed pixel values of time-domain neighboring blocks of image blocks in a video image, and is widely used in the fields of ordinary television, conference television, video telephony, high-definition television and the like.
  • the inter-prediction pixel block of multiple image blocks in the video image is not the best inter-prediction pixel block due to factors such as afterimages in the video image and / or blurring of the edges of the video image, reducing the frame Inter prediction accuracy and coding performance.
  • This application provides an inter prediction method and device.
  • This application provides a first inter prediction method, which is applied to an encoding end and includes:
  • a target inter-prediction pixel of the current image block is determined according to each candidate inter-prediction pixel.
  • This application provides a second inter prediction method, which is applied to a decoding end and includes:
  • a target inter-prediction pixel of the current image block is determined according to each candidate inter-prediction pixel.
  • An embodiment of the present application provides an encoding end device, including: a machine-readable storage medium and a processor;
  • the machine-readable storage medium is configured to store machine-readable instructions
  • the processor is configured to read the machine-readable instructions and execute the instructions to implement the first inter prediction method described above.
  • An embodiment of the present application provides a first decoding end device, including: a machine-readable storage medium and a processor;
  • the machine-readable storage medium is configured to store machine-readable instructions
  • the processor is configured to read the machine-readable instructions and execute the instructions to implement the second inter prediction method described above.
  • An embodiment of the present application provides a second decoding device, including: a machine-readable storage medium and a processor;
  • the machine-readable storage medium is configured to store machine-readable instructions
  • the processor is configured to read the machine-readable instructions and execute the instructions to implement the third inter prediction method described above.
  • the encoding end or the decoding end determines the target MHP position set based on the motion information of the current image block, and then derives the candidate inter prediction pixel corresponding to each target MHP position in the target MHP position set.
  • the target inter-predicted pixel of the current image block is helpful to ensure that the target inter-predicted pixel of the current image block obtained is the best predicted pixel block. Even if there are factors such as afterimages and / or blurred edges of the video image, it is also conducive to ensuring that the target inter-predicted pixels of the current image block obtained are closer to the original pixels of the current image block, which is the best predicted pixel block. It improves the accuracy and coding performance of inter prediction.
  • FIG. 1 is a flowchart of an inter prediction method provided in Embodiment 1 of the present application.
  • FIG. 2 is an embodiment implementation flowchart of step 101 provided in Embodiment 1 of this application;
  • step 201 is a flowchart of implementing step 201 provided in Embodiment 1 of the present application.
  • step 302 is a flowchart of implementing step 302 provided in Embodiment 1 of the present application.
  • 5a to 5d are schematic diagrams of a target area provided in Embodiment 1 of the present application.
  • step 201 is another implementation flowchart of step 201 provided in Embodiment 1 of the present application.
  • FIG. 7 is a schematic diagram of a target area provided in Embodiment 1 of the present application.
  • Embodiment 9 is a flowchart of an inter prediction method provided in Embodiment 3 of the present application.
  • FIG. 10 is a structural diagram of a coding end device provided by this application.
  • FIG. 11 is a schematic diagram of a hardware structure of an encoding end device provided by this application.
  • FIG. 12 is a structural diagram of a decoding end device provided by this application.
  • FIG. 13 is a schematic diagram of a hardware structure of a decoding device shown in FIG. 12 provided in this application;
  • FIG. 15 is a schematic diagram of a hardware structure of a decoding device shown in FIG. 14 provided in this application.
  • the first embodiment is described by taking an example applied to a coding end.
  • FIG. 1 is a flowchart of an inter prediction method according to Embodiment 1 of the present application. The method is applied to the encoding end and may include the following steps:
  • Step 101 Determine a target multi-hypothesis prediction (MHP) position set according to motion information (MI: Motion Information) of the current image block.
  • MI Motion Information
  • the size of the current image block is not limited. It can be the largest coding tree unit (CTU: Coding Tree Unit) specified in the coding standard, or it can be larger or smaller than the CTU, which is not specifically limited in this application.
  • CTU Coding Tree Unit
  • the motion information of the current image block may refer to motion-related coding information, such as motion vector (MV: Motion Vector), reference frame index (Reference Index), etc., which is not specifically limited in this application.
  • MV Motion Vector
  • Reference Frame index refers to the current reference number of reference frames in the preset reference frame list.
  • the target MHP position set used for inter prediction is obtained according to the motion information of the current image block, and the inter prediction is performed based on the target MHP position set. This is compared to determining the target MHP position set based on a fixed mode. Can improve the accuracy of inter prediction.
  • the target MHP position set according to the motion information of the current image block in this step 101 there are many implementation manners. The process shown in FIG. 2 below illustrates one implementation manner by way of example, which is not described here for now.
  • Step 102 Determine a candidate inter prediction pixel (Candidate) corresponding to each target MHP position in the target MHP position set.
  • the candidate inter-predicted pixel refers to a predicted pixel derived from a reference frame of the current image block, and is a basis for obtaining a target inter-predicted pixel of the current image block. For details, see step 103.
  • the target MHP position may be represented by a motion vector or a motion vector and a reference frame index.
  • the reference frame index here is used to indicate that the target MHP position uses several reference frames in the preset reference frame list.
  • the motion vector of the default target MHP position points to a reference frame consistent with the current image block, thereby obtaining candidate inter-prediction pixels corresponding to each MHP target position.
  • a candidate inter prediction pixel corresponding to each MHP target position is obtained according to the motion vector of each MHP position and the reference frame to which it is directed.
  • Step 103 Determine a target inter prediction pixel of the current image block according to each candidate inter prediction pixel.
  • determining the target inter prediction pixel of the current image block according to each candidate inter prediction pixel may include: performing a weighting operation on each candidate prediction pixel according to the weighting coefficient of each candidate inter prediction pixel. To determine a weighted operation result as a target inter-predicted pixel of the current image block.
  • the weighting coefficients of the candidate inter prediction pixels may be the same.
  • the foregoing weighting operation is performed on each candidate prediction pixel according to the weighting coefficient of each candidate inter prediction pixel, which is equivalent to weighting the average of each candidate inter prediction pixel.
  • the weighting coefficients of the candidate inter prediction pixels may also be different.
  • the weighting coefficient may be set according to the distance between the target MHP position corresponding to each candidate inter prediction pixel and the current image block.
  • a feasible setting method is: the closer the distance, the larger the weighting coefficient.
  • the candidate corresponding to the target MHP position essentially the motion information of the current image block
  • the weighting factor for the inter-predicted pixels is set to the maximum.
  • the encoding end determines the target MHP position set according to the motion information of the current image block, and then obtains the current according to the candidate inter prediction pixels corresponding to each target MHP position in the target MHP position set
  • the target inter-predicted pixel of the image block is beneficial to ensure that the target inter-predicted pixel of the current image block obtained is the best predicted pixel block. Even if the video image has afterimages and / or blurred edges of the video image, it is also beneficial to ensure that the target inter-predicted pixels of the current image block obtained are closer to the original pixels of the current image block and are the best predicted pixel blocks. Improved inter prediction accuracy and coding performance.
  • FIG. 2 is an embodiment implementation flowchart of step 101 provided in Embodiment 1 of the present application. As shown in Figure 2, the process may include the following steps:
  • Step 201 Determine a candidate MHP position set according to the motion information of the current image block.
  • the motion information of the current image block may be motion-related coding information.
  • the motion information of the current image block may be a motion vector (MV: Motion Vector) of the current image block.
  • FIG. 3 illustrates by way of example how the candidate MHP position set is determined according to the motion information of the current image block when the motion information of the current image block is the motion vector of the current image block, which is not described herein again.
  • the motion information of the current image block may be a motion vector of the current image block and a reference frame index (referred to as a first reference frame index) corresponding to a reference frame adopted by the current image block.
  • the first reference frame index is an index of a reference frame in a reference frame list of a current frame that has been recorded on the encoding end.
  • FIG. 6 illustrates the determination of the candidate MHP position set according to the motion information of the current image block by using the motion information of the current image block as the motion vector and the first reference frame index as an example.
  • Step 202 Select at least two candidate MHP positions from the candidate MHP position set.
  • At least two candidate MHP positions may be randomly selected from the candidate MHP position set, and each candidate MHP position in the candidate MHP position set may be performed according to a preset requirement or condition.
  • Priority order select at least two according to priority from high to low. For example, the smaller the spacing, the higher the priority.
  • step 202 at least two candidate MHP positions that meet the requirements may be selected from a candidate MHP position set according to actual needs.
  • the requirements here include, but are not limited to, external instructions, business requirements, and the distance from the current image block satisfies a set distance.
  • Step 203 The selected candidate MHP positions are combined into the target MHP position set.
  • FIG. 3 is a flowchart for implementing step 201 provided in Embodiment 1 of the present application. As shown in FIG. 3, the process may include the following steps:
  • step 301 when the motion information includes a motion vector, step 302 is performed.
  • Step 302 Select at least two positions whose distances from a termination point of the motion vector satisfy a preset condition according to a direction of a motion vector of the current image block, and use the candidate MHP position set as the candidate MHP position set.
  • the candidate MHP position set of the current image block can be restricted according to the motion vector of the current image block, and the candidate MHP position in the restricted candidate MHP position set is along the motion.
  • step 302 there are many implementations of the specific implementation of step 302:
  • step 302 may first select a candidate MHP position based on the motion vector's offset in the horizontal direction and / or the vertical direction's offset.
  • a position based on the displacement amount of the motion vector in the lateral direction as a reference it may happen that if the direction along the motion vector is used, the value of the longitudinal component of the candidate MHP position finally selected is not an integer.
  • a similar situation occurs when a position is selected based on the displacement amount of the motion vector in the longitudinal direction as a reference. In view of this situation, the embodiments of the present application will round up or down. For example: For example, the end point of a motion vector is (1, 2).
  • the offset is forward biased along the direction of the motion vector. Shift 1, for example, the longitudinal component of the selectable position is 3.
  • the horizontal component of the selectable position should be 1.5
  • the horizontal or vertical component of the pixel should be Integer, based on this, at this time, it can be rounded down to 1.5, and the value is 1, for example, the position (1, 3) is selected, or rounded up to 1.5, and the value is 2, such as the position (2, 3).
  • step 302 may be implemented in the following manner: randomly selecting at least two positions along the direction of the motion vector and meeting a preset condition as candidate MHP positions to form the candidate MHP position set. For example, if the number N of candidate MHP positions in the candidate MHP position set is specified as 2, the candidate MHP position set may include the motion vector of the current image block (denoted as MV1) and the first candidate MV, and the first candidate MV is horizontal according to MV1. The shift amount p1 in the direction and the shift amount p2 in the longitudinal direction of the MV1 are generated.
  • the candidate MHP position set may include a second candidate MV and a third candidate MV, and the second candidate MV is generated according to the offset p3 of MV1 in the lateral direction and the offset p4 of MV1 in the longitudinal direction.
  • the third candidate MV is generated based on the offset amount p5 of MV1 in the lateral direction and the offset amount p6 of MV1 in the longitudinal direction.
  • the candidate MHP position set may include MV1, a symmetric or asymmetric fourth candidate MV, and a fifth candidate MV.
  • the fourth candidate MV is based on the offset p7 of MV1 in the lateral direction and the bias of MV1 in the longitudinal direction.
  • a shift amount p8 is generated.
  • the fifth candidate MV is generated based on the offset amount p9 of MV1 in the lateral direction and the offset amount p10 of MV1 in the longitudinal direction, and so on.
  • the above-mentioned offset in the lateral direction may be the same as or different from that in the longitudinal direction.
  • the above-mentioned offset in the lateral direction may be forward along the lateral direction or reversed along the lateral direction.
  • the offset direction in the longitudinal direction may be forward along the longitudinal direction, or may be reversed along the longitudinal direction, and finally determined according to the principle closest to the termination point of MV1.
  • step 302 may be implemented by a coordinate change.
  • FIG. 4 illustrates how to implement step 302 through coordinate changes, which is not described herein again.
  • the foregoing preset conditions may be set according to actual requirements.
  • the end point of the distance and motion vector is smaller than the preset distance value.
  • the purpose of setting the preset distance value is to determine the candidate MHP position within a range close to the end point of the motion vector.
  • the process shown in FIG. 3 is used to realize how to determine a candidate MHP position set according to the motion information of the current image block when the motion information of the current image block includes a motion vector.
  • the motion information of the current image block shown in FIG. 3 includes how a motion vector determines a candidate MHP position set according to the motion information of the current image block, which is only an example and is not intended to be limiting.
  • FIG. 4 is a flowchart of implementing step 302 provided in Embodiment 1 of the present application. As shown in Figure 4, the process may include the following steps:
  • Step 401 Determine a target area in a target coordinate system according to a direction of a motion vector of a current image block.
  • the target area here is an area in the target coordinate system that matches the direction of the motion vector.
  • the target coordinate system here is different from the coordinate system in which the motion vector of the current image block is located, which is a coordinate system with the first designated point as the origin.
  • the first designated point when the motion vector of the current image block is a zero motion vector, the first designated point here may be the origin of the coordinate system where the motion vector of the current image block is located; and when the motion vector of the current image block is not a zero motion vector
  • the first designated point may not be the origin of the coordinate system where the motion vector of the current image block is located. It should be noted that the above-mentioned first designated point is merely a name for convenience of description, and is not used for limitation.
  • the first designated point here is an end point of the motion vector or a point other than the end point in a direction of the motion vector.
  • determining the target area in the target coordinate system may depend on the values of the horizontal and vertical components in the motion vector of the current image block.
  • the product of the horizontal component and the vertical component in the motion vector of the current image block is greater than 0 (for example, the motion vector of the current image block points to the first coordinate quadrant area or the third coordinate quadrant area of the coordinate system in which it is located)
  • determine the In the target coordinate system the coordinate system where the motion vector of the current image block is not located
  • the horizontal coordinate axis, the vertical coordinate axis, the first coordinate quadrant region, and the third coordinate quadrant region are the target regions
  • the motion vector of the current image block is in the The product of the horizontal and vertical components of is less than 0 (for example, the motion vector of the current image block points to the second or fourth coordinate quadrant area of the coordinate system in which it is located)
  • the target coordinate system non-current image block motion
  • Step 402 According to the preset condition, at least two positions in the target area are used as candidate MHP positions to form the candidate MHP position set.
  • FIGS. 5a to 5d are schematic diagrams of a target area provided in Embodiment 1 of the present application. As shown in Figures 5a to 5d, the following describes the process shown in Figure 4 by using four examples:
  • Example 1 it is assumed that the motion vector of the current image block is recorded as MV1, where the horizontal component of MV1 is a and the vertical component is b.
  • Example 1 according to the flow shown in FIG. 4 above, it is assumed that the above-mentioned target coordinate system uses the end point (a, b) of the motion vector MV1 of the current image block as the origin, and the motion vector represents the candidate MTP position set as an example.
  • ab is greater than 0, then:
  • the origin and the B1 point (k1, k2) in the target coordinate system shown in FIG. 5a can be used as candidate MHP positions.
  • the candidate MHP position set is: target ⁇ (0,0), (k1, k2) ⁇ in the coordinate system.
  • the coordinate system where the motion vector of the current image block is located (denoted as the original coordinate system)
  • the candidate MHP position set is transformed into ⁇ (a, b), (a + k1, b + k2) ⁇ of the original coordinate system .
  • B2 points (-k3, -k4) and B1 points (k1, k2) in the target coordinate system shown in FIG. 5a can also be used as candidates.
  • MHP positions, for example, the candidate MHP position set is: ⁇ (-k3, -k4), (k1, k2) ⁇ in the target coordinate system.
  • the candidate MHP position set is transformed into ⁇ (a-k3, b-k4), (a + k1, b + k2) ⁇ .
  • the B2 point (-k3, -k4), the origin, and the B1 point (k1, k2) in the target coordinate system shown in FIG. 5a can also be used as candidate MHP positions, for example, the candidate MHP position set is ⁇ (-k3, -k4), (0, 0), (k1, k2) ⁇ in the target coordinate system. And the coordinate system where the motion vector applied to the current image block is located (denoted as the original coordinate system), the candidate MHP position set is transformed into ⁇ (a-k3, b-k4), (a, b), (a + k1, b + k2) ⁇ .
  • the number N of candidate MHP positions in the candidate MHP position set may also be other values, which are similar to the case where N is 2, 3, and are not repeated here one by one.
  • k1 to k4 are positive integers, which may be the same or different. In one example, the values may be taken according to the principle closest to the termination point of MV1.
  • Example 1 So far, the description of Example 1 is completed.
  • Example 2 it is assumed that the motion vector of the current image block is recorded as MV1, where the lateral component of MV1 is a and the longitudinal component is b.
  • Example 2 according to the flow shown in FIG. 4 above, it is assumed that the above-mentioned target coordinate system uses the termination point (a, b) of the motion vector MV1 of the current image block as the origin, and the motion vector represents the candidate MTP position set as an example.
  • ab is less than 0, then:
  • the origin and the C1 point (-k5, k6) in the target coordinate system shown in FIG. 5b can be used as candidate MHP positions.
  • the set of candidate MHP positions is: ⁇ (0,0), (-k5, k6) ⁇ in the target coordinate system.
  • the candidate MHP position set is transformed into ⁇ (a, b), (a-k5, b + k6) ⁇ of the original coordinate system .
  • C1 points (-k5, k6) and C2 points (k7, -k8) in the target coordinate system shown in FIG. 5b can also be used as candidates.
  • the MHP position for example, the candidate MHP position set is: ⁇ (-k5, k6), (k7, -k8) ⁇ in the target coordinate system.
  • the candidate MHP position set is transformed into ⁇ (a-k5, b + k6), (a + k7, b -k8) ⁇ .
  • the C1 point (-k5, k6), the origin, and the C2 point (k7, -k8) in the target coordinate system shown in Fig. 5b can also be used.
  • the candidate MHP position for example, the candidate MHP position set is ⁇ (-k5, k6), (0, 0), (k7, -k8) ⁇ in the target coordinate system.
  • the coordinate system where the motion vector applied to the current image block is located (denoted as the original coordinate system), the candidate MHP position set is transformed into: ((a-k5, b + k6), (a, b), (a + k7, b-k8) ⁇ .
  • the number N of candidate MHP positions in the candidate MHP position set may also be other values, which are similar to the case where N is 2, 3, and are not repeated here one by one.
  • k5 to k8 are positive integers, which may be the same or different. In one example, values may be taken according to the principle of the closest to the termination point of MV1.
  • Example 3 it is assumed that the motion vector of the current image block is recorded as MV1, where the horizontal component of MV1 is 0 and the vertical component is b, b ⁇ 0.
  • Example 3 according to the flow shown in FIG. 4 above, assuming that the above-mentioned target coordinate system uses the end point (0, b) of the motion vector MV1 of the current image block as the origin, and the motion vector represents the candidate MTP position set as an example, then :
  • the origin and the D1 point (0, k9) in the target coordinate system shown in FIG. 5c can be used as candidate MHP positions.
  • the candidate MHP position set is: target ⁇ (0,0), (0, k9) ⁇ in the coordinate system.
  • the coordinate system referred to as the original coordinate system
  • the candidate MHP position set is transformed into ⁇ (a, b), (a, b + k9) ⁇ of the original coordinate system.
  • D1 point (0, k9) and D2 point (0, -k10) in the target coordinate system shown in FIG. 5c can also be used as candidate MHP.
  • the position, for example, the candidate MHP position set is: ⁇ (0, k9), (0, -k10) ⁇ in the target coordinate system.
  • the candidate MHP position set is transformed into ⁇ (a, b + k9), (a, b-k10) ⁇ of the original coordinate system .
  • the D1 point (0, k9), the origin, and the D2 point (0, -k10) in the target coordinate system shown in FIG. 5c can also be used
  • the set of candidate MHP positions is: ⁇ (0, k9), (0, 0), (0, -k10) ⁇ in the target coordinate system.
  • the coordinate system where the motion vector applied to the current image block is located (denoted as the original coordinate system), the candidate MHP position set is transformed into ⁇ (a, b + k9), (a, b), (a , b-k10) ⁇ .
  • the number N of candidate MHP positions in the candidate MHP position set may also be other values, which are similar to the case where N is 2, 3, and are not repeated here one by one.
  • k9 to k10 are positive integers, which may be the same or different. In one example, the value may be taken according to the principle of the closest to the termination point of MV1.
  • Example 4 it is assumed that the motion vector of the current image block is denoted as MV1, where the lateral component of MV1 is a, a ⁇ 0, and the longitudinal component is 0.
  • Example 4 according to the flow shown in FIG. 4 above, assuming that the above-mentioned target coordinate system uses the end point (a, 0) of the motion vector MV1 of the current image block as the origin, and the motion vector represents the candidate MTP position set as an example, then :
  • the origin and the E1 point (k11, 0) in the target coordinate system shown in FIG. 5d can be used as candidate MHP positions, that is, the set of candidate MHP positions is: target ⁇ (0,0), (k11,0) ⁇ in the coordinate system.
  • the coordinate system referred to as the original coordinate system
  • the candidate MHP position set is transformed into ⁇ (a, b), (a + k11, b) ⁇ of the original coordinate system.
  • E1 points (k11, 0) and E2 points (-k12, 0) in the target coordinate system shown in FIG. 5d can also be used as candidate MHPs.
  • the position, that is, the candidate MHP position set is: ⁇ (-k12, 0), (k11, 0) ⁇ in the target coordinate system.
  • the candidate MHP position set is transformed into ⁇ (a-k12, b), (a + k11, b) ⁇ of the original coordinate system .
  • the point E1 (k11, 0), the origin, and the point E2 (-k12, 0) in the target coordinate system shown in FIG. 5d can also be used as examples.
  • the candidate MHP positions that is, the set of candidate MHP positions are: ⁇ (-k12, 0), (0, 0), (k11, 0) ⁇ in the target coordinate system.
  • the candidate MHP position set is transformed into ⁇ (a-k12, b), (a, b), (a + k11, b) ⁇
  • the number N of candidate MHP positions in the candidate MHP position set may also be other values, which are similar to the case where N is 2, 3, and are not repeated here one by one.
  • k11 to k12 are positive integers, which may be the same or different. In one example, values may be taken according to the principle of the closest to the end point of MV1.
  • FIG. 6 is another implementation flowchart of step 201 provided in Embodiment 1 of the present application. As shown in Figure 6, the process may include the following steps:
  • step 602 when the motion information includes a motion vector and a first reference frame index, step 602 is performed.
  • Step 602 According to the direction of the motion vector of the current image block, select at least two positions whose distances from the end points of the motion vector satisfy a preset condition as candidate MHP positions to form the candidate MHP position set, where Each candidate MHP position in the candidate MHP position set corresponds to a second reference frame index, and the second reference frame index is the same as or different from the first reference frame index.
  • the second reference frame index here is the index of the reference frame in the reference frame list that has been recorded at the encoding end.
  • the method of determining the candidate MHP position set in this step 602 can refer to the above step 302, but when the above step 302 is specifically implemented, the target coordinate system
  • the original point of the change is specifically: the end point of the target motion vector, or other points in the direction of the motion vector other than the end point of the target motion vector.
  • the target motion vector here is the product of the motion vector of the current image block and L, where L is the ratio of L1 to L2, and L1 is the reference frame corresponding to the second reference frame index and the current position of the current image block.
  • the L2 is the time domain span of the reference frame corresponding to the first reference frame index and the current frame.
  • FIG. 7 is a schematic diagram of a target area provided in Embodiment 1 of the present application.
  • the origin of the target coordinate system is the end point (3a, 3b) of the target motion vector, and taking the motion vector to represent the candidate MTP position set as an example, when ab is greater than 0, the The horizontal coordinate axis, the longitudinal coordinate axis, the first coordinate quadrant region, and the third coordinate quadrant region in the target coordinate system shown are determined as the target region, and at least two positions in the target region are used as candidate MHP positions to form the candidate MHP.
  • Location collection such as:
  • the origin and F1 points (k13, k14) in the target coordinate system shown in FIG. 7 can be used as candidate MHP positions, that is, the set of candidate MHP positions is: target ⁇ (0,0), (k13, k14) ⁇ in the coordinate system.
  • the candidate MHP position set is transformed into ⁇ (3a, 3b), (3a + k13, 3b + k14) ⁇ of the original coordinate system .
  • Each candidate MHP position in the candidate MHP position set corresponds to a second reference frame index.
  • the encoding end may carry the MHP position strategy information of the current image block when sending the bit stream to the decoding end, and the MHP position strategy information is used to provide the decoding end A strategy to determine the location of the target MHP.
  • the MHP location policy information includes first indication information; the first indication information is used to indicate an available candidate MHP location set on the premise that there are multiple candidate MHP location sets.
  • the MHP location policy information includes second indication information; the second indication information is used to indicate an available target MHP location.
  • the MHP position strategy information includes third indication information; the third indication information includes motion information offset to indicate motion information according to the current image block and the motion information offset Determine the target MHP location.
  • the motion information of the current image block is represented by the motion vector of the current image block, for example (2, 2). If the above-mentioned motion information offset is 1, it means that the motion information is offset according to (2, 2) and the motion information (3, 3) and / or (1, 1) obtained by the quantity 1 is the target MHP position of the current image block.
  • At least one reference MHP position of the current image block may be further stored, so that Other image blocks provide inter prediction references.
  • two reference MHP positions can be stored. It should be noted that the reference MHP position stored here may refer to a target MHP position of the current image block; it may also refer to a result calculated by at least one target MHP position of the current image block, and so on.
  • Embodiment 1 So far, the description of Embodiment 1 is completed.
  • the second embodiment is described by using an example applied to a decoding end.
  • FIG. 8 is a flowchart of an inter prediction method provided in Embodiment 2 of the present application. The method is applied to a decoding end and may include the following steps:
  • Step 801 Determine a target MHP position set corresponding to the current image block according to the motion information of the current image block and the received MHP position policy information carried by the encoded bitstream from the encoding end.
  • the MHP position policy information here is a policy for instructing the decoding end to determine the target MHP position.
  • Step 802 Determine candidate inter prediction pixels corresponding to each target MHP position in the target MHP position set.
  • This step 802 is similar to step 102 described above, and details are not described herein again.
  • Step 803 Determine a target inter prediction pixel of the current image block according to each candidate inter prediction pixel.
  • step 803 is similar to step 103 described above, and details are not described herein again.
  • the decoder determines the target MHP position set corresponding to the current image block according to the motion information of the current image block and the received MHP position policy information carried by the encoded bit stream from the encoding end , And then obtain the target inter prediction pixels of the current image block according to the candidate inter prediction pixels corresponding to each target MHP position in the target MHP position set, which is conducive to ensuring that the target inter prediction pixels of the current image block obtained are the best prediction pixels.
  • the above MHP location policy information includes first indication information, and the first indication information is used to indicate an available candidate MHP location set.
  • the decoding end determines the candidate MHP position set in a manner similar to the encoding end. All candidate MHP position sets determined by the decoding end are the same as all candidate MHP position sets determined by the encoding end.
  • the first indication information may include: an available candidate MHP position set is represented by an indication value of 1, and an unavailable candidate MHP position set is represented by an indication value of 0.
  • the first indication information may include only indicating that the set of candidate MHP positions is available, and the set of unavailable candidate MHP positions is not indicated.
  • the above step 801 may include: determining a target MHP position set according to the available candidate MHP position set indicated by the first indication information.
  • the final target MHP position set includes a set of available candidate MHP positions indicated by the first indication information.
  • the above MHP location policy information includes second instruction information, and the second instruction information is used to indicate an available target MHP location.
  • the decoding end determines the candidate MHP position set in a manner similar to the encoding end determining the candidate MHP position set.
  • the second indication information may include: a target MHP position available in the target MHP position set determined by the encoding end is represented by an indication value 1, and an unavailable target MHP position is represented by an indication value 0.
  • a target MHP position available in the target MHP position set determined by the encoding end is represented by an indication value 1
  • an unavailable target MHP position is represented by an indication value 0.
  • only available target MHP locations are indicated, and unavailable target MHP locations are not indicated.
  • the above-mentioned step 801 may include: determining a candidate MHP position set according to the motion information of the current image block; and determining and forming a target MHP position from the candidate MHP position set according to the available target MHP position indicated by the second indication information
  • the target MHP position set includes available target MHP positions indicated by the second indication information.
  • the above MHP position strategy information includes third instruction information, and the third instruction information includes a motion information offset to indicate motion information according to the current image block and the motion information offset. Determine the target MHP location.
  • step 801 determining the target MHP position set corresponding to the current image block according to the received MHP position policy information carried by the encoded bit stream from the encoding end includes:
  • the determined target MHP positions are composed of the target MHP position set.
  • the motion information of the current image block processed by the decoder is represented by the motion vector of the current image block, for example (2, 2).
  • the above-mentioned motion information offset is 1, it means that according to (2, 2) (3, 3) and (1, 1) obtained from the motion information offset 1 are the target MHP positions of the current image block, and the final set of target MHP positions of the current image block is ⁇ (3, 3), (1 ,1) ⁇ .
  • the above-mentioned limiting MHP location policy information is the first indication information, the second indication information, and the third indication information, which are merely examples for easy understanding and are not used for limitation.
  • the third embodiment is described by using an example applied to a decoding end.
  • FIG. 9 is a flowchart of an inter prediction method according to Embodiment 3 of the present application. The method is applied to a decoding end and may include the following steps:
  • Step 901 Determine a target MHP position set corresponding to the current image block according to the motion information of the current image block.
  • this step 901 there are multiple implementations for determining the target MHP position set corresponding to the current image block according to the motion information of the current image block.
  • One implementation manner may adopt the implementation manner of determining the target MHP position set corresponding to the current image block according to the motion information of the current image block described in Embodiment 1; another implementation manner may be carried in the received encoded bit stream from the encoding end.
  • the implementation manner of determining the target MHP position set corresponding to the current image block according to the motion information of the current image block and the MHP position policy information carried by the encoded bitstream received from the encoding end described in Embodiment 2 is used. .
  • Step 902 Determine candidate inter prediction pixels corresponding to each target MHP position in the target MHP position set.
  • Step 902 is similar to step 102 described above, and details are not described herein again.
  • Step 903 Determine a target inter prediction pixel of the current image block according to each candidate inter prediction pixel.
  • Step 903 is similar to step 103 described above, and details are not described herein again.
  • the decoder determines the target MHP position set based on the motion information of the current image block, and then obtains the current according to the candidate inter-prediction pixels corresponding to each target MHP position in the target MHP position set.
  • the target inter-predicted pixel of the image block is beneficial to ensure that the target inter-predicted pixel of the current image block obtained is the best predicted pixel block. Even if there are factors such as afterimages and / or blurred edges of the video image, it is also conducive to ensuring that the target inter-predicted pixels of the current image block obtained are closer to the original pixels of the current image block, which is the best predicted pixel block. It improves the accuracy and coding performance of inter prediction.
  • Embodiment 3 So far, the description of Embodiment 3 is completed. The method provided in the present application has been described above.
  • the size specification of the current image block may be greater than or equal to a preset size.
  • the preset size here can be set according to actual needs.
  • the preset size here can be 8x8.
  • an implementation method is: The encoder performs the method provided in Embodiment 1 of the present application on one set of motion information of the current image block; and applies the method provided in Embodiment 2 or 3 of the application to the decoder on the set of motion information of the current image block.
  • an implementation method is: applied to the encoding end,
  • the two sets of motion information of the image block both implement the manner provided in Embodiment 1 of the present application; and are applied to the decoding end and perform the manners provided in Embodiment 2 or 3 of the present application on the two sets of motion information of the current image block.
  • the encoding end can transmit two sets of encoded bit streams to the decoding end, indicating each of the current image block.
  • the available MHP positions corresponding to the set of motion information or, the encoding end transmits a set of encoded bit streams to the decoding end, and simultaneously indicates the available MHP positions corresponding to each set of motion information of the current image block; or, the encoding end transmits three sets of encoding to the decoding end Bitstreams T1 to T3, where T1 indicates the publicly available MHP positions corresponding to the two sets of motion information of the current image block, and T2 indicates the remaining available MHPs corresponding to one set of the motion information of the current image block in addition to the above-mentioned publicly available MHP positions Position, T3 indicates the remaining available MHP positions corresponding to another set of motion information of the current image block, in addition to the above-mentioned publicly available MHP positions. and many more.
  • FIG. 10 is a structural diagram of an encoding end device provided by the present application. As shown in FIG. 10, the device may include:
  • MHP position unit 1001 configured to determine a target MHP position set according to the motion information of the current image block
  • a determining unit 1002 configured to determine candidate inter prediction pixels corresponding to each target MHP position in the target MHP position set
  • the inter prediction unit 1003 is configured to determine a target inter prediction pixel of the current image block according to each candidate inter prediction pixel.
  • the MHP position unit 1001 determining the target MHP position set according to the motion information of the current image block may include:
  • the selected candidate MHP positions are used to form the target MHP position set.
  • the motion information includes: a motion vector; based on this, the MHP position unit 1001 determining the candidate MHP position set according to the motion information of the current image block may include:
  • At least two positions whose distances from a termination point of the motion vector satisfy a preset condition are selected as candidate MHP positions to form the candidate MHP position set.
  • the MHP position unit 1001 selects at least two positions whose distances from the end points of the motion vector satisfy a preset condition as candidate MHP positions to form the candidate MHP according to the direction of the motion vector of the current image block.
  • the location collection includes:
  • the target region being a region in the target coordinate system that matches the direction of the motion vector
  • At least two positions in the target area are used as candidate MHP positions to form the candidate MHP position set.
  • the target coordinate system is a coordinate system with a first designated point as an origin
  • the first designated point is an end point of the motion vector or a point other than the end point in a direction of the motion vector.
  • the motion information further includes: a first reference frame index corresponding to a reference frame used by the current image block; and each candidate MHP position in the candidate MHP position set corresponds to a second reference frame index.
  • the target coordinate system is a coordinate system with a first designated point as an origin, and the first designated point is an end point of the motion vector. Or other points than the termination point in the direction of the motion vector.
  • the target coordinate system is a coordinate system with a second specified point as an origin, and the second specified point is an end point of the target motion vector or Points other than the termination point of the target motion vector in the direction of the motion vector;
  • the target motion vector is the product of the motion vector of the current image block and L, where L is the ratio of L1 to L2, and L1 is the reference frame corresponding to the second reference frame index and the current position of the current image block.
  • L is the ratio of L1 to L2
  • L1 is the reference frame corresponding to the second reference frame index and the current position of the current image block.
  • the L2 is the time domain span of the reference frame corresponding to the first reference frame index and the current frame.
  • the first reference frame index and the second reference frame index are indexes of reference frames in a reference frame list that has been recorded by the encoding end.
  • the MHP position unit 1001 determines the target area in the target coordinate system according to the direction of the motion vector of the current image block includes:
  • the MHP position unit 1001 determines the target area in the target coordinate system according to the direction of the motion vector of the current image block includes:
  • the vertical component in the motion vector of the current image block is 0, it is determined that the horizontal coordinate axis in the target coordinate system is the target region.
  • the inter prediction unit 1003 determines the target inter prediction pixel of the current image block according to each candidate inter prediction pixel includes:
  • a weighted operation result is a target inter-predicted pixel of the current image block.
  • the MHP position unit 1001 further stores at least one target MHP position storage of the current image block to provide an inter prediction reference to other image blocks adjacent to the current image block; or, based on the current image block's A calculation result calculated by at least one target MHP position is stored to provide an inter prediction reference to other image blocks adjacent to the current image block.
  • the device further includes:
  • the sending unit 1004 is configured to send an encoded bit stream carrying MHP location policy information to the decoding end, where the MHP location policy information is used to provide the decoding end with a strategy for determining a target MHP location.
  • the MHP location policy information includes first indication information; the first indication information is used to indicate an available candidate MHP location set.
  • the MHP location policy information includes second indication information; the second indication information is used to indicate the available target MHP location.
  • the MHP position strategy information includes third instruction information; the third instruction information includes motion information offset to indicate motion information according to the current image block and the motion information offset Determine the target MHP location.
  • This application also provides a hardware structure diagram of the encoding end device shown in FIG. 10. As shown in FIG. 11, the hardware structure may include:
  • the processor 1102 is configured to read the machine-readable instructions and execute the instructions to implement the inter prediction method described in Embodiment 1.
  • the hardware structure further includes a power component, a network interface, and an input / output interface.
  • FIG. 12 is a structural diagram of a decoding end device provided by the present application. As shown in FIG. 12, the decoding device may include:
  • the MHP position unit 1201 is configured to determine a target MHP position set corresponding to the current image block according to the motion information of the current image block and the received MHP position policy information carried by the encoded bitstream from the encoding end.
  • a determining unit 1202 configured to determine a candidate inter prediction pixel corresponding to each target MHP position in the target MHP position set
  • the inter prediction unit 1203 is configured to determine a target inter prediction pixel of the current image block according to each candidate inter prediction pixel.
  • the MHP location policy information includes first indication information, and the first indication information is used to indicate an available candidate MHP location set;
  • the MHP position unit 1201 determines the target MHP position set corresponding to the current image block according to the motion information of the current image block and the received MHP position policy information carried by the encoded bit stream from the encoding end includes:
  • the MHP location policy information includes second instruction information, where the second instruction information is used to indicate an available target MHP location;
  • the MHP position unit 1201 determines the target MHP position set corresponding to the current image block according to the motion information of the current image block and the received MHP position policy information carried by the encoded bit stream from the encoding end, including:
  • the MHP position strategy information includes third instruction information, and the third instruction information includes a motion information offset to indicate motion information according to the current image block and the motion information offset. Determine the target MHP location;
  • the MHP position unit 1201 determines the target MHP position set corresponding to the current image block according to the received MHP position policy information carried by the encoded bit stream from the encoding end includes:
  • the determined target MHP positions are composed of the target MHP position set.
  • This application also provides a hardware structure diagram of the decoding end device shown in FIG. 12. As shown in FIG. 13, the hardware structure may include:
  • the processor 1302 is configured to read the machine-readable instruction and execute the instruction to implement the inter prediction method described in Embodiment 2.
  • the hardware structure further includes a power component, a network interface, and an input / output interface.
  • FIG. 14 is another structural diagram of a decoding end device provided by the present application. As shown in Figure 14, the decoder device includes:
  • the MHP position unit 1401 is configured to determine a target MHP position set corresponding to the current image block according to the motion information of the current image block.
  • a determining unit 1402 configured to determine candidate inter prediction pixels corresponding to each target MHP position in the target MHP position set
  • the inter prediction unit 1403 is configured to determine a target inter prediction pixel of the current image block according to each candidate inter prediction pixel.
  • the MHP position unit 1401 determining the target MHP position set corresponding to the current image block according to the motion information of the current image block includes:
  • the selected candidate MHP positions are used to form the target MHP position set.
  • the motion information includes: a motion vector.
  • the MHP position unit 1401 determines a candidate MHP position set according to the motion information of the current image block includes:
  • the candidate MHP position set is formed as a candidate MHP position.
  • selecting at least two positions whose distances from the end points of the motion vector satisfying a preset condition according to the direction of the motion vector of the current image block as candidate MHP positions to form the candidate MHP position set includes:
  • the target region being a region in the target coordinate system that matches the direction of the motion vector
  • At least two positions in the target area are used as candidate MHP positions to form the candidate MHP position set.
  • the target coordinate system is a coordinate system with a first designated point as an origin; the first designated point is an end point of the motion vector or a direction other than the end point of the motion vector. Other points.
  • the motion information further includes: a first reference frame index corresponding to a reference frame used by the current image block;
  • Each candidate MHP position in the candidate MHP position set corresponds to a second reference frame index.
  • the first reference frame index is the same as the second reference frame index
  • the target coordinate system is a coordinate system with a first designated point as an origin, and the first designated point is an end point of the motion vector or a point other than the end point in a direction of the motion vector.
  • the first reference frame index is different from the second reference frame index
  • the target coordinate system is a coordinate system with a second designated point as an origin
  • the second designated point is a target motion vector Or the termination point of the motion vector other than the termination point of the target motion vector
  • the target motion vector is a motion vector obtained by a product of a motion vector of the current image block and L, where L is a ratio of L1 to L2, and L1 is a reference frame corresponding to the second reference frame index and the current The time domain span of the current frame where the image block is located, and L2 is the time domain span of the reference frame corresponding to the first reference frame index and the current frame.
  • the first reference frame index and the second reference frame index are indexes of reference frames in a reference frame list that has been recorded at the encoding end.
  • the determining the target region in the target coordinate system according to the direction of the motion vector of the current image block includes:
  • determining the target area in the target coordinate system according to the direction of the motion vector of the current image block includes:
  • the vertical component in the motion vector of the current image block is 0, it is determined that the horizontal coordinate axis in the target coordinate system is the target region.
  • the MHP position unit 1401 determining the target MHP position set corresponding to the current image block according to the motion information of the current image block includes:
  • the target MHP position set corresponding to the current image block is determined according to the motion information of the current image block and the received MHP position policy information carried by the encoded bit stream from the encoding end.
  • the MHP location policy information includes first indication information, and the first indication information is used to indicate an available candidate MHP location set;
  • the MHP position unit 1401 determines the target MHP position set corresponding to the current image block according to the motion information of the current image block and the received MHP position policy information carried by the encoded bit stream from the encoding end, including:
  • a target MHP position set is determined from all candidate MHP position sets according to the set of available candidate MHP positions indicated by the first indication information.
  • the MHP location policy information includes second indication information, and the second indication information is used to indicate an available target MHP location;
  • the MHP position unit 1401 determines the target MHP position set corresponding to the current image block according to the motion information of the current image block and the received MHP position policy information carried by the encoded bit stream from the encoding end, including:
  • the MHP position strategy information includes third instruction information, and the third instruction information includes a motion information offset to indicate that the determination is based on the motion information of the current image block and the motion information offset.
  • Target MHP location the third instruction information includes a motion information offset to indicate that the determination is based on the motion information of the current image block and the motion information offset.
  • the MHP position unit 1401 determines the target MHP position set corresponding to the current image block according to the motion information of the current image block and the received MHP position policy information carried by the encoded bit stream from the encoding end includes:
  • the determined target MHP positions are composed of the target MHP position set.
  • the inter prediction unit 1403 determining the target inter prediction pixel of the current image block according to each candidate inter prediction pixel includes:
  • a weighted operation result is a target inter-predicted pixel of the current image block.
  • the MHP position unit 1401 further stores at least one target MHP position storage of the current image block to provide an inter prediction reference to other image blocks adjacent to the current image block; or, based on the current image block's A calculation result calculated by at least one target MHP position is stored to provide an inter prediction reference to other image blocks adjacent to the current image block.
  • the application also provides a hardware structure diagram of the encoding end device shown in FIG. 14. As shown in FIG. 15, the hardware structure may include:
  • the processor 1502 is configured to read the machine-readable instruction and execute the instruction to implement the inter prediction method described in Embodiment 3.
  • the hardware structure further includes a power component, a network interface, and an input / output interface.

Landscapes

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

Abstract

本申请提供了帧间预测方法。本申请中,编码端或者解码端通过根据当前图像块的运动信息确定包括多个目标多假设预测MHP位置的目标MHP位置集合,确定目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素,依据各个候选帧间预测像素确定当前图像块的目标帧间预测像素。

Description

帧间预测方法和设备 技术领域
本申请涉及视频图像技术,特别涉及帧间预测方法和设备。
背景技术
帧间预测,是指利用视频图像中图像块的时域相邻块的重建像素值进行预测编码,广泛用于普通电视、会议电视、视频电话、高清晰度电视等领域。
目前,在进行帧间预测时,因为视频图像存在残影和/或视频图像的边缘模糊等因素导致视频图像中多个图像块的帧间预测像素块不是最佳帧间预测像素块,降低帧间预测精确度和编码性能。
发明内容
本申请提供了帧间预测方法和设备。
本申请提供的技术方案包括:
本申请提供第一种帧间预测方法,该方法应用于编码端,包括:
根据当前图像块的运动信息确定包括多个目标多假设预测MHP位置的目标MHP位置集合;
确定目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素;
依据各个候选帧间预测像素确定所述当前图像块的目标帧间预测像素。
本申请提供第二种帧间预测方法,该方法应用于解码端,包括:
根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合;
确定目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素;
依据各个候选帧间预测像素确定所述当前图像块的目标帧间预测像素。
本申请实施例提供一种编码端设备,包括:机器可读存储介质和处理器;
其中,所述机器可读存储介质,用于存储机器可读指令;
所述处理器,用于读取所述机器可读指令,并执行所述指令以实现上述第一种帧间预测方法。
本申请实施例提供第一种解码端设备,包括:机器可读存储介质和处理器;
其中,所述机器可读存储介质,用于存储机器可读指令;
所述处理器,用于读取所述机器可读指令,并执行所述指令以实现上述第二种帧间预测方法。
本申请实施例提供第二种解码端设备,包括:机器可读存储介质和处理器;
其中,所述机器可读存储介质,用于存储机器可读指令;
所述处理器,用于读取所述机器可读指令,并执行所述指令以实现上述第三种帧间预测方法。
由以上技术方案可以看出,本申请中,编码端或者解码端通过根据当前图像块的运动信息确定目标MHP位置集合,再根据目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素推导当前图像块的目标帧间预测像素,有利于保证最终得到的当前图像块的目标帧间预测像素是最佳预测像素块。即使视频图像存在残影和/或视频图像的边缘模糊等因素,也有利于保证最终得到的当前图像块的目标帧间预测像素更接近当前图像块的原始像素,是最佳预测像素块,提高了帧间预测的精确度和编码性能。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1为本申请实施例1提供的帧间预测方法流程图;
图2为本申请实施例1提供的步骤101的实施例实现流程图;
图3为本申请实施例1提供的步骤201实现流程图;
图4为本申请实施例1提供的步骤302的实现流程图;
图5a至5d为本申请实施例1提供的目标区域示意图;
图6为本申请实施例1提供的步骤201另一实现流程图;
图7为本申请实施例1提供的目标区域示意图;
图8为本申请实施例2提供的帧间预测方法流程图;
图9为本申请实施例3提供的帧间预测方法流程图;
图10为本申请提供的编码端设备结构图;
图11为本申请提供的编码端设备的硬件结构示意图;
图12为本申请提供的解码端设备结构图;
图13为本申请提供的图12所示解码端设备的硬件结构示意图;
图14为本申请提供的解码端设备的另一结构图;
图15为本申请提供的图14所示解码端设备的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1:
本实施例1以应用于编码端为例描述。
参见图1,图1为本申请实施例1提供的帧间预测方法流程图。该方法应用于编码端,可包括以下步骤:
步骤101,根据当前图像块的运动信息(MI:Motion Information)确定目标多假设预测(MHP:Multi-Hypothesis Prediction)位置集合。
在本申请中,当前图像块的大小不限,其可为编码标准中规定的最大编码树单元(CTU:Coding Tree Unit),也可以比CTU大或者比CTU小,本申请并不具体限定。
在本申请中,当前图像块的运动信息可指与运动相关的编码信息,比如可为运动矢量(MV:Motion Vector)、参考帧索引(Reference Index)等,本申请并不具体限定。这里,运动矢量表示当前图像块与其参考图像中的最佳匹配块之间的相对位移。参考帧索引是指当前图像块采用了预设的参考帧列表中的第几个参考帧。
本申请在进行帧间预测时是根据当前图像块的运动信息获取用于帧间预测的目标MHP位置集合,基于目标MHP位置集合进行帧间预测,这相比基于固定模式确定目标MHP位置集合,能够提高帧间预测精准度。至于本步骤101中如何根据当前图像块的运动信息确定目标MHP位置集合,其有很多实现方式,下文图2所示的流程举例示出其中一种实现方式,这里暂不赘述。
步骤102,确定目标MHP位置集合中各个目标MHP位置对应的候选(Candidate)帧间预测像素(Inter Prediction Signal)。
在本申请中,候选帧间预测像素是指从当前图像块的参考帧中导出的预测像素,其是用于获取当前图像块的目标帧间预测像素的依据,具体见步骤103。
作为一个实施例,目标MHP位置可通过运动矢量或者运动矢量和参考帧索引来表示。这里的参考帧索引用于指示目标MHP位置使用了预设的参考帧列表中的第几个参考帧。在本步骤102中,当目标MHP位置通过运动矢量表示,则默认目标MHP位置的运动矢量指向与当前图像块一致的参考帧,从而获取各MHP目标位置对应的候选帧间预测像素。当目标MHP位置通过运动矢量和参考帧索引表示,则根据各MHP位置的运动矢量以及其指向的参考帧获取各MHP目标位置对应的候选帧间预测像素。
步骤103,依据各个候选帧间预测像素确定所述当前图像块的目标帧间预测像素。
作为一个实施例,本步骤103中,依据各个候选帧间预测像素确定当前图像块的目标帧间预测像素可包括:根据所述各个候选帧间预测像素的加权系数对各个候选预测像素进行加权运算,确定加权运算结果为所述当前图像块的目标帧间预测像素。
在一个例子中,各个候选帧间预测像素的加权系数可相同。当各个候选帧间预测像素的加权系数相同时,上述根据各个候选帧间预测像素的加权系数对各个候选预测像素进行加权运算,相当于各个候选帧间预测像素进行加权平均。
在另一个例子中,各个候选帧间预测像素的加权系数也可不同。比如,加权系数可根据各个候选帧间预测像素对应的目标MHP位置与当前图像块的距离设置。一种可行的设置方法为:距离越近,加权系数越大。特别的,当当前图像块的运动信息位于目标MHP位置集合时,可将目标MHP位置集合中与当前图像块的运动信息对应的目标MHP位置(实质是当前图像块的运动信息)所对应的候选帧间预测像素的加权系数设置为最大。
至此,完成图1所示流程。
通过图1所示流程可以看出,本申请中,编码端通过根据当前图像块的运动信息确定目标MHP位置集合,再根据目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素获取当前图像块的目标帧间预测像素,有利于保证最终得到的当前图像块的目标帧间预测像素是最佳预测像素块。即使视频图像存在残影和/或视频图像的边缘模糊等因素,也有利于保证最终得到的当前图像块的目标帧间预测像素更接近当前图像块的原始像素,是最佳预测像素块,因而提高了帧间预测精确度和编码性能。
参见图2,图2为本申请实施例1提供的步骤101的实施例实现流程图。如图2所示,该流程可包括以下步骤:
步骤201,根据当前图像块的运动信息确定候选MHP位置集合。
这里,当前图像块的运动信息可为与运动相关的编码信息。
作为一个实施例,当前图像块的运动信息可为当前图像块的运动矢量(MV:Motion Vector)。图3举例示出了当前图像块的运动信息为当前图像块的运动矢量时如何根据当前图像块的运动信息确定候选MHP位置集合,这里暂不赘述。
作为另一个实施例,当前图像块的运动信息可为当前图像块的运动矢量和当前图像块采用的参考帧对应的参考帧索引(记为第一参考帧索引)。这里的第一参考帧索引为编码端已记录的当前帧的参考帧列表中的某一参考帧的索引。图6以当前图像块的运动信息为运动矢量和第一参考帧索引为例举例示出了根据当前图像块的运动信息确定候选MHP位置集合,这里暂不赘述。
步骤202,从所述候选MHP位置集合中选择至少两个候选MHP位置。
作为一个实施例,本步骤202中,可随机从所述候选MHP位置集合中选择至少两个候选MHP位置,也可以按照预设需求或条件对所述候选MHP位置集合中的各个候选MHP位置进行优先级排序,按照优先级从高到低的选择至少两个。比如,按照间距越小,优先级越高进行排序。
作为另一个实施例,本步骤202中,可根据实际需求从候选MHP位置集合中选择满足需求的至少两个候选MHP位置。这里的需求包括但不限于外部指令、业务需求、与当前图像块的距离满足设定距离等。
步骤203,将选择出的各个候选MHP位置组成所述目标MHP位置集合。
最终,通过图2所示流程实现了上述步骤101中根据当前图像块的运动信息确定目标MHP位置集合。
参见图3,图3为本申请实施例1提供的步骤201实现流程图。如图3所示,该流程可包括以下步骤:
步骤301,当所述运动信息包括运动矢量时,执行步骤302。
步骤302,依据所述当前图像块的运动矢量的方向,选择与所述运动矢量的终止点的距离满足预设条件的至少两个位置,作为候选MHP位置组成所述候选MHP位置集合。
通过图3所示流程,能够在运动信息包括运动矢量时,根据当前图像块的运动矢量限制当前图像块的候选MHP位置集合,限制的候选MHP位置集合中的候选MHP位置为沿着所述运动矢量的方向且满足预设条件的位置,相比在当前图像块周围选择若干位置点进行帧间预测,本申请的基于候选MHP位置集合进行帧间预测更加精准。
需要说明的是,本步骤302的具体实现有很多实现方式:
在一个例子中,本步骤302可先以所述运动矢量在横向方向的偏移量和/或在纵向方向的偏移量为基准选择候选MHP位置。其中,在以所述运动矢量在横向方向的偏移量为基准选择位置时,可能会出现若沿着所述运动矢量的方向,则最终选择的候选MHP位置的纵向分量取值不为整数。在以所述运动矢量在纵向方向的偏移量为基准选择位置时也会出现类似情况。针对这种情况,本申请实施例会以向上取整或者向下取整。举个例子:比如运动矢量的终止点为(1,2),假若以所述运动矢量在纵向方向的偏移量为基准选择位置,偏移量为沿着所述运动矢量的方向正向偏移1,例如可选取的位置的纵向分量为3,此时,若按照沿着运动矢量的方向,则可选取的位置的横向分量应为1.5,而像素点的横向分量或纵向分量都应是整数,基于此,此时可针对1.5向下取整,取值1,例如选取位置(1,3),或者针对1.5向上取整,取值2,例如选取位置(2,3)。
在另一个例子中,步骤302可按照以下方式实现:随机将沿着所述运动矢量的方向且满足预设条件的至少两个位置作为候选MHP位置组成所述候选MHP位置集合。比如,假若指定候选MHP位置集合中候选MHP位置的数量N为2,则候选MHP位置集合可包括当前图像块的运动矢量(记为MV1)和第一候选MV,第一候选MV根据MV1在横向方向的偏移量p1和MV1在纵向方向的偏移量p2生成。或者,N为2时,候选MHP位置集合可包括第二候选MV和第三候选MV,第二候选MV根据MV1在横向方向的偏移量p3和MV1在纵向方向上的偏移量p4生成,第三候选MV根据MV1在横向方向的偏移量p5和MV1在纵向方向上的偏移量p6生成。N为3时,候选MHP位置集合可包括MV1、对称或非对称的第四候选MV和第五候选MV,第四候选MV根据MV1在横向方向的偏移量p7和MV1在纵向方向上的偏移量p8生成。第五候选MV根据MV1在横向方向的偏移量p9和MV1在纵向方向上的偏移量p10生成,依次类推。其中,上述在横向方向上的偏移量与在纵向方向上的偏移量可以相同也可以不同,上述在横向方向上的偏移方向可以沿着横向正向,也可以沿着横向反向,所述在纵向方向上的偏移方向可以沿着纵向正向,也可以沿着纵向反向,最终以按照最接近MV1的终止点的原则确定。
在又一个例子中,步骤302可通过坐标变化实现。图4举例示出了如何通过坐标变化实现步骤302,这里暂不赘述。
作为一个实施例,本步骤302中,上述预设条件可根据实际需求设置。比如,距离与运动矢量的终止点小于预设距离值,设置预设距离值的目的是在一个靠近运动矢量的终止点的范围内确定候选MHP位置。
至此,完成图3所示流程。
通过图3所示流程实现了当前图像块的运动信息包括运动矢量时如何根据当前图像块的运动信息确定候选MHP位置集合。
需要说明的是,图3所示的上述当前图像块的运动信息包括运动矢量是如何根据当前图像块的运动信息确定候选MHP位置集合,只是一种举例,并非用于限定。
参见图4,图4为本申请实施例1提供的步骤302的实现流程图。如图4所示,该流程可包括以下步骤:
步骤401,依据当前图像块的运动矢量的方向,在目标坐标系中确定目标区域。
这里的目标区域为目标坐标系中与所述运动矢量的方向匹配的区域。
在一个例子中,这里的目标坐标系不同于当前图像块的运动矢量所在的坐标系,其是以第一指定点为原点的坐标系。这里,当当前图像块的运动矢量为零运动矢量时,这里的第一指定点可为当前图像块的运动矢量所在的坐标系的原点;而当当前图像块的运动矢量不为零运动矢量时,这里第一指定点可不为当前图像块的运动矢量所在的坐标系的原点。需要说明的是,上述第一指定点只是为便于描述而进行的命名,并非用于限定。
作为一个实施例,这里的第一指定点为所述运动矢量的终止点或者为所述运动矢量的方向上除所述终止点之外的其他点。
在步骤401中,依据当前图像块的运动矢量的方向,在目标坐标系中确定目标区域可依赖于当前图像块的运动矢量中横向分量和纵向分量的取值。其中,若当前图像块的运动矢量中的横向分量和纵向分量的乘积大于0(例如当前图像块的运动矢量指向其所在坐标系的第一坐标象限区域或第三坐标象限区域),确定所述目标坐标系(非当前图像块的运动矢量所在坐标系)中的横向坐标轴、纵向坐标轴、第一坐标象限区域和第三坐标象限区域为所述目标区域;若当前图像块的运动矢量中的横向分量和纵向分量的乘积小于0(例如当前图像块的运动矢量指向其所在坐标系的第二坐标象限区域或第四坐标象限区域),确定所述目标坐标系(非当前图像块的运动矢量所在坐标系)中的横向坐标轴、纵向坐标轴、第二坐标象限区域、第四坐标象限区域为所述目标区域;若当前图像块的运动矢量中的横向分量为0(例如 当前图像块的运动矢量指向其所在坐标系的纵向坐标轴),确定所述目标坐标系中的纵向坐标轴为所述目标区域;若当前图像块的运动矢量中的纵向分量为0(例如当前图像块的运动矢量指向其所在坐标系的横向坐标轴),确定所述目标坐标系中的横向坐标轴为所述目标区域。
步骤402,根据所述预设条件将所述目标区域中的至少两个位置作为候选MHP位置组成所述候选MHP位置集合。
至此,完成图4所示流程。
图5a至5d为本申请实施例1提供的目标区域示意图。如图5a至5d所示,下面通过4个例子对图4所示流程进行举例描述:
例1:
在例1中,假设当前图像块的运动矢量记为MV1,其中,MV1的横向分量为a,纵向分量为b。
在例1中,按照上述图4所示流程,假设上述的目标坐标系以当前图像块的运动矢量MV1的终止点(a、b)为原点,以运动矢量表示候选MTP位置集合为例,当ab大于0时,则:
假若候选MHP位置集合中候选MHP位置的数量N为2,则可将图5a所示的目标坐标系下的原点、B1点(k1、k2)作为候选MHP位置,例如候选MHP位置集合为:目标坐标系下的{(0,0),(k1,k2)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a,b),(a+k1,b+k2)}。
仍以候选MHP位置集合中候选MHP位置的数量N为2为例,也可将图5a所示的目标坐标系下的B2点(-k3,-k4)、B1点(k1、k2)作为候选MHP位置,例如候选MHP位置集合为:目标坐标系下的{(-k3,-k4),(k1,k2)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a-k3,b-k4),(a+k1,b+k2)}。
再以候选MHP位置集合中候选MHP位置的数量N为3为例,也可将图5a所示的目标坐标系下的B2点(-k3,-k4)、原点、B1点(k1、k2)作为候选MHP位置,例如候选MHP位置集合为:目标坐标系下的{(-k3,-k4),(0、0),(k1,k2)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a-k3,b-k4),(a,b),(a+k1,b+k2)}。
候选MHP位置集合中候选MHP位置的数量N还可为其他值,其类似N为2、3的情况,这里不再一一赘述。
在上面描述中,k1至k4为正整数,可相同,也可不同,在一示例中,可依据最接近MV1的终止点的原则取值。
至此,完成例1的描述。
例2:
在例2中,假设当前图像块的运动矢量记为MV1,其中,MV1的横向分量为a,纵向分量为b。
在例2中,按照上述图4所示流程,假设上述的目标坐标系以当前图像块的运动矢量MV1的终止点(a、b)为原点,以运动矢量表示候选MTP位置集合为例,当ab小于0时,则:
假若候选MHP位置集合中候选MHP位置的数量N为2,则可将图5b所示的目标坐标系下的原点、C1点(-k5、k6)作为候选MHP位置,例如候选MHP位置集合为:目标坐标系下的{(0,0),(-k5,k6)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a,b),(a-k5,b+k6)}。
仍以候选MHP位置集合中候选MHP位置的数量N为2为例,也可将图5b所示的目标坐标系下的C1点(-k5,k6)、C2点(k7、-k8)作为候选MHP位置,例如候选MHP位置集合为:目标坐标系下的{(-k5,k6),(k7,-k8)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a-k5,b+k6),(a+k7,b-k8)}。
再以候选MHP位置集合中候选MHP位置的数量N为3为例,也可将图5b所示的目标坐标系下的C1点(-k5,k6)、原点、C2点(k7、-k8)作为候选MHP位置,例如候选MHP位置集合为:目标坐标系下的{(-k5,k6),(0,0),(k7,-k8)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a-k5,b+k6),(a,b),(a+k7,b-k8)}。
候选MHP位置集合中候选MHP位置的数量N还可为其他值,其类似N为2、3的情况,这里不再一一赘述。
在上面描述中,k5至k8为正整数,可相同,也可不同,在一示例中,可依据最接近MV1的终止点的原则取值。
至此,完成例2的描述。
例3:
在例3中,假设当前图像块的运动矢量记为MV1,其中,MV1的横向分量为0,纵向分量为b,b≠0。
在例3中,按照上述图4所示流程,假设上述的目标坐标系以当前图像块的运动矢量MV1的终止点(0、b)为原点,以运动矢量表示候选MTP位置集合为例,则:
假若候选MHP位置集合中候选MHP位置的数量N为2,则可将图5c所示的目标坐标系下的原点、D1点(0、k9)作为候选MHP位置,例如候选MHP位置集合为:目标坐标系下的{(0,0),(0,k9)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a,b),(a,b+k9)}。
仍以候选MHP位置集合中候选MHP位置的数量N为2为例,也可将图5c所示的目标坐标系下的D1点(0,k9)、D2点(0、-k10)作为候选MHP位置,例如候选MHP位置集合为:目标坐标系下的{(0,k9),(0、-k10)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a,b+k9),(a,b-k10)}。
再以候选MHP位置集合中候选MHP位置的数量N为3为例,也可将图5c所示的目标坐标系下的D1点(0,k9)、原点、D2点(0、-k10)作为候选MHP位置,例如候选MHP位置集合为:目标坐标系下的{(0,k9),(0,0),(0、-k10)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a,b+k9),(a,b),(a,b-k10)}。
候选MHP位置集合中候选MHP位置的数量N还可为其他值,其类似N为2、3的情况,这里不再一一赘述。
在上面描述中,k9至k10为正整数,可相同,也可不同,在一示例中,可依据最接近MV1的终止点的原则取值。
至此,完成例3的描述。
例4:
在例4中,假设当前图像块的运动矢量记为MV1,其中,MV1的横向分量为a,a≠0,纵向分量为0。
在例4中,按照上述图4所示流程,假设上述的目标坐标系以当前图像块的运动矢量MV1的终止点(a、0)为原点,以运动矢量表示候选MTP位置集合为例,则:
假若候选MHP位置集合中候选MHP位置的数量N为2,则可将图5d所示的目标坐标系下的原点、E1点(k11、0)作为候选MHP位置,即候选MHP位置集合为:目标坐标系下的{(0,0),(k11,0)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a,b),(a+k11,b)}。
仍以候选MHP位置集合中候选MHP位置的数量N为2为例,也可将图5d所示的目标坐标系下的E1点(k11,0)、E2点(-k12、0)作为候选MHP位置,即候选MHP位置集合为:目标坐标系下的{(-k12、0),(k11,0)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a-k12,b),(a+k11,b)}。
再以候选MHP位置集合中候选MHP位置的数量N为3为例,也可将图5d所示的目标坐标系下的E1点(k11,0)、原点、E2点(-k12、0)作为候选MHP位置,即候选MHP位置集合为:目标坐标系下的{(-k12、0),(0,0),(k11,0)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(a-k12,b),(a,b),(a+k11,b)}
候选MHP位置集合中候选MHP位置的数量N还可为其他值,其类似N为2、3的情况,这里不再一一赘述。
在上面描述中,k11至k12为正整数,可相同,也可不同,在一示例中,可依据最接近MV1的终止点的原则取值。
至此,完成例4的描述。
以上通过4个例子对图4所示的如何将沿着所述运动矢量的方向且满足预设条件的至少两个位置作为候选MHP位置组成所述候选MHP位置集合。
需要说明的是,上述4个例子只是为便于理解进行的举例,并非用于限定。
图6为本申请实施例1提供的步骤201另一实现流程图。如图6所示,该流程可包括以下步骤:
步骤601,当所述运动信息包括运动矢量和第一参考帧索引时,执行步骤602。
步骤602,依据所述当前图像块的运动矢量的方向,选择与所述运动矢量的终止点的距离满足预设条件的至少两个位置作为候选MHP位置组成所述候选MHP位置集合,其中,所述候选MHP位置集合中各个候选MHP位置对应第二参考帧索引,第二参考帧索引与第一参考帧索引相同或不同。
这里的第二参考帧索引为编码端已记录的参考帧列表中参考帧的索引。
在一个例子中,当第一参考帧索引与第二参考帧索引相同时,本步骤602中确定候选MHP位置集合的方式可参考上述步骤302,这里不再赘述。
在另一个例子中,当第一参考帧索引与第二参考帧索引不同时,本步骤602中确定候选MHP位置集合的方式可参考上述步骤302,只是在上述步骤302具体实现时,目标坐标系的原点有所改变,具体为:目标运动矢量的终止点,或者所述运动矢量的方向上除所述目标运动矢量的终止点之外的其他点。这里的目标运动矢量是所述当前图像块的运动矢量与L之积,所述L为L1与L2的比值,所述L1为所述第二参考帧索引对应的参考帧与当前图像块所在当前帧的时域跨度,所述L2为所述第一参考帧索引对应的参考帧与当前帧的时域跨度。下面举例描述:
假设L1取值为3,L2取值为1,L取值为3,当前图像块的运动矢量为MV1,MV1的横向分量为a,纵向分量为b,则上述目标运动矢量为3MV1,3MV1的横向分量为3a,纵向分量为3b。
图7为本申请实施例1提供的目标区域示意图。如图7所示,如上描述,假设目标坐标系的原点为目标运动矢量的终止点(3a、3b),以运动矢量表示候选MTP位置集合为例,则当ab大于0时,可将图7所示的目标坐标系下的横向坐标轴、纵向坐标轴、第一坐标象限区域和第三坐标象限区域确定为目标区域,将目标区域中的至少两个位置作为候选MHP位置组成所述候选MHP位置集合。比如:
假若候选MHP位置集合中候选MHP位置的数量N为2,则可将图7所示的目标坐标系下的原点、F1点(k13、k14)作为候选MHP位置,即候选MHP位置集合为:目标坐标系下的{(0,0),(k13,k14)}。而应用于当前图像块的运动矢量所在的坐标系(记为原始坐标系),则候选MHP位置集合变换为:原始坐标系的{(3a,3b),(3a+k13,3b+k14)}。其中,候选MHP位置集合中各个候选MHP位置均对应第二参考帧索引。
至此,完成图6所示流程。
通过图6所示流程实现了当前图像块的运动信息包括括运动矢量和第一参考帧索引时如何确定候选MHP位置集合。
本实施例1中,编码端在为当前图像块确定目标MHP位置后,可在向解码端发送比特流时携带当前图像块的MHP位置策略信息,MHP位置策略信息用于向所述解码端提供确定目标MHP位置的策略。
在一个例子中,所述MHP位置策略信息包括第一指示信息;所述第一指示信息用于在有多个候选MHP位置集合的前提下指示可用的候选MHP位置集合。
在另一个例子中,所述MHP位置策略信息包括第二指示信息;所述第二指示信息用于指示可用的目标MHP位置。
在又一个例子中,所述MHP位置策略信息包括第三指示信息;所述第三指示信息包括运动信息偏移量,以指示依据所述当前图像块的运动信息和所述运动信息偏移量确定目标MHP位置。比如,当前图像块的运动信息通过当前图像块的运动矢量表示,举例为(2,2),若上述的运动信息偏移量为1,则意味着根据(2,2)和运动信息偏移量1得到的(3、3)和/或(1,1)为当前图像块的目标MHP位置。
另外,本实施例1中,编码端在为当前图像块确定目标MHP位置后,作为一个实施例,可进一步存储当前图像块的至少一个参考MHP位置,以向与所述当前图像块相邻的其他图像块提供帧间预测参考。特别的,在双向参考帧模式下,可以存储两个参考MHP位置。需要说明的是,这里存储的参考MHP位置可指当前图像块的目标MHP位置;也可指当前图像块的至少一个目标MHP位置计算出的结果,等等。
至此,完成实施例1的描述。
实施例2:
本实施例2以应用于解码端为例描述。
参见图8,图8为本申请实施例2提供的帧间预测方法流程图。该方法应用于解码端,可包括以下步骤:
步骤801,根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合。
这里的MHP位置策略信息为用于指示解码端确定目标MHP位置的策略。下文会举例描述MHP位置策略信息,这里暂不赘述。
步骤802,确定目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素。
本步骤802与上述的步骤102类似,不再赘述。
步骤803,依据各个候选帧间预测像素确定所述当前图像块的目标帧间预测像素。
本步骤803与上述的步骤103类似,不再赘述。
至此,完成图8所示流程。
通过图8所示流程可以看出,本申请中,解码端通过根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合,再根据目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素获取当前图像块的目标帧间预测像素,有利于保证最终得到的当前图像块的目标帧间预测像素是最佳预测像素块。即使视频图像存在残影和/或视频图像的边缘模糊等因素,也有利于保证最终得到的当前图像块的目标帧间预测像素更接近当前图像块的原始像素,是最佳预测像素块,提高了帧间预测的精确度和编码性能。
在本实施例2中,作为一个实施例,上述的MHP位置策略信息包括第一指示信息,所述第一指示信息用于指示可用的候选MHP位置集合。这里,解码端会按照类似编码端的方式确定候选MHP位置集合。解码端确定出的所有候选MHP位置集合与编码端确定出的所有候选MHP位置集合相同。
在一个例子中,第一指示信息可包括:可用候选MHP位置集合通过指示值1表示,而不可用的候选MHP位置集合通过指示值0表示。在另一个例子中,第一指示信息可包括:仅指示可用候选MHP位置集合,而不可用的候选MHP位置集合不指示。
基于第一指示信息,上述步骤801可包括:依据所述第一指示信息指示的可用候选MHP位置集合确定目标MHP位置集合。最终目标MHP位置集合包括第一指示信息指示的可用候选MHP位置集合。
作为另一个实施例,上述的MHP位置策略信息包括第二指示信息,所述第二指示信息用于指示可用的目标MHP位置。这里,解码端会按照类似编码端确定候选MHP位置集合的方式确定候选MHP位置集合。
在一个例子中,第二指示信息可包括:编码端已确定出的目标MHP位置集合中可用的目标MHP位置通过指示值1表示,而不可用的目标MHP位置通过指示值0表示。在另一个例子中,仅指示可用的目标MHP位置,而不可用的目标MHP位置不指示。
基于第二指示信息,上述步骤801可包括:根据当前图像块的运动信息确定候选MHP位置集合;依据所述第二指示信息指示的可用目标MHP位置从候选MHP位置集合中确定目标MHP位置并组成所述目标MHP位置集合。最终目标MHP位置集合包括第二指示信息指示的可用目标MHP位置。
作为又一个实施例,上述的MHP位置策略信息包括第三指示信息,所述第三指示信息包括运动信息偏移量,以指示依据所述当前图像块的运动信息和所述运动信息偏移量确定目标MHP位置。
基于第三指示信息,本步骤801中,根据已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合包括:
依据所述第三指示信息指示的运动信息偏移量和所述当前图像块的运动信息确定目标MHP位置;
将确定的所述目标MHP位置组成所述目标MHP位置集合。
比如,解码端处理到的当前图像块的运动信息通过当前图像块的运动矢量表示,举例为(2,2),若上述的运动信息偏移量为1,则意味着根据(2,2)和运动信息偏移量1得到的(3、3)和(1,1)为当前图像块的目标MHP位置,最终确定的当前图像块的目标MHP位置集合为{(3、3),(1,1)}。
需要说明的是,上述限定MHP位置策略信息为第一指示信息、第二指示信息、第三指示信息只是为便于理解而进行的举例,并非用于限定。
至此,完成实施例2的描述。
实施例3:
本实施例3以应用于解码端为例描述。
参见图9,图9为本申请实施例3提供的帧间预测方法流程图。该方法应用于解码端,可包括以下步骤:
步骤901,根据当前图像块的运动信息确定当前图像块对应的目标MHP位置集合。
本步骤901中,根据当前图像块的运动信息确定当前图像块对应的目标MHP位置集合有多种实现方式。一种实现方式可采用实施例1中描述的根据当前图像块的运动信息确定当前图像块对应的目标MHP位置集合的实现方式;另一种实现方式可在已接收的来自编码端的编码比特流携带MHP位置策略信息的前提下,采用实施例2中描述的根据当前图像块的运动信息和接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合的实现方式。
步骤902,确定目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素。
步骤902与上述步骤102类似,这里不再赘述。
步骤903,依据各个候选帧间预测像素确定所述当前图像块的目标帧间预测像素。
步骤903与上述步骤103类似,这里不再赘述。
至此,完成图9所示流程。
通过图9所示流程可以看出,本申请中,解码端通过根据当前图像块的运动信息确定目标MHP位置集合,再根据目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素获取当前图像块的目标帧间预测像素,有利于保证最终得到的当前图像块的目标帧间预测像素是最佳预测像素块。即使视频图像存在残影和/或视频图像的边缘模糊等因素,也有利于保证最终得到的当前图像块的目标帧间预测像素更接近当前图像块的原始像素,是最佳预测像素块,提高了帧间预测的精确度和编码性能。
至此,完成实施例3的描述。以上对本申请提供的方法进行了描述。
需要说明的是,作为一个实施例,在本申请中,上述当前图像块的大小的规格可大于或等于预设尺寸。这里的预设尺寸可根据实际需求设置,作为一个实施例,这里的预设尺寸可为8x8。
还需要说明的是,作为一个实施例,在本申请中,在当前图像块为双向帧间预测块(即当前图像块本身存在两套运动信息)的情况下,一种实现方式是:应用于编码端,针对当前图像块的其中一套运动信息执行本申请实施例1提供的方式;应用于解码端,针对当前图像块的其中一套运动信息执行本申请实施例2或3提供的方式。
作为另一个实施例,在本申请中,在当前图像块为双向帧间预测块(即当前图像块本身存在两套运动信息)的情况下,一种实现方式是:应用于编码端,针对当前图像块的两套运动信息均执行本申请实施例1提供的方式;应用于解码端,针对当前图像块的两套运动信息执行本申请实施例2或3提供的方式。
其中,应用于编码端,在当前图像块的两套运动信息均执行本申请实施例1提供的方式的前提下,编码端可向解码端传输两套编码比特流,分别指示当前图像块的每套运动信息对应的可用MHP位置;或者,编码端向解码端传输一套编码比特流,同时指示当前图像块的每套运动信息对应的可用MHP位置;或者,编码端向解码端传输三套编码比特流T1至T3,其中,T1指示当前图像块的两套运动信息对应的公共可用MHP位置,T2指示当前图像块的其中一套运动信息对应的除上述公共可用MHP位置之外的剩余可用MHP位置,T3指示当前图像块的另一套运动信息对应的除上述公共可用MHP位置之外的剩余可用MHP位置。等等。
下面对本申请提供的装置进行描述:
参见图10,图10为本申请提供的编码端设备的结构图。如图10所示,该设备可包括:
MHP位置单元1001,用于根据当前图像块的运动信息确定目标MHP位置集合;
确定单元1002,用于确定目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素;
帧间预测单元1003,用于依据各个候选帧间预测像素确定所述当前图像块的目标帧间预测像素。
作为一个实施例,MHP位置单元1001根据当前图像块的运动信息确定目标MHP位置集合可包括:
根据当前图像块的运动信息确定候选MHP位置集合;
从所述候选MHP位置集合中选择至少两个候选MHP位置;
将选择出的各个候选MHP位置组成所述目标MHP位置集合。
在一个例子中,所述运动信息包括:运动矢量;基于此,MHP位置单元1001根据当前图像块的运动信息确定候选MHP位置集合可包括:
依据所述当前图像块的运动矢量的方向,选择与所述运动矢量的终止点的距离满足预设条件的至少两个位置作为候选MHP位置组成所述候选MHP位置集合。
在一个例子中,MHP位置单元1001依据所述当前图像块的运动矢量的方向,选择与所述运动矢量的终止点的距离满足预设条件的至少两个位置作为候选MHP位置组成所述候选MHP位置集合包括:
依据当前图像块的运动矢量的方向,在目标坐标系中确定目标区域,所述目标区域为所述目标坐标系中与所述运动矢量的方向匹配的区域;
根据所述预设条件将所述目标区域中的至少两个位置作为候选MHP位置组成所述候选MHP位置集合。
作为一个实施例,所述目标坐标系是以第一指定点为原点的坐标系;
所述第一指定点为所述运动矢量的终止点或者为所述运动矢量的方向上除所述终止点之外的其他点。
在一个例子中,所述运动信息还包括:所述当前图像块采用的参考帧对应的第一参考帧索引;所述候选MHP位置集合中各个候选MHP位置对应第二参考帧索引。
其中,当所述第一参考帧索引与所述第二参考帧索引相同时,所述目标坐标系是以第一指定点为原点的坐标系,第一指定点为所述运动矢量的终止点或者为所述运动矢量的方向上除所述终止点之外的其他点。
当所述第一参考帧索引与所述第二参考帧索引不同时,所述目标坐标系是以第二指定点为原点的坐标系,所述第二指定点为目标运动矢量的终止点或者为所述运动矢量的方向上除所述目标运动矢量的终止点之外的其他点;
所述目标运动矢量是所述当前图像块的运动矢量与L之积,所述L为L1与L2的比值,所述L1为所述第二参考帧索引对应的参考帧与当前图像块所在当前帧的时域跨度,所述L2为所述第一参考帧索引对应的参考帧与当前帧的时域跨度。
这里,所述第一参考帧索引、第二参考帧索引为所述编码端已记录的参考帧列表中参考帧的索引。
在一个例子中,MHP位置单元1001依据当前图像块的运动矢量的方向,在目标坐标系中确定目标区域包括:
若当前图像块的运动矢量中的横向分量和纵向分量的乘积大于0,确定所述目标坐标系中的第一坐标象限区域和第三坐标象限区域为所述目标区域;
若当前图像块的运动矢量中的横向分量和纵向分量的乘积小于0,确定所述目标坐标系中的第二坐标象限区域、第四坐标象限区域为所述目标区域。
在另一个例子中,MHP位置单元1001依据当前图像块的运动矢量的方向,在目标坐标系中确定目标区域包括:
若当前图像块的运动矢量中的横向分量为0,确定所述目标坐标系中的纵向坐标轴为所述目标区域;
若当前图像块的运动矢量中的纵向分量为0,确定所述目标坐标系中的横向坐标轴为所述目标 区域。
这里,帧间预测单元1003依据各个候选帧间预测像素确定所述当前图像块的目标帧间预测像素包括:
根据所述各个候选帧间预测像素的加权系数对所述各个候选预测像素进行加权运算;
确定加权运算结果为所述当前图像块的目标帧间预测像素。
作为一个实施例,MHP位置单元1001进一步存储当前图像块的至少一个目标MHP位置存储,以向与所述当前图像块相邻的其他图像块提供帧间预测参考;或者,将依据当前图像块的至少一个目标MHP位置计算出的计算结果进行存储,以向与所述当前图像块相邻的其他图像块提供帧间预测参考。
在一个例子中,如图10所示,该装置进一步包括:
发送单元1004,用于向解码端发送携带MHP位置策略信息的编码比特流,所述MHP位置策略信息用于向所述解码端提供确定目标MHP位置的策略。
作为一个实施例,所述MHP位置策略信息包括第一指示信息;所述第一指示信息用于指示可用的候选MHP位置集合。
作为另一个实施例,所述MHP位置策略信息包括第二指示信息;所述第二指示信息用于指示所述可用的目标MHP位置。
作为又一个实施例,所述MHP位置策略信息包括第三指示信息;所述第三指示信息包括运动信息偏移量,以指示依据所述当前图像块的运动信息和所述运动信息偏移量确定目标MHP位置。
至此,完成图10所示的编码端设备结构图。
本申请还提供了图10所示编码端设备的硬件结构图。如图11所示,该硬件结构可包括:
机器可读存储介质1101,用于存储机器可读指令;
处理器1102,用于读取所述机器可读指令,并执行所述指令以实现实施例1描述的帧间预测方法。
在一示例中,该硬件结构还包括电源组件、网络接口以及输入输出接口。
至此,完成图11所示的硬件结构描述。
参见图12,图12为本申请提供的解码端设备结构图。如图12所示,解码端设备可包括:
MHP位置单元1201,用于根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合。
确定单元1202,用于确定目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素;
帧间预测单元1203,用于依据各个候选帧间预测像素确定所述当前图像块的目标帧间预测像素。
作为一个实施例,所述MHP位置策略信息包括第一指示信息,所述第一指示信息用于指示可用的候选MHP位置集合;
MHP位置单元1201根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合包括:
根据当前图像块的运动信息确定候选MHP位置集合;
依据所述第一指示信息指示的可用候选MHP位置集合从已确定的所有候选MHP位置集合中确定目标MHP位置集合。
作为另一个实施例,所述MHP位置策略信息包括第二指示信息,所述第二指示信息用于指示可用的目标MHP位置;
MHP位置单元1201根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合包括:
根据当前图像块的运动信息确定候选MHP位置集合;
依据所述第二指示信息指示的可用目标MHP位置从候选MHP位置集合中选择目标MHP位置并组成所述目标MHP位置集合。
作为又一个实施例,所述MHP位置策略信息包括第三指示信息,所述第三指示信息包括运动信息偏移量,以指示依据所述当前图像块的运动信息和所述运动信息偏移量确定目标MHP位置;
MHP位置单元1201根据已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合包括:
依据所述第三指示信息指示的运动信息偏移量和所述当前图像块的运动信息确定目标MHP位置;
将确定的所述目标MHP位置组成所述目标MHP位置集合。
至此,完成图12所示的解码端设备结构图。
本申请还提供了图12所示解码端设备的硬件结构图。如图13所示,该硬件结构可包括:
机器可读存储介质1301,用于存储机器可读指令;
处理器1302,用于读取所述机器可读指令,并执行所述指令以实现实施例2描述的帧间预测方法。
在一示例中,该硬件结构还包括电源组件、网络接口以及输入输出接口。
至此,完成图13所示的硬件结构描述。
参见图14,图14为本申请提供的解码端设备的另一结构图。如图14所示,解码端设备包括:
MHP位置单元1401,用于根据当前图像块的运动信息确定当前图像块对应的目标MHP位置集合。
确定单元1402,用于确定目标MHP位置集合中各个目标MHP位置对应的候选帧间预测像素;
帧间预测单元1403,用于依据各个候选帧间预测像素确定所述当前图像块的目标帧间预测像素。
作为一个实施例,MHP位置单元1401根据当前图像块的运动信息确定当前图像块对应的目标MHP位置集合包括:
根据当前图像块的运动信息确定候选MHP位置集合;
从所述候选MHP位置集合中选择至少两个候选MHP位置;
将选择出的各个候选MHP位置组成所述目标MHP位置集合。
在一个例子中,所述运动信息包括:运动矢量。
MHP位置单元1401根据当前图像块的运动信息确定候选MHP位置集合包括:
依据所述当前图像块的运动矢量的方向,选择与所述运动矢量的终止点的距离满足预设条件的至少两个位置,作为候选MHP位置组成所述候选MHP位置集合。
这里,所述依据当前图像块的运动矢量的方向,选择与所述运动矢量的终止点的距离满足预设条件的至少两个位置作为候选MHP位置组成所述候选MHP位置集合包括:
依据当前图像块的运动矢量的方向,在目标坐标系中确定目标区域,所述目标区域为所述目标坐标系中与所述运动矢量的方向匹配的区域;
根据所述预设条件将所述目标区域中的至少两个位置作为候选MHP位置组成所述候选MHP位置集合。
其中,所述目标坐标系是以第一指定点为原点的坐标系;所述第一指定点为所述运动矢量的终止点或者为所述运动矢量的方向上除所述终止点之外的其他点。
在另一个例子中,所述运动信息还包括:所述当前图像块采用的参考帧对应的第一参考帧索引;
所述候选MHP位置集合中各个候选MHP位置对应第二参考帧索引。
在一个例子中,所述第一参考帧索引与所述第二参考帧索引相同;
所述目标坐标系是以第一指定点为原点的坐标系,第一指定点为所述运动矢量的终止点或者为所述运动矢量的方向上除所述终止点之外的其他点。
在另一个例子中,所述第一参考帧索引与所述第二参考帧索引不同,所述目标坐标系是以第二 指定点为原点的坐标系,所述第二指定点为目标运动矢量的终止点或者为所述运动矢量的方向上除所述目标运动矢量的终止点之外的其他点;
所述目标运动矢量是所述当前图像块的运动矢量与L之积得到的运动矢量,所述L为L1与L2的比值,所述L1为所述第二参考帧索引对应的参考帧与当前图像块所在当前帧的时域跨度,所述L2为所述第一参考帧索引对应的参考帧与当前帧的时域跨度。
在本申请实施例中,所述第一参考帧索引、第二参考帧索引为所述编码端已记录的参考帧列表中参考帧的索引。
在本申请实施例中,所述依据当前图像块的运动矢量的方向,在目标坐标系中确定目标区域包括:
若当前图像块的运动矢量中的横向分量和纵向分量的乘积大于0,确定所述目标坐标系中的横向坐标轴、纵向坐标轴、第一坐标象限区域和第三坐标象限区域为所述目标区域;
若当前图像块的运动矢量中的横向分量和纵向分量的乘积小于0,确定所述目标坐标系中的横向坐标轴、纵向坐标轴、第二坐标象限区域和第四坐标象限区域为所述目标区域。
在本申请另一实施例中,所述依据当前图像块的运动矢量的方向,在目标坐标系中确定目标区域包括:
若当前图像块的运动矢量中的横向分量为0,确定所述目标坐标系中的纵向坐标轴为所述目标区域;
若当前图像块的运动矢量中的纵向分量为0,确定所述目标坐标系中的横向坐标轴为所述目标区域。
作为另一个实施例,MHP位置单元1401根据当前图像块的运动信息确定当前图像块对应的目标MHP位置集合包括:
根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合。
在一个例子中,所述MHP位置策略信息包括第一指示信息,所述第一指示信息用于指示可用的候选MHP位置集合;
MHP位置单元1401根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合包括:
根据当前图像块的运动信息确定所有候选MHP位置集合;
依据所述第一指示信息指示的可用候选MHP位置集合从所有候选MHP位置集合中确定目标MHP位置集合。
在一个例子中,所述MHP位置策略信息包括第二指示信息,所述第二指示信息用于指示可用的目标MHP位置;
MHP位置单元1401根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合包括:
根据当前图像块的运动信息确定候选MHP位置集合;
依据所述第二指示信息指示的可用目标MHP位置从候选MHP位置集合中选择目标MHP位置并组成所述目标MHP位置集合。
在一个例子中,所述MHP位置策略信息包括第三指示信息,所述第三指示信息包括运动信息偏移量,以指示依据所述当前图像块的运动信息和所述运动信息偏移量确定目标MHP位置;
MHP位置单元1401根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合包括:
依据所述第三指示信息指示的运动信息偏移量和所述当前图像块的运动信息确定目标MHP位置;
将确定的所述目标MHP位置组成所述目标MHP位置集合。
作为一个实施例,帧间预测单元1403依据各个候选帧间预测像素确定所述当前图像块的目标帧 间预测像素包括:
根据所述各个候选帧间预测像素的加权系数对所述各个候选预测像素进行加权运算;
确定加权运算结果为所述当前图像块的目标帧间预测像素。
作为一个实施例,MHP位置单元1401进一步存储当前图像块的至少一个目标MHP位置存储,以向与所述当前图像块相邻的其他图像块提供帧间预测参考;或者,将依据当前图像块的至少一个目标MHP位置计算出的计算结果进行存储,以向与所述当前图像块相邻的其他图像块提供帧间预测参考。
至此,完成图14所示的解码端设备结构图。
本申请还提供了图14所示编码端设备的硬件结构图。如图15所示,该硬件结构可包括:
机器可读存储介质1501,用于存储机器可读指令;
处理器1502,用于读取所述机器可读指令,并执行所述指令以实现实施例3描述的帧间预测方法。
在一示例中,该硬件结构还包括电源组件、网络接口以及输入输出接口。
至此,完成图15所示的硬件结构描述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (19)

  1. 一种帧间预测方法,包括:
    根据当前图像块的运动信息确定包括多个目标多假设预测MHP位置的目标MHP位置集合;
    确定所述目标MHP位置集合中各个所述目标MHP位置对应的候选帧间预测像素;
    依据各个所述候选帧间预测像素确定所述当前图像块的目标帧间预测像素。
  2. 根据权利要求1所述的方法,其特征在于,所述根据当前图像块的运动信息确定目标MHP位置集合,包括:
    根据所述当前图像块的运动信息确定包括多个候选MHP的候选MHP位置集合;
    从所述候选MHP位置集合中选择至少两个所述候选MHP位置;
    将选择出的各个所述候选MHP位置作为所述目标MHP位置组成所述目标MHP位置集合。
  3. 根据权利要求2所述的方法,其特征在于,
    所述当前图像块的运动信息包括运动矢量;
    所述根据当前图像块的运动信息确定候选MHP位置集合,包括:依据所述当前图像块的运动矢量的方向,选择与所述运动矢量的终止点的距离满足预设条件的至少两个位置作为所述候选MHP位置。
  4. 根据权利要求3所述的方法,其特征在于,所述依据当前图像块的运动矢量的方向,选择与所述运动矢量的终止点的距离满足预设条件的至少两个位置作为所述候选MHP位置,包括:
    依据所述当前图像块的运动矢量的方向,在目标坐标系中确定目标区域,所述目标区域为所述目标坐标系中与所述运动矢量的方向匹配的区域;
    根据所述预设条件将所述目标区域中的至少两个位置作为所述候选MHP位置。
  5. 根据权利要求4所述的方法,其特征在于,
    所述目标坐标系是以第一指定点为原点的坐标系;
    所述第一指定点为所述运动矢量的终止点或者为所述运动矢量的方向上除所述终止点之外的其他点。
  6. 根据权利要求5所述的方法,其特征在于,
    所述当前图像块的运动信息还包括:所述当前图像块采用的参考帧对应的第一参考帧索引;
    所述候选MHP位置集合中各个所述候选MHP位置对应第二参考帧索引;
    当所述第一参考帧索引与所述第二参考帧索引相同时,所述目标坐标系是以所述第一指定点为原点的坐标系。
  7. 根据权利要求4所述的方法,其特征在于,
    所述当前图像块的运动信息还包括:所述当前图像块采用的参考帧对应的第一参考帧索引;
    所述候选MHP位置集合中各个所述候选MHP位置对应第二参考帧索引;
    当所述第一参考帧索引与所述第二参考帧索引不同时,所述目标坐标系是以第二指定点为原点的坐标系,所述第二指定点为目标运动矢量的终止点或者为所述运动矢量的方向上除所述目标运动矢量的终止点之外的其他点;
    其中,所述目标运动矢量是所述当前图像块的运动矢量与L之积,所述L为L1与L2的比值,所述L1为所述第二参考帧索引对应的参考帧与所述当前图像块所在当前帧的时域跨度,所述L2为所述第一参考帧索引对应的参考帧与所述当前帧的时域跨度。
  8. 根据权利要求4所述的方法,其特征在于,所述依据当前图像块的运动矢量的方向,在目标坐标系中确定目标区域,包括:
    若所述当前图像块的运动矢量中的横向分量和纵向分量的乘积大于0,确定所述目标坐标系中的横向坐标轴、纵向坐标轴、第一坐标象限区域和第三坐标象限区域为所述目标区域;
    若所述当前图像块的运动矢量中的横向分量和纵向分量的乘积小于0,确定所述目标坐标系中的横向坐标轴、纵向坐标轴、第二坐标象限区域和第四坐标象限区域为所述目标区域。
  9. 根据权利要求4所述的方法,其特征在于,所述依据当前图像块的运动矢量的方向,在目标坐标系中确定目标区域,包括:
    若所述当前图像块的运动矢量中的横向分量为0,确定所述目标坐标系中的纵向坐标轴为所述目标区域;
    若所述当前图像块的运动矢量中的纵向分量为0,确定所述目标坐标系中的横向坐标轴为所述目标区域。
  10. 根据权利要求1所述的方法,其特征在于,所述依据各个候选帧间预测像素确定所述当前图像块的目标帧间预测像素,包括:
    根据所述各个候选帧间预测像素的加权系数对所述各个候选预测像素进行加权运算;
    确定所述加权运算结果为所述当前图像块的所述目标帧间预测像素。
  11. 根据权利要求1所述的方法,其特征在于,该方法进一步包括:
    存储所述当前图像块的至少一个所述目标MHP位置,以向与所述当前图像块相邻的其他图像块提供帧间预测参考;或者,
    将依据所述当前图像块的至少一个所述目标MHP位置计算出的计算结果进行存储,以向与所述当前图像块相邻的其他图像块提供帧间预测参考。
  12. 根据权利要求2至11任一所述的方法,其特征在于,所述方法应用于编码端;该方法进一步包括:
    向解码端发送携带MHP位置策略信息的编码比特流,所述MHP位置策略信息用于向所述解码端提供确定所述目标MHP位置的策略。
  13. 根据权利要求12所述的方法,其特征在于,
    所述MHP位置策略信息包括指示信息;所述指示信息用于指示可用的候选MHP位置集合,或者指示可用的目标MHP位置;
    或者,所述MHP位置策略信息包括运动信息偏移量,以指示依据所述当前图像块的运动信息和所述运动信息偏移量确定目标MHP位置。
  14. 根据权利要求2至11任一所述的方法,其特征在于,
    所述方法应用于解码端;
    所述根据当前图像块的运动信息确定目标MHP位置集合,包括:根据所述当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定所述目标MHP位置集合,所述MHP位置策略信息用于提供确定所述目标MHP位置的策略。
  15. 根据权利要求14所述的方法,其特征在于,
    所述MHP位置策略信息包括第一指示信息,所述第一指示信息用于指示可用的候选MHP位置集合;所述根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的所述MHP位置策略信息确定所述目标MHP位置集合,包括:根据所述当前图像块的运动信息确定所述候选MHP位置集合,依据所述第一指示信息指示的所述可用的候选MHP位置集合从已确定的所述候选MHP位置集合中确定所述目标MHP位置集合;
    或者,所述MHP位置策略信息包括第二指示信息,所述第二指示信息用于指示可用的目标MHP位置;所述根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定所述目标MHP位置集合,包括:根据所述当前图像块的运动信息确定所述候选MHP位置集合,依据所述第二指示信息指示的所述可用的目标MHP位置从所述候选MHP位置集合中选择目标MHP位置并组成所述目标MHP位置集合;
    或者,所述MHP位置策略信息包括第三指示信息,所述第三指示信息包括运动信息偏移量,以指示依据所述当前图像块的运动信息和所述运动信息偏移量确定所述目标MHP位置;所述根据已接收的来自编码端的编码比特流携带的MHP位置策略信息确定目标MHP位置集合,包括:依据所述第三指示信息指示的运动信息偏移量和所述当前图像块的运动信息确定目标MHP位置;将确定的所述目标MHP位置组成所述目标MHP位置集合。
  16. 一种帧间预测方法,应用于解码端,包括:
    根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定所述当前图像块对应的包括多个目标MHP位置的目标MHP位置集合;
    确定所述目标MHP位置集合中各个所述目标MHP位置对应的候选帧间预测像素;
    依据各个所述候选帧间预测像素确定所述当前图像块的目标帧间预测像素。
  17. 根据权利要求16所述的方法,其特征在于,
    所述MHP位置策略信息包括第一指示信息,所述第一指示信息用于指示可用的候选MHP位置集合;所述根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合,包括:根据所述当前图像块的运动信息确定所述候选MHP位置集合,依据所述第一指示信息指示的所述可用候选MHP位置集合从已确定的所述候选MHP位置集合中确 定目标MHP位置集合;
    或者,所述MHP位置策略信息包括第二指示信息,所述第二指示信息用于指示可用的目标MHP位置;所述根据当前图像块的运动信息和已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合,包括:根据所述当前图像块的运动信息确定所述候选MHP位置集合,
    依据所述第二指示信息指示的所述可用目标MHP位置从所述候选MHP位置集合中选择目标MHP位置并组成所述目标MHP位置集合;
    或者,所述MHP位置策略信息包括第三指示信息,所述第三指示信息包括运动信息偏移量,以指示依据所述当前图像块的运动信息和所述运动信息偏移量确定目标MHP位置;所述根据已接收的来自编码端的编码比特流携带的MHP位置策略信息确定当前图像块对应的目标MHP位置集合,包括:依据所述第三指示信息指示的运动信息偏移量和所述当前图像块的运动信息确定所述目标MHP位置;将确定的所述目标MHP位置组成所述目标MHP位置集合。
  18. 一种编码端设备,包括:
    机器可读存储介质,用于存储机器可读指令;
    处理器,用于读取所述机器可读指令,并执行所述指令以实现权利要求1-13任一项所述的帧间预测方法。
  19. 一种解码端设备,包括:
    机器可读存储介质,用于存储机器可读指令;
    处理器,用于读取所述机器可读指令,并执行所述指令,以实现权利要求1-11、14-15、16-17任一项所述的帧间预测方法。
PCT/CN2019/106484 2018-09-20 2019-09-18 帧间预测方法和设备 WO2020057558A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811102838.6A CN110933423B (zh) 2018-09-20 2018-09-20 帧间预测方法和设备
CN201811102838.6 2018-09-20

Publications (1)

Publication Number Publication Date
WO2020057558A1 true WO2020057558A1 (zh) 2020-03-26

Family

ID=69855579

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/106484 WO2020057558A1 (zh) 2018-09-20 2019-09-18 帧间预测方法和设备

Country Status (2)

Country Link
CN (1) CN110933423B (zh)
WO (1) WO2020057558A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11805245B2 (en) * 2021-08-16 2023-10-31 Mediatek Inc. Latency reduction for reordering prediction candidates

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934440A (zh) * 2010-05-26 2013-02-13 Lg电子株式会社 用于处理视频信号的方法和设备
CN103238330A (zh) * 2010-12-08 2013-08-07 索尼公司 图像处理装置、图像处理方法和程序
CN105678808A (zh) * 2016-01-08 2016-06-15 浙江宇视科技有限公司 运动目标跟踪方法及装置
US20160269739A1 (en) * 2015-03-10 2016-09-15 Apple Inc. Video encoding optimization of extended spaces including last stage processes
CN108259916A (zh) * 2018-01-22 2018-07-06 南京邮电大学 一种分布式视频压缩感知中帧内最佳匹配插值重构方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971400B2 (en) * 2010-04-14 2015-03-03 Mediatek Inc. Method for performing hybrid multihypothesis prediction during video coding of a coding unit, and associated apparatus
CN107105289B (zh) * 2010-12-13 2020-12-22 韩国电子通信研究院 基于帧间预测对视频信号进行解码的方法
CN102710934B (zh) * 2011-01-22 2015-05-06 华为技术有限公司 一种运动预测或补偿方法
US20130329800A1 (en) * 2012-06-07 2013-12-12 Samsung Electronics Co., Ltd. Method of performing prediction for multiview video processing
CN103024390B (zh) * 2012-12-21 2015-09-09 天津大学 用于视频编码中的运动估计的自适应搜索方法
CN104935938B (zh) * 2015-07-15 2018-03-30 哈尔滨工业大学 一种混合视频编码标准中帧间预测方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102934440A (zh) * 2010-05-26 2013-02-13 Lg电子株式会社 用于处理视频信号的方法和设备
CN103238330A (zh) * 2010-12-08 2013-08-07 索尼公司 图像处理装置、图像处理方法和程序
US20160269739A1 (en) * 2015-03-10 2016-09-15 Apple Inc. Video encoding optimization of extended spaces including last stage processes
CN105678808A (zh) * 2016-01-08 2016-06-15 浙江宇视科技有限公司 运动目标跟踪方法及装置
CN108259916A (zh) * 2018-01-22 2018-07-06 南京邮电大学 一种分布式视频压缩感知中帧内最佳匹配插值重构方法

Also Published As

Publication number Publication date
CN110933423B (zh) 2022-03-25
CN110933423A (zh) 2020-03-27

Similar Documents

Publication Publication Date Title
US10523965B2 (en) Video coding method, video decoding method, video coding apparatus, and video decoding apparatus
TWI714565B (zh) 視訊寫碼中運動向量推導
KR102255665B1 (ko) 비디오 코딩에서의 움직임 벡터(mv) 제약조건 및 변환 제약조건
AU2019275631B2 (en) Motion vector field coding and decoding method, coding apparatus, and decoding apparatus
JP5306990B2 (ja) 選択的ビデオ・フレーム・レート・アップコンバージョン
CN111837397A (zh) 基于子图像码流的视角相关视频编码中的错误消除的码流指示
CN102823251B (zh) 动图像编码装置、动图像编码方法及动图像编码程序、以及动图像解码装置、动图像解码方法及动图像解码程序
TW201919402A (zh) 視訊圖像編碼和解碼的方法、裝置及設備
CN104769947A (zh) 一种基于p帧的多假设运动补偿编码方法
US20220191548A1 (en) Picture prediction method, encoder, decoder and storage medium
WO2021057481A1 (zh) 视频编解码方法和相关装置
CN104488271A (zh) 一种基于p帧的多假设运动补偿方法
WO2020181543A1 (zh) 视频处理方法和设备
TW202101993A (zh) 用於視訊寫碼之可切換內插濾波
Sanchez et al. Rate control for lossless region of interest coding in HEVC intra-coding with applications to digital pathology images
WO2021244125A1 (zh) 帧间预测方法、解码器、编码器及计算机存储介质
WO2020253730A1 (zh) 一种编解码方法、装置及其设备
CN101895749B (zh) 一种快速视差估计和运动估计方法
WO2022228375A1 (zh) 视频编码方法、装置和电子设备
WO2020057558A1 (zh) 帧间预测方法和设备
US20110194602A1 (en) Method and apparatus for sub-pixel interpolation
WO2012122836A1 (zh) 视频编解码处理方法和装置
WO2022067805A1 (zh) 图像预测方法、编码器、解码器以及计算机存储介质
TW202145784A (zh) 幀間預測方法、編碼器、解碼器以及電腦儲存媒介
WO2012010023A1 (zh) 图像运动估计方法和装置

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: 19861872

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: 19861872

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19861872

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 01/12/2021)