WO2020258057A1 - 视频处理方法、装置和设备 - Google Patents

视频处理方法、装置和设备 Download PDF

Info

Publication number
WO2020258057A1
WO2020258057A1 PCT/CN2019/092870 CN2019092870W WO2020258057A1 WO 2020258057 A1 WO2020258057 A1 WO 2020258057A1 CN 2019092870 W CN2019092870 W CN 2019092870W WO 2020258057 A1 WO2020258057 A1 WO 2020258057A1
Authority
WO
WIPO (PCT)
Prior art keywords
video processing
motion information
storage unit
image block
bits
Prior art date
Application number
PCT/CN2019/092870
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 PCT/CN2019/092870 priority Critical patent/WO2020258057A1/zh
Priority to CN201980011953.9A priority patent/CN111713109B/zh
Publication of WO2020258057A1 publication Critical patent/WO2020258057A1/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
    • H04N19/503Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving temporal prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present disclosure relates to the field of image processing, and more specifically, to a video processing method, device, and equipment.
  • Prediction is an important module of the mainstream video coding framework. Prediction can include intra-frame prediction and inter-frame prediction. In the inter prediction mode, the encoding and decoding process needs to refer to the motion information of other image blocks to determine the motion information of the current image block, and then complete the image prediction. Therefore, it is necessary to store the motion information of a large number of image blocks for reference of other motion information.
  • a video processing method including:
  • the motion information is used for encoding or decoding of spatial neighboring blocks of the first image block
  • the size of the storage unit is M ⁇ N, and M and N satisfy the following conditions: M is greater than the minimum horizontal size of all image blocks in the current frame, and/or N is greater than the minimum vertical size of all image blocks in the current frame.
  • the video processing method provided by this embodiment increases the size of the storage unit corresponding to the motion information and reduces the amount of stored motion information, which can effectively reduce the data processing pressure in the video encoding and decoding process.
  • a video processing method including:
  • the video processing method provided by this embodiment can effectively reduce the storage space occupation of the airspace motion information by using the exponential form to store the airspace motion information, reduce the amount of data transmission, and effectively reduce the data processing pressure in the video encoding and decoding process.
  • a video processing device including:
  • the motion information acquisition module is used to acquire the motion information of the first image block of the current frame
  • a motion information storage module configured to store the motion information corresponding to a storage unit, and the motion information is used for encoding or decoding of spatial neighboring blocks of the first image block;
  • the size of the storage unit is M ⁇ N, and M and N satisfy the following conditions: M is greater than the minimum horizontal size of all image blocks in the current frame, and/or N is greater than the minimum vertical size of all image blocks in the current frame.
  • the video processing device provided in this embodiment increases the size of the storage unit corresponding to the motion information and reduces the amount of stored motion information, which can effectively reduce the data processing pressure in the video encoding and decoding process.
  • a video processing device including:
  • the motion information acquisition module is used to acquire the motion information of the first image block of the current frame
  • An exercise information storage module for converting the exercise information into exercise information expressed in exponential form, and corresponding to a storage unit to store the exercise information expressed in exponential form, and the exercise information expressed in exponential form is used for the first Encoding or decoding of spatial neighboring blocks of image blocks.
  • the video processing device provided in this embodiment stores the airspace motion information in an exponential form, which can effectively reduce the storage space occupation of the airspace motion information, reduce the amount of data transmission, and effectively reduce the data processing pressure in the video encoding and decoding process.
  • a video processing device including:
  • a video processing device including:
  • a computer storage medium for storing program code, the program code for executing the method as described in the above first aspect.
  • a computer storage medium for storing program code, the program code for executing the method described in the above second aspect.
  • FIG. 1 is an architecture diagram of a technical solution applying an embodiment of the present disclosure
  • Figure 2 is a schematic diagram of a video encoding process in an embodiment of the present disclosure
  • Fig. 3 is a schematic flowchart of a video processing method according to an embodiment of the present disclosure
  • FIG. 5 is a schematic diagram of the relationship between adjacent blocks in spatial domain and a first image block in an embodiment of the present disclosure
  • 6A and 6B are schematic diagrams of the storage unit
  • FIG. 7 is a schematic diagram of a storage unit in an embodiment of the present disclosure.
  • FIG. 8 is a schematic diagram of the storage unit size being larger than the image block size in an embodiment of the present disclosure
  • FIG. 9 is a schematic diagram of storing multiple pieces of motion information in an embodiment of the present disclosure.
  • FIG. 10 is a schematic diagram of applying exercise information in an embodiment of the present disclosure.
  • Fig. 11 is a schematic flowchart of yet another video processing method according to an embodiment of the present disclosure.
  • Fig. 12 is a schematic block diagram of a video processing device according to an embodiment of the present disclosure.
  • Fig. 13 is a schematic block diagram of a video processing device according to an embodiment of the present disclosure.
  • Fig. 14 is a schematic block diagram of a video processing device according to an embodiment of the present disclosure.
  • Fig. 1 is an architecture diagram of a technical solution applying an embodiment of the present disclosure.
  • the system 100 can receive data 102 to be processed, process the data 102 to be processed, and generate processed data 108.
  • the system 100 may receive the data to be encoded and encode the data to be encoded to generate encoded data, or the system 100 may receive the data to be decoded and decode the data to be decoded to generate decoded data.
  • the components in the system 100 may be implemented by one or more processors.
  • the processor may be a processor in a computing device or a processor in a mobile device (such as a drone).
  • the processor may be any type of processor, which is not limited in the embodiment of the present invention.
  • the processor may include an encoder, a decoder, or a codec.
  • the system 100 may also include one or more memories.
  • the memory can be used to store instructions and data, for example, computer-executable instructions that implement the technical solutions of the embodiments of the present invention, to-be-processed data 102, processed data 108, and the like.
  • the memory may be any type 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 (for example, cameras, infrared sensors), microphones, near-field sensors (for example, ultrasonic sensors, radars), position sensors, and temperature sensors. Sensors, touch sensors, etc.
  • the data to be encoded may include information from the user, for example, biological information, which may include facial features, fingerprint scans, retinal scans, voice recordings, DNA sampling, and the like.
  • Fig. 2 is a frame diagram of an encoder according to an embodiment of the present disclosure. The flow of inter-frame coding and intra-frame coding will be respectively introduced below in conjunction with FIG. 2.
  • the process of inter-frame encoding and decoding can be as follows:
  • the current frame image is acquired.
  • a reference frame image is acquired.
  • a reference frame image is used to perform motion estimation to obtain a motion vector (Motion Vector, MV) of each image block of the current frame image.
  • the motion vector obtained by the motion estimation is used to perform motion compensation to obtain the estimated value of the current image block.
  • the estimated value of the current image block is subtracted from the current image block to obtain the residual.
  • the residual is transformed to obtain transform coefficients.
  • the transform coefficients are quantized to obtain quantized coefficients.
  • the quantized coefficients are entropy coded, and finally the bit stream obtained by entropy coding and the coding mode information after coding are stored or sent to the decoding end.
  • dequantize the quantized result In 210, inverse transformation is performed on the inverse quantization result.
  • the reconstructed pixels are obtained by using the inverse transform result and the motion compensation result.
  • the reconstructed pixels are filtered. In 213, the reconstructed pixels after filtering are output.
  • the intra-frame encoding and decoding process can be as follows:
  • the current frame image is acquired.
  • intra prediction selection is performed on the current frame image.
  • the current image block in the current frame performs intra-frame prediction.
  • the estimated value of the current image block is subtracted from the current image block to obtain the residual.
  • the residual of the image block is transformed to obtain transform coefficients.
  • the transform coefficients are quantized to obtain quantized coefficients.
  • the quantized coefficients are entropy-encoded, and finally the bit stream obtained by entropy encoding and the encoding mode information after encoding are stored or sent to the decoding end.
  • the quantization result is dequantized.
  • the inverse quantization result is inversely transformed, and in 211, the inverse transform result and the intra-frame prediction result are used to obtain reconstructed pixels.
  • the image in the encoding process, in order to remove redundancy, the image can be predicted. Different images in the video can use different prediction methods. According to the prediction method adopted by the image, the image can be divided into intra-frame prediction image and inter-frame prediction image.
  • the inter prediction mode may include AMVP mode and Merge mode.
  • motion vector prediction motion vector prediction, MVP
  • MVP motion vector prediction
  • the starting point of motion estimation can be determined according to the MVP
  • the motion search is performed near the starting point, and the optimum is obtained after the search is completed MV
  • the position of the reference block in the reference image is determined by the MV
  • the reference block is subtracted from the current block to obtain the residual block
  • the MVP is subtracted from the MV to obtain the Motion Vector Difference (MVD)
  • the MVD Motion Vector Difference
  • the MVP can be determined first, and the MVP can be directly determined as the MV.
  • an MVP candidate list (merge candidate list) can be constructed first, and the MVP candidate list can include at least one candidate MVP , Each candidate MVP can correspond to an index.
  • the encoder can write the MVP index into the code stream, and the decoder can find the index from the MVP candidate list according to the index Corresponding MVP to achieve the decoding of image blocks.
  • Step 1 Obtain the MVP candidate list
  • Step 2 Select an optimal MVP from the MVP candidate list, and at the same time obtain the index of the MVP in the MVP candidate list;
  • Step 3 Use the MVP as the MV of the current block
  • Step 4 Determine the position of the reference block (also called the prediction block) in the reference frame image according to the MV;
  • Step 5 Subtract the current block from the reference block to obtain residual data
  • Step 6 Pass the residual data and the index of the MVP to the decoder.
  • Merge mode can also have other implementations.
  • Skip mode is a special case of Merge mode. After obtaining the MV according to the Merge mode, if the encoding end determines that the current block is basically the same as the reference block, then there is no need to transmit residual data, only the index of the MV, and further a flag can be passed, which can indicate that the current block can be directly Obtained from the reference block.
  • the MV of each image block needs to be stored in order to provide MVP for adjacent blocks. Since the encoding or decoding process needs to store multiple MVPs in a frame of image, in order to improve the efficiency of encoding/decoding and reduce the amount of data processing, the embodiments of the present disclosure improve the MVP storage method, which can effectively reduce the MVP Storage pressure on the hardware.
  • FIG. 3 is a schematic flowchart of a video processing method 300 according to an embodiment of the present disclosure.
  • the method 300 can be implemented by a processing device.
  • the processing device may be used at the encoding end or the decoding end, and specifically may be an encoder or a decoder.
  • the method 300 may include:
  • Step S301 acquiring motion information of the first image block of the current frame
  • Step S302 corresponding to the storage unit to store the motion information, and the motion information is used for encoding or decoding of spatial neighboring blocks of the first image block;
  • the size of the storage unit is M ⁇ N, and M and N meet the following conditions: M is greater than the minimum horizontal size of all image blocks in the current frame, and/or N is greater than the minimum vertical size of all image blocks in the current frame.
  • a frame of image can be divided into multiple coding regions (Coding Tree Unit, CTU), and each coding region is divided into multiple image blocks, also called Coding Unit (CU).
  • CTU Coding Tree Unit
  • CU Coding Unit
  • the size of the coding area may be 64 ⁇ 64, 128 ⁇ 128; the size of the image block may be 64 ⁇ 64, 32 ⁇ 32, 16 ⁇ 16, 8 ⁇ 8. It can be understood that in some other division forms, the size of the coding area and the size of the image block may also be other sizes, for example, the size of the image block is 4 ⁇ 8, 8 ⁇ 4, 8 ⁇ 16, etc., which are not limited here.
  • the motion information may include a motion vector (MV) corresponding to a picture block (CU), or include motion vector and reference frame information (for example, reference frame index), etc. .
  • the motion information of the first image block may be used for encoding or decoding of the spatial neighboring block of the first image block.
  • the spatial neighboring blocks include not only the image blocks directly adjacent to the first image block, but also the image blocks separated from the first image block by at least one pixel, which is not particularly limited in the present disclosure.
  • FIG. 5 is a schematic diagram of the relationship between adjacent blocks in the spatial domain and the first image block in an embodiment of the present disclosure.
  • the middle square in Figure 5 represents the current image block.
  • the square is for illustration only and does not limit the size of the image block.
  • the square in the middle may also represent the current sub-image block.
  • a coding unit CU
  • it can be divided into one or more prediction units (PU) according to the cutting type of the prediction mode.
  • the prediction unit (PU) here may be the sub-image block.
  • the MV of the storage unit adjacent to the current image block or the current sub-image block in the spatial domain may be used as a candidate MVP that can be added to the MVP candidate list.
  • the spatial candidate list for the current image block or the current sub-image block can be constructed as follows: the storage unit in the lower left corner is A0, the storage unit on the left is A1, the storage unit in the upper left corner is B2, and the storage unit in the upper left corner is B2. The storage unit is B1 and the upper right corner is B0.
  • the order of the candidate MVPs in the airspace candidate list is A1->B1->B0->A0->B2 according to the priority from high to low.
  • the exercise information mentioned in the present disclosure may include single exercise information or dual exercise information.
  • dual motion information may refer to motion information including two single motion information.
  • Single motion information is forward motion information or backward motion information, where forward motion information means that the corresponding reference frame is the forward frame of the current frame, and backward motion information means that the corresponding reference frame is the backward frame of the current frame frame.
  • the two single motion information included in the dual motion information may both be forward motion information, or both may be backward motion information, or may be one forward motion information and one backward motion information, which is not specifically limited in the present disclosure.
  • one image block has only one sub-image block (PU), and at this time, there is one piece of motion information for the image block.
  • an image block includes two or more sub-image blocks, and at this time, each sub-image block can correspond to at least one piece of motion information, that is, the first image block of the current frame is obtained in step S301.
  • the motion information includes multiple motion information of the first image block of the current frame.
  • step S302 in order to facilitate the provision of MVP for each spatial neighboring block, the MV of an image block is stored according to a storage unit.
  • 6A and 6B are schematic diagrams of memory cells.
  • a motion information MV0 can be stored in a 4 ⁇ 4 image unit, which corresponds to each CU with a multiple of 4 as the starting point and ending point.
  • the area stores a piece of motion information, a total of 16 pieces of motion information are stored, and the MV stored in each position is the motion information MV0 corresponding to the CU.
  • each sub-image block corresponds to at least one piece of motion information, for example, PU1 corresponds to MV1, and PU2 corresponds to MV2.
  • PU1 corresponds to MV1
  • PU2 corresponds to MV2.
  • the size of the first image block is 16 ⁇ 16 and one piece of motion information is stored in a 4 ⁇ 4 unit (that is, the storage unit size is 4 ⁇ 4)
  • 8 MV1 and 8 MV2 can be stored.
  • Fig. 7 is a schematic diagram of a storage unit in an embodiment of the present disclosure.
  • the embodiment of the present disclosure sets the storage unit size to M ⁇ N, and sets M and N to satisfy the following conditions: M is greater than the minimum horizontal size of all image blocks in the current frame, and/or, N Larger than the minimum vertical size of all image blocks in the current frame.
  • the minimum horizontal size and minimum vertical size of an image block are generally 4.
  • the minimum horizontal size and minimum vertical size can be larger values.
  • the minimum horizontal size and minimum vertical size of all image blocks in the current frame The size is 4, and the size of the storage unit at this time needs to satisfy that the horizontal size is greater than 4 or the vertical size is greater than 4.
  • both M and N are positive integer multiples of i, and i is the smallest horizontal size or the smallest vertical size of all image blocks in the first image block. In some embodiments, i is the smallest horizontal size of all image blocks. The smaller of the size or the smallest vertical size. In this technical field, the size of the smallest image block is generally 4 ⁇ 8 or 8 ⁇ 4.
  • the size of the storage unit may be 4 ⁇ 8, 8 ⁇ 4, 8 ⁇ 8, etc., for example.
  • the horizontal size of the first image block 71 is 16 and the vertical size is 16.
  • M and N are less than 16
  • multiple pieces of motion information can be stored in the first image block 71. If the first image block 71 is the smallest image block of the current frame at this time, 4 ⁇ M ⁇ 16, 4 ⁇ N ⁇ 16, at this time, the size of the storage unit is not larger than the size of the smallest image block, and one storage unit corresponds to only one Image block.
  • one storage unit 81 may correspond to two One or more image blocks (for example, CU1 and CU2 in the figure).
  • one storage unit corresponds to two or more image blocks
  • only the motion information of one image block is stored (for example, only the motion information MV1 of CU1 is stored in the figure).
  • the corresponding storage unit only stores the motion information of the image block where the coordinate position of the storage unit is located.
  • the image block of the source of the motion information MV corresponding to the storage unit is determined by the coordinates of the storage unit. Specifically, a fixed coordinate can be pre-selected for the storage unit, for example (x, y), then the motion information of the image block located at the coordinate (x, y) in the image will be stored in the corresponding storage unit.
  • this method of selecting the source image blocks of the motion information can also be used. For example, in FIG. 8, when the storage unit 81 corresponds to CU1 and CU2 and the coordinates are located in CU1, only the motion information corresponding to CU1 is stored in the storage unit. Similarly, when the storage unit corresponds to more image blocks, only the motion information of the image block where the coordinate position of the storage unit is located is stored, and the motion information of the remaining image blocks corresponding to the storage unit is not stored.
  • the storage unit (4 ⁇ 8) corresponding to the sub-image block PU1 or PU2 of the first image block 91 stores the motion information MV1 and MV2 of the sub-image blocks, respectively.
  • the storage units corresponding to the storage of motion information in the same image block have the same size.
  • the storage units of PU1 and PU2 are both 4 ⁇ 8.
  • Fig. 10 is a schematic diagram of applying exercise information in an embodiment of the present disclosure.
  • the motion information of the first image block CU (size 16 ⁇ 16) is stored according to M ⁇ N
  • the motion information of the first image block is selected from multiple candidate motion information in the spatial candidate list
  • the size of the storage unit corresponding to each candidate motion information is M ⁇ N.
  • the motion information corresponding to the 4 ⁇ 8 area of reference bits A0 ⁇ B2 in the figure is obtained as the MVP, and the first image is selected from the five MVPs
  • the motion information MV of the block CU finally stores the motion information MV of the first image block CU according to a 4 ⁇ 8 storage unit to provide MVP for other spatial neighboring blocks.
  • the storage method of airspace motion information is improved.
  • step S302 the exercise information may be converted into exercise information expressed in exponential form, and the exercise information expressed in exponential form may be stored in the storage unit.
  • the exponential form is, for example, an exponential mantissa form.
  • the base k may be, for example, a default value of 2 or 10, or may be adjusted according to actual conditions, and the present disclosure is not limited thereto.
  • the first preset number of bits can be used to store the mantissa a
  • the second preset number of mantissas can be used to store the exponent b, thereby reducing the storage capacity of the data MV.
  • the first preset number of bits is, for example, 6 bits
  • the second preset number of bits is, for example, 4 bits.
  • the foregoing embodiment is only an example. Those skilled in the art can adjust the first preset digit, the second preset digit, and the mantissa by themselves, as long as the sum of the first preset digit and the second preset digit is less than the movement.
  • the information MV can be stored according to the number of bits occupied by the binary system.
  • Fig. 11 is a flowchart of a video processing method provided in an embodiment of the present disclosure.
  • a video processing method 1100 may include:
  • Step S111 acquiring motion information of the first image block of the current frame
  • Step S112 Convert the motion information into motion information expressed in exponential form, and store the motion information expressed in exponential form corresponding to a storage unit, and the motion information expressed in exponential form is used in the spatial domain of the first image block Encoding or decoding of adjacent blocks.
  • the spatial neighboring block may include an image block directly adjacent to the first image block, or may include an image block separated from the first image block by at least one pixel.
  • the exponential form in step S112 is, for example, an exponential mantissa form.
  • the base k may be, for example, a default value of 2 or 10, or may be adjusted according to actual conditions, and the present disclosure is not limited thereto.
  • the first preset number of bits can be used to store the mantissa a
  • the second preset number of mantissas can be used to store the exponent b, thereby reducing the storage capacity of the data MV.
  • the first preset number of bits is, for example, 6 bits
  • the second preset number of bits is, for example, 4 bits.
  • the foregoing embodiment is only an example. Those skilled in the art can adjust the first preset digit, the second preset digit, and the mantissa by themselves, as long as the sum of the first preset digit and the second preset digit is less than the movement.
  • the information MV can be stored according to the number of bits occupied by the binary system.
  • Using exponential form to store motion information can greatly reduce the amount of data storage, thereby reducing the amount of data processing in the encoding and decoding process, and improving the efficiency of data processing.
  • the size of the storage unit may also be adjusted.
  • the size of the storage unit may be set to M ⁇ N, and M and N satisfy the following conditions: M is greater than the minimum lateral size of all image blocks in the current frame, and/or N is greater than the size of all image blocks in the current frame Minimum vertical size.
  • both M and N are positive integer multiples of i, where i is the minimum horizontal size or minimum vertical size of all image blocks.
  • i may be the smaller of the smallest horizontal size or the smallest vertical size of all image blocks.
  • the size of the storage unit may be, for example, 4 ⁇ 8, 8 ⁇ 4, or 8 ⁇ 8, which is not particularly limited in the present disclosure.
  • one storage unit corresponds to one image block
  • the MV corresponding to one storage unit is the MV of one image block
  • the storage unit may correspond to two or more image blocks. At this time, corresponding to the storage unit, only the motion information of one image block is stored. In an embodiment of the present disclosure, the corresponding storage unit only stores the motion information of the image block where the coordinate position of the storage unit is located.
  • the size of the storage unit corresponding to each candidate motion information is M ⁇ N.
  • the amount of motion information stored for an image block can be reduced, thereby reducing the amount of data processing.
  • the first image block may also include multiple sub-image blocks (PU1, PU2, PUn...), each sub-image block has at least one motion information, and each sub-image block corresponds to at least one storage unit.
  • PU1, PU2, PUn sub-image blocks
  • each sub-image block has at least one motion information
  • each sub-image block corresponds to at least one storage unit.
  • FIG. 12 is a schematic block diagram of a video processing device 1200 according to an embodiment of the present disclosure.
  • the video processing device 1200 includes:
  • the motion information acquiring module 1201 is configured to acquire the motion information of the first image block of the current frame
  • the motion information storage module 1202 is configured to store the motion information corresponding to the storage unit, and the motion information is used for encoding or decoding of spatial neighboring blocks of the first image block;
  • the size of the storage unit is M ⁇ N, and M and N satisfy the following conditions: M is greater than the minimum horizontal size of all image blocks in the current frame, and/or N is greater than the minimum vertical size of all image blocks in the current frame.
  • the spatial adjacent block includes an image block directly adjacent to the first image block.
  • the spatial neighboring block includes an image block separated from the first image block by at least one pixel.
  • both M and N are positive integer multiples of i, where i is the smallest horizontal size or the smallest vertical size of all image blocks.
  • the i is the smaller one of the smallest horizontal size or the smallest vertical size of all image blocks.
  • the storage unit has a size of 4 ⁇ 8.
  • the storage unit has a size of 8 ⁇ 4.
  • the storage unit has a size of 8 ⁇ 8.
  • the exercise information storage module 1202 is configured to:
  • the storage unit When the storage unit corresponds to multiple image blocks, the storage unit only stores the motion information of one image block.
  • the exercise information storage module 1202 is configured to:
  • the motion information acquiring module 1201 is configured to acquire multiple motion information of the first image block of the current frame.
  • the first image block includes a plurality of sub-image blocks, and each of the sub-image blocks has at least one motion information.
  • each of the sub image blocks corresponds to at least one storage unit
  • the motion information storage module 1202 is further configured to store the sub image blocks in the storage unit corresponding to the sub image block. The motion information of the image block.
  • the motion information acquisition module is configured to select the motion information of the first image block from a plurality of candidate motion information in the spatial candidate list, wherein each candidate motion information
  • the corresponding storage unit size is M ⁇ N.
  • the exercise information storage module is configured to convert the exercise information into exercise information expressed in exponential form, and store the exercise information expressed in exponential form in the storage unit in.
  • the exponential form includes a mantissa exponential form.
  • a first preset number of bits is used to store the mantissa, and a second preset number of bits is used to store the exponent.
  • the first preset number of bits is 6 bits.
  • the second preset number of bits is 4 bits.
  • the sum of the first preset number of bits and the second preset number of bits is less than the number of bits occupied when the motion information is stored in binary.
  • apparatus 1200 may be used to implement the method 300, and for the sake of brevity, details are not repeated here.
  • FIG. 13 is a schematic block diagram of a video processing device 1300 according to an embodiment of the present disclosure.
  • the video processing device 1300 includes:
  • the motion information acquiring module 1301 is configured to acquire the motion information of the first image block of the current frame
  • the exercise information storage module 1302 is configured to convert the exercise information into exercise information expressed in exponential form, and store the exercise information expressed in exponential form corresponding to the storage unit, and the exercise information expressed in exponential form is used for the first Encoding or decoding of spatial neighboring blocks of an image block.
  • the spatial adjacent block includes an image block directly adjacent to the first image block.
  • the spatial neighboring block includes an image block separated from the first image block by at least one pixel.
  • the exponential form includes a mantissa exponential form.
  • a first preset number of bits is used to store the mantissa, and a second preset number of bits is used to store the exponent.
  • the first preset number of bits is 6 bits.
  • the second preset number of bits is 4 bits.
  • the sum of the first preset number of bits and the second preset number of bits is less than the number of bits occupied when the motion information is stored in binary.
  • the size of the storage unit is M ⁇ N, and M and N satisfy the following conditions: M is greater than the minimum lateral size of all image blocks in the current frame, and/or N is greater than the current frame.
  • M is greater than the minimum lateral size of all image blocks in the current frame
  • N is greater than the current frame.
  • both M and N are positive integer multiples of i, where i is the smallest horizontal size or the smallest vertical size of all image blocks.
  • the i is the smaller one of the smallest horizontal size or the smallest vertical size of all image blocks.
  • the storage unit has a size of 4 ⁇ 8.
  • the storage unit has a size of 8 ⁇ 4.
  • the storage unit has a size of 8 ⁇ 8.
  • the exercise information storage module 1302 is configured to:
  • the storage unit When the storage unit corresponds to multiple image blocks, the storage unit only stores the motion information of one image block.
  • the exercise information storage module 1302 is configured to:
  • the motion information acquisition module is configured to select the motion information of the first image block from a plurality of candidate motion information in the spatial candidate list, wherein each candidate motion information
  • the corresponding storage unit size is M ⁇ N.
  • the motion information acquisition module is used to acquire multiple motion information of the first image block of the current frame.
  • the first image block includes a plurality of sub-image blocks, and each of the sub-image blocks has at least one motion information.
  • each of the sub-image blocks corresponds to at least one storage unit; the motion information storage module is configured to store the sub-image blocks corresponding to the storage unit of the sub-image block Sports information.
  • apparatus 1300 may be used to implement the method 1100, and for brevity, details are not described herein again.
  • FIG. 14 shows a schematic block diagram of a video processing device 1400 according to an embodiment of the present disclosure.
  • the video processing device 1400 may include a processor 1410, and may further include a memory 1420.
  • the video processing device 1400 may also include components commonly included in other video processing devices, such as an input and output device, a communication interface, etc., which are not limited in the embodiment of the present disclosure.
  • the memory 1420 is used to store computer executable instructions.
  • the memory 1420 may be various types of memory, for example, it may include a high-speed random access memory (Random Access Memory, RAM), and may also include a non-volatile memory (non-volatile memory), for example, at least one disk memory. Implementation of the present disclosure The example does not limit this.
  • RAM Random Access Memory
  • non-volatile memory for example, at least one disk memory. Implementation of the present disclosure The example does not limit this.
  • the processor 1410 is configured to access the memory 1420 and execute the computer-executable instructions to perform the video processing method 300 or 1100 in the foregoing embodiment of the present disclosure.
  • the processor 1410 may include a microprocessor, a field-programmable gate array (Field-Programmable Gate Array, FPGA), a central processing unit (CPU), a graphics processing unit (Graphics Processing Unit, GPU), etc.
  • a microprocessor a field-programmable gate array (Field-Programmable Gate Array, FPGA), a central processing unit (CPU), a graphics processing unit (Graphics Processing Unit, GPU), etc.
  • FPGA Field-Programmable Gate Array
  • CPU central processing unit
  • GPU graphics processing unit
  • the video processing device of the embodiment of the present disclosure may correspond to the execution subject of the video processing method of the embodiment of the present disclosure, and the above-mentioned and other operations and/or functions of each module in the video processing device are to implement the corresponding procedures of the foregoing methods. For brevity, I won't repeat them here.
  • the embodiments of the present disclosure also provide an electronic device, which may include the devices for video processing in the various embodiments of the present disclosure described above.
  • the embodiment of the present disclosure also provides a computer storage medium, and the computer storage medium stores program code, and the program code may be used to instruct the execution of the video processing method 300 or 1100 of the foregoing embodiment of the present disclosure.
  • 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: A alone exists, A and B exist at the same time, and B exists alone.
  • the character "/" in this text generally indicates that the associated objects before and after are in an "or" relationship.
  • the disclosed system, device, and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components can be combined or It can be integrated into another system, or some features can be ignored or not implemented.
  • the displayed or discussed mutual coupling or direct coupling or communication connection may be indirect coupling or communication connection through some interfaces, devices or units, and may also be electrical, mechanical or other forms 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, they may be located in one place, or they may be distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the solutions of the embodiments of the present disclosure.
  • the functional units in the various embodiments of the present disclosure may be integrated into one processing unit, or each unit may exist alone physically, or two or more units may be integrated into one unit.
  • the above-mentioned integrated unit can be implemented in the form of hardware or software functional unit.
  • the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer readable storage medium.
  • the technical solution of the present disclosure is essentially or a part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, and the computer software product is stored in a storage medium It includes several instructions to make a computer device (which may be a personal computer, a server, or a network device, etc.) execute all or part of the steps of the methods described in the various embodiments of the present disclosure.
  • the aforementioned storage media include: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program code .

