WO2020140244A1 - 一种视频图像处理方法、设备及存储介质 - Google Patents

一种视频图像处理方法、设备及存储介质 Download PDF

Info

Publication number
WO2020140244A1
WO2020140244A1 PCT/CN2019/070316 CN2019070316W WO2020140244A1 WO 2020140244 A1 WO2020140244 A1 WO 2020140244A1 CN 2019070316 W CN2019070316 W CN 2019070316W WO 2020140244 A1 WO2020140244 A1 WO 2020140244A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
motion vector
storage space
corresponding area
granularity
Prior art date
Application number
PCT/CN2019/070316
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 CN201980004934.3A priority Critical patent/CN111713105B/zh
Priority to PCT/CN2019/070316 priority patent/WO2020140244A1/zh
Publication of WO2020140244A1 publication Critical patent/WO2020140244A1/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/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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock

Definitions

  • the invention relates to the field of video coding and decoding, and in particular to a video image processing method, device and storage medium.
  • the largest block obtained by division is 128x128, and the smallest block is 4x4. It is very common for video sequences with a simple video background and a simple motion model to be divided into large-size coding units.
  • the background area in a video frame is mostly divided into large-size coding blocks such as 128x128, 128x64, 64x128, and 64x64.
  • each large-size coding unit it has a corresponding motion vector.
  • the entire video frame encoding area is 8x8 granularity for time domain motion vector compression.
  • M*N For the coding unit of size M*N, (M*N )/(8x8) storage units for MV storage. Therefore, for the above-mentioned large-size coding unit, the use of this motion vector storage compression technology will bring a great waste of storage space and a low utilization rate of storage space. Therefore, how to better improve the utilization of motion vector storage space has become the focus of research.
  • the embodiment of the invention provides a video image processing method, device and storage medium, which saves the memory of the motion vector storage space and improves the utilization rate of the motion vector storage space.
  • an embodiment of the present invention provides a video image processing method, including:
  • the motion vector of the image block to be stored in the motion vector storage space is determined from the encoded/decoded image block in the first image according to the storage granularity of the motion vector storage space, wherein the storage granularity of the motion vector storage space is Non-square
  • the motion vector of at least one image block in the second image is obtained according to the motion vector stored in the motion vector storage space.
  • an embodiment of the present invention provides a video image processing device, which is characterized by comprising: a memory and a processor;
  • the memory is used to store program instructions
  • the processor is used to call the program instructions, and when the program instructions are executed, it is used to perform the following operations:
  • the motion vector of the image block to be stored in the motion vector storage space is determined from the encoded/decoded image block in the first image according to the storage granularity of the motion vector storage space, wherein the storage granularity of the motion vector storage space is Non-square
  • the motion vector of at least one image block in the second image is obtained according to the motion vector stored in the motion vector storage space.
  • an embodiment of the present invention provides a computer-readable storage medium that stores a computer program, which when executed by a processor implements the video image processing method described in the first aspect above .
  • the present invention by determining the motion vector of the image block in the motion vector storage space whose storage granularity is non-square from the coded/decoded image block in the first image according to the storage granularity of the motion vector storage space, And storing the determined motion vector of the image block into the non-square motion vector storage space, and obtaining the motion vector of at least one image block in the second image according to the motion vector stored in the motion vector storage space ,
  • FIG. 1 is a schematic flowchart of a video image processing method according to an embodiment of the present invention
  • FIG. 2 is a schematic diagram of a storage granularity of a motion vector storage space provided by an embodiment of the present invention
  • FIG. 3 is a schematic diagram of storage granularity of another motion vector storage space provided by an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of determining a motion vector provided by an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a specific location provided by an embodiment of the present invention.
  • FIG. 6 is a schematic flowchart of another video image processing method according to an embodiment of the present invention.
  • FIG. 7 is a schematic flowchart of another video image processing method according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a video image processing device according to an embodiment of the present invention.
  • FIG. 9 is a structural diagram of a video image texture division provided by an embodiment of the present invention.
  • the video image processing method proposed in the embodiment of the present invention may be applied to a video image processing device, and the video processing device may be provided on an intelligent terminal (such as a mobile phone or a tablet computer).
  • an intelligent terminal such as a mobile phone or a tablet computer.
  • the embodiments of the present invention can be applied to aircrafts (such as drones), and in other embodiments, the embodiments of the present invention can also be applied to other movable platforms (such as unmanned boats and unmanned vehicles) , Robots, etc.), the embodiments of the present invention are not specifically limited.
  • the video image processing device improves the storage granularity of the motion vector storage space from square to non-square, so as to save the memory overhead of the motion vector storage space.
  • the pixel position of the acquired motion vector is increased or changed, and from the encoded/decoded image block in the first image according to the storage granularity of the motion vector storage space
  • the motion vector stored in the storage space obtains the motion vector of at least one image block in the second image, so as to realize the prediction of the motion vector of the image block in the second image, and improve the accuracy of the prediction.
  • FIG. 1 is a schematic flowchart of a video image processing method according to an embodiment of the present invention.
  • the method can be applied to a video image processing device, wherein the explanation of the video image processing device is as described above, and will not be repeated here.
  • the method in the embodiment of the present invention includes the following steps.
  • S101 Determine the motion vector of the image block to be stored in the motion vector storage space from the encoded/decoded image block in the first image according to the storage granularity of the motion vector storage space.
  • the video image processing device may determine the motion vector of the image block to be stored in the motion vector storage space from the encoded/decoded image block in the first image according to the storage granularity of the motion vector storage space, where ,
  • the storage granularity of the motion vector storage space is non-square. In some embodiments, the storage granularity of the motion vector storage space may also be rectangular.
  • determining the motion vector of the image block to be stored in the motion vector storage space it involves using the motion vector of a certain image block on other images to determine the motion vector of the image block.
  • the image block is called an encoded/decoded image block in the first image
  • an image block on the other image to be used is called an image block of the second image. It can be understood that the coded/decoded image block in the first image and the image block in the second image are located on different images.
  • the motion vector of an image block may contain two pieces of information: 1) the image pointed to by the motion vector; 2) displacement.
  • the meaning of the motion vector of an image block is the image block with the displacement of the image block in the image pointed by the motion vector.
  • the meanings contained in the motion vector include: the reference image of the encoded/decoded image block, and the reference block of the encoded/decoded image block relative to the encoded/decoded image block Of displacement.
  • the reference block of the one image block refers to an image block used to calculate the residual of the image block.
  • the image block is a coding unit (CU).
  • the storage granularity of the motion vector storage space is N ⁇ M, where N and M are unequal positive integers. In some embodiments, N may be an integer multiple of M, or M may be an integer multiple of N. In some embodiments, the storage granularity of the motion vector storage space may include any one of the following: 8x16, 16x8, 16x32, 32x16, 8x32, 32x8, 16x64, 64x16. Of course, in other embodiments, the motion vector storage space may also be other non-square storage granularities (such as 5x6, 6x5, 7x8, 8x7 and other storage granularities), which is not specifically limited in this embodiment of the present invention. In some embodiments, the unit of storage granularity of the motion vector storage space may be pixels or 4x4, 8x8 image blocks.
  • At least some of the encoded/decoded image blocks in the first image are rectangular, and the first image is divided into encoded/already coded/at least partial image blocks that are rectangular
  • decoding image blocks can adapt to the storage granularity of the motion vectors specified in the video standard VVC.
  • there is no need to store information about the size of the last encoded image block so storage space can be saved.
  • the storage granularity of the motion vector storage space is wider than high. In some embodiments, when the width of the storage granularity of the motion vector storage space is greater than the height, at least some of the encoded/decoded image blocks in the first image have a width less than the height of the moment shape.
  • FIG. 2 is a schematic diagram of a storage granularity of a motion vector storage space provided by an embodiment of the present invention.
  • the storage granularity width 201 of the motion vector storage space is 16,
  • the height 202 is 8, that is, the storage granularity of the motion vector storage space is 16x8, it can be determined that the width of the storage granularity of the motion vector storage space is larger than the height, because the width of the storage granularity of the motion vector storage space is larger than the high, Then, the width 221 of the image block 22 in the encoded/decoded image block in the first image may be 4, and the height 222 may be 16, because 4 is 16 and the The image block 22 in the coded/decoded image block has a rectangular shape with a width smaller than a height.
  • the video image processing device may The encoded/decoded image blocks in the image determine the storage granularity of the motion vector storage space. Specifically, when it is determined that the number or proportion of image blocks with a width smaller than the height in the encoded/decoded image blocks in the first image reaches a threshold value, the video image processing device may choose to have a wide The motion vector storage space in the high storage granularity stores the motion vector of the image block in the first image.
  • the encoded/decoded image block in the first image is determined
  • the number of is 100, where the number of image blocks with width less than height is 70, and the threshold value is 50, where 70 is greater than 50, you can select a motion vector storage space with a storage granularity of 16x8 with a width of 16 greater than height 8
  • the motion vectors of the image blocks in the first image are stored.
  • the encoded/decoded image in the first image is determined
  • the number of blocks is 100, where the number of image blocks whose width is less than height is 80, and the threshold value is 1/2. If the ratio 80/100 is greater than 1/2, you can choose a storage granularity with width 16 greater than height 8 of 8x16
  • the motion vector storage space stores the motion vectors of the image blocks in the first image.
  • the width of the storage granularity of the motion vector storage space is smaller than the height. In some embodiments, when the width of the storage granularity of the motion vector storage space is smaller than the high, the At least some of the encoded/decoded image blocks have a rectangular shape with a width greater than a height.
  • FIG. 3 is a schematic diagram of another storage size of a motion vector storage space provided by an embodiment of the present invention.
  • the storage granularity of the motion vector storage space has a width 301 of 8
  • Height 302 is 16, that is, the storage granularity of the motion vector storage space is 8x16
  • the image block 32 in the encoded/decoded image block in the first image may have a width 321 of 16, a height 322 of 4, and 16 greater than 4, that is, the The image block 32 in the encoded/decoded image block has a rectangular shape with a width larger than the height.
  • the video image processing device may The encoded/decoded image blocks in determine the storage granularity of the motion vector storage space. Specifically, when the number or ratio of image blocks with a width greater than height in the encoded/decoded image blocks in the first image reaches a threshold value, the video image processing device may choose to have a width less than height The motion vector storage space of the storage granularity stores the motion vectors of the image blocks in the first image.
  • the encoded/decoded image block in the first image is determined
  • the number of is 100, where the number of image blocks with width greater than height is 60, the threshold value is 50, and 60 is greater than 50, you can select a motion vector storage space with a storage granularity of 8x16 with a width 8 less than height 16 for the first
  • the motion vectors of image blocks in an image are stored.
  • the encoded/decoded image in the first image is determined
  • the number of blocks is 100, where the number of image blocks with a width greater than height is 60, the threshold value is 1/2, and 60/100 is greater than 1/2, you can choose a motion with a storage granularity of 8x16 with a width of 8 and a height of 16
  • the vector storage space stores motion vectors of image blocks in the first image.
  • the embodiment of the present invention can adjust the storage granularity of the motion vector storage space according to the texture information of the video image, and the motion vector compression storage that more conforms to the video content has been reached, and distortion is reduced as much as possible.
  • the video image processing device may obtain the first image before determining the motion vector of the image block to be stored in the motion vector storage space from the encoded/decoded image block in the first image
  • the texture information of the I-frame image of the encoded/decoded image block in the image, and the storage granularity of the motion vector storage space is determined according to the texture information of the I-frame image.
  • the video image processing device may determine the I according to the texture information of the I-frame image Whether the number of horizontal textures of the frame image is greater than the number of vertical textures; if it is determined that the horizontal textures are greater than the vertical textures, it can be determined that the storage granularity of the motion vector storage space is N ⁇ M, where N>M (such as 16x8); In some embodiments, the storage granularity of the motion vector storage space may be any one or more types of N ⁇ M, and the storage granularity of N>M combination is not specifically limited in this embodiment of the present invention.
  • the storage granularity of the motion vector storage space is N ⁇ M, where N ⁇ M (such as 8x16).
  • N ⁇ M such as 8x16
  • the storage granularity of the motion vector storage space may be any one or more of N ⁇ M, and the storage granularity of N ⁇ M combination is not specifically limited in this embodiment of the present invention.
  • FIG. 9 can be used as an example.
  • FIG. 9 is a structural diagram of a video image texture division provided by an embodiment of the present invention. It is assumed that the video image processing device determines the first image according to the acquired texture information of the first frame image. If the texture information of a frame of images is a longitudinal texture 91, the video image processing device may determine that the storage granularity N ⁇ xM of the motion vector storage space is smaller than the height 93(M), for example, 8x16, 4x16 , 4x8, etc., any one or more storage granularities with a width greater than height (ie, N ⁇ M) combination.
  • the video image processing device may determine the motion vector of the image block where at least one specific position in the corresponding region in the first image is located according to the storage granularity of the motion vector storage space The motion vector in the motion vector storage space is described.
  • the motion vector storage space includes multiple storage units, and the video image processing device may store at least one of corresponding areas in the first image according to a storage granularity of the motion vector storage space The motion vector of the image block where the specific position is located determines the motion vector of each storage unit stored in the motion vector storage space.
  • the video image processing device may acquire the first storage unit in the motion vector storage space, and according to the first storage unit in A motion vector of an image block where at least one specific position in the corresponding area in the first image is determined to be a motion vector stored in the first storage unit; wherein the first storage unit is in the first image
  • the shape and size of the corresponding area of are the same as the storage granularity of the motion vector storage space.
  • the at least one specific position may include: a center position of the corresponding area, an upper left corner point of the corresponding area, an upper right corner point of the corresponding area, a lower left corner point of the corresponding area , The lower right corner of the corresponding area, the middle point on the upper side of the corresponding area, the middle point on the lower side of the corresponding area, the middle point on the left side of the corresponding area, the middle point on the right side of the corresponding area, 1/4 point on the upper side of the corresponding area, 1/4 point on the upper side of the corresponding area, 1/4 point on the lower side of the corresponding area, 1/4 point on the lower side of the corresponding area Point, upper 1/4 point on the left side of the corresponding area, lower 1/4 point on the left side of the corresponding area, upper 1/4 point on the right side of the corresponding area, lower 1 on the right side of the corresponding area /4 points and any other position, or any combination of any number of positions.
  • the embodiments of the present invention are not specifically limited.
  • FIG. 4 is a schematic diagram of determining a motion vector provided by an embodiment of the present invention.
  • the video image processing device may target the first storage unit 41 in the motion vector storage space according to the first The motion vector of the image block where the upper left corner point 421 of the corresponding area 42 in the first image of the storage unit 41 is located, and it is determined that the motion vector stored in the first storage unit 41 is the corresponding one in the first image The motion vector of the image block where the upper left corner point 421 in the area 42 is located.
  • the video image processing device may sequentially traverse each specific position in the specific position set in the corresponding area in the first image in a predetermined order, and the predetermined condition is met according to the first traversed
  • the motion vector of the image block corresponding to the specific position of determines the motion vector stored in the motion vector storage space.
  • the set of specific positions in the corresponding area includes the center position in the corresponding area, the middle point on the upper side of the corresponding area, the middle point on the right side of the corresponding area, the The middle point on the lower side and the middle point on the left side of the corresponding area; in some embodiments, the predetermined order is: the center position in the corresponding area, the middle point on the upper side of the corresponding area, the The middle point on the right side of the corresponding area, the middle point on the lower side of the corresponding area, and the middle point on the left side of the corresponding area.
  • FIG. 5 is a schematic diagram of a specific location provided by an embodiment of the present invention.
  • the specific location in the corresponding area in the first image includes, in a predetermined order, the following: The center position 51 of the area, the middle point 52 on the upper side of the corresponding area, the middle point 53 on the right of the corresponding area, the middle point 54 on the lower side of the corresponding area, and the middle point 55 on the left of the corresponding area.
  • the specific location that satisfies the predetermined condition includes that the image block where the specific location is located is an image block that uses inter prediction.
  • the video image processing device may first detect the center position 51 in the corresponding area in the first image in a predetermined order, if It is detected that the image block where the center position 51 is an image block adopting inter prediction, it can be determined that the center position 51 satisfies a predetermined condition, and the motion vector of the image block corresponding to the center position 51 is determined, so as to The motion vector of the image block corresponding to the center position 51 determines the motion vector stored in the first storage unit.
  • the center position 51 if it is detected that the image block where the center position 51 is an image block that uses intra prediction, it can be determined that the center position 51 does not satisfy a predetermined condition, so further intermediate points 52 on the upper side of the corresponding area.
  • the middle point 52 on the upper side of the corresponding area is an image block that uses intra prediction
  • the middle point on the right side of the corresponding area is an image block using inter prediction, it can be determined that the middle point on the right side of the corresponding area The point 53 satisfies the predetermined condition, and determines the motion vector of the image block corresponding to the middle point 53 on the right of the corresponding area, and according to the motion vector of the image block corresponding to the middle point 53 on the right of the corresponding area, determines to store to A motion vector of the first storage unit.
  • the middle point 53 on the right side of the corresponding area is an image block that uses intra prediction
  • it can be determined that the middle of the bottom of the corresponding area is an image block that uses inter prediction.
  • it can be determined that the middle of the bottom of the corresponding area The point 54 satisfies the predetermined condition, and determines the motion vector of the image block corresponding to the middle point 54 on the lower side of the corresponding area, and according to the motion vector of the image block corresponding to the middle point 54 on the lower side of the corresponding area.
  • a motion vector of the first storage unit satisfies the predetermined condition, and determines the motion vector of the image block corresponding to the middle point 54 on the lower side of the corresponding area, and according to the motion vector of the image block corresponding to the middle point 54 on the lower side of the corresponding area.
  • the middle point 54 on the lower side of the corresponding area is an image block that uses intra prediction, it can be determined that the middle point 54 on the lower side of the corresponding area does not satisfy the predetermined condition, and further The middle point 55 on the left side of the corresponding area is detected.
  • the image block where the middle point 55 on the left side of the corresponding area is an image block using inter prediction, then it can be determined that the middle left side of the corresponding area The point 55 satisfies the predetermined condition, and determines the motion vector of the image block corresponding to the middle point 55 on the left side of the corresponding area, and according to the motion vector of the image block corresponding to the middle point 55 on the left side of the corresponding area, determines to store A motion vector of the first storage unit. If it is detected that the image block at the left middle point 55 of the corresponding area is an image block that uses intra prediction, it may be determined that the image block does not satisfy a predetermined condition, and it is determined that the first storage unit does not store the The motion vector of the image block.
  • the first The storage unit does not store the motion vector of the image block.
  • the width of the storage granularity in the motion vector storage space is greater than the height, and at least one specific position in the corresponding area includes at least one position on the upper side and/or at least one on the lower side of the corresponding area position.
  • the motion vector storage can be determined
  • the width of the storage granularity of the space is greater than the height, if the image block 22 in the encoded/decoded image block in the first image is rectangular with a width 221 of 4 and a height 222 of 16, and the image block 22 is the corresponding area, then the upper left corner of the image block 22 includes at least one position on the upper side of the corresponding area.
  • the width of the storage granularity in the motion vector storage space is smaller than the height, and at least one specific position in the corresponding area includes at least one position on the left and/or at least one on the right of the corresponding area position.
  • the motion vector storage can be determined
  • the width of the storage granularity of the space is larger than the height, if the image block 32 in the encoded/decoded image block in the first image is rectangular with a width 321 of 16, and a height 322 of 4, and the image block 32 is the corresponding area, then the upper left corner of the image block 22 includes at least one position on the upper side of the corresponding area.
  • the video image processing device may obtain storage for identifying the motion vector storage space in a video parameter set or sequence parameter set or image parameter set or sequence header or image header or stripe header or rectangular block header Granularity identification.
  • the video image processing device may obtain storage for identifying the motion vector storage space in a video parameter set or sequence parameter set or image parameter set or sequence header or image header or stripe header or rectangular block header Granularity identification.
  • S102 Store the determined motion vector of the image block in the motion vector storage space.
  • the video image processing device may store the determined motion vector of the image block into the motion vector storage space whose storage granularity is non-square. By storing motion vectors with a non-square motion vector storage space to store motion vectors, the memory of motion vector storage space can be saved.
  • the video image processing device may The motion vector of the image block corresponding to the center position 51 is stored in the motion vector storage space.
  • the video image processing device may The motion vector of the image block corresponding to the upper middle point 52 of the corresponding area is stored in the motion vector storage space.
  • the video image processing device may The motion vector of the image block corresponding to the middle point 53 on the right of the corresponding area is stored in the motion vector storage space.
  • the video image processing device may The motion vector of the image block corresponding to the middle point 54 on the lower side of the corresponding area is stored in the motion vector storage space.
  • the video image processing device may The motion vector of the image block corresponding to the middle point 55 on the left side of the corresponding area is stored in the motion vector storage space.
  • the video image processing device may obtain the motion vector of at least one image block in the second image according to the motion vector stored in the motion vector storage space, so as to realize at least one image block in the second image Prediction of motion vectors.
  • the relationship between the first image and the second image is any one of the following cases: at least one image other than the first image; the first image is an image in the reference frame list of the second image; An image is the first image in the first reference frame list of the second image; the first image is the first image in the second reference frame list of the second image; the first image is next to the second image in chronological order Forward image; the first image is the backward image next to the second image in chronological order.
  • the video image processing device when the video image processing device obtains the motion vector of at least one image block in the second image according to the motion vector stored in the motion vector storage space, the video image processing device may The coordinate value of at least one image block in and the width and height of the storage granularity of the storage space determine the motion vector of the storage space of the first image.
  • the video image processing device determines the width and height of the first image according to the coordinate value of at least one image block in the second image and the storage granularity width and height of the motion vector storage space
  • the horizontal coordinate of the coordinate value of at least one image block in the second image can be divided by the width of the storage granularity of the motion vector storage space and the The ordinate of the coordinate value of at least one image block is divided by the high storage granularity of the motion vector storage space to obtain the position of the storage space in the first image, and obtain the position according to the position of the storage space Sports vector.
  • the video image processing device may The horizontal coordinate x of the coordinate value of at least one image block in the second image divided by the width of the storage granularity of the motion vector storage space is 16 and the vertical coordinate according to the coordinate value of the at least one image block in the second image y is divided by 8 higher in the storage granularity of the motion vector storage space to obtain the position of the storage space in the first image as (x/16, y/8), therefore, the video image processing device can The motion vector is obtained according to the position (x/16, y/8) of the storage space.
  • the video image processing device may determine the motion of the image block to be stored in the non-square motion vector storage space from the encoded/decoded image block in the first image according to the storage granularity of the motion vector storage space Vector, storing the motion vector of the determined image block in the motion vector storage space, and obtaining the motion vector of at least one image block in the second image according to the motion vector stored in the motion vector storage space.
  • the memory overhead of the motion vector storage space can be saved, and the accuracy of prediction can be improved.
  • FIG. 6 is a schematic flowchart of another video image processing method according to an embodiment of the present invention.
  • the method may be applied to a video image processing device.
  • the specific explanation of the video image processing device is as described above. Narrate.
  • the method in the embodiment of the present invention includes the following steps.
  • the video image processing device may select a storage granularity with width greater than height Motion vector storage space.
  • the video image processing device may choose to have a width larger than High storage granularity motion vector storage space.
  • the encoded/decoded image block in the first image is determined
  • the number of is 100, where the number of image blocks with a width less than height is 70, and the threshold value is 50, where 70 is greater than 50, a motion vector storage space with a storage granularity of 16x8 having a width 16 greater than height 8 can be selected.
  • S602 Determine the motion stored in the motion vector storage space where the width is greater than the height according to the motion vector of the image block where at least one specific position in the corresponding area in the first image is based on the storage granularity of the motion vector storage space Vector.
  • the video image processing device may determine to store the width according to the motion vector of the image block where at least one specific position in the corresponding area in the first image is stored according to the storage granularity of the motion vector storage space The motion vectors in the high motion vector storage space.
  • the motion vector storage space includes a first storage unit
  • the video image processing device may acquire the first storage unit in the motion vector storage space, and according to the first storage unit in the The motion vector of the image block where at least one specific position in the corresponding area in the first image is determined, and the motion vector stored in the first storage unit is determined.
  • the explanation of the specific location is as described above, and will not be repeated here.
  • the video image processing device may target the first storage unit 41 in the motion vector storage space according to the upper left of the first storage unit 41 in the corresponding area 42 in the first image For the motion vector of the image block where the corner point 421 is located, it is determined that the motion vector stored in the first storage unit 41 is the motion vector of the image block where the upper left corner point 421 in the corresponding area 42 in the first image is located.
  • the video image processing device determines that the motion vector of the image block where at least one specific position in the corresponding area in the first image is located according to the storage granularity of the motion vector storage space is determined to be stored in the
  • each specific position in the specific position set in the corresponding area in the first image can be traversed in a predetermined order, according to the first specific
  • the motion vector of the image block corresponding to the position determines the motion vector stored in the motion vector storage space.
  • the set of specific positions in the corresponding area includes the center position in the corresponding area, the middle point on the upper side of the corresponding area, the middle point on the right side of the corresponding area, the The middle point on the lower side and the middle point on the left side of the corresponding area; in some embodiments, the predetermined order is: the center position in the corresponding area, the middle point on the upper side of the corresponding area, the The middle point on the right side of the corresponding area, the middle point on the lower side of the corresponding area, and the middle point on the left side of the corresponding area.
  • the video image processing device may first detect the center position 51 in the corresponding area in the first image in a predetermined order, if It is detected that the image block where the center position 51 is an image block adopting inter prediction, it can be determined that the center position 51 satisfies a predetermined condition, and the motion vector of the image block corresponding to the center position 51 is determined, so as to The motion vector of the image block corresponding to the center position 51 determines the motion vector stored in the first storage unit.
  • the center position 51 if it is detected that the image block where the center position 51 is an image block that uses intra prediction, it can be determined that the center position 51 does not satisfy a predetermined condition, so further intermediate points 52 on the upper side of the corresponding area.
  • the middle point 52 on the upper side of the corresponding area is an image block that uses intra prediction
  • the middle point on the right side of the corresponding area is an image block using inter prediction, it can be determined that the middle point on the right side of the corresponding area The point 53 satisfies the predetermined condition, and determines the motion vector of the image block corresponding to the middle point 53 on the right of the corresponding area, and according to the motion vector of the image block corresponding to the middle point 53 on the right of the corresponding area, determines to store to A motion vector of the first storage unit.
  • the middle point 53 on the right side of the corresponding area is an image block that uses intra prediction
  • it can be determined that the middle of the bottom of the corresponding area is an image block that uses inter prediction.
  • it can be determined that the middle of the bottom of the corresponding area The point 54 satisfies the predetermined condition, and determines the motion vector of the image block corresponding to the middle point 54 on the lower side of the corresponding area, and according to the motion vector of the image block corresponding to the middle point 54 on the lower side of the corresponding area.
  • a motion vector of the first storage unit satisfies the predetermined condition, and determines the motion vector of the image block corresponding to the middle point 54 on the lower side of the corresponding area, and according to the motion vector of the image block corresponding to the middle point 54 on the lower side of the corresponding area.
  • the middle point 54 on the lower side of the corresponding area is an image block that uses intra prediction, it can be determined that the middle point 54 on the lower side of the corresponding area does not satisfy the predetermined condition, and further The middle point 55 on the left side of the corresponding area is detected.
  • the image block where the middle point 55 on the left side of the corresponding area is an image block using inter prediction, then it can be determined that the middle left side of the corresponding area The point 55 satisfies the predetermined condition, and determines the motion vector of the image block corresponding to the middle point 55 on the left side of the corresponding area, and according to the motion vector of the image block corresponding to the middle point 55 on the left side of the corresponding area, determines to store A motion vector of the first storage unit. If it is detected that the image block at the left middle point 55 of the corresponding area is an image block that uses intra prediction, it may be determined that the image block does not satisfy a predetermined condition, and it is determined that the first storage unit does not store the The motion vector of the image block.
  • S603 Store the determined motion vector of the image block in the motion vector storage space with a width greater than a height.
  • the video image processing device may store the determined motion vector of the image block in the motion vector storage space where the width is greater than the height. Specific embodiments and examples are as described above, and are not repeated here.
  • S604 Obtain the motion vector of at least one image block in the second image according to the motion vector stored in the motion vector storage space.
  • the video image processing device may obtain the motion vector of at least one image block in the second image according to the motion vector stored in the motion vector storage space. Specific embodiments and examples are as described above, and are not repeated here.
  • the video image processing device may choose to have a width larger than A motion vector storage space with high storage granularity, for the first storage unit in the motion vector storage space, according to the image block where the first storage unit is located in at least one specific position in the corresponding area in the first image
  • the motion vector stored in the storage space determine the motion vector stored in the storage space, store the determined motion vector in the motion vector storage space, and obtain the second image according to the motion vector stored in the motion vector storage space
  • the motion vector of at least one image block In this way, the memory of the motion vector storage space is saved, and the accuracy of prediction is improved.
  • FIG. 7 is a schematic flowchart of yet another video image processing method according to an embodiment of the present invention.
  • the method may be applied to a video image processing device.
  • the specific explanation of the video image processing device is as described above. Narrate.
  • the method in the embodiment of the present invention includes the following steps.
  • a storage granularity with a width smaller than a height is selected Motion vector storage space.
  • the encoded/decoded image block in the first image is determined
  • the number of is 100, where the number of image blocks with a width greater than height is 60, the threshold value is 1/2, and 60/100 is greater than 1/2, you can choose a motion vector with a storage granularity of 8x16 with a width of 8 and a height of 16 storage.
  • S702 Determine, according to the motion vector of the image block where at least one specific position in the corresponding area in the first image, the storage granularity of the motion vector storage space, store the motion vector into the storage granularity with a width smaller than a height Space motion vector.
  • the video image processing device may determine and store the motion vector in the image block where the at least one specific position in the corresponding region in the first image is located according to the storage granularity of the motion vector storage space Motion vectors in a motion vector storage space that are smaller than a high storage granularity. Specific embodiments and examples are as described above, and are not repeated here.
  • S703 Store the determined motion vector of the image block in the motion vector storage space with a storage granularity of width less than height.
  • the video image processing device may store the determined motion vector of the image block into the motion vector storage space with a storage granularity of width less than height. Specific embodiments and examples are as described above, and are not repeated here.
  • S704 Obtain the motion vector of at least one image block in the second image according to the motion vector stored in the motion vector storage space of the storage granularity with a width smaller than the height.
  • the video image processing device may obtain the motion vector of at least one image block in the second image according to the motion vector stored in the motion vector storage space with a storage granularity smaller than high. Specific embodiments and examples are as described above, and are not repeated here.
  • a storage granularity with a width smaller than a height is selected
  • the motion vector storage space is determined for the first storage unit in the motion vector storage space according to the motion vector of the image block where the first storage unit is located in at least one specific position in the corresponding region in the first image
  • a motion vector stored in the storage space storing the determined motion vector in the motion vector storage space, and obtaining at least one image in the second image according to the motion vector stored in the motion vector storage space Block motion vector.
  • FIG. 8 is a schematic structural diagram of a video image processing device according to an embodiment of the present invention.
  • the video image processing device includes: a memory 801, a processor 802, and a data interface 803.
  • the memory 801 may include a volatile memory (volatile memory); the memory 801 may also include a non-volatile memory (non-volatile memory); the memory 801 may also include a combination of the foregoing types of memories.
  • the processor 802 may be a central processing unit (central processing unit, CPU).
  • the processor 802 may further include a hardware video image processing device.
  • the above hardware video image processing device may be an application-specific integrated circuit (ASIC), a programmable logic device (programmable logic device, PLD), or a combination thereof.
  • ASIC application-specific integrated circuit
  • PLD programmable logic device
  • FPGA field programmable logic gate array
  • the memory 801 is used to store program instructions.
  • the processor 802 may call the program instructions stored in the memory 801 to perform the following steps:
  • the motion vector of the image block to be stored in the motion vector storage space is determined from the encoded/decoded image block in the first image according to the storage granularity of the motion vector storage space, wherein the storage granularity of the motion vector storage space is Non-square
  • the motion vector of at least one image block in the second image is obtained according to the motion vector stored in the motion vector storage space.
  • the storage granularity of the motion vector storage space is rectangular.
  • the storage granularity of the motion vector storage space is rectangular.
  • the storage granularity of the motion vector storage space is N ⁇ M, where N and M are unequal positive integers.
  • N is an integer multiple of M, or M is an integer multiple of N.
  • N is an integer multiple of M, or M is an integer multiple of N.
  • the storage granularity of the motion vector storage space includes any one of the following:
  • the unit of storage granularity of the motion vector storage space is pixels or 4x4, 8x8 image blocks.
  • At least part of the coded/decoded image blocks in the first image is rectangular.
  • the width of the storage granularity of the motion vector storage space is greater than the height.
  • At least part of the coded/decoded image blocks in the first image has a rectangular shape with a width smaller than a height.
  • the processor 802 determines the motion vector of the image block to be stored in the motion vector storage space from the encoded/decoded image block in the first image, which was also used to:
  • the width of the storage granularity of the motion vector storage space is smaller than the height.
  • At least some of the encoded/decoded image blocks in the first image have a rectangular shape with a width greater than a height.
  • the processor 802 stores the motion vector of the image block determined from the encoded/decoded image block in the first image to be stored in the motion vector storage space, which was also used before:
  • a motion vector storage space with a storage granularity with width smaller than height is selected.
  • the motion vectors of the image blocks in the first image are stored.
  • processor 802 determines the motion vector of the image block to be stored in the motion vector storage space from the encoded/decoded image block in the first image, it is also used to:
  • the storage granularity of the motion vector storage space is determined according to the texture information of the first frame image.
  • the processor 802 determines the storage granularity of the motion vector storage space according to the texture information of the first frame image, it is specifically used to:
  • the texture information of the first frame image determine whether the number of horizontal textures of the first frame image is greater than the number of vertical textures
  • the storage granularity of the motion vector storage space is N ⁇ M, where N ⁇ M.
  • processor 802 determines the motion vector of the image block to be stored in the motion vector storage space from the encoded/decoded image block in the first image, it is specifically used to:
  • the motion vector stored in the motion vector storage space is determined according to the motion vector of the image block where at least one specific position in the corresponding area in the first image is stored according to the storage granularity of the motion vector storage space.
  • first image and the second image is any one of the following situations:
  • At least one image other than the first image At least one image other than the first image
  • the first image is an image in the reference frame list of the second image
  • the first image is the first image in the first reference frame list of the second image
  • the first image is the first image in the second reference frame list of the second image
  • the first image is a forward image immediately adjacent to the second image in chronological order
  • the first image is a backward image next to the second image in chronological order.
  • processor 802 obtains the motion vector of at least one image block in the second image according to the motion vector stored in the motion vector storage space, it is specifically used for:
  • the motion vector of the storage space of the first image is determined according to the coordinate value of at least one image block in the second image and the width and height of the storage granularity of the motion vector storage space.
  • the processor 802 determines the storage space of the first image according to the coordinate value of at least one image block in the second image and the width and height of the storage granularity of the motion vector storage space When using motion vectors, specifically:
  • the horizontal coordinate according to the coordinate value of at least one image block in the second image divided by the width of the storage granularity and the vertical coordinate according to the coordinate value of at least one image block in the second image divided by the storage When the granularity is high, the position of the storage space in the first image is obtained, and the motion vector is obtained according to the position of the storage space.
  • the at least one specific location includes any combination of the following locations:
  • the processor 802 determines to store the motion vector in the motion vector storage space according to the motion vector of the image block where at least one specific position in the corresponding area in the first image is stored according to the storage granularity of the motion vector storage space When the motion vector is used:
  • the motion vector stored in the motion vector storage space is determined according to the traversed motion vectors of the image block corresponding to the first specific position satisfying the predetermined condition.
  • the specific location satisfying the predetermined condition includes:
  • the image block at a specific position is an image block that uses inter prediction.
  • the specific position set in the corresponding area includes a central position in the corresponding area, a middle point on the upper side of the corresponding area, a middle point on the right side of the corresponding area, and a middle point on the lower side of the corresponding area Point, the middle point on the left side of the corresponding area;
  • the predetermined order is: the center position in the corresponding area, the middle point on the upper side of the corresponding area, the middle point on the right side of the corresponding area, the middle point on the lower side of the corresponding area, the corresponding area The left middle point.
  • the width of the storage granularity in the motion vector storage space is greater than the height, and at least one specific position in the corresponding area includes at least one position on the upper side and/or at least one position on the lower side of the corresponding area.
  • the width of the storage granularity in the motion vector storage space is smaller than the height, and at least one specific position in the corresponding area includes at least one position on the left and/or at least one position on the right of the corresponding area.
  • an identifier for identifying the storage granularity of the motion vector storage space is obtained in a video parameter set, sequence parameter set, image parameter set, sequence header, image header, slice header, or rectangular block header.
  • an identifier for identifying the storage granularity of the motion vector storage space is obtained in a video parameter set, sequence parameter set, image parameter set, sequence header, image header, slice header, or rectangular block header.
  • the video image processing device may determine the motion of the image block to be stored in the non-square motion vector storage space from the encoded/decoded image block in the first image according to the storage granularity of the motion vector storage space Vector, storing the motion vector of the determined image block in the motion vector storage space, and obtaining the motion vector of at least one image block in the second image according to the motion vector stored in the motion vector storage space.
  • the memory overhead of the motion vector storage space can be saved, and the accuracy of prediction can be improved.
  • a computer-readable storage medium stores a computer program, and the computer program is executed by a processor to implement an embodiment of the present invention.
  • FIG. 1, FIG. 6 or The video image processing method described in FIG. 7 can also implement the video image processing device of the embodiment corresponding to the present invention described in FIG. 8, and details are not described herein again.
  • the computer-readable storage medium may be an internal storage unit of the device according to any one of the foregoing embodiments, such as a hard disk or a memory of the device.
  • the computer-readable storage medium may also be an external storage device of the device, for example, a plug-in hard disk equipped on the device, a smart memory card (Smart) Card (SMC), and a secure digital (SD) card , Flash card (Flash Card), etc.
  • the computer-readable storage medium may also include both an internal storage unit of the device and an external storage device.
  • the computer-readable storage medium is used to store the computer program and other programs and data required by the device.
  • the computer-readable storage medium can also be used to temporarily store data that has been or will be output.
  • the storage medium may be a magnetic disk, an optical disk, a read-only memory (Read-Only Memory, ROM) or a random storage memory (Random Access Memory, RAM), etc.

