WO2019157718A1 - Motion compensation method, device and computer system - Google Patents

Motion compensation method, device and computer system Download PDF

Info

Publication number
WO2019157718A1
WO2019157718A1 PCT/CN2018/076853 CN2018076853W WO2019157718A1 WO 2019157718 A1 WO2019157718 A1 WO 2019157718A1 CN 2018076853 W CN2018076853 W CN 2018076853W WO 2019157718 A1 WO2019157718 A1 WO 2019157718A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
block
image block
predicted value
boundary
Prior art date
Application number
PCT/CN2018/076853
Other languages
French (fr)
Chinese (zh)
Inventor
王钊
马思伟
郑萧桢
Original Assignee
北京大学
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京大学, 深圳市大疆创新科技有限公司 filed Critical 北京大学
Priority to PCT/CN2018/076853 priority Critical patent/WO2019157718A1/en
Priority to CN201880037928.3A priority patent/CN110720221A/en
Publication of WO2019157718A1 publication Critical patent/WO2019157718A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • H04N19/51Motion estimation or motion compensation
    • H04N19/583Motion compensation with overlapping blocks

Definitions

  • the present invention relates to the field of information technology and, more particularly, to a method, apparatus and computer system for motion compensation.
  • Prediction is an important module of the video coding framework, which is realized by motion compensation.
  • CTUs Coding Tree Units
  • Each CTU may be further divided into square or rectangular coding units (CUs), and the CU may be further divided into a prediction unit (PU) or directly as a PU.
  • this article is collectively referred to as an image block. That is to say, the image block can be a CU or a PU.
  • Each image block finds the most similar image block in the reference frame (typically a reconstructed frame near the time domain) as the predicted value of the current image block.
  • the relative position between the current image block and the similar image block is a motion vector (Motion Vector, MV).
  • MV Motion Vector
  • a general motion compensation is to acquire a predicted image block from the motion vector of the image block for each image block. Based on this, an Overlapped Block Motion Compensation (OBMC) technique has appeared. That is, for the pixels of the current image block boundary portion, the motion vector of the current image block and the motion vector weighted prediction of the adjacent image block are used to obtain the predicted value.
  • OBMC Overlapped Block Motion Compensation
  • Embodiments of the present invention provide a method, apparatus, and computer system for motion compensation, which can improve performance of motion compensation.
  • a method for motion compensation including: determining a predicted value of a pixel to be processed according to a motion vector of a current image block, wherein the pixel to be processed is a first boundary pixel block of the current image block Determining whether to perform overlap block motion compensation on the predicted value of the pixel to be processed according to pixel information of a pixel of a neighboring image block of the current image block, wherein the first boundary pixel block is adjacent to the adjacent block
  • the image blocks are adjacent.
  • a method for motion compensation including: determining, according to pixel information of a pixel of a neighboring image block of a current image block, a weighting coefficient of a predicted value of a pixel to be processed, wherein the pixel to be processed is the a pixel in a first boundary pixel block of a current image block, the first boundary pixel block being adjacent to the adjacent image block; determining a predicted value of the pixel to be processed according to the weighting coefficient.
  • a device for motion compensation comprising: a prediction value determining unit, configured to determine a predicted value of a pixel to be processed according to a motion vector of a current image block, wherein the pixel to be processed is the current image a pixel in the first boundary pixel block of the block; a processing unit, configured to determine, according to pixel information of a pixel of the adjacent image block of the current image block, whether to perform overlap block motion compensation on the predicted value of the pixel to be processed, where The first boundary pixel block is adjacent to the adjacent image block.
  • a fourth aspect provides a motion compensation apparatus, including: a weighting coefficient determining unit, configured to determine, according to pixel information of a pixel of a neighboring image block of a current image block, a weighting coefficient of a predicted value of a pixel to be processed, where The processing pixel is a pixel in a first boundary pixel block of the current image block, the first boundary pixel block is adjacent to the adjacent image block, and a prediction value determining unit is configured to determine according to the weighting coefficient The predicted value of the pixel to be processed.
  • a computer system comprising: a memory for storing computer executable instructions; a processor for accessing the memory, and executing the computer executable instructions to perform the first or second The operation in the aspect of the method.
  • a computer storage medium having stored therein program code, the program code being operative to indicate a method of performing the first or second aspect described above.
  • the technical solution of the embodiment of the present invention determines whether to perform overlapping block motion compensation on the predicted values of the pixels in the boundary pixel block of the current image block according to the pixel information of the pixels of the adjacent image block of the current image block, and can reasonably utilize the phase The motion vector of the adjacent image block performs overlap block motion compensation, thereby improving the performance of motion compensation.
  • FIG. 1 is an architectural diagram of a technical solution to which an embodiment of the present invention is applied.
  • FIG. 2 is a processing architecture diagram of an encoder according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of data to be encoded according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of a boundary pixel block in accordance with an embodiment of the present invention.
  • FIG. 5 is a schematic flow chart of a method of motion compensation according to an embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a current image block and adjacent image blocks in an embodiment of the present invention.
  • FIG. 7 is a schematic flow chart of a method of motion compensation according to another embodiment of the present invention.
  • Figure 8 is a schematic block diagram of an apparatus for motion compensation in accordance with one embodiment of the present invention.
  • FIG. 9 is a schematic block diagram of an apparatus for motion compensation according to another embodiment of the present invention.
  • Figure 10 is a schematic block diagram of a computer system in accordance with an embodiment of the present invention.
  • the size of the sequence numbers of the processes does not imply a sequence of executions, and the order of execution of the processes should be determined by its function and internal logic, and should not be construed as an embodiment of the present invention.
  • the implementation process constitutes any limitation.
  • FIG. 1 is an architectural diagram of a technical solution to which an embodiment of the present invention is applied.
  • system 100 can receive data to be processed 102 and process data to be processed 102 to produce processed data 108.
  • system 100 can receive data to be encoded, encode the data to be encoded to produce encoded data, or system 100 can receive the data to be decoded and decode the data to be decoded to produce decoded data.
  • components in system 100 may be implemented by one or more processors, which may be processors in a computing device or processors in a mobile device (eg, a drone).
  • the processor may be any type of processor, which is not limited in this embodiment of the present invention.
  • the processor may include an encoder or decoder or the like.
  • One or more memories may also be included in system 100.
  • the memory can be used to store instructions and data, such as computer executable instructions to implement the technical solution of the embodiments of the present invention, data to be processed 102, processed data 108, and the like.
  • the memory may be any kind of memory, which is not limited in this embodiment of the present invention.
  • the data to be encoded may include text, images, graphic objects, animation sequences, audio, video, or any other data that needs to be encoded.
  • the data to be encoded may include sensory data from sensors, which may be vision sensors (eg, cameras, infrared sensors), microphones, near field sensors (eg, ultrasonic sensors, radar), position sensors, temperature Sensors, touch sensors, etc.
  • the data to be encoded may include information from a user, such as biometric information, which may include facial features, fingerprint scans, retinal scans, voice recordings, DNA sampling, and the like.
  • Encoding is necessary for efficient and/or secure transmission or storage of data.
  • the encoding of the encoded data may include data compression, encryption, error correction coding, format conversion, and the like.
  • compression of multimedia data such as video or audio
  • Sensitive data such as financial information and personally identifiable information, can be encrypted to protect confidentiality and/or privacy prior to transmission and storage. In order to reduce the bandwidth occupied by video storage and transmission, it is necessary to encode and compress the video data.
  • Any suitable coding technique can be used to encode the data to be encoded.
  • the type of encoding depends on the data being encoded and the specific coding requirements.
  • the encoder can implement one or more different codecs.
  • Each codec may include code, instructions or a computer program that implements different encoding algorithms. Based on various factors, including the type and/or source of the data to be encoded, the receiving entity of the encoded data, the available computing resources, the network environment, the business environment, the rules and standards, etc., a suitable encoding algorithm can be selected to encode the given Data to be encoded.
  • the encoder can be configured to encode a series of video frames. Encoding the data in each frame can take a series of steps.
  • the encoding step can include processing steps such as prediction, transforming, quantizing, entropy encoding, and the like.
  • the prediction includes two types of intra prediction and inter prediction, and the purpose is to use the prediction block information to remove redundant information of the current image block to be encoded.
  • Intra prediction uses the information of the current frame image to obtain prediction block data.
  • Inter prediction uses the information of the reference frame to obtain prediction block data, the process comprising dividing the image block to be encoded into a plurality of sub image blocks; and then, for each sub image block, searching the reference image for the image that best matches the current sub image block.
  • the block is used as a prediction block; thereafter, the sub-image block is subtracted from the corresponding pixel value of the prediction block to obtain a residual, and the obtained residuals of the respective sub-image blocks are combined to obtain a residual of the image block.
  • Transforming the residual block of the image using the transformation matrix can remove the correlation of the residual of the image block, that is, remove the redundant information of the image block, so as to improve the coding efficiency
  • the transformation of the data block in the image block usually adopts a two-dimensional transformation. That is, the residual information of the data block is multiplied by an NxM transform matrix and its transposed matrix at the encoding end, and the transform coefficients are obtained after multiplication.
  • the transform coefficients are quantized to obtain quantized coefficients, and finally the quantized coefficients are entropy encoded, and finally the entropy-encoded bit stream and the encoded coding mode information, such as intra prediction mode and motion vector information, are performed.
  • the decoder Store or send to the decoder.
  • the entropy-encoded bit stream is first obtained and entropy decoded to obtain a corresponding residual, according to the predicted image block corresponding to the information image block such as the motion vector or the intra prediction obtained by decoding, according to the predicted image block and the image block.
  • the residual is obtained by the value of each pixel in the current sub-image block.
  • FIG. 2 is a block diagram showing the processing architecture of an encoder according to an embodiment of the present invention.
  • the prediction process may include intra prediction and inter prediction.
  • a residual corresponding to the data unit for example, a pixel point
  • the pixel obtained by reconstructing the reference pixel point can be obtained from the stored context, according to the reference pixel point.
  • the pixel obtained after the reconstruction and the pixel of the pixel point obtain the pixel residual corresponding to the pixel point.
  • the pixel residual is subjected to entropy coding by transforming and quantization.
  • the control of the quantization rate can be achieved by controlling the quantization parameter.
  • the quantized pixel residual corresponding to a certain pixel point may also be subjected to inverse quantization inverse transform processing, and then reconstructed to obtain a pixel reconstructed by the pixel, and the reconstructed pixel of the pixel is stored, so that When the pixel is used as the reference pixel, the pixel reconstructed by the pixel acquires the pixel residual corresponding to the other pixel.
  • the quantization parameter may include a quantization step size indicating a quantization step size or a value related to the quantization step size, for example, a quantization parameter (QP) in an H.264, H.265, or similar encoder, or a quantization matrix. Or its reference matrix, etc.
  • QP quantization parameter
  • an operation corresponding to the encoding end is performed to decode the encoded data to obtain original data, that is, data to be encoded.
  • FIG. 3 shows a schematic diagram of data to be encoded in an embodiment of the present invention.
  • the data 302 to be encoded may include a plurality of frames 304.
  • multiple frames 304 may represent consecutive image frames in a video stream.
  • Each frame 304 can include one or more stripes or tiles 306.
  • Each strip or tile 306 may include one or more macroblocks or encoding units 308.
  • Each macroblock or coding unit 308 can include one or more blocks 310.
  • Each block 310 can include one or more pixels 312.
  • Each pixel 312 can include one or more data sets corresponding to one or more data portions, such as a luminance data portion and a chrominance data portion.
  • the data unit can be a frame, a stripe, a tile, a coding unit, a macroblock, a block, a pixel, or a group of any of the above.
  • the size of the data unit can vary.
  • one frame 304 may include 100 stripes 306, each strip 306 may include 10 macroblocks 308, each macroblock 308 may include 4 (eg, 2x2) blocks 310, each block 310 may include 64 (eg, 8x8) pixels 312.
  • the technical solution of the embodiment of the present invention may be used for motion compensation of pixels in a boundary pixel block of an image block in a prediction process of encoding or decoding.
  • the existing OBMC technique is to divide the current coded image block into individual 4x4 pixel blocks.
  • the existing OBMC is also divided into two types: normal mode and sub-block mode: when the current image block has only one motion vector (for example, normal inter prediction, normal merge mode), OBMC uses normal mode; current image
  • Each 4x4 pixel block of a block has its own motion vector (eg, sub-block merge mode, affine mode and decoder-side motion vector derivation mode), and OBMC also uses sub-block mode.
  • the existing OBMC technology is shown in Figure 4.
  • the normal OBMC mode processes the boundary 4x4 pixel block of the current block, and the predicted value of the 4 row/column pixel of each 4x4 boundary pixel block is changed according to the motion vector of the adjacent 4x4 pixel block.
  • the sub-block OBMC mode processes each 4x4 pixel block of the current image block, and the predicted value of the 2 row/column pixels of each 4x4 block is changed according to the motion vector of the adjacent 4x4 pixel block.
  • the predicted value after the change is obtained by:
  • P cur and P ner represent the predicted values obtained from the motion vector of the current 4 ⁇ 4 block (the motion vector of the current image block) and the motion vector of the adjacent 4 ⁇ 4 block (the motion vector of the adjacent image block), respectively, and a and b correspond to each other.
  • the weighting factor, the sum of a and b is 1.
  • P is the final predicted value.
  • Existing OBMC techniques use fixed weighting coefficients. For example, a and b can take the following values:
  • the second line 7/8, 1/8;
  • the fourth line 31/32, 1/32.
  • the existing OBMC technology ignores the content correlation between the current image block and the adjacent image block, and limits the improvement of coding efficiency. For example, the current image block and the adjacent image block belong to the same object at some proximity, and the 4 ⁇ 4 pixel block at the position should be processed by OBMC; however, at other interfaces, the current image block does not belong to the adjacent image block. When an object is used, it is not appropriate to use the motion vector of the adjacent image block to perform weighted prediction on the boundary pixels of the current image block.
  • embodiments of the present invention provide a method for motion compensation, which considers pixel information of pixels of an image block to improve performance of motion compensation.
  • FIG. 5 shows a schematic flow chart of a method 500 of motion compensation in accordance with an embodiment of the present invention.
  • the method 500 can be performed by the system 100 shown in FIG.
  • the corresponding similar block is first determined according to the motion vector of the current image block, and then the predicted value of each pixel in the current boundary pixel block is the pixel corresponding to the position of the similar block. value.
  • the first boundary pixel block is an NxM pixel block adjacent to an adjacent image block in the current image block.
  • NxM is set to 4x4.
  • the overlapping block motion compensation is no longer fixed, but whether the overlapping block motion is performed according to the pixel information of the pixels of the adjacent image block of the current image block. make up. If it is determined that the overlap block motion compensation is performed, the overlap block motion compensation is performed on the predicted value of the pixel to be processed determined according to the motion vector of the current image block in the foregoing step according to the motion vector of the adjacent image block; if it is determined that the overlapping block motion is not performed For compensation, the overlap block motion compensation process can be skipped.
  • determining whether to wait for the pixel according to the pixel information of the pixel of the adjacent image block and the pixel information of the pixel of the second boundary pixel block of the adjacent image block The predicted values of the processed pixels are subjected to overlap block motion compensation, wherein pixels of the adjacent image blocks include pixels of the second boundary pixel block, and the second boundary pixel block is adjacent to the first boundary pixel block.
  • the second boundary pixel block may be an N'xM' pixel block adjacent to the first boundary pixel block in the adjacent image block.
  • the second boundary pixel block may be a square block, for example, an adjacent 4x4 block in FIG. 6, or may be another block, for example, several rows or columns of pixels adjacent to the current image block in the adjacent image block,
  • the application embodiment is not limited thereto.
  • the width M' of the second boundary pixel block does not exceed the width of the adjacent image block
  • the height N' of the second boundary pixel block does not exceed the height of the adjacent image block.
  • N'xM' is set to 2x4 (when the neighboring block is adjacent to the current block) or 4x2 (when the neighboring block is adjacent to the left and right of the current block).
  • the difference between the pixel information of the pixels of the second boundary pixel block of the adjacent image block and the pixel information of the pixels of the adjacent image block is compared to determine whether to perform the overlap block motion compensation.
  • the pixel information includes at least one of a pixel average value, a pixel gradient, and a pixel distribution.
  • the pixel information of the pixel reflects the content of the pixel block.
  • at least one of the pixel average value, the pixel gradient, and the pixel distribution may be used to compare the content difference between the second boundary pixel block and the adjacent image block.
  • the embodiments of the present invention are not limited thereto.
  • the pending The predicted values of the pixels are subjected to overlapping block motion compensation.
  • the content of the second boundary pixel block may be adjacent to the adjacent image.
  • the body content of the block does not belong to the same object.
  • the first boundary pixel block of the current image block is adjacent to the second boundary pixel block, and therefore, the first boundary pixel block and the two boundary pixel block may belong to the same object.
  • the first boundary pixel block and the body content of the adjacent image block may not belong to the same object.
  • it is not necessary to use the motion vector of the adjacent image block to correct the prediction value obtained by the motion vector of the current image block, that is, the prediction value of the pixel to be processed is not subjected to the overlap block motion compensation.
  • the predicted values of the pixels are processed for overlap block motion compensation.
  • the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is small, that is, when the value is not greater than the first threshold, it indicates that the content of the second boundary pixel block may be related to the main content of the adjacent image block. Belong to the same object.
  • the first boundary pixel block of the current image block is adjacent to the second boundary pixel block, and therefore, the first boundary pixel block and the two boundary pixel block may belong to the same object.
  • the first boundary pixel block and the body content of the adjacent image block may belong to the same object.
  • it is necessary to use the motion vector of the adjacent image block to correct the prediction value obtained by the motion vector of the current image block that is, it is necessary to perform the overlap block motion compensation on the predicted value of the pixel to be processed.
  • all pixels in the first boundary pixel block are determined based on the second boundary pixel block, and therefore, whether or not to perform overlapping block motion compensation may be determined according to the granularity of the boundary pixel block. That is to say, for the first boundary pixel block, only one determination can be made, and the determination result is applied to all the pixels in the first boundary pixel block.
  • the second boundary pixel blocks 4x4 blocks for example, as shown in FIG. 6 first calculates the second block boundary pixel (4x4 neighboring blocks in FIG. 6), denoted V 1 of each Then, calculate the pixel average of the entire adjacent image block, denoted as V 2 . Whether or not the first boundary pixel block to be processed (the 4x4 boundary pixel block adjacent to the adjacent 4x4 block in FIG. 6) performs OBMC processing is determined by the following formula:
  • T h is a configurable threshold.
  • T h is a configurable threshold.
  • the threshold T h may be set to 15.
  • the threshold in the present invention may be used as a preset value of the encoding end and the decoding end, or the threshold information may be written into the code stream at the encoding end, and the decoding end obtains the threshold information from the code stream.
  • the encoding end it can be written in the video parameter set (VPS, video parameter set), sequence parameter set (SPS, sequence parameter set), picture parameter set (PPS, picture parameter set), sequence header, image header, strip header, etc.
  • VPS video parameter set
  • SPS sequence parameter set
  • PPS picture parameter set
  • sequence header image header
  • strip header etc.
  • the technical solution of the embodiment of the present invention determines whether to perform overlapping block motion compensation on the predicted values of the pixels in the boundary pixel block of the current image block according to the pixel information of the pixels of the adjacent image block of the current image block, and can reasonably utilize the phase The motion vector of the adjacent image block performs overlap block motion compensation, thereby improving the performance of motion compensation.
  • the embodiment of the present invention further provides a motion compensation method, which will be described below.
  • FIG. 7 shows a schematic flow chart of a method 700 of motion compensation in accordance with another embodiment of the present invention.
  • the method 700 can be performed by the system 100 shown in FIG.
  • the first boundary pixel block is adjacent to the adjacent image block.
  • the first boundary pixel block is a 4x4 pixel block adjacent to an adjacent image block in the current image block.
  • the weighting coefficients are determined according to the pixel information of the pixels of the adjacent image blocks of the current image block.
  • the weighting coefficient may include a first coefficient and a second coefficient, the first coefficient is used to weight a first predicted value of the pixel to be processed determined according to a motion vector of the current image block (ie, a formula (1) a), the second coefficient is used to weight a second predicted value of the pixel to be processed determined according to a motion vector of the adjacent image block (ie, b in the formula (1)).
  • the weighting coefficient may be determined according to pixel information of a pixel of the adjacent image block and pixel information of a pixel of a second boundary pixel block of the adjacent image block,
  • the pixel of the adjacent image block includes a pixel of the second boundary pixel block, and the second boundary pixel block is adjacent to the first boundary pixel block.
  • the second boundary pixel block may be an MxN pixel block adjacent to the first boundary pixel block in the adjacent image block.
  • the difference between the pixel information of the pixels of the second boundary pixel block of the adjacent image block and the pixel information of the pixels of the adjacent image block is compared, and the weighting coefficient is determined.
  • the second boundary pixel block may be a square block, for example, an adjacent 4x4 block in FIG. 6, or may be another block, for example, several rows or columns of pixels adjacent to the current image block in the adjacent image block,
  • the application embodiment is not limited thereto.
  • the width M' of the second boundary pixel block does not exceed the width of the adjacent image block
  • the height N' of the second boundary pixel block does not exceed the height of the adjacent image block.
  • N'xM' is set to 2x4 (when the neighboring block is adjacent to the current block) or 4x2 (when the neighboring block is adjacent to the left and right of the current block).
  • the pixel information includes at least one of a pixel average value, a pixel gradient, and a pixel distribution.
  • the pixel information reflects the content of the pixel block.
  • at least one of the pixel average value, the pixel gradient, and the pixel distribution may be used to compare the content difference between the second boundary pixel block and the adjacent image block, but The embodiment of the invention is not limited thereto.
  • determining the first The coefficient is 1, and the second coefficient is zero.
  • the content of the second boundary pixel block may be adjacent to the adjacent image.
  • the body content of the block does not belong to the same object.
  • the first boundary pixel block of the current image block is adjacent to the second boundary pixel block, and therefore, the first boundary pixel block and the two boundary pixel block may belong to the same object.
  • the first boundary pixel block and the body content of the adjacent image block may not belong to the same object.
  • determining the A coefficient is a first predetermined value and the second coefficient is a second predetermined value, wherein the first predetermined value is less than one and the second predetermined value is greater than zero.
  • the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is small, that is, when the value is not greater than the first threshold, it indicates that the content of the second boundary pixel block may be related to the main content of the adjacent image block. Belong to the same object.
  • the first boundary pixel block of the current image block is adjacent to the second boundary pixel block, and therefore, the first boundary pixel block and the two boundary pixel block may belong to the same object.
  • the first boundary pixel block and the body content of the adjacent image block may belong to the same object.
  • it is necessary to use the motion vector of the adjacent image block to correct the predicted value obtained by the motion vector of the current image block, that is, the second coefficient is not zero.
  • preset values of the first coefficient and the second coefficient may be employed.
  • all pixels in the first boundary pixel block are determined based on the second boundary pixel block, and therefore, whether the second coefficient is zero or not can be determined according to the granularity of the boundary pixel block. That is to say, for the first boundary pixel block, only one determination can be made, and the determination result is applied to all the pixels in the first boundary pixel block.
  • the second boundary pixel blocks 4x4 blocks for example, as shown in FIG. 6 first calculates the second block boundary pixel (4x4 neighboring blocks in FIG. 6), denoted V 1 of each Then, calculate the pixel average of the entire adjacent image block, denoted as V 2 . If
  • the threshold T h may be set to 15.
  • the preset values of the first coefficient a and the second coefficient b may be: first row/column: 3/4, 1/4; second row/column: 6/7, 1/7; third row/column: 11/12, 1/12; fourth row/column: 19/20, 1/20.
  • the weighting coefficient is used to determine the predicted value of the pixel to be processed.
  • a first predicted value of the pixel to be processed may be determined according to a motion vector of the current image block; and a second predicted value of the pixel to be processed is determined according to a motion vector of the adjacent image block; And weighting the first predicted value and the second predicted value according to the weighting coefficient to obtain a predicted value of the pixel to be processed.
  • the corresponding similar block may be determined according to the motion vector of the current image block, and the value of the corresponding pixel of the pixel in the similar block is the first predicted value P cur ;
  • the second predicted value P ner can be obtained according to the motion vector of the adjacent image block; and the weighting coefficients a and b are obtained by the foregoing manner, and the predicted value P of the pixel is obtained according to the formula (1).
  • the encoding end may perform encoding based on the predicted value, and for the decoding end, decoding may be performed based on the predicted value.
  • the technical solution of the embodiment of the present invention determines the weighting coefficient of the pixel in the boundary pixel block of the current image block according to the pixel information of the pixel of the adjacent image block of the current image block, and can reasonably utilize the motion vector of the adjacent image block. Overlap block motion compensation, which improves the performance of motion compensation.
  • the threshold in the present invention may be used as a preset value of the encoding end and the decoding end, or the threshold information may be written into the code stream at the encoding end, and the decoding end obtains the threshold information from the code stream.
  • the encoding end it can be written in the video parameter set (VPS, video parameter set), sequence parameter set (SPS, sequence parameter set), picture parameter set (PPS, picture parameter set), sequence header, image header, strip header, etc.
  • VPS video parameter set
  • SPS sequence parameter set
  • PPS picture parameter set
  • sequence header image header
  • strip header etc.
  • the encoding end and the decoding end perform similar operations, and no additional information needs to be written in the code stream, so that no additional overhead is incurred.
  • FIG. 8 shows a schematic block diagram of a motion compensated device 800 in accordance with one embodiment of the present invention.
  • the apparatus 800 can perform the motion compensation method 500 of the embodiments of the present invention described above.
  • the apparatus 800 can include:
  • a predicted value determining unit 810 configured to determine a predicted value of a pixel to be processed according to a motion vector of a current image block, where the pixel to be processed is a pixel in a first boundary pixel block of the current image block;
  • the processing unit 820 is configured to determine, according to pixel information of a pixel of a neighboring image block of the current image block, whether to perform overlap block motion compensation on the predicted value of the pixel to be processed, where the first boundary pixel block is Adjacent image blocks are adjacent.
  • the processing unit 820 is specifically configured to:
  • the pixels of the adjacent image block include pixels of the second boundary pixel block, and the second boundary pixel block is adjacent to the first boundary pixel block.
  • the pixel information includes at least one of a pixel average value, a pixel gradient, and a pixel distribution.
  • the processing unit 820 is specifically configured to:
  • the predicted value of the pixel to be processed is not subjected to overlap block motion compensation.
  • the processing unit 820 is specifically configured to:
  • the predicted value of the pixel to be processed is subjected to overlap block motion compensation.
  • FIG. 9 shows a schematic block diagram of a motion compensated device 900 in accordance with another embodiment of the present invention.
  • the apparatus 900 can perform the method 700 of motion compensation of the embodiments of the present invention described above.
  • the apparatus 900 can include:
  • the weighting coefficient determining unit 910 is configured to determine a weighting coefficient of the pixel predicted value of the pixel to be processed according to the pixel information of the pixel of the adjacent image block of the current image block, where the pixel to be processed is the first boundary of the current image block a pixel in a pixel block, the first boundary pixel block being adjacent to the adjacent image block;
  • the predicted value determining unit 920 is configured to determine a predicted value of the pixel to be processed according to the weighting coefficient.
  • the predicted value determining unit 920 is specifically configured to:
  • the predicted value weighting coefficient includes a first coefficient and a second a coefficient, the first coefficient is used to weight the first predicted value, and the second coefficient is used to weight the second predicted value.
  • the weighting coefficient determining unit 910 is specifically configured to:
  • the pixel information includes at least one of a pixel average value, a pixel gradient, and a pixel distribution.
  • the weighting coefficient determining unit 910 is specifically configured to:
  • the weighting coefficient determining unit 910 is specifically configured to:
  • the apparatus for motion compensation may be a chip, which may be specifically implemented by a circuit, but the specific implementation manner of the embodiment of the present invention is not limited.
  • An embodiment of the present invention also provides an encoder comprising the motion compensation apparatus of the various embodiments of the present invention described above.
  • Embodiments of the present invention also provide a decoder including the motion compensation apparatus of the various embodiments of the present invention described above.
  • FIG. 10 shows a schematic block diagram of a computer system 1000 in accordance with an embodiment of the present invention.
  • the computer system 1000 can include a processor 1010 and a memory 1020.
  • the computer system 1000 may also include components that are generally included in other computer systems, such as input and output devices, communication interfaces, and the like, which are not limited by the embodiments of the present invention.
  • Memory 1020 is for storing computer executable instructions.
  • the memory 1020 may be various kinds of memories, for example, may include a high speed random access memory (RAM), and may also include a non-volatile memory, such as at least one disk memory, which is implemented by the present invention. This example is not limited to this.
  • RAM high speed random access memory
  • non-volatile memory such as at least one disk memory
  • the processor 1010 is configured to access the memory 1020 and execute the computer executable instructions to perform the operations in the motion compensation method of the embodiment of the present invention described above.
  • the processor 1010 may include a microprocessor, a Field-Programmable Gate Array (FPGA), a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), etc., and is implemented by the present invention. This example is not limited to this.
  • the motion compensated apparatus and computer system of an embodiment of the present invention may correspond to an execution subject of the motion compensation method of the embodiment of the present invention, and the above and other operations and/or functions of the motion compensation apparatus and each module in the computer system respectively
  • the above and other operations and/or functions of the motion compensation apparatus and each module in the computer system respectively
  • no further details are provided herein.
  • Embodiments of the present invention also provide an electronic device that can include the motion compensated device or computer system of the various embodiments of the present invention described above.
  • the embodiment of the invention further provides a computer storage medium, wherein the computer storage medium stores program code, and the program code can be used to indicate a method for performing motion compensation according to the embodiment of the invention.
  • the term "and/or” is merely an association relationship describing an associated object, indicating that there may be three relationships.
  • a and/or B may indicate that A exists separately, and A and B exist simultaneously, and B cases exist alone.
  • the character "/" in this article generally indicates that the contextual object is an "or" relationship.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
  • 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, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .

