WO2019191887A1 - 运动补偿的方法、装置和计算机系统 - Google Patents

运动补偿的方法、装置和计算机系统 Download PDF

Info

Publication number
WO2019191887A1
WO2019191887A1 PCT/CN2018/081649 CN2018081649W WO2019191887A1 WO 2019191887 A1 WO2019191887 A1 WO 2019191887A1 CN 2018081649 W CN2018081649 W CN 2018081649W WO 2019191887 A1 WO2019191887 A1 WO 2019191887A1
Authority
WO
WIPO (PCT)
Prior art keywords
pixel
block
processed
current image
determining
Prior art date
Application number
PCT/CN2018/081649
Other languages
English (en)
French (fr)
Inventor
王钊
马思伟
郑萧桢
Original Assignee
北京大学
深圳市大疆创新科技有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京大学, 深圳市大疆创新科技有限公司 filed Critical 北京大学
Priority to CN201880037896.7A priority Critical patent/CN110710209A/zh
Priority to PCT/CN2018/081649 priority patent/WO2019191887A1/zh
Publication of WO2019191887A1 publication Critical patent/WO2019191887A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

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 coded image blocks, each image block looking for the most similar image block in the reference frame (typically a reconstructed frame near the time domain) as the predicted image block 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
  • the process of finding a similar image block as a predicted value of the current image block in the reference frame is motion compensation.
  • the image block may be a coding unit (CU) or a prediction unit (PU).
  • the block partitioning method greatly determines the accuracy of the prediction.
  • the partitioning of the block ensures that the texture is accurately captured, and on the one hand, it cannot transmit too many extra bits, and on the other hand, it cannot have too high computational complexity. Therefore, a method of motion compensation is needed to improve the performance of 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 comprising: acquiring a prediction block of a current image block, wherein the prediction block is a prediction block pointed to by a motion vector of the current image block; and performing an image on the prediction block Dividing, obtaining at least two regions; determining a predicted value of the pixel to be processed according to a region of the at least two regions in the current image block corresponding to the pixel to be processed.
  • a method for motion compensation comprising: acquiring a prediction block of a current image block, wherein the prediction block is a prediction block pointed to by a motion vector of the current image block; according to the prediction block and the A similarity of at least one neighboring block of the current image block is determined, and a predicted value of the pixel to be processed in the current image block is determined.
  • an apparatus for providing motion compensation includes: an obtaining module, configured to acquire a prediction block of a current image block, where the prediction block is a prediction block pointed to by a motion vector of the current image block; Performing image segmentation on the prediction block to obtain at least two regions; and a determining module, configured to determine, according to the pixel in the current image block, a corresponding pixel in the at least two regions, determining the pixel to be processed Predictive value.
  • a device for motion compensation comprising: an obtaining module, configured to acquire a prediction block of a current image block, wherein the prediction block is a prediction block pointed to by a motion vector of the current image block; And determining a predicted value of the pixel to be processed in the current image block according to a similarity between the prediction block and at least one neighboring block of the current image block.
  • 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 aspect or the first The operation in the two aspects 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 above.
  • the technical solution of the embodiment of the present invention determines the predicted value of the pixel to be processed according to the region corresponding to the pixel to be processed in the current image block, and determines the predicted value for the local information of the image. , 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 flow chart of a method of motion compensation according to an embodiment of the present invention.
  • 5 and 6 are schematic views of divided regions according to an embodiment of the present invention.
  • Figure 7 is a schematic illustration of regional motion compensation in accordance with an embodiment of the present invention.
  • FIG. 8 is a schematic flow chart of a method of motion compensation according to another embodiment of the present invention.
  • Figure 9 is a schematic block diagram of an apparatus for motion compensation in accordance with one embodiment of the present invention.
  • Figure 10 is a schematic block diagram of an apparatus for motion compensation in accordance with another embodiment of the present invention.
  • Figure 11 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 can be any kind of memory, which is not limited in the 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, transform, quantization, 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 can be used in the prediction process of encoding or decoding, and can perform motion compensation by using local texture and motion information.
  • FIG. 4 shows a schematic flow diagram of a method 400 of motion compensation in accordance with one embodiment of the present invention.
  • the method 400 can be performed by the system 100 shown in FIG.
  • the prediction block associated with the motion vector of the current image block is first acquired, that is, the prediction block pointed to by the motion vector of the current image block, and then based on the prediction block, the determination is performed.
  • the predicted value of the pixel to be processed in the current image block is first acquired, that is, the prediction block pointed to by the motion vector of the current image block, and then based on the prediction block, the determination is performed.
  • the motion vector of the current image block is acquired by the encoding end and sent to the decoding end. In this way, both the encoding end and the decoding end can acquire the prediction block of the current image block and perform subsequent processing.
  • image segmentation is performed on the prediction block, so that both the encoding end and the decoding end can perform image segmentation without transmitting image segmentation information.
  • the edge points in the prediction block may be determined in the following manner:
  • the pixel difference comprising a horizontal pixel difference and/or a vertical pixel difference, wherein the horizontal pixel difference is a left pixel of the pixel in a row of the pixel a difference between an average value of the pixels on the right side of the pixel and an average value of the pixel on the lower side of the pixel in the column in which the pixel is located.
  • a first pending edge point having the largest pixel difference in each row/column in the prediction block is determined as an edge point.
  • the edge points are determined using the horizontal pixel difference and/or the vertical pixel difference. For each pixel in the prediction block, calculate the average value of the pixel values on the left side of the pixel in the row of the pixel and the average value of the pixel value on the right side, and obtain the difference between them, which is recorded as the horizontal pixel difference; The pixel calculates the average value of the upper pixel value of the pixel and the average value of the lower pixel value in the column, respectively, to obtain a difference between them, which is recorded as a vertical pixel difference.
  • the pixel difference may take at least one of a horizontal pixel difference and a vertical pixel difference.
  • the pixel difference is greater than the first threshold, the pixel is marked as the first pending edge point, otherwise it is the non-edge point.
  • the first threshold may be 10, but the embodiment of the present invention is not limited thereto. Then, for each row or column, the first pending edge point having the largest pixel difference is selected as the edge point, and the row or other first pending edge points of the column are reset to non-edge points.
  • the edge points in the prediction block may be determined in the following manner:
  • the pixel difference comprising a horizontal pixel difference and/or a vertical pixel difference, wherein the horizontal pixel difference is a left pixel of the pixel in a row of the pixel a difference between an average value of the pixels on the right side of the pixel and an average value of the pixel on the lower side of the pixel in the column in which the pixel is located.
  • the particular second pending edge point is determined to be an edge point.
  • the step of eliminating noise is added. That is, for each row or column, the first pending edge point having the largest pixel difference is selected, labeled as the second pending edge point, and the row or other first pending edge points of the column are reset to non-edge points. Then, for each second to-be-determined edge point, if there are other second to-be-determined edge points within a predetermined range around the second to-be-determined edge point, determining that the second to-be-determined edge point is an edge point; if the second to-be-determined edge point is If there is no other second pending edge point within the predetermined range, the second pending edge point is reset to a non-edge point.
  • the predetermined range may be a range of 2 pixels, but the embodiment of the present invention is not limited thereto.
  • the present invention may also provide the following two ways of determining edge points.
  • the edge points in the prediction block may be determined in the following manner:
  • the pixel difference comprising a horizontal pixel difference and/or a vertical pixel difference, wherein the horizontal pixel difference is a left pixel of the pixel in a row of the pixel a difference between an average value of the pixels on the right side of the pixel and an average value of the pixel on the lower side of the pixel in the column in which the pixel is located.
  • the pixel difference is greater than the first threshold, it is determined that the pixel is an edge point.
  • the edge point is determined only according to the pixel difference, that is, as long as the pixel difference corresponding to the pixel is greater than the first threshold, the pixel is marked as an edge point, otherwise it is a non-edge point.
  • the edge points in the prediction block may be determined in the following manner:
  • the pixel difference comprising a horizontal pixel difference and/or a vertical pixel difference, wherein the horizontal pixel difference is a left pixel of the pixel in a row of the pixel a difference between an average value of the pixels on the right side of the pixel and an average value of the pixel on the lower side of the pixel in the column in which the pixel is located.
  • the particular first pending edge point is determined to be an edge point.
  • the difference between this embodiment and the previous embodiment is that the step of eliminating noise is added. That is, if the pixel difference is greater than the first threshold, the pixel is marked as the first pending edge point, otherwise it is the non-edge point. Then, for each first to-be-determined edge point, if there is another first to-be-determined edge point within a predetermined range around the first to-be-determined edge point, determining that the first to-be-determined edge point is an edge point; if the first to-be-determined edge point is If there is no other first pending edge point within the predetermined range, the first pending edge point is reset to a non-edge point.
  • the prediction block is further divided into at least two regions according to edge points in the prediction block.
  • edge points in the prediction block may be connected to obtain an edge line; according to the edge line, the prediction block is divided into the at least two regions.
  • the prediction block is segmented directly according to the connection of the edge points.
  • the prediction block can be divided into two regions; other cases can be divided into more regions.
  • the prediction block can be divided into two regions P1 and P2 according to the edge line.
  • edge points in the prediction block may be connected to obtain an edge line; according to the edge line, an edge band of a predetermined width is generated; according to the edge band, The prediction block is divided into the at least two regions.
  • the edge line dividing area is not directly adopted, but an edge strip of a predetermined width is generated according to the edge line.
  • an edge band having a predetermined width of 3 may be generated centering on the edge line, but the present invention is not limited thereto.
  • the prediction block is divided by the edge band to obtain a plurality of regions.
  • the pixels within the edge band can be attributed to one of the adjacent regions.
  • the pixels within the edge band can be attributed to the area near the lower right. For example, as shown in FIG. 6, pixels within the edge band can be attributed to region P2.
  • image segmentation is not limited in the embodiment of the present invention.
  • other image segmentation modes may also be adopted.
  • the general edge detection method has the following steps:
  • the edge detection algorithm is based primarily on the first and second derivatives of the image intensity, but the calculation of the derivative is very sensitive to noise, so filters must be used to improve the performance of the noise-related edge detector. It should be noted that most filters also reduce the edge strength while reducing noise, so there is a trade-off between enhancing edges and reducing noise.
  • Enhancement The basis for enhancing the edge is to determine the change in the intensity of the neighborhood of each point in the image.
  • the enhancement algorithm can highlight points where the neighborhood (or local) intensity values change significantly.
  • Edge enhancement is typically done by calculating the gradient magnitude.
  • edge detection criterion is the gradient magnitude threshold criterion.
  • the position of the edge can be estimated at sub-pixel resolution, and the orientation of the edge can also be estimated.
  • the first three steps are very common. This is because in most cases, only the edge detector is required to indicate that the edge appears near a pixel of the image, and it is not necessary to indicate the exact position or orientation of the edge.
  • Different edge detection methods mainly involve different gradient calculation methods at the edge points of the third step.
  • the applications that are widely used are:
  • I(x) represents the brightness of point x
  • I'(x) represents the first derivative of the point x (luminance gradient), which reveals:
  • the calculated step it is compared with the threshold T (optional 15). If I'(x)>T, the point is regarded as an edge point.
  • the Sobel edge detection method uses a 3*3 Sobel operator to calculate the gradient of each pixel.
  • the vertical gradient operator is
  • the calculated sobel gradient is also compared to a threshold T (which can be 30) to determine if it is an edge point.
  • the predicted value of the pixel to be processed is determined according to the pixel corresponding to the pixel in the at least two regions. That is to say, the predicted value of the pixel to be processed does not directly adopt the value of the corresponding pixel in the prediction block, but corresponding processing is adopted according to the corresponding region. In this way, the predicted value can be determined for the local information of the image, so that the performance of the motion compensation can be improved.
  • the predicted value of the pixel to be processed may be determined according to the similarity between the area corresponding to the pixel to be processed and the at least one neighboring block of the current image block.
  • the predicted value of the pixel to be processed is processed in consideration of the similarity between the region and the adjacent block.
  • the at least one neighboring block of the current image block may include: at most two adjacent blocks above the current image block and at most two adjacent blocks of the left side of the current image block. As shown in FIG. 7, there are two adjacent blocks A0 and A1 above the current image block, and two adjacent blocks B0 and B1 on the left. It should be understood that the size of adjacent blocks may be the same or equivalent to the current image block and is not limited by the arrangement shown in FIG.
  • the waiting if in the at least one neighboring block, there is a similar block of the area corresponding to the pixel to be processed, and in the at least two areas, the waiting The area corresponding to the processing pixel has the highest average similarity with the similar block, then:
  • the predicted value of the pixel to be processed is determined according to the motion vector of the current image block.
  • the similarity block of the area corresponding to the to-be-processed pixel may include: a degree of similarity of the area corresponding to the to-be-processed pixel among at most two adjacent blocks above the current image block is higher and greater than a neighboring block of two thresholds, and a neighboring block of a region corresponding to the pixel to be processed among the at most two neighboring blocks of the left side of the current image block, which is higher in similarity and larger than the second threshold.
  • the corresponding region is P1.
  • the pixel values in the P1 region and the P2 region in FIG. 7 are the pixel values in the prediction block.
  • the similar block in the P1 region is a neighboring block in A0 and A1 that is similar to the P1 region and is greater than the second threshold; and adjacent blocks in B0 and B1 that are similar to the P1 region and are greater than the second threshold. . That is to say, each region has a maximum of one similar block at the top and the left.
  • the second threshold may be 80%, but the embodiment of the present invention does not limit this.
  • an average similarity of the region corresponding to the pixel to be processed and the similar block that is, an average value of the similarity between the region and each similar block is calculated. For example, if the similar blocks of the P1 region in Fig. 7 are A0 and B1, the average similarity between the P1 region and A0 and B1 is calculated.
  • the predicted value of the pixel may utilize the motion vector of the similar block of the region corresponding to the pixel to be processed. That is, the prediction value of the pixel to be processed is determined according to the motion vector of the similar block of the region corresponding to the pixel to be processed, or the motion vector of the similar block according to the region corresponding to the pixel to be processed and the current image A motion vector of the block determines a predicted value of the pixel to be processed. For example, in FIG.
  • the average similarity between the P1 region and the similar block is high, and the motion vectors of the similar blocks A0 and B1 of the P1 region can be utilized in determining the predicted value of the pixel to be processed s.
  • the predicted value of the pixel to be processed s can be determined from the motion vectors of A0 and B1.
  • the predicted value of s can be determined according to the following formula.
  • P s is the predicted value of the pixel s
  • P A0_s and P B1_s represent the predicted values determined by the motion vectors of A0 and B1, respectively
  • the weighting factors a and b represent the distance between the pixel s and the corresponding adjacent block.
  • the predicted value of the pixel to be processed s may be determined according to the motion vector of A0 and B1 and the motion vector of the current image block.
  • the predicted value of s can be determined according to the following formula.
  • P org represents the original predicted value, that is, the predicted value determined according to the motion vector of the current image block, that is, the corresponding pixel value in the predicted block
  • w is a weighting factor between 0 and 1, for example, 1/3 may be used.
  • the predicted value is directly determined according to the motion vector of the similar block, or the predicted value is determined according to the motion vector of the similar block and the motion vector of the current image block.
  • the predicted value is determined according to the motion vector of the current image block.
  • the algorithm terminates, directly using the original prediction value, ie the corresponding pixel value in the prediction block.
  • the predicted value of the pixel to be processed is determined according to the motion vector of the current image block.
  • the predicted value is determined using only the motion vector of the similar block for the region having the highest average similarity with the similar block. In the present embodiment, as long as the corresponding regions have similar blocks, the predicted values are determined using the motion vectors of the similar blocks. When there is no similar block in the corresponding area, the predicted value is determined according to the motion vector of the current image block.
  • the predicted value is determined according to the motion vector of the current image block.
  • the similarity between each of the at least two regions and the at least one neighboring block of the current image block may be acquired in the following manner:
  • the specific region and the specific neighboring block are scaled to the same number of pixels, according to the scaling A ratio of a specific area to a coincident pixel in the specific neighboring block in the total pixel, determining a similarity of the specific area to the specific neighboring block.
  • the similarity is determined by the method of pixel distribution.
  • the scaling process is first performed, the two are scaled to the same number of pixels, and the proportion of the coincident pixels is counted to obtain the similarity.
  • the area to be compared and the similar block respectively count the distribution of pixel values in the pixel space.
  • the pixel bit width is 8 Bit (bit)
  • the statistical pixel is 0 to 256.
  • the scaling is then based on the number of pixels in the region and neighboring blocks.
  • the number of pixels corresponding to each pixel value of the area to be compared is multiplied by a scaling factor of 2 (200/100). Then, the number of coincidences of the number of pixels corresponding to each pixel value of the area and the adjacent block is calculated, and the similarity is expressed by the percentage of the coincident pixels in the total pixels.
  • a method based on pixel mean The pixel averages of the two image regions to be compared are respectively calculated, and if the pixel mean is less than a certain threshold, it is considered to be similar, otherwise it is not similar.
  • the threshold can be 10.
  • Pixel constant method For the two image regions to be compared, find the pixel values with the highest frequency of occurrence, for example, a 16x16 pixel block, and the pixels with pixel values of 100, 101, and 102 appear more frequently. 100, 101, and 102 can be considered as the first three constants of the block. If the first three constants of the two image regions are the same, they can be considered similar, otherwise they are not similar.
  • a method based on feature matching First, the features are extracted from the original image, and then the matching correspondence of the features between the two images is established.
  • Common feature matching primitives include salient features such as points, lines, and regions.
  • the image features are much smaller than the number of pixels.
  • the matching metric between features is sharp with position, and it is easy to find the exact matching position.
  • Feature extraction can greatly reduce the influence of noise, and has strong adaptability to grayscale changes, deformation and occlusion. force.
  • the technical solution of the embodiment of the present invention by performing image segmentation on the prediction block, and determining the predicted value of the pixel to be processed according to the similarity between the region corresponding to the pixel to be processed and the adjacent block, can better utilize the adjacent similar block.
  • Motion compensation which improves the performance of motion compensation.
  • the encoding side can compare which method and other motion compensation methods of the present invention have a smaller rate distortion penalty, adopt a method with a smaller rate distortion penalty, and use a 1-bit flag to indicate whether the current image block is The method of the invention is used.
  • the predicted value of the pixel to be processed is determined according to the similarity between the region corresponding to the pixel to be processed and the adjacent block.
  • the prediction value of the to-be-processed pixel may be determined to be corresponding to the to-be-processed pixel, after the image is divided by the prediction block. The predicted value of the motion vector association of the region, that is, the corresponding pixel value in the region pointed by the motion vector of the region.
  • the encoding end may perform motion estimation and find a motion vector of the region, and the predicted value of the corresponding pixel is a predicted value associated with the motion vector of the region, that is, the motion vector of the region points to Corresponding pixel values in the region, and each motion vector is encoded and transmitted in sequence.
  • the decoding end can perform motion compensation for each region according to the decoded motion vector to obtain a final predicted value.
  • the number of the segmented area may be determined according to the current image block pixel raster scanning order, but the embodiment of the present invention is not limited thereto.
  • motion compensation can be performed for a local area, so that the performance of motion compensation can be improved.
  • motion compensation is performed on the basis of image segmentation of the prediction block.
  • the embodiment of the invention further provides a motion compensation method, which does not perform image segmentation, but directly uses adjacent similar blocks of the current image block to perform motion compensation. Description will be made below with reference to FIG. 8. It should be understood that some specific descriptions of the method shown in FIG. 8 may refer to the foregoing embodiments, and the details are not described herein for brevity.
  • FIG. 8 shows a schematic flow chart of a method 800 of motion compensation in accordance with another embodiment of the present invention. As shown in FIG. 8, the method 800 includes:
  • the predicted value of the pixel to be processed is determined according to the motion vector of the current image block.
  • At least one neighboring block of the current image block includes: at most two adjacent blocks above the current image block and at least a left side of the current image block Two adjacent blocks.
  • the similarity block of the prediction block includes: a degree of similarity between the at least two adjacent blocks above the current image block and the prediction block is higher and greater than the second a neighboring block of the threshold, and a neighboring block of the at most two neighboring blocks to the left of the current image block having a higher similarity to the predicted block and greater than the second threshold.
  • the similarity between the prediction block and at least one neighboring block of the current image block may be acquired in the following manner:
  • the prediction value of the pixel to be processed is determined, and the adjacent similar block can be better utilized for motion compensation, thereby improving motion compensation. performance.
  • Figure 9 shows a schematic block diagram of a motion compensated device 900 in accordance with one embodiment of the present invention.
  • the apparatus 900 can perform the method 400 of motion compensation of the embodiments of the present invention described above.
  • the apparatus 900 can include:
  • An obtaining module 910 configured to acquire a prediction block of a current image block, where the prediction block is a prediction block pointed by a motion vector of the current image block;
  • a segmentation module 920 configured to perform image segmentation on the prediction block to obtain at least two regions
  • the determining module 930 is configured to determine a predicted value of the pixel to be processed according to a region of the at least two regions in the current image block that is to be processed.
  • the segmentation module 920 is configured to:
  • the prediction block is segmented into the at least two regions according to edge points in the prediction block.
  • the segmentation module 920 is configured to:
  • the pixel difference comprising a horizontal pixel difference and/or a vertical pixel difference, wherein the horizontal pixel difference is a left pixel of the pixel in a row of the pixel a difference between an average value of the pixels on the right side of the pixel and an average value of the pixel on the lower side of the pixel in the column in which the pixel is located.
  • a first to-be-determined edge point having the largest pixel difference in each row/column in the prediction block is determined as an edge point.
  • the segmentation module 920 is configured to:
  • the pixel difference comprising a horizontal pixel difference and/or a vertical pixel difference, wherein the horizontal pixel difference is a left pixel of the pixel in a row of the pixel a difference between an average value of the pixels on the right side of the pixel and an average value of the pixel on the lower side of the pixel in the column in which the pixel is located.
  • the particular second pending edge point is determined to be an edge point.
  • the segmentation module 920 is configured to:
  • the pixel difference comprising a horizontal pixel difference and/or a vertical pixel difference, wherein the horizontal pixel difference is a left pixel of the pixel in a row of the pixel a difference between an average value of the pixels on the right side of the pixel and an average value of the pixel on the lower side of the pixel in the column in which the pixel is located.
  • the pixel difference is greater than the first threshold, it is determined that the pixel is an edge point.
  • the segmentation module 920 is configured to:
  • the pixel difference comprising a horizontal pixel difference and/or a vertical pixel difference, wherein the horizontal pixel difference is a left pixel of the pixel in a row of the pixel a difference between an average value of the pixels on the right side of the pixel and an average value of the pixel on the lower side of the pixel in the column in which the pixel is located.
  • the particular first pending edge point is determined to be an edge point.
  • the segmentation module 920 is configured to:
  • the prediction block is segmented into the at least two regions according to the edge line.
  • the segmentation module 920 is configured to:
  • the prediction block is segmented into the at least two regions according to the edge band.
  • the determining module 930 is configured to:
  • the determining module 930 is configured to:
  • the predicted value of the pixel to be processed is determined according to the motion vector of the current image block.
  • the determining module 930 is configured to:
  • the predicted value of the pixel to be processed is determined according to the motion vector of the current image block.
  • At least one neighboring block of the current image block includes: at most two adjacent blocks above the current image block and at least a left side of the current image block Two adjacent blocks.
  • the similar block of the area corresponding to the pixel to be processed includes: an area corresponding to the pixel to be processed among at most two adjacent blocks above the current image block. a neighboring block having a higher degree of similarity and greater than a second threshold, and a region corresponding to the pixel to be processed among at most two adjacent blocks of the left side of the current image block are higher in degree and greater than the first A neighboring block of two thresholds.
  • the determining module 930 is further configured to:
  • the determining module 930 is configured to:
  • the specific region and the specific neighboring block are scaled to the same number of pixels, according to the scaling A ratio of a specific area to a coincident pixel in the specific neighboring block in the total pixel, determining a similarity of the specific area to the specific neighboring block.
  • the determining module 930 is configured to:
  • Figure 10 shows a schematic block diagram of a motion compensated device 1000 in accordance with one embodiment of the present invention.
  • the apparatus 1000 can perform the method 800 of motion compensation of the embodiments of the present invention described above.
  • the apparatus 1000 can include:
  • the obtaining module 1010 is configured to acquire a prediction block of a current image block, where the prediction block is a prediction block pointed by a motion vector of the current image block;
  • the determining module 1020 is configured to determine a predicted value of a pixel to be processed in the current image block according to a similarity between the predicted block and at least one neighboring block of the current image block.
  • the determining module 1020 is configured to:
  • the predicted value of the pixel to be processed is determined according to the motion vector of the current image block.
  • At least one neighboring block of the current image block includes: at most two adjacent blocks above the current image block and at least a left side of the current image block Two adjacent blocks.
  • the similarity block of the prediction block includes: a degree of similarity between the at least two adjacent blocks above the current image block and the prediction block is higher and greater than the second a neighboring block of the threshold, and a neighboring block of the at most two neighboring blocks to the left of the current image block having a higher similarity to the predicted block and greater than the second threshold.
  • the determining module 1020 is further configured to:
  • the determining module 1020 is 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 above-described embodiment of the present invention.
  • the embodiment of the invention further provides a decoder, which comprises the motion compensation device of the embodiment of the invention described above.
  • FIG. 11 shows a schematic block diagram of a computer system 1100 in accordance with an embodiment of the present invention.
  • the computer system 1100 can include a processor 1110 and a memory 1120.
  • the computer system 1100 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 1120 is for storing computer executable instructions.
  • the memory 1120 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 1110 is configured to access the memory 1120 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 1110 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 can mean that there are three cases where A exists separately, and both A and B exist, and B exists separately.
  • 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. .