Landscapes

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

Abstract

一种视频处理方法、装置和设备,方法包括:获取当前帧的第一图像块的运动信息;对应于存储单元存储所述运动信息,所述运动信息用于所述第一图像块的空域相邻块的编码或解码;其中,所述存储单元大小为M×N,M、N满足如下条件:M大于当前帧所有图像块的最小横向尺寸,和/或,N大于当前帧所有图像块的最小纵向尺寸。本公开实施例可以降低视频编解码过程中的数据处理压力。

Description

视频处理方法、装置和设备 技术领域
本公开涉及图像处理领域,并且更为具体地,涉及一种视频处理方法、装置和设备。
背景技术
预测是主流视频编码框架的重要模块,预测可以包括帧内预测和帧间预测。在帧间预测模式中,编解码过程需要参照其他图像块的运动信息来确定当前图像块的运动信息,进而完成图像预测。因此,需要存储大量图像块的运动信息以供其他运动信息参考。
因此,如何在帧间预测模式下降低运动信息的数据处理压力是一种亟需解决的问题。
发明内容
根据本公开的第一方面,提供一种视频处理方法,包括:
获取当前帧的第一图像块的运动信息;
对应于存储单元存储所述运动信息,所述运动信息用于所述第一图像块的空域相邻块的编码或解码;
其中,所述存储单元大小为M×N,M、N满足如下条件:M大于当前帧所有图像块的最小横向尺寸,和/或,N大于当前帧所有图像块的最小纵向尺寸。
本实施例提供的视频处理方法通过增大运动信息对应的存储单元的尺寸,减少存储的运动信息的数量,可以有效降低视频编解码过程中的数据处理压力。
根据本公开的第二方面,提供一种视频处理方法,包括:
获取当前帧的第一图像块的运动信息;
将所述运动信息转换成指数形式表示的运动信息,并对应于存储单元存储所述指数形式表示的运动信息,所述指数形式表示的运动信息用于所述第一图像块的空域相邻块的编码或解码。
本实施例提供的视频处理方法通过使用指数形式存储空域运动信息,可以有效降低空域运动信息的存储空间占用,减少数据传输量,进而有效降低视频编解码过程中的数据处理压力。
根据本公开的第三方面,提供一种视频处理装置,包括:
运动信息获取模块,用于获取当前帧的第一图像块的运动信息;
运动信息存储模块,用于对应于存储单元存储所述运动信息,所述运动信息用于所述第一图像块的空域相邻块的编码或解码;
其中,所述存储单元大小为M×N,M、N满足如下条件:M大于当前帧所有图像块的最小横向尺寸,和/或,N大于当前帧所有图像块的最小纵向尺寸。
本实施例提供的视频处理装置通过增大运动信息对应的存储单元的尺寸,减少存储的运动信息的数量,可以有效降低视频编解码过程中的数据处理压力。
根据本公开的第四方面,提供一种视频处理装置,包括:
运动信息获取模块,用于获取当前帧的第一图像块的运动信息;
运动信息存储模块,用于将所述运动信息转换成指数形式表示的运动信息,并对应于存储单元存储所述指数形式表示的运动信息,所述指数形式表示的运动信息用于所述第一图像块的空域相邻块的编码或解码。
本实施例提供的视频处理装置通过使用指数形式存储空域运动信息,可以有效降低空域运动信息的存储空间占用,减少数据传输量,进而有效降低视频编解码过程中的数据处理压力。
根据本公开的第五方面,提供一种视频处理设备,包括:
存储器;以及
耦合到所属存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述第一方面所述的视频处理方法。
根据本公开的第六方面,提供一种视频处理设备,包括:
存储器;以及
耦合到所属存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如上述第二方面所述的视频处理方法。
根据本公开的第七方面,提供一种计算机存储介质,用于存储程序代码, 所述程序代码用于执行如上述第一方面所述的方法。
根据本公开的第八方面,提供一种计算机存储介质,用于存储程序代码,所述程序代码用于执行如上述第二方面所述的方法。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是应用本公开实施例的技术方案的架构图;
图2是本公开实施例中的视频编码过程的示意图;
图3是根据本公开实施例的视频处理方法的示意性流程图;
图4是本公开实施例中图像块的示意图;
图5是本公开实施例中空域相邻块与第一图像块关系的示意图;
图6A和图6B是存储单元的示意图;
图7是本公开实施例中存储单元的示意图;
图8是本公开实施例中存储单元尺寸大于图像块尺寸的示意图;
图9是本公开一个实施例中存储多个运动信息的示意图;
图10是本公开实施例中对运动信息进行应用的示意图;
图11是根据本公开实施例的又一种视频处理方法的示意性流程图。
图12是根据本公开实施例的视频处理装置的示意性框图。
图13是根据本公开实施例的视频处理装置的示意性框图。
图14是根据本公开实施例的视频处理设备的示意性框图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另有说明,本公开实施例所使用的所有技术和科学术语与本公开的 技术领域的技术人员通常理解的含义相同。本公开中所使用的术语只是为了描述具体的实施例的目的,不是旨在限制本公开的范围。
图1是应用本公开实施例的技术方案的架构图。
如图1所示,系统100可以接收待处理数据102,对待处理数据102进行处理,产生处理后的数据108。例如,系统100可以接收待编码数据,对待编码数据进行编码以产生编码后的数据,或者,系统100可以接收待解码数据,对待解码数据进行解码以产生解码后的数据。在一些实施例中,系统100中的部件可以由一个或多个处理器实现,该处理器可以是计算设备中的处理器,也可以是移动设备(例如无人机)中的处理器。该处理器可以为任意种类的处理器,本发明实施例对此不做限定。在一些可能的设计中,该处理器可以包括编码器、解码器或编解码器等。系统100中还可以包括一个或多个存储器。该存储器可用于存储指令和数据,例如,实现本发明实施例的技术方案的计算机可执行指令、待处理数据102、处理后的数据108等。该存储器可以为任意种类的存储器,本发明实施例对此也不做限定。
待编码数据可以包括文本、图像、图形对象、动画序列、音频、视频、或者任何需要编码的其他数据。在一些情况下,待编码数据可以包括来自传感器的传感数据,该传感器可以为视觉传感器(例如,相机、红外传感器),麦克风、近场传感器(例如,超声波传感器、雷达)、位置传感器、温度传感器、触摸传感器等。在一些情况下,待编码数据可以包括来自用户的信息,例如,生物信息,该生物信息可以包括面部特征、指纹扫描、视网膜扫描、嗓音记录、DNA采样等。
图2是根据本公开实施例的一种编码器的框架图。以下将结合图2分别介绍帧间编码和帧内编码的流程。
如图2所示,帧间编码和解码的流程可以如下所示:
在201中,获取当前帧图像。在202中,获取参考帧图像。在203a中,利用参考帧图像,进行运动估计,以得到当前帧图像的各个图像块的运动矢量(Motion Vector,MV)。在204a中,利用运动估计得到的运动矢量,进行运动补偿,以得到当前图像块的估计值。在205中,将当前图像块的估计值与当前图像块相减,得到残差。在206中,对残差进行变换,以得到变换系数。在207中,变换系数经量化可得到量化后的系数。在208中,将量化 后的系数进行熵编码,最后将熵编码得到的比特流及进行编码后的编码模式信息进行存储或发送到解码端。在209中,对量化的结果进行反量化。在210中,对反量化结果进行反变换。在211中,利用反变换结果以及运动补偿结果,得到重建像素。在212中,对重建像素进行滤波。在213中,输出滤波后的重建像素。
如图2所示,帧内编码和解码的流程可以如下所示:
在202中,获取当前帧图像。在203b中,对当前帧图像进行帧内预测选择。在204b中,当前帧中的当前图像块进行帧内预测。在205中,将当前图像块的估计值与当前图像块相减,得到残差。在206中,对图像块的残差进行变换,以得到变换系数。在207中,变换系数经量化可得到量化后的系数。在208中,将量化后的系数进行熵编码,最后将熵编码得到的比特流及进行编码后的编码模式信进行存储或发送到解码端。在209中,对量化结果进行反量化。在210中,对反量化结果进行反变换,在211中,利用反变换结果以及帧内预测结果,得到重建像素。
如图2所示,在编码过程中,为了去除冗余,可以对图像进行预测。视频中不同的图像可采用不同的预测方式。根据图像所采用的预测方式,可以将图像区分为帧内预测图像和帧间预测图像。帧间预测模式可以包括AMVP模式和Merge模式。
对于AMVP模式而言,可以先确定运动矢量预测(motion vector prediction,MVP),在得到MVP之后,可以根据MVP确定运动估计的起始点,在起始点附近,进行运动搜索,搜索完毕之后得到最优的MV,由MV确定参考块在参考图像中的位置,参考块减去当前块得到残差块,MV减去MVP得到运动矢量差值(Motion Vector Difference,MVD),并将该MVD通过码流传输给解码端。
对于Merge模式而言,可以先确定MVP,并直接将MVP确定为MV,其中,为了得到MVP,可以先构建一个MVP候选列表(merge candidate list),在MVP候选列表中,可以包括至少一个候选MVP,每个候选MVP可以对应有一个索引,编码端在从MVP候选列表中选择MVP之后,可以将该MVP索引写入到码流中,则解码端可以按照该索引从MVP候选列表中找到该索引对应的MVP,以实现对图像块的解码。
为了更加清楚地理解Merge模式,以下将介绍采用Merge模式进行编码的操作流程。
步骤一、获取MVP候选列表;
步骤二、从MVP候选列表中选出最优的一个MVP,同时得到该MVP在MVP候选列表中的索引;
步骤三、把该MVP作为当前块的MV;
步骤四、根据MV确定参考块(也可以称为预测块)在参考帧图像中的位置;
步骤五、参考块减去当前块得到残差数据;
步骤六、把残差数据和MVP的索引传给解码端。
应理解,以上流程只是Merge模式的一种具体实现方式。Merge模式还可以具有其他的实现方式。
例如,Skip模式是Merge模式的一种特例。按照Merge模式得到MV之后,如果编码端确定当前块和参考块基本一样,那么不需要传输残差数据,只需要传递MV的索引,以及进一步地可以传递一个标志,该标志可以表明当前块可以直接从参考块得到。
也就是说,Merge模式特点为:MV=MVP(MVD=0);而Skip模式还多一个特点,即:重构值rec=预测值pred(残差值resi=0)。
无论是AMVP模式还是Merge模式,均需要存储各图像块的MV,以便为相邻块提供MVP。由于编码或解码过程均需存储一帧图像中的多个MVP,因此,为了提高编码/解码的效率、降低数据处理量,本公开实施例对MVP的存储方法进行了改进,能够有效减少MVP的存储给硬件带来的存储压力。
图3是根据本公开实施例的视频处理的方法300的示意性流程图。该方法300可以由处理设备实现。该处理设备可以用于编码端或解码端,具体可以为编码器或解码器。参考图3,方法300可以包括:
步骤S301,获取当前帧的第一图像块的运动信息;
步骤S302,对应于存储单元存储所述运动信息,所述运动信息用于所述第一图像块的空域相邻块的编码或解码;
其中,所述存储单元大小为M×N,M、N满足如下条件:M大于当前 帧所有图像块的最小横向尺寸,和/或,N大于当前帧所有图像块的最小纵向尺寸。
在步骤S301,如图4所示,在对图像进行编码时,一帧图像可以被分为多个编码区域(Coding Tree Unit,CTU),每个编码区域被分为多个图像块,也称编码单元(Coding Unit,CU)。在一些实施方式中,例如四叉树形式下,编码区域大小可以是64×64、128×128;图像块大小可以是64×64、32×32、16×16、8×8。可以理解的是,在一些其他的划分形式下,编码区域大小和图像块大小还可以是其他尺寸,例如图像块大小为4×8、8×4、8×16等,此处并不作限制。
参考对图2、图1的说明,在本公开实施例中,运动信息可以包括一个图像块(CU)对应的运动矢量(MV),或者包括运动矢量和参考帧信息(例如参考帧索引)等。第一图像块的运动信息可以用于第一图像块的空域相邻块的编码或解码。该空域相邻块既包括与所述第一图像块直接相邻的图像块,也包括与所述第一图像块间隔至少一个像素的图像块,本公开对此不作特殊限定。
图5是本公开实施例中空域相邻块与第一图像块的关系示意图。
参考图5,图5中中间的方形代表当前图像块。该方形仅作示意,不对图像块的尺寸作限制。在一些实施方式中,中间的方形也可以代表当前子图像块。对于编码单元(CU),可以依据预测模式的切割类型将其分割成一个或多个预测单元(Prediction Unit,PU)。此时这里的预测单元(PU)可以为所述子图像块。对于当前图像块或当前子图像块而言,可以将与当前图像块或当前子图像块空域上相邻存储单元的MV作为能够加入到MVP候选列表中的候选MVP。
在一些实施方式中,对于当前图像块或当前子图像块的空域候选列表的构建可以如下:左下角的存储单元是A0,左侧的存储单元是A1,左上角的存储单元是B2,上方的存储单元是B1,右上角是B0,则空域候选列表中作为候选MVP的顺序按照优先级从高到低是A1->B1->B0->A0->B2。
此外,本公开提到的运动信息既可以包括单运动信息,也可以包括双运动信息。其中,双运动信息可以指包括两个单运动信息的运动信息。单运动信息为前向运动信息或后向运动信息,其中,前向运动信息是指对应的参考 帧是当前帧的前向帧,后向运动信息是指对应的参考帧是当前帧的后向帧。双运动信息包括的两个单运动信息可以都是前向运动信息,也可以都是后向运动信息,还可以是一个前向运动信息和一个后向运动信息,本公开对此不作具体限定。
在一些实施例中,一个图像块(CU)仅具有一个子图像块(PU),此时对于该图像块存在一个运动信息。在另一些实施例中,一个图像块包括两个或两个以上的子图像块,则此时每个子图像块均可以对应至少一个运动信息,即步骤S301中获取当前帧的第一图像块的运动信息包括获取当前帧的第一图像块的多个运动信息。
在步骤S302,为了方便为各空域相邻块提供MVP,将一个图像块的MV按照存储单元进行存储。
图6A和图6B是存储单元的示意图。
参考图6A,对于一个尺寸为16×16的第一图像块(CU),可以以4×4为图像单元存储一个运动信息MV0,即对应于CU内部每个以4的倍数为起点和终点的区域存储一个运动信息,总共存储16个运动信息,每个位置存储的MV均为该CU对应的运动信息MV0。
参考图6B,当第一图像块包括两个子图像块(PU1、PU2)时,每个子图像块均对应至少一个运动信息,例如PU1对应MV1,PU2对应MV2。此时,当第一图像块的尺寸为16×16,以4×4为单元存储一个运动信息时(即存储单元大小为4×4),可以存储8个MV1,8个MV2。
图7是本公开实施例中存储单元的示意图。
参考图7,为了降低数据存储压力,本公开实施例将存储单元大小设置为M×N,并设置M、N满足如下条件:M大于当前帧所有图像块的最小横向尺寸,和/或,N大于当前帧所有图像块的最小纵向尺寸。
在图像处理领域,图像块的最小横向尺寸和最小纵向尺寸一般为4,在个别情况下,最小横向尺寸和最小纵向尺寸可以为更大数值。例如,当对当前帧图像进行图像块划分后,得到有4×4、8×8、16×16、32×32各种尺寸的图像块,则当前帧所有图像块的最小横向尺寸和最小纵向尺寸均是4,此时存储单元的大小需要满足其横向尺寸大于4或纵向尺寸大于4。
在一些实施例中,M和N均为i的正整数倍,i为第一图像块中所有图 像块的最小横向尺寸或最小纵向尺寸,在一些实施例中,i为所有图像块的最小横向尺寸或最小纵向尺寸中较小的一者。在本技术领域,最小图像块的尺寸一般为4×8或者8×4。
例如,当最小图像块尺寸为4×8时,i=4,M和N均为4的正整数倍,且M和N中的至少一个大于4。在一些实施例中,存储单元的大小例如可以为4×8、8×4、8×8等。
在图7所示实施例中,第一图像块71横向尺寸为16,纵向尺寸为16,当M和N均小于16时,可以对第一图像块71存储多个运动信息。如果此时第一图像块71为当前帧的最小图像块,4≤M≤16,4≤N≤16,此时,存储单元大小不大于该最小图像块的尺寸,一个存储单元仅对应于一个图像块。
在另一些实施例中,如图8所示,存储单元的尺寸(例如图中为8×4)大于最小图像块(例如图中为4×4)的尺寸时,一个存储单元81可以对应两个或多个图像块(例如图中为CU1和CU2)。在本公开实施例中,如果一个存储单元对应两个或多个图像块,则只存储一个图像块的运动信息(例如图中为只存储CU1的运动信息MV1)。在本公开的一个实施例中,对应该存储单元仅存储该存储单元的坐标位置所在的图像块的运动信息。
在一些实施方式中,存储单元所对应存储的运动信息MV的来源的图像块由存储单元的坐标确定。具体地,可以预选为存储单元设定一个固定的坐标,例如为(x,y),则在图像中位于坐标(x,y)处的图像块的运动信息将对应该存储单元进行存储。当一个存储单元对应于两个或多个图像块时,同样可以使用这种选取运动信息来源图像块的方法。例如图8,当存储单元81对应于CU1和CU2,其坐标位于CU1中,则对该存储单元仅存储CU1对应的运动信息。同样的,当存储单元对应于更多的图像块时,仅存储该存储单元的坐标位置所在的图像块的运动信息,对应于该存储单元的其余图像块的运动信息并不进行存储。
参考图9,对应于图6B所示情况,也可以对应于第一图像块91的子图像块PU1或PU2的存储单元(4×8)分别存储子图像块的运动信息MV1和MV2。一般而言,同一个图像块中与运动信息的存储相对应的存储单元的尺寸相同,在图9所示实施例中,PU1和PU2的存储单元均为4×8。
图10是本公开实施例中对运动信息进行应用的示意图。
参考图10,当第一图像块CU(尺寸为16×16)的运动信息按照M×N来存储时,在空域候选列表中的多个候选运动信息中选取所述第一图像块的运动信息,每个候选运动信息对应的存储单元大小均为M×N。
即,如果第一图像块CU中按照4×8来存储运动信息,则获取图中参考位A0~B2的4×8区域对应的运动信息作为MVP,并在这五个MVP中选取第一图像块CU的运动信息MV,最后按照4×8为存储单元存储第一图像块CU的运动信息MV,为其他空域相邻块提供MVP。
为了进一步降低数据存储压力和带宽压力,提高带宽利用率和数据处理效率,在本公开实施例中,改善了空域运动信息的存储方法。
在步骤S302,可以将所述运动信息转换成指数形式表示的运动信息,并将所述指数形式表示的运动信息存储至所述存储单元中。
在一个实施例中,该指数形式例如为指数尾数形式。
例如,可以将运动信息MV表示为MV=a×k b,其中a是尾数,b是指数,k是底数。底数k例如可以为默认值2或10,也可以根据实际情况自行调整,本公开不以此为限。
当用尾数指数形式表示运动信息MV时,可以使用第一预设位数存储尾数a,使用第二预设尾数存储指数b,从而降低数据MV的存储量。在一个实施例中,第一预设位数例如为6bit,第二预设位数例如为4bit,此时,使用10bit即可表示最大为63×2 15的数值(k=2),读取运动信息时,仅需读取10bit数据并根据第一预设位数、第二预设位数和底数的设置还原MV数值,即可快速读取MV,极大地减少了数据存储量,提高了数据处理效率。
上述实施例仅为一个示例,本领域技术人员可以自行调整第一预设位数、第二预设位数以及尾数,只要第一预设位数与第二预设位数之和小于该运动信息MV按照二进制直接存储时占用的bit数即可。
图11是本公开一个实施例中提供的一种视频处理方法的流程图。
参考图11,视频处理方法1100可以包括:
步骤S111,获取当前帧的第一图像块的运动信息;
步骤S112,将所述运动信息转换成指数形式表示的运动信息,并对应于存储单元存储所述指数形式表示的运动信息,所述指数形式表示的运动信息 用于所述第一图像块的空域相邻块的编码或解码。
其中,空域相邻块既可以包括与所述第一图像块直接相邻的图像块,也可以包括与所述第一图像块间隔至少一个像素的图像块。
在一个实施例中,步骤S112中的指数形式例如为指数尾数形式。
例如,可以将运动信息MV表示为MV=a×k b,其中a是尾数,b是指数,k是底数。底数k例如可以为默认值2或10,也可以根据实际情况自行调整,本公开不以此为限。
当用尾数指数形式表示运动信息MV时,可以使用第一预设位数存储尾数a,使用第二预设尾数存储指数b,从而降低数据MV的存储量。在一个实施例中,第一预设位数例如为6bit,第二预设位数例如为4bit,此时,使用10bit即可表示最大为63×2 15的数值(k=2),读取运动信息时,仅需读取10bit数据并根据第一预设位数、第二预设位数和底数的设置还原MV数值,即可快速读取MV,极大地减少了数据存储量,提高了数据处理效率。
上述实施例仅为一个示例,本领域技术人员可以自行调整第一预设位数、第二预设位数以及尾数,只要第一预设位数与第二预设位数之和小于该运动信息MV按照二进制直接存储时占用的bit数即可。
使用指数形式存储运动信息可以极大降低数据存储量,进而减轻编码解码过程中的数据处理量,提高数据处理效率。
为了进一步降低数据处理量,在步骤S111,还可以对存储单元的尺寸进行调整。在本公开实施例中,可以将存储单元的大小设置为M×N,M、N满足如下条件:M大于当前帧所有图像块的最小横向尺寸,和/或,N大于当前帧所有图像块的最小纵向尺寸。
在一些实施例中,M和N均为i的正整数倍,其中i为所有图像块的最小横向尺寸或最小纵向尺寸。例如,i可以为所有图像块的最小横向尺寸或最小纵向尺寸中较小的一者。
参考图4~图10,在一些实施例中,存储单元大小例如可以为4×8、8×4、8×8,本公开对此不作特殊限定。
当存储单元大小不大于当前帧的最小图像块的尺寸时,一个存储单元对应一个图像块,对应于一个存储单元存储的MV即为一个图像块的MV。
当存储单元大小大于当前帧的最小图像块的尺寸时,存储单元可能对应 于两个或两个以上图像块,此时,对应于该存储单元,仅存储一个图像块的运动信息。在本公开的一个实施例中,对应该存储单元仅存储该存储单元的坐标位置所在的图像块的运动信息。
扩大存储单元后,从空域候选列表中的多个候选运动信息中选取第一图像块的运动信息时,每个候选运动信息对应的存储单元大小为M×N。
通过扩大存储单元,可以减少对一个图像块存储的运动信息的数量,进而减少数据处理量。
在一些实施例中,第一图像块还可以包括多个子图像块(PU1、PU2、PUn……),每个子图像块的运动信息为至少一个,每个子图像块对应于至少一个存储单元,此时,在步骤S111中,获取当前帧的第一图像块的多个运动信息,在步骤S112中,对应于每个子图像块的存储单元存储该子图像块的运动信息。
应理解,该方法1100中各个步骤的实现可以参考上文的描述,为了简洁,在此不再赘述。
图12是根据本公开实施例的视频处理装置1200的示意性框图。该视频处理设备1200包括:
运动信息获取模块1201,用于获取当前帧的第一图像块的运动信息;
运动信息存储模块1202,用于对应于存储单元存储所述运动信息,所述运动信息用于所述第一图像块的空域相邻块的编码或解码;
其中,所述存储单元大小为M×N,M、N满足如下条件:M大于当前帧所有图像块的最小横向尺寸,和/或,N大于当前帧所有图像块的最小纵向尺寸。
在本公开的一种示例性实施例中,所述空域相邻块包括与所述第一图像块直接相邻的图像块。
在本公开的一种示例性实施例中,所述空域相邻块包括与所述第一图像块间隔至少一个像素的图像块。
在本公开的一种示例性实施例中,所述M和N均为i的正整数倍,其中i为所述所有图像块的最小横向尺寸或最小纵向尺寸。
在本公开的一种示例性实施例中,所述i为所述所有图像块的最小横向尺寸或最小纵向尺寸中较小的一者。
在本公开的一种示例性实施例中,所述存储单元大小为4×8。
在本公开的一种示例性实施例中,所述存储单元大小为8×4。
在本公开的一种示例性实施例中,所述存储单元大小为8×8。
在本公开的一种示例性实施例中,所述运动信息存储模块1202设置为:
当所述存储单元对应于多个图像块时,仅对应所述存储单元存储一个图像块的运动信息。
在本公开的一种示例性实施例中,所述运动信息存储模块1202设置为:
对应所述存储单元仅存储所述存储单元的坐标位置所在的图像块的运动信息。
在本公开的一种示例性实施例中,所述运动信息获取模块1201用于获取当前帧的第一图像块的多个运动信息。
在本公开的一种示例性实施例中,所述第一图像块包括多个子图像块,每个所述子图像块的运动信息为至少一个。
在本公开的一种示例性实施例中,每个所述子图像块对应于至少一个存储单元,所述运动信息存储模块1202还用于对应于所述子图像块的存储单元存储所述子图像块的运动信息。
在本公开的一种示例性实施例中,所述运动信息获取模块用于在空域候选列表中的多个候选运动信息中选取所述第一图像块的运动信息,其中,每个候选运动信息对应的存储单元大小为M×N。
在本公开的一种示例性实施例中,所述运动信息存储模块用于将所述运动信息转换成指数形式表示的运动信息,并将所述指数形式表示的运动信息存储至所述存储单元中。
在本公开的一种示例性实施例中,所述指数形式包括尾数指数形式。
在本公开的一种示例性实施例中,使用第一预设位数存储所述尾数,使用第二预设位数存储所述指数。
在本公开的一种示例性实施例中,所述第一预设位数为6bit。
在本公开的一种示例性实施例中,所述第二预设位数为4bit。
在本公开的一种示例性实施例中,所述第一预设位数与所述第二预设位数之和小于所述运动信息按照二进制存储时占用的位数。
应理解,装置1200可以用于实现方法300,为了简洁,在此不再赘述。
图13是根据本公开实施例的视频处理装置1300的示意性框图。该视频处理装置1300包括:
运动信息获取模块1301,用于获取当前帧的第一图像块的运动信息;
运动信息存储模块1302,用于将所述运动信息转换成指数形式表示的运动信息,并对应于存储单元存储所述指数形式表示的运动信息,所述指数形式表示的运动信息用于所述第一图像块的空域相邻块的编码或解码。
在本公开的一种示例性实施例中,所述空域相邻块包括与所述第一图像块直接相邻的图像块。
在本公开的一种示例性实施例中,所述空域相邻块包括与所述第一图像块间隔至少一个像素的图像块。
在本公开的一种示例性实施例中,所述指数形式包括尾数指数形式。
在本公开的一种示例性实施例中,使用第一预设位数存储所述尾数,使用第二预设位数存储所述指数。
在本公开的一种示例性实施例中,所述第一预设位数为6bit。
在本公开的一种示例性实施例中,所述第二预设位数为4bit。
在本公开的一种示例性实施例中,所述第一预设位数与所述第二预设位数之和小于所述运动信息按照二进制存储时占用的位数。
在本公开的一种示例性实施例中,所述存储单元大小为M×N,M、N满足如下条件:M大于当前帧所有图像块的最小横向尺寸,和/或,N大于当前帧所有图像块的最小纵向尺寸。
在本公开的一种示例性实施例中,所述M和N均为i的正整数倍,其中i为所述所有图像块的最小横向尺寸或最小纵向尺寸。
在本公开的一种示例性实施例中,所述i为所述所有图像块的最小横向尺寸或最小纵向尺寸中较小的一者。
在本公开的一种示例性实施例中,所述存储单元大小为4×8。
在本公开的一种示例性实施例中,所述存储单元大小为8×4。
在本公开的一种示例性实施例中,所述存储单元大小为8×8。
在本公开的一种示例性实施例中,所述运动信息存储模块1302设置为:
当所述存储单元对应于多个图像块时,仅对应所述存储单元存储一个图像块的运动信息。
在本公开的一种示例性实施例中,所述运动信息存储模块1302设置为:
对应所述存储单元仅存储所述存储单元的坐标位置所在的图像块的运动信息。
在本公开的一种示例性实施例中,所述运动信息获取模块用于在空域候选列表中的多个候选运动信息中选取所述第一图像块的运动信息,其中,每个候选运动信息对应的存储单元大小为M×N。
在本公开的一种示例性实施例中,运动信息获取模块用于获取当前帧的第一图像块的多个运动信息。
在本公开的一种示例性实施例中,所述第一图像块包括多个子图像块,每个所述子图像块的运动信息为至少一个。
在本公开的一种示例性实施例中,每个所述子图像块对应于至少一个存储单元;所述运动信息存储模块用于对应于所述子图像块的存储单元存储所述子图像块的运动信息。
应理解,装置1300可以用于实现方法1100,为了简洁,在此不再赘述。
图14示出了本公开实施例的视频处理设备1400的示意性框图。
如图14所示,该视频处理设备1400可以包括处理器1410,进一步地可以包括存储器1420。
应理解,该视频处理设备1400还可以包括其他视频处理设备中通常所包括的部件,例如,输入输出设备、通信接口等,本公开实施例对此并不限定。
存储器1420用于存储计算机可执行指令。
存储器1420可以是各种种类的存储器,例如可以包括高速随机存取存储器(Random Access Memory,RAM),还可以包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器,本公开实施例对此并不限定。
处理器1410用于访问该存储器1420,并执行该计算机可执行指令,以进行上述本公开实施例的中的视频处理方法300或1100。
处理器1410可以包括微处理器,现场可编程门阵列(Field-Programmable Gate Array,FPGA),中央处理器(Central Processing unit,CPU),图形处理器(Graphics Processing Unit,GPU)等,本公开实施例对 此并不限定。
本公开实施例的视频处理设备可对应于本公开实施例的视频处理方法的执行主体,并且视频处理设备中的各个模块的上述和其它操作和/或功能分别为了实现前述各个方法的相应流程,为了简洁,在此不再赘述。
本公开实施例还提供了一种电子设备,该电子设备可以包括上述本公开各种实施例的用于视频处理的设备。
本公开实施例还提供了一种计算机存储介质,该计算机存储介质中存储有程序代码,该程序代码可以用于指示执行上述本公开实施例的视频处理方法300或1100。
应理解,在本公开实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本公开实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以权利要求的保护范围为准。