Landscapes

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

Abstract

Provided are a motion compensation method, device and a computer system. The method comprises: determining, according to a motion vector of the current image block, a predicted value of a pixel to be processed, wherein the pixel to be processed is a pixel in a first boundary pixel block of the current image block; determining, according to pixel information of a pixel of an adjacent image block of the current image block, whether to perform overlapping block motion compensation on the predicted value of the pixel to be processed, wherein the first boundary pixel block is adjacent to the adjacent image block. The technical solution of the embodiment of the invention can improve motion compensation performance.

Description

运动补偿的方法、装置和计算机系统Motion compensation method, device and computer system
版权申明Copyright statement
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。The disclosure of this patent document contains material that is subject to copyright protection. This copyright is the property of the copyright holder. The copyright owner has no objection to the reproduction of the patent document or the patent disclosure in the official records and files of the Patent and Trademark Office.
技术领域Technical field
本发明涉及信息技术领域,并且更具体地,涉及一种运动补偿的方法、装置和计算机系统。The present invention relates to the field of information technology and, more particularly, to a method, apparatus and computer system for motion compensation.
背景技术Background technique
预测是视频编码框架的重要模块,通过运动补偿的方式来实现。对于一帧图像,先分成等大的编码区域(Coding Tree Unit,CTU),例如64x64、128x128大小的编码区域。每个CTU可以进一步划分成方形或矩形的编码单元(Coding Unit,CU),CU还可以进一步划分成预测单元(Prediction Unit,PU),或直接作为PU。为了便于统一,本文统称为图像块。也就是说,所述的图像块可以为CU或PU。每个图像块在参考帧中(一般为时域附近的已重构帧)寻找最相似图像块作为当前图像块的预测值。当前图像块与相似图像块之间的相对位置为运动矢量(Motion Vector,MV)。在参考帧中寻找相似图像块作为当前图像块的预测值的过程就是运动补偿。Prediction is an important module of the video coding framework, which is realized by motion compensation. For a frame of image, it is first divided into equal-sized Coding Tree Units (CTUs), such as 64x64, 128x128 size coding regions. Each CTU may be further divided into square or rectangular coding units (CUs), and the CU may be further divided into a prediction unit (PU) or directly as a PU. In order to facilitate uniformity, this article is collectively referred to as an image block. That is to say, the image block can be a CU or a PU. Each image block finds the most similar image block in the reference frame (typically a reconstructed frame near the time domain) as the predicted value of the current image block. The relative position between the current image block and the similar image block is a motion vector (Motion Vector, MV). The process of finding a similar image block as a predicted value of the current image block in the reference frame is motion compensation.
一般的运动补偿是对于每个图像块根据该图像块的运动矢量获取预测图像块。基于此,出现了重叠块运动补偿(Overlapped Block Motion Compensation,OBMC)技术。即对于当前图像块边界部分的像素,使用当前图像块的运动矢量和相邻图像块的运动矢量加权预测得到预测值。A general motion compensation is to acquire a predicted image block from the motion vector of the image block for each image block. Based on this, an Overlapped Block Motion Compensation (OBMC) technique has appeared. That is, for the pixels of the current image block boundary portion, the motion vector of the current image block and the motion vector weighted prediction of the adjacent image block are used to obtain the predicted value.
然而,现有的OBMC技术中,只要相邻图像块的运动矢量与当前图像块不同时,则一定对边界像素块进行重叠块运动补偿,限制了OBMC的性能。因此,需要一种改进的运动补偿的方法,以提高运动补偿的性能。However, in the existing OBMC technology, as long as the motion vector of the adjacent image block is different from the current image block, the overlapping block motion compensation must be performed on the boundary pixel block, which limits the performance of the OBMC. Therefore, there is a need for an improved motion compensation method to improve the performance of motion compensation.
发明内容Summary of the invention
本发明实施例提供了一种运动补偿的方法、装置和计算机系统,能够 提高运动补偿的性能。Embodiments of the present invention provide a method, apparatus, and computer system for motion compensation, which can improve performance of motion compensation.
第一方面,提供了一种运动补偿的方法,包括:根据当前图像块的运动矢量,确定待处理像素的预测值,其中,所述待处理像素为所述当前图像块的第一边界像素块中的像素;根据当前图像块的相邻图像块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,其中,所述第一边界像素块与所述相邻图像块相邻。In a first aspect, a method for motion compensation is provided, including: determining a predicted value of a pixel to be processed according to a motion vector of a current image block, wherein the pixel to be processed is a first boundary pixel block of the current image block Determining whether to perform overlap block motion compensation on the predicted value of the pixel to be processed according to pixel information of a pixel of a neighboring image block of the current image block, wherein the first boundary pixel block is adjacent to the adjacent block The image blocks are adjacent.
第二方面,提供了一种运动补偿的方法,包括:根据当前图像块的相邻图像块的像素的像素信息,确定待处理像素预测值的加权系数,其中,所述待处理像素为所述当前图像块的第一边界像素块中的像素,所述第一边界像素块与所述相邻图像块相邻;根据所述加权系数确定所述待处理像素的预测值。In a second aspect, a method for motion compensation is provided, including: determining, according to pixel information of a pixel of a neighboring image block of a current image block, a weighting coefficient of a predicted value of a pixel to be processed, wherein the pixel to be processed is the a pixel in a first boundary pixel block of a current image block, the first boundary pixel block being adjacent to the adjacent image block; determining a predicted value of the pixel to be processed according to the weighting coefficient.
第三方面,提供了一种运动补偿的装置,包括:预测值确定单元,用于根据当前图像块的运动矢量,确定待处理像素的预测值,其中,所述待处理像素为所述当前图像块的第一边界像素块中的像素;处理单元,用于根据当前图像块的相邻图像块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,其中,所述第一边界像素块与所述相邻图像块相邻。In a third aspect, a device for motion compensation is provided, comprising: a prediction value determining unit, configured to determine a predicted value of a pixel to be processed according to a motion vector of a current image block, wherein the pixel to be processed is the current image a pixel in the first boundary pixel block of the block; a processing unit, configured to determine, according to pixel information of a pixel of the adjacent image block of the current image block, whether to perform overlap block motion compensation on the predicted value of the pixel to be processed, where The first boundary pixel block is adjacent to the adjacent image block.
第四方面,提供了一种运动补偿的装置,包括:加权系数确定单元,用于根据当前图像块的相邻图像块的像素的像素信息,确定待处理像素预测值的加权系数,其中,所述待处理像素为所述当前图像块的第一边界像素块中的像素,所述第一边界像素块与所述相邻图像块相邻;预测值确定单元,用于根据所述加权系数确定所述待处理像素的预测值。A fourth aspect provides a motion compensation apparatus, including: a weighting coefficient determining unit, configured to determine, according to pixel information of a pixel of a neighboring image block of a current image block, a weighting coefficient of a predicted value of a pixel to be processed, where The processing pixel is a pixel in a first boundary pixel block of the current image block, the first boundary pixel block is adjacent to the adjacent image block, and a prediction value determining unit is configured to determine according to the weighting coefficient The predicted value of the pixel to be processed.
第五方面,提供了一种计算机系统,包括:存储器,用于存储计算机可执行指令;处理器,用于访问所述存储器,并执行所述计算机可执行指令,以进行上述第一或第二方面的方法中的操作。In a fifth aspect, a computer system is provided, comprising: a memory for storing computer executable instructions; a processor for accessing the memory, and executing the computer executable instructions to perform the first or second The operation in the aspect of the method.
第六方面,提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述第一或第二方面的方法。In a sixth aspect, a computer storage medium is provided having stored therein program code, the program code being operative to indicate a method of performing the first or second aspect described above.
本发明实施例的技术方案,根据当前图像块的相邻图像块的像素的像素信息,确定是否对当前图像块的边界像素块中的像素的预测值进行重叠块运动补偿,能够合理地利用相邻图像块的运动矢量进行重叠块运动补偿,从而能够提高运动补偿的性能。The technical solution of the embodiment of the present invention determines whether to perform overlapping block motion compensation on the predicted values of the pixels in the boundary pixel block of the current image block according to the pixel information of the pixels of the adjacent image block of the current image block, and can reasonably utilize the phase The motion vector of the adjacent image block performs overlap block motion compensation, thereby improving the performance of motion compensation.
附图说明DRAWINGS
图1是应用本发明实施例的技术方案的架构图。FIG. 1 is an architectural diagram of a technical solution to which an embodiment of the present invention is applied.
图2是本发明实施例的编码器的处理架构图。2 is a processing architecture diagram of an encoder according to an embodiment of the present invention.
图3是本发明实施例的待编码数据的示意图。FIG. 3 is a schematic diagram of data to be encoded according to an embodiment of the present invention.
图4是本发明实施例的边界像素块的示意图。4 is a schematic diagram of a boundary pixel block in accordance with an embodiment of the present invention.
图5是本发明一个实施例的运动补偿的方法的示意性流程图。FIG. 5 is a schematic flow chart of a method of motion compensation according to an embodiment of the present invention.
图6是本发明实施例的当前图像块和相邻图像块的示意图。6 is a schematic diagram of a current image block and adjacent image blocks in an embodiment of the present invention.
图7是本发明另一个实施例的运动补偿的方法的示意性流程图。FIG. 7 is a schematic flow chart of a method of motion compensation according to another embodiment of the present invention.
图8是本发明一个实施例的运动补偿的装置的示意性框图。Figure 8 is a schematic block diagram of an apparatus for motion compensation in accordance with one embodiment of the present invention.
图9是本发明另一个实施例的运动补偿的装置的示意性框图。9 is a schematic block diagram of an apparatus for motion compensation according to another embodiment of the present invention.
图10是本发明实施例的计算机系统的示意性框图。Figure 10 is a schematic block diagram of a computer system in accordance with an embodiment of the present invention.
具体实施方式Detailed ways
下面将结合附图,对本发明实施例中的技术方案进行描述。The technical solutions in the embodiments of the present invention will be described below with reference to the accompanying drawings.
应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。It should be understood that the specific examples herein are merely intended to provide a better understanding of the embodiments of the invention.
还应理解,本发明实施例中的公式只是一种示例,而非限制本发明实施例的范围,各公式可以进行变形,这些变形也应属于本发明保护的范围。It should be understood that the formulas in the embodiments of the present invention are only examples, and are not intended to limit the scope of the embodiments of the present invention, and the formulas may be modified, and such modifications are also within the scope of the present invention.
还应理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。It should also be understood that, in various embodiments of the present invention, the size of the sequence numbers of the processes does not imply a sequence of executions, and the order of execution of the processes should be determined by its function and internal logic, and should not be construed as an embodiment of the present invention. The implementation process constitutes any limitation.
还应理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本发明实施例对此并不限定。It should be understood that the various embodiments described in the specification may be implemented separately or in combination, and the embodiments of the present invention are not limited thereto.
除非另有说明,本发明实施例所使用的所有技术和科学术语与本发明的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。本申请所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。Unless otherwise indicated, all technical and scientific terms used in the embodiments of the present invention have the same meaning The terminology used in the present application is for the purpose of describing particular embodiments and is not intended to limit the scope of the application. The term "and/or" used in this application includes any and all combinations of one or more of the associated listed.
图1是应用本发明实施例的技术方案的架构图。FIG. 1 is an architectural diagram of a technical solution to which an embodiment of the present invention is applied.
如图1所示,系统100可以接收待处理数据102,对待处理数据102进行处理,产生处理后数据108。例如,系统100可以接收待编码数据,对 待编码数据进行编码以产生编码后的数据,或者,系统100可以接收待解码数据,对待解码数据进行解码以产生解码后的数据。在一些实施例中,系统100中的部件可以由一个或多个处理器实现,该处理器可以是计算设备中的处理器,也可以是移动设备(例如无人机)中的处理器。该处理器可以为任意种类的处理器,本发明实施例对此不做限定。在一些可能的设计中,该处理器可以包括编码器或解码器等。系统100中还可以包括一个或多个存储器。该存储器可用于存储指令和数据,例如,实现本发明实施例的技术方案的计算机可执行指令,待处理数据102、处理后数据108等。该存储器可以为任意种类的存储器,本发明实施例对此也不做限定。As shown in FIG. 1, system 100 can receive data to be processed 102 and process data to be processed 102 to produce processed data 108. For example, system 100 can receive data to be encoded, encode the data to be encoded to produce encoded data, or system 100 can receive the data to be decoded and decode the data to be decoded to produce decoded data. In some embodiments, components in system 100 may be implemented by one or more processors, which may be processors in a computing device or processors in a mobile device (eg, a drone). The processor may be any type of processor, which is not limited in this embodiment of the present invention. In some possible designs, the processor may include an encoder or decoder or the like. One or more memories may also be included in system 100. The memory can be used to store instructions and data, such as computer executable instructions to implement the technical solution of the embodiments of the present invention, data to be processed 102, processed data 108, and the like. The memory may be any kind of memory, which is not limited in this embodiment of the present invention.
待编码数据可以包括文本,图像,图形对象,动画序列,音频,视频,或者任何需要编码的其他数据。在一些情况下,待编码数据可以包括来自传感器的传感数据,该传感器可以为视觉传感器(例如,相机、红外传感器),麦克风,近场传感器(例如,超声波传感器、雷达),位置传感器,温度传感器,触摸传感器等。在一些情况下,待编码数据可以包括来自用户的信息,例如,生物信息,该生物信息可以包括面部特征,指纹扫描,视网膜扫描,嗓音记录,DNA采样等。The data to be encoded may include text, images, graphic objects, animation sequences, audio, video, or any other data that needs to be encoded. In some cases, the data to be encoded may include sensory data from sensors, which may be vision sensors (eg, cameras, infrared sensors), microphones, near field sensors (eg, ultrasonic sensors, radar), position sensors, temperature Sensors, touch sensors, etc. In some cases, the data to be encoded may include information from a user, such as biometric information, which may include facial features, fingerprint scans, retinal scans, voice recordings, DNA sampling, and the like.
编码对于高效和/或安全的传输或存储数据是必需的。对待编码数据的编码可以包括数据压缩,加密,纠错编码,格式转换等。例如,对多媒体数据(例如视频或音频)压缩可以减少在网络中传输的比特数量。敏感数据,例如金融信息和个人标识信息,在传输和存储前可以加密以保护机密和/或隐私。为了减少视频存储和传输所占用的带宽,需要对视频数据进行编码压缩处理。Encoding is necessary for efficient and/or secure transmission or storage of data. The encoding of the encoded data may include data compression, encryption, error correction coding, format conversion, and the like. For example, compression of multimedia data, such as video or audio, can reduce the number of bits transmitted in the network. Sensitive data, such as financial information and personally identifiable information, can be encrypted to protect confidentiality and/or privacy prior to transmission and storage. In order to reduce the bandwidth occupied by video storage and transmission, it is necessary to encode and compress the video data.
任何合适的编码技术都可以用于编码待编码数据。编码类型依赖于被编码的数据和具体的编码需求。Any suitable coding technique can be used to encode the data to be encoded. The type of encoding depends on the data being encoded and the specific coding requirements.
在一些实施例中,编码器可以实现一种或多种不同的编解码器。每种编解码器可以包括实现不同编码算法的代码,指令或计算机程序。基于各种因素,包括待编码数据的类型和/或来源,编码数据的接收实体,可用的计算资源,网络环境,商业环境,规则和标准等,可以选择一种合适的编码算法编码给定的待编码数据。In some embodiments, the encoder can implement one or more different codecs. Each codec may include code, instructions or a computer program that implements different encoding algorithms. Based on various factors, including the type and/or source of the data to be encoded, the receiving entity of the encoded data, the available computing resources, the network environment, the business environment, the rules and standards, etc., a suitable encoding algorithm can be selected to encode the given Data to be encoded.
例如,编码器可以被配置为编码一系列视频帧。编码每个帧中的数据可以采用一系列步骤。在一些实施例中,编码步骤可以包括预测、变换、量 化、熵编码等处理步骤。For example, the encoder can be configured to encode a series of video frames. Encoding the data in each frame can take a series of steps. In some embodiments, the encoding step can include processing steps such as prediction, transforming, quantizing, entropy encoding, and the like.
预测包括帧内预测和帧间预测两种类型,其目的在于利用预测块信息去除当前待编码图像块的冗余信息。帧内预测利用本帧图像的信息获得预测块数据。帧间预测利用参考帧的信息获得预测块数据,其过程包括将待编码图像块划分成若干个子图像块;然后,针对每个子图像块,在参考图像中搜索与当前子图像块最匹配的图像块作为预测块;其后,将该子图像块与预测块的相应像素值相减得到残差,并将得到的各子图像块对应的残差组合在一起,得到图像块的残差。The prediction includes two types of intra prediction and inter prediction, and the purpose is to use the prediction block information to remove redundant information of the current image block to be encoded. Intra prediction uses the information of the current frame image to obtain prediction block data. Inter prediction uses the information of the reference frame to obtain prediction block data, the process comprising dividing the image block to be encoded into a plurality of sub image blocks; and then, for each sub image block, searching the reference image for the image that best matches the current sub image block. The block is used as a prediction block; thereafter, the sub-image block is subtracted from the corresponding pixel value of the prediction block to obtain a residual, and the obtained residuals of the respective sub-image blocks are combined to obtain a residual of the image block.
使用变换矩阵对图像的残差块进行变换可以去除图像块的残差的相关性,即去除图像块的冗余信息,以便提高编码效率,图像块中的数据块的变换通常采用二维变换,即在编码端将数据块的残差信息分别与一个NxM的变换矩阵及其转置矩阵相乘,相乘之后得到的是变换系数。变换系数经量化可得到量化后的系数,最后将量化后的系数进行熵编码,最后将熵编码得到的比特流及进行编码后的编码模式信息,如帧内预测模式、运动矢量信息等,进行存储或发送到解码端。在图像的解码端,首先获得熵编码比特流后进行熵解码,得到相应的残差,根据解码得到的运动矢量或帧内预测等信息图像块对应的预测图像块,根据预测图像块与图像块的残差得到当前子图像块中各像素点的值。Transforming the residual block of the image using the transformation matrix can remove the correlation of the residual of the image block, that is, remove the redundant information of the image block, so as to improve the coding efficiency, the transformation of the data block in the image block usually adopts a two-dimensional transformation. That is, the residual information of the data block is multiplied by an NxM transform matrix and its transposed matrix at the encoding end, and the transform coefficients are obtained after multiplication. The transform coefficients are quantized to obtain quantized coefficients, and finally the quantized coefficients are entropy encoded, and finally the entropy-encoded bit stream and the encoded coding mode information, such as intra prediction mode and motion vector information, are performed. Store or send to the decoder. At the decoding end of the image, the entropy-encoded bit stream is first obtained and entropy decoded to obtain a corresponding residual, according to the predicted image block corresponding to the information image block such as the motion vector or the intra prediction obtained by decoding, according to the predicted image block and the image block. The residual is obtained by the value of each pixel in the current sub-image block.
图2示出了本发明实施例的编码器的处理架构图。如图2所示,预测处理可以包括帧内预测和帧间预测。通过预测处理,可以得到数据单元(例如像素点)对应的残差,其中,在对某一像素点进行预测时,可以从存储的上下文中获取参考像素点重建后得到的像素,按照参考像素点重建后得到的像素与该像素点的像素,得到该像素点对应的像素残差。像素残差通过变换、量化后再进行熵编码。在量化处理时,可以通过对量化参数的控制,实现对码率的控制。对某一像素点对应的量化处理后的像素残差还可以进行反量化反变换处理,再进行重建处理,得到该像素点重建后的像素,并将该像素点重建后的像素进行存储,以便于在该像素点作为参考像素点时,利用该像素点重建后的像素获取其他像素点对应的像素残差。FIG. 2 is a block diagram showing the processing architecture of an encoder according to an embodiment of the present invention. As shown in FIG. 2, the prediction process may include intra prediction and inter prediction. Through the prediction process, a residual corresponding to the data unit (for example, a pixel point) can be obtained, wherein when the prediction is performed on a certain pixel point, the pixel obtained by reconstructing the reference pixel point can be obtained from the stored context, according to the reference pixel point. The pixel obtained after the reconstruction and the pixel of the pixel point obtain the pixel residual corresponding to the pixel point. The pixel residual is subjected to entropy coding by transforming and quantization. In the quantization process, the control of the quantization rate can be achieved by controlling the quantization parameter. The quantized pixel residual corresponding to a certain pixel point may also be subjected to inverse quantization inverse transform processing, and then reconstructed to obtain a pixel reconstructed by the pixel, and the reconstructed pixel of the pixel is stored, so that When the pixel is used as the reference pixel, the pixel reconstructed by the pixel acquires the pixel residual corresponding to the other pixel.
量化参数可以包括量化步长,表示量化步长或者与量化步长相关的值,例如,H.264、H.265或者类似的编码器中的量化参数(Quantization Parameter,QP),或者,量化矩阵或其参考矩阵等。The quantization parameter may include a quantization step size indicating a quantization step size or a value related to the quantization step size, for example, a quantization parameter (QP) in an H.264, H.265, or similar encoder, or a quantization matrix. Or its reference matrix, etc.
对于解码端,则进行与编码端相对应的操作,以对编码后数据解码,得到原始数据,即待编码数据。For the decoding end, an operation corresponding to the encoding end is performed to decode the encoded data to obtain original data, that is, data to be encoded.
图3示出了本发明实施例的待编码数据的示意图。FIG. 3 shows a schematic diagram of data to be encoded in an embodiment of the present invention.
如图3所示,待编码数据302可以包括多个帧304。例如,多个帧304可以表示视频流中的连续的图像帧。每个帧304可以包括一个或多个条带或贴砖(tile)306。每个条带或tile306可以包括一个或多个宏块或编码单元308。每个宏块或编码单元308可以包括一个或多个块310。每个块310可以包括一个或多个像素312。每个像素312可以包括一个或多个数据集,对应于一个或多个数据部分,例如,亮度数据部分和色度数据部分。数据单元可以为帧,条带,tile,编码单元,宏块,块,像素或以上任一种的组。在不同的实施例中,数据单元的大小可以变化。作为举例,一个帧304可以包括100个条带306,每个条带306可以包括10个宏块308,每个宏块308可以包括4个(例如,2x2)块310,每个块310可以包括64个(例如,8x8)像素312。As shown in FIG. 3, the data 302 to be encoded may include a plurality of frames 304. For example, multiple frames 304 may represent consecutive image frames in a video stream. Each frame 304 can include one or more stripes or tiles 306. Each strip or tile 306 may include one or more macroblocks or encoding units 308. Each macroblock or coding unit 308 can include one or more blocks 310. Each block 310 can include one or more pixels 312. Each pixel 312 can include one or more data sets corresponding to one or more data portions, such as a luminance data portion and a chrominance data portion. The data unit can be a frame, a stripe, a tile, a coding unit, a macroblock, a block, a pixel, or a group of any of the above. In various embodiments, the size of the data unit can vary. By way of example, one frame 304 may include 100 stripes 306, each strip 306 may include 10 macroblocks 308, each macroblock 308 may include 4 (eg, 2x2) blocks 310, each block 310 may include 64 (eg, 8x8) pixels 312.
本发明实施例的技术方案可以用于编码或解码的预测过程中,对图像块的边界像素块中的像素进行运动补偿。The technical solution of the embodiment of the present invention may be used for motion compensation of pixels in a boundary pixel block of an image block in a prediction process of encoding or decoding.
现有的OBMC技术是将当前编码图像块分成一个个地4x4像素块。根据当前图像块的预测模式,现有OBMC也分成了普通模式及子块模式两种:当前图像块只有一个运动矢量时(例如普通帧间预测、普通合并模式),OBMC使用普通模式;当前图像块的每个4x4像素块拥有各自的运动矢量时(例如子块合并模式,仿射模式和解码端运动矢量导出模式),OBMC也使用子块模式。现有OBMC技术如图4所示。普通OBMC模式对当前块的边界4x4像素块进行处理,每个4x4边界像素块的4行/列像素的预测值会根据相邻4x4像素块的运动矢量进行改变。子块OBMC模式对当前图像块的每个4x4像素块都会进行处理,每个4x4块的2行/列像素的预测值会根据相邻4x4像素块的运动矢量进行改变。The existing OBMC technique is to divide the current coded image block into individual 4x4 pixel blocks. According to the prediction mode of the current image block, the existing OBMC is also divided into two types: normal mode and sub-block mode: when the current image block has only one motion vector (for example, normal inter prediction, normal merge mode), OBMC uses normal mode; current image Each 4x4 pixel block of a block has its own motion vector (eg, sub-block merge mode, affine mode and decoder-side motion vector derivation mode), and OBMC also uses sub-block mode. The existing OBMC technology is shown in Figure 4. The normal OBMC mode processes the boundary 4x4 pixel block of the current block, and the predicted value of the 4 row/column pixel of each 4x4 boundary pixel block is changed according to the motion vector of the adjacent 4x4 pixel block. The sub-block OBMC mode processes each 4x4 pixel block of the current image block, and the predicted value of the 2 row/column pixels of each 4x4 block is changed according to the motion vector of the adjacent 4x4 pixel block.
改变后的预测值由下式得到:The predicted value after the change is obtained by:
P=a·P cur+b·P ner            (1) P=a·P cur +b·P ner (1)
P cur和P ner分别代表由当前4x4块的运动矢量(当前图像块的运动矢量)和相邻4x4块的运动矢量(相邻图像块的运动矢量)分别得到的预测值,a和b是对应的加权系数,a与b的和为1。P是最终的预测值。现有的OBMC技术使用固定的加权系数,例如,a和b可以采用以下值: P cur and P ner represent the predicted values obtained from the motion vector of the current 4×4 block (the motion vector of the current image block) and the motion vector of the adjacent 4×4 block (the motion vector of the adjacent image block), respectively, and a and b correspond to each other. The weighting factor, the sum of a and b is 1. P is the final predicted value. Existing OBMC techniques use fixed weighting coefficients. For example, a and b can take the following values:
第一行:3/4,1/4;First line: 3/4, 1/4;
第二行:7/8,1/8;The second line: 7/8, 1/8;
第三行:15/16,1/16;Third line: 15/16, 1/16;
第四行:31/32,1/32。The fourth line: 31/32, 1/32.
现有OBMC技术,忽视了当前图像块与相邻图像块的内容相关性,限制了编码效率的提高。例如,当前图像块与相邻图像块在某些临接处属于同一个物体,该位置的4x4像素块应当进行OBMC处理;然而在其它临接处,当前图像块与相邻图像块不属于同一个物体时,不适宜使用相邻图像块的运动矢量来对当前图像块的边界像素进行加权预测。The existing OBMC technology ignores the content correlation between the current image block and the adjacent image block, and limits the improvement of coding efficiency. For example, the current image block and the adjacent image block belong to the same object at some proximity, and the 4×4 pixel block at the position should be processed by OBMC; however, at other interfaces, the current image block does not belong to the adjacent image block. When an object is used, it is not appropriate to use the motion vector of the adjacent image block to perform weighted prediction on the boundary pixels of the current image block.
鉴于此,本发明实施例提供了一种运动补偿的方法,考虑图像块的像素的像素信息,以提高运动补偿的性能。In view of this, embodiments of the present invention provide a method for motion compensation, which considers pixel information of pixels of an image block to improve performance of motion compensation.
图5示出了本发明实施例的运动补偿的方法500的示意性流程图。该方法500可以由图1所示的系统100执行。FIG. 5 shows a schematic flow chart of a method 500 of motion compensation in accordance with an embodiment of the present invention. The method 500 can be performed by the system 100 shown in FIG.
510,根据当前图像块的运动矢量,确定待处理像素的预测值,其中,所述待处理像素为所述当前图像块的第一边界像素块中的像素。510. Determine a predicted value of a pixel to be processed according to a motion vector of a current image block, where the pixel to be processed is a pixel in a first boundary pixel block of the current image block.
具体而言,对于图像块的边界像素块中的像素,首先根据当前图像块的运动矢量确定对应的相似块,然后,当前边界像素块中每个像素的预测值即为相似块对应位置像素的值。Specifically, for the pixels in the boundary pixel block of the image block, the corresponding similar block is first determined according to the motion vector of the current image block, and then the predicted value of each pixel in the current boundary pixel block is the pixel corresponding to the position of the similar block. value.
520,根据当前图像块的相邻图像块的像素的素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,其中,所述第一边界像素块与所述相邻图像块相邻。例如,所述第一边界像素块为当前图像块中与相邻图像块相邻的NxM像素块。在本发明一个实施例中,将NxM设为4x4。520. Determine, according to the prime information of the pixels of the adjacent image block of the current image block, whether to perform overlap block motion compensation on the predicted value of the pixel to be processed, where the first boundary pixel block and the adjacent image block Adjacent. For example, the first boundary pixel block is an NxM pixel block adjacent to an adjacent image block in the current image block. In one embodiment of the invention, NxM is set to 4x4.
在本发明实施例中,对于图像块的边界像素块中的像素,不再固定进行重叠块运动补偿,而是根据当前图像块的相邻图像块的像素的像素信息,确定是否进行重叠块运动补偿。若确定进行重叠块运动补偿,则再根据相邻图像块的运动矢量对前述步骤中根据当前图像块的运动矢量确定的待处理像素的预测值进行重叠块运动补偿;若确定不进行重叠块运动补偿,则可以跳过重叠块运动补偿过程。In the embodiment of the present invention, for the pixels in the boundary pixel block of the image block, the overlapping block motion compensation is no longer fixed, but whether the overlapping block motion is performed according to the pixel information of the pixels of the adjacent image block of the current image block. make up. If it is determined that the overlap block motion compensation is performed, the overlap block motion compensation is performed on the predicted value of the pixel to be processed determined according to the motion vector of the current image block in the foregoing step according to the motion vector of the adjacent image block; if it is determined that the overlapping block motion is not performed For compensation, the overlap block motion compensation process can be skipped.
可选地,在本发明一个实施例中,可以根据所述相邻图像块的像素的像素信息和所述相邻图像块的第二边界像素块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,其中,所述相邻图像块的 像素包括所述第二边界像素块的像素,所述第二边界像素块与所述第一边界像素块相邻。例如,第二边界像素块可以为相邻图像块中与第一边界像素块相邻的N’xM’像素块。Optionally, in an embodiment of the present invention, determining whether to wait for the pixel according to the pixel information of the pixel of the adjacent image block and the pixel information of the pixel of the second boundary pixel block of the adjacent image block The predicted values of the processed pixels are subjected to overlap block motion compensation, wherein pixels of the adjacent image blocks include pixels of the second boundary pixel block, and the second boundary pixel block is adjacent to the first boundary pixel block. For example, the second boundary pixel block may be an N'xM' pixel block adjacent to the first boundary pixel block in the adjacent image block.
该第二边界像素块可以是方形块,例如,图6中的相邻4x4块,也可以是其他块,例如,相邻图像块中与当前图像块相邻的几行或几列像素,本申请实施例对此并不限定。但第二边界像素块的宽度M’不超过相邻图像块的宽度,第二边界像素块的高度N’不超过相邻图像块的高度。可选地,在本发明一个实施例中,将N‘xM‘设置为2x4(相邻块与当前块上下相邻时)或者4x2(相邻块与当前块左右相邻时)。The second boundary pixel block may be a square block, for example, an adjacent 4x4 block in FIG. 6, or may be another block, for example, several rows or columns of pixels adjacent to the current image block in the adjacent image block, The application embodiment is not limited thereto. However, the width M' of the second boundary pixel block does not exceed the width of the adjacent image block, and the height N' of the second boundary pixel block does not exceed the height of the adjacent image block. Alternatively, in one embodiment of the present invention, N'xM' is set to 2x4 (when the neighboring block is adjacent to the current block) or 4x2 (when the neighboring block is adjacent to the left and right of the current block).
在本实施例中,比较相邻图像块的第二边界像素块的像素的像素信息和相邻图像块的像素的像素信息的差异,确定是否进行重叠块运动补偿。In the present embodiment, the difference between the pixel information of the pixels of the second boundary pixel block of the adjacent image block and the pixel information of the pixels of the adjacent image block is compared to determine whether to perform the overlap block motion compensation.
可选地,所述像素信息包括像素平均值、像素梯度和像素分布中的至少一项。像素的像素信息反映了像素块的内容,在本发明实施例中,可以采用像素平均值、像素梯度和像素分布中的至少一项,比较第二边界像素块与相邻图像块的内容差异,但本发明实施例对此并不限定。Optionally, the pixel information includes at least one of a pixel average value, a pixel gradient, and a pixel distribution. The pixel information of the pixel reflects the content of the pixel block. In the embodiment of the present invention, at least one of the pixel average value, the pixel gradient, and the pixel distribution may be used to compare the content difference between the second boundary pixel block and the adjacent image block. However, the embodiments of the present invention are not limited thereto.
可选地,在本申请一个实施例中,若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异大于第一阈值,则不对所述待处理像素的预测值进行重叠块运动补偿。Optionally, in an embodiment of the present application, if the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is greater than a first threshold, the pending The predicted values of the pixels are subjected to overlapping block motion compensation.
具体而言,第二边界像素块的像素的像素信息与相邻图像块的像素的像素信息的差异较大时,即大于第一阈值时,表明第二边界像素块的内容可能与相邻图像块的主体内容不属于同一个物体。当前图像块的第一边界像素块与第二边界像素块相邻,因此,第一边界像素块与二边界像素块可能属于同一物体。这样,第一边界像素块与相邻图像块的主体内容可能不属于同一个物体。在这种情况下,不需要使用相邻图像块的运动矢量来对通过当前图像块的运动矢量获得的预测值进行修正,即不对所述待处理像素的预测值进行重叠块运动补偿。Specifically, when the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is larger, that is, greater than the first threshold, the content of the second boundary pixel block may be adjacent to the adjacent image. The body content of the block does not belong to the same object. The first boundary pixel block of the current image block is adjacent to the second boundary pixel block, and therefore, the first boundary pixel block and the two boundary pixel block may belong to the same object. Thus, the first boundary pixel block and the body content of the adjacent image block may not belong to the same object. In this case, it is not necessary to use the motion vector of the adjacent image block to correct the prediction value obtained by the motion vector of the current image block, that is, the prediction value of the pixel to be processed is not subjected to the overlap block motion compensation.
可选地,在本申请一个实施例中,若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异不大于第一阈值,则对所述待处理像素的预测值进行重叠块运动补偿。Optionally, in an embodiment of the present application, if the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is not greater than a first threshold, The predicted values of the pixels are processed for overlap block motion compensation.
第二边界像素块的像素的像素信息与相邻图像块的像素的像素信息的差异较小时,即不大于第一阈值时,表明第二边界像素块的内容可能与相 邻图像块的主体内容属于同一个物体。当前图像块的第一边界像素块与第二边界像素块相邻,因此,第一边界像素块与二边界像素块可能属于同一物体。这样,第一边界像素块与相邻图像块的主体内容可能属于同一个物体。在这种情况下,需要使用相邻图像块的运动矢量来对通过当前图像块的运动矢量获得的预测值进行修正,即需要对所述待处理像素的预测值进行重叠块运动补偿。When the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is small, that is, when the value is not greater than the first threshold, it indicates that the content of the second boundary pixel block may be related to the main content of the adjacent image block. Belong to the same object. The first boundary pixel block of the current image block is adjacent to the second boundary pixel block, and therefore, the first boundary pixel block and the two boundary pixel block may belong to the same object. Thus, the first boundary pixel block and the body content of the adjacent image block may belong to the same object. In this case, it is necessary to use the motion vector of the adjacent image block to correct the prediction value obtained by the motion vector of the current image block, that is, it is necessary to perform the overlap block motion compensation on the predicted value of the pixel to be processed.
应理解,对于第一边界像素块中的所有像素,都是基于第二边界像素块进行判断的,因此,是否进行重叠块运动补偿可以按照边界像素块的粒度判断。也就是说,对于第一边界像素块,可以只进行一次判断,判断结果适用于第一边界像素块中的所有像素。It should be understood that all pixels in the first boundary pixel block are determined based on the second boundary pixel block, and therefore, whether or not to perform overlapping block motion compensation may be determined according to the granularity of the boundary pixel block. That is to say, for the first boundary pixel block, only one determination can be made, and the determination result is applied to all the pixels in the first boundary pixel block.
以像素信息为像素平均值,第二边界像素块为4x4块为例,如图6所示,首先计算第二边界像素块(图6中相邻4x4块)的像素平均值,记为V 1,然后计算整个相邻图像块的像素平均值,记为V 2。待处理的第一边界像素块(图6中与相邻4x4块相邻的4x4边界像素块)是否进行OBMC处理由下面公式决定: Pixel average value as a pixel average value of the pixel information, the second boundary pixel blocks 4x4 blocks, for example, as shown in FIG. 6 first calculates the second block boundary pixel (4x4 neighboring blocks in FIG. 6), denoted V 1 of each Then, calculate the pixel average of the entire adjacent image block, denoted as V 2 . Whether or not the first boundary pixel block to be processed (the 4x4 boundary pixel block adjacent to the adjacent 4x4 block in FIG. 6) performs OBMC processing is determined by the following formula:
Figure PCTCN2018076853-appb-000001
Figure PCTCN2018076853-appb-000001
其中,T h是一个可设置的阈值。当V 1和V 2之间的差值不大于阈值T h时,说明相邻4x4块与相邻图像块之间内容差异不大,因此相邻图像块的运动矢量可以表示该相邻4x4块的真实运动情形。在这种情况下,对边界像素块进行OBMC。当V 1和V 2差值大于阈值T h时,说明相邻4x4块与相邻图像块之间有较大的内容差异,因此相邻图像块的运动矢量很可能不符合该相邻4x4块的真实运动情形。在这种情况下,不应该再使用相邻图像块的运动矢量对边界像素块的预测值进行OBMC处理,可直接跳过。 Where T h is a configurable threshold. When the difference between V 1 and V 2 is not greater than the threshold value T h , it indicates that the content difference between the adjacent 4×4 block and the adjacent image block is not large, so the motion vector of the adjacent image block may represent the adjacent 4×4 block. The real movement situation. In this case, OBMC is performed on the boundary pixel block. When the difference between V 1 and V 2 is greater than the threshold value T h , it indicates that there is a large content difference between the adjacent 4×4 block and the adjacent image block, so the motion vector of the adjacent image block may not conform to the adjacent 4×4 block. The real movement situation. In this case, the OBMC processing of the predicted values of the boundary pixel blocks should not be performed again using the motion vectors of the adjacent image blocks, and can be skipped directly.
可选地,作为本发明的一个实施例,阈值T h可以设置为15。 Alternatively, as an embodiment of the present invention, the threshold T h may be set to 15.
可选的,本发明中的阈值可以作为编码端和解码端的预设值,也可以在编码端将阈值信息写入码流中,解码端从码流中获得阈值信息。在编码端可在视频参数集(VPS,video parameter set),序列参数集(SPS,sequence parameter set),图像参数集(PPS,picture parameter set),序列头,图像头,条带头等地方写入所述的阈值信息。Optionally, the threshold in the present invention may be used as a preset value of the encoding end and the decoding end, or the threshold information may be written into the code stream at the encoding end, and the decoding end obtains the threshold information from the code stream. At the encoding end, it can be written in the video parameter set (VPS, video parameter set), sequence parameter set (SPS, sequence parameter set), picture parameter set (PPS, picture parameter set), sequence header, image header, strip header, etc. The threshold information.
本发明实施例的技术方案,根据当前图像块的相邻图像块的像素的像 素信息,确定是否对当前图像块的边界像素块中的像素的预测值进行重叠块运动补偿,能够合理地利用相邻图像块的运动矢量进行重叠块运动补偿,从而能够提高运动补偿的性能。The technical solution of the embodiment of the present invention determines whether to perform overlapping block motion compensation on the predicted values of the pixels in the boundary pixel block of the current image block according to the pixel information of the pixels of the adjacent image block of the current image block, and can reasonably utilize the phase The motion vector of the adjacent image block performs overlap block motion compensation, thereby improving the performance of motion compensation.
应理解,对于不进行重叠块运动补偿的情况,相当于相邻图像块对应的加权系数为0,基于此,本发明实施例还提供了一种运动补偿的方法,下面进行描述。It should be understood that, for the case where the overlap block motion compensation is not performed, the weighting coefficient corresponding to the adjacent image block is 0. Based on this, the embodiment of the present invention further provides a motion compensation method, which will be described below.
图7示出了本发明另一实施例的运动补偿的方法700的示意性流程图。该方法700可以由图1所示的系统100执行。FIG. 7 shows a schematic flow chart of a method 700 of motion compensation in accordance with another embodiment of the present invention. The method 700 can be performed by the system 100 shown in FIG.
710,根据当前图像块的相邻图像块的像素的像素信息,确定待处理像素预测值的加权系数,其中,所述待处理像素为所述当前图像块的第一边界像素块中的像素,所述第一边界像素块与所述相邻图像块相邻。例如,所述第一边界像素块为当前图像块中与相邻图像块相邻的4x4像素块。710. Determine a weighting coefficient of a pixel prediction value to be processed according to pixel information of a pixel of a neighboring image block of the current image block, where the to-be-processed pixel is a pixel in a first boundary pixel block of the current image block, The first boundary pixel block is adjacent to the adjacent image block. For example, the first boundary pixel block is a 4x4 pixel block adjacent to an adjacent image block in the current image block.
在本发明实施例中,对于图像块的边界像素块中的像素,根据当前图像块的相邻图像块的像素的像素信息确定加权系数。In the embodiment of the present invention, for the pixels in the boundary pixel block of the image block, the weighting coefficients are determined according to the pixel information of the pixels of the adjacent image blocks of the current image block.
所述加权系数可以包括第一系数和第二系数,所述第一系数用于对根据所述当前图像块的运动矢量确定的所述待处理像素的第一预测值进行加权(即式(1)中的a),所述第二系数用于对根据所述相邻图像块的运动矢量确定的所述待处理像素的第二预测值进行加权(即式(1)中的b)。The weighting coefficient may include a first coefficient and a second coefficient, the first coefficient is used to weight a first predicted value of the pixel to be processed determined according to a motion vector of the current image block (ie, a formula (1) a), the second coefficient is used to weight a second predicted value of the pixel to be processed determined according to a motion vector of the adjacent image block (ie, b in the formula (1)).
可选地,在本发明一个实施例中,可以根据所述相邻图像块的像素的像素信息和所述相邻图像块的第二边界像素块的像素的像素信息,确定所述加权系数,其中,所述相邻图像块的像素包括所述第二边界像素块的像素,所述第二边界像素块与所述第一边界像素块相邻。例如,第二边界像素块可以为相邻图像块中与第一边界像素块相邻的MxN像素块。Optionally, in an embodiment of the present invention, the weighting coefficient may be determined according to pixel information of a pixel of the adjacent image block and pixel information of a pixel of a second boundary pixel block of the adjacent image block, The pixel of the adjacent image block includes a pixel of the second boundary pixel block, and the second boundary pixel block is adjacent to the first boundary pixel block. For example, the second boundary pixel block may be an MxN pixel block adjacent to the first boundary pixel block in the adjacent image block.
在本实施例中,比较相邻图像块的第二边界像素块的像素的像素信息和相邻图像块的像素的像素信息的差异,确定所述加权系数。In this embodiment, the difference between the pixel information of the pixels of the second boundary pixel block of the adjacent image block and the pixel information of the pixels of the adjacent image block is compared, and the weighting coefficient is determined.
该第二边界像素块可以是方形块,例如,图6中的相邻4x4块,也可以是其他块,例如,相邻图像块中与当前图像块相邻的几行或几列像素,本申请实施例对此并不限定。但第二边界像素块的宽度M’不超过相邻图像块的宽度,第二边界像素块的高度N’不超过相邻图像块的高度。可选地,在本发明一个实施例中,将N‘xM‘设置为2x4(相邻块与当前块上下相邻时)或者4x2(相邻块与当前块左右相邻时)。The second boundary pixel block may be a square block, for example, an adjacent 4x4 block in FIG. 6, or may be another block, for example, several rows or columns of pixels adjacent to the current image block in the adjacent image block, The application embodiment is not limited thereto. However, the width M' of the second boundary pixel block does not exceed the width of the adjacent image block, and the height N' of the second boundary pixel block does not exceed the height of the adjacent image block. Alternatively, in one embodiment of the present invention, N'xM' is set to 2x4 (when the neighboring block is adjacent to the current block) or 4x2 (when the neighboring block is adjacent to the left and right of the current block).
可选地,所述像素信息包括像素平均值、像素梯度和像素分布中的至少一项。像素信息反映了像素块的内容,在本发明实施例中,可以采用像素平均值、像素梯度和像素分布中的至少一项,比较第二边界像素块与相邻图像块的内容差异,但本发明实施例对此并不限定。Optionally, the pixel information includes at least one of a pixel average value, a pixel gradient, and a pixel distribution. The pixel information reflects the content of the pixel block. In the embodiment of the present invention, at least one of the pixel average value, the pixel gradient, and the pixel distribution may be used to compare the content difference between the second boundary pixel block and the adjacent image block, but The embodiment of the invention is not limited thereto.
可选地,在本申请一个实施例中,若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异大于第一阈值,则确定所述第一系数为1,所述第二系数为零。Optionally, in an embodiment of the present application, if the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is greater than a first threshold, determining the first The coefficient is 1, and the second coefficient is zero.
具体而言,第二边界像素块的像素的像素信息与相邻图像块的像素的像素信息的差异较大时,即大于第一阈值时,表明第二边界像素块的内容可能与相邻图像块的主体内容不属于同一个物体。当前图像块的第一边界像素块与第二边界像素块相邻,因此,第一边界像素块与二边界像素块可能属于同一物体。这样,第一边界像素块与相邻图像块的主体内容可能不属于同一个物体。在这种情况下,不需要使用相邻图像块的运动矢量来对通过当前图像块的运动矢量获得的预测值进行修正,即所述第一系数为1,所述第二系数为零。Specifically, when the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is larger, that is, greater than the first threshold, the content of the second boundary pixel block may be adjacent to the adjacent image. The body content of the block does not belong to the same object. The first boundary pixel block of the current image block is adjacent to the second boundary pixel block, and therefore, the first boundary pixel block and the two boundary pixel block may belong to the same object. Thus, the first boundary pixel block and the body content of the adjacent image block may not belong to the same object. In this case, it is not necessary to use the motion vector of the adjacent image block to correct the predicted value obtained by the motion vector of the current image block, that is, the first coefficient is 1, and the second coefficient is zero.
可选地,在本申请一个实施例中,若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异不大于第一阈值,则确定所述第一系数为第一预定值,所述第二系数为第二预定值,其中,第一预定值小于1,所述第二预定值大于零。Optionally, in an embodiment of the present application, if the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is not greater than a first threshold, determining the A coefficient is a first predetermined value and the second coefficient is a second predetermined value, wherein the first predetermined value is less than one and the second predetermined value is greater than zero.
第二边界像素块的像素的像素信息与相邻图像块的像素的像素信息的差异较小时,即不大于第一阈值时,表明第二边界像素块的内容可能与相邻图像块的主体内容属于同一个物体。当前图像块的第一边界像素块与第二边界像素块相邻,因此,第一边界像素块与二边界像素块可能属于同一物体。这样,第一边界像素块与相邻图像块的主体内容可能属于同一个物体。在这种情况下,需要使用相邻图像块的运动矢量来对通过当前图像块的运动矢量获得的预测值进行修正,即所述第二系数不为零。例如,可以采用预设的第一系数和第二系数的值。When the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is small, that is, when the value is not greater than the first threshold, it indicates that the content of the second boundary pixel block may be related to the main content of the adjacent image block. Belong to the same object. The first boundary pixel block of the current image block is adjacent to the second boundary pixel block, and therefore, the first boundary pixel block and the two boundary pixel block may belong to the same object. Thus, the first boundary pixel block and the body content of the adjacent image block may belong to the same object. In this case, it is necessary to use the motion vector of the adjacent image block to correct the predicted value obtained by the motion vector of the current image block, that is, the second coefficient is not zero. For example, preset values of the first coefficient and the second coefficient may be employed.
应理解,对于第一边界像素块中的所有像素,都是基于第二边界像素块进行判断的,因此,第二系数是否为零可以按照边界像素块的粒度判断。也就是说,对于第一边界像素块,可以只进行一次判断,判断结果适用于第一边界像素块中的所有像素。It should be understood that all pixels in the first boundary pixel block are determined based on the second boundary pixel block, and therefore, whether the second coefficient is zero or not can be determined according to the granularity of the boundary pixel block. That is to say, for the first boundary pixel block, only one determination can be made, and the determination result is applied to all the pixels in the first boundary pixel block.
以像素信息为像素平均值,第二边界像素块为4x4块为例,如图6所示,首先计算第二边界像素块(图6中相邻4x4块)的像素平均值,记为V 1,然后计算整个相邻图像块的像素平均值,记为V 2。如果|V 1-V 2|>T h,则第二系数b为零;如果|V 1-V 2|≤T h,则b不为零,例如可以采用预设值。 Pixel average value as a pixel average value of the pixel information, the second boundary pixel blocks 4x4 blocks, for example, as shown in FIG. 6 first calculates the second block boundary pixel (4x4 neighboring blocks in FIG. 6), denoted V 1 of each Then, calculate the pixel average of the entire adjacent image block, denoted as V 2 . If |V 1 -V 2 |>T h , the second coefficient b is zero; if |V 1 -V 2 | ≤T h , then b is not zero, for example, a preset value may be employed.
可选地,作为本发明的一个实施例,阈值T h可以设置为15。第一系数a和第二系数b的预设值可以为:第一行/列:3/4,1/4;第二行/列:6/7,1/7;第三行/列:11/12,1/12;第四行/列:19/20,1/20。 Alternatively, as an embodiment of the present invention, the threshold T h may be set to 15. The preset values of the first coefficient a and the second coefficient b may be: first row/column: 3/4, 1/4; second row/column: 6/7, 1/7; third row/column: 11/12, 1/12; fourth row/column: 19/20, 1/20.
720,根据所述加权系数确定所述待处理像素的预测值。720. Determine a predicted value of the pixel to be processed according to the weighting coefficient.
在采用前述方式得到加权系数后,采用该加权系数确定待处理像素的预测值。After the weighting coefficient is obtained in the foregoing manner, the weighting coefficient is used to determine the predicted value of the pixel to be processed.
具体地,可以根据所述当前图像块的运动矢量,确定所述待处理像素的第一预测值;根据所述相邻图像块的运动矢量,确定所述待处理像素的第二预测值;再根据所述加权系数,对所述第一预测值和所述第二预测值进行加权求和,得到所述待处理像素的预测值。Specifically, a first predicted value of the pixel to be processed may be determined according to a motion vector of the current image block; and a second predicted value of the pixel to be processed is determined according to a motion vector of the adjacent image block; And weighting the first predicted value and the second predicted value according to the weighting coefficient to obtain a predicted value of the pixel to be processed.
例如,对于当前图像块的边界像素块中的一个像素,可以根据当前图像块的运动矢量,确定对应的相似块,该像素在该相似块中对应的像素的值为第一预测值P cur;类似地,可以根据相邻图像块的运动矢量,得到第二预测值P ner;再利用通过前述方式得到加权系数a和b,根据式(1)得到该像素的预测值P。 For example, for one pixel in the boundary pixel block of the current image block, the corresponding similar block may be determined according to the motion vector of the current image block, and the value of the corresponding pixel of the pixel in the similar block is the first predicted value P cur ; Similarly, the second predicted value P ner can be obtained according to the motion vector of the adjacent image block; and the weighting coefficients a and b are obtained by the foregoing manner, and the predicted value P of the pixel is obtained according to the formula (1).
在采用上述方式得到像素的预测值后,对于编码端,可以基于该预测值进行编码,对于解码端,可以基于该预测值进行解码。After obtaining the predicted value of the pixel in the above manner, the encoding end may perform encoding based on the predicted value, and for the decoding end, decoding may be performed based on the predicted value.
本发明实施例的技术方案,根据当前图像块的相邻图像块的像素的像素信息,确定当前图像块的边界像素块中的像素的加权系数,能够合理地利用相邻图像块的运动矢量进行重叠块运动补偿,从而能够提高运动补偿的性能。The technical solution of the embodiment of the present invention determines the weighting coefficient of the pixel in the boundary pixel block of the current image block according to the pixel information of the pixel of the adjacent image block of the current image block, and can reasonably utilize the motion vector of the adjacent image block. Overlap block motion compensation, which improves the performance of motion compensation.
可选的,本发明中的阈值可以作为编码端和解码端的预设值,也可以在编码端将阈值信息写入码流中,解码端从码流中获得阈值信息。在编码端可在视频参数集(VPS,video parameter set),序列参数集(SPS,sequence parameter set),图像参数集(PPS,picture parameter set),序列头,图像头,条带头等地方写入所述的阈值信息。Optionally, the threshold in the present invention may be used as a preset value of the encoding end and the decoding end, or the threshold information may be written into the code stream at the encoding end, and the decoding end obtains the threshold information from the code stream. At the encoding end, it can be written in the video parameter set (VPS, video parameter set), sequence parameter set (SPS, sequence parameter set), picture parameter set (PPS, picture parameter set), sequence header, image header, strip header, etc. The threshold information.
采用本发明实施例的技术方案时,编码端和解码端进行类似的操作, 不需要在码流中写入额外的信息,从而不会带来额外的开销。When the technical solution of the embodiment of the present invention is used, the encoding end and the decoding end perform similar operations, and no additional information needs to be written in the code stream, so that no additional overhead is incurred.
上文中详细描述了本发明实施例的运动补偿的方法,下面将描述本发明实施例的运动补偿的装置和计算机系统。The method of motion compensation of the embodiment of the present invention is described in detail above, and the motion compensation apparatus and computer system of the embodiment of the present invention will be described below.
图8示出了本发明一个实施例的运动补偿的装置800的示意性框图。该装置800可以执行上述本发明实施例的运动补偿的方法500。FIG. 8 shows a schematic block diagram of a motion compensated device 800 in accordance with one embodiment of the present invention. The apparatus 800 can perform the motion compensation method 500 of the embodiments of the present invention described above.
如图8所示,该装置800可以包括:As shown in FIG. 8, the apparatus 800 can include:
预测值确定单元810,用于根据当前图像块的运动矢量,确定待处理像素的预测值,其中,所述待处理像素为所述当前图像块的第一边界像素块中的像素;a predicted value determining unit 810, configured to determine a predicted value of a pixel to be processed according to a motion vector of a current image block, where the pixel to be processed is a pixel in a first boundary pixel block of the current image block;
处理单元820,用于根据当前图像块的相邻图像块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,其中,所述第一边界像素块与所述相邻图像块相邻。The processing unit 820 is configured to determine, according to pixel information of a pixel of a neighboring image block of the current image block, whether to perform overlap block motion compensation on the predicted value of the pixel to be processed, where the first boundary pixel block is Adjacent image blocks are adjacent.
可选地,在本发明一个实施例中,所述处理单元820具体用于:Optionally, in an embodiment of the present invention, the processing unit 820 is specifically configured to:
根据所述相邻图像块的像素的像素信息和所述相邻图像块的第二边界像素块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,其中,所述相邻图像块的像素包括所述第二边界像素块的像素,所述第二边界像素块与所述第一边界像素块相邻。Determining whether to perform overlapping block motion compensation on the predicted value of the pixel to be processed, according to the pixel information of the pixel of the adjacent image block and the pixel information of the pixel of the second boundary pixel block of the adjacent image block, where The pixels of the adjacent image block include pixels of the second boundary pixel block, and the second boundary pixel block is adjacent to the first boundary pixel block.
可选地,在本发明一个实施例中,所述像素信息包括像素平均值、像素梯度和像素分布中的至少一项。Optionally, in an embodiment of the present invention, the pixel information includes at least one of a pixel average value, a pixel gradient, and a pixel distribution.
可选地,在本发明一个实施例中,所述处理单元820具体用于:Optionally, in an embodiment of the present invention, the processing unit 820 is specifically configured to:
若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异大于第一阈值,则不对所述待处理像素的预测值进行重叠块运动补偿。If the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is greater than the first threshold, the predicted value of the pixel to be processed is not subjected to overlap block motion compensation.
可选地,在本发明一个实施例中,所述处理单元820具体用于:Optionally, in an embodiment of the present invention, the processing unit 820 is specifically configured to:
若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异不大于第一阈值,则对所述待处理像素的预测值进行重叠块运动补偿。If the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is not greater than the first threshold, the predicted value of the pixel to be processed is subjected to overlap block motion compensation.
图9示出了本发明另一个实施例的运动补偿的装置900的示意性框图。该装置900可以执行上述本发明实施例的运动补偿的方法700。FIG. 9 shows a schematic block diagram of a motion compensated device 900 in accordance with another embodiment of the present invention. The apparatus 900 can perform the method 700 of motion compensation of the embodiments of the present invention described above.
如图9所示,该装置900可以包括:As shown in FIG. 9, the apparatus 900 can include:
加权系数确定单元910,用于根据当前图像块的相邻图像块的像 素的像素信息,确定待处理像素预测值的加权系数,其中,所述待处理像素为所述当前图像块的第一边界像素块中的像素,所述第一边界像素块与所述相邻图像块相邻;The weighting coefficient determining unit 910 is configured to determine a weighting coefficient of the pixel predicted value of the pixel to be processed according to the pixel information of the pixel of the adjacent image block of the current image block, where the pixel to be processed is the first boundary of the current image block a pixel in a pixel block, the first boundary pixel block being adjacent to the adjacent image block;
预测值确定单元920,用于根据所述加权系数确定所述待处理像素的预测值。The predicted value determining unit 920 is configured to determine a predicted value of the pixel to be processed according to the weighting coefficient.
可选地,在本发明一个实施例中,所述预测值确定单元920具体用于:Optionally, in an embodiment of the present invention, the predicted value determining unit 920 is specifically configured to:
根据所述当前图像块的运动矢量,确定所述待处理像素的第一预测值;Determining, according to a motion vector of the current image block, a first predicted value of the pixel to be processed;
根据所述相邻图像块的运动矢量,确定所述待处理像素的第二预测值;Determining, according to a motion vector of the adjacent image block, a second predicted value of the pixel to be processed;
根据所述加权系数,对所述第一预测值和所述第二预测值进行加权求和,得到所述待处理像素的预测值,其中,所述预测值加权系数包括第一系数和第二系数,所述第一系数用于对所述第一预测值进行加权,所述第二系数用于对所述第二预测值进行加权。And performing weighted summation on the first predicted value and the second predicted value according to the weighting coefficient to obtain a predicted value of the pixel to be processed, wherein the predicted value weighting coefficient includes a first coefficient and a second a coefficient, the first coefficient is used to weight the first predicted value, and the second coefficient is used to weight the second predicted value.
可选地,在本发明一个实施例中,所述加权系数确定单元910具体用于:Optionally, in an embodiment of the present invention, the weighting coefficient determining unit 910 is specifically configured to:
根据所述相邻图像块的像素的像素信息和所述相邻图像块的第二边界像素块的像素的像素信息,确定所述加权系数,其中,所述相邻图像块的像素包括所述第二边界像素块的像素,所述第二边界像素块与所述第一边界像素块相邻。Determining the weighting coefficient according to pixel information of a pixel of the adjacent image block and pixel information of a pixel of a second boundary pixel block of the adjacent image block, wherein a pixel of the adjacent image block includes the a pixel of a second boundary pixel block adjacent to the first boundary pixel block.
可选地,在本发明一个实施例中,所述像素信息包括像素平均值、像素梯度和像素分布中的至少一项。Optionally, in an embodiment of the present invention, the pixel information includes at least one of a pixel average value, a pixel gradient, and a pixel distribution.
可选地,在本发明一个实施例中,所述加权系数确定单元910具体用于:Optionally, in an embodiment of the present invention, the weighting coefficient determining unit 910 is specifically configured to:
若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异大于第一阈值,则确定所述第一系数为1,所述第二系数为零。And if the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is greater than a first threshold, determining that the first coefficient is 1, and the second coefficient is zero.
可选地,在本发明一个实施例中,所述加权系数确定单元910具体用于:Optionally, in an embodiment of the present invention, the weighting coefficient determining unit 910 is specifically configured to:
若所述第二边界像素块的像素的像素信息与所述相邻图像块的像 素的像素信息的差异不大于第一阈值,则确定所述第一系数为第一预定值,所述第二系数为第二预定值,其中,第一预定值小于1,所述第二预定值大于零。Determining, when the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is greater than a first threshold, determining that the first coefficient is a first predetermined value, the second The coefficient is a second predetermined value, wherein the first predetermined value is less than one and the second predetermined value is greater than zero.
应理解,上述本发明实施例的运动补偿的装置可以是芯片,其具体可以由电路实现,但本发明实施例对具体的实现形式不做限定。It should be understood that the apparatus for motion compensation according to the embodiment of the present invention may be a chip, which may be specifically implemented by a circuit, but the specific implementation manner of the embodiment of the present invention is not limited.
本发明实施例还提供了一种编码器,该编码器包括上述本发明各种实施例的运动补偿的装置。An embodiment of the present invention also provides an encoder comprising the motion compensation apparatus of the various embodiments of the present invention described above.
本发明实施例还提供了一种解码器,该解码器包括上述本发明各种实施例的运动补偿的装置。Embodiments of the present invention also provide a decoder including the motion compensation apparatus of the various embodiments of the present invention described above.
图10示出了本发明实施例的计算机系统1000的示意性框图。FIG. 10 shows a schematic block diagram of a computer system 1000 in accordance with an embodiment of the present invention.
如图10所示,该计算机系统1000可以包括处理器1010和存储器1020。As shown in FIG. 10, the computer system 1000 can include a processor 1010 and a memory 1020.
应理解,该计算机系统1000还可以包括其他计算机系统中通常所包括的部件,例如,输入输出设备、通信接口等,本发明实施例对此并不限定。It should be understood that the computer system 1000 may also include components that are generally included in other computer systems, such as input and output devices, communication interfaces, and the like, which are not limited by the embodiments of the present invention.
存储器1020用于存储计算机可执行指令。 Memory 1020 is for storing computer executable instructions.
存储器1020可以是各种种类的存储器,例如可以包括高速随机存取存储器(Random Access Memory,RAM),还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,本发明实施例对此并不限定。The memory 1020 may be various kinds of memories, for example, may include a high speed random access memory (RAM), and may also include a non-volatile memory, such as at least one disk memory, which is implemented by the present invention. This example is not limited to this.
处理器1010用于访问该存储器1020,并执行该计算机可执行指令,以进行上述本发明实施例的运动补偿的方法中的操作。The processor 1010 is configured to access the memory 1020 and execute the computer executable instructions to perform the operations in the motion compensation method of the embodiment of the present invention described above.
处理器1010可以包括微处理器,现场可编程门阵列(Field-Programmable Gate Array,FPGA),中央处理器(Central Processing unit,CPU),图形处理器(Graphics Processing Unit,GPU)等,本发明实施例对此并不限定。The processor 1010 may include a microprocessor, a Field-Programmable Gate Array (FPGA), a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), etc., and is implemented by the present invention. This example is not limited to this.
本发明实施例的运动补偿的装置和计算机系统可对应于本发明实施例的运动补偿的方法的执行主体,并且运动补偿的装置和计算机系统中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。The motion compensated apparatus and computer system of an embodiment of the present invention may correspond to an execution subject of the motion compensation method of the embodiment of the present invention, and the above and other operations and/or functions of the motion compensation apparatus and each module in the computer system respectively In order to implement the corresponding processes of the foregoing various methods, for brevity, no further details are provided herein.
本发明实施例还提供了一种电子设备,该电子设备可以包括上述 本发明各种实施例的运动补偿的装置或者计算机系统。Embodiments of the present invention also provide an electronic device that can include the motion compensated device or computer system of the various embodiments of the present invention described above.
本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述本发明实施例的运动补偿的方法。The embodiment of the invention further provides a computer storage medium, wherein the computer storage medium stores program code, and the program code can be used to indicate a method for performing motion compensation according to the embodiment of the invention.
应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。It should be understood that in the embodiment of the present invention, the term "and/or" is merely an association relationship describing an associated object, indicating that there may be three relationships. For example, A and/or B may indicate that A exists separately, and A and B exist simultaneously, and B cases exist alone. In addition, the character "/" in this article generally indicates that the contextual object is an "or" relationship.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both, for clarity of hardware and software. Interchangeability, the composition and steps of the various examples have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。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, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集 成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like. .
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。The above is only the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any equivalent person can be easily conceived within the technical scope of the present invention by any person skilled in the art. Modifications or substitutions are intended to be included within the scope of the invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims (23)

  1. 一种运动补偿的方法,其特征在于,包括:A method of motion compensation, comprising:
    根据当前图像块的运动矢量,确定待处理像素的预测值,其中,所述待处理像素为所述当前图像块的第一边界像素块中的像素;Determining, according to a motion vector of the current image block, a predicted value of the pixel to be processed, wherein the pixel to be processed is a pixel in a first boundary pixel block of the current image block;
    根据当前图像块的相邻图像块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,其中,所述第一边界像素块与所述相邻图像块相邻。Determining whether to perform overlap block motion compensation on the predicted value of the pixel to be processed according to pixel information of a pixel of a neighboring image block of the current image block, wherein the first boundary pixel block is adjacent to the adjacent image block .
  2. 根据权利要求1所述的方法,其特征在于,所述根据当前图像块的相邻图像块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,包括:The method according to claim 1, wherein the determining whether to perform the overlap block motion compensation on the predicted value of the pixel to be processed according to the pixel information of the pixel of the adjacent image block of the current image block comprises:
    根据所述相邻图像块的像素的像素信息和所述相邻图像块的第二边界像素块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,其中,所述相邻图像块的像素包括所述第二边界像素块的像素,所述第二边界像素块与所述第一边界像素块相邻。Determining whether to perform overlapping block motion compensation on the predicted value of the pixel to be processed, according to the pixel information of the pixel of the adjacent image block and the pixel information of the pixel of the second boundary pixel block of the adjacent image block, where The pixels of the adjacent image block include pixels of the second boundary pixel block, and the second boundary pixel block is adjacent to the first boundary pixel block.
  3. 根据权利要求2所述的方法,其特征在于,所述像素信息包括像素平均值、像素梯度和像素分布中的至少一项。The method of claim 2, wherein the pixel information comprises at least one of a pixel average, a pixel gradient, and a pixel distribution.
  4. 根据权利要求2或3所述的方法,其特征在于,所述根据所述相邻图像块的像素的像素信息和所述相邻图像块的第二边界像素块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,包括:The method according to claim 2 or 3, wherein the determining is based on pixel information of a pixel of the adjacent image block and pixel information of a pixel of a second boundary pixel block of the adjacent image block Performing overlapping block motion compensation on the predicted value of the pixel to be processed, including:
    若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异大于第一阈值,则不对所述待处理像素的预测值进行重叠块运动补偿。If the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is greater than the first threshold, the predicted value of the pixel to be processed is not subjected to overlap block motion compensation.
  5. 根据权利要求2或3所述的方法,其特征在于,所述根据所述相邻图像块的像素的像素信息和所述相邻图像块的第二边界像素块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,包括:The method according to claim 2 or 3, wherein the determining is based on pixel information of a pixel of the adjacent image block and pixel information of a pixel of a second boundary pixel block of the adjacent image block Performing overlapping block motion compensation on the predicted value of the pixel to be processed, including:
    若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异不大于第一阈值,则对所述待处理像素的预测值进行重叠块运动补偿。If the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is not greater than the first threshold, the predicted value of the pixel to be processed is subjected to overlap block motion compensation.
  6. 一种运动补偿的方法,其特征在于,包括:A method of motion compensation, comprising:
    根据当前图像块的相邻图像块的像素的像素信息,确定待处理像素预测值的加权系数,其中,所述待处理像素为所述当前图像块的第一边界像素块 中的像素,所述第一边界像素块与所述相邻图像块相邻;Determining a weighting coefficient of a pixel prediction value to be processed according to pixel information of a pixel of a neighboring image block of the current image block, wherein the pixel to be processed is a pixel in a first boundary pixel block of the current image block, a first boundary pixel block adjacent to the adjacent image block;
    根据所述加权系数确定所述待处理像素的预测值。A predicted value of the pixel to be processed is determined according to the weighting coefficient.
  7. 根据权利要求6所述的方法,其特征在于,所述根据所述加权系数确定所述待处理像素的预测值,包括:The method according to claim 6, wherein the determining the predicted value of the pixel to be processed according to the weighting coefficient comprises:
    根据所述当前图像块的运动矢量,确定所述待处理像素的第一预测值;Determining, according to a motion vector of the current image block, a first predicted value of the pixel to be processed;
    根据所述相邻图像块的运动矢量,确定所述待处理像素的第二预测值;Determining, according to a motion vector of the adjacent image block, a second predicted value of the pixel to be processed;
    根据所述加权系数,对所述第一预测值和所述第二预测值进行加权求和,得到所述待处理像素的预测值,其中,所述预测值加权系数包括第一系数和第二系数,所述第一系数用于对所述第一预测值进行加权,所述第二系数用于对所述第二预测值进行加权。And performing weighted summation on the first predicted value and the second predicted value according to the weighting coefficient to obtain a predicted value of the pixel to be processed, wherein the predicted value weighting coefficient includes a first coefficient and a second a coefficient, the first coefficient is used to weight the first predicted value, and the second coefficient is used to weight the second predicted value.
  8. 根据权利要求7所述的方法,其特征在于,所述确定待处理像素预测值的加权系数,包括:The method according to claim 7, wherein the determining the weighting coefficient of the predicted value of the pixel to be processed comprises:
    根据所述相邻图像块的像素的像素信息和所述相邻图像块的第二边界像素块的像素的像素信息,确定所述加权系数,其中,所述相邻图像块的像素包括所述第二边界像素块的像素,所述第二边界像素块与所述第一边界像素块相邻。Determining the weighting coefficient according to pixel information of a pixel of the adjacent image block and pixel information of a pixel of a second boundary pixel block of the adjacent image block, wherein a pixel of the adjacent image block includes the a pixel of a second boundary pixel block adjacent to the first boundary pixel block.
  9. 根据权利要求8所述的方法,其特征在于,所述像素信息包括像素平均值、像素梯度和像素分布中的至少一项。The method of claim 8, wherein the pixel information comprises at least one of a pixel average, a pixel gradient, and a pixel distribution.
  10. 根据权利要求8或9所述的方法,其特征在于,所述确定所述加权系数,包括:The method according to claim 8 or 9, wherein said determining said weighting coefficient comprises:
    若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异大于第一阈值,则确定所述第一系数为1,所述第二系数为零。And if the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is greater than a first threshold, determining that the first coefficient is 1, and the second coefficient is zero.
  11. 根据权利要求8或9所述的方法,其特征在于,所述确定所述加权系数,包括:The method according to claim 8 or 9, wherein said determining said weighting coefficient comprises:
    若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异不大于第一阈值,则确定所述第一系数为第一预定值,所述第二系数为第二预定值,其中,第一预定值小于1,所述第二预定值大于零。Determining, when the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is greater than a first threshold, determining that the first coefficient is a first predetermined value, the second The coefficient is a second predetermined value, wherein the first predetermined value is less than one and the second predetermined value is greater than zero.
  12. 一种运动补偿的装置,其特征在于,包括:A motion compensation device, comprising:
    预测值确定单元,用于根据当前图像块的运动矢量,确定待处理像素的预测值,其中,所述待处理像素为所述当前图像块的第一边界像素块中的像 素;a prediction value determining unit, configured to determine a predicted value of a pixel to be processed according to a motion vector of the current image block, wherein the pixel to be processed is a pixel in a first boundary pixel block of the current image block;
    处理单元,用于根据当前图像块的相邻图像块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,其中,所述第一边界像素块与所述相邻图像块相邻。a processing unit, configured to determine, according to pixel information of a pixel of a neighboring image block of the current image block, whether to perform overlap block motion compensation on the predicted value of the pixel to be processed, wherein the first boundary pixel block and the phase The adjacent image blocks are adjacent.
  13. 根据权利要求12所述的装置,其特征在于,所述处理单元具体用于:The device according to claim 12, wherein the processing unit is specifically configured to:
    根据所述相邻图像块的像素的像素信息和所述相邻图像块的第二边界像素块的像素的像素信息,确定是否对所述待处理像素的预测值进行重叠块运动补偿,其中,所述相邻图像块的像素包括所述第二边界像素块的像素,所述第二边界像素块与所述第一边界像素块相邻。Determining whether to perform overlapping block motion compensation on the predicted value of the pixel to be processed, according to the pixel information of the pixel of the adjacent image block and the pixel information of the pixel of the second boundary pixel block of the adjacent image block, where The pixels of the adjacent image block include pixels of the second boundary pixel block, and the second boundary pixel block is adjacent to the first boundary pixel block.
  14. 根据权利要求13所述的装置,其特征在于,所述像素信息包括像素平均值、像素梯度和像素分布中的至少一项。The apparatus of claim 13, wherein the pixel information comprises at least one of a pixel average value, a pixel gradient, and a pixel distribution.
  15. 根据权利要求13或14所述的装置,其特征在于,所述处理单元具体用于:The device according to claim 13 or 14, wherein the processing unit is specifically configured to:
    若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异大于第一阈值,则不对所述待处理像素的预测值进行重叠块运动补偿。If the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is greater than the first threshold, the predicted value of the pixel to be processed is not subjected to overlap block motion compensation.
  16. 根据权利要求13或14所述的装置,其特征在于,所述处理单元具体用于:The device according to claim 13 or 14, wherein the processing unit is specifically configured to:
    若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异不大于第一阈值,则对所述待处理像素的预测值进行重叠块运动补偿。If the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is not greater than the first threshold, the predicted value of the pixel to be processed is subjected to overlap block motion compensation.
  17. 一种运动补偿的装置,其特征在于,包括:A motion compensation device, comprising:
    加权系数确定单元,用于根据当前图像块的相邻图像块的像素的像素信息,确定待处理像素预测值的加权系数,其中,所述待处理像素为所述当前图像块的第一边界像素块中的像素,所述第一边界像素块与所述相邻图像块相邻;a weighting coefficient determining unit, configured to determine a weighting coefficient of a pixel prediction value to be processed according to pixel information of a pixel of a neighboring image block of the current image block, wherein the pixel to be processed is a first boundary pixel of the current image block a pixel in the block, the first boundary pixel block being adjacent to the adjacent image block;
    预测值确定单元,用于根据所述加权系数确定所述待处理像素的预测值。a predicted value determining unit configured to determine a predicted value of the pixel to be processed according to the weighting coefficient.
  18. 根据权利要求17所述的装置,其特征在于,所述预测值确定单元具体用于:The apparatus according to claim 17, wherein the predicted value determining unit is specifically configured to:
    根据所述当前图像块的运动矢量,确定所述待处理像素的第一预测值;Determining, according to a motion vector of the current image block, a first predicted value of the pixel to be processed;
    根据所述相邻图像块的运动矢量,确定所述待处理像素的第二预测值;Determining, according to a motion vector of the adjacent image block, a second predicted value of the pixel to be processed;
    根据所述加权系数,对所述第一预测值和所述第二预测值进行加权求和,得到所述待处理像素的预测值,其中,所述预测值加权系数包括第一系数和第二系数,所述第一系数用于对所述第一预测值进行加权,所述第二系数用于对所述第二预测值进行加权。And performing weighted summation on the first predicted value and the second predicted value according to the weighting coefficient to obtain a predicted value of the pixel to be processed, wherein the predicted value weighting coefficient includes a first coefficient and a second a coefficient, the first coefficient is used to weight the first predicted value, and the second coefficient is used to weight the second predicted value.
  19. 根据权利要求18所述的装置,其特征在于,所述加权系数确定单元具体用于:The apparatus according to claim 18, wherein the weighting coefficient determining unit is specifically configured to:
    根据所述相邻图像块的像素的像素信息和所述相邻图像块的第二边界像素块的像素的像素信息,确定所述加权系数,其中,所述相邻图像块的像素包括所述第二边界像素块的像素,所述第二边界像素块与所述第一边界像素块相邻。Determining the weighting coefficient according to pixel information of a pixel of the adjacent image block and pixel information of a pixel of a second boundary pixel block of the adjacent image block, wherein a pixel of the adjacent image block includes the a pixel of a second boundary pixel block adjacent to the first boundary pixel block.
  20. 根据权利要求19所述的装置,其特征在于,所述像素信息包括像素平均值、像素梯度和像素分布中的至少一项。The apparatus of claim 19, wherein the pixel information comprises at least one of a pixel average, a pixel gradient, and a pixel distribution.
  21. 根据权利要求19或20所述的装置,其特征在于,所述加权系数确定单元具体用于:The apparatus according to claim 19 or 20, wherein the weighting coefficient determining unit is specifically configured to:
    若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异大于第一阈值,则确定所述第一系数为1,所述第二系数为零。And if the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is greater than a first threshold, determining that the first coefficient is 1, and the second coefficient is zero.
  22. 根据权利要求19或20所述的装置,其特征在于,所述加权系数确定单元具体用于:The apparatus according to claim 19 or 20, wherein the weighting coefficient determining unit is specifically configured to:
    若所述第二边界像素块的像素的像素信息与所述相邻图像块的像素的像素信息的差异不大于第一阈值,则确定所述第一系数为第一预定值,所述第二系数为第二预定值,其中,第一预定值小于1,所述第二预定值大于零。Determining, when the difference between the pixel information of the pixel of the second boundary pixel block and the pixel information of the pixel of the adjacent image block is greater than a first threshold, determining that the first coefficient is a first predetermined value, the second The coefficient is a second predetermined value, wherein the first predetermined value is less than one and the second predetermined value is greater than zero.
  23. 一种计算机系统,其特征在于,包括:A computer system, comprising:
    存储器,用于存储计算机可执行指令;a memory for storing computer executable instructions;
    处理器,用于访问所述存储器,并执行所述计算机可执行指令,以进行根据权利要求1至11中任一项所述的方法中的操作。A processor for accessing the memory and executing the computer executable instructions to perform the operations in the method of any one of claims 1 to 11.