Abstract

公开了一种运动补偿的方法、装置和计算机系统。该方法包括:获取当前图像块的预测块,其中,所述预测块为所述当前图像块的运动矢量指向的预测块;对所述预测块进行图像分割,得到至少两个区域;根据所述当前图像块中待处理像素在所述至少两个区域中对应的区域,确定所述待处理像素的预测值。本发明实施例的技术方案,能够提高运动补偿的性能。

Description

运动补偿的方法、装置和计算机系统
版权申明
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或者该专利披露。
技术领域
本发明涉及信息技术领域,并且更具体地,涉及一种运动补偿的方法、装置和计算机系统。
背景技术
预测是视频编码框架的重要模块,通过运动补偿的方式来实现。视频编码中的基于块的运动补偿技术中,对于一帧图像,先分成等大的编码区域(Coding Tree Unit,CTU),例如64x64、128x128大小的编码区域。每个CTU可以进一步划分成方形或矩形的编码图像块,每个图像块在参考帧中(一般为时域附近的已重构帧)寻找最相似图像块作为当前图像块的预测图像块。当前图像块与相似图像块之间的相对位置为运动矢量(Motion Vector,MV)。在参考帧中寻找相似图像块作为当前图像块的预测值的过程就是运动补偿。一般来说,所述的图像块可以为编码单元(Coding Unit,CU)或预测单元(Prediction Unit,PU)。
基于块的运动补偿中,块划分方法极大地决定了预测的准确度。为了保证编码的性能和效率,块的划分在保证纹理的精准捕获的同时,一方面不能传输太多额外的比特,另一方面也不能有太高的计算复杂度。因此,需要一种运动补偿的方法,以提高运动补偿的性能。
发明内容
本发明实施例提供了一种运动补偿的方法、装置和计算机系统,能够提高运动补偿的性能。
第一方面,提供了一种运动补偿的方法,包括:获取当前图像块的预测块,其中,所述预测块为所述当前图像块的运动矢量指向的预测块;对所 述预测块进行图像分割,得到至少两个区域;根据所述当前图像块中待处理像素在所述至少两个区域中对应的区域,确定所述待处理像素的预测值。
第二方面,提供了一种运动补偿的方法,包括:获取当前图像块的预测块,其中,所述预测块为所述当前图像块的运动矢量指向的预测块;根据所述预测块与所述当前图像块的至少一个相邻块的相似度,确定所述当前图像块中待处理像素的预测值。
第三方面,提供了运动补偿的装置,包括:获取模块,用于获取当前图像块的预测块,其中,所述预测块为所述当前图像块的运动矢量指向的预测块;分割模块,用于对所述预测块进行图像分割,得到至少两个区域;确定模块,用于根据所述当前图像块中待处理像素在所述至少两个区域中对应的区域,确定所述待处理像素的预测值。
第四方面,提供了运动补偿的装置,包括:获取模块,用于获取当前图像块的预测块,其中,所述预测块为所述当前图像块的运动矢量指向的预测块;确定模块,用于根据所述预测块与所述当前图像块的至少一个相邻块的相似度,确定所述当前图像块中待处理像素的预测值。
第五方面,提供了一种计算机系统,包括:存储器,用于存储计算机可执行指令;处理器,用于访问所述存储器,并执行所述计算机可执行指令,以进行上述第一方面或第二方面的方法中的操作。
第六方面,提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述第一方面或第二方面的方法。
本发明实施例的技术方案,通过对当前图像块的预测块进行图像分割,并根据当前图像块中待处理像素对应的区域,确定待处理像素的预测值,可以针对图像的局部信息确定预测值,从而能够提高运动补偿的性能。
附图说明
图1是应用本发明实施例的技术方案的架构图。
图2是本发明实施例的编码器的处理架构图。
图3是本发明实施例的待编码数据的示意图。
图4是本发明一个实施例的运动补偿的方法的示意性流程图。
图5和图6是本发明实施例的分割区域的示意图。
图7是本发明实施例的对区域运动补偿的示意图。
图8是本发明另一个实施例的运动补偿的方法的示意性流程图。
图9是本发明一个实施例的运动补偿的装置的示意性框图。
图10是本发明另一个实施例的运动补偿的装置的示意性框图。
图11是本发明实施例的计算机系统的示意性框图。
具体实施方式
下面将结合附图,对本发明实施例中的技术方案进行描述。
应理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本发明实施例,而非限制本发明实施例的范围。
还应理解,本发明实施例中的公式只是一种示例,而非限制本发明实施例的范围,各公式可以进行变形,这些变形也应属于本发明保护的范围。
还应理解,在本发明的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
还应理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本发明实施例对此并不限定。
除非另有说明,本发明实施例所使用的所有技术和科学术语与本发明的技术领域的技术人员通常理解的含义相同。本申请中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本申请的范围。本申请所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。
图1是应用本发明实施例的技术方案的架构图。
如图1所示,系统100可以接收待处理数据102,对待处理数据102进行处理,产生处理后数据108。例如,系统100可以接收待编码数据,对待编码数据进行编码以产生编码后的数据,或者,系统100可以接收待解码数据,对待解码数据进行解码以产生解码后的数据。在一些实施例中,系统100中的部件可以由一个或多个处理器实现,该处理器可以是计算设备中的处理器,也可以是移动设备(例如无人机)中的处理器。该处理器可以为任意种类的处理器,本发明实施例对此不做限定。在一些可能的设计中,该处理器可以包括编码器或解码器等。系统100中还可以包括一个或多个存储器。该存储器可用于存储指令和数据,例如,实现本发明实施例的技术方案的计算机可执行指令,待处理数据102、处理后数据108等。该存储器可以为任 意种类的存储器,本发明实施例对此也不做限定。
待编码数据可以包括文本,图像,图形对象,动画序列,音频,视频,或者任何需要编码的其他数据。在一些情况下,待编码数据可以包括来自传感器的传感数据,该传感器可以为视觉传感器(例如,相机、红外传感器),麦克风,近场传感器(例如,超声波传感器、雷达),位置传感器,温度传感器,触摸传感器等。在一些情况下,待编码数据可以包括来自用户的信息,例如,生物信息,该生物信息可以包括面部特征,指纹扫描,视网膜扫描,嗓音记录,DNA采样等。
编码对于高效和/或安全的传输或存储数据是必需的。对待编码数据的编码可以包括数据压缩,加密,纠错编码,格式转换等。例如,对多媒体数据(例如视频或音频)压缩可以减少在网络中传输的比特数量。敏感数据,例如金融信息和个人标识信息,在传输和存储前可以加密以保护机密和/或隐私。为了减少视频存储和传输所占用的带宽,需要对视频数据进行编码压缩处理。
任何合适的编码技术都可以用于编码待编码数据。编码类型依赖于被编码的数据和具体的编码需求。
在一些实施例中,编码器可以实现一种或多种不同的编解码器。每种编解码器可以包括实现不同编码算法的代码,指令或计算机程序。基于各种因素,包括待编码数据的类型和/或来源,编码数据的接收实体,可用的计算资源,网络环境,商业环境,规则和标准等,可以选择一种合适的编码算法编码给定的待编码数据。
例如,编码器可以被配置为编码一系列视频帧。编码每个帧中的数据可以采用一系列步骤。在一些实施例中,编码步骤可以包括预测、变换、量化、熵编码等处理步骤。
预测包括帧内预测和帧间预测两种类型,其目的在于利用预测块信息去除当前待编码图像块的冗余信息。帧内预测利用本帧图像的信息获得预测块数据。帧间预测利用参考帧的信息获得预测块数据,其过程包括将待编码图像块划分成若干个子图像块;然后,针对每个子图像块,在参考图像中搜索与当前子图像块最匹配的图像块作为预测块;其后,将该子图像块与预测块的相应像素值相减得到残差,并将得到的各子图像块对应的残差组合在一起,得到图像块的残差。
使用变换矩阵对图像的残差块进行变换可以去除图像块的残差的相关性,即去除图像块的冗余信息,以便提高编码效率,图像块中的数据块的变换通常采用二维变换,即在编码端将数据块的残差信息分别与一个NxM的变换矩阵及其转置矩阵相乘,相乘之后得到的是变换系数。变换系数经量化可得到量化后的系数,最后将量化后的系数进行熵编码,最后将熵编码得到的比特流及进行编码后的编码模式信息,如帧内预测模式、运动矢量信息等,进行存储或发送到解码端。在图像的解码端,首先获得熵编码比特流后进行熵解码,得到相应的残差,根据解码得到的运动矢量或帧内预测等信息图像块对应的预测图像块,根据预测图像块与图像块的残差得到当前子图像块中各像素点的值。
图2示出了本发明实施例的编码器的处理架构图。如图2所示,预测处理可以包括帧内预测和帧间预测。通过预测处理,可以得到数据单元(例如像素点)对应的残差,其中,在对某一像素点进行预测时,可以从存储的上下文中获取参考像素点重建后得到的像素,按照参考像素点重建后得到的像素与该像素点的像素,得到该像素点对应的像素残差。像素残差通过变换、量化后再进行熵编码。在量化处理时,可以通过对量化参数的控制,实现对码率的控制。对某一像素点对应的量化处理后的像素残差还可以进行反量化反变换处理,再进行重建处理,得到该像素点重建后的像素,并将该像素点重建后的像素进行存储,以便于在该像素点作为参考像素点时,利用该像素点重建后的像素获取其他像素点对应的像素残差。
量化参数可以包括量化步长,表示量化步长或者与量化步长相关的值,例如,H.264、H.265或者类似的编码器中的量化参数(Quantization Parameter,QP),或者,量化矩阵或其参考矩阵等。
对于解码端,则进行与编码端相对应的操作,以对编码后数据解码,得到原始数据,即待编码数据。
图3示出了本发明实施例的待编码数据的示意图。
如图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。
本发明实施例的技术方案可以用于编码或解码的预测过程中,能够利用局部纹理、运动信息,进行运动补偿。
图4示出了本发明一个实施例的运动补偿的方法400的示意性流程图。该方法400可以由图1所示的系统100执行。
410,获取当前图像块的预测块,其中,所述预测块为所述当前图像块的运动矢量指向的预测块。
在预测过程中,对于当前图像块,首先获取与所述当前图像块的运动矢量关联的预测块,即当前图像块的运动矢量指向的预测块,后续再在该预测块的基础上,确定所述当前图像块中待处理像素的预测值。
当前图像块的运动矢量由编码端获取,并发送给解码端。这样,编码端和解码端都可以获取到当前图像块的预测块,并进行后续的处理。
420,对所述预测块进行图像分割,得到至少两个区域。
在本发明实施例中,在预测块上进行图像分割,这样,编码端和解码端都可以进行图像分割,而不需要传输图像分割信息。
可选地,在对所述预测块进行图像分割时,可以先确定所述预测块中的边缘点;再根据所述预测块中的边缘点,将所述预测块分割为所述至少两个区域。
可选地,在本发明一个实施例中,可以采用以下方式确定所述预测块中的边缘点:
对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
将所述预测块中每一行/列中具有最大像素差异的第一待定边缘点确 定为边缘点。
具体而言,若一个像素位于物体的边缘,则其左右像素或上下像素的像素值差异会较大。基于这一点,在本申请实施例中,利用水平像素差异和/或垂直像素差异判断边缘点。对于预测块中的每个像素点,分别计算该像素所在行中该像素左侧像素值的平均值和右侧像素值的平均值,得到它们之间的差值,记为水平像素差异;以及,分别该像素计算所在列中该像素上侧像素值的平均值和下侧像素值的平均值,得到它们之间的差值,记为垂直像素差异。像素差异可以采用水平像素差异和垂直像素差异中的至少一个。在本实施例中,若像素差异大于第一阈值,则该像素标记为第一待定边缘点,否则为非边缘点。例如,若采用水平像素差异和垂直像素差异中的一个,该第一阈值可以为10,但本发明实施例对此并不限定。然后,对于每一行或者每一列,选择具有最大像素差异的第一待定边缘点,作为边缘点,并将该行或该列其它第一待定边缘点重置为非边缘点。
可选地,在本发明另一个实施例中,可以采用以下方式确定所述预测块中的边缘点:
对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
将所述预测块中每一行/列中具有最大像素差异的第一待定边缘点确定为第二待定边缘点;
若在特定第二待定边缘点周围预定范围内存在其他第二待定边缘点,则确定所述特定第二待定边缘点为边缘点。
本实施例与前一实施例的区别在于,增加了排除噪点的步骤。也就是说,对于每一行或者每一列,选择具有最大像素差异的第一待定边缘点,标记为第二待定边缘点,将该行或该列其它第一待定边缘点重置为非边缘点。然后,对于每个第二待定边缘点,若该第二待定边缘点周围预定范围内存在其他第二待定边缘点,则确定该第二待定边缘点为边缘点;若该第二待定边缘点周围预定范围内没有其他第二待定边缘点,则将该第二待定边缘点重置 为非边缘点。例如,该预定范围可以为2个像素的范围,但本发明实施例对此并不限定。
上述两种确定边缘点的方式中,每一行或每一列中最多有一个边缘点。可选地,也可以不在每一行或每一列中筛选,为此,本发明实施例还提供了如下两种确定边缘点的方式。
可选地,在本发明另一个实施例中,可以采用以下方式确定所述预测块中的边缘点:
对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
若所述像素差异大于第一阈值,则确定所述像素为边缘点。
在本实施例中,只根据像素差异确定边缘点,也就是说,只要像素对应的像素差异大于第一阈值,则将该像素标记为边缘点,否则为非边缘点。
可选地,在本发明另一个实施例中,可以采用以下方式确定所述预测块中的边缘点:
对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
若在特定第一待定边缘点周围预定范围内存在其他第一待定边缘点,则确定所述特定第一待定边缘点为边缘点。
本实施例与前一实施例的区别在于,增加了排除噪点的步骤。也就是说,若像素差异大于第一阈值,则将该像素标记为第一待定边缘点,否则为非边缘点。然后,对于每个第一待定边缘点,若该第一待定边缘点周围预定范围内存在其他第一待定边缘点,则确定该第一待定边缘点为边缘点;若该第一待定边缘点周围预定范围内没有其他第一待定边缘点,则将该第一待定边缘点重置为非边缘点。
得到所述预测块中的边缘点后,接下来根据所述预测块中的边缘点,将所述预测块分割为至少两个区域。
可选地,在本发明一个实施例中,可以对所述预测块中的边缘点进行连接,得到边缘线;根据所述边缘线,将所述预测块分割为所述至少两个区域。
在本实施例中,直接根据边缘点的连线,对预测块进行分割。对于每一行或每一列中最多有一个边缘点的情况,可以将预测块分为两个区域;其他情况可以分为更多区域。例如,如图5所示,根据边缘线可以将预测块分为P1和P2两个区域。
可选地,在本发明另一个实施例中,可以对所述预测块中的边缘点进行连接,得到边缘线;根据所述边缘线,生成预定宽度的边缘带;根据所述边缘带,将所述预测块分割为所述至少两个区域。
在本实施例中,在得到边缘线后,不直接采用边缘线分割区域,而是根据边缘线生成预定宽度的边缘带。例如,可以以边缘线为中心,生成预定宽度为3的边缘带,但本发明对此并不限定。然后,再由边缘带分割预测块得到多个区域。边缘带内的像素可以归于相邻的其中一个区域。可选地,边缘带内的像素可以归于靠近右下的区域。例如,如图6所示,边缘带内的像素可以归于区域P2。
应理解,本发明实施例对图像分割的具体方式并不限定,除了上述边缘检测的分割方式外,还可以采用其他图像分割方式。
一般边缘检测法有以下几个步骤:
滤波:边缘检测算法主要是基于图像强度的一阶和二阶导数,但导数的计算对噪声很敏感,因此必须使用滤波器来改善与噪声有关的边缘检测器的性能。需要指出,大多数滤波器在降低噪声的同时也导致了边缘强度的损失,因此,增强边缘和降低噪声之间需要折中。
增强:增强边缘的基础是确定图像各点邻域强度的变化值。增强算法可以将邻域(或局部)强度值有显著变化的点突显出来。边缘增强一般是通过计算梯度幅值来完成的。
检测:在图像中有许多点的梯度幅值比较大,而这些点在特定的应用领域中并不都是边缘,所以应该用某种方法来确定哪些点是边缘点。最简单的边缘检测判据是梯度幅值阈值判据。
定位:如果某一应用场合要求确定边缘位置,则边缘的位置可在子像素分辨率上来估计,边缘的方位也可以被估计出来。在边缘检测算法中,前三个步骤用得十分普遍。这是因为大多数场合下,仅仅需要边缘检测器指出边缘出现在图像某一像素点的附近,而没有必要指出边缘的精确位置或方向。
不同的边缘检测方法,主要在于第三步边缘点的梯度计算方法不同,应用比较广泛的有:
1.一阶梯度法:
许多边缘检测操作都是基于亮度的一阶导数——这样就得到了原始数据亮度的梯度。使用这个信息能够在图像的亮度梯度中搜寻峰值。如果I(x)表示点x的亮度,I′(x)表示点x的一阶导数(亮度梯度),这样就会发现:
Figure PCTCN2018081649-appb-000001
根据计算得到的一阶梯度,与阈值T进行比较(可选为15),若I′(x)>T,则该点视为边缘点。
2.Sobel边缘检测法
Sobel边缘检测方法是用一个3*3的Sobel算子去计算每个像素点的梯度,垂直梯度算子为
Figure PCTCN2018081649-appb-000002
水平梯度算子为
Figure PCTCN2018081649-appb-000003
计算得到sobel梯度也同样与一个阈值T(可为30)进行比较来判定是否为边缘点。
430,根据所述当前图像块中待处理像素在所述至少两个区域中对应的区域,确定所述待处理像素的预测值。
通过前述步骤将预测块分为至少两个区域后,对于当前图像块中待处理像素,根据该待处理像素在所述至少两个区域中对应的区域,确定所述待处理像素的预测值。也就是说,待处理像素的预测值不直接采用预测块中对应像素的值,而要根据对应的区域,采取相应的处理。这样,可以针对图像的局部信息确定预测值,从而能够提高运动补偿的性能。
可选地,在本发明一个实施例中,可以根据所述待处理像素对应的区 域与所述当前图像块的至少一个相邻块的相似度,确定所述待处理像素的预测值。
在本实施例中,考虑区域与相邻块的相似度,处理待处理像素的预测值。可选地,所述当前图像块的至少一个相邻块可以包括:所述当前图像块的上方的至多两个相邻块和所述当前图像块的左方的至多两个相邻块。如图7所示,当前图像块上方有两个相邻块A0和A1,左方有两个相邻块B0和B1。应理解,相邻块的大小可以与当前图像块相同或相当,并不受图7所示限制。
可选地,在本发明一个实施例中,若在所述至少一个相邻块中,存在所述待处理像素对应的区域的相似块,并且,在所述至少两个区域中,所述待处理像素对应的区域与相似块的平均相似度最高,则:
根据所述待处理像素对应的区域的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述待处理像素对应的区域的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
否则,根据所述当前图像块的运动矢量,确定所述待处理像素的预测值。
具体而言,根据待处理像素对应的区域与当前图像块的至少一个相邻块的相似度,可以确定在所述至少一个相邻块中,是否存在所述待处理像素对应的区域的相似块。可选地,所述待处理像素对应的区域的相似块可以包括:所述当前图像块的上方的至多两个相邻块中与所述待处理像素对应的区域的相似度较高且大于第二阈值的相邻块,以及所述当前图像块的左方的至多两个相邻块中与所述待处理像素对应的区域的相似度较高且大于所述第二阈值的相邻块。如图7示,对于待处理像素s,其所对应的区域为P1。应理解,在相似度比较中,图7中P1区域和P2区域中的像素值为预测块中的像素值。P1区域的相似块为,A0和A1中与P1区域相似度较高且大于第二阈值的相邻块;以及,B0和B1中与P1区域相似度较高且大于第二阈值的相邻块。即每个区域在上方和左方最多各确定一个相似块。可选地,该第二阈值可以为80%,但本发明实施例对此并不限定。
在存在所述待处理像素对应的区域的相似块时,计算所述待处理像素对应的区域与相似块的平均相似度,即区域与每个相似块的相似度的平均值。例如,若图7中P1区域的相似块为A0和B1,则计算P1区域与A0 和B1的平均相似度。在存在所述待处理像素对应的区域的相似块时,且,在所述至少两个区域中,所述待处理像素对应的区域与相似块的平均相似度最高,则在确定所述待处理像素的预测值时可利用所述待处理像素对应的区域的相似块的运动矢量。即,根据所述待处理像素对应的区域的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述待处理像素对应的区域的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值。例如,图7中,在P1区域和P2区域中,P1区域与相似块的平均相似度高,则在确定待处理像素s的预测值时可利用P1区域的相似块A0和B1的运动矢量。可以根据A0和B1的运动矢量确定待处理像素s的预测值。例如,可以根据以下公式确定s的预测值。
Figure PCTCN2018081649-appb-000004
其中P s是像素s的预测值,P A0_s和P B1_s表示分别由A0和B1的运动矢量确定的预测值,权重因子a和b表示像素s和相应的相邻块之间的距离。
或者,可以根据A0和B1的运动矢量,以及当前图像块的运动矢量,确定待处理像素s的预测值。例如,可以根据以下公式确定s的预测值。
Figure PCTCN2018081649-appb-000005
其中,P org代表原始预测值,即根据当前图像块的运动矢量确定的预测值,也即预测块中对应的像素值,w为0~1之间的权重因子,例如,可以使用1/3。
当相似块只有一个时,则直接根据该相似块的运动矢量确定预测值,或者,根据该相似块的运动矢量和当前图像块的运动矢量确定预测值。
当对应的区域不存在相似块,或者对应的区域与相似块的平均相似度不是最高,则根据当前图像块的运动矢量确定预测值。换句话说,在这种情况下,算法终止,直接采用原始预测值,即预测块中对应的像素值。
可选地,本发明另一个实施例中,若在所述至少一个相邻块中,存在所述待处理像素对应的区域的相似块,则:
根据所述待处理像素对应的区域的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述待处理像素对应的区域的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
否则,根据所述当前图像块的运动矢量,确定所述待处理像素的 预测值。
在前述实施例中,只对与相似块的平均相似度最高的区域,利用相似块的运动矢量,确定预测值。而在本实施例中,只要对应的区域具有相似块,则利用相似块的运动矢量,确定预测值。在对应的区域不存在相似块时,根据当前图像块的运动矢量确定预测值。其中,利用相似块的运动矢量确定预测值的方式可参考前述实施例,为了简洁,在此不再赘述。
可选地,在本发明实施例中,可以采用如下方式获取所述至少两个区域中的每个区域与所述当前图像块的至少一个相邻块的相似度:
对于所述至少两个区域中的特定区域与所述至少一个相邻块中的特定相邻块,将所述特定区域与所述特定相邻块缩放至相同的像素数,根据缩放后所述特定区域与所述特定相邻块中的重合像素在总像素中的比例,确定所述特定区域与所述特定相邻块的相似度。
具体而言,在本实施例中,采用像素分布的方法确定相似度。在比较特定区域和特定相邻块的相似度时,先通过缩放处理,将二者缩放至相同的像素数,再统计重合像素的比例,得到相似度。例如,对待比较的区域和相似块,分别统计像素值在像素空间上的分布情况,例如,当像素位宽为8Bit(比特)时,统计像素为0~256的个数。然后根据区域和相邻块的像素数目进行缩放。例如,当相邻块的像素数目为200,带比较区域的像素个数为100时,将待比较区域每个像素值对应的像素个数均乘以缩放因子2(200/100)。然后,计算区域和相邻块每个像素值对应像素个数的重合数目,相似度用重合像素在总像素中的百分比表示。
应理解,本发明实施例对相似度的确定方式并不限定,除了上述方式外,还可以采用其他相似度确定方式,例如,可以采用如下几种方式。
1.基于像素均值的方法。分别计算待比较的两个图像区域的像素平均值,若像素均值小于某个阈值则认为是相似的,否则是不相似的。例如,该阈值可以为10。
2.像素常数法:对于待比较的两个图像区域,分别找到出现频率最高的几个像素值,例如一个16x16的像素块,像素值为100、101、102的像素出现的次数比较多,我们将100、101与102可视作该块的前三常数。若两个图像区域的前三常数均相同,可认为是相似的,否则是不相似的。
3.基于特征匹配的方法。首先在原始图像中提取特征,然后再建立 两幅图像之间特征的匹配对应关系。常用的特征匹配基元包括点、线、区域等显著特征。图像特征相比像素点数量要少很多,特征间的匹配度量随位置变化尖锐,容易找出准确的匹配位置,特征提取能大大减少噪声影响,对灰度变化、形变和遮挡有较强的适应力。
本发明实施例的技术方案,通过对预测块进行图像分割,并根据待处理像素对应的区域与相邻块的相似度,确定待处理像素的预测值,能够更好地利用相邻相似块进行运动补偿,从而能够提高运动补偿的性能。
可选地,编码端可以比较本发明的方法和其他运动补偿方法哪个具有更小的率失真代价,采用具有更小的率失真代价的方法,并使用1比特的标志位来表示当前图像块是否使用本发明的方法。
在以上方案中,在对预测块进行图像分割后,根据待处理像素对应的区域与相邻块的相似度,确定待处理像素的预测值。可选地,在本发明另一个实施例中,可以不利用相邻块,而是在对预测块进行图像分割后,确定所述待处理像素的预测值为,与所述待处理像素对应的区域的运动矢量关联的预测值,即,该区域的运动矢量指向的区域中对应的像素值。
具体而言,对于每个分割后的区域,编码端可以进行运动估计并找到该区域的运动矢量,相应像素的预测值为该区域的运动矢量关联的预测值,即,该区域的运动矢量指向的区域中对应的像素值,并将每个运动矢量依次进行编码传输。解码端可以根据解码出的运动矢量,对每个区域分别进行运动补偿即可得到最终的预测值。可选地,分割后的区域的编号可以按照当前图像块像素光栅扫描顺序确定,但本发明实施例对此并不限定。
通过上述方案,可以针对局部区域进行运动补偿,从而能够提高运动补偿的性能。
在上述本发明实施例的运动补偿的方法中,在对预测块进行图像分割的基础上进行运动补偿。本发明实施例还提供了一种运动补偿的方法,不进行图像分割,而直接利用当前图像块的相邻相似块进行运动补偿。下面结合图8进行描述。应理解,图8所示方法中的一些具体的描述可以参考前述各实施例,以下为了简洁,不再赘述。
图8示出了本发明另一实施例的运动补偿的方法800的示意性流程图。如图8所示,该方法800包括:
810,获取当前图像块的预测块,其中,所述预测块为所述当前图 像块的运动矢量指向的预测块;
820,根据所述预测块与所述当前图像块的至少一个相邻块的相似度,确定所述当前图像块中待处理像素的预测值。
可选地,在本发明一个实施例中,若在所述至少一个相邻块中,存在所述预测块的相似块,则:
根据所述预测块的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述预测块的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
否则,根据所述当前图像块的运动矢量,确定所述待处理像素的预测值。
可选地,在本发明一个实施例中,所述当前图像块的至少一个相邻块包括:所述当前图像块的上方的至多两个相邻块和所述当前图像块的左方的至多两个相邻块。
可选地,在本发明一个实施例中,所述预测块的相似块包括:所述当前图像块的上方的至多两个相邻块中与所述预测块的相似度较高且大于第二阈值的相邻块,以及所述当前图像块的左方的至多两个相邻块中与所述预测块的相似度较高且大于所述第二阈值的相邻块。
可选地,在本发明一个实施例中,可以采用如下方式获取所述预测块与所述当前图像块的至少一个相邻块的相似度:
将所述预测块与所述至少一个相邻块中的特定相邻块缩放至相同的像素数,根据缩放后所述预测块与所述特定相邻块中的重合像素在总像素中的比例,确定所述预测块与所述特定相邻块的相似度。
本发明实施例的技术方案,根据预测块与当前图像块的相邻块的相似度,确定待处理像素的预测值,能够更好地利用相邻相似块进行运动补偿,从而能够提高运动补偿的性能。
上文中详细描述了本发明实施例的运动补偿的方法,下面将描述本发明实施例的运动补偿的装置和计算机系统。
图9示出了本发明一个实施例的运动补偿的装置900的示意性框图。该装置900可以执行上述本发明实施例的运动补偿的方法400。
如图9所示,该装置900可以包括:
获取模块910,用于获取当前图像块的预测块,其中,所述预测块 为所述当前图像块的运动矢量指向的预测块;
分割模块920,用于对所述预测块进行图像分割,得到至少两个区域;
确定模块930,用于根据所述当前图像块中待处理像素在所述至少两个区域中对应的区域,确定所述待处理像素的预测值。
可选地,在本发明一个实施例中,所述分割模块920用于:
确定所述预测块中的边缘点;
根据所述预测块中的边缘点,将所述预测块分割为所述至少两个区域。
可选地,在本发明一个实施例中,所述分割模块920用于:
对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
将所述预测块中每一行/列中具有最大像素差异的第一待定边缘点确定为边缘点。
可选地,在本发明一个实施例中,所述分割模块920用于:
对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
将所述预测块中每一行/列中具有最大像素差异的第一待定边缘点确定为第二待定边缘点;
若在特定第二待定边缘点周围预定范围内存在其他第二待定边缘点,则确定所述特定第二待定边缘点为边缘点。
可选地,在本发明一个实施例中,所述分割模块920用于:
对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
若所述像素差异大于第一阈值,则确定所述像素为边缘点。
可选地,在本发明一个实施例中,所述分割模块920用于:
对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
若在特定第一待定边缘点周围预定范围内存在其他第一待定边缘点,则确定所述特定第一待定边缘点为边缘点。
可选地,在本发明一个实施例中,所述分割模块920用于:
对所述预测块中的边缘点进行连接,得到边缘线;
根据所述边缘线,将所述预测块分割为所述至少两个区域。
可选地,在本发明一个实施例中,所述分割模块920用于:
对所述预测块中的边缘点进行连接,得到边缘线;
根据所述边缘线,生成预定宽度的边缘带;
根据所述边缘带,将所述预测块分割为所述至少两个区域。
可选地,在本发明一个实施例中,所述确定模块930用于:
根据所述待处理像素对应的区域与所述当前图像块的至少一个相邻块的相似度,确定所述待处理像素的预测值。
可选地,在本发明一个实施例中,所述确定模块930用于:
若在所述至少一个相邻块中,存在所述待处理像素对应的区域的相似块,并且,在所述至少两个区域中,所述待处理像素对应的区域与相似块的平均相似度最高,则:
根据所述待处理像素对应的区域的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述待处理像素对应的区域的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
否则,根据所述当前图像块的运动矢量,确定所述待处理像素的预测值。
可选地,在本发明一个实施例中,所述确定模块930用于:
若在所述至少一个相邻块中,存在所述待处理像素对应的区域的相似块,则:
根据所述待处理像素对应的区域的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述待处理像素对应的区域的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
否则,根据所述当前图像块的运动矢量,确定所述待处理像素的预测值。
可选地,在本发明一个实施例中,所述当前图像块的至少一个相邻块包括:所述当前图像块的上方的至多两个相邻块和所述当前图像块的左方的至多两个相邻块。
可选地,在本发明一个实施例中,所述待处理像素对应的区域的相似块包括:所述当前图像块的上方的至多两个相邻块中与所述待处理像素对应的区域的相似度较高且大于第二阈值的相邻块,以及所述当前图像块的左方的至多两个相邻块中与所述待处理像素对应的区域的相似度较高且大于所述第二阈值的相邻块。
可选地,在本发明一个实施例中,所述确定模块930还用于:
获取所述至少两个区域中的每个区域与所述当前图像块的至少一个相邻块的相似度。
可选地,在本发明一个实施例中,所述确定模块930用于:
对于所述至少两个区域中的特定区域与所述至少一个相邻块中的特定相邻块,将所述特定区域与所述特定相邻块缩放至相同的像素数,根据缩放后所述特定区域与所述特定相邻块中的重合像素在总像素中的比例,确定所述特定区域与所述特定相邻块的相似度。
可选地,在本发明一个实施例中,所述确定模块930用于:
确定所述待处理像素的预测值为,与所述待处理像素对应的区域 的运动矢量关联的预测值。
图10示出了本发明一个实施例的运动补偿的装置1000的示意性框图。该装置1000可以执行上述本发明实施例的运动补偿的方法800。
如图10所示,该装置1000可以包括:
获取模块1010,用于获取当前图像块的预测块,其中,所述预测块为所述当前图像块的运动矢量指向的预测块;
确定模块1020,用于根据所述预测块与所述当前图像块的至少一个相邻块的相似度,确定所述当前图像块中待处理像素的预测值。
可选地,在本发明一个实施例中,所述确定模块1020用于:
若在所述至少一个相邻块中,存在所述预测块的相似块,则:
根据所述预测块的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述预测块的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
否则,根据所述当前图像块的运动矢量,确定所述待处理像素的预测值。
可选地,在本发明一个实施例中,所述当前图像块的至少一个相邻块包括:所述当前图像块的上方的至多两个相邻块和所述当前图像块的左方的至多两个相邻块。
可选地,在本发明一个实施例中,所述预测块的相似块包括:所述当前图像块的上方的至多两个相邻块中与所述预测块的相似度较高且大于第二阈值的相邻块,以及所述当前图像块的左方的至多两个相邻块中与所述预测块的相似度较高且大于所述第二阈值的相邻块。
可选地,在本发明一个实施例中,所述确定模块1020还用于:
获取所述预测块与所述当前图像块的至少一个相邻块的相似度。
可选地,在本发明一个实施例中,所述确定模块1020用于:
将所述预测块与所述至少一个相邻块中的特定相邻块缩放至相同的像素数,根据缩放后所述预测块与所述特定相邻块中的重合像素在总像素中的比例,确定所述预测块与所述特定相邻块的相似度。
应理解,上述本发明实施例的运动补偿的装置可以是芯片,其具体可以由电路实现,但本发明实施例对具体的实现形式不做限定。
本发明实施例还提供了一种编码器,该编码器包括上述本发明实 施例的运动补偿的装置。
本发明实施例还提供了一种解码器,该解码器包括上述本发明实施例的运动补偿的装置。
图11示出了本发明实施例的计算机系统1100的示意性框图。
如图11所示,该计算机系统1100可以包括处理器1110和存储器1120。
应理解,该计算机系统1100还可以包括其他计算机系统中通常所包括的部件,例如,输入输出设备、通信接口等,本发明实施例对此并不限定。
存储器1120用于存储计算机可执行指令。
存储器1120可以是各种种类的存储器,例如可以包括高速随机存取存储器(Random Access Memory,RAM),还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,本发明实施例对此并不限定。
处理器1110用于访问该存储器1120,并执行该计算机可执行指令,以进行上述本发明实施例的运动补偿的方法中的操作。
处理器1110可以包括微处理器,现场可编程门阵列(Field-Programmable Gate Array,FPGA),中央处理器(Central Processing unit,CPU),图形处理器(Graphics Processing Unit,GPU)等,本发明实施例对此并不限定。
本发明实施例的运动补偿的装置和计算机系统可对应于本发明实施例的运动补偿的方法的执行主体,并且运动补偿的装置和计算机系统中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。
本发明实施例还提供了一种电子设备,该电子设备可以包括上述本发明各种实施例的运动补偿的装置或者计算机系统。
本发明实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述本发明实施例的运动补偿的方法。
应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单 独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存 储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

