WO2020108360A1 - 视频图像编解码中的运动信息确定 - Google Patents

视频图像编解码中的运动信息确定 Download PDF

Info

Publication number
WO2020108360A1
WO2020108360A1 PCT/CN2019/119622 CN2019119622W WO2020108360A1 WO 2020108360 A1 WO2020108360 A1 WO 2020108360A1 CN 2019119622 W CN2019119622 W CN 2019119622W WO 2020108360 A1 WO2020108360 A1 WO 2020108360A1
Authority
WO
WIPO (PCT)
Prior art keywords
motion information
block
prediction mode
current image
image block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2019/119622
Other languages
English (en)
French (fr)
Inventor
方树清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Publication of WO2020108360A1 publication Critical patent/WO2020108360A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • 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/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

Definitions

  • the present application relates to the technical field of codec, in particular to a method and device for determining motion information.
  • the complete video coding method may include prediction, transformation, quantization, entropy coding, filtering and other processes.
  • predictive coding includes intra-frame coding and inter-frame coding.
  • Inter-frame coding utilizes the correlation in the video time domain to predict the pixels of the current image using pixels adjacent to the coded image, in order to effectively remove the video time-domain redundancy.
  • Motion Vector can be used to represent the relative displacement between the current image block of the current frame video image and the reference image block of the reference frame video image. For example, assuming that there is a strong time-domain correlation between the video image A of the current frame and the video image B of the reference frame, when the image block A1 (current image block) of the video image A needs to be transmitted, it can be performed.
  • the motion search finds the image block B1 (that is, the reference image block) that best matches the image block A1, and determines the relative displacement between the image block A1 and the image block B1, which is also the motion vector of the image block A1.
  • the present application provides a method and device for determining and determining motion information, which can save a large number of bits.
  • the present application provides a method for determining motion information, which is applied to a decoding end and includes: creating a motion information prediction mode candidate list for a current image block, wherein the motion information prediction mode candidate list includes at least one motion information prediction mode; The target motion information prediction mode of the current image block is selected in the motion information prediction mode candidate list; the target motion information of the current image block is determined according to the target motion information prediction mode.
  • the present application provides a method for determining motion information, which is applied to an encoding end and includes: creating a motion information prediction mode candidate list of a current image block, wherein the motion information prediction mode candidate list includes at least one motion information prediction mode; The target motion information prediction mode of the current image block is selected in the motion information prediction mode candidate list.
  • the present application provides a decoding method, which is applied to a decoding end and includes: creating a motion information prediction mode candidate list of a current image block, wherein the motion information prediction mode candidate list includes at least one motion information prediction mode; from the motion information The target motion information prediction mode of the current image block is selected in the prediction mode candidate list; the target motion information of the current image block is determined according to the target motion information prediction mode; the received encoded bit stream is performed according to the target motion information decoding.
  • the present application provides an encoding method, which is applied to an encoding end and includes: creating a motion information prediction mode candidate list of a current image block, wherein the motion information prediction mode candidate list includes at least one motion information prediction mode; from the motion information The target motion information prediction mode of the current image block is selected in the prediction mode candidate list; the current image block is encoded according to the target motion information prediction mode to obtain an encoded bitstream.
  • the present application provides a decoding-end device, including a processor and a machine-readable storage medium, where the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable Instructions to implement the steps of the method for determining motion information described above.
  • the present application provides an encoding-end device, including a processor and a machine-readable storage medium, where the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is used to execute the machine-executable Instructions to implement the steps of the method for determining motion information described above.
  • the target motion information prediction mode of the current image block can be determined, and the target motion information of the current image block can be determined according to the target motion information prediction mode, without dividing the current image block, which is effective Solve the bit overhead caused by sub-block division.
  • motion information is provided for each designated area of the current image block, and different designated areas of the current image block may correspond to the same or different motion information, thereby bringing coding performance Improvement. In this way, the problem of transmitting a large number of motion vectors is effectively solved, and a large number of bits can be saved.
  • FIG. 1 is a schematic diagram of a video encoding framework in an embodiment of this application
  • 2A-1 to 2A-6 and 2B are schematic diagrams of a division manner in an embodiment of the present application.
  • 3A and 3B are schematic diagrams of processing in the Merge mode and the AMVP mode
  • FIG. 4 is a schematic diagram of an application scenario in an implementation manner of this application.
  • FIG. 5 is a flowchart of a method for determining sports information in an embodiment of the present application.
  • FIG. 6 is a flowchart of a method for determining exercise information in an embodiment of the present application.
  • FIG. 7 is a flowchart of a method for determining exercise information in an embodiment of the present application.
  • FIGS. 8A-8D are schematic diagrams of matching blocks in an embodiment of the present application.
  • FIGS. 9A-9G are schematic diagrams of matching blocks in an embodiment of the present application.
  • 10 and 11 are schematic diagrams of the processing flow at the encoding end and the decoding end;
  • FIG. 12 is a structural diagram of an apparatus for determining exercise information in an embodiment of the present application.
  • FIG. 13 is a structural diagram of a prediction mode determination device in an embodiment of the present application.
  • FIG. 14 is a hardware structure diagram of a decoding device in an embodiment of the present application.
  • 15 is a hardware configuration diagram of an encoding end device in an embodiment of the present application.
  • first, second, third, etc. may be used to describe various information in the embodiments of the present application, the information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
  • first information may also be referred to as second information, and similarly, the second information may also be referred to as first information.
  • word "if” used may be interpreted as "when” or “when” or "in response to a determination”.
  • An embodiment of the present application provides a method for determining motion information, which involves the following concepts:
  • Motion Vector In inter-frame coding, the motion vector is used to represent the relative displacement between the current image block of the current frame video image and the reference image block of the reference frame video image. For example, assuming that there is a strong time-domain correlation between the video image A of the current frame and the video image B of the reference frame, when transmitting the image block A1 (current image block) of the video image A, a motion search can be performed in the video image B , Find the image block B1 (reference image block) that best matches the image block A1, and determine the relative displacement between the image block A1 and the image block B1, which is also the motion vector of the image block A1. Among them, each divided image block has a corresponding motion vector transmitted to the decoding end.
  • the motion vector of each image block is independently encoded and transmitted, especially if it is divided into a large number of small image blocks, it consumes a lot of Bit.
  • the spatial correlation between adjacent image blocks can be used to predict the motion vector of the current image block to be encoded based on the motion vectors of adjacent encoded image blocks, and then the prediction difference Encoding, which can effectively reduce the number of bits representing the motion vector.
  • the motion vector of the adjacent encoded image block can be used to predict the motion vector of the current image block first, and then the predicted value of the motion vector (MVP, Motion Vector Prediction)
  • MVP Motion Vector Prediction
  • the difference between the real estimate of the motion vector (MVD, Motion Vector Difference) is encoded to effectively reduce the number of encoded bits of the motion vector.
  • Motion Information Since the motion vector indicates the position offset of the current image block and a reference image block, in order to accurately obtain the information pointing to the image block, in addition to the motion vector, it is necessary to refer to the index information of the frame image to indicate which one to use Reference frame image.
  • a reference frame image list can usually be established, and the reference frame image index information indicates that the current image block adopts the reference frame image in the reference frame image list.
  • an index value can also be used to indicate which reference image list is used. This index value can be referred to as a reference direction.
  • motion-related information such as motion vectors, reference frame indexes, and reference directions can be collectively referred to as motion information.
  • Rate-distortion Optimized There are two major indicators to evaluate coding efficiency: bit rate and PSNR (Peak Signal to Noise Ratio, peak signal to noise ratio). Among them, the smaller the bit stream, the greater the compression ratio, and the larger the PSNR, the better the quality of the reconstructed image. In the mode selection, the discriminant formula is essentially a comprehensive evaluation of the two. For example, the cost corresponding to the pattern:
  • D Distortion (distortion)
  • SSE refers to the mean square sum of the difference between the reconstructed image block and the source image
  • is the Lagrangian multiplier
  • R is the image in this mode
  • SSE refers to the mean square sum of the difference between the reconstructed image block and the source image
  • is the Lagrangian multiplier
  • R is the image in this mode
  • the actual number of bits required for block coding including the total number of bits required for coding mode information, motion information, residuals, etc.
  • Intra prediction means that the reconstructed pixel values of the spatial neighboring image blocks of the current image block (that is, images in the same frame as the current image block) can be used for predictive coding.
  • Inter prediction means that the reconstructed pixel values of the time-domain neighboring image blocks (which are in different frame images from the current image block) of the current image block can be used for predictive coding.
  • CTU Coding Tree Unit
  • a frame of image can be divided into several disjoint CTUs, and each CTU can be further divided into smaller blocks based on actual conditions.
  • FIG. 1 for a schematic diagram of a video encoding framework.
  • the encoding end processing flow of the embodiment of the present application may be implemented using a video encoding framework.
  • the schematic diagram of the video decoding framework is similar to FIG. 1 and will not be repeated here.
  • the video decoding framework may be used to implement the decoding end processing flow of the embodiment of the present application.
  • the video encoding framework and the video decoding framework may include modules such as intra prediction, motion estimation/motion compensation, reference image buffer, in-loop filtering, reconstruction, transform, quantization, inverse transform, inverse quantization, and entropy encoder.
  • modules such as intra prediction, motion estimation/motion compensation, reference image buffer, in-loop filtering, reconstruction, transform, quantization, inverse transform, inverse quantization, and entropy encoder.
  • the encoding end processing flow can be realized.
  • the decoding end through the cooperation between these modules, the decoding end processing flow can be realized.
  • a CTU Coding Tree Unit
  • CU Coding Unit
  • the CU can be further divided into two or four PUs (Prediction Units).
  • Prediction Units Prediction Units
  • the CU can be further divided into multiple TUs (Transform Units, transmission units).
  • VVC Very Video Coding, universal video coding
  • the division structure of binary tree/triple tree/quadtree is mixed, that is, the concept of CU, PU, TU is canceled, and CU
  • the CU can be a square or rectangular division.
  • the CTU first divides the quadtree, and then the leaf nodes of the quadtree divide the binary tree and the trigeminal tree.
  • the CU can have five types of division, which are a quadtree division (Figure 2A-2), a horizontal binary tree division (Figure 2A-3), and a vertical binary tree division ( Figure 2A -4), horizontal trigeminal tree division ( Figure 2A-5) and vertical trigeminal tree division ( Figure 2A-6), etc.
  • the division of the CU in the CTU may be any combination of the above five division types.
  • the motion information of the current image block completely multiplexes the motion information of a neighboring block in the time or space domain, that is, from the motion information set of multiple surrounding image blocks, select one motion information as the current image block Sports information. Therefore, in the Merge mode, only one index value needs to be encoded to indicate which motion information in the motion information set is used by the current image block, thereby saving coding overhead.
  • AMVP Advanced Motion Vector Prediction
  • the AMVP mode is similar to the Merge mode. Both use the spatial and temporal motion information prediction ideas. By building a list of candidate motion information, the most cost-effective selection The best candidate is used as the motion information of the current image block.
  • the main difference between the AMVP mode and the Merge mode is that in the Merge mode, the MV of the current unit is directly predicted by the adjacent prediction unit in the spatial or temporal domain, and there is no motion vector difference (Motion Vector Difference (MVD); AMVP can be seen As an MV prediction technique, the difference between the actual MV and the predicted MV needs to be encoded, so there is MVD. In addition, the MV queue lengths of the two candidates are different, and the way to construct the MV list is also different.
  • MVD Motion Vector Difference
  • the Merge mode can greatly save the coding overhead of motion information, and the AMVP mode can improve the prediction accuracy of motion information, if the current coding unit is not divided, the current coding unit has only one motion information, and the prediction accuracy is not very high.
  • area C, area G, and area H are areas within the current coding unit, and are not divided sub-image blocks. Assuming that the current coding unit uses the motion information of the image block F, each region in the current coding unit uses the motion information of the image block F. Obviously, since the distance between the region H and the image block F in the current coding unit is very long, if the region H also uses the motion information of the image block F, the prediction accuracy of the motion information is not very high.
  • sub-picture block C sub-picture block G, sub-picture block H, and sub-picture block I are sub-picture blocks divided in the current coding unit.
  • additional bits need to be consumed to transmit the division mode, which brings a certain bit overhead.
  • the motion information of some sub-picture blocks in the current coding unit cannot use the coded motion information around the current coding unit, which results in the reduction of the available motion information, and the accuracy of the motion information is not high.
  • the sub-image block I in the current coding unit only the motion information of the sub-image block C, sub-image block G, and sub-image block H can be used, but the image block A, image block B, image block F, and image cannot be used.
  • Motion information of block D and image block E are examples of motion information of block D and image block E.
  • the current image block can correspond to multiple Motion information, thereby improving the prediction accuracy of the motion information of the current image block. Since the current image block is not divided, it is possible to avoid consuming additional bits to transmit the division mode and save this part of bit overhead.
  • the encoded motion information around the current image block provides more motion information for each area and improves the accuracy of the motion information.
  • the current image block in the embodiment of the present application is an arbitrary image unit in the encoding and decoding process, and the encoding and decoding process is performed in units of the current image block.
  • the current image block may be the current coding unit, that is, the CU in the foregoing embodiment, and the current image block will be used as an example later.
  • the current image block includes 9 areas, such as area f1-area f9. These are areas within the current image block, and are not sub-image blocks obtained by dividing the current image block.
  • the current image block can correspond to multiple motion information, for example, the area f1 corresponds to motion information 1, The area f2 corresponds to the motion information 2, and so on.
  • the motion information of the image blocks A1, A2, A3, E, B1, B2, B3 can be used, that is, the motion information of the coded image blocks around the current image block can be used to become the area f5 provides more sports information.
  • the motion information of the image blocks A1, A2, A3, E, B1, B2, B3 can also be used.
  • Embodiment 1 Refer to FIG. 5, which is a schematic flowchart of a method for determining motion information in an embodiment of the present application. The method may be applied to a decoding end. The method may include the following steps:
  • Step 501 Create a motion information prediction mode candidate list for the current image block.
  • the motion information prediction mode candidate list may include at least one motion information prediction mode.
  • the motion information prediction mode may include but is not limited to: a first motion information prediction mode (such as a DC prediction mode) and/or a second motion information prediction mode (such as an angle prediction mode).
  • a first motion information prediction mode such as a DC prediction mode
  • a second motion information prediction mode such as an angle prediction mode
  • the first motion information prediction mode is used to instruct the selection of at least two specified blocks from the surrounding blocks of the current image block as matching blocks, and weighting the motion information of the matching block as the target motion information of the current image block .
  • the second motion information prediction mode is used to indicate a pre-configured angle, and select a matching block from a peripheral block of the current image block for a specified area inside the current image block according to the pre-configured angle, and according to the motion information of the matching block of the specified area Determine the target motion information of the specified area.
  • the matching block is a block or multiple blocks determined from the peripheral blocks according to the pre-configured angle and the position of the specified area.
  • the matching block may be the block pointed to by the pre-configured angle; or, when the pre-configured angle points to the middle of two blocks, the matching block may be one of the blocks, or the two Blocks can also be these two blocks and the blocks around these two blocks.
  • the peripheral blocks include blocks adjacent to the current image block; or, the peripheral blocks include blocks adjacent to the current image block and non-adjacent blocks.
  • the surrounding blocks may also include other blocks, for example, when the current image block is a boundary block, the configuration block filled for the missing surrounding blocks of the current image block is not limited.
  • Step 502 Select the target motion information prediction mode of the current image block from the motion information prediction mode candidate list.
  • Step 503 Determine the target motion information of the current image block according to the target motion information prediction mode.
  • the matching block corresponding to the current image block may be determined according to the target motion information prediction mode, and the target motion information of the current image block may be determined according to the available motion information of the matching block.
  • determining the matching block corresponding to the current image block according to the target motion information prediction mode may include: if the target motion information prediction mode is the first motion information prediction mode, then from the current image according to the first motion information prediction mode At least two blocks among the surrounding blocks of the block are selected as matching blocks of the current image block. In this manner of motion information prediction mode, it is possible to determine motion information that can be shared for the current image block, and these motion information are existing motion information of surrounding blocks.
  • the target motion information prediction mode is the second motion information prediction mode
  • a block or Multiple blocks serve as matching blocks in the specified area.
  • different motion information can be configured for different regions of the current image block, and the motion information is existing motion information of surrounding blocks.
  • the matching block corresponding to the current image block is an intra block
  • the matching block corresponding to the current image block is an intra block
  • the surrounding blocks are inter-frames Block, the weighted calculation of the motion information of the inter block and the motion information of at least one block around the inter block to obtain the adjusted motion information of the inter block; (2) if the surrounding block is an uncoded block , Determine at least one spatial domain available motion information and/or temporal domain available motion information of the uncoded block as the motion information of the uncoded block; or, determine at least two spatial domain available motion information of the uncoded block and /Or the time domain can use motion information to perform weighted calculation to obtain the motion information of the uncoded block; or, generate motion information containing zero motion vectors for the uncoded block; (3) If the surrounding block is an intra block, Then determine the motion information of the intra block according to the motion information of the inter blocks around the intra block (such as adjacent inter blocks, or non-adja
  • the target motion information of the current image block is determined according to the available motion information of the matching block, which may include but is not limited to: if the number of matching blocks is one, the available motion information of one matching block is determined as the current motion of the current image block Target motion information; or, if the number of matching blocks is one, transform the available motion information of a matching block, and determine the transformed motion information as the target motion information of the current image block; or, if the number of matching blocks If there are at least two, one matching block is selected from at least two matching blocks, and the available motion information of the selected matching block is determined as the target motion information of the current image block; or, if the number of matching blocks is at least two, Then select one matching block from at least two matching blocks, transform the available motion information of the selected matching block, and determine the transformed motion information as the target motion information of the current image block; or, if the number of matching blocks is At least two, weighting the available motion information of at least two matching blocks, and determining the weighted motion information as the target motion information
  • transforming the available motion information of the matching block may include, but is not limited to: scaling the available motion information of the matching block in a specified direction to obtain the transformed motion information.
  • selecting the target motion information prediction mode of the current image block from the motion information prediction mode candidate list may include: receiving an encoded bit stream from the encoding end, the encoded bit stream carries first indication information, and the first indication information is used Index information indicating the target motion information prediction mode; based on the first indication information, the motion information prediction mode corresponding to the index information is selected from the motion information prediction mode candidate list as the target motion information prediction mode of the current image block.
  • the encoded bit stream from the encoding end may also be received, and the encoded bit stream may carry second indication information that is used to indicate pre-configured motion information; based on the second indication information, based on the current image
  • the pre-configured motion information of the block determines the target motion information of the current image block; or, it may receive an encoded bit stream from the encoding end, and the encoded bit stream may carry third indication information, which is used to indicate the pre-configured difference information ,
  • the pre-configured difference information is used to indicate the motion vector difference; based on the third indication information, the target motion information of the current image block is determined according to the pre-configured difference information of the current image block.
  • the target motion information prediction mode of the current image block can be determined, and the target motion information of the current image block can be determined according to the target motion information prediction mode, without dividing the current image block, which is effective Solve the bit overhead caused by sub-block division.
  • motion information is provided for each designated area of the current image block, and different designated areas of the current image block may correspond to the same or different motion information, thereby bringing coding performance Improvement. In this way, the problem of transmitting a large number of motion vectors is effectively solved, and a large number of bits can be saved.
  • Embodiment 2 Refer to FIG. 6, which is a schematic flowchart of a method for determining motion information in an embodiment of the present application. The method may be applied to an encoding end. The method may include the following steps:
  • Step 601 Create a motion information prediction mode candidate list for the current image block.
  • the motion information prediction mode candidate list may include at least one motion information prediction mode.
  • the motion information prediction mode may include but is not limited to: a first motion information prediction mode (such as a DC prediction mode) and/or a second motion information prediction mode (such as an angle prediction mode).
  • a first motion information prediction mode such as a DC prediction mode
  • a second motion information prediction mode such as an angle prediction mode
  • the first motion information prediction mode is used to instruct the selection of at least two specified blocks from the surrounding blocks of the current image block as matching blocks, and weighting the motion information of the matching block as the target motion information of the current image block .
  • the second motion information prediction mode is used to indicate a pre-configured angle, and select a matching block from a peripheral block of the current image block for a specified area inside the current image block according to the pre-configured angle, and according to the motion information of the matching block of the specified area Determine the target motion information of the specified area.
  • the matching block of the specified area is one or more blocks determined from the peripheral blocks according to a pre-configured angle and the position of the specified area.
  • the matching block may be the block pointed to by the pre-configured angle; or, when the pre-configured angle points to the middle of two blocks, the matching block may be one of the blocks, or the two Blocks can also be these two blocks and the blocks around these two blocks.
  • the peripheral blocks include blocks adjacent to the current image block; or, the peripheral blocks include blocks adjacent to the current image block and non-adjacent blocks.
  • the surrounding blocks may also include other blocks, for example, when the current image block is a boundary block, the configuration block filled for the missing surrounding blocks of the current image block is not limited.
  • Step 602 Select the target motion information prediction mode of the current image block from the motion information prediction mode candidate list.
  • a matching block corresponding to the current image block is determined from peripheral blocks of the current image block according to the motion information prediction mode, and the match is acquired
  • the available motion information of the block determines the rate-distortion cost corresponding to the motion information prediction mode at least according to the available motion information of the matching block.
  • the target motion information prediction mode of the current image block may be selected from the motion information prediction mode candidate list according to the rate-distortion cost corresponding to each motion information prediction mode in the motion information prediction mode candidate list.
  • the matching block corresponding to the current image block is determined according to the motion information prediction mode, which may include, but is not limited to: if the motion information prediction mode is the first motion information prediction mode, then from the current image according to the first motion information prediction mode At least two blocks among the surrounding blocks of the block are selected as matching blocks of the current image block. Or, if the motion information prediction mode is the second motion information prediction mode, one of the surrounding blocks of the current image block is determined according to the position of the designated area inside the current image block and the pre-configured angle indicated by the second motion information prediction mode A block or multiple blocks are used as matching blocks in the specified area.
  • the motion information prediction mode may include, but is not limited to: if the motion information prediction mode is the first motion information prediction mode, then from the current image according to the first motion information prediction mode At least two blocks among the surrounding blocks of the block are selected as matching blocks of the current image block. Or, if the motion information prediction mode is the second motion information prediction mode, one of the surrounding blocks of the current image block is determined according to the position of the designated
  • the matching block corresponding to the current image block may also: according to the periphery of the intra block
  • the motion information of the inter blocks (such as adjacent inter blocks or non-adjacent inter blocks) to generate the motion information of the intra block; or, a block containing zeros can be generated for the intra block Motion information of the motion vector; or, generating motion information for the intra block according to the motion information available in the time domain.
  • the available motion information of the peripheral block is acquired: (1) If the peripheral block is an inter block, the The motion information of the inter block and the motion information of at least one block around the inter block are weighted to obtain the adjusted motion information of the inter block; (2) If the surrounding block is an uncoded block, the At least one spatial domain available motion information and/or temporal domain available motion information of the encoded block is determined as the motion information of the uncoded block; or, at least two spatial domain available motion information and/or time domain of the uncoded block are available Perform weighted calculation on the motion information to obtain the motion information of the uncoded block; or, generate motion information containing zero motion vectors for the uncoded block; (3) If the surrounding block is an intra block, then according to the frame Motion information of inter blocks around the inner block (such as adjacent inter blocks or non-adjacent inter blocks) to determine the motion information of the intra block; or, generate one for the intra block Motion information containing
  • selecting the motion information prediction mode from the motion information prediction mode candidate list may include but is not limited to: based on each motion information The rate-distortion cost corresponding to the prediction mode, and the motion information prediction mode with the lowest rate-distortion cost is selected from the motion information prediction mode candidate list.
  • the first rate distortion cost corresponding to the target motion information prediction mode can also be obtained, and corresponding to the pre-configured motion information or pre-configured difference information of the current image block
  • the second rate distortion cost the difference information is used to indicate the motion vector difference. If the first rate-distortion cost is less than the second rate-distortion cost, an encoded bit stream carrying first indication information may be sent to the decoding end, where the first indication information is used to indicate the index information of the target motion information prediction mode.
  • the first rate-distortion cost is greater than the second rate-distortion cost, it may: send the encoded bitstream carrying the second indication information to the decoding end, where the second indication information is used to indicate pre-configured motion information; or, send the carrying bit to the decoding end An encoded bit stream of third indication information, where the third indication information is used to indicate pre-configured difference information.
  • the target motion information prediction mode of the current image block can be determined, and the target motion information of the current image block can be determined according to the target motion information prediction mode, without dividing the current image block, which is effective Solve the bit overhead caused by sub-block division.
  • motion information is provided for each designated area of the current image block, and different designated areas of the current image block may correspond to the same or different motion information, thereby bringing coding performance Improvement. In this way, the problem of transmitting a large number of motion vectors is effectively solved, and a large number of bits can be saved.
  • Embodiment 3 Refer to FIG. 7, which is a schematic flowchart of a method for determining motion information. The method includes:
  • Step 701 The encoding end creates a candidate list of motion information prediction modes of the current image block.
  • the motion information prediction mode candidate list may include at least one motion information prediction mode.
  • Step 702 The decoding end creates a candidate list of motion information prediction modes of the current image block.
  • the motion information prediction mode candidate list may include at least one motion information prediction mode.
  • the motion information prediction mode candidate list at the encoding end is the same as the motion information prediction mode candidate list at the decoding end, that is, the order of the motion information prediction modes of the two is completely the same.
  • Step 703 The encoding end selects the target motion information prediction mode of the current image block from the motion information prediction mode candidate list.
  • Step 704 The encoding end sends an encoded bit stream to the decoding end, where the encoded bit stream is used to carry first indication information, and the first indication information is used to indicate index information of the target motion information prediction mode.
  • Step 705 The decoding end receives an encoded bit stream from the encoding end, where the encoded bit stream carries first indication information, and the first indication information is used to indicate index information of a target motion information prediction mode.
  • Step 706 The decoding end selects the motion information prediction mode corresponding to the index information from the motion information prediction mode candidate list (that is, the motion information prediction mode candidate list acquired in step 702) as the target motion information prediction mode of the current image block .
  • the decoding end determines the target motion information of the current image block according to the target motion information prediction mode.
  • the matching block corresponding to the current image block may be determined according to the target motion information prediction mode, and the target motion information of the current image block may be determined according to the available motion information of the matching block.
  • the target motion information prediction mode of the current image block can be determined, and the target motion information of the current image block can be determined according to the target motion information prediction mode, without dividing the current image block, which is effective Solve the bit overhead caused by sub-block division.
  • motion information is provided for each designated area of the current image block, and different designated areas of the current image block may correspond to the same or different motion information, thereby bringing coding performance Improvement. In this way, the problem of transmitting a large number of motion vectors is effectively solved, and a large number of bits can be saved.
  • Embodiment 4 In the above embodiment, it involves creating a motion information prediction mode candidate list of the current image block, that is, both the encoding side and the decoding side need to create a motion information prediction mode candidate list of the current image block.
  • the candidate list of motion information prediction modes at the encoder and the candidate list of motion information prediction modes at the decoder are the same according to the protocol.
  • the encoding end and the decoding end may adopt the same strategy to create the same motion information prediction mode candidate list.
  • the above methods are just a few examples, and there is no limitation on the creation method, as long as the encoding end and the decoding end have the same motion information prediction mode candidate list.
  • a motion information prediction mode candidate list can be created for the current image block, that is, all regions in the current image block correspond to the same motion information prediction mode candidate list; or, multiple motion information prediction mode candidates can be created for the current image block List.
  • different current image blocks may correspond to the same or different motion information prediction mode candidate lists.
  • a motion information prediction mode candidate list is created for each current image block.
  • the motion information prediction mode candidate list 1 can be created for the current image block A
  • the motion information prediction mode candidate list 2 can be created for the current image block B, and so on.
  • the motion information prediction mode candidate list may include at least one motion information prediction mode, and the motion information prediction mode may include but is not limited to: a first motion information prediction mode (such as a DC prediction mode) and/or a second motion information Prediction mode (such as angle prediction mode).
  • the first motion information prediction mode is a DC prediction mode used to predict the motion information of the current image block
  • the second motion information prediction mode is an angle prediction mode used to predict the motion information of the current image block. Instructions.
  • the first motion information prediction mode may also be other types of prediction modes
  • the second motion information prediction mode may also be other types of prediction modes, which is not limited.
  • the motion information prediction mode candidate list may include DC prediction mode 1, DC prediction mode 2, and DC prediction mode 3.
  • the motion information prediction mode candidate list may include angle prediction mode 1, angle prediction mode 2, and angle prediction mode 3.
  • the motion information prediction mode candidate list may include DC prediction mode 2, angle prediction mode 2, and angle prediction mode 3.
  • the following uses DC prediction mode 2, angle prediction mode 2, and angle prediction mode 3 as examples for description.
  • the surrounding blocks of the current image block may include, but are not limited to: blocks adjacent to the current image block, or blocks adjacent to the current image block and non-adjacent blocks. Of course, the surrounding blocks may also include other blocks, and there are no restrictions on the surrounding blocks.
  • the peripheral blocks of the current image block may include the adjacent image block at the upper left of the current image block (ie, image block E); in the upper peripheral area of the current image block, traverse from the image block E to the right N1 adjacent image blocks, such as image blocks B1, B2, B3, D1, and so on, have been traversing N1 image blocks; in the peripheral area on the left side of the current image block, N2 traversing from image block E down Adjacent image blocks, such as image blocks A1, A2, A3, C1, and so on, have been traversing N2 image blocks.
  • the peripheral blocks of the current image block may include, but are not limited to, blocks adjacent to the current image block, blocks that are not adjacent to the current image block, or even image blocks in other adjacent frames, which is not done for this limit.
  • the image blocks passing through the dotted lines may all be peripheral blocks of the current image block, which is not limited.
  • the image block that has not passed through the dotted line may also be a peripheral block of the current image block, which is not limited.
  • DC prediction mode 1 is used to instruct the selection of the specified image blocks A1 and B2 from the surrounding blocks of the current image block as matching blocks, and perform weighted calculation on the motion information of the image blocks A1 and B2, and then use the calculation result as the current The target motion information of the image block.
  • DC prediction mode 2 is used to instruct the selected image blocks A2 and B2 to be selected as matching blocks from the peripheral blocks of the current image block, and perform weighted calculation on the motion information of the image blocks A2 and B2, and then use the calculation result as The target motion information of the current image block, and so on.
  • the DC prediction mode 1 is used to indicate the position indexes of the image blocks A1 and B2, so that the image blocks A1 and B2 can be used as the matching blocks of the current image block.
  • DC prediction mode 2 is used to indicate the position indexes of image blocks A2 and B2, so that image blocks A2 and B2 can be used as matching blocks of the current image block, and so on.
  • the weighted calculation of the motion information of the image blocks A1 and B2 includes: averaging the motion vectors of the image blocks A1 and B2; or, setting the weighting factor 1 for the motion vectors of the image block A1 and the motion of the image block B2
  • the vector sets the weighting factor 2, and uses the motion vector and weighting factor 1 of the image block A1 and the motion vector and weighting factor 2 of the image block B2 to perform weighted calculation.
  • Each angle prediction mode in the motion information prediction mode candidate list indicates a pre-configured angle, and instructs to select a matching block from a peripheral block of the current image block for a specified area inside the current image block according to the pre-configured angle, and according to the matching
  • the motion information of the block determines the target motion information of the specified area.
  • the matching block may be a block or multiple blocks determined from the peripheral blocks according to the pre-configured angle. For example, when the pre-configured angle points to a block, the matching block may be an angle-pointed block; or, when the pre-configured angle points to the middle of two blocks, the matching block may be one of the blocks, or two blocks, or There are two blocks and surrounding blocks, so there is no restriction on this.
  • the peripheral blocks of the current image block may include, but are not limited to: blocks adjacent to the current image block, or blocks adjacent to the current image block and non-adjacent blocks.
  • the surrounding blocks may also include other blocks, and there are no restrictions on the surrounding blocks.
  • the angle prediction mode 1 is used to indicate that the pre-configured angle is 90 degrees, and the matching block is selected from the peripheral blocks of the current image block for the specified area according to the pre-configured angle of 90 degrees, as shown in FIG. 8B:
  • the matching block of the specified area f1 is Image block B1, and the target motion information of the specified area f1 is determined according to the motion information of the image block B1;
  • the matching block of the specified area f2 is the image block B2, and the target motion information of the specified area f2 is determined according to the motion information of the image block B2;
  • the matching block of the area f3 is the image block B3, and the target motion information of the specified area f3 is determined according to the motion information of the image block B3, and so on.
  • the angle prediction mode 2 is used to indicate that the pre-configured angle is 180 degrees, and the matching block is selected from the peripheral blocks of the current image block for the specified area according to the pre-configured angle of 180 degrees, as shown in FIG. 8C: the matching block of the specified area f1 It is the image block A1, and the target motion information of the specified area f1 is determined according to the motion information of the image block A1; the matching block of the specified area f2 is the image block A1, and the target motion information of the specified area f2 is determined according to the motion information of the image block A1; The matching block of the specified area f3 is the image block A1, and the target motion information of the specified area f3 is determined according to the motion information of the image block A1, and so on.
  • the angle prediction mode 3 is used to indicate that the pre-configured angle is 45 degrees
  • the matching block is selected from the peripheral blocks of the current image block for the specified area according to the pre-configured angle of 45 degrees, as shown in FIG. 8D: the matching block of the specified area f5 It is the image blocks B3 and D1, and the target motion information of the specified area f5 can be determined according to the motion information of the image blocks B3 and D1.
  • the specific method refer to the subsequent embodiments.
  • pre-configured angles can be any angle between 0-360 degrees.
  • the pre-configured angle may be a fractional angle, such as 22.5 degrees, etc., which is not limited.
  • the DC prediction mode in the embodiment of the present application may be a DC prediction mode for predicting motion information, that is, it is used in an inter-coding process, not applied in an intra-coding process. Moreover, the DC prediction mode selects the matching block, not the matching pixel.
  • the angle prediction mode may be an angle prediction mode that predicts motion information, that is, it is used in the inter-coding process, not in the intra-coding process. Moreover, the angle prediction mode selects the matching block, not the matching pixel.
  • both the encoding end and the decoding end can create a motion information prediction mode candidate list.
  • the following uses DC prediction mode 2, angle prediction mode 2, and angle prediction mode 3 as examples.
  • Embodiment 5 In the above embodiment, the encoding end selects the target motion information prediction mode of the current image block from the motion information prediction mode candidate list. The following describes this process, which may include the following steps:
  • Step a1 For each motion information prediction mode in the motion information prediction mode candidate list, determine the matching block corresponding to the current image block according to the motion information prediction mode.
  • the step a1 may include, but is not limited to: if the motion information prediction mode is a DC prediction mode (first motion information prediction mode), select at least two of the peripheral blocks of the current image block according to the DC prediction mode Each block serves as the matching block of the current image block. If the motion information prediction mode is an angle prediction mode (second motion information prediction mode), one of the surrounding blocks of the current image block is determined according to the position of the designated area inside the current image block and the pre-configured angle indicated by the angle prediction mode A block or multiple blocks are used as matching blocks in the specified area.
  • the motion information prediction mode candidate list may include DC prediction mode 2, angle prediction mode 2, and angle prediction mode 3.
  • the DC prediction mode 2 indicates the position indexes of the image blocks A2 and B2, and therefore, the specified image blocks A2 and B2 can be selected as matching blocks from the peripheral blocks of the current image block.
  • the angle prediction mode 2 indicates that the pre-configured angle is 180 degrees, so the matching block of the designated area f1 is the image block A1, the matching block of the designated area f2 is the image block A1, and the matching block of the designated area f3 is the image block A1.
  • the angle prediction mode 3 indicates that the pre-configured angle is 45 degrees, so the matching blocks of the designated area f5 are the image blocks B3 and D1.
  • the above is just taking several designated areas as examples, and other designated areas may also be used, which is not limited.
  • Step a2 Determine the rate-distortion cost corresponding to the motion information prediction mode according to the motion information of the matching block.
  • the encoding end may determine the rate-distortion cost of DC prediction mode 2 according to the motion information of image blocks A2 and B2. In addition, the encoding end may determine the rate-distortion cost of the angle prediction mode 2 according to the motion information of the image block A1. In addition, the encoding end can determine the rate-distortion cost of the angle prediction mode 3 according to the motion information of the image blocks B3 and D1.
  • the rate-distortion principle can be used to determine the rate-distortion cost of DC prediction mode 2 based on the motion information of image blocks A2 and B2.
  • the rate-distortion cost can be determined by the following formula:
  • D Distortion (distortion)
  • SSE refers to the mean square sum of the difference between the reconstructed image block and the source image
  • is the Lagrangian multiplier
  • R is the image in this mode
  • the actual number of bits required for block coding including the total number of bits required for coding mode information, motion information, residuals, etc.
  • rate-distortion cost There is no restriction on the method of determining the rate-distortion cost.
  • the rate-distortion cost of angle prediction mode 2 and the rate-distortion cost of angle prediction mode 3 can also be determined.
  • Step a3 Select the target motion information prediction mode of the current image block from the motion information prediction mode candidate list according to the rate-distortion cost corresponding to each motion information prediction mode candidate list in the motion information prediction mode candidate list.
  • the motion information prediction mode with the lowest rate-distortion cost may be selected from the motion information prediction mode candidate list.
  • the above method is only an example, and there is no restriction on the selection method of the motion information prediction mode.
  • DC prediction mode 2 is selected as the target motion information prediction mode.
  • Embodiment 6 In the above embodiment, it involves the decoding end to select the target motion information prediction mode of the current image block from the motion information prediction mode candidate list. The following describes this process, which may include the following steps:
  • Step b1 The encoding end sends an encoded bit stream to the decoding end, where the encoded bit stream is used to carry first indication information, and the first indication information is used to indicate the index information of the target motion information prediction mode.
  • the encoder determines the selected motion information prediction mode as the target motion information prediction mode of the current image block, it can determine the index information of the target motion information prediction mode in the motion information prediction mode candidate list. For example, if the target motion information prediction mode is For the second motion information prediction mode in the motion information prediction mode candidate list, the index information of the target motion information prediction mode may be 10, indicating 2.
  • Step b2 The decoding end receives the encoded bit stream from the encoding end, where the encoded bit stream carries first indication information, and the first indication information is used to indicate the index information of the target motion information prediction mode.
  • Step b3 The decoding end selects the motion information prediction mode corresponding to the index information from the motion information prediction mode candidate list as the target motion information prediction mode of the current image block. For example, when the first indication information indicates that the index information of the target motion information prediction mode is 2, the decoding end may determine the second motion information prediction mode in the motion information prediction mode candidate list as the target motion information of the current image block Forecast mode.
  • the encoding end and the decoding end can fix a motion information prediction mode, so that the decoding end can directly determine the target motion information prediction mode without any syntax analysis.
  • a flag may be first encoded to determine whether to adopt the motion information prediction mode to determine target motion information.
  • the encoding end may fix a motion information prediction mode. In this way, the encoder does not need any bit overhead, and the decoder does not need to perform any syntax analysis, and can directly determine the target motion information prediction mode.
  • Embodiment 7 In the foregoing embodiment, the decoding end determines the target motion information of the current image block according to the target motion information prediction mode.
  • the process may include:
  • Step c1 Determine the matching block corresponding to the current image block according to the target motion information prediction mode.
  • the step c1 may include: if the target motion information prediction mode is a DC prediction mode, at least two blocks may be selected from the peripheral blocks of the current image block as matching blocks of the current image block according to the DC prediction mode. If the target motion information prediction mode is an angle prediction mode, one or more blocks can be determined from the surrounding blocks of the current image block according to the position of the specified area inside the current image block and the pre-configured angle indicated by the angle prediction mode. The matching block of the specified area is described.
  • the target motion information prediction mode is DC prediction mode 2
  • DC prediction mode 2 indicates the position index of image blocks A2 and B2
  • the specified image blocks A2 and B2 are selected as matching blocks from the peripheral blocks of the current image block.
  • the target motion information prediction mode is angle prediction mode 2
  • the angle prediction mode 2 indicates that the pre-configured angle is 180 degrees
  • the matching block of the specified area f1 is the image block A1
  • the matching block of the specified area f2 is the image block A1. analogy.
  • Step c2 Determine the target motion information of the current image block according to the motion information of the matching block.
  • determining the target motion information of the current image block according to the motion information of the matching block may include:
  • the motion information of one matching block can be determined as the target motion information of the current image block.
  • the motion information of the image block A1 may be determined as the target motion information of the current image block, which will not be repeated here.
  • the motion information of one matching block can be transformed, and the motion information obtained after the transformation can be determined as the target motion information of the current image block.
  • the matching block is the image block A1
  • the motion information of the image block A1 may be transformed, and the motion information obtained by the transformation may be determined as the target motion information of the current image block.
  • Manner 3 If the number of matching blocks is at least two, one matching block can be selected from the at least two matching blocks, and the motion information of the selected matching block can be determined as the target motion information of the current image block. For example, if the image blocks A2 and B2 are used as matching blocks, one image block A2 is selected from the image blocks A2 and B2, and the motion information of the image block A2 is determined as the target motion information of the current image block.
  • Method 4 If the number of matching blocks is at least two, you can select one matching block from at least two matching blocks, transform the motion information of the selected matching block, and determine the motion information obtained after the transformation as the current image Block target motion information. For example, if image blocks A2 and B2 are used as matching blocks, then image block A2 is selected from image blocks A2 and B2, the motion information of image block A2 is transformed, and the motion information obtained by the transformation is determined as the target of the current image block Sports information.
  • the motion information of the at least two matching blocks may be weighted, and the motion information after the weighting operation may be determined as the target motion information of the current image block.
  • the motion information of the image blocks A2 and B2 can be weighted.
  • the specific weighting operation method is not limited, and the motion information obtained after the weighted operation is determined as the current image block Target sports information.
  • the motion information of at least two matching blocks can be transformed, and then the motion information obtained by the transformation can be weighted, and the motion information obtained by the weighted operation can be determined as The target motion information of the current image block.
  • the motion information of image block A2 can be transformed to obtain motion information 1
  • the motion information of image block B2 can be transformed to obtain motion information 2
  • the motion information 1 Perform weighting operation with motion information 2
  • the specific weighting operation method is not limited, and the motion information obtained after the weighting operation can be determined as the target motion information of the current image block.
  • transforming the motion information of the matching block may include, but is not limited to: scaling the motion information of the matching block in a specified direction.
  • the telescopic transformation is only one transformation method, and other transformation methods can also be used, which is not limited.
  • the specified direction may be the motion direction of the motion vector of the current image block, or the motion direction of the motion vector of the matching block. Of course, it may also be other directions, which is not limited. Among them, the manner of performing the scaling transformation on the motion information can be implemented in a traditional manner, and will not be repeated here.
  • Embodiment 8 In addition to obtaining the target motion information in the above manner, the motion information of the current image block can also be obtained in a conventional manner.
  • the motion information obtained in the traditional manner may be referred to as pre-configured motion information.
  • the method of the embodiment of the present application may further include:
  • the encoder After the encoder determines the target motion information prediction mode of the current image block, it can obtain the first rate distortion cost corresponding to the target motion information prediction mode.
  • the rate distortion principle is used to determine the first rate distortion cost corresponding to the target motion information prediction mode and obtain The second rate distortion cost corresponding to the pre-configured motion information of the current image block, for example, the rate distortion principle is used to determine the second rate distortion cost corresponding to the pre-configured motion information.
  • the encoding end may send an encoded bitstream carrying first indication information to the decoding end, where the first indication information is used to indicate target motion information prediction For the index information of the mode, refer to the first indication information in Embodiment 6. If the first rate-distortion cost is greater than the second rate-distortion cost, the encoding end may send an encoded bit stream carrying second indication information to the decoding end, where the second indication information is used to indicate pre-configured motion information.
  • the decoding end receives the encoded bit stream from the encoding end. If the encoded bit stream carries the first indication information, the first indication information indicates the index information of the target motion information prediction mode. Therefore, based on the first indication information, the decoding end predicts from the motion information
  • the motion information prediction mode corresponding to the index information is selected from the mode candidate list as the target motion information prediction mode of the current image block.
  • the decoding end may determine the target of the current image block according to the pre-configured motion information of the current image block Sports information.
  • the pre-configured motion information of the current image block may be determined as the target motion information of the current image block, and there is no limitation on this determination method.
  • the encoding end may obtain the first rate-distortion cost corresponding to the target motion information prediction mode, such as using the rate-distortion principle to determine the first rate-distortion cost corresponding to the target motion information prediction mode Rate distortion cost, and obtain the second rate distortion cost corresponding to the pre-configured difference information of the current image block, for example, the rate distortion principle is used to determine the second rate distortion cost corresponding to the pre-configured difference information.
  • the encoding end may send an encoded bitstream carrying first indication information to the decoding end, where the first indication information is used to indicate the index information of the target motion information prediction mode, See the first indication information of Embodiment 6. If the first rate-distortion cost is greater than the second rate-distortion cost, the encoding end may send an encoded bit stream carrying third indication information to the decoding end.
  • the third indication information is used to indicate pre-configured difference information.
  • the configuration difference information is used to indicate the motion vector difference value.
  • the decoding end receives the encoded bit stream from the encoding end. If the encoded bit stream carries the first indication information, the first indication information indicates the index information of the target motion information prediction mode. Therefore, based on the first indication information, the decoding end predicts from the motion information
  • the motion information prediction mode corresponding to the index information is selected from the mode candidate list as the target motion information prediction mode of the current image block.
  • the third indication information indicates pre-configured difference information
  • the pre-configured difference information is used to indicate the motion vector difference value. Therefore, based on the third indication information, the decoding end according to the current
  • the pre-configured difference information of the image block determines the target motion information of the current image block. For example, the target motion information of the current image block is determined according to the pre-configured difference information of the current image block and certain specified motion information, for example, if the sum of the pre-configured difference information and the specified motion information is determined as the target motion information, this is determined There are no restrictions.
  • the index information in the encoded bit stream may be index information encoded via a unary truncation code, or index information encoded via a fixed-length encoding method.
  • index information encoded via a fixed-length encoding method may be used to encode the index information, and there is no restriction on this encoding method.
  • the unary truncation code can be used to encode the index information of the target motion information prediction mode.
  • the motion information prediction mode candidate list includes five motion information prediction modes, which are the motion information prediction modes ⁇ 0,1,2,3,4 ⁇ . Assuming that the target motion information prediction mode is motion information prediction mode 3, that is, the index information of the target motion information prediction mode is 4, the encoder can encode the index information into 0001, so that the decoder needs to decode to 1, which is the fourth The value is 1, so the decoder learns that the index information of the target motion information prediction mode is 4.
  • the index information of the target motion information prediction mode can be encoded using a fixed-length encoding method.
  • the motion information prediction mode candidate list includes 5 motion information prediction modes, which are motion information prediction modes ⁇ 0,1,2,3,4 ⁇ , and a total of 3 bits are required for encoding.
  • 000 can be used to represent the first motion information prediction mode, namely motion information prediction mode 0,
  • 001 can be used to represent the second motion information prediction mode, namely motion information prediction mode 1, and so on.
  • the motion information prediction mode candidate list contains at least one of the DC prediction mode and the angle prediction mode.
  • the angle in the angle prediction mode may be any angle, such as 22.5 degrees, and the DC prediction mode includes weighting of motion information of at least two matching blocks.
  • the image blocks C1-C4 and D1-D4 are not coded, but can be filled with the motion information of the coded blocks in the time domain or the space domain, or can be determined by Fill in the processed motion information. Therefore, the image blocks C1-C4 and D1-D4 may also be used as matching blocks.
  • the meaning of padding is to determine at least one spatial domain available motion information and/or time domain available motion information as the motion information of the uncoded block; or, to determine at least two spatial domain available motion information of the uncoded block and /Or time domain may use motion information to perform weighted calculation to obtain motion information of the uncoded block.
  • the motion information prediction mode candidate list that is, the order of addition shown in FIG. 9B.
  • the motion information prediction mode 1, motion information prediction mode 2, and motion information prediction mode 4 may be added to the motion information prediction mode candidate list in order.
  • motion information prediction mode 0, motion information prediction mode 2 and motion information prediction mode 3 may be added to the motion information prediction mode candidate list in order.
  • the motion information prediction mode at any angle may not be added to the motion information prediction mode candidate list.
  • the motion information prediction mode selects the angle prediction mode, and the motion information of the surrounding 4x4 blocks pointed to is used as the motion information of the 4x4 blocks inside the current image block according to the selected angle, and all 4x4 blocks inside the current image block It is the same operation.
  • the motion information of surrounding blocks may or may not be processed. If the motion information of the surrounding blocks is not processed, the foregoing embodiments 4, 5, and 9 are used, and if the motion information of the surrounding blocks is processed, the subsequent embodiment 10 may be used.
  • Embodiment 10 In the above embodiment, the motion information of the matching block needs to be used for related processing. In this way, how to use the motion information of the matching block when there is motion information in the matching block, and how to determine the motion information of the matching block when there is no motion information in the matching block, this embodiment also provides the following ways:
  • the matching block corresponding to the current image block is an intra block
  • this intra block since this intra block does not have motion information, it can be based on the inter blocks around the intra block (such as adjacent inter blocks, Or, the motion information of non-adjacent inter-blocks) generates motion information of the intra block; or, generates motion information containing zero motion vectors for the intra block; or, according to the time domain available motion information is The intra block generates motion information.
  • the available motion information of the peripheral blocks can be obtained by performing at least one of the following processing on any peripheral block: (1) If the peripheral block is an inter block, the motion information of the inter block and the inter frame The motion information of at least one block around the block is weighted to obtain the adjusted motion information of the inter-frame; (2) if the surrounding block is an uncoded block, at least one spatial domain of the uncoded block can be used with motion information and/or time domain The available motion information is determined to be the motion information of the uncoded block; or, the motion information of the at least two spatial domains and/or the time domain available motion information of the uncoded block is weighted to obtain the motion information of the uncoded block; or, Generate motion information containing zero motion vectors for the uncoded block; (3) if the surrounding block is an intra block, according to the inter blocks around the intra block (such as adjacent inter blocks, or The motion information of the intra block; or, generate motion information containing zero motion vectors for the intra block; or, based on the time domain available motion
  • the motion information of the inter block may be filtered, and the filtered motion information is used as the motion information of the matching block.
  • the motion information of the inter block and the motion information of at least one block around the inter block may be weighted to obtain the adjusted motion information of the inter block as the motion information of the matching block.
  • the motion information of the uncoded blocks can be filled.
  • the motion information in the time or space domain can be directly filled, or the motion information obtained by performing a certain transformation on the motion information in the time or space domain; or,
  • the motion information in the time or space domain may be directly filled, or the motion information obtained by performing certain transformation on the motion information in the time or space domain.
  • At least one spatial domain available motion information and/or temporal domain available motion information of the uncoded block may be determined as the motion information of the uncoded block; or, at least two spatial domain available motion information of the uncoded block and/or In the time domain, motion information can be used for weighted calculation to obtain motion information of uncoded blocks.
  • the motion information of other inter blocks may be used for padding, or zero motion vectors, or other motion information.
  • the motion information of the intra block can be determined according to the motion information of inter blocks (such as adjacent inter blocks, or non-adjacent inter blocks) around the intra block; or, it is a frame
  • the inner block generates a motion information containing zero motion vectors.
  • the configuration block (that is, any preset available block) can be determined as the peripheral block of the current image block, and the motion information of the configuration block can be generated according to the available motion information in the air domain.
  • 4x4 blocks of motion information are filled from the lower left to the upper right, where the lower left length is the width of the current image block and the upper right length is the height of the current image block.
  • a peripheral block such as a 4x4 block
  • intra coding it can be filled with the motion information of the nearest 4x4 inter block next to it. If the distance between the two adjacent inter blocks is equal to the padding block, then Select the upper square or the right block.
  • the closest inter blocks to the intra blocks are A1 and A5.
  • the motion information of the inter block A1 can be selected to fill the intra block A2, A3 and A4.
  • the closest inter block to this intra block A4 is A5, and the motion information of the inter block A5 can be selected to fill this intra block A4.
  • the inter blocks closest to the intra block are B1 and B5, and the motion information of the inter block B1 can be selected to fill the intra blocks B2, B3, and B4, respectively.
  • the closest inter-block is B5, and the motion information of the inter-block B5 can be selected to fill this intra-block B4.
  • the motion information is filtered, and the motion information of the surrounding blocks is weighted.
  • each inter-block motion information such as inter-block A4 motion information
  • it can be obtained by weighting at least one surrounding inter-block motion information and inter-block A4 motion information.
  • it can be obtained by weighting the motion information of the inter block A4 and the motion information of the inter block A5
  • the information is obtained by weighting the motion information of the inter blocks A5 and A3, or may be obtained by weighting the motion information of the inter blocks A2, A3, A5 and A6 and the motion information of the inter block A4.
  • A3 is an intra block, and the available motion information of the image blocks around the intra block A3 can be used to determine the motion information of the intra block A3; or, one can be generated for the intra block A3
  • the motion information containing zero motion vectors is not limited.
  • the current image block is the boundary block of the image
  • B4, B5, B6, and B7 are the configuration blocks of the current image block outside the boundary.
  • Blocks B4, B5, B6, and B7 are filled, or the available motion information in at least two air domains and/or the available motion information in the time domain are weighted, and the available motion information obtained after the weighted calculation is used to configure blocks B4, B5 , B6 and B7 are filled, or the configuration blocks B4, B5, B6 and B7 are filled with motion information of zero motion vectors.
  • Embodiment 11 An embodiment of the present application proposes a decoding method, which can be applied to the decoding end, including:
  • Step d1 Create a motion information prediction mode candidate list for the current image block.
  • the motion information prediction mode candidate list may include at least one motion information prediction mode.
  • Step d2 Select the target motion information prediction mode of the current image block from the motion information prediction mode candidate list.
  • Step d3 Determine the target motion information of the current image block according to the target motion information prediction mode.
  • Step d4 Decode the received encoded bit stream according to the target motion information.
  • the decoding end can decode the encoded bit stream according to the target motion information.
  • the decoding end can decode the encoded bit stream according to the target motion information.
  • Embodiment 12 An embodiment of the present application proposes a coding method, which can be applied to the coding end, including:
  • Step e1 Create a motion information prediction mode candidate list for the current image block.
  • the motion information prediction mode candidate list may include at least one motion information prediction mode.
  • Step e2 Select the target motion information prediction mode of the current image block from the motion information prediction mode candidate list.
  • Step e3 Encode the current image block according to the target motion information prediction mode to obtain an encoded bit stream.
  • the encoding end After the encoding end obtains the target motion information prediction mode, it can encode the current image block according to the target motion information prediction mode.
  • the specific encoding method refer to the traditional method, which will not be repeated here.
  • Embodiment 13 As shown in FIG. 10, which is a schematic diagram of a processing flow at the encoding end, the encoding end may construct a motion information prediction mode candidate list (1001) of a current image block, and select a target motion information prediction mode from the motion information prediction mode candidate list (1002). If the motion information determined according to the target motion information prediction mode is used (the judgment result of 1003 is YES), the index information of the target motion information prediction mode in the motion information prediction mode candidate list is carried into the encoded bit stream (1004), if not used The target motion information (the judgment result of 1003 is NO), then other motion information is carried into the encoded bit stream (1005).
  • the decoding end can parse the indication information in the encoded bit stream (1101). If the instruction information indicates that the motion information determined according to the target motion information prediction mode is used (the judgment result of 1102 is YES), a motion information prediction mode candidate list of the current image block is constructed (1103), and the motion information prediction mode candidate list is selected from the index information The target motion information prediction mode is selected (1104), and the target motion information of the current image block is derived using the target motion information prediction mode (1105). If the instruction information indicates that target motion information is not to be used (the judgment result of 1102 is NO), other motion information is used (1106).
  • a motion information prediction mode candidate list may be constructed, and the candidate list includes at least one of a DC prediction mode and an angle prediction mode.
  • the DC prediction mode is a weighting of motion information of peripheral blocks of the current image block.
  • Peripheral blocks include blocks adjacent to the current image block, as well as non-adjacent blocks, such as the lower left and upper right lines.
  • the angle prediction mode refers to the principle similar to the intra prediction mode, and predicts the motion information of the sub-blocks within the current image block according to a certain angle. There are five angles, such as horizontal, vertical, horizontal upward, horizontal downward, and vertical right, but this solution is not limited to these five angles, and all angles are included in this solution.
  • Filling reference motion information to the surrounding blocks of the current image block may include at least one of the following: If the surrounding blocks are in the right column, they can be filled directly by the motion information in the time or space domain, or they can be filled after a certain transformation; if Peripheral blocks are the bottom row, which can be directly filled with motion information in the time or space domain, or can be filled after a certain transformation; if the peripheral block is an intra-coded block, it is filled with the motion information of other inter-coded blocks, or filled Zero motion vectors, other motion information (except motion vectors) can be freely selected; if the adjacent position of the current image block is not available, it is filled with motion information of other available blocks, or filled with zero motion vectors, other motion information (except (Outside the motion vector) can be freely selected.
  • the DC prediction mode when the DC prediction mode is selected to assign motion information to each region of the current image block, it includes weighting calculation of at least two different motion information around to obtain the motion information of the current image block.
  • the angle when the angle prediction mode is selected to assign motion information to each area of the current image block, the angle may be a horizontal angle mode, for example, the area on the first line uses motion information of the A1 block.
  • the angle when the angle prediction mode is selected to assign motion information to each region of the current image block, the angle may be the horizontal angle mode.
  • the motion information of the A1 block is used in the area of the first line. For example, a certain scale operation can be performed on the motion information of the A1 block, and then the motion information obtained by the scaling operation can be assigned to each area of the first line. The processing of the remaining lines is similar, and the other angle prediction modes are similar.
  • the angle when the angle prediction mode is selected to assign motion information to each region of the current image block, the angle may be the horizontal angle mode.
  • the horizontal prediction mode when the horizontal prediction mode is adopted, if the corresponding A1 block has multiple different motion information, any one of the multiple different motion information of the A1 block can be selected, or multiple different motion information of the A1 block can be selected. At least two of the motion information in the are weighted, and then the motion information obtained by the weighting is assigned to each area of the first line, the remaining lines are similar, and the other angle prediction modes are also similar.
  • the angle prediction mode when the angle prediction mode is selected to assign motion information to each area of the current image block, if the direction corresponding to the angle is not exactly a sub-block, at least two motion information on the left and right sides of the angle can be weighted Then, the motion information obtained by the weighting process is assigned to the area of the current image block.
  • the motion information prediction mode candidate list in the scheme is the same as the prediction mode list of other schemes, only one-ary truncation code is needed to encode the index position information of the technical scheme in the motion information prediction mode candidate list
  • the specific encoding method refer to the above embodiment.
  • a flag can be encoded first to determine whether to use the motion information prediction mode, if the motion information prediction mode is used, the encoder can fix a motion information prediction mode, so that no bit overhead is required for transmission and motion information Information related to the prediction mode.
  • a flag may be decoded first to determine whether to use the motion information prediction mode. If the motion information prediction mode is used, a fixed-length method is used to decode the index information of the specific prediction mode in the candidate list. In an example, if the list of the present technical solution is the same as the list of other technical solutions, the existing solution is used to decode the index information of the specific prediction mode in the candidate list.
  • Embodiment 14 Based on the same application concept as the above method, an embodiment of the present application further proposes a device for determining motion information, which is applied to the decoding end.
  • FIG. 12 it is a structural diagram of the motion information determining apparatus 1200, including: a creation module 1201 for creating a motion information prediction mode candidate list of a current image block, the motion information prediction mode candidate list including at least one motion Information prediction mode; selection module 1202, used to determine the target motion information prediction mode of the current image block from the motion information prediction mode candidate list; determination module 1203, used to determine the current image block according to the target motion information prediction mode Target sports information.
  • FIG. 13 it is a structural diagram of the motion information determination device 1300, including: a creation module 1301 for creating a motion information prediction mode candidate list of a current image block, wherein the motion information prediction mode candidate list includes at least A motion information prediction mode; the selection module 1302 is used to select the target motion information prediction mode of the current image block from the motion information prediction mode candidate list.
  • the decoding device 1400 includes a processor 141 and a machine-readable storage medium 142, wherein: the machine-readable storage medium 142 stores machine-executable instructions executable by the processor 141; the processor 141 is used to execute Machine executable instructions to implement the methods disclosed in the above examples of this application.
  • the encoding end device 1500 includes a processor 151 and a machine-readable storage medium 152, wherein: the machine-readable storage medium 152 stores machine-executable instructions executable by the processor 151; the processor 151 is used to execute Machine executable instructions to implement the methods disclosed in the above examples of this application.
  • embodiments of the present application also provide a machine-readable storage medium, which stores several computer instructions.
  • the present invention can be implemented. Apply the method disclosed in the above example.
  • the above machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device, and may contain or store information, such as executable instructions, data, and so on.
  • the machine-readable storage medium may be: RAM (Radom Access Memory), volatile memory, non-volatile memory, flash memory, storage drive (such as a hard disk drive), solid-state drive, any type of storage disk (Such as optical discs, DVDs, etc.), or similar storage media, or a combination thereof.
  • the system, device, module or unit explained in the above embodiments may be implemented by a computer chip or entity, or by a product with a certain function.
  • a typical implementation device is a computer, and the specific form of the computer may be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email sending and receiving device, and a game control Desk, tablet computer, wearable device, or any combination of these devices.
  • the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware. Moreover, the embodiments of the present application may take the form of computer program products implemented on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer usable program code.
  • computer usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • these computer program instructions may also be stored in a computer readable memory that can guide the computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture including instruction means,
  • the instruction device implements the functions specified in one block or multiple blocks of one flow or multiple blocks of the flowchart and/or block diagram.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device, so that a series of operating steps are performed on the computer or other programmable device to produce computer-implemented processing, which is executed on the computer or other programmable device
  • the instructions provide steps for implementing the functions specified in one block or multiple blocks of the flowchart one flow or multiple flows and/or block diagrams.

Landscapes

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

Abstract

本申请涉及视频编解码,提供一种运动信息确定方法及其设备,该方法包括:创建当前图像块的运动信息预测模式候选列表,其中,所述运动信息预测模式候选列表包括至少一个运动信息预测模式;从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式;根据所述目标运动信息预测模式确定所述当前图像块的目标运动信息。

Description

视频图像编解码中的运动信息确定 技术领域
本申请涉及编解码技术领域,尤其是涉及一种运动信息确定方法及设备。
背景技术
为了达到节约空间的目的,视频图像都是经过编码后才传输的。完整的视频编码方法可以包括预测、变换、量化、熵编码、滤波等过程。其中,预测编码包括帧内编码和帧间编码。帧间编码是利用视频时间域的相关性,使用邻近已编码图像的像素预测当前图像的像素,以达到有效去除视频时域冗余的目的。
在帧间编码中,可以使用运动矢量(Motion Vector,MV)表示当前帧视频图像的当前图像块与参考帧视频图像的参考图像块之间的相对位移。例如,假设当前帧的视频图像A与参考帧的视频图像B存在很强的时域相关性,在需要传输视频图像A的图像块A1(当前图像块)时,则可以在视频图像B中进行运动搜索,找到与图像块A1最匹配的图像块B1(即参考图像块),并确定图像块A1与图像块B1之间的相对位移,该相对位移也就是图像块A1的运动矢量。
发明内容
本申请提供了一种运动信息确定确定方法及其设备,可以节约大量比特。
本申请提供一种运动信息确定方法,应用于解码端,包括:创建当前图像块的运动信息预测模式候选列表,其中,所述运动信息预测模式候选列表包括至少一个运动信息预测模式;从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式;根据所述目标运动信息预测模式确定所述当前图像块的目标运动信息。
本申请提供一种运动信息确定方法,应用于编码端,包括:创建当前图像块的运动信息预测模式候选列表,其中,所述运动信息预测模式候选列表包括至少一个运动信息预测模式;从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式。
本申请提供一种解码方法,应用于解码端,包括:创建当前图像块的运动信息预测模式候选列表,其中,所述运动信息预测模式候选列表包括至少一个运动信息预测模式;从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式;根据所述目标运动信息预测模式确定所述当前图像块的目标运动信息;根据所述目标运动信息对接收的编码比特流进行解码。
本申请提供一种编码方法,应用于编码端,包括:创建当前图像块的运动信息预测模式候选列表,其中,所述运动信息预测模式候选列表包括至少一个运动信息预测模式;从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式;根据所述目标运动信息预测模式对所述当前图像块进行编码得到编码比特流。
本申请提供一种解码端设备,包括处理器和机器可读存储介质,所述机器可读存储 介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述的运动信息确定方法步骤。
本申请提供一种编码端设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;所述处理器用于执行机器可执行指令,以实现上述的运动信息确定方法步骤。
由以上技术方案可见,本申请实施例中,可以确定当前图像块的目标运动信息预测模式,并根据目标运动信息预测模式确定当前图像块的目标运动信息,不需要对当前图像块进行划分,有效解决子块划分带来的比特开销。此外,在不对当前图像块进行子块划分的基础上,为当前图像块的每个指定区域提供运动信息,且当前图像块的不同指定区域可以对应相同或者不同的运动信息,从而带来编码性能的提高。这样,有效解决了传输大量运动矢量的问题,可以节约大量比特。
附图说明
图1是本申请一种实施方式中的视频编码框架的示意图;
图2A-1至图2A-6和图2B是本申请一种实施方式中的划分方式的示意图;
图3A和图3B是Merge模式和AMVP模式的处理示意图;
图4是本申请一种实施方式中的应用场景示意图;
图5是本申请一种实施方式中的运动信息确定方法的流程图;
图6是本申请一种实施方式中的运动信息确定方法的流程图;
图7是本申请一种实施方式中的运动信息确定方法的流程图;
图8A-图8D是本申请一种实施方式中的匹配块的示意图;
图9A-图9G是本申请一种实施方式中的匹配块的示意图;
图10和图11是编码端和解码端的处理流程示意图;
图12是本申请一种实施方式中的运动信息确定装置的结构图;
图13是本申请一种实施方式中的预测模式确定装置的结构图;
图14是本申请一种实施方式中的解码端设备的硬件结构图;
图15是本申请一种实施方式中的编码端设备的硬件结构图。
具体实施方式
在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息, 但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
本申请实施例提出一种运动信息确定方法,涉及如下概念:
运动矢量(Motion Vector,MV):在帧间编码中,使用运动矢量表示当前帧视频图像的当前图像块与参考帧视频图像的参考图像块之间的相对位移。例如,假设当前帧的视频图像A与参考帧的视频图像B存在很强的时域相关性,在传输视频图像A的图像块A1(当前图像块)时,可以在视频图像B中进行运动搜索,找到与图像块A1最匹配的图像块B1(参考图像块),并确定图像块A1与图像块B1之间的相对位移,该相对位移也就是图像块A1的运动矢量。其中,每个划分的图像块都有相应的运动矢量传送到解码端,如果对每个图像块的运动矢量进行独立编码和传输,特别是划分成小尺寸的大量图像块,则消耗相当多的比特。为降低用于编码运动矢量的比特数,可以利用相邻图像块之间的空间相关性,根据相邻已编码图像块的运动矢量对当前待编码图像块的运动矢量进行预测,然后对预测差进行编码,这样可以有效降低表示运动矢量的比特数。
进一步的,在对当前图像块的运动矢量编码过程中,可以先使用相邻已编码图像块的运动矢量预测当前图像块的运动矢量,然后对该运动矢量的预测值(MVP,Motion Vector Prediction)与运动矢量的真正估值之间的差值(MVD,Motion Vector Difference)进行编码,从而有效降低运动矢量的编码比特数。
运动信息(Motion Information):由于运动矢量表示当前图像块与某个参考图像块的位置偏移,为了准确获取指向图像块的信息,除了运动矢量,还需要参考帧图像的索引信息来表示使用哪个参考帧图像。在视频编码技术中,对于当前帧图像,通常可以建立一个参考帧图像列表,参考帧图像索引信息表示当前图像块采用了参考帧图像列表中的第几个参考帧图像。此外,很多编码技术还支持多个参考图像列表,因此,还可以使用一个索引值来表示使用了哪一个参考图像列表,这个索引值可以称为参考方向。在视频编码技术中,可以将运动矢量、参考帧索引、参考方向等与运动相关的信息统称为运动信息。
率失真原则(Rate-Distortion Optimized):评价编码效率的有两大指标:码率和PSNR(Peak Signal to Noise Ratio,峰值信噪比)。其中,比特流越小,则压缩率越大,PSNR越大,则重建图像质量越好。在模式选择时,判别公式实质上也就是对二者的综合评价。例如,模式对应的代价:
J(mode)=D+λ*R,
其中,D表示Distortion(失真),通常可以使用SSE指标来进行衡量,SSE是指重建图像块与源图像的差值的均方和;λ是拉格朗日乘子,R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特数总和。
帧内预测(intra prediction)是指,可以利用当前图像块的空域相邻图像块(即与当前图像块处于同一帧图像)的重建像素值进行预测编码。
帧间预测(inter prediction)是指,可以利用当前图像块的时域相邻图像块(与当前图像块处于不同帧图像)的重建像素值进行预测编码。
CTU(Coding Tree Unit,编码树单元),是编码端支持的最大编码单元、以及解码端支持的最大解码单元。进一步的,一帧图像可以先分成若干个不相交的CTU,每个CTU再基于实际情况确定是否进一步划分成更小的块。
在介绍本申请实施例的技术方案之前,先简单介绍如下的基础知识:
参见图1所示,为视频编码框架的示意图。可以使用视频编码框架实现本申请实施例的编码端处理流程。此外,视频解码框架的示意图与图1类似,在此不再赘述。可以使用视频解码框架实现本申请实施例的解码端处理流程。
在视频编码框架和视频解码框架中,可以包括帧内预测、运动估计/运动补偿、参考图像缓存器、环内滤波、重建、变换、量化、反变换、反量化、熵编码器等模块。在编码端,通过这些模块之间的配合,可以实现编码端处理流程。在解码端,通过这些模块之间的配合,可以实现解码端处理流程。
在图像块的划分技术中,一个CTU(Coding Tree Unit,编码树单元)可以使用四叉树递归划分成CU(Coding Unit,编码单元)。CU可以进一步的划分成两个或者四个PU(Prediction Unit,预测单元)。在预测完成且得到残差信息后,CU还可以进一步的四叉划分成多个TU(Transform Units,传输单元)。
在VVC(Versatile Video Coding,通用视频编码)中对图像块的划分有了较大变化,混合了二叉树/三叉树/四叉树的划分结构,即取消了CU、PU、TU的概念,支持CU更灵活的划分方式,CU可以是正方形或矩形划分,CTU首先进行四叉树划分,然后四叉树划分的叶子节点进行二叉树和三叉树的划分。
参见图2A-1至图2A-6所示,CU可以有五种划分类型,分别为四叉树划分(图2A-2)、水平二叉树划分(图2A-3)、垂直二叉树划分(图2A-4)、水平三叉树划分(图2A-5)和垂直三叉树划分(图2A-6)等。此外,参见图2B所示,CTU内的CU的划分可以是上述五种划分类型的任意组合。
Merge(合并)模式的简单介绍:在帧间预测模块,由于视频存在很强的时域相关性,即时域相邻的两帧图像存在很多相似图像块,当前帧的图像块往往在相邻参考图像中进行运动搜索,找到与当前图像块最匹配的块作为参考图像块。由于参考图像块与当前图像块的相似度高,两者的差值非常小,因此,编码差值的码率开销通常远小于直接编码当前图像块的像素值带来的码率开销。
为了表示与当前图像块最匹配的参考图像块的位置,需要编码很多运动信息传递到解码端,使得解码端可以知晓参考图像块的位置。而运动信息,尤其是运动矢量,需要消耗非常多的码率进行编码传递。为了节省这部分的码率开销,当前设计了一种比较节省运动信息的编码模式,即Merge模式。
在Merge模式下,当前图像块的运动信息完全复用时域或空域某个相邻块的运动信息,即,从周围多个图像块的运动信息集合中,选择一个运动信息作为当前图像块的运动信息。因此,在Merge模式下,只需要编码一个索引值表示当前图像块使用运动信息 集合中的哪个运动信息,从而节省编码开销。
AMVP(Advanced Motion Vector Prediction,高级运动矢量预测)模式的简单介绍:AMVP模式与Merge模式类似,均使用了空域和时域的运动信息预测思想,通过建立候选运动信息列表,通过率失真代价选择最优的一个候选者作为当前图像块的运动信息。AMVP模式与Merge模式的主要区别体现在:Merge模式下,当前单元的MV直接由空域或者时域上相邻的预测单元预测得到,不存在运动矢量差(Motion Vector Difference,MVD);AMVP可以看作是MV预测技术,需要对实际MV和预测MV的差值进行编码,因此是存在MVD的。此外,二者候选者MV队列长度是不同的,构建MV列表的方式也有所区别。
虽然Merge模式可以大大节省运动信息的编码开销,AMVP模式可以提高运动信息的预测精度,但是,如果未对当前编码单元进行划分,则当前编码单元只有一个运动信息,预测精度并不是很高。例如,参见图3A所示,区域C、区域G和区域H是当前编码单元内的区域,并不是划分的子图像块。假设当前编码单元使用图像块F的运动信息,则当前编码单元内的各个区域均使用图像块F的运动信息。显然,由于当前编码单元内的区域H与图像块F的距离很远,若区域H也使用图像块F的运动信息,则运动信息的预测精度并不是很高。
若采用图2A或图2B的划分方式对当前编码单元进行划分,则可以得到多个子图像块。例如,参见图3B所示,子图像块C、子图像块G、子图像块H和子图像块I是当前编码单元内划分的子图像块。显然,由于对当前编码单元进行划分,因此,需要消耗额外的比特来传输划分方式,带来一定的比特开销。
基于Merge模式和AMVP模式的工作原理,当前编码单元内部的部分子图像块的运动信息无法利用当前编码单元周围的已编码运动信息,这造成可利用的运动信息减少,运动信息的准确度并不高。例如,针对当前编码单元内部的子图像块I,只能利用子图像块C、子图像块G、子图像块H的运动信息,而无法利用图像块A、图像块B、图像块F、图像块D、图像块E的运动信息。
针对上述发现,本申请实施例中提出一种运动信息确定方法,在不对当前图像块进行划分的基础上,即不增加子块划分带来的开销的基础上,可以使当前图像块对应多个运动信息,从而提高当前图像块的运动信息的预测精度。由于未对当前图像块进行划分,因此,可以避免消耗额外的比特来传输划分方式,节约这部分比特开销。针对当前图像块的每个区域(注意,这里是当前图像块内的任意一个区域,该区域的尺寸小于当前图像块的尺寸,并不是对当前图像块进行划分得到的子图像块),可以利用当前图像块周围的已编码运动信息,为每个区域提供更多的运动信息,提高运动信息的准确度。
本申请实施例中的当前图像块,是编解码过程中的任意图像单元,以当前图像块为单位进行编解码处理。当前图像块可以是当前编码单元,即上述实施例的CU,后续以当前图像块为例。
例如,参见图4所示,当前图像块包括9个区域,如区域f1-区域f9,这些是当前图像块内的区域,并不是对当前图像块进行划分后的子图像块。
区域f1-区域f9中的不同区域可以对应相同或者不同的运动信息,因此,在不对当前图像块进行划分的基础上,可以使当前图像块对应多个运动信息,如区域f1对应运动信息1,区域f2对应运动信息2,以此类推。
此外,在确定区域f5的运动信息时,可以利用图像块A1、A2、A3、E、B1、B2、B3的运动信息,即利用当前图像块周围的已编码图像块的运动信息,从而为区域f5提供更多的运动信息。当然,针对当前图像块的其它区域的运动信息时,也可以利用图像块A1、A2、A3、E、B1、B2、B3的运动信息。
以下结合几个具体实施例,对运动信息确定方法进行说明。
实施例1:参见图5所示,为本申请实施例中的运动信息确定方法的流程示意图,该方法可以应用于解码端,该方法可以包括以下步骤:
步骤501,创建当前图像块的运动信息预测模式候选列表。其中,该运动信息预测模式候选列表可以包括至少一个运动信息预测模式。
其中,该运动信息预测模式可以包括但不限于:第一运动信息预测模式(如DC预测模式)和/或第二运动信息预测模式(如角度预测模式)。
在一个例子中,第一运动信息预测模式用于指示从当前图像块的周边块中选择指定的至少两个块作为匹配块,将匹配块的运动信息进行加权计算作为当前图像块的目标运动信息。第二运动信息预测模式用于指示预配置角度,以及根据预配置角度从当前图像块的周边块中为当前图像块内部的指定区域选择匹配块,并根据所述指定区域的匹配块的运动信息确定所述指定区域的目标运动信息。其中,匹配块是按照预配置角度和所述指定区域的位置从所述周边块中确定出的一个块或多个块。例如,预配置角度指向一个块时,匹配块可以是预配置角度指向的这一个块;或者,预配置角度指向两个块的中间时,匹配块可以是其中一个块,也可以是这两个块,也可以是这两个块和这两个块周边的块。
其中,周边块包括与当前图像块相邻的块;或者,周边块包括与当前图像块相邻的块和非相邻的块。当然,周边块还可以包括其它块,如当前图像块是边界块时,针对当前图像块缺失的周边块而填充的配置块,对此不做限制。
步骤502,从该运动信息预测模式候选列表中选择当前图像块的目标运动信息预测模式。
步骤503,根据该目标运动信息预测模式确定当前图像块的目标运动信息。
可以根据该目标运动信息预测模式确定当前图像块对应的匹配块,并根据匹配块的可用运动信息确定当前图像块的目标运动信息。
在一个例子中,根据该目标运动信息预测模式确定当前图像块对应的匹配块,可以包括:若目标运动信息预测模式是第一运动信息预测模式,则根据第一运动信息预测模式,从当前图像块的周边块中选取至少两个块作为当前图像块的匹配块。通过这种运动信息预测模式的方式,可以为当前图像块确定可以共享的运动信息,这些运动信息是周边块的已有运动信息。
若目标运动信息预测模式是第二运动信息预测模式,则根据当前图像块内部的指定区域的位置和第二运动信息预测模式指示的预配置角度,从当前图像块周边块中确定出一个块或多个块作为所述指定区域的匹配块。通过这种运动信息预测模式的方式,可以为当前图像块的不同区域配置不同的运动信息,这些运动信息是周边块的已有运动信息。
在一个例子中,在根据目标运动信息预测模式确定当前图像块对应的匹配块之后,若所述当前图像块对应的所述匹配块为帧内块,则:根据所述帧内块周边的帧间块(如相邻的帧间块,或者,不相邻的帧间块)的运动信息,生成所述帧内块的运动信息;或者,可以为所述帧内块生成一个包含零运动矢量的运动信息;或者,根据时域可用运动信息为所述帧内块生成一个运动信息。
在根据目标运动信息预测模式确定当前图像块的目标运动信息之前,还可以通过对任一周边块进行以下至少一种的处理,获取周边块的可用运动信息:(1)若周边块为帧间块,将所述帧间块的运动信息和所述帧间块周边的至少一个块的运动信息进行加权计算得到所述帧间块调整后的运动信息;(2)若周边块为未编码块,将所述未编码块的至少一个空域可用运动信息和/或时域可用运动信息确定为所述未编码块的运动信息;或,将所述未编码块的至少两个空域可用运动信息和/或时域可用运动信息进行加权计算,得到所述未编码块的运动信息;或者,为所述未编码块生成一个包含零运动矢量的运动信息;(3)若周边块为帧内块,则根据所述帧内块周边的帧间块(如相邻的帧间块,或,不相邻的帧间块)的运动信息,确定所述帧内块的运动信息;或,为所述帧内块生成一个包含零运动矢量的运动信息;或者,根据时域可用运动信息为所述帧内块生成一个运动信息;(4)若当前图像块为边界块,所述周边块包括至少一个配置块,根据空域可用运动信息生成所述配置块的运动信息;或者,为所述配置块生成一个包含零运动矢量的运动信息;或者,根据时域可用运动信息为所述帧内块生成一个运动信息。
在一个例子中,根据匹配块的可用运动信息确定当前图像块的目标运动信息,可以包括但不限于:若匹配块的数量为一个,则将一个匹配块的可用运动信息确定为当前图像块的目标运动信息;或者,若匹配块的数量为一个,则对一个匹配块的可用运动信息进行变换,并将变换后的运动信息确定为当前图像块的目标运动信息;或者,若匹配块的数量为至少两个,则从至少两个匹配块中选择一个匹配块,并将选择的匹配块的可用运动信息确定为当前图像块的目标运动信息;或者,若匹配块的数量为至少两个,则从至少两个匹配块中选择一个匹配块,对选择的匹配块的可用运动信息进行变换,并将变换后的运动信息确定为当前图像块的目标运动信息;或者,若匹配块的数量为至少两个,则对至少两个匹配块的可用运动信息进行加权运算,并将加权运算后的运动信息确定为当前图像块的目标运动信息;或者,若匹配块的数量为至少两个,则对至少两个匹配块的可用运动信息先变换,再对变换后的运动信息进行加权运算,并将加权运算后得到的运动信息确定为当前图像块的目标运动信息。
其中,对匹配块的可用运动信息进行变换,可以包括但不限于:在指定方向上对匹配块的可用运动信息进行伸缩变换,得到变换后的运动信息。
在上述实施例中,从运动信息预测模式候选列表中选择当前图像块的目标运动信息预测模式,可以包括:接收来自编码端的编码比特流,编码比特流携带第一指示信息, 第一指示信息用于指示目标运动信息预测模式的索引信息;基于第一指示信息,从运动信息预测模式候选列表中选择与该索引信息所对应的运动信息预测模式,作为当前图像块的该目标运动信息预测模式。
在另一个例子中,还可以接收来自编码端的编码比特流,该编码比特流可以携带第二指示信息,该第二指示信息用于指示预配置运动信息;基于该第二指示信息,根据当前图像块的预配置运动信息确定当前图像块的目标运动信息;或者,可以接收来自编码端的编码比特流,该编码比特流可以携带第三指示信息,该第三指示信息用于指示预配置差值信息,所述预配置差值信息用于指示运动矢量差值;基于该第三指示信息,根据当前图像块的预配置差值信息确定当前图像块的目标运动信息。
由以上技术方案可见,本申请实施例中,可以确定当前图像块的目标运动信息预测模式,并根据目标运动信息预测模式确定当前图像块的目标运动信息,不需要对当前图像块进行划分,有效解决子块划分带来的比特开销。此外,在不对当前图像块进行子块划分的基础上,为当前图像块的每个指定区域提供运动信息,且当前图像块的不同指定区域可以对应相同或者不同的运动信息,从而带来编码性能的提高。这样,有效解决了传输大量运动矢量的问题,可以节约大量比特。
实施例2:参见图6所示,为本申请实施例中的运动信息确定方法的流程示意图,该方法可以应用于编码端,该方法可以包括以下步骤:
步骤601,创建当前图像块的运动信息预测模式候选列表。其中,该运动信息预测模式候选列表可以包括至少一个运动信息预测模式。
例如,该运动信息预测模式可以包括但不限于:第一运动信息预测模式(如DC预测模式)和/或第二运动信息预测模式(如角度预测模式)。
在一个例子中,第一运动信息预测模式用于指示从当前图像块的周边块中选择指定的至少两个块作为匹配块,将匹配块的运动信息进行加权计算作为当前图像块的目标运动信息。第二运动信息预测模式用于指示预配置角度,以及根据预配置角度从当前图像块的周边块中为当前图像块内部的指定区域选择匹配块,并根据所述指定区域的匹配块的运动信息确定所述指定区域的目标运动信息。其中,所述指定区域的匹配块是按照预配置角度和所述指定区域的位置从所述周边块中确定出的一个块或多个块。例如,预配置角度指向一个块时,匹配块可以是预配置角度指向的这一个块;或者,预配置角度指向两个块的中间时,匹配块可以是其中一个块,也可以是这两个块,也可以是这两个块和这两个块周边的块。
其中,周边块包括与当前图像块相邻的块;或者,周边块包括与当前图像块相邻的块和非相邻的块。当然,周边块还可以包括其它块,如当前图像块是边界块时,针对当前图像块缺失的周边块而填充的配置块,对此不做限制。
步骤602,从该运动信息预测模式候选列表中选择当前图像块的目标运动信息预测模式。
具体的,针对该运动信息预测模式候选列表中的每个运动信息预测模式,根据该运动信息预测模式,从所述当前图像块的周边块中确定当前图像块对应的匹配块,获取所 述匹配块的可用运动信息,至少根据该匹配块的可用运动信息确定该运动信息预测模式对应的率失真代价。然后,可以根据该运动信息预测模式候选列表中的每个运动信息预测模式对应的率失真代价,从该运动信息预测模式候选列表中选择该当前图像块的该目标运动信息预测模式。
其中,根据该运动信息预测模式,确定当前图像块对应的匹配块,可以包括但不限于:若该运动信息预测模式是第一运动信息预测模式,则根据第一运动信息预测模式,从当前图像块的周边块中选取至少两个块作为当前图像块的匹配块。或者,若该运动信息预测模式是第二运动信息预测模式,则根据当前图像块内部的指定区域的位置和第二运动信息预测模式指示的预配置角度,从当前图像块周边块中确定出一个块或多个块作为所述指定区域的匹配块。
在一个例子中,在根据运动信息预测模式,确定当前图像块对应的匹配块之后,若所述当前图像块对应的所述匹配块为帧内块,则还可以:根据所述帧内块周边的帧间块(如相邻的帧间块,或者,不相邻的帧间块)的运动信息,生成所述帧内块的运动信息;或者,可以为所述帧内块生成一个包含零运动矢量的运动信息;或者,根据时域可用运动信息为所述帧内块生成一个运动信息。
在所述获取所述匹配块的可用运动信息之前,通过对任一周边块进行以下至少一种的处理,获取周边块的可用运动信息:(1)若周边块为帧间块,将所述帧间块的运动信息和所述帧间块周边的至少一个块的运动信息进行加权计算得到所述帧间块调整后的运动信息;(2)若周边块为未编码块,将所述未编码块的至少一个空域可用运动信息和/或时域可用运动信息确定为所述未编码块的运动信息;或,将所述未编码块的至少两个空域可用运动信息和/或时域可用运动信息进行加权计算,得到所述未编码块的运动信息;或者,为所述未编码块生成一个包含零运动矢量的运动信息;(3)若周边块为帧内块,则根据所述帧内块周边的帧间块(如相邻的帧间块,或,不相邻的帧间块)的运动信息,确定所述帧内块的运动信息;或,为所述帧内块生成一个包含零运动矢量的运动信息;或者,根据时域可用运动信息为所述帧内块生成一个运动信息;(4)若当前图像块为边界块,所述周边块包括配置块,根据空域可用运动信息生成配置块的运动信息,所述周边块包括至少一个配置块,根据空域可用运动信息生成所述配置块的运动信息;或者,为所述配置块生成一个包含零运动矢量的运动信息;或者,根据时域可用运动信息为所述帧内块生成一个运动信息。
其中,根据该运动信息预测模式候选列表中的每个运动信息预测模式对应的率失真代价,从该运动信息预测模式候选列表中选择运动信息预测模式,可以包括但不限于:基于每个运动信息预测模式对应的率失真代价,从该运动信息预测模式候选列表中选择率失真代价最小的运动信息预测模式。
在一个例子中,确定当前图像块的目标运动信息预测模式之后,还可以获取目标运动信息预测模式对应的第一率失真代价,并获取当前图像块的预配置运动信息或者预配置差值信息对应的第二率失真代价,所述差值信息用于指示运动矢量差值。若第一率失真代价小于第二率失真代价,则可以向解码端发送携带第一指示信息的编码比特流,该第一指示信息用于指示目标运动信息预测模式的索引信息。若第一率失真代价大于第二 率失真代价,则可以:向解码端发送携带第二指示信息的编码比特流,该第二指示信息用于指示预配置运动信息;或者,向解码端发送携带第三指示信息的编码比特流,该第三指示信息用于指示预配置差值信息。
由以上技术方案可见,本申请实施例中,可以确定当前图像块的目标运动信息预测模式,并根据目标运动信息预测模式确定当前图像块的目标运动信息,不需要对当前图像块进行划分,有效解决子块划分带来的比特开销。此外,在不对当前图像块进行子块划分的基础上,为当前图像块的每个指定区域提供运动信息,且当前图像块的不同指定区域可以对应相同或者不同的运动信息,从而带来编码性能的提高。这样,有效解决了传输大量运动矢量的问题,可以节约大量比特。
实施例3:参见图7所示,为运动信息确定方法的流程示意图,该方法包括:
步骤701,编码端创建当前图像块的运动信息预测模式候选列表。其中,该运动信息预测模式候选列表可以包括至少一个运动信息预测模式。
步骤702,解码端创建当前图像块的运动信息预测模式候选列表。其中,该运动信息预测模式候选列表可以包括至少一个运动信息预测模式。
其中,编码端的运动信息预测模式候选列表与解码端的运动信息预测模式候选列表相同,即二者的运动信息预测模式的顺序完全相同。
步骤703,编码端从运动信息预测模式候选列表中选择当前图像块的目标运动信息预测模式。
步骤704,编码端向解码端发送编码比特流,该编码比特流用于携带第一指示信息,且该第一指示信息用于指示目标运动信息预测模式的索引信息。
步骤705,解码端接收来自编码端的编码比特流,该编码比特流携带第一指示信息,该第一指示信息用于指示目标运动信息预测模式的索引信息。
步骤706,解码端从运动信息预测模式候选列表(即步骤702中获取的运动信息预测模式候选列表)中选择与该索引信息对应的运动信息预测模式,作为当前图像块的该目标运动信息预测模式。
步骤707,解码端根据该目标运动信息预测模式确定当前图像块的目标运动信息。例如,可以根据该目标运动信息预测模式确定当前图像块对应的匹配块,并根据匹配块的可用运动信息确定当前图像块的目标运动信息。
由以上技术方案可见,本申请实施例中,可以确定当前图像块的目标运动信息预测模式,并根据目标运动信息预测模式确定当前图像块的目标运动信息,不需要对当前图像块进行划分,有效解决子块划分带来的比特开销。此外,在不对当前图像块进行子块划分的基础上,为当前图像块的每个指定区域提供运动信息,且当前图像块的不同指定区域可以对应相同或者不同的运动信息,从而带来编码性能的提高。这样,有效解决了传输大量运动矢量的问题,可以节约大量比特。
实施例4:在上述实施例中,涉及创建当前图像块的运动信息预测模式候选列表,即编码端和解码端均需要创建当前图像块的运动信息预测模式候选列表。
编码端的运动信息预测模式候选列表与解码端的运动信息预测模式候选列表根据协议约定为相同。例如,编码端和解码端可以采用相同的策略,创建相同的运动信息预测模式候选列表。当然,上述方式只是几个示例,对此创建方式不做限制,只要编码端和解码端具有相同的运动信息预测模式候选列表即可。
其中,可以为当前图像块创建一个运动信息预测模式候选列表,即,当前图像块内的所有区域对应相同的运动信息预测模式候选列表;或者,可以为当前图像块创建多个运动信息预测模式候选列表。此外,不同的当前图像块可以对应相同或者不同的运动信息预测模式候选列表。
为了方便描述,本实施例中,为每个当前图像块创建一个运动信息预测模式候选列表。例如,可以为当前图像块A创建运动信息预测模式候选列表1,可以为当前图像块B创建运动信息预测模式候选列表2,以此类推。
在一个例子中,运动信息预测模式候选列表可以包括至少一个运动信息预测模式,该运动信息预测模式可以包括但不限于:第一运动信息预测模式(如DC预测模式)和/或第二运动信息预测模式(如角度预测模式)。本实施例中,以第一运动信息预测模式是用于预测当前图像块的运动信息的DC预测模式,第二运动信息预测模式是用于预测当前图像块的运动信息的角度预测模式为例进行说明。当然,第一运动信息预测模式还可以是其它类型的预测模式,第二运动信息预测模式还可以是其它类型的预测模式,对此不做限制。
例如,该运动信息预测模式候选列表可以包括DC预测模式1、DC预测模式2和DC预测模式3。或者,该运动信息预测模式候选列表可以包括角度预测模式1、角度预测模式2和角度预测模式3。或者,该运动信息预测模式候选列表可以包括DC预测模式2、角度预测模式2和角度预测模式3。为了方便描述,后续以DC预测模式2、角度预测模式2和角度预测模式3为例进行说明。
针对运动信息预测模式候选列表中的每个DC预测模式,用于指示从当前图像块的周边块中选择指定的至少两个块作为匹配块,并将匹配块的运动信息进行加权计算作为当前图像块的目标运动信息。其中,当前图像块的周边块可以包括但不限于:与当前图像块相邻的块,或者,与当前图像块相邻的块和非相邻的块。当然,周边块还可以包括其它块,对此周边块不做限制。
例如,参见图8A所示,当前图像块的周边块可以包括当前图像块左上方的相邻图像块(即图像块E);当前图像块上侧周边区域中,从图像块E开始向右遍历的N1个相邻图像块,如图像块B1、B2、B3、D1,以此类推,一直遍历N1个图像块;当前图像块左侧周边区域中,从图像块E开始向下遍历的N2个相邻图像块,如图像块A1、A2、A3、C1,以此类推,一直遍历N2个图像块。
综上所述,当前图像块的周边块可以包括但不限于与当前图像块相邻的块,与当前图像块非相邻的块,甚至包括其它相邻帧中的图像块,对此不做限制。
在图8A中,虚线经过的图像块均可以是当前图像块的周边块,对此不做限制。当然,虚线未经过的图像块也可以是当前图像块的周边块,对此不做限制。
例如,DC预测模式1用于指示从当前图像块的周边块中选择指定的图像块A1和B2作为匹配块,并对图像块A1和B2的运动信息进行加权计算,然后,将计算结果作为当前图像块的目标运动信息。又例如,DC预测模式2用于指示从当前图像块的周边块中选择指定的图像块A2和B2作为匹配块,并对图像块A2和B2的运动信息进行加权计算,然后,将计算结果作为当前图像块的目标运动信息,以此类推。
其中,DC预测模式1用于指示图像块A1和B2的位置索引,这样就可以将图像块A1和B2作为当前图像块的匹配块。此外,DC预测模式2用于指示图像块A2和B2的位置索引,这样就可以将图像块A2和B2作为当前图像块的匹配块,以此类推。
其中,对图像块A1和B2的运动信息进行加权计算,包括:对图像块A1和B2的运动矢量取平均值;或,为图像块A1的运动矢量设置权重系数1,为图像块B2的运动矢量设置权重系数2,利用图像块A1的运动矢量和权重系数1以及图像块B2的运动矢量和权重系数2,进行加权计算。
当然,上述只是对运动信息进行加权计算的示例,对此不做限制。
运动信息预测模式候选列表中的每个角度预测模式指示预配置角度,且指示根据该预配置角度从当前图像块的周边块中为当前图像块内部的指定区域选择匹配块,并根据所述匹配块的运动信息确定指定区域的目标运动信息。其中,匹配块可以是按照该预配置角度从所述周边块中确定出的一个块或多个块。例如,预配置角度指向一个块时,匹配块可以是角度指向的一个块;或者,预配置角度指向两个块的中间时,匹配块可以是其中一个块,也可以是两个块,也可以是两个块以及周边的块,对此不做限制。当前图像块的周边块可以包括但不限于:与当前图像块相邻的块,或者,与当前图像块相邻的块和非相邻的块。当然,周边块还可以包括其它块,对此周边块不做限制。
例如,角度预测模式1用于指示预配置角度为90度,根据预配置角度90度从当前图像块的周边块中为指定区域选择匹配块,参见图8B所示:指定区域f1的匹配块是图像块B1,并根据图像块B1的运动信息确定指定区域f1的目标运动信息;指定区域f2的匹配块是图像块B2,并根据图像块B2的运动信息确定指定区域f2的目标运动信息;指定区域f3的匹配块是图像块B3,并根据图像块B3的运动信息确定指定区域f3的目标运动信息,以此类推。
又例如,角度预测模式2用于指示预配置角度为180度,根据预配置角度180度从当前图像块的周边块中为指定区域选择匹配块,参见图8C所示:指定区域f1的匹配块是图像块A1,并根据图像块A1的运动信息确定指定区域f1的目标运动信息;指定区域f2的匹配块是图像块A1,并根据图像块A1的运动信息确定指定区域f2的目标运动信息;指定区域f3的匹配块是图像块A1,并根据图像块A1的运动信息确定指定区域f3的目标运动信息,以此类推。
又例如,角度预测模式3用于指示预配置角度为45度,根据预配置角度45度从当前图像块的周边块中为指定区域选择匹配块,参见图8D所示:指定区域f5的匹配块是图像块B3和D1,可以根据图像块B3和D1的运动信息确定指定区域f5的目标运动信息,具体方式参见后续实施例。
当然,上述方式只是预配置角度的几个示例,预配置角度可以是0-360度之间的任意角度。例如,可以将指定区域的中心点向右的水平方向定位为0度,这样,从0度逆时针旋转的任意角度均可以为预配置角度。但不限于将指定区域的中心点向右的水平方向定位为0度,也可以将指定区域的中心点向左的水平方向定位为0度,或指定区域的中心点向其他方向为0度。
在实际应用中,预配置角度可以是分数角度,如22.5度等,对此不做限制。
在一个例子中,本申请实施例中的DC预测模式,可以是预测运动信息的DC预测模式,即用于帧间编码过程,而不是应用于帧内编码过程。而且,DC预测模式选择的是匹配块,而不是匹配的像素点。同理,角度预测模式可以是预测运动信息的角度预测模式,即用于帧间编码过程,而不是应用于帧内编码过程。而且,角度预测模式选择的是匹配块,而不是匹配的像素点。
基于上述分析过程,编码端和解码端均可以创建运动信息预测模式候选列表。后续以DC预测模式2、角度预测模式2和角度预测模式3为例进行说明。
实施例5:在上述实施例中,涉及编码端从运动信息预测模式候选列表中选择当前图像块的目标运动信息预测模式,以下对此过程进行说明,该过程可以包括以下步骤:
步骤a1、针对该运动信息预测模式候选列表中的每个运动信息预测模式,根据该运动信息预测模式确定当前图像块对应的匹配块。
在一个例子中,所述步骤a1可以包括但不限于:若该运动信息预测模式是DC预测模式(第一运动信息预测模式),则根据DC预测模式从当前图像块的周边块中选取至少两个块作为当前图像块的匹配块。若该运动信息预测模式是角度预测模式(第二运动信息预测模式),则根据当前图像块内部的指定区域的位置和角度预测模式指示的预配置角度,从当前图像块周边块中确定出一个块或多个块作为所述指定区域的匹配块。
例如,运动信息预测模式候选列表可以包括DC预测模式2、角度预测模式2和角度预测模式3。DC预测模式2指示图像块A2和B2的位置索引,因此,可以从当前图像块的周边块中选择指定的图像块A2和B2作为匹配块。角度预测模式2指示预配置角度为180度,因此,指定区域f1的匹配块是图像块A1,指定区域f2的匹配块是图像块A1,指定区域f3的匹配块是图像块A1。角度预测模式3指示预配置角度为45度,因此,指定区域f5的匹配块是图像块B3和D1。当然,上述只是以几个指定区域为示例,还可以为其它指定区域,对此不做限制。
步骤a2,根据匹配块的运动信息确定运动信息预测模式对应的率失真代价。
在一个例子中,编码端可以根据图像块A2和B2的运动信息,确定DC预测模式2的率失真代价。此外,编码端可以根据图像块A1的运动信息,确定角度预测模式2的率失真代价。此外,编码端可以根据图像块B3和D1的运动信息,确定角度预测模式3的率失真代价。
在一个例子中,可以采用率失真原则来基于图像块A2和B2的运动信息,确定DC预测模式2的率失真代价。其中,率失真代价可以通过如下公式确定:
J(mode)=D+λ*R,
其中,D表示Distortion(失真),通常可以使用SSE指标来进行衡量,SSE是指重建图像块与源图像的差值的均方和;λ是拉格朗日乘子,R就是该模式下图像块编码所需的实际比特数,包括编码模式信息、运动信息、残差等所需的比特数总和。对率失真代价的确定方式不做限制。同理,也可以确定出角度预测模式2的率失真代价和角度预测模式3的率失真代价。
步骤a3,根据运动信息预测模式候选列表中的每个运动信息预测模式对应的率失真代价,从该运动信息预测模式候选列表中选择当前图像块的目标运动信息预测模式。
例如,可基于每个运动信息预测模式对应的率失真代价,从该运动信息预测模式候选列表中选择率失真代价最小的运动信息预测模式。当然,上述方式只是示例,对此运动信息预测模式的选择方式不做限制。
例如,假设DC预测模式2的率失真代价小于角度预测模式2以及角度预测模式3的率失真代价,则选择DC预测模式2作为目标运动信息预测模式。
实施例6:在上述实施例中,涉及解码端从运动信息预测模式候选列表中选择当前图像块的目标运动信息预测模式,以下对此过程进行说明,该过程可以包括以下步骤:
步骤b1、编码端向解码端发送编码比特流,该编码比特流用于携带第一指示信息,且该第一指示信息用于指示目标运动信息预测模式的索引信息。
例如,编码端将选择的运动信息预测模式确定为当前图像块的目标运动信息预测模式后,可以确定目标运动信息预测模式在运动信息预测模式候选列表中的索引信息,如目标运动信息预测模式是运动信息预测模式候选列表中的第2个运动信息预测模式,则目标运动信息预测模式的索引信息可以是10,表示2。
步骤b2、解码端接收来自编码端的编码比特流,该编码比特流携带第一指示信息,该第一指示信息用于指示目标运动信息预测模式的索引信息。
步骤b3、解码端从运动信息预测模式候选列表中选择与该索引信息对应的运动信息预测模式,作为当前图像块的目标运动信息预测模式。例如,当第一指示信息指示目标运动信息预测模式的索引信息是2时,则解码端可以将运动信息预测模式候选列表中的第2个运动信息预测模式,确定为当前图像块的目标运动信息预测模式。
在一个例子中,编码端和解码端可以固定一个运动信息预测模式,这样,解码端不需要进行任何的语法解析,可以直接确定目标运动信息预测模式。进一步的,可以首先编码一个flag来确定是否采用运动信息预测模式确定目标运动信息。在采用运动信息预测模式确定目标运动信息的情况下,编码端可以固定一个运动信息预测模式。这样,编码端不需要任何的比特开销,而且,解码端不需要进行任何的语法解析,可以直接确定目标运动信息预测模式。
实施例7:在上述实施例中,涉及解码端根据目标运动信息预测模式确定当前图像块的目标运动信息,以下对此过程进行说明,该过程可以包括:
步骤c1、根据目标运动信息预测模式确定当前图像块对应的匹配块。
在一个例子中,所述步骤c1可以包括:若目标运动信息预测模式是DC预测模式,则可以根据DC预测模式从当前图像块的周边块中选取至少两个块作为当前图像块的匹配块。若目标运动信息预测模式是角度预测模式,则可以根据当前图像块内部的指定区域的位置和角度预测模式指示的预配置角度,从当前图像块周边块中确定出一个块或多个块作为所述指定区域的匹配块。
例如,若目标运动信息预测模式是DC预测模式2,且DC预测模式2指示图像块A2和B2的位置索引,则从当前图像块的周边块中选择指定的图像块A2和B2作为匹配块。若目标运动信息预测模式是角度预测模式2,且角度预测模式2指示预配置角度为180度,则指定区域f1的匹配块是图像块A1,指定区域f2的匹配块是图像块A1,以此类推。
步骤c2,根据匹配块的运动信息确定当前图像块的目标运动信息。
其中,根据匹配块的运动信息确定当前图像块的目标运动信息,可以包括:
方式一、若匹配块的数量为一个,则可以将一个匹配块的运动信息确定为当前图像块的目标运动信息。例如,若匹配块是图像块A1,则可以将图像块A1的运动信息确定为当前图像块的目标运动信息,对此不再赘述。
方式二、若匹配块的数量为一个,则可以对一个匹配块的运动信息进行变换,并将变换后得到的运动信息确定为当前图像块的目标运动信息。例如,若匹配块是图像块A1,则可以对图像块A1的运动信息进行变换,并将变换后得到的运动信息确定为当前图像块的目标运动信息。
方式三、若匹配块的数量为至少两个,则可以从至少两个匹配块中选择一个匹配块,将选择的匹配块的运动信息确定为当前图像块的目标运动信息。例如,若图像块A2和B2作为匹配块,则从图像块A2和B2中选择一个图像块A2,将图像块A2的运动信息确定为当前图像块的目标运动信息。
方式四、若匹配块的数量为至少两个,则可以从至少两个匹配块中选择一个匹配块,对选择的匹配块的运动信息进行变换,并将变换后得到的运动信息确定为当前图像块的目标运动信息。例如,若图像块A2和B2作为匹配块,则从图像块A2和B2中选择图像块A2,对图像块A2的运动信息进行变换,并将变换后得到的运动信息确定为当前图像块的目标运动信息。
方式五、若匹配块的数量为至少两个,则可以对至少两个匹配块的运动信息进行加权运算,并将加权运算后的运动信息确定为当前图像块的目标运动信息。例如,若图像块A2和B2作为匹配块,则可以对图像块A2和B2的运动信息进行加权运算,具体的加权运算方式不做限制,并将加权运算后得到的运动信息确定为当前图像块的目标运动信息。
方式六、若匹配块的数量为至少两个,则可以对至少两个匹配块的运动信息进行变换,再对变换后得到的运动信息进行加权运算,并将加权运算后得到的运动信息确定为当前图像块的目标运动信息。例如,若图像块A2和B2作为匹配块,则可以对图像块A2的运动信息进行变换得到运动信息1,并可以对图像块B2的运动信息进行变换 得到运动信息2,然后,对运动信息1和运动信息2进行加权运算,具体的加权运算方式不做限制,并可以将加权运算后得到的运动信息确定为当前图像块的目标运动信息。
当然,上述方式只是示例,对此目标运动信息的确定方式不做限制。
在上述实施例中,对匹配块的运动信息进行变换,可以包括但不限于:在指定方向上对匹配块的运动信息进行伸缩变换。当然,伸缩变换只是一种变换方式,还可以采用其它变换方式,对此不做限制。其中,指定方向可以为当前图像块的运动矢量的运动方向,或者,匹配块的运动矢量的运动方向,当然,还可以为其它方向,对此不做限制。其中,对运动信息进行伸缩变换的方式,可以采用传统方式实现,在此不再赘述。
实施例8:除了采用上述方式得到目标运动信息,还可以采用传统方式得到当前图像块的运动信息。为了区分方便,可以将采用传统方式得到的运动信息称为预配置运动信息,在此基础上,本申请实施例的方法还可以包括:
编码端确定当前图像块的目标运动信息预测模式后,可以获取目标运动信息预测模式对应的第一率失真代价,如采用率失真原则确定目标运动信息预测模式对应的第一率失真代价,并获取当前图像块的预配置运动信息对应的第二率失真代价,如采用率失真原则确定预配置运动信息对应的第二率失真代价。
进一步的,若该第一率失真代价小于该第二率失真代价,则编码端可以向解码端发送携带第一指示信息的编码比特流,其中,该第一指示信息用于指示目标运动信息预测模式的索引信息,参见实施例6中的第一指示信息。若该第一率失真代价大于该第二率失真代价,则编码端可以向解码端发送携带第二指示信息的编码比特流,其中,该第二指示信息用于指示预配置运动信息。
解码端接收来自编码端的编码比特流,若该编码比特流携带第一指示信息,该第一指示信息指示目标运动信息预测模式的索引信息,因此,基于第一指示信息,解码端从运动信息预测模式候选列表中选择与该索引信息所对应的运动信息预测模式,作为当前图像块的目标运动信息预测模式,具体实现方式可以参见实施例6,在此不再赘述。
此外,若该编码比特流携带第二指示信息,该第二指示信息指示预配置运动信息,因此,基于第二指示信息,解码端可以根据当前图像块的预配置运动信息确定当前图像块的目标运动信息。例如,可以将当前图像块的预配置运动信息确定为当前图像块的目标运动信息,对此确定方式不做限制。
在另一个例子中,编码端确定当前图像块的目标运动信息预测模式后,可以获取目标运动信息预测模式对应的第一率失真代价,如采用率失真原则确定目标运动信息预测模式对应的第一率失真代价,并获取当前图像块的预配置差值信息对应的第二率失真代价,如采用率失真原则确定预配置差值信息对应的第二率失真代价。若该第一率失真代价小于该第二率失真代价,则编码端可以向解码端发送携带第一指示信息的编码比特流,该第一指示信息用于指示目标运动信息预测模式的索引信息,参见实施例6的第一指示信息。若该第一率失真代价大于该第二率失真代价,则编码端可以向解码端发送携带第三指示信息的编码比特流,该第三指示信息用于指示预配置差值信息,所述预配置差值信息用于指示运动矢量差值。
解码端接收来自编码端的编码比特流,若该编码比特流携带第一指示信息,该第一指示信息指示目标运动信息预测模式的索引信息,因此,基于第一指示信息,解码端从运动信息预测模式候选列表中选择与该索引信息所对应的运动信息预测模式,作为当前图像块的目标运动信息预测模式,具体实现方式可以参见实施例6,在此不再赘述。
若该编码比特流携带第三指示信息,该第三指示信息指示预配置差值信息,所述预配置差值信息用于指示运动矢量差值,因此,基于第三指示信息,解码端根据当前图像块的预配置差值信息确定当前图像块的目标运动信息。例如,根据当前图像块的预配置差值信息与某个指定运动信息确定为当前图像块的目标运动信息,如将预配置差值信息与指定运动信息的和确定为目标运动信息,对此确定方式不做限制。
在上述实施例中,针对编码比特流中的索引信息,可以是经由一元截断码进行编码的索引信息,或者,经由定长编码方式进行编码的索引信息。当然,还可以采用其它编码方式对索引信息进行编码,对此编码方式不做限制。
其中,一元截断码可以用于编码目标运动信息预测模式的索引信息。例如,运动信息预测模式候选列表包括5个运动信息预测模式,分别为运动信息预测模式{0,1,2,3,4}。假设目标运动信息预测模式是运动信息预测模式3,即目标运动信息预测模式的索引信息为4,则编码端可以将索引信息编码成0001,这样,解码端需要解码到1为止,即第4个数值为1,因此,解码端获知目标运动信息预测模式的索引信息为4。
其中,可以采用定长编码方式来编码目标运动信息预测模式的索引信息。例如,运动信息预测模式候选列表包括5个运动信息预测模式,分别为运动信息预测模式{0,1,2,3,4},总共需要3个比特来编码。例如,可以使用000表示第一个运动信息预测模式,即运动信息预测模式0,可以使用001表示第二个运动信息预测模式,即运动信息预测模式1,以此类推。
实施例9:运动信息预测模式候选列表至少包含DC预测模式和角度预测模式中的一种。角度预测模式中的角度可为任一角度,比如22.5度,DC预测模式包括至少两个匹配块的运动信息的加权。如图9A所示,图像块C1-C4、D1-D4虽然未编码,但是,可以由时域或者空域的已编码块的运动信息填充,也可以由通过对已编码块的运动信息进行一定的处理得到的运动信息来填充。因此,也可以将图像块C1-C4、D1-D4作为匹配块。其中,填充的含义是,将至少一个空域可用运动信息和/或时域可用运动信息确定为所述未编码块的运动信息;或者,将所述未编码块的至少两个空域可用运动信息和/或时域可用运动信息进行加权计算,得到所述未编码块的运动信息。当然还可以生成一个包含零运动矢量的运动信息,作为未编码块的填充。
在另一个例子中,针对DC预测模式和角度预测模式,参见图9B所示,如果上边位置的图像块和左边位置的图像块都可用,则可以按照顺序将水平、垂直、水平向上、水平向下以及垂直向右的运动信息预测模式,添加到运动信息预测模式候选列表,即图9B中所示的添加顺序。或者,如果只有上边位置的图像块可用,则可以按照顺序将运动信息预测模式1、运动信息预测模式2和运动信息预测模式4添加到运动信息预测模式候选列表。或者,如果只有左边位置的图像块可用,则可以按照顺序将运动信息预测模式0、运动信息预测模式2和运动信息预测模式3添加到运动信息预测模式候选列表。 或者,如果上边位置的图像块和左边位置的图像块都不可用,则可以不将任何角度的运动信息预测模式添加到运动信息预测模式候选列表。
在上述实施例中,运动信息预测模式选用角度预测模式,根据所选的角度将所指向的周围4x4块的运动信息作为当前图像块内部的4x4块的运动信息,当前图像块内部的所有4x4块都是相同的操作。
在一个例子中,可以对周边块的运动信息进行处理,也可以不对周边块的运动信息进行处理。若不对周边块的运动信息进行处理,则采用上述实施例4、5、9,若对周边块的运动信息进行处理,则可以采用后续的实施例10。
实施例10:在上述实施例中,需要使用匹配块的运动信息进行相关处理。这样,在匹配块存在运动信息时,如何使用匹配块的运动信息,在匹配块不存在运动信息时,如何确定匹配块的运动信息,本实施例还提供如下方式:
在一个例子中,若当前图像块对应的匹配块为帧内块,由于这个帧内块没有运动信息,因此,可以根据所述帧内块周边的帧间块(如相邻的帧间块,或,不相邻的帧间块)的运动信息生成所述帧内块的运动信息;或者,为所述帧内块生成一个包含零运动矢量的运动信息;或者,根据时域可用运动信息为所述帧内块生成一个运动信息。
在另一个例子中,可以通过对任一周边块进行以下至少一种的处理,获取周边块的可用运动信息:(1)若周边块为帧间块,将帧间块的运动信息和帧间块周边的至少一个块的运动信息进行加权计算,得到帧间块调整后的运动信息;(2)若周边块为未编码块,将未编码块的至少一个空域可用运动信息和/或时域可用运动信息确定为未编码块的运动信息;或,将所述未编码块的至少两个空域可用运动信息和/或时域可用运动信息进行加权计算,得到未编码块的运动信息;或者,为所述未编码块生成一个包含零运动矢量的运动信息;(3)若周边块为帧内块,则根据帧内块周边的帧间块(如相邻的帧间块,或,不相邻的帧间块)的运动信息,确定所述帧内块的运动信息;或,为所述帧内块生成一个包含零运动矢量的运动信息;或者,根据时域可用运动信息为所述帧内块生成一个运动信息;(4)若当前图像块为边界块,所述周边块包括至少一个配置块,根据空域可用运动信息生成所述配置块的运动信息;或者,为所述配置块生成一个包含零运动矢量的运动信息;或者,根据时域可用运动信息为所述帧内块生成一个运动信息。
其中,针对方式(1),若周边块为帧间块,则可以对帧间块的运动信息进行滤波,而滤波后的运动信息作为匹配块的运动信息。例如,可以将帧间块的运动信息和帧间块周边的至少一个块的运动信息进行加权计算,得到帧间块调整后的运动信息,作为匹配块的运动信息。
针对方式(2),若周边块为未编码块,则可以对未编码块的运动信息进行填充。例如,填充右边列中的未编码块时,可以由时域或者空域的运动信息直接填充,也可以由通过对时域或者空域的运动信息做一定的变换后得到的运动信息进行填充;或者,填充下边行中的未编码块时,可以由时域或者空域的运动信息直接填充,也可以由通过对时域或者空域的运动信息做一定的变换后得到的运动信息进行填充。
进一步的,则可以将未编码块的至少一个空域可用运动信息和/或时域可用运动信息确定为未编码块的运动信息;或,将未编码块的至少两个空域可用运动信息和/或时域可用运动信息进行加权计算,得到未编码块的运动信息。
针对方式(3),若周边块为帧内块,则可以利用其它帧间块的运动信息进行填充,或填充零运动矢量,或填充其它运动信息。基于此,可以根据帧内块周边的帧间块(如相邻的帧间块,或,不相邻的帧间块)的运动信息,确定所述帧内块的运动信息;或,为帧内块生成一个包含零运动矢量的运动信息。
针对方式(4),若当前图像块为边界块,即当前图像块的相邻位置不可用,则可以使用其它可用的块的运动信息进行填充,或者,填充零运动矢量,或填充其它运动信息。基于此,可以将配置块(即预设的任意可用块)确定为当前图像块的周边块,并根据空域可用运动信息生成配置块的运动信息。
以下结合几个具体的应用场景,对上述过程中如何对周边块的运动信息进行处理的过程进行详细说明。
应用场景1,从左下到右上进行4x4块的运动信息填充处理,其中,左下长度为当前图像块的宽度,右上长度为当前图像块的高度。对于某个周边块,如4x4块,如果采用帧内编码方式,则可以使用其旁边最近的4x4的帧间块的运动信息来填充,如果旁边两个帧间块距离填充块的距离相等,则选择上方块或者右边块。
参见图9C所示,对于左边列的帧内块A2、A3和A4,距离帧内块最近的帧间块为A1和A5,可以选择帧间块A1的运动信息来分别填充帧内块A2、A3和A4。此外,对于左边列的从上到下的第三个帧内块A4,距离这个帧内块A4最近的帧间块为A5,可以选择帧间块A5的运动信息来填充这个帧内块A4。对于上边行的帧内块B2、B3和B4,距离帧内块最近的帧间块为B1和B5,可以选择帧间块B1的运动信息来分别填充帧内块B2、B3和B4。此外,对于上边行的从左到右的第三个帧内块B4,距离最近的帧间块为B5,可以选择帧间块B5的运动信息来填充这个帧内块B4。
应用场景2,运动信息的滤波处理,将周边块的运动信息进行加权处理。
参见图9D所示,对于每一个帧间块的运动信息,比如帧间块A4的运动信息,可以由周围至少一个帧间块的运动信息和帧间块A4的运动信息加权得到。例如,可以由帧间块A4的运动信息与帧间块A5的运动信息加权得到,可以由帧间块A4的运动信息与帧间块A3的运动信息加权得到,可以由帧间块A4的运动信息与帧间块A5、A3的运动信息加权得到,或者可以是由帧间块A2、A3、A5、A6的运动信息和帧间块A4的运动信息加权得到。
应用场景3,对于周围未编码的块,参见图9E所示,灰色图像块B6、B7、C1至C4、E、D1至D3、A7、A8是未编码的块,可以利用周围可用的运动信息,包括时域(未示出)和空域(例如,图像块A1至A6、B1至B5、D)的可用运动信息对这些未编码的块进行填充,或者,可以采用至少两个可用运动信息的加权对这些未编码的块进行填充,或者,可以填充零运动矢量的运动信息,对此不做限制。
应用场景4,参见图9F所示,A3为帧内块,可以使用帧内块A3周围图像块的 可用的运动信息,确定帧内块A3的运动信息;或者,可以为帧内块A3生成一个包含零运动矢量的运动信息,对此运动信息的确定不做限制。
应用场景5,参见图9G所示,当前图像块是图像的边界块,B4、B5、B6和B7是当前图像块在边界之外的配置块,可以采用时域或者空域的可用运动信息对配置块B4、B5、B6和B7进行填充,或者,对至少两个空域的可用运动信息和/或时域的可用运动信息进行加权计算,利用加权计算后得到的可用运动信息对配置块B4、B5、B6和B7进行填充,或者,对配置块B4、B5、B6和B7填充零运动矢量的运动信息。
实施例11:本申请实施例提出一种解码方法,可以应用于解码端,包括:
步骤d1、创建当前图像块的运动信息预测模式候选列表。其中,所述运动信息预测模式候选列表可以包括至少一个运动信息预测模式。
步骤d2、从运动信息预测模式候选列表中选择当前图像块的目标运动信息预测模式。
步骤d3、根据目标运动信息预测模式确定当前图像块的目标运动信息。
其中,步骤d1-步骤d3的流程,可以参见上述实施例,在此不再赘述。
步骤d4、根据该目标运动信息对接收的编码比特流进行解码。
具体的,解码端在得到目标运动信息后,就可以根据目标运动信息对编码比特流进行解码,具体的解码方式可以参见传统方式,在此不再赘述。
实施例12:本申请实施例提出一种编码方法,可以应用于编码端,包括:
步骤e1、创建当前图像块的运动信息预测模式候选列表。其中,所述运动信息预测模式候选列表可以包括至少一个运动信息预测模式。
步骤e2、从运动信息预测模式候选列表中选择当前图像块的目标运动信息预测模式。
其中,步骤e1-步骤e3的流程,可以参见上述实施例,在此不再赘述。
步骤e3、根据目标运动信息预测模式对当前图像块进行编码得到编码比特流。
编码端在得到目标运动信息预测模式后,就可以根据目标运动信息预测模式对当前图像块进行编码,具体编码方式参见传统方式,在此不再赘述。
实施例13:参见图10所示,为编码端的处理流程示意图,编码端可以构建当前图像块的运动信息预测模式候选列表(1001),并从运动信息预测模式候选列表中选择目标运动信息预测模式(1002)。若使用根据目标运动信息预测模式确定的运动信息(1003判断结果为是),则将目标运动信息预测模式在运动信息预测模式候选列表中的索引信息携带进编码比特流(1004),若不使用目标运动信息(1003判断结果为否),则将其它运动信息携带进编码比特流(1005)。
参见图11所示,为解码端的处理流程示意图,解码端可以解析编码比特流中的指示信息(1101)。若指示信息指示采用根据目标运动信息预测模式确定的运动信息(1102判断结果为是),则构建当前图像块的运动信息预测模式候选列表(1103),根 据索引信息从运动信息预测模式候选列表中选择目标运动信息预测模式(1104),并利用目标运动信息预测模式推导当前图像块的目标运动信息(1105)。若指示信息指示不采用目标运动信息(1102判断结果为否),则采用其它运动信息(1106)。
在一个例子中,可以构建运动信息预测模式候选列表,候选列表中包含DC预测模式和角度预测模式的至少一种。其中,DC预测模式为当前图像块的周边块的运动信息的加权。周边块包含与当前图像块相邻的块,也包含非相邻的块,比如左下列和右上行。角度预测模式是指类似于帧内预测模式的原理,按照一定的角度对当前图像块内部的子块的运动信息进行预测。如水平、垂直、水平向上、水平向下以及垂直向右等5种角度,但是本方案并不局限于该5种,所有的角度都包含在本方案内。
对当前图像块的周边块进行参考运动信息的填充,可以包括以下至少一种:如果周边块是右边列,可以由时域或者空域的运动信息直接填充,也可以做一定的变换后填充;如果周边块是下边行,可以由时域或者空域的运动信息直接填充,也可以做一定的变换后填充;如果周边块是帧内编码块,则用其他帧间编码块的运动信息填充,或者填充零运动矢量,其它运动信息(除运动矢量外)可以自由选择;如果当前图像块的相邻位置不可用,则用其他可用的块的运动信息填充,或者填充零运动矢量,其它运动信息(除运动矢量外)可以自由选择。
在一个例子中,选用DC预测模式来对当前图像块的每个区域赋值运动信息时,包括对周围至少两个不同的运动信息进行加权计算以得到当前图像块的运动信息。
在一个例子中,选用角度预测模式来对当前图像块的每个区域赋值运动信息时,角度可以为水平角度模式,如第一行的区域均采用A1块的运动信息。
在一个例子中,选用角度预测模式来对当前图像块的每个区域赋值运动信息时,角度可以为水平角度模式。并且,在采用水平预测模式时,第一行的区域均采用A1块的运动信息。例如,可以对A1块的运动信息进行一定的缩放(scale)操作,然后将缩放操作得到的运动信息赋值给第一行的各个区域。其余几行的处理类似,其余角度预测模式也类似。
在一个例子中,选用角度预测模式来对当前图像块的每个区域赋值运动信息时,角度可以为水平角度模式。并且,在采用水平预测模式时,如果对应的A1块有多个不同的运动信息,则可选取A1块的多个不同运动信息中的任意一个运动信息,或者对A1块的多个不同运动信息中的至少两个运动信息进行加权处理,然后将加权处理得到的运动信息赋值给第一行的各个区域,其余几行类似,其余角度预测模式也类似。
在一个例子中,选用角度预测模式来对当前图像块的每个区域赋值运动信息时,若角度所对应的方向并不是恰好一个子块,则可以将角度左右两边至少两个运动信息进行加权处理,然后将加权处理得到的运动信息赋给当前图像块的区域。
在一个例子中,如果方案中的运动信息预测模式候选列表和其它方案的预测模式列表为同一个,则只需要采用一元截断码来编码本技术方案在运动信息预测模式候选列表中的索引位置信息,具体编码方式参见上述实施例。
在一个例子中,可以首先编码一个flag来确定是否使用运动信息预测模式,如 果使用运动信息预测模式,则编码端可固定一个运动信息预测模式,从而不需要任何的比特开销用于传输与运动信息预测模式相关的信息。
在一个例子中,可以首先解码一个flag来确定是否使用运动信息预测模式,如果使用运动信息预测模式,则采用一元截断码来解码具体的运动信息预测模式在运动信息预测模式候选列表中的索引信息,解码端只需要解到1为止即可,
在一个例子中,可以首先解码一个flag来确定是否使用运动信息预测模式,如果使用运动信息预测模式,则采用定长方式来解码具体的预测模式在候选列表中的索引信息。在一个例子中,如果本技术方案的列表与其他技术方案的列表为同一个,则采用现有方案来解码具体的预测模式在候选列表中的索引信息。
实施例14:基于与上述方法同样的申请构思,本申请实施例还提出一种运动信息确定装置,应用于解码端。如图12所示,为所述运动信息确定装置1200的结构图,包括:创建模块1201,用于创建当前图像块的运动信息预测模式候选列表,所述运动信息预测模式候选列表包括至少一个运动信息预测模式;选择模块1202,用于从所述运动信息预测模式候选列表中所述当前图像块的目标运动信息预测模式;确定模块1203,用于根据目标运动信息预测模式确定所述当前图像块的目标运动信息。
基于与上述方法同样的申请构思,本申请实施例还提出一种运动信息确定装置,应用于编码端。如图13所示,为所述运动信息确定装置1300的结构图,包括:创建模块1301,用于创建当前图像块的运动信息预测模式候选列表,其中,所述运动信息预测模式候选列表包括至少一个运动信息预测模式;选择模块1302,用于从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式。
本申请实施例提供的解码端设备,从硬件层面而言,其硬件架构示意图具体可以参见图14所示。解码端设备1400包括处理器141和机器可读存储介质142,其中:所述机器可读存储介质142存储有能够被所述处理器141执行的机器可执行指令;所述处理器141用于执行机器可执行指令,以实现本申请上述示例公开的方法。
本申请实施例提供的编码端设备,从硬件层面而言,其硬件架构示意图具体可以参见图15所示。编码端设备1500包括处理器151和机器可读存储介质152,其中:所述机器可读存储介质152存储有能够被所述处理器151执行的机器可执行指令;所述处理器151用于执行机器可执行指令,以实现本申请上述示例公开的方法。
基于与上述方法同样的申请构思,本申请实施例还提供一种机器可读存储介质,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被处理器执行时,能够实现本申请上述示例公开的方法。
其中,上述机器可读存储介质可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,机器可读存储介质可以是:RAM(Radom Access Memory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实 现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (23)

  1. 一种运动信息确定方法,应用于解码端,包括:
    创建当前图像块的运动信息预测模式候选列表,其中,所述运动信息预测模式候选列表包括至少一个运动信息预测模式;
    从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式;
    根据所述目标运动信息预测模式确定所述当前图像块的目标运动信息。
  2. 根据权利要求1所述的方法,其特征在于,所述运动信息预测模式包括以下任意一个或多个:
    第一运动信息预测模式,用于指示从所述当前图像块的周边块中选择指定的至少两个块作为匹配块,并将对所述匹配块的运动信息进行加权计算得到的运动信息作为所述当前图像块的目标运动信息;
    第二运动信息预测模式,用于指示预配置角度,以及根据所述预配置角度从所述当前图像块的周边块中为所述当前图像块内部的指定区域选择匹配块,并根据所述指定区域的匹配块的运动信息确定所述指定区域的目标运动信息,所述指定区域的匹配块是按照所述预配置角度和所述指定区域的位置从所述周边块中确定出的一个块或多个块;
    其中,所述周边块包括与当前图像块相邻的块;
    或者,所述周边块包括与当前图像块相邻的块和非相邻的块。
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述目标运动信息预测模式确定所述当前图像块的目标运动信息,包括:
    根据所述目标运动信息预测模式确定所述当前图像块对应的匹配块;
    根据所述匹配块的可用运动信息确定所述当前图像块的目标运动信息。
  4. 根据权利要求3所述的方法,其特征在于,所述根据所述目标运动信息预测模式确定所述当前图像块对应的匹配块,包括:
    若所述目标运动信息预测模式是所述第一运动信息预测模式,则根据所述第一运动信息预测模式,从所述当前图像块的周边块中选取至少两个块作为所述当前图像块的匹配块;
    若所述目标运动信息预测模式是所述第二运动信息预测模式,则根据所述当前图像块内部的指定区域的位置和所述第二运动信息预测模式指示的预配置角度,从所述当前图像块的周边块中确定出一个块或多个块作为所述指定区域的匹配块。
  5. 根据权利要求3所述的方法,其特征在于,若根据所述目标运动信息预测模式确定所述当前图像块对应的所述匹配块为帧内块,则:
    根据所述帧内块周边的帧间块的运动信息,生成所述帧内块的运动信息;或者,
    为所述帧内块生成一个包含零运动矢量的运动信息;或者,
    根据时域可用运动信息为所述帧内块生成一个运动信息。
  6. 根据权利要求2所述的方法,其特征在于,在根据所述目标运动信息预测模式确定所述当前图像块的目标运动信息之前,通过对任一周边块进行以下至少一种的处理,获取所述周边块的可用运动信息;
    若所述周边块为帧间块,将对所述帧间块的运动信息和所述帧间块周边的至少一个块的运动信息进行加权计算得到的运动信息作为所述帧间块调整后的运动信息;
    若所述周边块为未编码块,
    将所述未编码块的至少一个空域可用运动信息和/或时域可用运动信息确定为所述未编码块的运动信息;或者,
    将对所述未编码块的至少两个空域可用运动信息和/或时域可用运动信息进行加权计算得到的运动信息作为所述未编码块的运动信息;或者,
    为所述未编码块生成一个包含零运动矢量的运动信息;
    若所述周边块为帧内块,则
    根据所述帧内块周边的帧间块的运动信息,确定所述帧内块的运动信息;或者,
    为所述帧内块生成一个包含零运动矢量的运动信息;或者,
    根据时域可用运动信息为所述帧内块生成一个运动信息;
    若所述当前图像块为边界块,所述周边块包括至少一个配置块,则
    根据空域可用运动信息生成所述配置块的运动信息;或者,
    为所述配置块生成一个包含零运动矢量的运动信息;或者,
    根据时域可用运动信息为所述配置块生成一个运动信息。
  7. 根据权利要求3所述的方法,其特征在于,所述根据所述匹配块的可用运动信息确定所述当前图像块的目标运动信息,包括:
    若匹配块的数量为一个,则
    将一个匹配块的可用运动信息确定为所述当前图像块的目标运动信息;或者,
    将对一个匹配块的可用运动信息进行变换后得到的运动信息确定为所述当前图像块的目标运动信息;或者,
    若匹配块的数量为至少两个,则
    从至少两个匹配块中选择一个匹配块,并将选择的匹配块的可用运动信息确定为所述当前图像块的目标运动信息;或者,
    从至少两个匹配块中选择一个匹配块,将对选择的匹配块的可用运动信息进行变换后得到的运动信息确定为所述当前图像块的目标运动信息;或者,
    将对至少两个匹配块的可用运动信息进行加权运算后得到的运动信息确定为所述当前图像块的目标运动信息;
    将对至少两个匹配块的可用运动信息先进行变换,再进行加权运算后得到的运动信息确定为所述当前图像块的目标运动信息。
  8. 根据权利要求7所述的方法,其特征在于,所述对所述匹配块的可用运动信息进行变换,包括:
    在指定方向上对所述匹配块的可用运动信息进行伸缩变换。
  9. 根据权利要求1所述的方法,其特征在于,所述从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式,包括:
    接收来自编码端的编码比特流,所述编码比特流携带第一指示信息,所述第一指示信息用于指示所述目标运动信息预测模式的索引信息;
    基于所述第一指示信息,从所述运动信息预测模式候选列表中选择与所述索引信息所对应的运动信息预测模式,作为所述当前图像块的所述目标运动信息预测模式。
  10. 根据权利要求1所述的方法,其特征在于,所述方法还包括:
    若来自编码端的编码比特流携带第二指示信息,所述第二指示信息用于指示预配置 运动信息,则根据所述当前图像块的预配置运动信息确定所述当前图像块的目标运动信息;或者,
    若所述编码比特流携带第三指示信息,所述第三指示信息用于指示预配置差值信息,所述预配置差值信息用于指示运动矢量差值,则根据所述当前图像块的预配置差值信息确定所述当前图像块的目标运动信息。
  11. 一种运动信息确定方法,应用于编码端,包括:
    创建当前图像块的运动信息预测模式候选列表,其中,所述运动信息预测模式候选列表包括至少一个运动信息预测模式;
    从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式。
  12. 根据权利要求11所述的方法,其特征在于,所述运动信息预测模式包括以下任意一个或多个:
    第一运动信息预测模式,用于指示从所述当前图像块的周边块中选择指定的至少两个块作为匹配块,并将对所述匹配块的运动信息进行加权计算得到的运动信息作为所述当前图像块的目标运动信息;
    第二运动信息预测模式,用于指示预配置角度,以及根据所述预配置角度从所述当前图像块的周边块中为所述当前图像块内部的指定区域选择匹配块,并根据所述指定区域的匹配块的运动信息确定所述指定区域的目标运动信息,所述指定区域的匹配块是按照所述预配置角度和所述指定区域的位置从所述周边块中确定出的一个块或多个块;
    其中,所述周边块包括与当前图像块相邻的块;
    或者,所述周边块包括与当前图像块相邻的块和非相邻的块。
  13. 根据权利要求12所述的方法,其特征在于,所述从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式,包括:
    针对所述运动信息预测模式候选列表中的每个运动信息预测模式,
    根据所述运动信息预测模式,从所述当前图像块的周边块中确定所述当前图像块对应的匹配块;
    获取所述匹配块的可用运动信息;
    至少根据所述匹配块的可用运动信息,确定所述运动信息预测模式对应的率失真代价;
    根据所述运动信息预测模式候选列表中的每个运动信息预测模式对应的率失真代价,从所述运动信息预测模式候选列表中选择所述当前图像块的所述目标运动信息预测模式。
  14. 根据权利要求13所述的方法,其特征在于,所述根据所述运动信息预测模式,确定所述当前图像块对应的匹配块,包括:
    若所述运动信息预测模式是所述第一运动信息预测模式,则根据所述第一运动信息预测模式,从所述当前图像块的周边块中选取至少两个块作为所述当前图像块的匹配块;
    若所述运动信息预测模式是所述第二运动信息预测模式,则根据所述当前图像块内部的指定区域的位置和所述第二运动信息预测模式指示的预配置角度,从所述当前图像块的周边块中确定出一个块或多个块作为所述指定区域的匹配块。
  15. 根据权利要求13所述的方法,其特征在于,若根据所述运动信息预测模式确 定所述当前图像块对应的所述匹配块为帧内块,则:
    根据所述帧内块周边的帧间块的运动信息,生成所述帧内块的运动信息;或者,
    为所述帧内块生成一个包含零运动矢量的运动信息;或者,
    根据时域可用运动信息为所述帧内块生成一个运动信息。
  16. 根据权利要求13所述的方法,其特征在于,在所述获取所述匹配块的可用运动信息之前,通过对任一周边块进行以下至少一种的处理,获取所述周边块的可用运动信息;
    若所述周边块为帧间块,将对所述帧间块的运动信息和所述帧间块周边的至少一个块的运动信息进行加权计算得到的运动信息作为所述帧间块调整后的运动信息;
    若所述周边块为未编码块,则
    将所述未编码块的至少一个空域可用运动信息和/或时域可用运动信息确定为所述未编码块的运动信息;或者,
    将对所述未编码块的至少两个空域可用运动信息和/或时域可用运动信息进行加权计算得到的运动信息作为所述未编码块的运动信息;或者,
    为所述未编码块生成一个包含零运动矢量的运动信息;
    若所述周边块为帧内块,则
    根据所述帧内块周边的帧间块的运动信息,确定所述帧内块的运动信息;或者,
    为所述帧内块生成一个包含零运动矢量的运动信息;或者,
    根据时域可用运动信息为所述帧内块生成一个运动信息;
    若所述当前图像块为边界块,所述周边块包括至少一个配置块,则
    根据空域可用运动信息生成所述配置块的运动信息;或者,
    为所述配置块生成一个包含零运动矢量的运动信息;或者,
    根据时域可用运动信息为所述配置块生成一个运动信息。
  17. 根据权利要求13所述的方法,其特征在于,根据所述运动信息预测模式候选列表中的每个运动信息预测模式对应的率失真代价,从所述运动信息预测模式候选列表中选择所述当前图像块的所述目标运动信息预测模式,包括:
    基于每个运动信息预测模式对应的率失真代价,从所述运动信息预测模式候选列表中选择率失真代价最小的运动信息预测模式,作为所述当前图像块的所述目标运动信息预测模式。
  18. 根据权利要求11所述的方法,其特征在于,所述从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式之后,还包括:
    获取所述目标运动信息预测模式对应的第一率失真代价;
    获取所述当前图像块的预配置运动信息或者预配置差值信息对应的第二率失真代价,所述预配置差值信息用于指示运动矢量差值;
    若第一率失真代价小于第二率失真代价,向解码端发送携带第一指示信息的编码比特流,所述第一指示信息用于指示目标运动信息预测模式的索引信息。
  19. 根据权利要求18所述的方法,其特征在于,所述方法还包括:
    若所述第一率失真代价大于所述第二率失真代价,则
    向解码端发送携带第二指示信息的编码比特流,所述第二指示信息用于指示所述预配置运动信息;或者,
    向解码端发送携带第三指示信息的编码比特流,所述第三指示信息用于指示所述预配置差值信息。
  20. 一种解码方法,应用于解码端,包括:
    创建当前图像块的运动信息预测模式候选列表,其中,所述运动信息预测模式候选列表包括至少一个运动信息预测模式;
    从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式;
    根据所述目标运动信息预测模式确定所述当前图像块的目标运动信息;
    根据所述目标运动信息对接收的编码比特流进行解码。
  21. 一种编码方法,应用于编码端,包括:
    创建当前图像块的运动信息预测模式候选列表,其中,所述运动信息预测模式候选列表包括至少一个运动信息预测模式;
    从所述运动信息预测模式候选列表中选择所述当前图像块的目标运动信息预测模式;
    根据所述目标运动信息预测模式对所述当前图像块进行编码得到编码比特流。
  22. 一种解码端设备,包括处理器和机器可读存储介质,
    所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
    所述处理器用于执行机器可执行指令,以实现权利要求1-10任一所述的方法步骤,或者,实现权利要求20所述的方法步骤。
  23. 一种编码端设备,包括处理器和机器可读存储介质,
    所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令;
    所述处理器用于执行机器可执行指令,以实现权利要求12-19任一所述的方法步骤,或者,实现权利要求21所述的方法步骤。
PCT/CN2019/119622 2018-11-30 2019-11-20 视频图像编解码中的运动信息确定 Ceased WO2020108360A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811459061.9A CN111263144B (zh) 2018-11-30 2018-11-30 一种运动信息确定方法及其设备
CN201811459061.9 2018-11-30

Publications (1)

Publication Number Publication Date
WO2020108360A1 true WO2020108360A1 (zh) 2020-06-04

Family

ID=70852704

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/119622 Ceased WO2020108360A1 (zh) 2018-11-30 2019-11-20 视频图像编解码中的运动信息确定

Country Status (2)

Country Link
CN (3) CN115348443B (zh)
WO (1) WO2020108360A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125451A (zh) * 2021-12-01 2022-03-01 锐宸微(上海)科技有限公司 视频编码方法、视频编码装置及影像处理装置
CN116456100A (zh) * 2023-06-16 2023-07-18 深流微智能科技(深圳)有限公司 一种帧间编码树单元划分方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112004096B (zh) * 2020-07-20 2024-07-12 浙江大华技术股份有限公司 角度模式帧间预测方法、编码器及存储介质
CN112291565B (zh) * 2020-09-10 2021-09-14 浙江大华技术股份有限公司 视频编码方法及其相关装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013021617A1 (ja) * 2011-08-11 2013-02-14 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013059024A (ja) * 2011-08-12 2013-03-28 Jvc Kenwood Corp 画像復号装置、画像復号方法及び画像復号プログラム
CN103959775A (zh) * 2011-11-04 2014-07-30 高通股份有限公司 帧内模式视频译码
CN104205838A (zh) * 2012-03-22 2014-12-10 联发科技股份有限公司 可伸缩视频编码的方法以及装置
CN104702950A (zh) * 2011-04-01 2015-06-10 苗太平洋控股有限公司 以帧内预测模式解码图像的方法
CN105791862A (zh) * 2016-03-21 2016-07-20 杭州电子科技大学 基于边缘复杂度的三维视频编码深度图内部模式选择方法
CN106131547A (zh) * 2016-07-12 2016-11-16 北京大学深圳研究生院 视频编码中帧内预测模式的快速决策方法
CN106537915A (zh) * 2014-07-18 2017-03-22 联发科技(新加坡)私人有限公司 用于视频编码的运动向量导出的方法
CN108366256A (zh) * 2018-01-25 2018-08-03 西安电子科技大学 一种hevc帧内预测模式快速选择系统及方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101365574B1 (ko) * 2007-01-29 2014-02-20 삼성전자주식회사 영상 부호화 방법 및 장치, 복호화 방법 및 장치
US20090316042A1 (en) * 2008-06-19 2009-12-24 Chin-Chuan Liang Video processing methods and related devices for determining target motion vector
KR101770662B1 (ko) * 2010-07-20 2017-08-23 가부시키가이샤 엔.티.티.도코모 화상 예측 복호 장치 및 화상 예측 복호 방법
US8755437B2 (en) * 2011-03-17 2014-06-17 Mediatek Inc. Method and apparatus for derivation of spatial motion vector candidate and motion vector prediction candidate
WO2013085282A1 (ko) * 2011-12-05 2013-06-13 엘지전자 주식회사 인트라 예측 방법 및 장치
WO2015124110A1 (en) * 2014-02-21 2015-08-27 Mediatek Singapore Pte. Ltd. Method of video coding using prediction based on intra picture block copy
CN104869399A (zh) * 2014-02-24 2015-08-26 联想(北京)有限公司 一种信息处理方法及电子设备
US9542603B2 (en) * 2014-11-17 2017-01-10 Polycom, Inc. System and method for localizing a talker using audio and video information
CN108293131B (zh) * 2015-11-20 2021-08-31 联发科技股份有限公司 基于优先级运动矢量预测子推导的方法及装置
JP6643095B2 (ja) * 2016-01-15 2020-02-12 キヤノン株式会社 像ブレ補正装置及びその制御方法、プログラム、記憶媒体
CN107094260A (zh) * 2016-02-17 2017-08-25 浙江大学 导出视差矢量和运动矢量的方法和装置
KR102684942B1 (ko) * 2016-03-17 2024-07-12 세종대학교산학협력단 인트라 예측 기반의 비디오 신호 처리 방법 및 장치

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104702950A (zh) * 2011-04-01 2015-06-10 苗太平洋控股有限公司 以帧内预测模式解码图像的方法
WO2013021617A1 (ja) * 2011-08-11 2013-02-14 株式会社Jvcケンウッド 動画像符号化装置、動画像符号化方法及び動画像符号化プログラム、並びに動画像復号装置、動画像復号方法及び動画像復号プログラム
JP2013059024A (ja) * 2011-08-12 2013-03-28 Jvc Kenwood Corp 画像復号装置、画像復号方法及び画像復号プログラム
CN103959775A (zh) * 2011-11-04 2014-07-30 高通股份有限公司 帧内模式视频译码
CN104205838A (zh) * 2012-03-22 2014-12-10 联发科技股份有限公司 可伸缩视频编码的方法以及装置
CN106537915A (zh) * 2014-07-18 2017-03-22 联发科技(新加坡)私人有限公司 用于视频编码的运动向量导出的方法
CN105791862A (zh) * 2016-03-21 2016-07-20 杭州电子科技大学 基于边缘复杂度的三维视频编码深度图内部模式选择方法
CN106131547A (zh) * 2016-07-12 2016-11-16 北京大学深圳研究生院 视频编码中帧内预测模式的快速决策方法
CN108366256A (zh) * 2018-01-25 2018-08-03 西安电子科技大学 一种hevc帧内预测模式快速选择系统及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125451A (zh) * 2021-12-01 2022-03-01 锐宸微(上海)科技有限公司 视频编码方法、视频编码装置及影像处理装置
CN116456100A (zh) * 2023-06-16 2023-07-18 深流微智能科技(深圳)有限公司 一种帧间编码树单元划分方法及装置
CN116456100B (zh) * 2023-06-16 2023-08-29 深流微智能科技(深圳)有限公司 一种帧间编码树单元划分方法及装置

Also Published As

Publication number Publication date
CN111263144A (zh) 2020-06-09
CN115348442A (zh) 2022-11-15
CN115348443B (zh) 2024-09-24
CN115348443A (zh) 2022-11-15
CN111263144B (zh) 2022-07-01
CN115348442B (zh) 2024-09-24

Similar Documents

Publication Publication Date Title
CN109819255B (zh) 一种编解码方法及其设备
WO2020134969A1 (zh) 一种编解码方法及其设备
WO2020108360A1 (zh) 视频图像编解码中的运动信息确定
CN112135144B (zh) 一种编解码方法、装置及其设备
CN111698500B (zh) 一种编解码方法、装置及其设备
WO2020057559A1 (zh) 一种解码、编码方法及其设备
WO2021244496A1 (zh) 一种编解码方法、装置及其设备
CN112449181B (zh) 一种编解码方法、装置及其设备
CN111510726B (zh) 一种编解码方法及其设备
CN112565747B (zh) 一种解码、编码方法、装置及其设备
CN112543322B (zh) 一种解码、编码方法、装置及其设备
CN112291558B (zh) 一种编解码方法、装置及其设备
CN112449180B (zh) 一种编解码方法、装置及其设备
CN113873257B (zh) 一种运动信息候选列表的构建方法、装置及其设备
CN112422971B (zh) 一种编解码方法、装置及其设备
CN112055220B (zh) 一种编解码方法、装置及其设备
WO2020177747A1 (zh) 编解码方法与装置、编码端设备和解码端设备
CN113709486B (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: 19889838

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

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 19889838

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 08/12/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19889838

Country of ref document: EP

Kind code of ref document: A1