Landscapes

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

Abstract

本发明实施例提供了一种视频图像处理方法、设备及存储介质,其中,该方法包括:根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,其中,所述运动矢量存储空间的存储粒度呈非正方形;将所述确定的图像块的运动矢量存储到所述运动矢量存储空间中;根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。通过这种采用非方形的运动矢量存储空间存储图像块的运动矢量的方式,可以节省运动矢量存储的空间的内存,提高预测的准确性。

Description

一种视频图像处理方法、设备及存储介质 技术领域
本发明涉及视频编解码领域,尤其涉及一种视频图像处理方法、设备及存储介质。
背景技术
目前,对于通用视频编码(Versatile Video Coding)上帧间预测部分,经过划分得到的最大块为128x128,最小块为4x4。对于视频背景较为简单、运动模型较为简单的视频序列,划分为大尺寸编码单元的情况十分常见。例如,视频帧中背景区域划分多数为128x128、128x64、64x128、64x64等尺寸较大的编码块,对于每个大尺寸的编码单元,其都有相对应的运动矢量。
然而,在目前的运动矢量存储压缩技术中,对于整个视频帧的编码区域都是以8x8为颗粒度进行时域运动矢量压缩的,对于尺寸为M*N的编码单元,将使用(M*N)/(8x8)个存储单元进行MV的存储。因此,对于上述的大尺寸编码单元,使用这种运动矢量存储压缩技术将带来极大的存储空间浪费,存储空间利用率较低。因此,如何更好地提高运动矢量存储空间的利用率成为研究的重点。
发明内容
本发明实施例提供了一种视频图像处理方法、设备及存储介质,节省了运动矢量存储空间的内存,提高了运动矢量存储空间的利用率。
第一方面,本发明实施例提供了一种视频图像处理方法,包括:
根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,其中,所述运动矢量存储空间的存储粒度呈非正方形;
将所述确定的图像块的运动矢量存储到所述运动矢量存储空间中;
根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。
第二方面,本发明实施例提供了一种视频图像处理设备,其特征在于,包 括:存储器和处理器;
所述存储器,用于存储程序指令;
所述处理器,用于调用所述程序指令,当所述程序指令被执行时,用于执行以下操作:
根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,其中,所述运动矢量存储空间的存储粒度呈非正方形;
将所述确定的图像块的运动矢量存储到所述运动矢量存储空间中;
根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。
第三方面,本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现如上述第一方面所述的视频图像处理方法。
本发明实施例,通过根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到存储粒度呈非正方形的运动矢量存储空间中的图像块的运动矢量,并将所述确定的图像块的运动矢量存储到所述非正方形的运动矢量存储空间中,根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量,从而节省了运动矢量存储空间的内存,提高了运动矢量存储空间的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种视频图像处理方法的流程示意图;
图2是本发明实施例提供的一种运动矢量存储空间的存储粒度的示意图;
图3是本发明实施例提供的另一种运动矢量存储空间的存储粒度的示意图;
图4是本发明实施例提供的一种确定运动矢量的示意图;
图5是本发明实施例提供的一种特定位置的示意图;
图6是本发明实施例提供的另一种视频图像处理方法的流程示意图;
图7是本发明实施例提供的又一种视频图像处理方法的流程示意图;
图8是本发明实施例提供的一种视频图像处理设备的结构示意图;
图9是本发明实施例提供的一种视频图像的纹理划分的结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
本发明实施例提出的视频图像处理方法可以应用于视频图像处理设备,所述视频处理设备可以设置在智能终端(如手机、平板电脑等)上。在某些实施例中,本发明实施例可应用于飞行器(如无人机)上,在其他实施例中,本发明实施例还可以应用于其他可移动平台(如无人船、无人汽车、机器人等)上,本发明实施例不做具体限定。
本发明实施例中,视频图像处理设备将运动矢量存储空间的存储粒度由方形改进为非方形,以节省运动矢量存储空间的内存开销。本方案针对所述运动矢量存储空间中的每个运动矢量存储单元,增加或改变获取运动矢量的像素位置,并根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到非方形的运动矢量存储空间中的图像块的运动矢量,从而将所述确定的图像块的运动矢量存储到所述非方形的运动矢量存储空间中,以便根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量,以实现对第二图像中图像块的运动矢量的预测,并提高了预测的准确性。
下面结合附图对本发明实施例提供的视频图像处理方法进行示意性说明。
具体请参见图1,图1是本发明实施例提供的一种视频图像处理方法的流 程示意图。所述方法可以应用于视频图像处理设备,其中,所述视频图像处理设备的解释如前所述,此处不再赘述。具体地,本发明实施例的所述方法包括如下步骤。
S101:根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量。
本发明实施例中,视频图像处理设备可以根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,其中,所述运动矢量存储空间的存储粒度呈非正方形。在某些实施例中,所述运动矢量存储空间的存储粒度也可以呈矩形。
在一些实施例中,在确定待存储到运动矢量存储空间中的图像块的运动矢量的过程中,涉及到要利用其它图像上的某个图像块的运动矢量来确定该图像块的运动矢量。为描述方便,称该图像块为第一图像中的已编码/已解码图像块,称所要利用的其他图像上的某个图像块为第二图像的图像块。可以理解的是,第一图像中的已编码/已解码图像块和该第二图像中的图像块位于不同的图像上。
在一些实施例中,一个图像块的运动矢量可以包含两个信息:1)该运动矢量所指向的图像;2)位移。一个图像块的运动矢量所表示的含义为,在该运动矢量所指向的图像中与该图像块具有该位移的图像块。对于已编/解码的图像块,其运动矢量所包含的含义包括:该已编/解码的图像块的参考图像,以及已编/解码的图像块的参考块相对该已编/解码的图像块的位移。需注意的是,所述一个图像块的参考块,指的是表示用于计算该图像块的残差的图像块。在某些实施例中,所述图像块为一个编码单元(CU)。
在一些实施例中,所述运动矢量存储空间的存储粒度为N x M,其中N与M为不相等的正整数。在某些实施例中,N可以为M的整数倍,或者,M可以为N的整数倍。在某些实施例中,所述运动矢量存储空间的存储粒度可以包括以下任意一种:8x16、16x8、16x32、32x16、8x32、32x8、16x64、64x16。当然,在其他实施例中,所述运动矢量存储空间还可以为其他非方形的存储粒度(如5x6、6x5、7x8、8x7等存储粒度),本发明实施例不做具体限定。在某些实施例中,所述运动矢量存储空间的存储粒度的单位可以为像素或4x4、8x8图像块。
在一个实施例中,所述第一图像中的所述已编码/已解码图像块中至少部分图像块呈矩形状,将所述第一图像划分为至少部分图像块呈矩形的已编码/已解码图像块,一方面可以适应视频标准VVC中规定的运动矢量的存储粒度,另一方面,无需存储上一个已编码图像块的大小的信息,因此,可以节省存储空间。
在一个实施例中,所述运动矢量存储空间的存储粒度的宽大于高。在某些实施例中,当所述运动矢量存储空间的存储粒度的宽大于高时,所述第一图像中的所述已编码/已解码图像块中至少部分图像块呈宽小于高的矩形状。
如图2所示,图2是本发明实施例提供的一种运动矢量存储空间的存储粒度的示意图,以图2为例进行说明,所述运动矢量存储空间的存储粒度的宽201为16,高202为8,即所述运动矢量存储空间的存储粒度为16x8,则可以确定所述运动矢量存储空间的存储粒度的宽大于高,由于所述运动矢量存储空间的存储粒度的宽大于高,则所述第一图像中的所述已编码/已解码图像块中的图像块22的宽221可以为4,高222可以为16,由于4小16,则所述第一图像中的所述已编码/已解码图像块中的图像块22呈宽小于高的矩形状。
在一个实施例中,所述视频图像处理设备在从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,可以根据所述第一图像中的已编码/已解码图像块确定运动矢量存储空间的存储粒度。具体地,当确定出所述第一图像中的所述已编码/已解码图像块中,呈宽小于高的图像块的数量或者比例达到阈值数值时,所述视频图像处理设备可以选择具有宽大于高的存储粒度的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
例如,假设从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,确定出所述第一图像中的已编码/已解码图像块的数量为100,其中,宽小于高的图像块的数量为70,阈值数值为50,所述70大于50,则可以选择具有宽16大于高8的存储粒度为16x8的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
又例如,假设从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,确定出所述第一图像中的已编码/已解码图像块的数量为100,其中,宽小于高的图像块的数量为80,阈值数值 为1/2,如果比例80/100大于1/2,则可以选择具有宽16大于高8的存储粒度为8x16的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
在一个实施例中,所述运动矢量存储空间的存储粒度的宽小于高,在某些实施例中,当所述运动矢量存储空间的存储粒度的宽小于高时,所述第一图像中的所述已编码/已解码图像块中至少部分图像块呈宽大于高的矩形状。
如图3所示,图3是本发明实施例提供的另一种运动矢量存储空间的存储粒度的示意图,以图3为例进行说明,所述运动矢量存储空间的存储粒度的宽301为8,高302为16,即所述运动矢量存储空间的存储粒度为8x16,则可以确定所述运动矢量存储空间的存储粒度的宽小于高,由于所述运动矢量存储空间的存储粒度的宽小于高,则所述第一图像中的所述已编码/已解码图像块中的图像块32可以呈宽321为16,高322为4,16大于4,即所述第一图像中的所述已编码/已解码图像块中的图像块32呈宽大于高的矩形状。
在一个实施例中,所述视频图像处理设备从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,可以根据所述第一图像中的已编码/已解码图像块确定运动矢量存储空间的存储粒度。具体地,当所述第一图像中的所述已编码/已解码图像块中,呈宽大于高的图像块的数量或者比例达到阈值数值时,所述视频图像处理设备可以选择具有宽小于高的存储粒度的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
例如,假设从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,确定出所述第一图像中的已编码/已解码图像块的数量为100,其中,宽大于高的图像块的数量为60,阈值数值为50,60大于50,则可以选择具有宽8小于高16的存储粒度为8x16的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
又例如,假设从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,确定出所述第一图像中的已编码/已解码图像块的数量为100,其中,宽大于高的图像块的数量为60,阈值数值为1/2,60/100大于1/2,则可以选择具有宽8小于高16的存储粒度为8x16的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
在视频编码过程中,由于不同的纹理特性可以导致差别较大的划分结果,这种与视频内容相关的纹理特性,在进行时域运动矢量存储压缩的过程中,不同的存储粒度可以带来不同的编码性能变化。因此,本发明实施例可以根据视频图像的纹理信息,对运动矢量存储空间的存储粒度进行调整,已到达更符合视频内容的运动矢量压缩存储,尽可能地降低失真。
在一个实施例中,所述视频图像处理设备在从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,可以获取所述第一图像中已编码/已解码图像块的I帧图像的纹理信息,并根据所述I帧图像的纹理信息,确定所述运动矢量存储空间的存储粒度。通过根据这种图像纹理来确定运动矢量存储空间的存储粒度的方式,可以更符合视频内容的运动矢量压缩存储,并进一步地降低失真。
在一个实施例中,所述视频图像处理设备在根据所述I帧图像的纹理信息,确定所述运动矢量存储空间的存储粒度时,可以根据所述I帧图像的纹理信息,判断所述I帧图像的横向纹理数量是否大于纵向纹理数量;如果判断出所述横向纹理大于纵向纹理,则可以确定所述运动矢量存储空间的存储粒度为N x M,其中,N>M(如16x8);在某些实施例中,所述动矢量存储空间的存储粒度可以为任意一种或多种N x M,且N>M组合的存储粒度,本发明实施例不做具体限定。如果判断出所述纵向纹理数量大于横向纹理数量,则可以确定所述运动矢量存储空间的存储粒度为N x M,其中,N<M(如8x16)。在某些实施例中,所述运动矢量存储空间的存储粒度可以为任意一种或多种N x M,且N<M组合的存储粒度,本发明实施例不做具体限定。
具体可以图9为例,图9是本发明实施例提供的一种视频图像的纹理划分的结构图,假设所述视频图像处理设备根据获取到的第1帧图像的纹理信息判断出所述第1帧图像的纹理信息为纵向纹理91,则所述视频图像处理设备可以确定所述运动矢量存储空间的存储粒度N x M中的宽92(N)小于高93(M),例如8x16、4x16、4x8等任意一种或多种宽大于高(即N<M)组合的存储粒度。
在一个实施例中,所述视频图像处理设备可以根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量。在某些实施例中, 所述运动矢量存储空间中包括多个存储单元,所述视频图像处理设备可以根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述运动矢量存储空间中各存储单元的运动矢量。
在一个实施例中,针对所述多个存储单元中的第一存储单元,所述视频图像处理设备可以获取所述运动矢量存储空间中的第一存储单元,并根据所述第一存储单元在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量;其中,所述第一存储单元在所述第一图像中的对应区域的形状和大小与所述运动矢量存储空间的存储粒度相同。
在某些实施例中,所述至少一个特定位置可以包括:所述对应区域的中心位置、所述对应区域的左上角点、所述对应区域的右上角点、所述对应区域的左下角点、所述对应区域的右下角点、所述对应区域的上边的中间点、所述对应区域的下边的中间点、所述对应区域的左边的中间点、所述对应区域的右边的中间点、所述对应区域的上边的左1/4点、所述对应区域的上边的右1/4点、所述对应区域的下边的左1/4点、所述对应区域的下边的右1/4点、所述对应区域的左边的上1/4点、所述对应区域的左边的下1/4点、所述对应区域的右边的上1/4点、所述对应区域的右边的下1/4点等任意一个位置,或任意多个位置的任意组合。本发明实施例不做具体限定。
以图4为例,图4是本发明实施例提供的一种确定运动矢量的示意图,所述视频图像处理设备可以针对所述运动矢量存储空间中的第一存储单元41,根据所述第一存储单元41在所述第一图像中的对应区域42中的左上角点421所在的图像块的运动矢量,确定存储到所述第一存储单元41的运动矢量为所述第一图像中的对应区域42中的左上角点421所在的图像块的运动矢量。
在一个实施例中,所述视频图像处理设备可以按预定顺序,依次对所述第一图像中的对应区域中的特定位置集中的各特定位置进行遍历,根据遍历到的第一个满足预定条件的特定位置对应的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量。
在一个实施例中,所述对应区域中的特定位置集包括所述对应区域中的中心位置、所述对应区域的上边的中间点、所述对应区域的右边的中间点、所述 对应区域的下边的中间点、所述对应区域的左边的中间点;在某些实施例中,所述预定顺序依次为:所述对应区域中的中心位置、所述对应区域的上边的中间点、所述对应区域的右边的中间点、所述对应区域的下边的中间点、所述对应区域的左边的中间点。
在某些实施例中,如图5所示,图5是本发明实施例提供的一种特定位置的示意图,所述第一图像中对应区域中的特定位置按预定顺序依次包括:所述对应区域的中心位置51、所述对应区域的上边的中间点52、所述对应区域的右边的中间点53、所述对应区域的下边的中间点54、所述对应区域的左边的中间点55。在某些实施例中,所述满足预定条件的特定位置,包括:特定位置所在的图像块为采用帧间预测的图像块。
以图5为例进行说明,假设所述预定顺序依次为所述对应区域的中心位置51、所述对应区域的上边的中间点52、所述对应区域的右边的中间点53、所述对应区域的下边的中间点54、所述对应区域的左边的中间点55,则所述视频图像处理设备可以按预定顺序,首先对所述第一图像中的对应区域中的中心位置51进行检测,如果检测到所述中心位置51所在的图像块为采用帧间预测的图像块,则可以确定所述中心位置51满足预定条件,并确定将所述中心位置51对应的图像块的运动矢量,从而根据所述中心位置51对应的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量。
又例如,如果检测到所述中心位置51所在的图像块为采用帧内预测的图像块,则可以确定所述中心位置51不满足预定条件,因此进一步对所述对应区域的上边的中间点52进行检测,如果检测到所述对应区域的上边的中间点52所在的图像块为采用帧间预测的图像块,则可以确定所述对应区域的上边的中间点52满足预定条件,并确定将所述对应区域的上边的中间点52对应的图像块的运动矢量,以及根据所述对应区域的上边的中间点52对应的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量。
又例如,如果检测到所述对应区域的上边的中间点52所在的图像块为采用帧内预测的图像块,则可以确定所述对应区域的上边的中间点52不满足预定条件,并进一步对所述对应区域的右边的中间点53进行检测,如果检测到所述对应区域的右边的中间点53所在的图像块为采用帧间预测的图像块,则可以确定所述对应区域的右边的中间点53满足预定条件,并确定将所述对应 区域的右边的中间点53对应的图像块的运动矢量,以及根据所述对应区域的右边的中间点53对应的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量。
又例如,如果检测到所述对应区域的右边的中间点53所在的图像块为采用帧内预测的图像块,则可以确定所述对应区域的右边的中间点53不满足预定条件,并进一步对所述对应区域的下边的中间点54进行检测,如果检测到所述对应区域的下边的中间点54所在的图像块为采用帧间预测的图像块,则可以确定所述对应区域的下边的中间点54满足预定条件,并确定将所述对应区域的下边的中间点54对应的图像块的运动矢量,以及根据所述对应区域的下边的中间点54对应的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量。
又例如,如果检测到所述对应区域的下边的中间点54所在的图像块为采用帧内预测的图像块,则可以确定所述对应区域的下边的中间点54不满足预定条件,并进一步对所述对应区域的左边的中间点55进行检测,如果检测到所述对应区域的左边的中间点55所在的图像块为采用帧间预测的图像块,则可以确定所述对应区域的左边的中间点55满足预定条件,并确定将所述对应区域的左边的中间点55对应的图像块的运动矢量,以及根据所述对应区域的左边的中间点55对应的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量。如果检测到所述对应区域的左边的中间点55所在的图像块为采用帧内预测的图像块,则可以确定所述图像块不满足预定条件,并确定所述第一存储单元不存储所述图像块的运动矢量。
在某些实施例中,如果检测到所述对应区域中所有的特定位置所在的图像块均采用帧内预测的图像块,则可以确定所述图像块不满足预定条件,并确定所述第一存储单元不存储所述图像块的运动矢量。
在一些实施例中,所述运动矢量存储空间中的存储粒度的宽大于高,且所述对应区域中的至少一个特定位置包括所述对应区域的上边的至少一个位置和/或下边的至少一个位置。
以图2为例进行说明,假设所述运动矢量存储空间的存储粒度的宽201为16,高202为8,即所述运动矢量存储空间的存储粒度为16x8,则可以确定所述运动矢量存储空间的存储粒度的宽大于高,如果所述第一图像中的所述 已编码/已解码图像块中的图像块22呈宽221为4,高222为16的矩形状,且所述图像块22为所述对应区域,则所述图像块22中的左上角点包括所述对应区域的上边的至少一个位置。
在一些实施例中,所述运动矢量存储空间中的存储粒度的宽小于高,且所述对应区域中的至少一个特定位置包括所述对应区域的左边的至少一个位置和/或右边的至少一个位置。
以图3为例进行说明,假设所述运动矢量存储空间的存储粒度的宽301为8,高302为16,即所述运动矢量存储空间的存储粒度为8x16,则可以确定所述运动矢量存储空间的存储粒度的宽大于高,如果所述第一图像中的所述已编码/已解码图像块中的图像块32呈宽321为16,高322为4的矩形状,且所述图像块32为所述对应区域,则所述图像块22中的左上角点包括所述对应区域的上边的至少一个位置。
在一个实施例中,所述视频图像处理设备可以在视频参数集或序列参数集或图像参数集或序列头或图像头或条带头或矩形块头中获取用于标识所述运动矢量存储空间的存储粒度的标识。
在一个实施例中,所述视频图像处理设备可以在视频参数集或序列参数集或图像参数集或序列头或图像头或条带头或矩形块头中获取用于标识所述运动矢量存储空间的存储粒度的标识。
S102:将确定的图像块的运动矢量存储到所述运动矢量存储空间中。
本发明实施例中,视频图像处理设备可以将所述确定的图像块的运动矢量存储到所述存储粒度为非方形的运动矢量存储空间中。通过存储粒度呈非方形的运动矢量存储空间存储运动矢量,可以节省运动矢量存储空间的内存。
以图5为例,如果所述运动矢量存储空间中的第一存储单元的运动矢量是根据所述中心位置51对应的图像块的运动矢量确定的,则所述视频图像处理设备可以将所述中心位置51对应的图像块的运动矢量存储到所述运动矢量存储空间中。
又例如,如果所述运动矢量存储空间中的第一存储单元的运动矢量是根据所述对应区域的上边的中间点52对应的图像块的运动矢量确定的,则所述视频图像处理设备可以将所述对应区域的上边的中间点52对应的图像块的运动矢量存储到所述运动矢量存储空间中。
又例如,如果所述运动矢量存储空间中的第一存储单元的运动矢量是根据所述对应区域的右边的中间点53对应的图像块的运动矢量确定的,则所述视频图像处理设备可以将所述对应区域的右边的中间点53对应的图像块的运动矢量存储到所述运动矢量存储空间中。
又例如,如果所述运动矢量存储空间中的第一存储单元的运动矢量是根据所述对应区域的下边的中间点54对应的图像块的运动矢量确定的,则所述视频图像处理设备可以将所述对应区域的下边的中间点54对应的图像块的运动矢量存储到所述运动矢量存储空间中。
又例如,如果所述运动矢量存储空间中的第一存储单元的运动矢量是根据所述对应区域的左边的中间点55对应的图像块的运动矢量确定的,则所述视频图像处理设备可以将所述对应区域的左边的中间点55对应的图像块的运动矢量存储到所述运动矢量存储空间中。
S103:根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。
本发明实施例中,视频图像处理设备可以根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量,以实现对第二图像中的至少一个图像块的运动矢量的预测。
在一个实施例中,所述第一图像和第二图像的关系为以下任意一种情况:第一图像以外的至少一个图像;第一图像为第二图像参考帧列表中的一幅图像;第一图像为第二图像第一参考帧列表中的第一幅图像;第一图像为第二图像第二参考帧列表中的第一幅图像;第一图像为在时间顺序上与第二图像紧邻的前向图像;第一图像为在时间顺序上与第二图像紧邻的后向图像。
在一个实施例中,所述视频图像处理设备在根据所述运动矢量存储空间中所存储的运动矢量获得所述第二图像中的至少一个图像块的运动矢量时,可以根据所述第二图像中的至少一个图像块的坐标值及所述存储空间的存储粒度的宽和高确定所述第一图像的所述存储空间的运动矢量。
在一个实施例中,所述视频图像处理设备在根据所述第二图像中的至少一个图像块的坐标值及所述运动矢量存储空间的存储粒度的宽和高,确定所述第一图像的所述存储空间的运动矢量时,可以根据所述第二图像中的至少一个图像块的坐标值的横坐标除以所述运动矢量存储空间的存储粒度的宽及根据所 述第二图像中的至少一个图像块的坐标值的纵坐标除以所述运动矢量存储空间的存储颗粒度的高,获得所述第一图像中所述存储空间的位置,并根据所述存储空间的位置获得所述运动矢量。
例如,假设所述第二图像中至少一个图像块的坐标值的横坐标为x、纵坐标为y,所述运动矢量存储空间的存储粒度为16x8,则所述视频图像处理设备可以根据所述第二图像中的至少一个图像块的坐标值的横坐标x除以所述运动矢量存储空间的存储粒度的宽16,以及根据所述第二图像中的至少一个图像块的坐标值的纵坐标y除以所述运动矢量存储空间的存储颗粒度的高8,获得所述第一图像中所述存储空间的位置为(x/16,y/8),因此,所述视频图像处理设备可以根据所述存储空间的位置(x/16,y/8)获得运动矢量。
本发明实施例中,视频图像处理设备可以根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到非方形的运动矢量存储空间中的图像块的运动矢量,将所述确定的图像块的运动矢量存储到所述运动矢量存储空间中,以及根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。通过这种实施方式,可以节省运动矢量存储空间的内存开销,提高预测的准确性。
请参见图6,图6是本发明实施例提供的另一种视频图像处理方法的流程示意图,所述方法可以应用于视频图像处理设备,其中,所述视频图像处理设备的具体解释如前所述。具体地,本发明实施例的所述方法包括如下步骤。
S601:当所述第一图像中的所述已编码/已解码图像块中,呈宽小于高的图像块的数量或者比例达到阈值数值时,视频图像处理设备可以选择具有宽大于高的存储粒度的运动矢量存储空间。
本发明实施例中,当所述第一图像中的所述已编码/已解码图像块中,呈宽小于高的图像块的数量或者比例达到阈值数值时,视频图像处理设备可以选择具有宽大于高的存储粒度的运动矢量存储空间。
例如,假设从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,确定出所述第一图像中的已编码/已解码图像块的数量为100,其中,宽小于高的图像块的数量为70,阈值数值为50,所述70大于50,则可以选择具有宽16大于高8的存储粒度为16x8的运 动矢量存储空间。
S602:根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述宽大于高的运动矢量存储空间的运动矢量。
本发明实施例中,视频图像处理设备可以根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述宽大于高的运动矢量存储空间的运动矢量。
在一个实施例中,所述运动矢量存储空间中包括第一存储单元,所述视频图像处理设备可以获取所述运动矢量存储空间中的第一存储单元,并根据所述第一存储单元在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量。其中,所述特定位置的解释如前所述,此处不再赘述。
以图4为例,所述视频图像处理设备可以针对所述运动矢量存储空间中的第一存储单元41,根据所述第一存储单元41在所述第一图像中的对应区域42中的左上角点421所在的图像块的运动矢量,确定存储到所述第一存储单元41的运动矢量为所述第一图像中的对应区域42中的左上角点421所在的图像块的运动矢量。
在一个实施例中,所述视频图像处理设备在根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量时,可以按预定顺序,依次对所述第一图像中的对应区域中的特定位置集中的各特定位置进行遍历,根据遍历到的第一个满足预定条件的特定位置对应的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量。
在一个实施例中,所述对应区域中的特定位置集包括所述对应区域中的中心位置、所述对应区域的上边的中间点、所述对应区域的右边的中间点、所述对应区域的下边的中间点、所述对应区域的左边的中间点;在某些实施例中,所述预定顺序依次为:所述对应区域中的中心位置、所述对应区域的上边的中间点、所述对应区域的右边的中间点、所述对应区域的下边的中间点、所述对应区域的左边的中间点。
以图5为例进行说明,假设所述预定顺序依次为所述对应区域的中心位置 51、所述对应区域的上边的中间点52、所述对应区域的右边的中间点53、所述对应区域的下边的中间点54、所述对应区域的左边的中间点55,则所述视频图像处理设备可以按预定顺序,首先对所述第一图像中的对应区域中的中心位置51进行检测,如果检测到所述中心位置51所在的图像块为采用帧间预测的图像块,则可以确定所述中心位置51满足预定条件,并确定将所述中心位置51对应的图像块的运动矢量,从而根据所述中心位置51对应的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量。
又例如,如果检测到所述中心位置51所在的图像块为采用帧内预测的图像块,则可以确定所述中心位置51不满足预定条件,因此进一步对所述对应区域的上边的中间点52进行检测,如果检测到所述对应区域的上边的中间点52所在的图像块为采用帧间预测的图像块,则可以确定所述对应区域的上边的中间点52满足预定条件,并确定将所述对应区域的上边的中间点52对应的图像块的运动矢量,以及根据所述对应区域的上边的中间点52对应的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量。
又例如,如果检测到所述对应区域的上边的中间点52所在的图像块为采用帧内预测的图像块,则可以确定所述对应区域的上边的中间点52不满足预定条件,并进一步对所述对应区域的右边的中间点53进行检测,如果检测到所述对应区域的右边的中间点53所在的图像块为采用帧间预测的图像块,则可以确定所述对应区域的右边的中间点53满足预定条件,并确定将所述对应区域的右边的中间点53对应的图像块的运动矢量,以及根据所述对应区域的右边的中间点53对应的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量。
又例如,如果检测到所述对应区域的右边的中间点53所在的图像块为采用帧内预测的图像块,则可以确定所述对应区域的右边的中间点53不满足预定条件,并进一步对所述对应区域的下边的中间点54进行检测,如果检测到所述对应区域的下边的中间点54所在的图像块为采用帧间预测的图像块,则可以确定所述对应区域的下边的中间点54满足预定条件,并确定将所述对应区域的下边的中间点54对应的图像块的运动矢量,以及根据所述对应区域的下边的中间点54对应的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量。
又例如,如果检测到所述对应区域的下边的中间点54所在的图像块为采用帧内预测的图像块,则可以确定所述对应区域的下边的中间点54不满足预定条件,并进一步对所述对应区域的左边的中间点55进行检测,如果检测到所述对应区域的左边的中间点55所在的图像块为采用帧间预测的图像块,则可以确定所述对应区域的左边的中间点55满足预定条件,并确定将所述对应区域的左边的中间点55对应的图像块的运动矢量,以及根据所述对应区域的左边的中间点55对应的图像块的运动矢量,确定存储到所述第一存储单元的运动矢量。如果检测到所述对应区域的左边的中间点55所在的图像块为采用帧内预测的图像块,则可以确定所述图像块不满足预定条件,并确定所述第一存储单元不存储所述图像块的运动矢量。
S603:将所述确定的图像块的运动矢量存储到所述宽大于高的运动矢量存储空间中。
本发明实施例中,视频图像处理设备可以将所述确定的图像块的运动矢量存储到所述宽大于高的运动矢量存储空间中。具体实施例及举例如前所述,此处不再赘述。
S604:根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。
本发明实施例中,视频图像处理设备可以根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。具体实施例及举例如前所述,此处不再赘述。
本发明实施例中,当所述第一图像中的所述已编码/已解码图像块中,呈宽小于高的图像块的数量或者比例达到阈值数值时,视频图像处理设备可以选择具有宽大于高的存储粒度的运动矢量存储空间,对所述运动矢量存储空间中的第一存储单元,根据所述第一存储单元在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述存储空间的运动矢量,将所述确定的运动矢量存储到所述运动矢量存储空间中,根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。通过这种方式,节省运动矢量存储空间的内存,提高预测的准确性。
请参见图7,图7是本发明实施例提供的又一种视频图像处理方法的流程 示意图,所述方法可以应用于视频图像处理设备,其中,所述视频图像处理设备的具体解释如前所述。具体地,本发明实施例的所述方法包括如下步骤。
S701:当所述第一图像中的所述已编码/已解码图像块中,呈宽大于高的图像块的数量或者比例达到阈值数值时,选择具有宽小于高的存储粒度的运动矢量存储空间。
本发明实施例中,当所述第一图像中的所述已编码/已解码图像块中,呈宽大于高的图像块的数量或者比例达到阈值数值时,选择具有宽小于高的存储粒度的运动矢量存储空间。
例如,假设从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,确定出所述第一图像中的已编码/已解码图像块的数量为100,其中,宽大于高的图像块的数量为60,阈值数值为1/2,60/100大于1/2,则可以选择具有宽8小于高16的存储粒度为8x16的运动矢量存储空间。
S702:根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述宽小于高的存储粒度的运动矢量存储空间的运动矢量。
本发明实施例中,视频图像处理设备可以根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述宽小于高的存储粒度的运动矢量存储空间的运动矢量。具体实施例及举例如前所述,此处不再赘述。
S703:将所述确定的图像块的运动矢量存储到所述宽小于高的存储粒度的运动矢量存储空间中。
本发明实施例中,视频图像处理设备可以将所述确定的图像块的运动矢量存储到所述宽小于高的存储粒度的运动矢量存储空间中。具体实施例及举例如前所述,此处不再赘述。
S704:根据所述宽小于高的存储粒度的运动矢量存储空间中所存储的运动矢量,获得第二图像中的至少一个图像块的运动矢量。
本发明实施例中,视频图像处理设备可以根据所述宽小于高的存储粒度的运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。具体实施例及举例如前所述,此处不再赘述。
本发明实施例中,当所述第一图像中的所述已编码/已解码图像块中,呈宽大于高的图像块的数量或者比例达到阈值数值时,选择具有宽小于高的存储粒度的运动矢量存储空间,对所述运动矢量存储空间中的第一存储单元,根据所述第一存储单元在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述存储空间的运动矢量,将所述确定的运动矢量存储到所述运动矢量存储空间中,并根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。通过这种方式,节省运动矢量存储空间的内存,提高预测的准确性。
请参见图8,图8是本发明实施例提供的一种视频图像处理设备的结构示意图,具体的,所述视频图像处理设备包括:存储器801、处理器802以及数据接口803。
所述存储器801可以包括易失性存储器(volatile memory);存储器801也可以包括非易失性存储器(non-volatile memory);存储器801还可以包括上述种类的存储器的组合。所述处理器802可以是中央处理器(central processing unit,CPU)。所述处理器802还可以进一步包括硬件视频图像处理设备。上述硬件视频图像处理设备可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。具体例如可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA)或其任意组合。
进一步地,所述存储器801用于存储程序指令,当程序指令被执行时所述处理器802可以调用存储器801中存储的程序指令,用于执行如下步骤:
根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,其中,所述运动矢量存储空间的存储粒度呈非正方形;
将所述确定的图像块的运动矢量存储到所述运动矢量存储空间中;
根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。
进一步地,所述运动矢量存储空间的存储粒度呈矩形。
进一步地,所述运动矢量存储空间的存储粒度呈矩形。
进一步地,所述所述运动矢量存储空间的存储粒度为N x M,其中N与M为不相等的正整数。
进一步地,N为M的整数倍,或者,M为N的整数倍。
进一步地,N为M的整数倍,或者,M为N的整数倍。
进一步地,所述运动矢量存储空间的存储粒度包括以下任意一种:
8x16、16x8、16x32、32x16、8x32、32x8、16x64、64x16。
进一步地,所述运动矢量存储空间的存储粒度的单位为像素或4x4、8x8图像块。
进一步地,所述所述第一图像中的所述已编码/已解码图像块中至少部分图像块呈矩形状。
进一步地,所述运动矢量存储空间的存储粒度的宽大于高。
进一步地,所述第一图像中的所述已编码/已解码图像块中至少部分图像块呈宽小于高的矩形状。
进一步地,所述处理器802从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,之前还用于:
当所述第一图像中的所述已编码/已解码图像块中,呈宽小于高的图像块的数量或者比例达到阈值数值时,选择具有宽大于高的存储粒度的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
进一步地,所述运动矢量存储空间的存储粒度的宽小于高。
进一步地,所述第一图像中的所述已编码/已解码图像块中至少部分图像块呈宽大于高的矩形状。
进一步地,所述处理器802存从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,之前还用于:
当所述第一图像中的所述已编码/已解码图像块中,呈宽大于高的图像块的数量或者比例达到阈值数值时,选择具有宽小于高的存储粒度的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
进一步地,所述处理器802从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,还用于:
获取所述第一图像中已编码/已解码图像块的第I帧图像的纹理信息;
根据所述第I帧图像的纹理信息,确定所述运动矢量存储空间的存储粒度。
进一步地,所述处理器802根据所述第I帧图像的纹理信息,确定所述运动矢量存储空间的存储粒度时,具体用于:
根据所述第I帧图像的纹理信息,判断所述第I帧图像的横向纹理数量是否大于纵向纹理数量;
如果判断结果为是,则确定所述运动矢量存储空间的存储粒度为N x M,其中,N>M;
如果判断结果为否,则确定所述运动矢量存储空间的存储粒度为N x M,其中,N<M。
进一步地,所述处理器802从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量时,具体用于:
根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量。
进一步地,所述第一图像和第二图像的关系为以下任意一种情况:
第一图像以外的至少一个图像;
第一图像为第二图像参考帧列表中的一幅图像;
第一图像为第二图像第一参考帧列表中的第一幅图像;
第一图像为第二图像第二参考帧列表中的第一幅图像;
第一图像为在时间顺序上与第二图像紧邻的前向图像;
第一图像为在时间顺序上与第二图像紧邻的后向图像。
进一步地,所述处理器802根据所述运动矢量存储空间中所存储的运动矢量获得所述第二图像中的至少一个图像块的运动矢量时,具体用于:
根据所述第二图像中的至少一个图像块的坐标值及所述运动矢量存储空间的存储粒度的宽和高,确定所述第一图像的所述存储空间的运动矢量。
进一步地,所述处理器802根据所述第二图像中的至少一个图像块的坐标值及所述运动矢量存储空间的存储粒度的宽和高,确定所述第一图像的所述存储空间的运动矢量时,具体用于:
根据所述第二图像中的至少一个图像块的坐标值的横坐标除以所述存储粒度的宽及根据所述第二图像中的至少一个图像块的坐标值的纵坐标除以所 述存储颗粒度的高,获得所述第一图像中所述存储空间的位置,并根据所述存储空间的位置获得所述运动矢量。
进一步地,所述至少一个特定位置包括以下位置的任意组合:
所述对应区域的中心位置;
所述对应区域的左上角点;
所述对应区域的右上角点;
所述对应区域的左下角点;
所述对应区域的右下角点;
所述对应区域的上边的中间点;
所述对应区域的下边的中间点;
所述对应区域的左边的中间点;
所述对应区域的右边的中间点;
所述对应区域的上边的左1/4点;
所述对应区域的上边的右1/4点;
所述对应区域的下边的左1/4点;
所述对应区域的下边的右1/4点;
所述对应区域的左边的上1/4点;
所述对应区域的左边的下1/4点;
所述对应区域的右边的上1/4点;
所述对应区域的右边的下1/4点。
进一步地,所述处理器802根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量时,具体用于:
按预定顺序,依次对所述第一图像中的对应区域中的特定位置集中的各特定位置进行遍历;
根据遍历到的第一个满足预定条件的特定位置对应的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量。
进一步地,所述满足预定条件的特定位置,包括:
特定位置所在的图像块为采用帧间预测的图像块。
进一步地,所述对应区域中的特定位置集包括所述对应区域中的中心位 置、所述对应区域的上边的中间点、所述对应区域的右边的中间点、所述对应区域的下边的中间点、所述对应区域的左边的中间点;
所述预定顺序依次为:所述对应区域中的中心位置、所述对应区域的上边的中间点、所述对应区域的右边的中间点、所述对应区域的下边的中间点、所述对应区域的左边的中间点。
进一步地,所述运动矢量存储空间中的存储粒度的宽大于高,且所述对应区域中的至少一个特定位置包括所述对应区域的上边的至少一个位置和/或下边的至少一个位置。
进一步地,所述运动矢量存储空间中的存储粒度的宽小于高,且所述对应区域中的至少一个特定位置包括所述对应区域的左边的至少一个位置和/或右边的至少一个位置。
进一步地,在视频参数集或序列参数集或图像参数集或序列头或图像头或条带头或矩形块头中获取用于标识所述运动矢量存储空间的存储粒度的标识。
进一步地,在视频参数集或序列参数集或图像参数集或序列头或图像头或条带头或矩形块头中获取用于标识所述运动矢量存储空间的存储粒度的标识。
本发明实施例中,视频图像处理设备可以根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到非方形的运动矢量存储空间中的图像块的运动矢量,将所述确定的图像块的运动矢量存储到所述运动矢量存储空间中,以及根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。通过这种实施方式,可以节省运动矢量存储空间的内存开销,提高预测的准确性。
在本发明的实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本发明实施例图1、图6或图7中描述的视频图像处理方法方式,也可实现图8所述本发明所对应实施例的视频图像处理设备,在此不再赘述。
所述计算机可读存储介质可以是前述任一项实施例所述的设备的内部存储单元,例如设备的硬盘或内存。所述计算机可读存储介质也可以是所述设备的外部存储设备,例如所述设备上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述计算机可读存储介质还可以既包括所述设备的内部存储单 元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述设备所需的其他程序和数据。所述计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所揭露的仅为本发明部分实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (55)

  1. 一种视频图像处理方法,其特征在于,包括:
    根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,其中,所述运动矢量存储空间的存储粒度呈非正方形;
    将所述确定的图像块的运动矢量存储到所述运动矢量存储空间中;
    根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。
  2. 根据权利要求1所述的视频图像处理方法,其特征在于,
    所述运动矢量存储空间的存储粒度呈矩形。
  3. 根据权利要求2所述的视频图像处理方法,其特征在于,
    所述运动矢量存储空间的存储粒度为N x M,其中N与M为不相等的正整数。
  4. 根据权利要求3所述的视频图像处理方法,其特征在于,N为M的整数倍,或者,M为N的整数倍。
  5. 根据权利要求4所述的视频图像处理方法,其特征在于,所述运动矢量存储空间的存储粒度以下任意一种:
    8x16、16x8、16x32、32x16、8x32、32x8、16x64、64x16。
  6. 根据权利要求1-5任一项所述的视频图像处理方法,其特征在于,所述运动矢量存储空间的存储粒度的单位为像素或4x4、8x8图像块。
  7. 根据权利要求3所述的视频图像处理方法,其特征在于,所述第一图像中的所述已编码/已解码图像块中至少部分图像块呈矩形状。
  8. 根据权利要求7所述的视频图像处理方法,其特征在于,所述运动矢量存储空间的存储粒度的宽大于高。
  9. 根据权利要求8所述的视频图像处理方法,其特征在于,所述第一图像中的所述已编码/已解码图像块中至少部分图像块呈宽小于高的矩形状。
  10. 根据权利要求9所述的视频图像处理方法,其特征在于,所述从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,之前还包括:
    当所述第一图像中的所述已编码/已解码图像块中,呈宽小于高的图像块的数量或者比例达到阈值数值时,选择具有宽大于高的存储粒度的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
  11. 根据权利要求7所述的视频图像处理方法,其特征在于,所述运动矢量存储空间的存储粒度的宽小于高。
  12. 根据权利要求11所述的视频图像处理方法,其特征在于,所述第一图像中的所述已编码/已解码图像块中至少部分图像块呈宽大于高的矩形状。
  13. 根据权利要求12所述的视频图像处理方法,其特征在于,所述从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,之前还包括:
    当所述第一图像中的所述已编码/已解码图像块中,呈宽大于高的图像块的数量或者比例达到阈值数值时,选择具有宽小于高的存储粒度的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
  14. 根据权利要求3所述的视频图像处理方法,其特征在于,所述从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,之前还包括:
    获取所述第一图像中已编码/已解码图像块的第I帧图像的纹理信息;
    根据所述第I帧图像的纹理信息,确定所述运动矢量存储空间的存储粒度。
  15. 根据权利要求14所述的视频图像处理方法,其特征在于,所述根据所述第I帧图像的纹理信息,确定所述运动矢量存储空间的存储粒度,包括:
    根据所述第I帧图像的纹理信息,判断所述第I帧图像的横向纹理数量是否大于纵向纹理数量;
    如果判断结果为是,则确定所述运动矢量存储空间的存储粒度为N x M,其中,N<M;
    如果判断结果为否,则确定所述运动矢量存储空间的存储粒度为N x M,其中,N>M。
  16. 根据权利要求1-15任一项所述的视频图像处理方法,其特征在于,所述从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,包括:
    根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量。
  17. 根据权利要求1所述的视频图像处理方法,其特征在于,所述第一图像和第二图像的关系为以下任意一种情况:
    第一图像以外的至少一个图像;
    第一图像为第二图像参考帧列表中的一幅图像;
    第一图像为第二图像第一参考帧列表中的第一幅图像;
    第一图像为第二图像第二参考帧列表中的第一幅图像;
    第一图像为在时间顺序上与第二图像紧邻的前向图像;
    第一图像为在时间顺序上与第二图像紧邻的后向图像。
  18. 根据权利要求1-17任一项所述的视频图像处理方法,所述根据所述运动矢量存储空间中所存储的运动矢量获得所述第二图像中的至少一个图像块的运动矢量,包括:
    根据所述第二图像中的至少一个图像块的坐标值及所述运动矢量存储空间的存储粒度的宽和高,确定所述第一图像的所述存储空间的运动矢量。
  19. 根据权利要求18所述的视频图像处理方法,其特征在于,所述根据所述第二图像中的至少一个图像块的坐标值及所述运动矢量存储空间的存储粒度的宽和高,确定所述第一图像的所述存储空间的运动矢量,包括:
    根据所述第二图像中的至少一个图像块的坐标值的横坐标除以所述存储粒度的宽及根据所述第二图像中的至少一个图像块的坐标值的纵坐标除以所述存储颗粒度的高,获得所述第一图像中所述存储空间的位置,并根据所述存储空间的位置获得所述运动矢量。
  20. 根据权利要求16所述的视频图像处理方法,其特征在于,所述至少一个特定位置包括以下位置的任意组合:
    所述对应区域的中心位置;
    所述对应区域的左上角点;
    所述对应区域的右上角点;
    所述对应区域的左下角点;
    所述对应区域的右下角点;
    所述对应区域的上边的中间点;
    所述对应区域的下边的中间点;
    所述对应区域的左边的中间点;
    所述对应区域的右边的中间点;
    所述对应区域的上边的左1/4点;
    所述对应区域的上边的右1/4点;
    所述对应区域的下边的左1/4点;
    所述对应区域的下边的右1/4点;
    所述对应区域的左边的上1/4点;
    所述对应区域的左边的下1/4点;
    所述对应区域的右边的上1/4点;
    所述对应区域的右边的下1/4点。
  21. 根据权利要求16所述的视频图像处理方法,其特征在于,所述根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量,包括:
    按预定顺序,依次对所述第一图像中的对应区域中的特定位置集中的各特定位置进行遍历;
    根据遍历到的第一个满足预定条件的特定位置对应的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量。
  22. 根据权利要求16或21所述的视频图像处理方法,其特征在于,所述满足预定条件的特定位置包括:
    特定位置所在的图像块为采用帧间预测的图像块。
  23. 根据权利要求21所述的视频图像处理方法,其特征在于,
    所述对应区域中的特定位置集包括所述对应区域中的中心位置、所述对应区域的上边的中间点、所述对应区域的右边的中间点、所述对应区域的下边的中间点、所述对应区域的左边的中间点;
    所述预定顺序依次为:所述对应区域中的中心位置、所述对应区域的上边的中间点、所述对应区域的右边的中间点、所述对应区域的下边的中间点、所述对应区域的左边的中间点。
  24. 根据权利要求16所述的视频图像处理方法,其特征在于,
    所述运动矢量存储空间中的存储粒度的宽大于高,且所述对应区域中的至少一个特定位置包括所述对应区域的上边的至少一个位置和/或下边的至少一个位置。
  25. 根据权利要求16所述的视频图像处理方法,其特征在于,
    所述运动矢量存储空间中的存储粒度的宽小于高,且所述对应区域中的至少一个特定位置包括所述对应区域的左边的至少一个位置和/或右边的至少一 个位置。
  26. 根据权利要求1至25任一项所述的视频图像处理方法,其特征在于,所述方法还包括:
    在视频参数集或序列参数集或图像参数集或序列头或图像头或条带头或矩形块头中获取用于标识所述运动矢量存储空间的存储粒度的标识。
  27. 根据权利要求1至25任一项所述的视频图像处理方法,其特征在于,所述方法还包括:
    在视频参数集或序列参数集或图像参数集或序列头或图像头或条带头或矩形块头中获取用于标识所述运动矢量存储空间的存储粒度的标识。
  28. 一种视频图像处理设备,其特征在于,包括:存储器和处理器;
    所述存储器,用于存储程序指令;
    所述处理器,用于调用所述程序指令,当所述程序指令被执行时,用于执行以下操作:
    根据运动矢量存储空间的存储粒度从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,其中,所述运动矢量存储空间的存储粒度呈非正方形;
    将所述确定的图像块的运动矢量存储到所述运动矢量存储空间中;
    根据所述运动矢量存储空间中所存储的运动矢量获得第二图像中的至少一个图像块的运动矢量。
  29. 根据权利要求28所述的视频图像处理设备,其特征在于,
    所述运动矢量存储空间的存储粒度呈矩形。
  30. 根据权利要求29所述的视频图像处理设备,其特征在于,
    所述运动矢量存储空间的存储粒度为N x M,其中N与M为不相等的正整数。
  31. 根据权利要求30所述的视频图像处理设备,其特征在于,N为M的整数倍,或者,M为N的整数倍。
  32. 根据权利要求31所述的视频图像处理设备,其特征在于,所述运动矢量存储空间的存储粒度包括以下任意一种:
    8x16、16x8、16x32、32x16、8x32、32x8、16x64、64x16。
  33. 根据权利要求28-32任一项所述的视频图像处理设备,其特征在于,所述运动矢量存储空间的存储粒度的单位为像素或4x4、8x8图像块。
  34. 根据权利要求30所述的视频图像处理设备,其特征在于,所述第一
    图像中的所述已编码/已解码图像块中至少部分图像块呈矩形状。
  35. 根据权利要求34所述的视频图像处理设备,其特征在于,所述运动矢量存储空间的存储粒度的宽大于高。
  36. 根据权利要求35所述的视频图像处理设备,其特征在于,所述第一图像中的所述已编码/已解码图像块中至少部分图像块呈宽小于高的矩形状。
  37. 根据权利要求36所述的视频图像处理设备,其特征在于,所述处理器从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,还用于:
    当所述第一图像中的所述已编码/已解码图像块中,呈宽小于高的图像块的数量或者比例达到阈值数值时,选择具有宽大于高的存储粒度的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
  38. 根据权利要求34述的视频图像处理设备,其特征在于,所述运动矢量存储空间的存储粒度的宽小于高。
  39. 根据权利要求38所述的视频图像处理设备,其特征在于,所述第一 图像中的所述已编码/已解码图像块中至少部分图像块呈宽大于高的矩形状。
  40. 根据权利要求39所述的视频图像处理设备,其特征在于,所述处理器从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量之前,还用于:
    当所述第一图像中的所述已编码/已解码图像块中,呈宽大于高的图像块的数量或者比例达到阈值数值时,选择具有宽小于高的存储粒度的运动矢量存储空间对所述第一图像中的图像块的运动矢量进行存储。
  41. 根据权利要求30所述的视频图像处理设备,其特征在于,所述处理器从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量,之前还用于:
    获取所述第一图像中已编码/已解码图像块的第I帧图像的纹理信息;
    根据所述第I帧图像的纹理信息,确定所述运动矢量存储空间的存储粒度。
  42. 根据权利要求41所述的视频图像处理设备,其特征在于,所述处理器根据所述第I帧图像的纹理信息,确定所述运动矢量存储空间的存储粒度时,具体用于:
    根据所述第I帧图像的纹理信息,判断所述第I帧图像的横向纹理数量是否大于纵向纹理数量;
    如果判断结果为是,则确定所述运动矢量存储空间的存储粒度为N x M,其中,N<M;
    如果判断结果为否,则确定所述运动矢量存储空间的存储粒度为N x M,其中,N>M。
  43. 根据权利要求30-42任一项所述的视频图像处理设备,其特征在于,所述处理器从第一图像中的已编码/已解码图像块中确定待存储到运动矢量存储空间中的图像块的运动矢量时,具体用于:
    根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述运动矢量存储空 间的运动矢量。
  44. 根据权利要求30所述的视频图像处理设备,其特征在于,所述第一图像和第二图像的关系为以下任意一种情况:
    第一图像以外的至少一个图像;
    第一图像为第二图像参考帧列表中的一幅图像;
    第一图像为第二图像第一参考帧列表中的第一幅图像;
    第一图像为第二图像第二参考帧列表中的第一幅图像;
    第一图像为在时间顺序上与第二图像紧邻的前向图像;
    第一图像为在时间顺序上与第二图像紧邻的后向图像。
  45. 根据权利要求30-44任一项所述的视频图像处理设备,其特征在于,所述根据所述运动矢量存储空间中所存储的运动矢量获得所述第二图像中的至少一个图像块的运动矢量,包括:
    根据所述第二图像中的至少一个图像块的坐标值及所述运动矢量存储空间的存储粒度的宽和高,确定所述第一图像的所述存储空间的运动矢量。
  46. 根据权利要求45所述的视频图像处理设备,其特征在于,所述处理器根据所述第二图像中的至少一个图像块的坐标值及所述运动矢量存储空间的存储粒度的宽和高,确定所述第一图像的所述存储空间的运动矢量时,具体用于:
    根据所述第二图像中的至少一个图像块的坐标值的横坐标除以所述存储颗粒度的宽及根据所述第二图像中的至少一个图像块的坐标值的纵坐标除以所述存储颗粒度的高,获得所述第一图像中所述存储空间的位置,并根据所述存储空间的位置获得所述运动矢量。
  47. 根据权利要求43所述的视频图像处理设备,其特征在于,所述至少一个特定位置包括以下位置的任意组合:
    所述对应区域的中心位置;
    所述对应区域的左上角点;
    所述对应区域的右上角点;
    所述对应区域的左下角点;
    所述对应区域的右下角点;
    所述对应区域的上边的中间点;
    所述对应区域的下边的中间点;
    所述对应区域的左边的中间点;
    所述对应区域的右边的中间点;
    所述对应区域的上边的左1/4点;
    所述对应区域的上边的右1/4点;
    所述对应区域的下边的左1/4点;
    所述对应区域的下边的右1/4点;
    所述对应区域的左边的上1/4点;
    所述对应区域的左边的下1/4点;
    所述对应区域的右边的上1/4点;
    所述对应区域的右边的下1/4点。
  48. 根据权利要求43所述的视频图像处理设备,其特征在于,
    所述根据所述运动矢量存储空间的存储粒度在所述第一图像中的对应区域中至少一个特定位置所在的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量,包括:
    按预定顺序,依次对所述第一图像中的对应区域中的特定位置集中的各特定位置进行遍历;
    根据遍历到的第一个满足预定条件的特定位置对应的图像块的运动矢量,确定存储到所述运动矢量存储空间的运动矢量。
  49. 根据权利要求43或48所述的视频图像处理,其特征在于,所述满足预定条件的特定位置,包括:
    特定位置所在的图像块为采用帧间预测的图像块。
  50. 根据权利要求48所述的视频图像处理设备,其特征在于,
    所述对应区域中的特定位置集包括所述对应区域中的中心位置、所述对应区域的上边的中间点、所述对应区域的右边的中间点、所述对应区域的下边的中间点、所述对应区域的左边的中间点;
    所述预定顺序依次为:所述对应区域中的中心位置、所述对应区域的上边的中间点、所述对应区域的右边的中间点、所述对应区域的下边的中间点、所述对应区域的左边的中间点。
  51. 根据权利要求43所述的视频图像处理设备,其特征在于,
    所述运动矢量存储空间中的存储粒度的宽大于高,且所述对应区域中的至少一个特定位置包括所述对应区域的上边的至少一个位置和/或下边的至少一个位置。
  52. 根据权利要求43所述的视频图像处理设备,其特征在于,
    所述运动矢量存储空间中的存储粒度的宽小于高,且所述对应区域中的至少一个特定位置包括所述对应区域的左边的至少一个位置和/或右边的至少一个位置。
  53. 根据权利要求28至52任一项所述的视频图像处理设备,其特征在于,所述处理器还用于:
    在视频参数集或序列参数集或图像参数集或序列头或图像头或条带头或矩形块头中编码标识有所述运动矢量存储空间的存储粒度。
  54. 根据权利要求28至52任一项所述的视频图像处理设备,其特征在于,所述处理器还用于:
    在视频参数集或序列参数集或图像参数集或序列头或图像头或条带头或矩形块头中获取用于标识所述运动矢量存储空间的存储粒度的标识。
  55. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至27任一项所述方法。