Claims (45)

  1. 一种运动补偿的方法,其特征在于,包括:
    获取当前图像块的预测块,其中,所述预测块为所述当前图像块的运动矢量指向的预测块;
    对所述预测块进行图像分割,得到至少两个区域;
    根据所述当前图像块中待处理像素在所述至少两个区域中对应的区域,确定所述待处理像素的预测值。
  2. 根据权利要求1所述的方法,其特征在于,所述对所述预测块进行图像分割,包括:
    确定所述预测块中的边缘点;
    根据所述预测块中的边缘点,将所述预测块分割为所述至少两个区域。
  3. 根据权利要求2所述的方法,其特征在于,所述确定所述预测块中的边缘点,包括:
    对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
    若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
    将所述预测块中每一行/列中具有最大像素差异的第一待定边缘点确定为边缘点。
  4. 根据权利要求2所述的方法,其特征在于,所述确定所述预测块中的边缘点,包括:
    对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
    若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
    将所述预测块中每一行/列中具有最大像素差异的第一待定边缘点确定为第二待定边缘点;
    若在特定第二待定边缘点周围预定范围内存在其他第二待定边缘点,则确定所述特定第二待定边缘点为边缘点。
  5. 根据权利要求2所述的方法,其特征在于,所述确定所述预测块中的边缘点,包括:
    对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
    若所述像素差异大于第一阈值,则确定所述像素为边缘点。
  6. 根据权利要求2所述的方法,其特征在于,所述确定所述预测块中的边缘点,包括:
    对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
    若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
    若在特定第一待定边缘点周围预定范围内存在其他第一待定边缘点,则确定所述特定第一待定边缘点为边缘点。
  7. 根据权利要求2至6中任一项所述的方法,其特征在于,所述根据所述预测块中的边缘点,将所述预测块分割为所述至少两个区域,包括:
    对所述预测块中的边缘点进行连接,得到边缘线;
    根据所述边缘线,将所述预测块分割为所述至少两个区域。
  8. 根据权利要求2至6中任一项所述的方法,其特征在于,所述根据所述预测块中的边缘点,将所述预测块分割为所述至少两个区域,包括:
    对所述预测块中的边缘点进行连接,得到边缘线;
    根据所述边缘线,生成预定宽度的边缘带;
    根据所述边缘带,将所述预测块分割为所述至少两个区域。
  9. 根据权利要求1至8中任一项所述的方法,其特征在于,所述根据所述当前图像块中待处理像素在所述至少两个区域中对应的区域,确定所述 待处理像素的预测值,包括:
    根据所述待处理像素对应的区域与所述当前图像块的至少一个相邻块的相似度,确定所述待处理像素的预测值。
  10. 根据权利要求9所述的方法,其特征在于,所述根据所述待处理像素对应的区域与所述当前图像块的至少一个相邻块的相似度,确定所述待处理像素的预测值,包括:
    若在所述至少一个相邻块中,存在所述待处理像素对应的区域的相似块,并且,在所述至少两个区域中,所述待处理像素对应的区域与相似块的平均相似度最高,则:
    根据所述待处理像素对应的区域的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述待处理像素对应的区域的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
    否则,根据所述当前图像块的运动矢量,确定所述待处理像素的预测值。
  11. 根据权利要求9所述的方法,其特征在于,所述根据所述待处理像素对应的区域与所述当前图像块的至少一个相邻块的相似度,确定所述待处理像素的预测值,包括:
    若在所述至少一个相邻块中,存在所述待处理像素对应的区域的相似块,则:
    根据所述待处理像素对应的区域的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述待处理像素对应的区域的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
    否则,根据所述当前图像块的运动矢量,确定所述待处理像素的预测值。
  12. 根据权利要求10和11所述的方法,其特征在于,所述当前图像块的至少一个相邻块包括:所述当前图像块的上方的至多两个相邻块和所述当前图像块的左方的至多两个相邻块。
  13. 根据权利要求12所述的方法,其特征在于,所述待处理像素对应的区域的相似块包括:所述当前图像块的上方的至多两个相邻块中与所述待处理像素对应的区域的相似度较高且大于第二阈值的相邻块,以及所述当前图像块的左方的至多两个相邻块中与所述待处理像素对应的区域的相似度较高且大于所述第二阈值的相邻块。
  14. 根据权利要求9至13中任一项所述的方法,其特征在于,所述方 法还包括:
    获取所述至少两个区域中的每个区域与所述当前图像块的至少一个相邻块的相似度。
  15. 根据权利要求14所述的方法,其特征在于,所述获取所述至少两个区域中的每个区域与所述当前图像块的至少一个相邻块的相似度,包括:
    对于所述至少两个区域中的特定区域与所述至少一个相邻块中的特定相邻块,将所述特定区域与所述特定相邻块缩放至相同的像素数,根据缩放后所述特定区域与所述特定相邻块中的重合像素在总像素中的比例,确定所述特定区域与所述特定相邻块的相似度。
  16. 根据权利要求1至15中任一项所述的方法,其特征在于,所述根据所述当前图像块中待处理像素在所述至少两个区域中对应的区域,确定所述待处理像素的预测值,包括:
    确定所述待处理像素的预测值为,与所述待处理像素对应的区域的运动矢量关联的预测值。
  17. 一种运动补偿的方法,其特征在于,包括:
    获取当前图像块的预测块,其中,所述预测块为所述当前图像块的运动矢量指向的预测块;
    根据所述预测块与所述当前图像块的至少一个相邻块的相似度,确定所述当前图像块中待处理像素的预测值。
  18. 根据权利要求17所述的方法,其特征在于,所述根据所述预测块与所述当前图像块的至少一个相邻块的相似度,确定所述当前图像块中待处理像素的预测值,包括:
    若在所述至少一个相邻块中,存在所述预测块的相似块,则:
    根据所述预测块的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述预测块的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
    否则,根据所述当前图像块的运动矢量,确定所述待处理像素的预测值。
  19. 根据权利要求18所述的方法,其特征在于,所述当前图像块的至少一个相邻块包括:所述当前图像块的上方的至多两个相邻块和所述当前图像块的左方的至多两个相邻块。
  20. 根据权利要求19所述的方法,其特征在于,所述预测块的相似块 包括:所述当前图像块的上方的至多两个相邻块中与所述预测块的相似度较高且大于第二阈值的相邻块,以及所述当前图像块的左方的至多两个相邻块中与所述预测块的相似度较高且大于所述第二阈值的相邻块。
  21. 根据权利要求17至20中任一项所述的方法,其特征在于,所述方法还包括:
    获取所述预测块与所述当前图像块的至少一个相邻块的相似度。
  22. 根据权利要求21所述的方法,其特征在于,所述获取所述预测块与所述当前图像块的至少一个相邻块的相似度,包括:
    将所述预测块与所述至少一个相邻块中的特定相邻块缩放至相同的像素数,根据缩放后所述预测块与所述特定相邻块中的重合像素在总像素中的比例,确定所述预测块与所述特定相邻块的相似度。
  23. 一种运动补偿的装置,其特征在于,包括:
    获取模块,用于获取当前图像块的预测块,其中,所述预测块为所述当前图像块的运动矢量指向的预测块;
    分割模块,用于对所述预测块进行图像分割,得到至少两个区域;
    确定模块,用于根据所述当前图像块中待处理像素在所述至少两个区域中对应的区域,确定所述待处理像素的预测值。
  24. 根据权利要求22所述的装置,其特征在于,所述分割模块用于:
    确定所述预测块中的边缘点;
    根据所述预测块中的边缘点,将所述预测块分割为所述至少两个区域。
  25. 根据权利要求24所述的装置,其特征在于,所述分割模块用于:
    对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
    若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
    将所述预测块中每一行/列中具有最大像素差异的第一待定边缘点确定为边缘点。
  26. 根据权利要求24所述的装置,其特征在于,所述分割模块用于:
    对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平 像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
    若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
    将所述预测块中每一行/列中具有最大像素差异的第一待定边缘点确定为第二待定边缘点;
    若在特定第二待定边缘点周围预定范围内存在其他第二待定边缘点,则确定所述特定第二待定边缘点为边缘点。
  27. 根据权利要求24所述的装置,其特征在于,所述分割模块用于:
    对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
    若所述像素差异大于第一阈值,则确定所述像素为边缘点。
  28. 根据权利要求24所述的装置,其特征在于,所述分割模块用于:
    对于所述预测块中的每个像素,确定像素差异,所述像素差异包括水平像素差异和/或垂直像素差异,其中,所述水平像素差异为所述像素所在行中所述像素左侧像素的平均值与所述像素右侧像素的平均值之间的差值,所述垂直像素差异为所述像素所在列中所述像素上侧像素的平均值与所述像素下侧像素的平均值之间的差值;
    若所述像素差异大于第一阈值,则确定所述像素为第一待定边缘点;
    若在特定第一待定边缘点周围预定范围内存在其他第一待定边缘点,则确定所述特定第一待定边缘点为边缘点。
  29. 根据权利要求24至28中任一项所述的装置,其特征在于,所述分割模块用于:
    对所述预测块中的边缘点进行连接,得到边缘线;
    根据所述边缘线,将所述预测块分割为所述至少两个区域。
  30. 根据权利要求24至28中任一项所述的装置,其特征在于,所述分割模块用于:
    对所述预测块中的边缘点进行连接,得到边缘线;
    根据所述边缘线,生成预定宽度的边缘带;
    根据所述边缘带,将所述预测块分割为所述至少两个区域。
  31. 根据权利要求23至30中任一项所述的装置,其特征在于,所述确定模块用于:
    根据所述待处理像素对应的区域与所述当前图像块的至少一个相邻块的相似度,确定所述待处理像素的预测值。
  32. 根据权利要求31所述的装置,其特征在于,所述确定模块用于:
    若在所述至少一个相邻块中,存在所述待处理像素对应的区域的相似块,并且,在所述至少两个区域中,所述待处理像素对应的区域与相似块的平均相似度最高,则:
    根据所述待处理像素对应的区域的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述待处理像素对应的区域的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
    否则,根据所述当前图像块的运动矢量,确定所述待处理像素的预测值。
  33. 根据权利要求31所述的装置,其特征在于,所述确定模块用于:
    若在所述至少一个相邻块中,存在所述待处理像素对应的区域的相似块,则:
    根据所述待处理像素对应的区域的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述待处理像素对应的区域的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
    否则,根据所述当前图像块的运动矢量,确定所述待处理像素的预测值。
  34. 根据权利要求32和33所述的装置,其特征在于,所述当前图像块的至少一个相邻块包括:所述当前图像块的上方的至多两个相邻块和所述当前图像块的左方的至多两个相邻块。
  35. 根据权利要求34所述的装置,其特征在于,所述待处理像素对应的区域的相似块包括:所述当前图像块的上方的至多两个相邻块中与所述待处理像素对应的区域的相似度较高且大于第二阈值的相邻块,以及所述当前图像块的左方的至多两个相邻块中与所述待处理像素对应的区域的相似度较高且大于所述第二阈值的相邻块。
  36. 根据权利要求31至35中任一项所述的装置,其特征在于,所述确 定模块还用于:
    获取所述至少两个区域中的每个区域与所述当前图像块的至少一个相邻块的相似度。
  37. 根据权利要求36所述的装置,其特征在于,所述确定模块用于:
    对于所述至少两个区域中的特定区域与所述至少一个相邻块中的特定相邻块,将所述特定区域与所述特定相邻块缩放至相同的像素数,根据缩放后所述特定区域与所述特定相邻块中的重合像素在总像素中的比例,确定所述特定区域与所述特定相邻块的相似度。
  38. 根据权利要求23至37中任一项所述的装置,其特征在于,所述确定模块用于:
    确定所述待处理像素的预测值为,与所述待处理像素对应的区域的运动矢量关联的预测值。
  39. 一种运动补偿的装置,其特征在于,包括:
    获取模块,用于获取当前图像块的预测块,其中,所述预测块为所述当前图像块的运动矢量指向的预测块;
    确定模块,用于根据所述预测块与所述当前图像块的至少一个相邻块的相似度,确定所述当前图像块中待处理像素的预测值。
  40. 根据权利要求39所述的装置,其特征在于,所述确定模块用于:
    若在所述至少一个相邻块中,存在所述预测块的相似块,则:
    根据所述预测块的相似块的运动矢量,确定所述待处理像素的预测值,或者,根据所述预测块的相似块的运动矢量和所述当前图像块的运动矢量,确定所述待处理像素的预测值;
    否则,根据所述当前图像块的运动矢量,确定所述待处理像素的预测值。
  41. 根据权利要求40所述的装置,其特征在于,所述当前图像块的至少一个相邻块包括:所述当前图像块的上方的至多两个相邻块和所述当前图像块的左方的至多两个相邻块。
  42. 根据权利要求41所述的装置,其特征在于,所述预测块的相似块包括:所述当前图像块的上方的至多两个相邻块中与所述预测块的相似度较高且大于第二阈值的相邻块,以及所述当前图像块的左方的至多两个相邻块中与所述预测块的相似度较高且大于所述第二阈值的相邻块。
  43. 根据权利要求39至42中任一项所述的装置,其特征在于,所述确 定模块还用于:
    获取所述预测块与所述当前图像块的至少一个相邻块的相似度。
  44. 根据权利要求43所述的装置,其特征在于,所述确定模块用于:
    将所述预测块与所述至少一个相邻块中的特定相邻块缩放至相同的像素数,根据缩放后所述预测块与所述特定相邻块中的重合像素在总像素中的比例,确定所述预测块与所述特定相邻块的相似度。
  45. 一种计算机系统,其特征在于,包括:
    存储器,用于存储计算机可执行指令;
    处理器,用于访问所述存储器,并执行所述计算机可执行指令,以进行根据权利要求1至22中任一项所述的方法中的操作。
