WO2020140216A1 - 视频处理方法和装置 - Google Patents
视频处理方法和装置 Download PDFInfo
- Publication number
- WO2020140216A1 WO2020140216A1 PCT/CN2019/070152 CN2019070152W WO2020140216A1 WO 2020140216 A1 WO2020140216 A1 WO 2020140216A1 CN 2019070152 W CN2019070152 W CN 2019070152W WO 2020140216 A1 WO2020140216 A1 WO 2020140216A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- current block
- size
- block
- indication information
- equal
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/105—Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/103—Selection of coding mode or of prediction mode
- H04N19/109—Selection of coding mode or of prediction mode among a plurality of temporal predictive coding modes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/12—Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
- H04N19/122—Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods 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/13—Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods 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/17—Methods 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/176—Methods 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/513—Processing of motion vectors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/523—Motion estimation or motion compensation with sub-pixel accuracy
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/503—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
- H04N19/51—Motion estimation or motion compensation
- H04N19/577—Motion compensation with bidirectional frame interpolation, i.e. using B-pictures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/50—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
- H04N19/59—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial sub-sampling or interpolation, e.g. alteration of picture size or resolution
Definitions
- the present application relates to the field of video encoding and decoding, and more specifically, to a video processing method and device.
- Inter prediction is an important part of video codec technology.
- the relevant video codec standard introduces adaptive motion vector accuracy (adaptive motion vector resolution, AMVR) technology.
- AMVR adaptive motion vector resolution
- AMVR is set with motion vectors with full pixel precision and motion vectors with sub-pixel precision.
- sub-pixel precision motion vectors are used for inter-frame prediction, the image in the reference frame needs to be interpolated, causing an increase in data throughput.
- the present application provides a video processing method and device, which can reduce data throughput while ensuring coding performance as much as possible.
- a video processing method which includes: acquiring a current block; if the size of the current block is greater than or equal to a preset size, adopting a motion vector with a precision of whole pixel precision or sub-pixel precision to the The current block is inter-predicted; if the size of the current block is less than or equal to the preset size, an inter-prediction is performed on the current block using a motion vector with a precision of whole pixels.
- a video processing device including: a memory for storing code; a processor for reading code in the memory to perform the following operations: acquiring a current block; if the size of the current block Greater than or equal to the preset size, adopting a motion vector of one-pixel precision or sub-pixel precision to perform inter prediction on the current block; if the size of the current block is less than or equal to the preset size, use Motion vectors with integer pixel accuracy perform inter prediction on the current block.
- a computer-readable storage medium on which code for executing the method of the first aspect is stored.
- a computer program product including code for performing the method of the first aspect.
- Figure 1 is a schematic diagram of the video encoding process.
- FIG. 2 is a schematic diagram of an 8 ⁇ 8 image block and a 4 ⁇ 4 image block.
- FIG. 3 is a schematic flowchart of a video processing method provided by an embodiment of the present application.
- FIG. 4 is a schematic structural diagram of a video processing device provided by an embodiment of the present application.
- This application can be applied to a variety of video coding standards, such as H.264, high efficiency video coding (HEVC), universal video coding (versatile video coding, VVC), audio and video coding standard (audio video coding standard, AVS), AVS+, AVS2 and AVS3 etc.
- video coding standards such as H.264, high efficiency video coding (HEVC), universal video coding (versatile video coding, VVC), audio and video coding standard (audio video coding standard, AVS), AVS+, AVS2 and AVS3 etc.
- the video coding process mainly includes prediction, transformation, quantization, entropy coding and other parts.
- Prediction is an important part of mainstream video coding technology. Prediction can be divided into intra prediction and inter prediction. Inter prediction mainly includes motion estimation and motion compensation processes. The following is an example of the motion compensation process.
- the coding region may also be called a coding tree unit (CTU).
- the size of the CTU may be, for example, 64 ⁇ 64 or 128 ⁇ 128 (units are pixels, and the units will be omitted for similar descriptions hereinafter).
- Each CTU can be divided into square or rectangular image blocks.
- the image block may also be referred to as a coding unit (CU).
- CU coding unit
- the current CU to be encoded will be referred to as a current block.
- a similar block of the current block can be found from the reference frame (which may be a reconstructed frame near the time domain) as the prediction block of the current block.
- the relative displacement between the current block and the prediction block is called a motion vector (motion vector, MV).
- the process of acquiring motion vectors is the process of motion estimation.
- Motion compensation can be understood as the process of obtaining a prediction block using motion vectors and reference frames.
- the prediction block obtained by this process may be different from the original current block. Therefore, the residuals of the prediction block and the current block may be transformed and quantized. Wait for the operation to pass to the decoder.
- the encoding side also transfers the motion vector information to the decoding side. In this way, the decoding end can reconstruct the current block through the motion vector, the reference frame of the current block, the prediction block and the residual of the current block.
- the process described above is the general process of inter prediction.
- the inter prediction technology mainly includes forward prediction, backward prediction, and bidirectional prediction.
- Forward prediction is to use the previous reconstructed frame ("historical frame") to predict the current frame.
- Backward prediction is to use the frame after the current frame (“future frame”) to predict the current frame.
- Bidirectional prediction uses not only "historical frames” but also "future frames” to predict the current frame.
- AMVR adaptive motion vector resolution
- the AMVR is provided with various precision motion vectors, and the various precisions may include whole pixel precision or sub-pixel precision.
- AMVR may include motion vectors with 1 pixel accuracy, 4 pixel accuracy (1 pixel accuracy and 4 pixel accuracy both belong to whole pixel accuracy) and 1/4 pixel accuracy (belonging to sub-pixel accuracy).
- AMVR may include 1 pixel accuracy, 4 pixel accuracy, 1/4 pixel accuracy, 1/8 pixel accuracy, 1/16 pixel accuracy, and so on.
- the encoder makes AMVR decisions, adaptively selects the motion vector accuracy matching the current block from a variety of motion vector accuracy, and writes the indication information (or AMVR decision result) corresponding to the motion vector accuracy Into the code stream, and passed to the decoder.
- the decoding end can obtain the indication information from the code stream, and use the motion vector accuracy indicated by the indication information to perform inter prediction.
- the image blocks in the reference frame need to be interpolated.
- the interpolation process needs to use multiple pixels around the current block, which will lead to an increase in data throughput. Therefore, some related technologies may prohibit the current block that meets certain conditions from performing inter prediction or the current block that meets certain conditions from performing some type of inter prediction (such as bidirectional inter prediction) to avoid excessive data throughput. Big.
- the related art directly prohibits certain types of inter prediction of a current block of a certain size, which may cause a decrease in coding performance.
- the increase in data throughput is caused by sub-pixel precision motion vectors. Therefore, for some type of inter prediction (such as bidirectional prediction) of the current block of a certain size, As long as the inter-prediction process corresponding to sub-pixel precision motion vectors is prohibited, the effect of reducing data throughput can be achieved, and there is no need to prohibit inter-prediction corresponding to whole pixel precision motion vectors.
- FIG. 3 includes steps S310-S330, and these steps are described in detail below.
- step S310 the current block is acquired.
- step S320 if the size of the current block is greater than or equal to the preset size, an inter-prediction is performed on the current block by using a motion vector with a precision of whole pixel precision or sub-pixel precision.
- a precision motion vector is selected from the precision of whole pixels and the precision of sub-pixels to perform inter prediction on the current block.
- the whole pixel precision refers to the pixel precision being an integer multiple of 1 pixel (including 1 pixel).
- the whole pixel accuracy may include, for example, one or more of the following pixel accuracy: 1 pixel and 4 pixels.
- the whole pixel accuracy mentioned in the embodiments of the present application may include part or all of the pixel accuracy of the whole pixel accuracy provided by AMVR.
- Sub-pixel accuracy means that the pixel accuracy is less than 1 pixel.
- the sub-pixel accuracy may include, for example, one or more of the following pixel accuracy: 1/4, 1/8, and 1/16.
- the sub-pixel accuracy mentioned in the embodiments of the present application may include part or all of the sub-pixel accuracy provided by AMVR.
- the embodiment of the present application does not specifically limit the preset size, and can be set according to actual needs. For example, it may be 16 ⁇ 16 or 8 ⁇ 8.
- step S330 if the size of the current block is less than or equal to the preset size, an inter-pixel prediction is performed on the current block using a motion vector with a precision of whole pixels.
- step S330 may include: if the size of the current block is smaller than the preset size, inter-prediction of the current block is performed using a motion vector with full pixel precision; as another possible implementation, step S330 may Including: if the size of the current block is less than or equal to the preset size, inter-prediction of the current block is carried out using motion vectors with full pixel precision.
- the inter prediction in steps S320-S330 may refer to unidirectional prediction, bidirectional prediction, and may include both unidirectional prediction and bidirectional prediction.
- the method shown in FIG. 3 can be applied to unidirectional prediction, bidirectional prediction, or both unidirectional prediction and bidirectional prediction.
- inter prediction in steps S320-S330 refers to bi-directional prediction, for uni-directional prediction, even if the size of the current block is less than or equal to the above-mentioned preset size, sub-pixel accuracy To forecast.
- steps S320-S330 can be regarded as AMVR-based inter-prediction processes, the difference is that the AMVR-based inter-prediction process described in step S320 includes sub-pixel accuracy, and the step S330-based The AMVR inter-frame prediction process does not include sub-pixel accuracy.
- the size of the current block is less than or equal to the preset size, it is prohibited to use sub-pixel precision motion vectors for some type of inter prediction, rather than completely prohibiting it from performing this type of inter prediction , So that the coding performance can be guaranteed as much as possible while reducing the data throughput.
- the steps S320-S330 can be replaced by: if the size of the current block is the target size, the current block is bidirectionally predicted using motion vectors with full pixel precision, and the bidirectionally predicting the current block without subpixel motion vectors is used.
- the pixel accuracy can be 1 whole pixel accuracy or 4 pixel accuracy.
- the target size may be, for example, one or more of the following sizes: 4 ⁇ 4 or 4 ⁇ 8 or 8 ⁇ 4.
- AMVR decision can be made on the bidirectional prediction process of the current block, but in the AMVR decision process, the decision process of sub-pixel accuracy can be skipped, and only the decision process of whole pixel accuracy is executed Part or all of the decision-making process.
- the bidirectional prediction process for the current block if the motion vector accuracy is an integer pixel, bidirectional prediction is performed based on the motion vector, rather than skipping the integer pixel bidirectional prediction process as in the related art. In this way, coding performance can be improved as much as possible while maintaining data throughput and bandwidth.
- the method shown in FIG. 3 can be applied to the encoder and the decoder.
- the step of performing inter prediction on the current block in FIG. 3 may include: determining the prediction block of the current block; calculating the current according to the original block and the prediction block of the current block The residual block of the block. For example, the difference between the original block and the predicted block corresponding to the current block may be calculated to obtain the residual block.
- the encoding end may also encode the indication information of the accuracy of the motion vector corresponding to the current block.
- the indication information has M bits
- the indication information has N bits
- M and N are both positive integers
- N is less than or Equal to M.
- the indication information has M bits
- the indication information has N bits
- M and N are both positive integers not less than 1, and N Less than or equal to M.
- the bit mentioned here may be the bit information actually written into the code stream during actual encoding or actually obtained from the code stream during decoding, or may refer to the bin used in the entropy encoding or entropy decoding process.
- M can be 2 bits, where "0” represents the accuracy of the current block's motion vector is 1/4 pixel, "10” represents the current block's motion vector accuracy is 1 pixel, and "11” represents the current block's motion vector accuracy is 4
- N can be 1 bit, where "0” represents the accuracy of the motion vector of the current block is 1 pixel, and "1” represents the accuracy of the motion vector of the current block is 4 pixels.
- the encoding end may also write the indication information of the accuracy of the motion vector corresponding to the current block into the code stream.
- the current block if the size of the current block is smaller than the preset size, the current block does not use sub-pixel precision for inter-frame prediction. Therefore, fewer bits can be used to represent the decision result of AMVR, thereby reducing the data amount of the code stream .
- the encoding end may not encode the indication information of the motion vector accuracy of the current block.
- the decoding end may not obtain the indication information of the motion vector accuracy of the current block from the actual code stream.
- the codec determines the motion vector accuracy according to the agreed method according to the size of the current block. When the size of the current block is greater than or equal to the preset size, the current block adopts 1/4 pixel motion vector accuracy, and when the size of the current block is less than or equal to the preset size, the current block adopts 1 pixel motion vector accuracy.
- the preset size is 4x4
- the current block adopts 1/4 pixel motion vector accuracy
- the current block adopts 1 pixel motion vector accuracy
- the preset size is 8x8, when the size of the current block is greater than or equal to 8x8, the current block uses 1/4 pixel motion vector accuracy, and when the size of the current block is less than 8x8, the current block uses a 1 pixel motion vector Precision.
- the above method can be applied when the AMVR tool is closed.
- the above 1/4 pixel motion vector accuracy means that the motion vector is incremented in units of 1/4 pixels, or the motion vector difference value is incremented in 1/4 pixels;
- the above 1 pixel motion vector accuracy means that the motion vector is in units of 1 pixel Increasing, or the motion vector difference is incremented in units of 1 pixel;
- the above-mentioned 4-pixel motion vector accuracy means that the motion vector is incremented in units of 4 pixels, or the motion vector difference is incremented in units of 4 pixels.
- the step of performing inter prediction on the current block in FIG. 3 may include: determining the prediction block and the residual block of the current block; according to the prediction block and the residual block of the current block
- the difference block calculates the reconstructed block of the current block.
- the sum of the prediction block and the residual block of the current block may be used as the reconstructed block of the current block.
- the prediction block of the current block can be determined using the motion information corresponding to the current block.
- the motion information may include an index of motion vector prediction and indication information of motion vector accuracy, and the like. This information can be obtained from the code stream.
- the indication information of the accuracy of the motion vector corresponding to the current block if the size of the current block is greater than or equal to the preset size, the indication information may have M bits, and if the size of the current block is less than the preset size, the indication information may have N bits, Both M and N are positive integers, and N is less than or equal to M.
- the indication information of the motion vector accuracy corresponding to the current block if the size of the current block is greater than the preset size, the indication information may have M bits, and if the size of the current block is less than or equal to the preset size, the indication information may have N Bits, M and N are positive integers, and N is less than or equal to M.
- M and N corresponds to the encoding end, and the specific discussion can be referred to above, and will not be described in detail here.
- the device 40 of FIG. 4 includes a memory 42 and a processor 44.
- the memory 42 may be used to store codes.
- the processor 44 may be used to read the code in the memory to perform the following operations: obtain the current block; if the size of the current block is greater than or equal to the preset size, use one of the precision of whole pixel precision and sub-pixel precision Inter-prediction of the current block by a motion vector of; if the size of the current block is less than or equal to the preset size, inter-prediction of the current block is performed using a motion vector with a precision of whole pixels.
- the inter prediction of the current block may include: determining a prediction block of the current block; and calculating a residual block of the current block according to the original block and the prediction block of the current block.
- the processor 44 may also perform the following operation: encoding the indication information of the motion vector accuracy corresponding to the current block, wherein: if the size of the current block is greater than or equal to the preset size, the indication information has M bits, if the size of the current block is smaller than the preset size, the indication information has N bits, M
- the processor 44 may also perform the following operation: encoding the indication information of the motion vector accuracy corresponding to the current block, wherein: if the size of the current block is greater than the preset size, the indication information has M bits, if the size of the current block is less than or equal to the preset size, the indication information has N bits, M and N are both positive integers, and N is less than or equal to M.
- the inter prediction of the current block may include: determining the prediction block and the residual block of the current block; calculating the current block's current block according to the prediction block and the residual block of the current block Reconstruct the block.
- the processor 44 may also perform the following operation: obtaining the indication information of the accuracy of the motion vector corresponding to the current block from the code stream, wherein: if the size of the current block is greater than or equal to the preset size , The indication information has M bits, if the size of the current block is smaller than the preset size, the indication information has N bits, M
- the processor 44 may also perform the following operation: obtaining the indication information of the accuracy of the motion vector corresponding to the current block from the code stream, wherein: if the size of the current block is greater than the preset size, the The indication information has M bits, if the size of the current block is less than or equal to the preset size, the indication information has N bits, M
- the inter prediction is bidirectional prediction.
- the preset size is 8 ⁇ 8 or 4 ⁇ 4.
- the whole pixel accuracy includes one or more of the following pixel accuracy: 1 pixel and 4 pixels.
- the sub-pixel accuracy includes one or more of the following pixel accuracy: 1/4, 1/8, and 1/16.
- the computer program product includes one or more computer instructions.
- the computer may be a general-purpose computer, a dedicated computer, a computer network, or other programmable devices.
- the computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be from a website site, computer, server or data center Transmission to another website, computer, server or data center via wired (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.).
- the computer-readable storage medium may be any available medium that can be accessed by a computer or a data storage device including one or more available medium integrated servers, data centers, and the like.
- the available media may be magnetic media (eg, floppy disk, hard disk, magnetic tape), optical media (eg, digital video disc (DVD)), or semiconductor media (eg, solid state disk (SSD)), etc. .
- the disclosed system, device, and method may be implemented in other ways.
- the device embodiments described above are only schematic.
- the division of the unit is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
- the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may be in electrical, mechanical, or other forms.
- the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place or may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
- each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- Discrete Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
提供一种视频处理方法和装置。该方法包括:如果当前块的尺寸大于或等于预设尺寸,采用整像素精度和亚像素精度中的一种精度的运动矢量对所述当前块进行帧间预测;如果当前块的尺寸小于或等于所述预设尺寸,采用整像素精度的运动矢量对所述当前块进行帧间预测。如果当前块的尺寸小于或等于预设尺寸,则禁止其采用亚像素精度的运动矢量进行帧间预测,而非像相关技术那样完全禁止当前块执行该帧间预测,从而可以在降低数据吞吐量的同时尽量保证编码性能。
Description
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
本申请涉及视频编解码领域,并且更为具体地,涉及一种视频处理方法和装置。
帧间预测是视频编解码技术的重要组成部分。为了提高视频压缩质量,相关视频编解码标准引入了自适应运动矢量精度(adaptive motion vector resolution,AMVR)技术。
AMVR设置有整像素精度的运动矢量和亚像素精度的运动矢量。采用亚像素精度的运动矢量进行帧间预测时,需要对参考帧中的图像进行插值,引起数据吞吐量的增加。
发明内容
本申请提供一种视频处理方法和装置,能够在降低数据吞吐量的同时尽量保证编码性能。
第一方面,提供一种视频处理方法,包括:获取当前块;如果所述当前块的尺寸大于或等于预设尺寸,采用整像素精度和亚像素精度中的一种精度的运动矢量对所述当前块进行帧间预测;如果所述当前块的尺寸小于或等于所述预设尺寸,采用整像素精度的运动矢量对所述当前块进行帧间预测。
第二方面,提供一种视频处理装置,包括:存储器,用于存储代码;处理器,用于读取所述存储器中的代码,以执行如下操作:获取当前块;如果所述当前块的尺寸大于或等于预设尺寸,采用整像素精度和亚像素精度中的一种精度的运动矢量对所述当前块进行帧间预测;如果所述当前块的尺寸小于或等于所述预设尺寸,采用整像素精度的运动矢量对所述当前块进行帧间 预测。
第三方面,提供一种计算机可读存储介质,其上存储有用于执行第一方面所述的方法的代码。
第四方面,提供一种计算机程序产品,包括用于执行第一方面所述的方法的代码。
图1是视频编码过程的示意图。
图2是8×8的图像块和4×4的图像块的示意图。
图3是本申请实施例提供的视频处理方法的示意性流程图。
图4是本申请实施例提供的视频处理装置的示意性结构图。
本申请可应用于多种视频编码标准,如H.264,高效率视频编码(high efficiency video coding,HEVC),通用视频编码(versatile video coding,VVC),音视频编码标准(audio video coding standard,AVS),AVS+,AVS2以及AVS3等。
如图1所示,视频编码过程主要包括预测、变换、量化、熵编码等部分。预测是主流视频编码技术的重要组成部分。预测可以分为帧内预测和帧间预测。帧间预测主要包含运动估计和运动补偿过程。下面对运动补偿过程进行举例说明。
例如,对于一帧图像,可以先将其划分成一个或多个编码区域。该编码区域也可称为编码树单元(coding tree unit,CTU)。CTU的尺寸例如可以是64×64,也可以是128×128(单位为像素,后文的类似描述均省略单位)。每个CTU可以划分成方形或矩形的图像块。该图像块也可称为编码单元(coding unit,CU),后文会将待编码的当前CU称为当前块。
在对当前块进行帧间预测时,可以从参考帧(可以是时域附近的已重构帧)中寻找当前块的相似块,作为当前块的预测块。当前块与预测块之间的相对位移称为运动矢量(motion vector,MV)。运动矢量的获取过程即为运动估计过程。运动补偿可以理解为利用运动矢量和参考帧得到预测块的过程,此过程得到的预测块可能与原始的当前块有一定的差别,因此,可以将预测 块和当前块的残差经过变换、量化等操作之后传递至解码端。除此之外,编码端还将运动矢量的信息传递至解码端。这样一来,解码端通过运动矢量、当前块的参考帧、预测块和当前块的残差,可以重构出当前块。以上描述的过程即为帧间预测的大致过程。
帧间预测技术主要包括前向预测、后向预测、双向预测等。前向预测是利用前一重构帧(“历史帧”)对当前帧进行预测。后向预测是利用当前帧之后的帧(“将来帧”)对当前帧进行预测。双向预测是不仅利用“历史帧”,也利用“将来帧”对当前帧进行预测。
上文描述了运动估计的过程。由于自然物体运动的连续性,物体在相邻两帧之间的运动矢量不一定以整像素(整像素可以是1个像素,也可以是多个像素)为单位。因此,为了提高运动矢量的精确程度,相关技术引入亚像素(或称分数像素)精度的运动矢量,如高效率视频编码(high efficiency video coding,HEVC)对亮度分量引入了1/4像素精度的运动矢量。由于数字视频图像不存在亚像素处的样值,为了支持1/K倍的亚像素精度的运动矢量,通常会对视频图像在行方向和列方向进行K倍内插,以获取亚像素处的样值,然后根据插值之后的图像进行运动估计。
相关技术引入了自适应运动矢量精度(adaptive motion vector resolution,AMVR)技术。AMVR设置有多种精度的运动矢量,且该多种精度可以包括整像素精度,也可以包括亚像素精度。例如,AMVR可以包括1像素精度、4像素精度(1像素精度和4像素精度均属于整像素精度)和1/4像素精度(属于亚像素精度)的运动矢量。又如,AMVR可以包括1像素精度、4像素精度、1/4像素精度、1/8像素精度、1/16像素精度等。在编码端,编码器会进行AMVR决策,自适应地从多种运动矢量精度中选取与当前块匹配的运动矢量精度,并将该运动矢量精度对应的指示信息(或称AMVR的决策结果)写入码流,并传递至解码端。解码端可以从码流中获取该指示信息,并采用该指示信息指示的运动矢量精度进行帧间预测。
前文已经指出,为了支持亚像素精度的运动矢量,需要对参考帧中的图像块进行插值,插值过程需要用到多个当前块周围的像素点,这样会导致数据吞吐量的增加。因此,有些相关技术可能会禁止满足某些条件的当前块进行帧间预测或禁止满足某些条件的当前块进行某种类型的帧间预测(如双向帧间预测),以避免数据吞吐量过大。
举例说明,假设当前块为如图2左侧所示的8×8的图像块,如果采用1/4像素精度的运动矢量对该当前块进行双向预测,则需要利用当前块的参考块中的像素点,以及当前块的参考块周围的像素点来得到内插后的1/4像素点,此过程需要用到(8+7)×(8+7)×2=450个参考像素点。如图2右侧所示,8×8的图像块可以被分割为4个4×4的图像块。假设当前块的尺寸为4×4,如果采用1/4像素精度的运动矢量对该当前块进行双向预测,需要用到(4+7)×(4+7)×2=242个参考像素点,4个4×4的图像块共需要添加242×4=968个参考像素点。通过对比可以看出,与8×8的当前块相比,如果对4×4的当前块进行双向预测,数据吞吐量会增加115%。因此,为了避免数据吞吐量增长过大,有些相关技术可能会禁止4×4的当前块执行双向预测。
相关技术将某种尺寸的当前块的某种类型的帧间预测直接禁止掉,会导致编码性能下降。实际上,如前文所述,数据吞吐量的增大是由于亚像素精度的运动矢量引起的,因此,对于某种尺寸的当前块的某种类型的帧间预测(如双向预测)而言,只要禁止掉亚像素精度的运动矢量对应的帧间预测过程,就可以起到降低数据吞吐量的效果,没有必要将整像素精度的运动矢量对应的帧间预测也一并禁止掉。
下面结合图3,详细描述本申请实施例提供的视频处理方法。图3包括步骤S310-S330,下面对这些步骤进行详细描述。
在步骤S310,获取当前块。
在步骤S320,如果当前块的尺寸大于或等于预设尺寸,采用整像素精度和亚像素精度中的一种精度的运动矢量对当前块进行帧间预测。或者,从整像素精度和亚像素精度中选取出一种精度的运动矢量对当前块进行帧间预测。
整像素精度指的是像素精度为1个像素的整数倍(包括1个像素)。整像素精度例如可以包括以下像素精度中的一种或多种:1像素和4像素。在某些实施例中,本申请实施例提及的整像素精度可以包括AMVR提供的整像素精度中的部分或全部像素精度。
亚像素精度指的是像素精度小于1个像素。亚像素精度例如可以包括以下像素精度中的一种或多种:1/4,1/8和1/16。在某些实施例中,本申请实施例提及的亚像素精度可以包括AMVR提供的亚像素精度中的部分或全部像素精度。
本申请实施例对预设尺寸不做具体限定,可以根据实际需要设定。例如可以是16×16,也可以是8×8。
在步骤S330,如果当前块的尺寸小于或等于预设尺寸,采用整像素精度的运动矢量对当前块进行帧间预测。
作为一种可能的实现方式,步骤S330可以包括:如果当前块的尺寸小于预设尺寸,采用整像素精度的运动矢量对当前块进行帧间预测;作为另一种可能的实现方式,步骤S330可以包括:如果当前块的尺寸小于或等于预设尺寸,采用整像素精度的运动矢量对当前块进行帧间预测。
步骤S320-S330中的帧间预测可以指单向预测,也可以指双向预测,也可以既包括单向预测,也包括双向预测。换句话说,图3所示的方法可以适用于单向预测,也可以适用于双向预测,也可以既适用于单向预测,也适用于双向预测。例如,假设步骤S320-S330中的帧间预测指的是双向预测,则对于单向预测而言,即使当前块的尺寸小于或等于上述预设尺寸,也可以对当前块执行亚像素精度的单向预测。
在某些实施例中,步骤S320-S330均可看成是基于AMVR的帧间预测过程,不同之处在于,步骤S320描述的基于AMVR的帧间预测过程包含亚像素精度,步骤S330描述的基于AMVR的帧间预测过程不包含亚像素精度。
本申请实施例中,如果当前块的尺寸小于或等于预设尺寸,则禁止其采用亚像素精度的运动矢量进行某种类型的帧间预测,而非完全禁止其执行该种类型的帧间预测,从而可以在降低数据吞吐量的同时尽量保证编码性能。
由于当前的通用视频编码(versatile video coding,VVC)禁掉了尺寸小于8×8的某些当前块(如4×4的当前块)的双向预测过程,因此,在某些实施例中,步骤S320-S330可替换为:如果当前块的尺寸为目标尺寸,则采用整像素精度的运动矢量对当前块进行双向预测,不采用亚像素精度的运动矢量对当前块进行双向预测,所采用的整像素精度可以为1整像素精度或4像素精度。该目标尺寸例如可以是以下尺寸中的一种或多种:4×4或4×8或8×4。
以当前块的尺寸等于4×4为例,可以对当前块的双向预测过程进行AMVR决策,不过在AMVR决策过程中,可以跳过亚像素精度的决策过程,仅执行整像素精度的决策过程中的部分或全部决策过程。同理,在对该当前块进行双向预测过程中,如果运动矢量精度为整像素,则基于该运动矢量进 行双向预测,并非像相关技术那样跳过该整像素的双向预测过程。这样一来,可以在保持数据吞吐量和带宽的情况下,尽可能提升编码性能。
由于编解码端均需要进行帧间预测,因此,图3所示的方法可应用于编码端,也可应用于解码端。
以图3所示的方法应用于编码端为例,则图3中的对当前块进行帧间预测的步骤可以包括:确定当前块的预测块;根据当前块的原始块和预测块,计算当前块的残差块。例如,可以计算当前块对应的原始块和预测块的差值,以得到该残差块。
进一步地,在某些实施例中,编码端还可以编码当前块对应的运动矢量精度的指示信息。可选地,如果当前块的尺寸大于或等于预设尺寸,指示信息具有M比特,如果当前块的尺寸小于预设尺寸,指示信息具有N比特,M、N均为正整数,且N小于或等于M。或者,如果当前块的尺寸大于预设尺寸,指示信息具有M比特,如果当前块的尺寸小于或等于预设尺寸,指示信息具有N比特,M、N均为不小于1的正整数,且N小于或等于M。这里所说的比特可以为实际编码时实际写入码流或解码时实际从码流中获得比特信息,也可以指在熵编码或熵解码过程中用到的bin。
例如,假设步骤S320对应的帧间预测的运动矢量在4像素,1像素和1/4像素中进行选择,步骤S330对应的帧间预测的运动矢量精度在4像素和1像素中进行选择,则M可以为2比特,其中,“0”代表当前块的运动矢量精度为1/4像素,“10”代表当前块的运动矢量精度为1像素,“11”代表当前块的运动矢量精度为4像素,N可以为1比特,其中“0”代表当前块的运动矢量精度为1像素,“1”代表当前块的运动矢量精度为4像素。
进一步地,在某些实施例中,编码端还可以将当前块对应的运动矢量精度的指示信息写入码流。
本申请实施例中,如果当前块的尺寸小于预设尺寸,当前块不采用亚像素精度进行帧间预测,因此,可以采用更少的比特数表示AMVR的决策结果,从而降低码流的数据量。
进一步地,在某些实施例中,编码端还可以不编码当前块的运动矢量精度的指示信息。解码端也可以不从实际码流中获取当前块的运动矢量精度的指示信息。编解码端根据当前块的尺寸按约定的方法确定运动矢量精度。当当前块的尺寸大于或等于预设尺寸时,当前块采用1/4像素的运动矢量精度, 当当前块的尺寸小于或等于预设尺寸时,当前块采用1像素的运动矢量精度。
例如,假设预设尺寸为4x4,当当前块的尺寸大于4x4时,当前块采用1/4像素的运动矢量精度,当当前块的尺寸等于4x4时,当前块采用1像素的运动矢量精度。
又例如,假设预设尺寸为8x8,当当前块的尺寸大于或等于8x8时,当前块采用1/4像素的运动矢量精度,当当前块的尺寸小于8x8时,当前块采用1像素的运动矢量精度。
上述方法可以应用于AMVR工具关闭的情况。
上述1/4像素的运动矢量精度表示运动矢量以1/4像素为单位递增,或运动矢量差值以1/4像素为单位递增;上述1像素的运动矢量精度表示运动矢量以1像素为单位递增,或运动矢量差值以1像素为单位递增;上述4像素的运动矢量精度表示运动矢量以4像素为单位递增,或运动矢量差值以4像素为单位递增。
以图3所示的方法应用于解码端为例,则图3中的对当前块进行帧间预测的步骤可以包括:确定当前块的预测块和残差块;根据当前块的预测块和残差块,计算当前块的重构块。例如,可以将当前块的预测块与残差块之和作为当前块的重构块。
当前块的预测块可以利用当前块对应的运动信息确定。运动信息可以包括运动矢量预测的索引以及运动矢量精度的指示信息等。这些信息均可从码流中获取。对于当前块对应的运动矢量精度的指示信息而言,如果当前块的尺寸大于或等于预设尺寸,指示信息可以具有M比特,如果当前块的尺寸小于预设尺寸,指示信息可以具有N比特,M、N均为正整数,且N小于或等于M。或者,对于当前块对应的运动矢量精度的指示信息而言,如果当前块的尺寸大于预设尺寸,指示信息可以具有M比特,如果当前块的尺寸小于或等于预设尺寸,指示信息可以具有N比特,M、N均为正整数,且N小于或等于M。关于M和N的实现方式与编码端对应,具体论述可以参见上文,此处不再详述。
上文结合图1至图3,详细描述了本申请的方法实施例,下面结合图4,详细描述本申请的装置实施例。应理解,方法实施例的描述与装置实施例的描述相互对应,因此,未详细描述的部分可以参见前面方法实施例。
图4是本申请实施例提供的视频处理装置的示意性结构图。图4的装置 40包括:存储器42和处理器44。
存储器42可用于存储代码。处理器44可用于读取所述存储器中的代码,以执行如下操作:获取当前块;如果所述当前块的尺寸大于或等于预设尺寸,采用整像素精度和亚像素精度中的一种精度的运动矢量对所述当前块进行帧间预测;如果所述当前块的尺寸小于或等于所述预设尺寸,采用整像素精度的运动矢量对所述当前块进行帧间预测。
可选地,所述对所述当前块进行帧间预测可以包括:确定所述当前块的预测块;根据所述当前块的原始块和预测块,计算所述当前块的残差块。
可选地,所述处理器44还可用执行以下操作:编码当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于或等于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于所述预设尺寸,所述指示信息具有N比特,M|、N均为不小于1的正整数,且N小于或等于M。
可选地,所述处理器44还可用执行以下操作:编码所述当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于或等于所述预设尺寸,所述指示信息具有N比特,M、N均为正整数,且N小于或等于M。
可选地,所述对所述当前块进行帧间预测可以包括:确定所述当前块的预测块和残差块;根据所述当前块的预测块和残差块,计算所述当前块的重构块。
可选地,所述处理器44还可用执行以下操作:从码流中获取所述当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于或等于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于所述预设尺寸,所述指示信息具有N比特,M|、N均为不小于1的正整数,且N小于或等于M。
可选地,所述处理器44还可用执行以下操作:从码流中获取所述当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于或等于所述预设尺寸,所述指示信息具有N比特,M|、N均为不小于1的正整数,且N小于或等于M。
可选地,所述帧间预测为双向预测。
可选地,所述预设尺寸为8×8或4×4。
可选地,所述整像素精度包括以下像素精度中的一种或多种:1像素和4像素。
可选地,所述亚像素精度包括以下像素精度中的一种或多种:1/4,1/8和1/16。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其他任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如数字视频光盘(digital video disc,DVD))、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合 或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (22)
- 一种视频处理方法,其特征在于,包括:获取当前块;如果所述当前块的尺寸大于或等于预设尺寸,采用整像素精度和亚像素精度中的一种精度的运动矢量对所述当前块进行帧间预测;如果所述当前块的尺寸小于或等于所述预设尺寸,采用整像素精度的运动矢量对所述当前块进行帧间预测。
- 根据权利要求1所述的方法,其特征在于,所述对所述当前块进行帧间预测,包括:确定所述当前块的预测块;根据所述当前块的原始块和预测块,计算所述当前块的残差块。
- 根据权利要求2所述的方法,其特征在于,还包括:编码所述当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于或等于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于所述预设尺寸,所述指示信息具有N比特,M、N均为正整数,且N小于或等于M。
- 根据权利要求2所述的方法,其特征在于,还包括:编码所述当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于或等于所述预设尺寸,所述指示信息具有N比特,M、N均为不小于1的正整数,且N小于或等于M。
- 根据权利要求1所述的方法,其特征在于,所述对所述当前块进行帧间预测,包括:确定所述当前块的预测块和残差块;根据所述当前块的预测块和残差块,计算所述当前块的重构块。
- 根据权利和要求5所述的方法,其特征在于,还包括:从码流中获取所述当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于或等于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于所述预设尺寸,所述指示信息具有N比特,M、N均为正整数,且N小于或等于M。
- 根据权利和要求5所述的方法,其特征在于,还包括:从码流中获取所述当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于或等于所述预设尺寸,所述指示信息具有N比特,M、N均为正整数,且N小于或等于M。
- 根据权利要求1-7中任一项所述的方法,其特征在于,所述帧间预测为双向预测。
- 根据权利要求1-8中任一项所述的方法,其特征在于,所述预设尺寸为8×8或4×4。
- 根据权利要求1-9中任一项所述的方法,其特征在于,所述整像素精度包括以下像素精度中的一种或多种:1像素和4像素。
- 根据权利要求1-10中任一项所述的方法,其特征在于,所述亚像素精度包括以下像素精度中的一种或多种:1/4,1/8和1/16。
- 一种视频处理装置,其特征在于,包括:存储器,用于存储代码;处理器,用于读取所述存储器中的代码,以执行如下操作:获取当前块;如果所述当前块的尺寸大于或等于预设尺寸,采用整像素精度和亚像素精度中的一种精度的运动矢量对所述当前块进行帧间预测;如果所述当前块的尺寸小于或等于所述预设尺寸,采用整像素精度的运动矢量对所述当前块进行帧间预测。
- 根据权利要求12所述的装置,其特征在于,所述对所述当前块进行帧间预测,包括:确定所述当前块的预测块;根据所述当前块的原始块和预测块,计算所述当前块的残差块。
- 根据权利要求13所述的装置,其特征在于,所述处理器还用执行以下操作:编码所述当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于或等于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于所述预设尺寸,所述指示信息具有N比特,M、N均为正整数,且N小于或等于M。
- 根据权利要求13所述的装置,其特征在于,所述处理器还用执行 以下操作:编码所述当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于或等于所述预设尺寸,所述指示信息具有N比特,M、N均为正整数,且N小于或等于M。
- 根据权利要求12所述的装置,其特征在于,所述对所述当前块进行帧间预测,包括:确定所述当前块的预测块和残差块;根据所述当前块的预测块和残差块,计算所述当前块的重构块。
- 根据权利和要求16所述的装置,其特征在于,所述处理器还用执行以下操作:从码流中获取所述当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于或等于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于所述预设尺寸,所述指示信息具有N比特,M、N均为正整数,且N小于或等于M。
- 根据权利和要求16所述的装置,其特征在于,所述处理器还用执行以下操作:从码流中获取所述当前块对应的运动矢量精度的指示信息,其中:如果所述当前块的尺寸大于所述预设尺寸,所述指示信息具有M比特,如果所述当前块的尺寸小于或等于所述预设尺寸,所述指示信息具有N比特,M、N均为正整数,且N小于或等于M。
- 根据权利要求12-18中任一项所述的装置,其特征在于,所述帧间预测为双向预测。
- 根据权利要求12-19中任一项所述的装置,其特征在于,所述预设尺寸为8×8或4×4。
- 根据权利要求12-20中任一项所述的装置,其特征在于,所述整像素精度包括以下像素精度中的一种或多种:1像素和4像素。
- 根据权利要求12-21中任一项所述的装置,其特征在于,所述亚像素精度包括以下像素精度中的一种或多种:1/4,1/8和1/16。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201980004977.1A CN111226439A (zh) | 2019-01-02 | 2019-01-02 | 视频处理方法和装置 |
PCT/CN2019/070152 WO2020140216A1 (zh) | 2019-01-02 | 2019-01-02 | 视频处理方法和装置 |
CN201980004998.3A CN111226440A (zh) | 2019-01-02 | 2019-03-12 | 视频处理方法和装置 |
PCT/CN2019/077800 WO2020140329A1 (zh) | 2019-01-02 | 2019-03-12 | 视频处理方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2019/070152 WO2020140216A1 (zh) | 2019-01-02 | 2019-01-02 | 视频处理方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020140216A1 true WO2020140216A1 (zh) | 2020-07-09 |
Family
ID=70826444
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/070152 WO2020140216A1 (zh) | 2019-01-02 | 2019-01-02 | 视频处理方法和装置 |
PCT/CN2019/077800 WO2020140329A1 (zh) | 2019-01-02 | 2019-03-12 | 视频处理方法和装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/CN2019/077800 WO2020140329A1 (zh) | 2019-01-02 | 2019-03-12 | 视频处理方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111226439A (zh) |
WO (2) | WO2020140216A1 (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141559A (zh) * | 2007-07-24 | 2008-03-12 | 浙江大学 | 串行输入并行输出的视频图像亮度插值的方法和装置 |
US20100074336A1 (en) * | 2008-09-25 | 2010-03-25 | Mina Goor | Fractional motion estimation engine |
CN104980737A (zh) * | 2014-04-01 | 2015-10-14 | 扬智科技股份有限公司 | 帧间模式选择方法 |
CN107592972A (zh) * | 2015-05-11 | 2018-01-16 | 高通股份有限公司 | 用于视频数据中特定图片内的帧间译码的搜索区域确定 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101377530B1 (ko) * | 2009-08-21 | 2014-03-27 | 에스케이텔레콤 주식회사 | 적응적 움직임 벡터 해상도를 이용한 영상 부호화/복호화 방법 및 장치 |
US10327008B2 (en) * | 2010-10-13 | 2019-06-18 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
US9325991B2 (en) * | 2012-04-11 | 2016-04-26 | Qualcomm Incorporated | Motion vector rounding |
US10531116B2 (en) * | 2014-01-09 | 2020-01-07 | Qualcomm Incorporated | Adaptive motion vector resolution signaling for video coding |
KR20170084251A (ko) * | 2014-11-20 | 2017-07-19 | 에이치에프아이 이노베이션 인크. | 모션 벡터 및 블록 벡터 해상도 제어의 방법 |
KR102349788B1 (ko) * | 2015-01-13 | 2022-01-11 | 인텔렉추얼디스커버리 주식회사 | 영상의 부호화/복호화 방법 및 장치 |
WO2018205914A1 (en) * | 2017-05-10 | 2018-11-15 | Mediatek Inc. | Method and apparatus of reordering motion vector prediction candidate set for video coding |
CN107277506B (zh) * | 2017-08-15 | 2019-12-03 | 中南大学 | 基于自适应运动矢量精度的运动矢量精度选择方法及装置 |
-
2019
- 2019-01-02 CN CN201980004977.1A patent/CN111226439A/zh active Pending
- 2019-01-02 WO PCT/CN2019/070152 patent/WO2020140216A1/zh active Application Filing
- 2019-03-12 WO PCT/CN2019/077800 patent/WO2020140329A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141559A (zh) * | 2007-07-24 | 2008-03-12 | 浙江大学 | 串行输入并行输出的视频图像亮度插值的方法和装置 |
US20100074336A1 (en) * | 2008-09-25 | 2010-03-25 | Mina Goor | Fractional motion estimation engine |
CN104980737A (zh) * | 2014-04-01 | 2015-10-14 | 扬智科技股份有限公司 | 帧间模式选择方法 |
CN107592972A (zh) * | 2015-05-11 | 2018-01-16 | 高通股份有限公司 | 用于视频数据中特定图片内的帧间译码的搜索区域确定 |
Also Published As
Publication number | Publication date |
---|---|
CN111226439A (zh) | 2020-06-02 |
WO2020140329A1 (zh) | 2020-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI755376B (zh) | 用於視訊寫碼之濾波器之幾何轉換 | |
WO2017005146A1 (zh) | 视频编码和解码方法、视频编码和解码装置 | |
WO2016065873A1 (zh) | 图像预测方法及相关装置 | |
CN109922336B (zh) | 视频数据的帧间预测方法和装置 | |
CN111164976A (zh) | 视频处理方法和装置 | |
EP2960855B1 (en) | Method and device for determining a set of modifiable elements in a group of pictures | |
JP2006217560A (ja) | 参考フレームバッファメモリのサイズとアクセス量を減らす方法 | |
CN114270860A (zh) | 针对仿射模式的自适应运动矢量分辨率 | |
WO2022227622A1 (zh) | 一种权值可配置的帧间帧内联合预测编解码的方法及装置 | |
WO2020181504A1 (zh) | 视频编码的方法与装置,以及视频解码的方法与装置 | |
GB2557622A (en) | Motion compensation techniques for video | |
WO2016179261A1 (en) | Methods and apparatus for optical blur modeling for improved video encoding | |
WO2020140216A1 (zh) | 视频处理方法和装置 | |
JP5698644B2 (ja) | 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム | |
CN117501694A (zh) | 用于视频编解码中的仿射运动补偿的具有双向匹配的运动细化 | |
WO2020252707A1 (zh) | 视频处理方法和设备 | |
WO2021134631A1 (zh) | 视频处理的方法与装置 | |
WO2020181507A1 (zh) | 图像处理的方法与装置 | |
WO2024104503A1 (zh) | 图像编解码 | |
CN110677645B (zh) | 一种图像预测方法及装置 | |
CN111226440A (zh) | 视频处理方法和装置 | |
CN110868601B (zh) | 帧间预测方法、装置以及视频编码器和视频解码器 | |
JP5715291B2 (ja) | 動画像予測符号化方法、動画像予測符号化装置、動画像予測符号化プログラム、動画像予測復号方法、動画像予測復号装置及び動画像予測復号プログラム | |
CN112868236A (zh) | 视频处理方法和装置 | |
CN114760467A (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: 19907659 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: 19907659 Country of ref document: EP Kind code of ref document: A1 |