PCT/CN2018/076853 2018-02-14 2018-02-14 Motion compensation method, device and computer system WO2019157718A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2018/076853 WO2019157718A1 (en) 2018-02-14 2018-02-14 Motion compensation method, device and computer system
CN201880037928.3A CN110720221A (en) 2018-02-14 2018-02-14 Method, device and computer system for motion compensation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/076853 WO2019157718A1 (en) 2018-02-14 2018-02-14 Motion compensation method, device and computer system

Publications (1)

Publication Number Publication Date
WO2019157718A1 true WO2019157718A1 (en) 2019-08-22

Family

ID=67620148

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/076853 WO2019157718A1 (en) 2018-02-14 2018-02-14 Motion compensation method, device and computer system

Country Status (2)

Country Link
CN (1) CN110720221A (en)
WO (1) WO2019157718A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1574963A (en) * 2003-06-16 2005-02-02 三星电子株式会社 Apparatus to provide block-based motion compensation and method thereof
CN101494786A (en) * 2008-12-19 2009-07-29 无锡亿普得科技有限公司 Method for implementing rapid frame insertion based on H.264
CN103999465A (en) * 2011-11-18 2014-08-20 高通股份有限公司 Adaptive overlapped block motion compensation
CN105794210A (en) * 2013-12-06 2016-07-20 联发科技股份有限公司 Method and apparatus for motion boundary processing
US20160330475A1 (en) * 2015-05-05 2016-11-10 Broadcom Corporation Apparatus and method for overlapped motion compensation for video coding

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8018998B2 (en) * 2005-05-20 2011-09-13 Microsoft Corporation Low complexity motion compensated frame interpolation method
KR101553850B1 (en) * 2008-10-21 2015-09-17 에스케이 텔레콤주식회사 / Video encoding/decoding apparatus and method and apparatus of adaptive overlapped block motion compensation using adaptive weights
CN105100807B (en) * 2015-08-28 2018-11-13 山东大学 A kind of frame per second method for improving based on motion vector post-processing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1574963A (en) * 2003-06-16 2005-02-02 三星电子株式会社 Apparatus to provide block-based motion compensation and method thereof
CN101494786A (en) * 2008-12-19 2009-07-29 无锡亿普得科技有限公司 Method for implementing rapid frame insertion based on H.264
CN103999465A (en) * 2011-11-18 2014-08-20 高通股份有限公司 Adaptive overlapped block motion compensation
CN105794210A (en) * 2013-12-06 2016-07-20 联发科技股份有限公司 Method and apparatus for motion boundary processing
US20160330475A1 (en) * 2015-05-05 2016-11-10 Broadcom Corporation Apparatus and method for overlapped motion compensation for video coding