PCT/CN2018/081649 2018-04-02 2018-04-02 运动补偿的方法、装置和计算机系统 WO2019191887A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880037896.7A CN110710209A (zh) 2018-04-02 2018-04-02 运动补偿的方法、装置和计算机系统
PCT/CN2018/081649 WO2019191887A1 (zh) 2018-04-02 2018-04-02 运动补偿的方法、装置和计算机系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/081649 WO2019191887A1 (zh) 2018-04-02 2018-04-02 运动补偿的方法、装置和计算机系统

Publications (1)

Publication Number Publication Date
WO2019191887A1 true WO2019191887A1 (zh) 2019-10-10

Family

ID=68099734

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/081649 WO2019191887A1 (zh) 2018-04-02 2018-04-02 运动补偿的方法、装置和计算机系统

Country Status (2)

Country Link
CN (1) CN110710209A (zh)
WO (1) WO2019191887A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1767655A (zh) * 2005-10-18 2006-05-03 宁波大学 一种多视点视频图像视差估计的方法
CN101873500A (zh) * 2009-04-24 2010-10-27 华为技术有限公司 帧间预测编码方法、帧间预测解码方法及设备
CN101978698A (zh) * 2008-03-18 2011-02-16 三星电子株式会社 用于对图像进行编码和解码的方法及设备
US20150215638A1 (en) * 2012-09-17 2015-07-30 Lg Electronics Inc. Method and apparatus for processing video signal
WO2017069590A1 (ko) * 2015-10-22 2017-04-27 엘지전자 주식회사 영상 코딩 시스템에서 모델링 기반 영상 디코딩 방법 및 장치

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2839664A4 (en) * 2012-07-09 2016-04-06 Mediatek Inc METHOD AND APPARATUS FOR PREDICTING INTERVIEW SUB-DIVISION IN 3D VIDEO CODING
CN104427345B (zh) * 2013-09-11 2019-01-08 华为技术有限公司 运动矢量的获取方法、获取装置、视频编解码器及其方法
EP3358848B1 (en) * 2015-09-29 2021-04-21 LG Electronics Inc. Method of filtering image in image coding system
CN105516726B (zh) * 2015-11-27 2019-04-09 传线网络科技(上海)有限公司 视频编码的运动补偿匹配方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1767655A (zh) * 2005-10-18 2006-05-03 宁波大学 一种多视点视频图像视差估计的方法
CN101978698A (zh) * 2008-03-18 2011-02-16 三星电子株式会社 用于对图像进行编码和解码的方法及设备
CN101873500A (zh) * 2009-04-24 2010-10-27 华为技术有限公司 帧间预测编码方法、帧间预测解码方法及设备
US20150215638A1 (en) * 2012-09-17 2015-07-30 Lg Electronics Inc. Method and apparatus for processing video signal
WO2017069590A1 (ko) * 2015-10-22 2017-04-27 엘지전자 주식회사 영상 코딩 시스템에서 모델링 기반 영상 디코딩 방법 및 장치