PCT/CN2019/070316 2019-01-03 2019-01-03 一种视频图像处理方法、设备及存储介质 WO2020140244A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980004934.3A CN111713105B (zh) 2019-01-03 2019-01-03 一种视频图像处理方法、设备及存储介质
PCT/CN2019/070316 WO2020140244A1 (zh) 2019-01-03 2019-01-03 一种视频图像处理方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/070316 WO2020140244A1 (zh) 2019-01-03 2019-01-03 一种视频图像处理方法、设备及存储介质

Publications (1)

Publication Number Publication Date
WO2020140244A1 true WO2020140244A1 (zh) 2020-07-09

Family

ID=71406639

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/070316 WO2020140244A1 (zh) 2019-01-03 2019-01-03 一种视频图像处理方法、设备及存储介质

Country Status (2)

Country Link
CN (1) CN111713105B (zh)
WO (1) WO2020140244A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115586798B (zh) * 2022-12-12 2023-03-24 广东电网有限责任公司湛江供电局 一种无人机防坠毁方法和系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585473A (zh) * 2003-08-18 2005-02-23 联发科技股份有限公司 存储已解码宏块运动向量的存储器使用方法
CN102065290A (zh) * 2009-11-11 2011-05-18 联发科技股份有限公司 视讯译码装置、存储运动矢量信息的方法及存储器分配方法
CN103444174A (zh) * 2011-03-09 2013-12-11 佳能株式会社 视频编码和解码
US20140211854A1 (en) * 2013-01-30 2014-07-31 Ati Technologies Ulc Apparatus and method for video processing
CN105516724A (zh) * 2014-09-23 2016-04-20 浙江大学 一种运动信息存储压缩方法
CN106331724A (zh) * 2015-06-26 2017-01-11 北京君正集成电路股份有限公司 一种hevc中的运动矢量预测方法及装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09501024A (ja) * 1993-07-30 1997-01-28 ブリテイッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー 画像データのコード化
JP2000050283A (ja) * 1998-07-27 2000-02-18 Sony Corp 符号化装置及び符号化方法
CN100579225C (zh) * 2007-03-28 2010-01-06 华为技术有限公司 图像数据的存取和解码方法及解码装置
CN100544442C (zh) * 2007-08-07 2009-09-23 华亚微电子(上海)有限公司 一种适用于运动估计的片内存储的方法
CN101783958B (zh) * 2010-02-10 2011-10-05 中国科学院计算技术研究所 Avs视频标准中时域直接模式运动矢量的计算方法和装置
CN102075762B (zh) * 2010-12-31 2012-12-05 北京大学深圳研究生院 用于视频编码器的帧间预测电路及其实现方法
GB2501835B (en) * 2011-03-09 2014-09-03 Canon Kk Video encoding and decoding
CN102223543B (zh) * 2011-06-13 2013-09-04 四川虹微技术有限公司 参考像素读取存储系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1585473A (zh) * 2003-08-18 2005-02-23 联发科技股份有限公司 存储已解码宏块运动向量的存储器使用方法
CN102065290A (zh) * 2009-11-11 2011-05-18 联发科技股份有限公司 视讯译码装置、存储运动矢量信息的方法及存储器分配方法
CN103444174A (zh) * 2011-03-09 2013-12-11 佳能株式会社 视频编码和解码
US20140211854A1 (en) * 2013-01-30 2014-07-31 Ati Technologies Ulc Apparatus and method for video processing
CN105516724A (zh) * 2014-09-23 2016-04-20 浙江大学 一种运动信息存储压缩方法
CN106331724A (zh) * 2015-06-26 2017-01-11 北京君正集成电路股份有限公司 一种hevc中的运动矢量预测方法及装置