Also Published As

Publication number Publication date
CN110720221A (en) 2020-01-21

Similar Documents

Publication Publication Date Title
WO2019157717A1 (en) Motion compensation method and device, and computer system
ES2866894T3 (en) Filter coefficient prediction from fixed filters for video encoding
JP4924904B2 (en) Efficient encoding / decoding of sequences of data frames
TWI834087B (en) Method and apparatus for reconstruct image from bitstreams and encoding image into bitstreams, and computer program product
WO2021203394A1 (en) Loop filtering method and apparatus
WO2021134706A1 (en) Loop filtering method and device
US11394966B2 (en) Video encoding and decoding method and apparatus
WO2019027523A1 (en) Scan order adaptation for entropy coding of blocks of image data
US11917156B2 (en) Adaptation of scan order for entropy coding
JP2022524916A (en) Shape-adaptive discrete cosine transform for geometric division with adaptive number regions
Nguyen et al. A novel steganography scheme for video H. 264/AVC without distortion drift
US11212527B2 (en) Entropy-inspired directional filtering for image coding
US10630974B2 (en) Coding of intra-prediction modes
WO2019127100A1 (en) Video coding method, device, and computer system
WO2019157718A1 (en) Motion compensation method, device and computer system
JP5809574B2 (en) Encoding method, decoding method, encoding device, decoding device, encoding program, and decoding program
WO2020147226A1 (en) Information processing method and apparatus, and device and storage medium
WO2019191887A1 (en) Motion compensation method, device, and computer system
CN111279706B (en) Loop filtering method, device, computer system and mobile equipment
CN112313950A (en) Method and apparatus for predicting video image component, and computer storage medium
WO2023070388A1 (en) Video encoding method and apparatus, and computer-readable storage medium
Kunte O-RDHF: Optimized Reversible Data Hiding Framework for Media Information Security
Zhang et al. Distance-based feature repack algorithm for video coding for machines
JP2023162141A (en) Point cloud encoding device, point cloud decoding device, point cloud encoding method, point cloud decoding method, and program
CN116636205A (en) Scan order of secondary transform coefficients

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

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

Country of ref document: EP

Kind code of ref document: A1