Also Published As

Publication number Publication date
CN110710209A (zh) 2020-01-17

Similar Documents

Publication Publication Date Title
EP2665275B1 (en) Video coding employing an image de-graining loop-filter
WO2019157717A1 (zh) 运动补偿的方法、装置和计算机系统
Wu et al. Learned block-based hybrid image compression
CN108141592B (zh) 用于编码和解码数字图像或视频流的方法和装置
Deng et al. Deep homography for efficient stereo image compression
US11394966B2 (en) Video encoding and decoding method and apparatus
WO2021203394A1 (zh) 环路滤波的方法与装置
Yadav et al. A review on image compression techniques
WO2021134706A1 (zh) 环路滤波的方法与装置
Makar et al. Interframe coding of canonical patches for low bit-rate mobile augmented reality
Patel et al. Study and investigation of video steganography over uncompressed and compressed domain: a comprehensive review
Nguyen et al. A novel steganography scheme for video H. 264/AVC without distortion drift
US9712828B2 (en) Foreground motion detection in compressed video data
Chen et al. A feature-enriched deep convolutional neural network for JPEG image compression artifacts reduction and its applications
KR20180079314A (ko) 그래프 기반 리프팅 변환을 이용하여 비디오 신호를 인코딩, 디코딩하는 방법 및 장치
Li et al. Deep image compression based on multi-scale deformable convolution
Xia et al. Visual sensitivity-based low-bit-rate image compression algorithm
CN110933415B (zh) 对象区域检测方法、装置及对其的非临时性计算机可读介质
WO2019191891A1 (zh) 用于视频处理的方法和设备
WO2019191887A1 (zh) 运动补偿的方法、装置和计算机系统
CN116095341A (zh) 一种水印嵌入方法、装置、设备以及存储介质
KR102345258B1 (ko) 객체영역 검출방법, 장치 및 이에 대한 컴퓨터 프로그램
WO2019191888A1 (zh) 环路滤波的方法、装置和计算机系统
JP5809574B2 (ja) 符号化方法、復号方法、符号化装置、復号装置、符号化プログラム及び復号プログラム
NO20200708A1 (en) Method, computer program and system for detecting changes and moving objects in a video view

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

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

Country of ref document: EP

Kind code of ref document: A1