Also Published As

Publication number Publication date
CN111713105B (zh) 2022-07-15
CN111713105A (zh) 2020-09-25

Similar Documents

Publication Publication Date Title
CN107925773B (zh) 使用自适应去块滤波编码和解码图像的方法及其装置
US11917140B2 (en) Selection of an extended intra prediction mode
US11889102B2 (en) Filtering method for removing blocking artifact and apparatus
CN107046645B9 (zh) 图像编解码方法及装置
CN110036637B (zh) 去噪声化已重构图像的方法及装置
US20230054879A1 (en) Video decoding method and apparatus, and video encoding method and apparatus
KR102558269B1 (ko) 적응적인 디블록킹 필터링을 이용하는 영상 부호화 방법과 영상 복호화 방법 및 장치
KR102596401B1 (ko) 비디오 부/복호화를 위한 비정형 블록 기반 움직임 예측 및 보상 방법 및 그 장치
US11190766B2 (en) Method and apparatus for determining division of coding unit, computing device, and readable storage medium
WO2020140244A1 (zh) 一种视频图像处理方法、设备及存储介质
CN114363632A (zh) 帧内预测方法、编解码方法、编解码器、系统、电子设备和存储介质
CN113691811B (zh) 编码块划分方法、装置、系统及存储介质
CN111683245B (zh) 基于纹理相似度的cu划分决策
CN112449181A (zh) 一种编解码方法、装置及其设备
CN114793284B (zh) 在视频编解码中应用自适应环路滤波器的系统和方法
KR20230012218A (ko) 신경망 기반의 인-루프 필터를 이용한 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장한 기록 매체
KR20230170597A (ko) 영상 부호화/복호화 방법, 장치 및 비트스트림을 저장하는 기록 매체
CN115955572A (zh) 编码方法、解码方法、电子设备和计算机可读存储介质
CN112204986A (zh) 视频编解码的方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19907288

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

Country of ref document: EP

Kind code of ref document: A1