Claims (84)

  1. 一种视频处理方法,其特征在于,包括:
    获取当前帧的第一图像块的运动信息;
    对应于存储单元存储所述运动信息,所述运动信息用于所述第一图像块的空域相邻块的编码或解码;
    其中,所述存储单元大小为M×N,M、N满足如下条件:M大于当前帧所有图像块的最小横向尺寸,和/或,N大于当前帧所有图像块的最小纵向尺寸。
  2. 如权利要求1所述的视频处理方法,其特征在于,所述空域相邻块包括与所述第一图像块直接相邻的图像块。
  3. 如权利要求1所述的视频处理方法,其特征在于,所述空域相邻块包括与所述第一图像块间隔至少一个像素的图像块。
  4. 如权利要求1所述的视频处理方法,其特征在于,所述M和N均为i的正整数倍,其中i为所述所有图像块的最小横向尺寸或最小纵向尺寸。
  5. 如权利要求4所述的视频处理方法,其特征在于,所述i为所述所有图像块的最小横向尺寸或最小纵向尺寸中较小的一者。
  6. 如权利要求1或4所述的视频处理方法,其特征在于,所述存储单元大小为4×8。
  7. 如权利要求1或4所述的视频处理方法,其特征在于,所述存储单元大小为8×4。
  8. 如权利要求1或4所述的视频处理方法,其特征在于,所述存储单元大小为8×8。
  9. 如权利要求1所述的视频处理方法,其特征在于,当所述存储单元对应于多个图像块时,仅对应所述存储单元存储一个图像块的运动信息。
  10. 如权利要求9所述的视频处理方法,其特征在于,所述仅对应所述存储单元存储一个图像块的运动信息包括:
    对应所述存储单元仅存储所述存储单元的坐标位置所在的图像块的运动信息。
  11. 如权利要求1所述的视频处理方法,其特征在于,所述获取当前帧的第一图像块的运动信息,包括:
    获取当前帧的第一图像块的多个运动信息。
  12. 如权利要求11所述的视频处理方法,其特征在于,所述第一图像块包括多个子图像块,每个所述子图像块的运动信息为至少一个。
  13. 如权利要求12所述的视频处理方法,每个所述子图像块对应于至少一个存储单元;所述对应于存储单元存储所述运动信息,还包括:
    对应于所述子图像块的存储单元存储所述子图像块的运动信息。
  14. 如权利要求1所述的视频处理方法,其特征在于,所述获取当前帧的第一图像块的运动信息包括:
    在空域候选列表中的多个候选运动信息中选取所述第一图像块的运动信息,其中,每个候选运动信息对应的存储单元大小为M×N。
  15. 如权利要求1所述的视频处理方法,其特征在于,所述对应于存储单元存储所述运动信息包括:
    将所述运动信息转换成指数形式表示的运动信息,并将所述指数形式表示的运动信息存储至所述存储单元中。
  16. 如权利要求15所述的视频处理方法,其特征在于,所述指数形式包括尾数指数形式。
  17. 如权利要求16所述的视频处理方法,其特征在于,使用第一预设位数存储所述尾数,使用第二预设位数存储所述指数。
  18. 如权利要求17所述的视频处理方法,其特征在于,所述第一预设位数为6bit。
  19. 如权利要求17或18所述的视频处理方法,其特征在于,所述第二预设位数为4bit。
  20. 如权利要求17所述的视频处理方法,其特征在于,所述第一预设位数与所述第二预设位数之和小于所述运动信息按照二进制存储时占用的位数。
  21. 一种视频处理方法,其特征在于,包括:
    获取当前帧的第一图像块的运动信息;
    将所述运动信息转换成指数形式表示的运动信息,并对应于存储单元存储所述指数形式表示的运动信息,所述指数形式表示的运动信息用于所述第一图像块的空域相邻块的编码或解码。
  22. 如权利要求21所述的视频处理方法,其特征在于,所述空域相邻块包括与所述第一图像块直接相邻的图像块。
  23. 如权利要求21所述的视频处理方法,其特征在于,所述空域相邻块包括与所述第一图像块间隔至少一个像素的图像块。
  24. 如权利要求21所述的视频处理方法,其特征在于,所述指数形式包括尾数指数形式。
  25. 如权利要求24所述的视频处理方法,其特征在于,使用第一预设位数存储所述尾数,使用第二预设位数存储所述指数。
  26. 如权利要求25所述的视频处理方法,其特征在于,所述第一预设位数为6bit。
  27. 如权利要求25或26所述的视频处理方法,其特征在于,所述第二预设位数为4bit。
  28. 如权利要求25所述的视频处理方法,其特征在于,所述第一预设位数与所述第二预设位数之和小于所述运动信息按照二进制存储时占用的位数。
  29. 如权利要求21所述的视频处理方法,其特征在于,所述存储单元大小为M×N,M、N满足如下条件:
    M大于当前帧所有图像块的最小横向尺寸,和/或,
    N大于当前帧所有图像块的最小纵向尺寸。
  30. 如权利要求29所述的视频处理方法,其特征在于,所述M和N均为i的正整数倍,其中i为所述所有图像块的最小横向尺寸或最小纵向尺寸。
  31. 如权利要求30所述的视频处理方法,其特征在于,所述i为所述所有图像块的最小横向尺寸或最小纵向尺寸中较小的一者。
  32. 如权利要求29或31所述的视频处理方法,其特征在于,所述存储单元大小为4×8。
  33. 如权利要求29或31所述的视频处理方法,其特征在于,所述存储单元大小为8×4。
  34. 如权利要求29或31所述的视频处理方法,其特征在于,所述存储单元大小为8×8。
  35. 如权利要求29所述的视频处理方法,其特征在于,当所述存储单 元对应于多个图像块时,仅对应所述存储单元存储一个图像块的运动信息。
  36. 如权利要求35所述的视频处理方法,其特征在于,所述仅对应所述存储单元存储一个图像块的运动信息包括:
    对应所述存储单元仅存储所述存储单元的坐标位置所在的图像块的运动信息。
  37. 如权利要求29所述的视频处理方法,其特征在于,所述获取当前帧的第一图像块的运动信息包括:
    在空域候选列表中的多个候选运动信息中选取所述第一图像块的运动信息,其中,每个候选运动信息对应的存储单元大小为M×N。
  38. 如权利要求21所述的视频处理方法,其特征在于,所述获取当前帧的第一图像块的运动信息,包括:
    获取当前帧的第一图像块的多个运动信息。
  39. 如权利要求38所述的视频处理方法,其特征在于,所述第一图像块包括多个子图像块,每个所述子图像块的运动信息为至少一个。
  40. 如权利要求39所述的视频处理方法,每个所述子图像块对应于至少一个存储单元;所述对应于存储单元存储所述运动信息,还包括:
    对应于所述子图像块的存储单元存储所述子图像块的运动信息。
  41. 一种视频处理装置,其特征在于,包括:
    运动信息获取模块,用于获取当前帧的第一图像块的运动信息;
    运动信息存储模块,用于对应于存储单元存储所述运动信息,所述运动信息用于所述第一图像块的空域相邻块的编码或解码;
    其中,所述存储单元大小为M×N,M、N满足如下条件:M大于当前帧所有图像块的最小横向尺寸,和/或,N大于当前帧所有图像块的最小纵向尺寸。
  42. 如权利要求41所述的视频处理装置,其特征在于,所述空域相邻块包括与所述第一图像块直接相邻的图像块。
  43. 如权利要求41所述的视频处理装置,其特征在于,所述空域相邻块包括与所述第一图像块间隔至少一个像素的图像块。
  44. 如权利要求41所述的视频处理装置,其特征在于,所述M和N均为i的正整数倍,其中i为所述所有图像块的最小横向尺寸或最小纵向尺寸。
  45. 如权利要求41所述的视频处理装置,其特征在于,所述i为所述所有图像块的最小横向尺寸或最小纵向尺寸中较小的一者。
  46. 如权利要求41或44所述的视频处理装置,其特征在于,所述存储单元大小为4×8。
  47. 如权利要求41或44所述的视频处理装置,其特征在于,所述存储单元大小为8×4。
  48. 如权利要求41或44所述的视频处理装置,其特征在于,所述存储单元大小为8×8。
  49. 如权利要求41所述的视频处理装置,其特征在于,所述运动信息存储模块设置为:
    当所述存储单元对应于多个图像块时,仅对应所述存储单元存储一个图像块的运动信息。
  50. 如权利要求49所述的视频处理装置,其特征在于,所述运动信息存储模块设置为:
    对应所述存储单元仅存储所述存储单元的坐标位置所在的图像块的运动信息。
  51. 如权利要求41所述的视频处理装置,其特征在于,所述运动信息获取模块用于获取当前帧的第一图像块的多个运动信息。
  52. 如权利要求51所述的视频处理装置,其特征在于,所述第一图像块包括多个子图像块,每个所述子图像块的运动信息为至少一个。
  53. 如权利要求52所述的视频处理装置,每个所述子图像块对应于至少一个存储单元,所述运动信息存储模块还用于对应于所述子图像块的存储单元存储所述子图像块的运动信息。
  54. 如权利要求41所述的视频处理装置,其特征在于,所述运动信息获取模块用于在空域候选列表中的多个候选运动信息中选取所述第一图像块的运动信息,其中,每个候选运动信息对应的存储单元大小为M×N。
  55. 如权利要求41所述的视频处理装置,其特征在于,所述运动信息存储模块用于将所述运动信息转换成指数形式表示的运动信息,并将所述指数形式表示的运动信息存储至所述存储单元中。
  56. 如权利要求55所述的视频处理装置,其特征在于,所述指数形式 包括尾数指数形式。
  57. 如权利要求56所述的视频处理装置,其特征在于,使用第一预设位数存储所述尾数,使用第二预设位数存储所述指数。
  58. 如权利要求57所述的视频处理装置,其特征在于,所述第一预设位数为6bit。
  59. 如权利要求57或58所述的视频处理装置,其特征在于,所述第二预设位数为4bit。
  60. 如权利要求57所述的视频处理装置,其特征在于,所述第一预设位数与所述第二预设位数之和小于所述运动信息按照二进制存储时占用的位数。
  61. 一种视频处理装置,其特征在于,包括:
    运动信息获取模块,用于获取当前帧的第一图像块的运动信息;
    运动信息存储模块,用于将所述运动信息转换成指数形式表示的运动信息,并对应于存储单元存储所述指数形式表示的运动信息,所述指数形式表示的运动信息用于所述第一图像块的空域相邻块的编码或解码。
  62. 如权利要求61所述的视频处理装置,其特征在于,所述空域相邻块包括与所述第一图像块直接相邻的图像块。
  63. 如权利要求61所述的视频处理装置,其特征在于,所述空域相邻块包括与所述第一图像块间隔至少一个像素的图像块。
  64. 如权利要求61所述的视频处理装置,其特征在于,所述指数形式包括尾数指数形式。
  65. 如权利要求64所述的视频处理装置,其特征在于,使用第一预设位数存储所述尾数,使用第二预设位数存储所述指数。
  66. 如权利要求65所述的视频处理装置,其特征在于,所述第一预设位数为6bit。
  67. 如权利要求65或66所述的视频处理装置,其特征在于,所述第二预设位数为4bit。
  68. 如权利要求65所述的视频处理装置,其特征在于,所述第一预设位数与所述第二预设位数之和小于所述运动信息按照二进制存储时占用的位数。
  69. 如权利要求61所述的视频处理装置,其特征在于,所述存储单元大小为M×N,M、N满足如下条件:
    M大于当前帧所有图像块的最小横向尺寸,和/或,
    N大于当前帧所有图像块的最小纵向尺寸。
  70. 如权利要求69所述的视频处理装置,其特征在于,所述M和N均为i的正整数倍,其中i为所述所有图像块的最小横向尺寸或最小纵向尺寸。
  71. 如权利要求70所述的视频处理装置,其特征在于,所述i为所述所有图像块的最小横向尺寸或最小纵向尺寸中较小的一者。
  72. 如权利要求69或71所述的视频处理装置,其特征在于,所述存储单元大小为4×8。
  73. 如权利要求69或71所述的视频处理装置,其特征在于,所述存储单元大小为8×4。
  74. 如权利要求69或71所述的视频处理装置,其特征在于,所述存储单元大小为8×8。
  75. 如权利要求69所述的视频处理装置,其特征在于,所述运动信息存储模块设置为:
    当所述存储单元对应于多个图像块时,仅对应所述存储单元存储一个图像块的运动信息。
  76. 如权利要求69所述的视频处理装置,其特征在于,所述运动信息存储模块设置为:
    对应所述存储单元仅存储所述存储单元的坐标位置所在的图像块的运动信息。
  77. 如权利要求69所述的视频处理装置,其特征在于,所述运动信息获取模块用于在空域候选列表中的多个候选运动信息中选取所述第一图像块的运动信息,其中,每个候选运动信息对应的存储单元大小为M×N。
  78. 如权利要求61所述的视频处理装置,其特征在于,运动信息获取模块用于获取当前帧的第一图像块的多个运动信息。
  79. 如权利要求78所述的视频处理装置,其特征在于,所述第一图像块包括多个子图像块,每个所述子图像块的运动信息为至少一个。
  80. 如权利要求79所述的视频处理装置,每个所述子图像块对应于至 少一个存储单元;所述运动信息存储模块用于对应于所述子图像块的存储单元存储所述子图像块的运动信息。
  81. 一种视频处理设备,其特征在于,包括:
    存储器;以及
    耦合到所属存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求1-20任一项所述的视频处理方法。
  82. 一种视频处理设备,其特征在于,包括:
    存储器;以及
    耦合到所属存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行如权利要求21-40任一项所述的视频处理方法。
  83. 一种计算机存储介质,其特征在于,用于存储程序代码,所述程序代码用于执行如权利要求1至20中任一项所述的方法。
  84. 一种计算机存储介质,其特征在于,用于存储程序代码,所述程序代码用于执行如权利要求21至40中任一项所述的方法。
PCT/CN2019/092870 2019-06-25 2019-06-25 视频处理方法、装置和设备 WO2020258057A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/CN2019/092870 WO2020258057A1 (zh) 2019-06-25 2019-06-25 视频处理方法、装置和设备
CN201980011953.9A CN111713109B (zh) 2019-06-25 2019-06-25 视频处理方法、装置和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/092870 WO2020258057A1 (zh) 2019-06-25 2019-06-25 视频处理方法、装置和设备

Publications (1)

Publication Number Publication Date
WO2020258057A1 true WO2020258057A1 (zh) 2020-12-30

Family

ID=72536736

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/092870 WO2020258057A1 (zh) 2019-06-25 2019-06-25 视频处理方法、装置和设备

Country Status (2)

Country Link
CN (1) CN111713109B (zh)
WO (1) WO2020258057A1 (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103250417A (zh) * 2011-02-09 2013-08-14 Lg电子株式会社 编码和解码图像的方法及使用该方法的设备
CN103703783A (zh) * 2011-07-20 2014-04-02 飞思卡尔半导体公司 编码图像的方法及装置
WO2015052064A1 (en) * 2013-10-07 2015-04-16 Thomson Licensing Method for coding and decoding floating data of an image block and associated devices
CN105516724A (zh) * 2014-09-23 2016-04-20 浙江大学 一种运动信息存储压缩方法
CN109792534A (zh) * 2016-07-14 2019-05-21 三星电子株式会社 视频解码方法及其装置以及视频编码方法及其装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387360B (zh) * 2010-09-02 2016-05-11 乐金电子(中国)研究开发中心有限公司 视频编解码帧间图像预测方法及视频编解码器
US11172203B2 (en) * 2017-08-08 2021-11-09 Mediatek Inc. Intra merge prediction

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103250417A (zh) * 2011-02-09 2013-08-14 Lg电子株式会社 编码和解码图像的方法及使用该方法的设备
CN103703783A (zh) * 2011-07-20 2014-04-02 飞思卡尔半导体公司 编码图像的方法及装置
WO2015052064A1 (en) * 2013-10-07 2015-04-16 Thomson Licensing Method for coding and decoding floating data of an image block and associated devices
CN105516724A (zh) * 2014-09-23 2016-04-20 浙江大学 一种运动信息存储压缩方法
CN109792534A (zh) * 2016-07-14 2019-05-21 三星电子株式会社 视频解码方法及其装置以及视频编码方法及其装置

Also Published As

Publication number Publication date
CN111713109B (zh) 2023-04-14
CN111713109A (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
US20200260117A1 (en) Methods and Apparatuses for Coding and Decoding Depth Map
KR102387363B1 (ko) 영상 코딩 시스템에서 인터 예측에 따른 영상 디코딩 방법 및 장치
CN111066326B (zh) 机器学习视频处理系统和方法
US10771809B2 (en) Picture prediction method and picture prediction apparatus
US9906789B2 (en) Encoding or decoding method and apparatus
US11570448B2 (en) Decoding device, encoding device, decoding method, encoding method, and non-transitory computer readable recording medium
US11330285B2 (en) Picture prediction method and related device
WO2016050051A1 (zh) 图像预测方法及相关装置
JP5461419B2 (ja) 画素予測値生成手順自動生成方法、画像符号化方法、画像復号方法、それらの装置、それらのプログラム、およびこれらのプログラムを記録した記録媒体
JP6005865B2 (ja) スケーラブルビデオ符号化のためのエンハンスド参照領域の利用
CN103918265A (zh) 跨通道残余预测
CN110169068B (zh) Dc系数符号代码化方案
WO2020181543A1 (zh) 视频处理方法和设备
JPH10271517A (ja) 画像符号化・復号化方法、画像符号化・復号化装置、および画像符号化・復号化プログラム記録媒体
CN112889290A (zh) 编码器、解码器和使用ibc合并列表的对应方法
CN106028031A (zh) 视频编码装置和方法、视频解码装置和方法
JP7437426B2 (ja) インター予測方法および装置、機器、記憶媒体
WO2021056212A1 (zh) 视频编解码方法和装置
WO2020258057A1 (zh) 视频处理方法、装置和设备
WO2019191889A1 (zh) 用于视频处理的方法和设备
WO2021081905A1 (zh) 图像预测和视频编码方法、装置、可移动平台及存储介质
WO2021056210A1 (zh) 视频编解码方法、装置和计算机可读存储介质
WO2020258058A1 (zh) 视频处理方法、装置和设备
CN109672889A (zh) 约束的序列数据头的方法及装置
RU2816199C1 (ru) Кодирование видео или изображений на основе внутриблочного кодирования

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

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

Country of ref document: EP

Kind code of ref document: A1