WO2019127484A1 - 视频编码方法、视频解码方法及相关装置 - Google Patents

视频编码方法、视频解码方法及相关装置 Download PDF

Info

Publication number
WO2019127484A1
WO2019127484A1 PCT/CN2017/120197 CN2017120197W WO2019127484A1 WO 2019127484 A1 WO2019127484 A1 WO 2019127484A1 CN 2017120197 W CN2017120197 W CN 2017120197W WO 2019127484 A1 WO2019127484 A1 WO 2019127484A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
block
decoded
boundary
encoded
Prior art date
Application number
PCT/CN2017/120197
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 CN201780036263.XA priority Critical patent/CN109496429B/zh
Priority to PCT/CN2017/120197 priority patent/WO2019127484A1/zh
Publication of WO2019127484A1 publication Critical patent/WO2019127484A1/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/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • 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/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Definitions

  • the present invention relates to the field of image processing, and more particularly to a video encoding method and apparatus, a video decoding method and apparatus.
  • HMDs head mounted devices
  • Embodiments of the present invention provide a video encoding method and apparatus, and a video decoding method and apparatus.
  • a video encoding method including:
  • the at least two prediction blocks are predicted separately using different reference blocks.
  • a video encoding method including:
  • the at least two prediction blocks are predicted separately using different reference blocks.
  • a video encoding apparatus including:
  • At least one memory for storing computer executable instructions
  • At least one processor singly or collectively, for accessing the at least one memory and executing the computer executable instructions to perform the following operations:
  • the at least two prediction blocks are predicted separately using different reference blocks.
  • a device readable storage medium for a terminal, the machine readable storage medium having a plurality of computer instructions stored thereon, the computer decoding instructions being processed as described in the first aspect.
  • a fifth aspect provides a video decoding apparatus, including:
  • At least one memory for storing computer executable instructions
  • At least one processor singly or collectively, for accessing the at least one memory and executing the computer executable instructions to perform the following operations:
  • the at least two prediction blocks are predicted separately using different reference blocks.
  • a device readable storage medium for a terminal, the machine readable storage medium having a plurality of computer instructions stored thereon, the computer encoding instructions being processed as described in the first aspect.
  • FIG. 1 is a schematic diagram of a coding/compression process of a curved video
  • FIG. 2 is a schematic diagram of a spherical image and a circumscribed regular octahedron, and the right diagram is a schematic diagram of an embodiment in which a plurality of triangles on a regular octahedral surface in the left image are merged into a two-dimensional rectangular image;
  • Figure 3 is a schematic diagram of the mapping of a spherical image to an external icosahedron, and the right image is an embodiment of combining a plurality of triangles on the surface of the icosahedron in the left image into a two-dimensional rectangular image.
  • 4A is a schematic diagram of pixel points in a frame image, and the right diagram is a schematic diagram of an embodiment of dividing a template
  • 4B is a schematic diagram of pixel points in a frame image, and the right diagram is a schematic diagram of another embodiment of dividing a template;
  • Figure 5 is a schematic diagram showing the division of image blocks in an embodiment
  • FIG. 6 is a schematic diagram showing division of an image block in another embodiment
  • Figure 7 is a schematic diagram showing the division of image blocks in another embodiment
  • FIG. 8 is a schematic diagram of one embodiment of a reference block of a prediction block
  • FIG. 9 is a schematic diagram of another embodiment of a reference block of a prediction block.
  • FIG. 10 is a schematic flowchart diagram of an embodiment of a video encoding method according to the present invention.
  • FIG. 11 is a schematic flowchart diagram of an embodiment of a video decoding method according to the present invention.
  • FIG. 12 is a schematic flowchart diagram of an embodiment of a video encoding apparatus according to the present invention.
  • FIG. 13 is a schematic flow chart of an embodiment of a video decoding apparatus according to the present invention.
  • each device or system is capable of reducing the bandwidth used to store and transmit a curved video.
  • the curved video can be a picture projected on any smooth surface, such as at least a portion of a sphere or ellipsoid.
  • a surface video includes a multi-frame surface image in which the content in the surface image includes content captured in different directions at the same time. Therefore, a surface video can cover a large field of view.
  • a spherical video or 360 degree panoramic video
  • a spherical video may have a horizontal field of view of 360 degrees and a vertical field of view of 180 degrees, typically in the form of a three-dimensional sphere.
  • the surface video is described by taking a spherical video as an example. It will be apparent to those skilled in the art that curved video is not limited to spherical video.
  • Figure 1 is a schematic diagram of the encoding/compression process of a curved video.
  • the encoding/compression process of the curved video includes the following steps: mapping 101, prediction 102, transform 103, quantization 104, and entropy encoding 105.
  • mapping step 101 the encoding device maps the three-dimensional curved video to a two-dimensional video to enable utilization of various encoding/compression techniques.
  • the encoding device can store and transmit the curved video in a two-dimensional rectangular format.
  • the encoding device can support digital image processing and codec operations in a two-dimensional rectangular format.
  • map surface video there are many ways to map surface video. For example, map a surface video to a two-dimensional video. Taking a spherical video as an example, in some embodiments, a spherical image in a spherical video may be mapped to a two-dimensional image based on a method of equired contour projection. In some embodiments of the warp and latitude projection, each warp on the spherical surface may be mapped to a plurality of vertically spaced equal vertical lines on the two-dimensional plane, and each latitude line is mapped to a plurality of horizontal straight lines equally spaced on the two-dimensional plane.
  • the spherical image in the spherical video can be mapped to a two-dimensional image based on a method of polyhedral projection. Specifically, images on different regions of the spherical surface are respectively projected onto a plurality of polygons on the surface of the circumscribed polyhedron of the spherical surface, and the two-dimensional images on the plurality of polygons are combined into one two-dimensional image.
  • the method of projecting may be to sequentially emit a virtual ray from the center of the sphere through a point on the spherical surface and a point on the surface of the polyhedron, projecting pixel information of the point on the spherical surface to the point of the surface of the polyhedron.
  • the polyhedron may be any polyhedron.
  • the polyhedron may be a hexahedron, an octahedron, an icosahedron, or the like.
  • the hexahedron may be a cube, a cuboid, a rhombohedron, a parallelepiped, etc.
  • the octahedron may be a regular octahedron, a hexagonal column, a triangular anti-prism, etc.
  • the icosahedron may be a regular icosahedron, a positive nine-corner anti-prism Wait, there is no limit here.
  • multiple polygons on a polyhedron into one two-dimensional image.
  • multiple polygons on the surface of the polyhedron are combined into a two-dimensional rectangle.
  • merge for example, the positional relationship between polygons in different merge modes is different; for example, the size/shape of the merged rectangles in different merge modes is different.
  • the left diagram in FIG. 2 is a schematic diagram of the mapping between the spherical image and the circumscribed regular octahedron
  • the right diagram is an implementation of combining a plurality of triangles on the surface of the regular octahedron into a two-dimensional rectangular image on the left.
  • a schematic diagram of an example Each triangle in each of the triangular and rectangular images on the surface of the regular octahedron shown in FIG. 2 is marked with a corresponding number for indicating the correspondence between each triangle in the rectangular image and each triangle on the surface of the regular octahedron. relationship.
  • the rectangle shown in the right figure in FIG. 2 is only an example of the combination of a plurality of triangles on a regular octahedron, and there may be other ways of combining two-dimensional rectangular images, for example, between the triangles in the right diagram of FIG.
  • the positional relationship, or the length and width of the rectangular image, is not limited here.
  • the left diagram of FIG. 3 is a schematic diagram of the mapping between the spherical image and the outer icosahedron
  • the right image is a combination of a plurality of triangles on the surface of the icosahedron in the left image into a two-dimensional rectangular image.
  • a schematic of one embodiment Each of the icosahedron and rectangular images shown in FIG. 3 is labeled with a corresponding number to indicate the correspondence between each triangle in the rectangular image and each triangle on the surface of the regular octahedron.
  • the rectangle shown in the right figure of FIG. 3 is only an example of a combination of a plurality of triangles on a regular octahedron, and there may be other ways of merging into a rectangle, for example, the positional relationship between the triangles in the right diagram of FIG. 3 may be changed, or
  • the length and width of the rectangular image are not limited here.
  • the mapped two-dimensional video may be a rectangular video or a video of other shapes (eg, circular, elliptical, regular polygon).
  • the curved video may not be a spherical video, but other three-dimensional curved video, such as a curved video on a spherical surface (such as a hemispherical video), an ellipsoidal video, or a partial surface on an ellipsoid (such as a semi-ellipsoid).
  • Spherical video other regular or irregular 3D surface video.
  • the method of mapping a spherical video into a two-dimensional video can also be applied to mapping a three-dimensional surface video of an aspherical video into a two-dimensional video.
  • Two-dimensional video can be compressed, encoded and decoded based on some commonly used video codec standards, such as HEVC/H.265, H.264/AVC, AVS1-P2, AVS2-P2, VP8, VP9.
  • the encoding device may also write mapping information for indicating the mapping method into the code stream.
  • the mapping information may be written in at least one of the following: a sequence header, a picture header, a slice header, a video parameter set (VPS), and a sequence parameter set ( SPS, sequence parameter set), picture parameter set (PPS), SEI (Supplemental Enhancement Information), extension data (extension data).
  • a mapped two-dimensional image includes a plurality of partitions, wherein each partition corresponds to a polygon on the surface of the polyhedron, for example, within each of the rectangular images in the right image of FIGS. 2 and 3
  • the image as a partition it should be noted that when multiple polygons on a polyhedron are merged into a two-dimensional rectangle, partial polygons on the polyhedron may be segmented, and one polygon may be divided into at least two polygons. For example, the triangle 7 in the left diagram of Fig. 2 is divided into two triangles (triangle 7_1 and triangle 7_2) in the rectangle on the right; the triangle 4 in the left diagram of Fig.
  • triangle 3 is divided into two in the rectangle on the right.
  • Triangle triangle 4_1 and triangle 4_2.
  • the images in each of the at least two polygons in the two-dimensional image serve as one partition, respectively.
  • the triangle 7_1 is one partition
  • the triangle 7_2 is another partition.
  • the shape of at least one of the mapped two-dimensional images may be regular and/or irregular.
  • the shape of at least one of the two-dimensional images can include a rectangle, a triangle, a diamond, a circle, a pentagon, a hexagon, or other shapes.
  • the triangle may include at least one of an equilateral triangle, a right triangle, and an isosceles triangle.
  • Prediction step 102 is used to reduce redundant information in the image.
  • a prediction block refers to a basic unit for performing prediction. In some standards, the prediction block is also called a prediction unit (PU).
  • PU prediction unit
  • the image is divided into a plurality of image blocks. Further, each of the plurality of image blocks can be divided into a plurality of image blocks again, and so on.
  • the number of layers to be segmented can be different, and the operation methods assumed are different.
  • the names of image blocks on the same level may be different.
  • each image block of a plurality of image blocks into which a frame image is first divided is referred to as a Coding Tree Unit (CTU); each coding tree unit may include one code.
  • a Coding Unit (CU) is again divided into a plurality of coding units; one coding unit may be divided into one, two, four or other number of prediction units according to a prediction manner.
  • the coding tree unit is also referred to as a Largest Coding Unit (LCU).
  • LCU Largest Coding Unit
  • the prediction unit is the smallest unit in the image, and the prediction unit does not continue to be divided into multiple image blocks.
  • Prediction refers to finding image data similar to the prediction block, also referred to as a reference block of the prediction block.
  • the redundancy information in encoding/compression is reduced by encoding/compressing the difference between the prediction block and the reference block of the prediction block.
  • the difference between the prediction block and the reference block may be a residual obtained by subtracting the corresponding pixel value of the prediction block from the reference block.
  • Prediction includes intra prediction and inter prediction. Intra prediction refers to a reference block that looks up the prediction block within the frame in which the prediction block is located.
  • Inter prediction refers to a reference block that looks up the prediction block in a frame other than the frame in which the prediction block is located.
  • the transforming step 103 can further reduce redundant information in the image block.
  • the residual between the prediction block and the reference block of the prediction block may use a transformation matrix to remove the correlation of the residual, improving coding efficiency.
  • the transformation of the prediction block usually adopts a two-dimensional transformation, that is, the residual information of the prediction block is respectively multiplied by an N*M transformation matrix and its transposed matrix in the encoding device, and the multiplication is obtained after the multiplication.
  • the transform coefficients may be quantized in quantization step 104 to obtain quantized coefficients.
  • the quantized coefficients are entropy encoded in the entropy encoding step 105.
  • the bit stream obtained by entropy coding and the encoded coding mode information such as intra prediction mode, motion vector information, etc., are stored or transmitted to the decoding apparatus.
  • the decoding device After receiving the data, the decoding device performs a flow opposite to the encoding/compression flow in the encoding device, for example, sequentially performing the following steps: entropy decoding, inverse quantization, inverse transform, prediction, and mapping. Wherein, in the predicting step, the decoding device may perform prediction in the same manner as the prediction method described above.
  • the mapping step the decoding device performs mapping in a manner opposite to the mapping method described above, that is, in the encoding device, after mapping the curved surface image onto the surface of the polyhedron, the plurality of polygons on the surface of the polyhedron are merged into one two-dimensional. a planar image, and the decoding device maps the two-dimensional planar image onto the curved image.
  • the decoding device may first split the plurality of partitions in the two-dimensional planar image and then piece together into at least part of a polyhedron. The image on at least part of the polyhedron is then mapped onto the surface to form a curved image.
  • the encoding device and the decoding device may adopt the same method.
  • some methods that can be shared between the encoding device and the decoding device will be described by taking the decoding device as an example.
  • the method for use in the decoding device in the following description can also be used in the encoding device unless otherwise stated.
  • each frame of the two-dimensional video uses the same mapping method.
  • the decoding device may determine a partition template according to the mapping method.
  • the division template includes a schematic point corresponding to each pixel point in the image, wherein two pixels corresponding to two pixels in the two adjacent partitions in the image respectively
  • the values of the schematic points are different to indicate that the pixel points corresponding to the two schematic points are located in different partitions.
  • the values of the schematic points corresponding to the pixels in the same partition may all be the same to simplify the division of the template.
  • the values of the schematic points corresponding to the pixels in the same partition may be partially the same or different, and are not limited herein.
  • the left diagram of FIG. 4A is a schematic diagram of pixel points in a frame image
  • the right diagram is a schematic diagram of one embodiment of a division template.
  • Each pixel in the image 41 has a one-to-one correspondence with each of the schematic points in the template 42, and each of the schematic points is used to indicate the partition in which the pixel point corresponding thereto is located.
  • the partition template 42 is a binary image.
  • the values of all the schematic points in the partition 3_1, the partition 4, the partition 6, the partition 3_2, and the partition 1 are the same, and the partition 7_1, the partition 5, the partition 7_2, the partition 2, and the partition 0
  • the indicated values are the same.
  • all the schematic points in the partition 3_1, the partition 4, the partition 6, the partition 3_2, and the partition 1 are represented as black dots in the figure
  • all the schematic points in the partition 7_1, the partition 5, the partition 7_2, the partition 2, and the partition 0 are in the figure. Indicated as a white point.
  • the value of the white schematic point is one of 0 and 1
  • the value of the black schematic point is the other of 0 and 1.
  • the partitioning template includes a schematic point that corresponds one-to-one with each pixel block in the image, wherein two pixel blocks in the two partitions adjacent to each other in the image are corresponding to the two pixel blocks
  • the values of the two schematic points of the pixel blocks are different; this can reduce the amount of data that divides the template.
  • the size of the pixel block may be the number of pixel points included in the pixel block.
  • each of the schematic points in the partition template corresponds to a 4*4 pixel block in the image.
  • the size of the pixel blocks corresponding to the respective pointing points may be all the same or at least partially different. For example, all of the blocks of pixels located within the partition are larger than the blocks of pixels located at the interface between the partitions.
  • the encoding device further generates indication information of the template for dividing the image, where the indication information is used to indicate the pixel block corresponding to each of the schematic points. size.
  • the decoding device may obtain indication information of the division template of the image to be decoded from the encoded data, and determine at least one boundary in the image to be decoded based on the division template and the indication information of the division template.
  • the decoding device may determine a partition function of the image according to the mapping method. Specifically, the width and length of the image are respectively taken as the x-axis and the y-axis of an XOY coordinate system, and the boundary of each partition in the image is a line segment in the coordinate system, and the division function refers to the boundary of the one at the coordinate.
  • two frames of images in the two-dimensional video respectively use different mapping methods.
  • the decoding device may determine a corresponding partition template or partition formula for each mapping method.
  • mapping step 101 when the three-dimensional surface video is mapped into a two-dimensional video, a situation in which two adjacent partition contents are discontinuous in the two-dimensional video may occur.
  • the mapping areas of the triangle 7 and the triangle 4 on the spherical image are not adjacent, and the mapping areas of the triangle 5 and the triangle 6 respectively on the spherical image are not adjacent, and the triangle 3
  • the mapping areas on the spherical image and the triangle 0 are not adjacent to each other, and the mapping areas of the triangles 1 and 2 on the spherical image are not adjacent; therefore, in the rectangular image shown in the right figure of FIG.
  • the partition 7_1 and the partition 4 The image content between, between partition 3_1 and partition 0, between partition 5 and partition 6, and between partition 1 and partition 2 are not continuous.
  • the boundary between two adjacent and discontinuous content partitions in the planar image is hereinafter referred to as a specific boundary, wherein the adjacent two partitions whose content is discontinuous refer to respectively on the curved surface graphic.
  • the values of the two schematic points corresponding to the two pixel points are different for two pixel points located in two adjacent partitions having a particular boundary in the image, respectively, to indicate The pixel points corresponding to the two schematic points are respectively located in two different partitions in which the image content is discontinuous; and for two pixel points respectively located in two adjacent partitions of the image content, two corresponding to the two pixel points The values of the indicated points are the same.
  • the left diagram of FIG. 4B is a schematic diagram of pixel points in a frame image
  • the right diagram is a schematic diagram of an embodiment of dividing a template.
  • the image content of the partition 7_1 and the partition 4 in FIG. 4B is discontinuous
  • the image content of the partition 3_1 and the partition 0 is discontinuous
  • the image contents of the partition 5 and the partition 6 are discontinuous
  • the partition 1 and The image content of partition 2 is not continuous. Therefore, the boundary of partition 7_1 and partition 4, the boundary of partition 3_1 and partition 0, the boundary of partition 5 and partition 6, and the boundary of partition 1 and partition 2 are all specific boundaries.
  • the image contents of partition 4 and partition 5 are continuous, the image contents of partition 0 and partition 1 are continuous, the image contents of partition 6 and partition 7_2 are continuous, and the image contents of partition 2 and partition 3_2 are continuous. Therefore, the values of the schematic points of the partition 4 and the partition 5 are the same and are different from the values of the schematic points of the partition 7_1.
  • the values of the schematic points of the partition 0 and the partition 1 are the same, and are different from the values of the schematic points of the partition 3_1.
  • the values of the schematic points of the partition 6 and the partition 7_2 are the same, and are different from the values of the schematic points of the partition 5.
  • the values of the schematic points of the partition 2 and the partition 3_2 are the same and are different from the values of the schematic points of the partition 1.
  • the values of the partition 7_1 and the partition 3_1 are the same, the values of the schematic points of the partition 4, the partition 5, the partition 0, and the partition 1 are the same, and the values of the schematic points of the partition 6, the partition 7_2, the partition 3_2, and the partition 2 are the same.
  • the partition template is a binary image
  • the values of the schematic points of the partition 7_1 and the partition 3_1 are the same as the values of the schematic points of the partition 6, the partition 7_2, and the partition 3_2 partition 2, and the partition 4, the partition 5,
  • the values of the schematic points of partition 0 and partition 1 are different. This further reduces the amount of memory required to store the partitioning template.
  • the values of the schematic points of the partition 7_1 and the partition 3_1 are all 0, and the values of the schematic points of the partition 4, the partition 5, the partition 0, and the partition 1 are all 1, the partition 6, the partition 7_2, the partition 3_2, and the partition 2
  • the value of the indication point is 0.
  • the block to be coded is divided into at least one prediction block, by respectively searching for a reference block of the at least one prediction block, and respectively corresponding to the at least one prediction block and corresponding
  • the difference between the reference blocks is encoded/compressed to reduce redundant information in encoding/compression.
  • the difference between the prediction block and the reference block may be a residual obtained by subtracting the corresponding pixel value of the prediction block from the reference block. Therefore, the smaller the difference between the found reference block and the predicted block, the more redundant information is reduced, and the smaller the amount of data encoded/compressed for the predicted block.
  • the shape of the prediction block in the prior art is rectangular, and a phenomenon in which a partial prediction block spans the boundary between two discontinuous partitions of image content occurs at the time of encoding and decoding. Therefore, the image content on the two sides of the boundary in the partial prediction block is discontinuous, so that the content of the found reference block and the prediction block are different.
  • the image block when an image block spans the boundary between two partitions in which the image content is discontinuous, the image block is further divided into at least two prediction blocks, and different reference blocks are respectively used. Forecasting at least two prediction blocks. This can make the content difference between the prediction block and the corresponding reference block smaller, improving prediction efficiency and coding and decoding quality.
  • the number of partitioned prediction blocks may depend on the number of partitions in which the image block is located. For example, if the image block is located on three partitions in the image to be decoded, the image block is divided into three prediction blocks, and the three prediction blocks are respectively located on the three partitions. As shown in FIG. 5, FIG. 5 is a schematic diagram of division of image blocks in one embodiment.
  • the image block 51 is located on the partition 7_1, the partition 4, and the partition 5, and divides the image block into three partitions: a prediction block 511, a prediction block 512, and a prediction block 513.
  • the number of partitioned prediction blocks may depend on whether the partition in which the image block is located includes two partitions having boundaries and content discontinuities. For example, when the number of specific boundaries spanned by an image block is one, the image block can be divided into two prediction blocks respectively located on either side of the particular boundary. As shown in FIG. 6, FIG. 6 is a schematic diagram of division of image blocks in another embodiment. Image block 61 is located on partition 4 and partition 5, and image block 62 is located on partition 1 and partition 2.
  • FIG. 7 is a schematic diagram of division of image blocks in another embodiment.
  • the image block 71 is located on the partition 1, the partition 5, the partition 6, the partition 7_2, the partition 3_2 and the partition 2, and spans a total of 6 intersections, wherein two of the junctions are specific boundaries, and the two junctions are connected end to end, the phase
  • the two junctions are divided into an image block 71 into a prediction block 711 and a prediction block 712.
  • one decoding unit is partitioned into one or at least two prediction units, which are not further partitioned, and each prediction unit uses one reference block prediction.
  • each prediction unit uses one reference block prediction.
  • the decoding unit is divided into one or at least two prediction units, when the prediction unit of the one or at least two prediction units crosses the boundary or crosses a specific boundary, the The prediction unit is further divided into at least two prediction blocks, and each prediction block is predicted using a different reference block. This can match the boundary of the prediction block with the boundary of the reference block, improving prediction efficiency and decoding quality.
  • the decoding device stores a partitioning template, and the decoding device may sequentially detect corresponding points in the image block in the image template, and determine each pixel in the image block according to the corresponding point corresponding to each pixel point. Is it in the same partition. In some embodiments, it is only necessary to determine whether pixel points on at least two of the pixels on the four vertices of the image block (eg, on two vertices or three vertices) are located within the same partition.
  • the image block is located in at least two partitions when the pixel points on at least two of the four vertices of the image block (eg, two vertices on the diagonal or two adjacent vertices) are not located in the same partition Inside. This eliminates the need to point-by-point comparison of all pixel points in the image block with the schematic points in the divided template, reducing complexity. Further, it may be further determined whether at least two partitions in which the image block is located include two partitions having borders and discontinuous content.
  • each pixel in the image block is determined.
  • the points are located in at least two partitions.
  • the partitioning template shown in FIG. 4B when the values of the corresponding points corresponding to the pixel points on at least two of the pixels on the four vertices of the image block are different, it is determined that each pixel point in the image block is located at least Two content is not in the contiguous partition.
  • the decoding device stores a partition function, and the decoding device can determine the position of the boundary of each partition in the image according to the partition function, and then according to each pixel point (or pixel point on four vertices) in the image block. The position in , determines the number of partitions in which the image block is located.
  • the encoding device divides the image block into at least two prediction blocks.
  • the specific condition may be multiple, for example, the specific condition includes: the first coding performance of the image block is smaller than the second coding performance, wherein the first coding performance is that the image block is not divided by the image block.
  • Encoding performance the second encoding performance is an encoding performance of the image block in the case where the image block is divided into at least two prediction blocks.
  • the coding performance can be determined based on a Rate-Distortion Optimization cost (RDO cost).
  • RDO cost Rate-Distortion Optimization cost
  • the specific condition includes: a texture difference between any two of the at least two prediction blocks predicted to be divided by the image block is greater than a first threshold.
  • the texture of the prediction block can be determined by an algorithm such as a sobel operator.
  • the specific condition includes: a ratio of any one of the at least two prediction blocks that is predicted to be divided by the image block to the number of pixels of the image block is greater than a second threshold.
  • the flexible division method of the image block can improve the coding efficiency.
  • the coding quality of image blocks may vary in different situations. For example, when the image block is located on both sides of the boundary, the image content is generally different, and the image block is generally divided along the boundary and then predicted respectively to obtain better coding quality; the image content is different in the image content on both sides of the boundary. In an hour, not dividing the image block often results in better coding quality. Through the above specific conditions, the flexibility of the division of the image block can be improved, and then the coding efficiency is improved.
  • the encoding device also generates a flag bit of the image block, the flag bit being used to indicate whether the image block is divided into at least two prediction blocks.
  • the decoding device further acquires a flag bit of the block to be decoded in decoding the block to be decoded; and when the flag bit indicates that the block to be decoded needs to be divided, the block to be decoded is divided into at least two prediction blocks.
  • the flag bit indicates that the to-be-decoded block does not need to be divided
  • the reference to the block to be decoded is predicted by using one reference block.
  • the flag bit in the encoding device is further used to indicate a manner in which the image block divides the prediction block.
  • the decoding device divides the block to be decoded according to the manner indicated by the flag bit of the block to be decoded.
  • the flag bit does not need to indicate the division manner of the block to be coded/the block to be decoded, and the encoding device and the decoding device respectively use the preset rule to divide the coded block and the decoded block.
  • the decoding device After the decoding device divides the image blocks located in the at least two partitions into at least two prediction blocks, the decoding device respectively acquires the reference blocks of the at least two prediction blocks. There are several ways to obtain a reference block of a prediction block. In some embodiments, the decoding device acquires a reference block of the prediction block in a size of the prediction block. In some embodiments, the shape of the prediction block is non-rectangular, and the decoding device searches the reference data of the prediction block by the size of the prediction rule of the prediction block, and then extracts the reference block of the prediction block from the reference data.
  • the circumscribed rectangle of the prediction block may be a circumscribed rectangle of the prediction block (for example, a minimum circumscribed rectangle of the prediction block), or may be an circumscribed circle of the prediction block (for example, a minimum circumscribed circle of the prediction block).
  • FIG. 8 is a schematic diagram of one embodiment of a reference block of a prediction block.
  • An image block is a rectangle, and the image block is divided into two prediction blocks 711 and 712 shaped as a pentagon, and the decoding device respectively searches for reference data of the two prediction blocks by the size of the minimum circumscribed rectangle of the two prediction blocks.
  • 811 and 812 a reference block 813 having the same shape size as the prediction block 711 is extracted from the reference data 811, and a reference block 814 having the same shape size as the prediction block 712 is extracted from the reference data 812.
  • the reference data 811 and the reference data 812 are located in the same reference image.
  • the two reference data may not be located in the same reference image, which is not limited herein.
  • FIG. 9 is a schematic diagram of another embodiment of a reference block of a prediction block.
  • One image block is a rectangle, and the image block is divided into two prediction blocks 711 and 712 shaped as a pentagon, and the decoding device respectively searches the reference data 911 and 912 of the two prediction blocks by the size of the image block, from the reference.
  • the reference block 913 having the same shape size as the prediction block 711 is truncated in the data 911, and the reference block 814 having the same shape size as the prediction block 712 is extracted from the reference data 912.
  • the reference data 911 and the reference data 912 are located in the same reference image.
  • the two reference data may not be located in the same reference image, which is not limited herein.
  • the block to be decoded is divided into at least two prediction blocks to perform prediction separately is described in the above embodiments.
  • the block to be decoded when it is determined that one of the to-be-decoded blocks in the image to be decoded does not need to be divided according to a division manner of the partition of the image to be decoded, the block to be decoded is predicted by using one reference block.
  • the method for determining that the block to be decoded does not need to be divided is different. For example, when the block to be decoded is located in one partition, or the block to be decoded is located in at least two partitions in which the image content is continuous, the block to be decoded is determined. No need to divide.
  • FIG. 10 is a schematic flowchart diagram of an embodiment of a video encoding method according to the present invention.
  • the video encoding method 100 includes:
  • the image to be encoded is a planar image formed by splicing a plurality of polygons on at least part of the surface of the curved image onto the surface of the polyhedron.
  • the image to be encoded is a spherical image, a semi-ellipsoidal image, or a planar image formed by stitching all the polygons after all three-dimensional closed surfaces are mapped to all the polygons on the surface of the polyhedron.
  • the image to be encoded is a spherical image, a semi-ellipsoidal image, or a planar image formed by merging a portion of the other three-dimensional closed curved surface to a partial polygon on the surface of the polyhedron.
  • the image to be encoded is a partial curved surface image on the spherical surface (for example, a hemispherical image), a partial curved surface image on the ellipsoidal surface (for example, a semi-ellipsoidal image), or other open surfaces are mapped to at least a part of the polygon on the surface of the polyhedron.
  • At least two partitions of the image to be encoded respectively correspond to at least two polygons on the surface of the polyhedron.
  • each partition on the image to be encoded corresponds to a polygon on the surface of the polyhedron.
  • at least two partitions on the image to be encoded correspond to different ones of the same polygon on the surface of the polyhedron.
  • the at least two prediction blocks into which the to-be-coded block is divided are respectively located in at least two partitions of the image to be encoded, and include the following situations: 1. different prediction blocks are respectively located in different partitions; Two prediction blocks are located in the same partition; 3. There is one prediction block located in at least two partitions.
  • the image to be encoded includes a first partition and a second partition, and the mapping areas of the first partition and the second partition respectively on the curved image may be adjacent, that is, the two partitions are respectively on the curved image.
  • the mapping area of the mapping area of the first partition and the second partition may also have no boundary, and is not limited herein.
  • the block to be coded may refer to a coding unit in some video standards, and may also refer to a prediction unit in some video standards, and is not limited herein.
  • At least one of the blocks to be encoded has a non-rectangular shape, and at least one of the at least two prediction blocks is non-rectangular.
  • the block to be coded is divided into at least two prediction blocks
  • a reference block of the prediction block is separately obtained for each prediction block, and the prediction block is predicted by using the reference block.
  • the at least two prediction blocks into which the block to be coded are divided include a first prediction block and a second prediction block, and the first reference block and the second reference block are obtained, where the first reference block is used for the first prediction block.
  • the second reference block is predicted to be used for prediction of the second prediction block.
  • the encoding device before step 101, further determines at least one boundary in the image to be encoded based on the mapping manner of the curved image to the polyhedron, the boundary being the boundary of different partitions in the image to be encoded; in step 101, The block to be encoded is divided into at least two prediction blocks based on at least one boundary of the image to be encoded.
  • the block to be coded is divided into at least two prediction blocks based on at least one boundary located within the block to be coded.
  • the block to be encoded is partitioned into at least two prediction blocks based on at least one particular boundary within the image to be encoded.
  • the block to be coded is divided into at least two prediction blocks based on at least one specific boundary located within the block to be coded.
  • the block to be coded is divided into at least two prediction blocks, wherein a boundary of any two adjacent prediction blocks in the at least two prediction blocks is a specific boundary.
  • the encoding device determines a method of determining at least one boundary in the image to be encoded based on a mapping manner of a curved image to a polyhedron.
  • the encoding device determines a dividing template of the image to be encoded based on a mapping manner of the curved image to the polyhedron, the dividing template including one-to-one correspondence with each pixel point in the image to be encoded or each pixel block in the image to be encoded a one-to-one corresponding schematic point; determining at least one boundary in the image to be encoded based on the partitioning template.
  • the partitioning template is a binary image.
  • the split template is an image including 0 and 1, or an image including two other different values or different characters.
  • the size of the pixel block in the image to be encoded corresponding to at least part of the schematic points in the template is different.
  • the encoding device further generates indication information of the division template of the image to be encoded, where the indication information is used to indicate the size of the pixel block corresponding to each of the schematic points.
  • the encoding device determines at least one boundary in the image to be encoded based on the division template of the image to be encoded and the indication information of the division template.
  • the encoding device determines a partitioning function of the image to be encoded based on a mapping manner of the curved image to the polyhedron, the partitioning function for indicating a position of at least one of the images to be encoded in the image to be encoded.
  • the step of determining at least one of the boundaries of the image to be encoded based on the manner in which the curved image is mapped to the polyhedron is performed prior to encoding the image to be encoded.
  • the encoding device divides the block to be encoded into at least two prediction blocks when it is determined that the pixel points on at least part of the vertices of the block to be encoded are respectively located in different partitions.
  • the encoding device also generates a flag bit of the block to be encoded, the flag bit being used to indicate that the block to be encoded is divided into at least two prediction blocks.
  • the encoding apparatus separately acquires reference data of the at least two prediction blocks before using the different reference blocks to respectively predict the at least two prediction blocks; and obtains from the reference data of each prediction block.
  • the reference block of the prediction block is the same shape and/or size as the block to be coded; or the reference data is the same as the shape and/or size of the smallest circumscribed rectangle of the prediction block.
  • the reference block has the same shape and/or size as the prediction block.
  • the polyhedron is a regular octahedron or an icosahedron.
  • At least one of the at least two partitions is triangular or diamond shaped.
  • at least one of the partitions is an equilateral triangle or a right triangle.
  • the block to be coded has a regular shape
  • each of the prediction blocks into which the block to be coded is divided has a regular shape or an irregular shape
  • each of the at least two prediction blocks into which the block to be encoded is divided is located within one partition.
  • one of the at least two prediction blocks into which the block to be encoded is divided is located within at least two partitions.
  • the encoding apparatus further predicts a first encoding performance and a second encoding performance, wherein the first encoding performance is an encoding performance of a block to be encoded in a case where the block to be encoded is not divided, and the second encoding performance is to be The coding performance of the block to be coded in the case where the coding block is divided into at least two prediction blocks; when the first coding performance is smaller than the second coding performance, the step of dividing the block to be coded into at least two prediction blocks is performed.
  • the curved image is a frame of image in the panoramic video.
  • the video encoding method in the present invention will be exemplified below with reference to a specific example.
  • a mapping method of spherical video to a two-dimensional plane is preset in the encoding device.
  • the encoding device writes the mapping method into the code stream of the spherical video when encoding a spherical video.
  • the coding apparatus further generates a division template of the two-dimensional plane video according to the mapping method, and the division template includes a plurality of binary images of the schematic points, and the values of the schematic points are only 0 and 1.
  • Each of the schematic points in the partitioning template is used to indicate a partition in which a corresponding N*N (eg, 4*4) pixel block in the planar image in the planar video is located.
  • the partitioning template is also used to indicate which adjacent, two partitions having an interface are partitions whose content is not continuous. For specific information about the template, refer to the description of FIG. 4A or FIG. 4B, and details are not described herein again.
  • the encoding device For a planar image in a two-dimensional planar video, the encoding device divides the planar image into a plurality of image blocks. For one of the image blocks, the encoding device divides it into at least one rectangular coding unit. For one of the coding units, the encoding device divides it into at least one rectangular prediction unit.
  • the encoding device determines that the coordinates of the four vertices of the prediction unit in the image are (Xtl, Ytl), (Xtr, Ytr), (Xbl, Ybl), (Xbr, Ybr), and According to the coordinates of the four vertices, (Xtl/N, Ytl/N), (Xtr/N, Ytr/N), (Xbl/N, Ybl/N), (Xbr/N, Ybr/) are determined in the partition template. N) Whether the four indicated points corresponding to the four values are in the same partition.
  • the encoding device further calculates that the prediction unit is divided into two prediction blocks based on the boundary of the two partitions (ie, a specific boundary).
  • the coding performance of the prediction unit is the first coding performance
  • the coding performance of the prediction unit when the prediction unit is predicted by using one reference block is the second coding performance.
  • the encoding device divides the prediction unit into two prediction blocks pred0 and pred1.
  • Each prediction unit in the coding unit if the prediction unit is not further divided into at least two prediction blocks, the prediction unit has its own set of motion vectors, and the encoding device obtains the reference block of the prediction unit according to the motion vector. If the prediction unit is further divided into at least two prediction blocks, each of the prediction blocks has its own set of motion vectors, and the encoding device respectively obtains the reference block of the prediction block according to the motion vector of the prediction block.
  • the reference data ref0 of the size M*M is obtained according to the motion vector of the prediction blocks pred0 and pred1 with the size M*M of the prediction unit in which the two prediction blocks are located, respectively.
  • Ref1 array The value of the corresponding schematic point of the prediction block pred0 in the division template is 0, and the value of the indicated point corresponding to pred1 is 1.
  • the prediction method of the reference block actualRef0 used for predicting the actual prediction of the block pred0 is as follows:
  • the method for obtaining the reference block ActualRef1 used for predicting the actual prediction of the block pred1 is as follows:
  • the prediction block pred0 is predicted using the reference block actualRef0
  • the prediction block pred1 is predicted using the reference block actualRef1.
  • FIG. 11 is a schematic flowchart diagram of an embodiment of a video decoding method according to the present invention.
  • the video decoding method 200 includes:
  • the image to be decoded is a planar image formed by splicing a plurality of polygons on at least part of the surface of the curved image onto the surface of the polyhedron.
  • the image to be decoded is a spherical image, a semi-ellipsoidal image, or a planar image formed by stitching all the polygons after all three-dimensional closed surfaces are mapped to all the polygons on the surface of the polyhedron.
  • the image to be decoded is a spherical image, a semi-ellipsoidal image, or a planar image formed by merging a portion of the other three-dimensional closed curved surface to a partial polygon on the surface of the polyhedron.
  • the image to be decoded is a partial curved surface image on the spherical surface (for example, a hemispherical image), a partial curved surface image on the ellipsoidal surface (for example, a semi-ellipsoidal image), or other open surfaces are mapped to at least one polygon on the surface of the polyhedron.
  • At least two partitions of the image to be decoded respectively correspond to at least two polygons on the surface of the polyhedron.
  • each partition on the image to be decoded corresponds to a polygon on the surface of the polyhedron.
  • at least two partitions on the image to be decoded correspond to different ones of the same polygon on the surface of the polyhedron.
  • the at least two prediction blocks into which the block to be decoded is divided are respectively located in at least two partitions of the image to be decoded, and include the following situations: 1. different prediction blocks are respectively located in different partitions; Two prediction blocks are located in the same partition; 3. There is one prediction block located in at least two partitions.
  • the image to be decoded includes a first partition and a second partition, and the mapping area of the first partition and the second partition respectively on the curved image has an interface; or, the first partition and the second partition respectively
  • the mapping area on the surface image may also have no boundary, and is not limited herein.
  • the block to be decoded may refer to a coding unit in some video standards, and may also refer to a prediction unit in some video standards, and is not limited herein.
  • At least one of the blocks to be decoded has a non-rectangular shape, and at least one of the at least two prediction blocks is non-rectangular.
  • the block to be decoded is divided into at least two prediction blocks, for each prediction block, a reference block of the prediction block is separately obtained, and the prediction block is predicted by using the reference block.
  • the at least two prediction blocks into which the block to be decoded is divided include a first prediction block and a second prediction block, and the first reference block and the second reference block are obtained, where the first reference block is used for the first prediction block.
  • the second reference block is predicted to be used for prediction of the second prediction block.
  • the decoding device before step 201, the decoding device further determines at least one boundary in the image to be decoded based on a mapping manner of the curved image to the polyhedron, the boundary being a boundary of different partitions in the image to be decoded; and in step 201, The block to be decoded is divided into at least two prediction blocks based on at least one boundary of the image to be decoded. For example, the block to be decoded is divided into at least two prediction blocks based on at least one boundary located within the block to be decoded. In some embodiments, the block to be decoded is partitioned into at least two prediction blocks based on at least one particular boundary within the image to be decoded.
  • the block to be decoded is divided into at least two prediction blocks based on at least one specific boundary located within the block to be decoded.
  • the block to be decoded is divided into at least two prediction blocks, wherein a boundary of any two adjacent prediction blocks in the at least two prediction blocks is a specific boundary.
  • the decoding device determines a method of determining at least one boundary in the image to be decoded based on a mapping manner of a curved image to a polyhedron.
  • the decoding device determines a partitioning template of the image to be decoded based on a mapping manner of the curved image to the polyhedron, the dividing template including one-to-one correspondence with each pixel point in the image to be decoded or each pixel block in the image to be decoded a one-to-one corresponding schematic point; determining at least one boundary in the image to be decoded based on the partitioning template.
  • the partitioning template is a binary image.
  • the split template is an image including 0 and 1, or an image including two other different values or different characters.
  • the decoding device further obtains, by the decoding device, the indication information of the division template of the image to be decoded, where the indication information is used to indicate the size of the pixel block corresponding to each of the schematic points; and the determination is to be determined based on the division template of the image to be decoded and the indication information of the template. Decoding at least one boundary in the image.
  • the decoding device determines a partitioning function of the image to be decoded based on a mapping manner of the curved image to the polyhedron, the partitioning function for indicating a position of at least one of the interfaces to be decoded in the image to be decoded.
  • the step of determining at least one boundary in the image to be decoded based on the manner in which the curved image is mapped to the polyhedron is performed prior to decoding the image to be decoded.
  • the decoding device divides the block to be decoded into at least two prediction blocks when it is determined that the pixel points on at least part of the vertices of the block to be decoded are respectively located in different partitions.
  • the decoding apparatus further acquires a flag bit of the block to be decoded, where the flag bit is used to indicate whether a block to be decoded needs to be divided; and when the flag bit indicates that the block to be decoded needs to be divided, the block to be decoded is divided into at least two Forecast block.
  • the decoding apparatus separately acquires reference data of the at least two prediction blocks before using the different reference blocks to respectively predict the at least two prediction blocks; and obtains the reference data of each prediction block.
  • the reference block of the prediction block is the same as the shape and/or size of the block to be decoded; or the reference data is the same as the shape and/or size of the smallest circumscribed rectangle of the prediction block.
  • the reference block has the same shape and/or size as the prediction block.
  • the polyhedron is a regular octahedron or an icosahedron.
  • At least one of the at least two partitions is triangular or diamond shaped.
  • at least one of the partitions is an equilateral triangle or a right triangle.
  • the block to be decoded has a regular shape
  • each of the predicted blocks into which the block to be decoded is divided has a regular shape or an irregular shape
  • each of the at least two prediction blocks into which the block to be decoded is divided is located within one partition.
  • one of the at least two prediction blocks into which the block to be decoded is divided is located within at least two partitions.
  • the decoding device before the decoding device divides one block to be decoded into at least two prediction blocks, the decoding device further determines a partition of the image to be decoded based on a mapping manner of the curved image to the polyhedron. And dividing the block to be decoded into at least two prediction blocks after determining that the to-be-decoded block is located in the at least two partitions according to a division manner of the partition of the image to be decoded.
  • the decoding apparatus further determines, according to a division manner of the partition of the image to be decoded, that one of the to-be-decoded blocks does not need to be divided, and uses one reference block to predict the to-be-decoded block.
  • the decoding device determines that the block to be decoded does not need to be partitioned.
  • the curved image is a frame of image in the panoramic video.
  • the video decoding method in the present invention will be exemplified below with reference to a specific example.
  • the decoding device obtains a mapping method of the spherical video to the two-dimensional plane from the code stream, and generates a division template of the spherical video according to the mapping method, where the division template includes a plurality of binary images of the schematic points, and the value of the schematic points is only 0. and 1.
  • Each of the schematic points in the partitioning template is used to indicate a partition in which a corresponding N*N (e.g., 4*4) pixel block in the spherical image in the spherical video is located.
  • the partitioning template is also used to indicate which adjacent, two partitions having an interface are partitions whose content is not continuous. For specific information about the template, refer to the description of FIG. 4A or FIG. 4B, and details are not described herein again.
  • the decoding device For a planar image in a two-dimensional planar video, the decoding device divides the planar image into a plurality of image blocks. For one of the image blocks, the decoding device divides it into at least one rectangular decoding unit. For one of the decoding units, the decoding device divides it into at least one rectangular prediction unit.
  • the decoding device determines that the coordinates of the four vertices of the prediction unit in the image are (Xtl, Ytl), (Xtr, Ytr), (Xbl, Ybl), (Xbr, Ybr), and According to the coordinates of the four vertices, (Xtl/N, Ytl/N), (Xtr/N, Ytr/N), (Xbl/N, Ybl/N), (Xbr/N, Ybr/) are determined in the partition template. N) Whether the four indicated points corresponding to the four values are in the same partition.
  • the decoding device further calculates that the prediction unit is divided into two prediction blocks based on the boundary of the two partitions (ie, a specific boundary).
  • the decoding performance of the prediction unit is the first decoding performance
  • the decoding performance of the prediction unit when the prediction unit is predicted by using one reference block is the second decoding performance.
  • the decoding device divides the prediction unit into two prediction blocks pred0 and pred1.
  • Each prediction unit in the decoding unit if the prediction unit is not further divided into at least two prediction blocks, the prediction unit has its own set of motion vectors, and the decoding device obtains the reference block of the prediction unit according to the motion vector. If the prediction unit is further divided into at least two prediction blocks, each of the prediction blocks has its own set of motion vectors, and the decoding device respectively obtains the reference block of the prediction block according to the motion vector of the prediction block.
  • the reference data ref0 of the size M*M is obtained according to the motion vector of the prediction blocks pred0 and pred1 with the size M*M of the prediction unit in which the two prediction blocks are located, respectively.
  • Ref1 array The value of the corresponding schematic point of the prediction block pred0 in the division template is 0, and the value of the indicated point corresponding to pred1 is 1.
  • the prediction method of the reference block actualRef0 used for predicting the actual prediction of the block pred0 is as follows:
  • the method for obtaining the reference block ActualRef1 used for predicting the actual prediction of the block pred1 is as follows:
  • the prediction block pred0 is predicted using the reference block actualRef0
  • the prediction block pred1 is predicted using the reference block actualRef1.
  • FIG. 12 is a schematic block diagram of a video encoding apparatus according to an embodiment of the present invention. As shown in FIG. 12, the video encoding apparatus 120 includes:
  • At least one memory 1201 for storing computer executable instructions
  • At least one processor 1202 singly or collectively, is operable to: access the at least one memory and execute the computer executable instructions to perform the following operations:
  • the at least two prediction blocks are predicted separately using different reference blocks.
  • the two partitions are non-rectangular and the two predictive blocks are non-rectangular.
  • the at least two partitions include adjacent first partitions and second partitions, and the dividing one of the to-be-coded blocks into the at least two predicted blocks includes:
  • the block to be encoded is divided into at least two prediction blocks based on the boundary.
  • the mapped regions of the first and second partitions in the curved image are not adjacent, respectively.
  • the processor is further configured to:
  • the block to be encoded is divided into at least two prediction blocks based on at least one boundary of the image to be encoded.
  • the dividing the block to be encoded into at least two prediction blocks based on the at least one boundary of the image to be encoded comprises:
  • the determining, according to the manner in which the curved image is mapped to the polyhedron, the at least one boundary in the image to be encoded comprises:
  • a dividing template of the image to be encoded comprising one-to-one correspondence with each pixel in the image to be encoded or in the image to be encoded a pixel corresponding to each pixel block, wherein the values of the two schematic points corresponding to the pixel points or the pixel blocks of the two partitions having the boundary are different;
  • the partitioning template is a binary image.
  • the size of the pixel blocks in the image to be encoded corresponding to at least some of the partial points in the partitioning template are different.
  • the processor is further configured to:
  • indication information of the template for dividing the image to be encoded where the indication information is used to indicate a size of a pixel block corresponding to each of the schematic points;
  • the determining, according to the manner in which the curved image is mapped to the polyhedron, the at least one boundary in the image to be encoded comprises:
  • the step of determining at least one boundary in the image to be encoded based on a mapping manner of the curved image to the polyhedron is performed prior to encoding the image to be encoded.
  • the processor is further configured to: before dividing one of the to-be-coded blocks in the image to be encoded into at least two prediction blocks:
  • the processor is further configured to:
  • the processor is further configured to: before using the different reference blocks to separately predict the at least two prediction blocks:
  • the shape of the reference block is the same as the shape of the prediction block.
  • the size of the reference block is the same as the size of the prediction block.
  • the reference data is the same shape and/or size as the block to be encoded.
  • the reference data is the same shape and/or size as the smallest circumscribed rectangle of the prediction block.
  • the polyhedron is a regular octahedron or an icosahedron.
  • At least one of the at least two partitions is triangular or diamond shaped.
  • the at least one partition is an equilateral triangle or a right triangle.
  • the block to be encoded has a regular shape
  • the prediction block has a regular shape or an irregular shape.
  • each of the at least two prediction blocks is located within one partition.
  • one of the at least two prediction blocks is located within at least two partitions.
  • the dividing the block to be encoded into at least two prediction blocks based on the specific boundary comprises:
  • the curved image is a frame of image in a panoramic video.
  • FIG. 13 is a schematic block diagram of a video decoding apparatus according to an embodiment of the present invention. As shown in FIG. 13, the video decoding device 130 includes:
  • At least one memory 1301 for storing computer executable instructions
  • At least one processor 1302, singly or collectively, is operable to: access the at least one memory and execute the computer executable instructions to perform the following operations:
  • the at least two prediction blocks are predicted separately using different reference blocks.
  • the two partitions are non-rectangular and the two predictive blocks are non-rectangular.
  • the at least two partitions include adjacent first partitions and second partitions, and the dividing one block to be decoded in the image to be decoded into at least two prediction blocks includes:
  • the block to be decoded is divided into at least two prediction blocks based on the boundary.
  • the mapped regions of the first and second partitions in the curved image are not adjacent, respectively.
  • the processor is further configured to:
  • the block to be decoded is divided into at least two prediction blocks based on at least one boundary of the image to be decoded.
  • the dividing the block to be decoded into at least two prediction blocks based on the at least one boundary of the image to be decoded comprises:
  • the block to be decoded is divided into at least two prediction blocks based on the specific boundary.
  • the determining, according to the manner in which the curved image is mapped to the polyhedron, the at least one boundary in the image to be decoded comprises:
  • a dividing template of the image to be decoded comprising one-to-one correspondence with each pixel in the image to be decoded or in an image to be decoded a pixel corresponding to each pixel block, wherein the values of the two schematic points corresponding to the pixel points or the pixel blocks of the two partitions having the boundary are different;
  • the partitioning template is a binary image.
  • the size of the pixel blocks in the image to be decoded corresponding to at least part of the schematic points in the partitioning template are different.
  • the processor is further configured to:
  • the indication information is used to indicate a size of a pixel block corresponding to each of the schematic points;
  • the determining, according to the manner in which the curved image is mapped to the polyhedron, the at least one boundary in the image to be decoded comprises:
  • the step of determining at least one boundary in the image to be decoded based on a mapping manner of the curved image to the polyhedron is performed prior to decoding the image to be decoded.
  • the processor is further configured to: before dividing a block to be decoded in the image to be decoded into at least two prediction blocks:
  • Determining that pixel points on at least part of the vertices of the block to be decoded are respectively located in different partitions.
  • the processor is further configured to:
  • the block to be decoded is divided into at least two prediction blocks.
  • the processor is further configured to:
  • the block to be decoded is predicted by using one reference block.
  • the processor is further configured to: before predicting the at least two prediction blocks using different reference blocks, respectively:
  • the shape of the reference block is the same as the shape of the prediction block.
  • the size of the reference block is the same as the size of the prediction block.
  • the reference data is the same shape and/or size as the block to be decoded.
  • the reference data is the same shape and/or size as the smallest circumscribed rectangle of the prediction block.
  • the polyhedron is a regular octahedron or an icosahedron.
  • At least one of the at least two partitions is triangular or diamond shaped.
  • the at least one partition is an equilateral triangle or a right triangle.
  • the block to be decoded has a regular shape
  • the predicted block has a regular shape or an irregular shape.
  • each of the at least two prediction blocks is located within one partition.
  • one of the at least two prediction blocks is located within at least two partitions.
  • the dividing the block to be decoded into at least two prediction blocks based on the specific boundary comprises:
  • the processor is further configured to: before dividing a block to be decoded in the image to be decoded into at least two prediction blocks:
  • the to-be-decoded block After determining that the to-be-decoded block is located in the at least two partitions according to a division manner of a partition of the image to be decoded, the to-be-decoded block is divided into at least two prediction blocks.
  • the processor is further configured to:
  • the processor is further configured to:
  • the block to be decoded When the block to be decoded is located in one partition, or is located in at least two partitions in which image content is continuous, it is determined that the block to be decoded does not need to be divided.
  • the curved image is a frame of image in a panoramic video.
  • the embodiment of the present invention further provides a computer readable storage medium, where the computer readable storage medium stores a plurality of computer instructions, and when the computer instructions are executed, the connected domain is implemented. Detection method.
  • the system, apparatus, module or unit set forth in the above embodiments may be implemented by a computer chip or an entity, or by a product having a certain function.
  • a typical implementation device is a computer, and the specific form of the computer may be a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email transceiver, and a game control.
  • embodiments of the invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, embodiments of the invention may take the form of a computer program product embodied on one or more computer usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • computer usable storage media including but not limited to disk storage, CD-ROM, optical storage, etc.
  • these computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the instruction means implements the functions specified in one or more blocks of the flowchart or in a flow or block diagram of the flowchart.

Landscapes

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

Abstract

视频解码方法包括:将待解码图像中的一个待解码块划分成至少两个预测块,所述至少两个预测块分别位于所述待解码图像的至少两个分区内,其中所述待解码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待解码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;采用不同的参考块分别对所述至少两个预测块预测。

Description

视频编码方法、视频解码方法及相关装置 技术领域
本发明涉及图像处理领域,并且更具体地,涉及一种视频编码方法及装置、视频解码方法及装置。
背景技术
近年来,由于各种类型的便携式、手持式或者可穿戴设备的盛行,视频的内容量一直在增长。例如,虚拟现实或者增强现实可以集成到不同的头戴式设备(HMD)中。随着视频内容的形式变得越来越复杂,视频内容的存储和传输变得越来越具有挑战性。例如,需要减少视频存储和传输的带宽。
发明内容
本发明实施例提供一种视频编码方法及装置、视频解码方法及装置。
第一方面,提供一种视频编码方法,包括:
将待解码图像中的一个待解码块划分成至少两个预测块,所述至少两个预测块分别位于所述待解码图像的至少两个分区内,其中所述待解码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待解码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;
采用不同的参考块分别对所述至少两个预测块预测。
第二方面,提供一种视频编码方法,包括:
将待编码图像中的一个待编码块划分成至少两个预测块,所述至少两个预测块分别位于所述待编码图像的至少两个分区内,其中所述待编码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待编码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;
采用不同的参考块分别对所述至少两个预测块预测。
第三方面,提供一种视频编码装置,包括:
至少一个存储器,用于存储计算机可执行指令;
至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
将待解码图像中的一个待解码块划分成至少两个预测块,所述至少两个预测块分别位于所述待解码图像的至少两个分区内,其中所述待解码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待解码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;
采用不同的参考块分别对所述至少两个预测块预测。
第四方面,提供一种器可读存储介质,适用于终端,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行处理第一方面所述的视频解码方法。
第五方面,提供一种视频解码装置,包括:
至少一个存储器,用于存储计算机可执行指令;
至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
将待编码图像中的一个待编码块划分成至少两个预测块,所述至少两个预测块分别位于所述待编码图像的至少两个分区内,其中所述待编码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待编码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;
采用不同的参考块分别对所述至少两个预测块预测。
第六方面,提供一种器可读存储介质,适用于终端,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行处理第一方面所述的视频编码方法。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造 性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为一个曲面视频的编码/压缩流程示意图;
图2中左图是球面图像与外切正八面体的映射示意图,右图是左图中的正八面体表面上的多个三角形合并成一个二维的矩形图像的一种实施例的示意图;
图3左图是球面图像与外切正二十面体的映射示意图,右图是将左图中的正二十面体表面上的多个三角形合并成一个二维的矩形图像的一种实施例的示意图;
图4A左图为一帧图像中的像素点的示意图,右图为划分模板的一个实施方式的示意图;
图4B左图为一帧图像中的像素点的示意图,右图为划分模板的另一个实施方式的示意图;
图5为一个实施例中的图像块的划分示意图;
图6为另一个实施例中的图像块的划分示意图;
图7为另一个实施例中的图像块的划分示意图;
图8为预测块的参考块的一个实施例的示意图;
图9为预测块的参考块的另一个实施例的示意图;
图10为本发明的视频编码方法的一个实施例的流程示意图;
图11为本发明的视频解码方法的一个实施例的流程示意图;
图12为本发明的视频编码装置的一个实施例的流程示意图;
图13为本发明的视频解码装置的一个实施例的流程示意图。
具体实施方式
在本文的各个实施例中,各装置或者系统能够减小存储和传输一个曲面视频所占用的带宽。在一些实施例中,该曲面视频可以是在任何平滑的表面(例如球面或者椭球面的至少部分)上投影的画面。一个曲面视频包括多帧曲面图像,其中该曲面图像中的内容包括在同一时刻不同方向上拍摄到的内容。因此,一个曲面视频能够覆盖一个较大的视场角。例如,一个球面视频(或者360度全景视频)包括多帧可以覆盖一个360度全景的视场角的球面图像。在一些实施例中,一个球面视频可以具有360度的水平视场角,以及180度的垂直视场角,通常以三维球面形式呈现。下文中,以球面视频为例来 对曲面视频进行描述。本领域技术人员可以明显确定,曲面视频并不局限于球面视频。
图1为一个曲面视频的编码/压缩流程示意图。如图1所示,曲面视频的编码/压缩流程包括以下几个步骤:映射101、预测102、变换103、量化104和熵编码105。
在映射步骤101中,编码装置将三维的曲面视频映射成二维视频,以能够利用各种编码/压缩技术。编码装置可以采用二维矩形格式来存储和传输该曲面视频。另外,编码装置可以采用二维矩形格式来支持数字图像处理以及编解码操作。
曲面视频的映射方法有多种。例如,将曲面视频映射成二维视频。以球面视频为例,在一些实施方式中,球面视频中的球面图像可以基于经纬图投影(equirectangular projection)的方法映射成二维图像。在经纬图投影的一些实施方式中,可以将球面上的各经线映射到二维平面上等间隔的多个垂直直线,并将各纬线映射到该二维平面上等间隔的多个水平直线。
在一些实施方式中,球面视频中的球面图像可以基于多面体投影的方法映射成二维图像。具体的,将球面的不同区域上的图像分别投影到该球面的外切多面体的表面的多个多边形上,再将该多个多边形上的二维图像合并成一个二维图像。在一个实施例中,投影的方法可以是从球心发出虚拟射线依次穿过球面上的一点和多面体表面上的一点,将球面上该点的像素信息投影到多面体表面的该点上。
其中,多面体可以是任意多面体。例如,多面体可以是六面体、八面体、二十面体或者其他等等。其中,该六面体可以是立方体、长方体、菱形六面体、平行六面体等等;该八面体可以是正八面体、六角柱、三角反棱柱等等;该二十面体可以是正二十面体、正九角反棱柱等等,在此不做限制。
将多面体上的多个多边形合并成一个二维图像的方法有多种。在一些实施方式中,将多面体表面上的多个多边形合并成一个二维的矩形。合并的方式也有多种,例如不同的合并方式中各多边形之间的位置关系不同;又例如,不同的合并方式中合并成的矩形的大小/形状不同。
如图2所示,图2中左图是球面图像与外切正八面体的映射示意图,右图是左图中的正八面体表面上的多个三角形合并成一个二维的矩形图像的一种实施例的示意图。图2所示的正八面体表面上的每个三角形和矩形图像中 的每个三角形中都标示有对应的数字,用于指示矩形图像中的各三角形与正八面体表面上的各三角形之间的对应关系。其中,图2所示矩形图像中标号为3_1和3_2的两个直角三角形指的是正八面体中标号为3的三角形被切割成为标号为3_1和3_2的两个直角三角形;其他类似标号同理。可选的,矩形图像中部分共用一条边的两个三角形在正八面体表面上也是共用同一条边,以使得矩形图像中该两个三角形之间的图像内容存在连续,可以提高编码效率。图2中右图所示矩形只是正八面体上的多个三角形的合并方式的一个示例,还可以有其他合并成二维的矩形图像的方式,例如可以改变图2右图中各三角形之间的位置关系,或者改变矩形图像的长度和宽度,在此不做限制。
如图3所示,图3左图是球面图像与外切正二十面体的映射示意图,右图是将左图中的正二十面体表面上的多个三角形合并成一个二维的矩形图像的一种实施例的示意图。图3所示的正二十面体和矩形图像中的每个三角形都标示有对应的数字,以指示矩形图像中的各三角形与正八面体表面上的各三角形之间的对应关系。其中,图3所示矩形图像中标号为3_1和3_2的两个直角三角形指的是正二十面体中标号为3的三角形被切割成为标号为3_1和3_2的两个直角三角形;其他类似标号同理。可选的,图3左图所示矩形图像中部分共用一条边的两个三角形在右图所示的正八面体表面上也是共用同一条边,以使得矩形图像中该两个三角形之间的图像内容存在连续,可以提高编码效率。图3右图所示矩形只是正八面体上的多个三角形的合并方式的一个示例,还可以有其他合并成矩形的方式,例如可以改变图3右图中各三角形之间的位置关系,或者改变矩形图像的长度和宽度,在此不做限制。
除了如上所述的经纬图投影和多面体投影之外,还可以利用其他投影机制来将球面视频映射成二维视频。所映射成的二维视频可以是矩形视频,也可以是其他形状(例如圆形、椭圆形、正多边形)的视频。在一些实施方式中,曲面视频也可以不是球面视频,而是其他三维曲面视频,例如球面上的一部曲面视频(如半球面视频)、椭球面视频、椭球面上的一部分曲面(如半椭球面视频)、其他规则的或不规则的三维曲面视频。将球面视频映射成二维视频的方法也可以适用于非球面视频的三维曲面视频映射成二维视频中。基于一些常用的视频编解码器标准,例如HEVC/H.265,H.264/AVC,AVS1-P2,AVS2-P2,VP8,VP9,可以对二维视频进行压缩,编码和解码。
在一些实施方式中,编码装置还可以将用于指示映射方法的映射信息写 入码流中。例如,该映射信息可以写入以下至少一项中:序列头(sequence header)、图像头(picture header)、条带头(slice header)、视频参数集(VPS,video parameter set)、序列参数集(SPS,sequence parameter set)、图像参数集(PPS,picture parameter set)、SEI(附加增强信息,Supplemental Enhancement Information)、扩展数据(extension data)。
为描述方便,下文中称映射后的二维图像中包括多个分区,其中每个分区对应于多面体表面上的一个多边形,例如,图2和图3右图中的矩形图像中每个三角形内的图像作为一个分区。需注意的是,多面体上的多个多边形合并成一个二维的矩形时,可能会对多面体上的部分多边形进行分割,将一个多边形分割成至少两个多边形。例如图2左图中的三角形7在右图的矩形中被分割成了两个三角形(三角形7_1和三角形7_2);图3左图中的三角形4在右图的矩形中被分割成了两个三角形(三角形4_1和三角形4_2)。在这种多面体上的一个多边形对应二维图像中的至少两个多边形的情形中,二维图像中的该至少两个多边形中每个多边形内的图像分别作为一个分区。例如图2右图的矩形图形中三角形7_1为一个分区,三角形7_2作为另一个分区。
在一些实施方式中,映射后的二维图像中的至少一个分区的形状可以是规则的和/或不规则的。在一些实施方式中,二维图像中的至少一个分区的形状可以包括矩形、三角形、菱形、圆形、五边形、六边形或者其他形状。其中,该三角形可以包括正三角形、直角三角形、等腰三角形中的至少一种。
预测步骤102用于减少图像中的冗余信息。预测块指的是进行预测的基本单元,在一些标准中,该预测块也称为预测单元(Prediction Unit,PU)。在对一帧图像进行编码/压缩之前,图像被分成多个图像块,进一步的,该多个图像块中的每一个图像块可以再次被分成多个图像块,以此类推。不同的编码方法中,分割的层级数量可以不同,所承担的操作方法也不同。不同的编码标准中,对同一层级上的图像块的名称可能不同。例如,在一些视频标准中,一帧图像第一次被分割成的多个图像块中的每个图像块称为编码树单元(Coding Tree Unit,CTU);每个编码树单元可以包含一个编码单元(Coding Unit,CU)或者再次分割成多个编码单元;一个编码单元可以根据预测方式分割成一个、两个、四个或者其他数量的预测单元。在一些视频标准中,该编码树单元也被称为最大编码单元(Largest Coding Unit,LCU)。在现有的一些视频标准中,预测单元是图像中最小的单元,预测单元不会继续被划分 成多个图像块。
预测指的是查找与该预测块相似的图像数据,也称为该预测块的参考块。通过对该预测块和该预测块的参考块之间的差异进行编码/压缩,以减少编码/压缩中的冗余信息。其中,预测块与参考块的差异可以是由该预测块与该参考块的相应像素值相减得到的残差。预测包括帧内预测和帧间预测。帧内预测指的是在预测块所在帧内查找该预测块的参考块,帧间预测指的是在除预测块所在帧以外的其他帧内查找该预测块的参考块。
变换步骤103可以进一步减少图像块中的冗余信息。在变换步骤103中,预测块与该预测块的参考块之间的残差可以使用变换矩阵去除该残差的相关性,提高编码效率。预测块的变换通常采用二维变换,即在编码装置中将预测块块的残差信息分别与一个N*M的变换矩阵及其转置矩阵相乘,相乘之后得到的是变换系数。该变换系数可以在量化步骤104中经量化得到量化后的系数。熵编码步骤105中将量化后的系数进行熵编码。最后将熵编码得到的比特流及进行编码后的编码模式信息,如帧内预测模式、运动矢量信息等,进行存储或发送到解码装置。
解码装置接收到数据后,执行和编码装置中的编码/压缩流程相反的流程,例如依次执行以下步骤:熵解码、反量化、反变换、预测、映射。其中,在预测步骤中,解码装置可以采用和上文描述的预测方法相同的方法进行预测。在映射步骤中,解码装置采用和上面描述的映射方法相反的方法进行映射,也即编码装置中是将曲面图像映射到多面体的表面上后,将多面体表面上的多个多边形合并成一个二维平面图像,而解码装置中是将二维平面图像映射到曲面图像上,在一个实施例中,解码装置可以先将二维平面图像中的多个分区拆分后拼凑成一个多面体的至少部分,再将该多面体的至少部分上的图像映射到曲面上,形成曲面图像。
在映射步骤和预测步骤中,编码装置和解码装置可以采用相同的方法,下面以解码装置为例,对编码装置和解码装置中可以共用的一些方法进行说明。除非有额外的说明,下文描述中的用于解码装置中的方法也可以用于编码装置中。
在解码装置中,有多种方法来指示映射后的二维视频中的各分区的交界。在一些实现方式中,二维视频中的每一帧图像均采用同一个映射方法。解码装置可以根据该映射方法确定一个划分模板。该划分模板包括与图像中的各 像素点一一对应的示意点,其中,对于分别位于图像中相邻的、具有交界的两个分区中的两个像素点,对应该两个像素点的两个示意点的值不同,以指示该两个示意点对应的像素点位于不同分区内。可选的,对应同一个分区内的像素点的示意点的值可以全部相同,以简化划分模板。或者,对应同一个分区内的像素点的示意点的值也可以部分相同部分不同,也可以全部不同,在此不做限制。
例如,如图4A所示,图4A左图为一帧图像中的像素点的示意图,右图为划分模板的一个实施方式的示意图。图像41中的各像素点和划分模板42中的各示意点一一对应,每个示意点用于指示与其对应的像素点所在的分区。该划分模板42为一个二值图像,图中分区3_1、分区4、分区6、分区3_2、分区1中的所有示意点的值相同,分区7_1、分区5、分区7_2、分区2、分区0中的示意点的值相同。其中,分区3_1、分区4、分区6、分区3_2、分区1中的所有示意点在图中表示为黑色点,分区7_1、分区5、分区7_2、分区2、分区0中的所有示意点在图中表示为白色点。在一个实施例中,白色的示意点的值均为0和1中的其中一个,黑色的示意点的值均为0和1中的另外一个。
在一些实施方式中,划分模板包括与图像中的各像素块一一对应的示意点,其中,对于分别位于图像中相邻的、具有交界的两个分区中的两个像素块,对应该两个像素块的两个示意点的值不同;这样可以减小划分模板的数据量。其中,像素块的大小可以是像素块所包含的像素点的数量。例如,划分模板中的每个示意点对应图像中的一个4*4的像素块。各示意点分别对应的像素块的大小可以全部相同,也可以至少部分不同。例如,全部位于分区内的像素块大于位于分区间的交界上的像素块。
在各像素点分别对应的像素块的大小至少部分不同的实施例中,可选的,编码装置还生成图像的划分模板的指示信息,该指示信息用于指示每个示意点对应的像素块的大小。解码装置可以从编码数据中获取待解码图像的划分模板的指示信息,并基于该划分模板和划分模板的指示信息确定待解码图像中的至少一个交界。
在一些实施方式中,解码装置可以根据映射方法确定图像的划分函数。具体的,以图像的宽和长分别作为一个XOY坐标系的x轴和y轴,图像中各分区的交界为该坐标系中为一个个线段,划分函数指的是该一个个交界在该 坐标系中的函数。例如,图像中的一个交界为直线段,那么该直线段在该坐标系中的函数为f(x)=a*x+b。
在一些实施方式中,二维视频中存在两帧图像分别采用不同的映射方法。解码装置可以针对每一种映射方法确定一个对应的划分模板或者划分公式。
在上述映射步骤101中,三维曲面视频映射成二维视频时,会出现二维视频中两个相邻分区内容不连续的情况。例如,如图2左图所示的球面图像中,三角形7和三角形4分别在球面图像上的映射区域不相邻,三角形5和三角形6分别在球面图像上的映射区域不相邻,三角形3和三角形0分别在球面图像上的映射区域不相邻,三角形1和2分别在球面图像上的映射区域不相邻;因此,在图2右图所示的矩形图像中,分区7_1和分区4之间、分区3_1和分区0之间、分区5和分区6之间、分区1和分区2之间的图像内容均不连续。为描述方便,下文中称平面图像中相邻的、内容不连续的两个分区的交界为特定交界,其中,该相邻的、内容不连续的两个分区指的是分别在曲面图形上的映射区域不相邻、但在平面图像上相邻且具有交界的两个分区。
在采用划分模板的一些实施例中,对于分别位于图像中相邻的、具有特定交界的两个分区中的两个像素点,对应该两个像素点的两个示意点的值不同,以指示该两个示意点对应的像素点分别位于图像内容不连续的两个不同分区内;而对于分别位于图像内容连续的两个相邻分区中的两个像素点,对应该两个像素点的两个示意点的值相同。
如图4B所示,图4B左图为一帧图像中的像素点的示意图,右图为划分模板的一个实施方式的示意图。例如,根据图2对应的描述内容可知,图4B中分区7_1和分区4的图像内容不连续,分区3_1和分区0的图像内容不连续,分区5和分区6的图像内容不连续、分区1和分区2的图像内容不连续。因此,分区7_1和分区4的交界、分区3_1和分区0的交界、分区5和分区6的交界、分区1和分区2的交界均为特定交界。而分区4和分区5的图像内容连续,分区0和分区1的图像内容连续,分区6和分区7_2的图像内容连续,分区2和分区3_2的图像内容连续。因此,分区4和分区5的示意点的值相同,且与分区7_1的示意点的值不同。分区0和分区1的示意点的值相同,且与分区3_1的示意点的值不同。分区6和分区7_2的示意点的值相同,且和分区5的示意点的值不同。分区2和分区3_2的示意点的值相同,且和 分区1的示意点的值不同。
进一步,可选的,分区7_1和分区3_1的值相同,分区4、分区5、分区0和分区1的示意点的值相同,分区6、分区7_2、分区3_2和分区2的示意点的值相同。在划分模板为二值图像的实施例中,分区7_1和分区3_1的示意点的值,和分区6、分区7_2、分区3_2分区2的示意点的值均相同,且与分区4、分区5、分区0、分区1的示意点的值不同。这样可以进一步减少存储划分模板所需的内存大小。举例来说,分区7_1和分区3_1的示意点的值均为0,分区4、分区5、分区0和分区1的示意点的值均为1,分区6、分区7_2、分区3_2和分区2的示意点的值均为0。
在对待编码图像中的一个待编码块进行编码/压缩时,该待编码块被分为至少一个预测块,通过分别查找该至少一个预测块的参考块,并分别对该至少一个预测块和对应的参考块之间的差异进行编码/压缩,以减少编码/压缩中的冗余信息。其中,预测块与参考块的差异可以是由该预测块与该参考块的相应像素值相减得到的残差。因此,查找到的参考块与预测块的差异越小,减少的冗余信息越多,对该预测块编码/压缩后的数据量越小。然而,现有技术中的预测块的形状为矩形的,编解码时会出现部分预测块横跨两个图像内容不连续的分区之间的交界的现象。因此该部分预测块中分别位于该交界两侧的图像内容不连续,导致查找到的参考块与该预测块的内容差异较大。
在本发明提供的实施方式中,当一个图像块横跨两个图像内容不连续的分区之间的交界时,对该图像块块进一步划分为至少两个预测块,并采用不同的参考块分别对至少两个预测块进行预测。这样可以使得预测块和对应的参考块之间的内容差异较小,提高预测效率和编解码质量。
在一些实施方式中,划分后的预测块的数量可以取决于图像块所位于的分区的数量。例如,该图像块位于待解码图像中的三个分区上,则将该图像块划分成三个预测块,该三个预测块分别位于该三个分区上。如图5所示,图5为一个实施例中的图像块的划分示意图。图像块51位于分区7_1、分区4和分区5上,将该图像块划分为三个分区:预测块511、预测块512和预测块513。
在一些实施方式中,划分后的预测块的数量可以取决于图像块所位于的分区是否包括具有交界且内容不连续的两个分区。例如,当图像块所跨过的特定交界的数量为1个,图像块可以划分为分别位于该特定交界两侧的两个 预测块。如图6所示,图6为另一个实施例中的图像块的划分示意图。图像块61位于分区4和分区5上,图像块62位于分区1和分区2上。分区4和分区5的图像内容连续,分区1和分区2的图像内容不连续,那么图像块61作为一个预测块进行预测,图像块62被分区1和分区2的交界划分为预测块621和预测块622进行预测。又例如,当图像块所跨过的特定交界的数量为至少2个且各特定交界首尾相接,图像块可以划分为两个预测块,该两个预测块分别位于该首尾相接的特定交界两侧。如图7所示,图7为另一个实施例中的图像块的划分示意图。图像块71位于分区1、分区5、分区6、分区7_2、分区3_2和分区2上,一共跨过6条交界,其中有两条交界为特定交界,且该两条交界首尾相接,该相接的两条交界将图像块71划分为预测块711和预测块712。
在一些视频标准中,一个解码单元(CU)被分割成一个或至少两个预测单元,这些预测单元不会被进一步划分,每一个预测单元采用一个参考块预测。在本发明提供的一些实施方式中,解码单元被分割成一个或至少两个预测单元之后,当该一个或至少两个预测单元中的预测单元跨过交界或者跨过特定交界时,还将该预测单元进一步划分为至少两个预测块,且每个预测块采用不同的参考块进行预测。这样可以使得预测块的边界和参考块的边界相吻合,提高预测效率和解码质量。
确定图像块所位于的分区的数量的方法有多种。在一些实施方式中,解码装置存有划分模板,解码装置可以依次检测图像块中各像素点在划分模板中对应的示意点,根据各像素点对应的示意点确定该图像块中的各像素点是否位于同一个分区内。在一些实施方式中,只需要判断图像块的四个顶点上的像素点中至少两个顶点上(例如其中的两个顶点或者三个顶点上)的像素点是否位于同一个分区内。当图像块的四个顶点中至少两个顶点(例如位于对角上的两个顶点或者相邻的两个顶点)上的像素点不是位于同一分区内时,确定该图像块位于至少两个分区内。这样不需要将图像块中的所有像素点与划分模板中的示意点逐点对比,降低复杂度。进一步的,可以还判断图像块所位于的至少两个分区是否包括具有交界的、内容不连续的两个分区。
具体的,采用图4A所示的划分模板时,当图像块的四个顶点上的像素点中至少两个顶点上的像素点对应的示意点的值不同时,确定该图像块中的各像素点位于至少两个分区内。采用图4B所示的划分模板时,当图像块的四个 顶点上的像素点中至少两个顶点上的像素点对应的示意点的值不同时,确定该图像块中的各像素点位于至少两个内容不连续的分区内。
在一些实施方式中,解码装置存有划分函数,解码装置可以依据该划分函数确定图像中各分区的交界的位置,再根据图像块中各像素点(或者四个顶点上的像素点)在图像中的位置,确定图像块所位于的分区的数量。
在一些实施方式中,当图像块位于至少两个分区上时,或者,当图像块位于至少两个分区,且该至少两个分区包括具有交界、内容不连续的两个分内时,可选的,当该图像块还满足一些特定条件时,编码装置才将该图像块分为至少两个预测块。
该特定条件可以有多种,例如,该特定条件包括:该图像块的第一编码性能小于第二编码性能,其中,该第一编码性能为对该图像块不进行划分的情况下该图像块的编码性能,所述第二编码性能为将该图像块划分成至少两个预测块的情况下该图像块的编码性能。其中,编码性能可以基于率失真优化值(RDO cost,Rate-Distortion Optimization cost)确定。又例如,该特定条件包括:该图像块所预计分成的至少两个预测块中任意两个预测块之间的纹理差异大于第一阈值。其中,预测块的纹理可通过sobel算子等算法确定。又例如,该特定条件包括:该图像块所预计分成的至少两个预测块中任意一个预测块与该图像块的像素点数量之比大于第二阈值。在视频编解码技术中,对图像块的灵活划分方法可以提高编码效率。
在视频编解码技术中,不同情况下图像块的编码质量会有差异。例如,图像块位于交界两侧的图像内容差异性较大时,一般将该图像块沿着交界进行划分然后分别预测可以取得较好的编码质量;图像块位于交界两侧的图像内容差异性较小时,不对图像块进行划分往往能取得更好的编码质量。通过以上特定条件,可以提高图像块的划分方式的灵活性,继而提高编码效率。
在一些实施方式中,编码装置还生成该图像块的标志位,该标志位用于指示该图像块是否被划分为至少两个预测块。解码装置在对待解码块进行解码中,还获取该待解码块的标志位;当该标志位指示该待解码块需要划分时,将待解码块划分成至少两个预测块。可选的,当所述标志位指示所述待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。
可选的,编码装置中该标志位还用于指示该图像块划分预测块的方式。解码装置根据待解码块的标志位所指示的方式对该待解码块进行划分。或者, 标志位不需指示待编码块/待解码块的划分方式,编码装置和解码装置分别采用预置规则来对待编码块和带解码块进行划分。
解码装置将位于至少两个分区内的图像块划分成至少两个预测块之后,解码装置分别获取该至少两个预测块的参考块。获取预测块的参考块的方法有多种。在一些实施方式中,解码装置以预测块的大小获取该预测块的参考块。在一些实施方式中,预测块的形状非矩形,解码装置以预测块的外接规则图形的大小查找该预测块的参考数据,再从该参考数据中截取出该预测块的参考块。其中,预测块的外接规则图形可以是该预测块的外接矩形(例如该预测块的最小外接矩形),或者可以是该预测块的外接圆形(例如该预测块的最小外接圆形)。
例如,如图8所示,图8为预测块的参考块的一个实施例的示意图。一个图像块为矩形,该图像块被划分为两个形状为五边形的预测块711和712,解码装置分别以该两个预测块的最小外接矩形的大小查找该两个预测块的参考数据811和812,从参考数据811中截取出形状大小和预测块711一样的参考块813,从参考数据812中截取出形状大小和预测块712一样的参考块814。图中参考数据811和参考数据812位于同一个参考图像中,可选的,该两个参考数据也可以不是位于同一参考图像中,在此不做限制。
例如,如图9所示,图9为预测块的参考块的另一个实施例的示意图。一个图像块为矩形,该图像块被划分为两个形状为五边形的预测块711和712,解码装置分别以该图像块的大小查找该两个预测块的参考数据911和912,从参考数据911中截取出形状大小和预测块711一样的参考块913,从参考数据912中截取出形状大小和预测块712一样的参考块814。图中参考数据911和参考数据912位于同一个参考图像中,可选的,该两个参考数据也可以不是位于同一参考图像中,在此不做限制。
上面各实施方式中描述了将待解码块划分成至少两个预测块来分别进行预测的情况。在一些实施方式中,在将待解码块划分成至少两个预测块之前,先基于曲面图像到所述多面体的映射方式确定待解码图像的分区的划分方式,在根据待解码图像的分区的划分方式确定该待解码块位于至少两个分区内之后,将所述待解码块划分成至少两个预测块。
在一些实施方式中,根据所述待解码图像的分区的划分方式确定所述待解码图像中的一个待解码块不需要划分时,采用一个参考块对所述待解码块 进行预测。其中,确定待解码块不需要划分的方式有多种,例如,当所述待解码块位于一个分区内,或者待解码块位于图像内容连续的至少两个分区内时,确定所述待解码块不需要划分。
参阅图10,图10为本发明的视频编码方法的一个实施例的流程示意图。视频编码方法100包括:
101、将待编码图像中的一个待编码块划分成至少两个预测块,该至少两个预测块分别位于该待编码图像的至少两个分区内。
其中,待编码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像。例如,待编码图像是球面图像、半椭球面图像或者其他三维封闭曲面映射到多面体表面上所有多边形后该所有多边形拼接形成的平面图像。又例如,待编码图像是球面图像、半椭球面图像或者其他三维封闭曲面的部分映射到多面体表面上部分多边形后该多边形拼接形成的平面图像。又例如,待编码图像是球面上的部分曲面图像(例如半球面图像)、椭球面上的部分曲面图像(例如半椭球面图像)或者其他开放曲面映射到多面体表面上的至少部分多边形后各多边形拼接形成的平面图像。
其中,待编码图像的至少两个分区分别对应于多面体表面上的至少两个多边形。具体的,待编码图像上的每一个分区对应着多面体表面上的一个多边形。在一些实施方式中,待编码图像上的至少两个分区对应多面体表面上的同一个多边形中的不同区域。
其中,一个待编码块被划分成的至少两个预测块分别位于该待编码图像的至少两个分区内,包括以下几种情形:1、不同的预测块分别位于不同的分区内;2、存在两个预测块位于同一个分区内;3、存在一个预测块位于至少两个分区内。
举例来说,待编码图像中包括第一分区和第二分区,该第一分区和第二分区分别在曲面图像上的映射区域可以是相邻的,也即该两个分区分别在曲面图像上的映射区域是具有交界的;或者,该第一分区和第二分区分别在曲面图像上的映射区域也可以是不具有交界的,在此不做限制。当待编码块跨过第一分区和第二分区的交界时,基于该交界将该待编码块划分成至少两个预测块。
其中,待编码块可以指的是一些视频标准中的编码单元,也可以指的是一些视频标准中的预测单元,在此不做限制。
在一些实施方式中,待编码块中的至少一个分区具有非矩形的形状,至少两个预测块中的至少一个预测块非矩形。
102、采用不同的参考块分别对所述至少两个预测块预测。
将待编码块划分成至少两个预测块之后,对于每一个预测块,分别获取该预测块的参考块,采用该参考块对该预测块进行预测。举例来说,待编码块所划分成的至少两个预测块中包括第一预测块和第二预测块,获取第一参考块和第二参考块,第一参考块用于对第一预测块预测,第二参考块用于对第二预测块预测。
在一些实施方式中,在步骤101之前,编码装置还基于曲面图像到多面体的映射方式确定待编码图像中的至少一个交界,该交界为待编码图像中不同分区的交界;在步骤101中,还基于该待编码图像的至少一个交界将该待编码块划分成至少两个预测块。例如,基于位于待编码块内的至少一个交界将该待编码块划分成至少两个预测块。在一些实施方式中,基于待编码图像内的至少一个特定交界将该待编码块划分成至少两个预测块。例如,基于位于待编码块内的至少一个特定交界将待编码块划分成至少两个预测块。具体举例来说,将待编码块划分成至少两个预测块,其中,该至少两个预测块中任意两个相邻的预测块的交界为特定交界。
编码装置基于曲面图像到多面体的映射方式确定所述待编码图像中的至少一个交界的方法有多种。
在一些实施方式中,编码装置基于曲面图像到多面体的映射方式确定待编码图像的划分模板,该划分模板包括与待编码图像中的各像素点一一对应或者与待编码图像中的各像素块一一对应的示意点;基于该划分模板确定待编码图像中的至少一个交界。在一些实施方式中,该划分模板为二值图像。例如,该划分模板为包括0和1的图像,或者包括其他两个不同数值或不同字符的图像。
划分模板包括与待编码图像中的各像素块一一对应的示意点的实施例中,可选的,划分模板中至少部分示意点分别对应的待编码图像中的像素块的大小不同。可选的,编码装置还生成待编码图像的划分模板的指示信息,该指示信息用于指示每个示意点对应的像素块的大小。编码装置基于该待编码图像的划分模板以及划分模板的指示信息确定待编码图像中的至少一个交界。
在一些实施方式中,编码装置基于曲面图像到多面体的映射方式确定待 编码图像的划分函数,该划分函数用于指示待编码图像中的至少一个交界在待编码图像中的位置。
在一些实施方式中,基于所述曲面图像到多面体的映射方式确定待编码图像中的至少一个交界的步骤,是在对待编码图像编码之前执行的。
在一些实施方式中,编码装置在确定待编码块的至少部分顶点上的像素点分别位于不同分区内时,将该待编码块划分成至少两个预测块。
在一些实施方式中,编码装置还生成待编码块的标志位,该标志位用于指示待编码块被划分成至少两个预测块。
在一些实施方式中,编码装置在采用不同的参考块分别对所述至少两个预测块预测之前,还分别获取该至少两个预测块的参考数据;并从每一个预测块的参考数据中获取该预测块的参考块。可选的,参考数据与待编码块的形状和/或大小相同;或者,参考数据与预测块的最小外接矩形的形状和/或大小相同。可选的,参考块的与预测块的形状和/或大小相同。
在一些实施方式中,多面体为正八面体或者正二十面体。
在一些实施方式中,至少两个分区中的至少一个分区呈三角形或者菱形。可选的,至少一个分区呈正三角形或者直角三角形。
在一些实施方式中,待编码块呈规则形状,待编码块被划分成的各个预测块呈规则形状或者不规则形状。
在一些实施方式中,待编码块被划分成的至少两个预测块中的每个预测块分别位于一个分区内。
在一些实施方式中,待编码块被划分成的至少两个预测块中的一个预测块位于至少两个分区内。
在一些实施方式中,编码装置还预测第一编码性能和第二编码性能,其中,第一编码性能为对待编码块不进行划分的情况下待编码块的编码性能,第二编码性能为将待编码块划分成至少两个预测块的情况下待编码块的编码性能;当第一编码性能小于第二编码性能时,执行将所述待编码块划分成至少两个预测块的步骤。
在一些实施方式中,曲面图像为全景视频中的一帧图像。
下面结合一个具体例子对本发明中的视频编码方法进行举例说明。
编码装置中预置有球面视频到二维平面的映射方法。编码装置在对一个 球面视频编码时,将该映射方法写入该球面视频的码流中。编码装置还根据该映射方法生成二维平面视频的划分模板,该划分模板包括多个示意点的二值图像,这些示意点的取值只有0和1。划分模板中的每一个示意点用于指示平面视频中的平面图像中对应的N*N(例如4*4)的像素块所位于的分区。该划分模板还用于指示哪些相邻的、具有交界的两个分区是内容不连续的分区。该划分模板的具体信息可以参考图4A或者图4B的描述,在此不再赘述。
对二维平面视频中的一个平面图像,编码装置将该平面图像划分成多个图像块。对其中的一个图像块,编码装置将其划分成至少一个矩形的编码单元。对其中的一个编码单元,编码装置将其划分成至少一个矩形的预测单元。对其中的一个预测单元,编码装置确定该预测单元的四个顶点在该图像中的坐标分别为(Xtl,Ytl),(Xtr,Ytr),(Xbl,Ybl),(Xbr,Ybr),并根据该该四个顶点的坐标,确定划分模板中(Xtl/N,Ytl/N),(Xtr/N,Ytr/N),(Xbl/N,Ybl/N),(Xbr/N,Ybr/N)该四个数值对应的四个示意点是否位于同一分区中。当该四个数值对应的四个示意点中存在至少两个示意点的数值不同时,编码装置还计算基于该两个分区的交界(也即特定交界)将该预测单元划分成两个预测块pred0和pred1来分别预测时,该预测单元的编码性能为第一编码性能,并计算采用一个参考块对该预测单元进行预测时该预测单元的编码性能为第二编码性能。当第一编码性能大于第二编码性能时,编码装置将该预测单元划分为两个预测块pred0和pred1。
编码单元中的各预测单元,若预测单元没有进一步划分成至少两个预测块,该预测单元具有自己的一组运动矢量,编码装置根据该运动矢量获得该预测单元的参考块。若预测单元被进一步划分为至少两个预测块,每一个预测块具有自己的一组运动矢量,编码装置分别根据该预测块的运动矢量获取该预测块的参考块。
在获取该预测块pred0和pred1的参考块时,分别根据预测块pred0和pred1的运动矢量以该两个预测块所在的预测单元的尺寸M*M获取大小均为M*M的参考数据ref0和ref1数组。预测块pred0在划分模板中对应的示意点的数值为0,pred1对应的示意点数值为1。那么预测块pred0实际预测所用的参考块actualRef0的求取方法如下:
ActualRef0(y,x)=pred0(y,x)&(1-mask(y/N,x/N)),y=0…M,x=0…M。
预测块pred1实际预测所用的参考块ActualRef1的求取方法如下:
ActualRef1(y,x)=pred0(y,x)&mask(y/N,x/N),y=0…M,x=0…M。
采用参考块actualRef0对预测块pred0预测,以及采用参考块actualRef1对预测块pred1预测。
参阅图11,图11为本发明的视频解码方法的一个实施例的流程示意图。视频解码方法200包括:
201、将待解码图像中的一个待解码块划分成至少两个预测块,所述至少两个预测块分别位于所述待解码图像的至少两个分区内。
其中,待解码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像。例如,待解码图像是球面图像、半椭球面图像或者其他三维封闭曲面映射到多面体表面上所有多边形后该所有多边形拼接形成的平面图像。又例如,待解码图像是球面图像、半椭球面图像或者其他三维封闭曲面的部分映射到多面体表面上部分多边形后该多边形拼接形成的平面图像。又例如,待解码图像是球面上的部分曲面图像(例如半球面图像)、椭球面上的部分曲面图像(例如半椭球面图像)或者其他开放曲面映射到多面体表面上的至少一个多边形后各多边形拼接形成的平面图像。
其中,待解码图像的至少两个分区分别对应于多面体表面上的至少两个多边形。具体的,待解码图像上的每一个分区对应着多面体表面上的一个多边形。在一些实施方式中,待解码图像上的至少两个分区对应多面体表面上的同一个多边形中的不同区域。
其中,一个待解码块被划分成的至少两个预测块分别位于该待解码图像的至少两个分区内,包括以下几种情形:1、不同的预测块分别位于不同的分区内;2、存在两个预测块位于同一个分区内;3、存在一个预测块位于至少两个分区内。
举例来说,待解码图像中包括第一分区和第二分区,该第一分区和第二分区分别在曲面图像上的映射区域是具有交界的;或者,该第一分区和第二分区分别在曲面图像上的映射区域也可以是不具有交界的,在此不做限制。当待解码块跨过第一分区和第二分区的交界时,基于该交界将该待解码块划分成至少两个预测块。
其中,待解码块可以指的是一些视频标准中的编码单元,也可以指的是一些视频标准中的预测单元,在此不做限制。
在一些实施方式中,待解码块中的至少一个分区具有非矩形的形状,至少两个预测块中的至少一个预测块非矩形。
202、采用不同的参考块分别对所述至少两个预测块预测。
将待解码块划分成至少两个预测块之后,对于每一个预测块,分别获取该预测块的参考块,采用该参考块对该预测块进行预测。举例来说,待解码块所划分成的至少两个预测块中包括第一预测块和第二预测块,获取第一参考块和第二参考块,第一参考块用于对第一预测块预测,第二参考块用于对第二预测块预测。
在一些实施方式中,在步骤201之前,解码装置还基于曲面图像到多面体的映射方式确定待解码图像中的至少一个交界,该交界为待解码图像中不同分区的交界;在步骤201中,还基于该待解码图像的至少一个交界将该待解码块划分成至少两个预测块。例如,基于位于待解码块内的至少一个交界将该待解码块划分成至少两个预测块。在一些实施方式中,基于待解码图像内的至少一个特定交界将该待解码块划分成至少两个预测块。例如,基于位于待解码块内的至少一个特定交界将待解码块划分成至少两个预测块。具体举例来说,将待解码块划分成至少两个预测块,其中,该至少两个预测块中任意两个相邻的预测块的交界为特定交界。
解码装置基于曲面图像到多面体的映射方式确定所述待解码图像中的至少一个交界的方法有多种。
在一些实施方式中,解码装置基于曲面图像到多面体的映射方式确定待解码图像的划分模板,该划分模板包括与待解码图像中的各像素点一一对应或者与待解码图像中的各像素块一一对应的示意点;基于该划分模板确定待解码图像中的至少一个交界。在一些实施方式中,该划分模板为二值图像。例如,该划分模板为包括0和1的图像,或者包括其他两个不同数值或不同字符的图像。
划分模板包括与待解码图像中的各像素块一一对应的示意点的实施例中,可选的,划分模板中至少部分示意点分别对应的待解码图像中的像素块的大小不同。可选的,解码装置还获取待解码图像的划分模板的指示信息,该指示信息用于指示每个示意点对应的像素块的大小;基于待解码图像的划分模板以及划分模板的指示信息确定待解码图像中的至少一个交界。
在一些实施方式中,解码装置基于曲面图像到多面体的映射方式确定待 解码图像的划分函数,该划分函数用于指示待解码图像中的至少一个交界在待解码图像中的位置。
在一些实施方式中,基于所述曲面图像到多面体的映射方式确定待解码图像中的至少一个交界的步骤,是在对待解码图像解码之前执行的。
在一些实施方式中,解码装置在确定待解码块的至少部分顶点上的像素点分别位于不同分区内时,将该待解码块划分成至少两个预测块。
在一些实施方式中,解码装置还获取待解码块的标志位,该标志位用于指示待解码块是否需要划分;当标志位指示待解码块需要划分时,将待解码块划分成至少两个预测块。
在一些实施方式中,解码装置在采用不同的参考块分别对所述至少两个预测块预测之前,还分别获取该至少两个预测块的参考数据;并从每一个预测块的参考数据中获取该预测块的参考块。可选的,参考数据与待解码块的形状和/或大小相同;或者,参考数据与预测块的最小外接矩形的形状和/或大小相同。可选的,参考块的与预测块的形状和/或大小相同。
在一些实施方式中,多面体为正八面体或者正二十面体。
在一些实施方式中,至少两个分区中的至少一个分区呈三角形或者菱形。可选的,至少一个分区呈正三角形或者直角三角形。
在一些实施方式中,待解码块呈规则形状,待解码块被划分成的各个预测块呈规则形状或者不规则形状。
在一些实施方式中,待解码块被划分成的至少两个预测块中的每个预测块分别位于一个分区内。
在一些实施方式中,待解码块被划分成的至少两个预测块中的一个预测块位于至少两个分区内。
在一些实施方式中,解码装置将待解码图像中的一个待解码块划分成至少两个预测块之前,解码装置还基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的分区的划分方式,根据所述待解码图像的分区的划分方式确定所述待解码块位于所述至少两个分区内之后,将所述待解码块划分成至少两个预测块。
在一些实施方式中,解码装置还根据所述待解码图像的分区的划分方式确定所述待解码图像中的一个待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。
在一些实施方式中,当所述待解码块位于一个分区内,或者位于图像内容连续的至少两个分区内时,解码装置确定所述待解码块不需要划分。
在一些实施方式中,曲面图像为全景视频中的一帧图像。
下面结合一个具体例子对本发明中的视频解码方法进行举例说明。
解码装置从码流中获取球面视频到二维平面的映射方法,并根据该映射方法生成球面视频的划分模板,该划分模板包括多个示意点的二值图像,这些示意点的取值只有0和1。划分模板中的每一个示意点用于指示球面视频中的球面图像中对应的N*N(例如4*4)的像素块所位于的分区。该划分模板还用于指示哪些相邻的、具有交界的两个分区是内容不连续的分区。该划分模板的具体信息可以参考图4A或者图4B的描述,在此不再赘述。
对二维平面视频中的一个平面图像,解码装置将该平面图像划分成多个图像块。对其中的一个图像块,解码装置将其划分成至少一个矩形的解码单元。对其中的一个解码单元,解码装置将其划分成至少一个矩形的预测单元。对其中的一个预测单元,解码装置确定该预测单元的四个顶点在该图像中的坐标分别为(Xtl,Ytl),(Xtr,Ytr),(Xbl,Ybl),(Xbr,Ybr),并根据该该四个顶点的坐标,确定划分模板中(Xtl/N,Ytl/N),(Xtr/N,Ytr/N),(Xbl/N,Ybl/N),(Xbr/N,Ybr/N)该四个数值对应的四个示意点是否位于同一分区中。当该四个数值对应的四个示意点中存在至少两个示意点的数值不同时,解码装置还计算基于该两个分区的交界(也即特定交界)将该预测单元划分成两个预测块pred0和pred1来分别预测时,该预测单元的解码性能为第一解码性能,并计算采用一个参考块对该预测单元进行预测时该预测单元的解码性能为第二解码性能。当第一解码性能大于第二解码性能时,解码装置将该预测单元划分为两个预测块pred0和pred1。
解码单元中的各预测单元,若预测单元没有进一步划分成至少两个预测块,该预测单元具有自己的一组运动矢量,解码装置根据该运动矢量获得该预测单元的参考块。若预测单元被进一步划分为至少两个预测块,每一个预测块具有自己的一组运动矢量,解码装置分别根据该预测块的运动矢量获取该预测块的参考块。
在获取该预测块pred0和pred1的参考块时,分别根据预测块pred0和 pred1的运动矢量以该两个预测块所在的预测单元的尺寸M*M获取大小均为M*M的参考数据ref0和ref1数组。预测块pred0在划分模板中对应的示意点的数值为0,pred1对应的示意点数值为1。那么预测块pred0实际预测所用的参考块actualRef0的求取方法如下:
ActualRef0(y,x)=pred0(y,x)&(1-mask(y/N,x/N)),y=0…M,x=0…M。
预测块pred1实际预测所用的参考块ActualRef1的求取方法如下:
ActualRef1(y,x)=pred0(y,x)&mask(y/N,x/N),y=0…M,x=0…M。
采用参考块actualRef0对预测块pred0预测,以及采用参考块actualRef1对预测块pred1预测。
图12是根据本发明实施例的视频编码装置的示意性框图。如图12所示,视频编码装置120包括:
至少一个存储器1201,用于存储计算机可执行指令;
至少一个处理器1202,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
将待编码图像中的一个待编码块划分成至少两个预测块,所述至少两个预测块分别位于所述待编码图像的至少两个分区内,其中所述待编码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待编码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;
采用不同的参考块分别对所述至少两个预测块预测。
在一些实施例中,所述两个分区非矩形,所述两个预测块非矩形。
在一些实施例中,所述至少两个分区包括相邻的第一分区和第二分区,所述将待编码图像中的一个待编码块划分成至少两个预测块,包括:
当待编码图像中的一个待编码块跨过所述第一分区和第二分区的交界时,基于所述交界将所述待编码块划分成至少两个预测块。
在一些实施例中,所述第一分区和第二分区分别在所述曲面图像中的映射区域不相邻。
在一些实施例中,所述处理器还用于:
基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界,所述交界为所述待编码图像中不同分区的交界;
基于所述待编码图像的至少一个交界将所述待编码块划分成至少两个预测块。
在一些实施例中,所述基于所述待编码图像的至少一个交界将所述待编码块划分成至少两个预测块,包括:
基于所述待编码图像的至少一个特定交界将所述待编码块划分成至少两个预测块,所述特定交界为交界两边的分区分别在所述曲面图像中的映射区域不相邻的交界。
在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界,包括:
基于所述曲面图像到所述多面体的映射方式确定所述待编码图像的划分模板,所述划分模板包括与所述待编码图像中的各像素点一一对应或者与所述待编码图像中的各像素块一一对应的示意点,其中,分别对应位于具有交界的两个分区的像素点或像素块的两个示意点的值不同;
基于所述待编码图像的划分模板确定所述待编码图像中的至少一个交界。
在一些实施例中,所述划分模板为二值图像。
在一些实施例中,所述划分模板中至少部分示意点分别对应的所述待编码图像中的像素块的大小不同。
在一些实施例中,所述处理器还用于:
生成所述待编码图像的划分模板的指示信息,所述指示信息用于指示每个示意点对应的像素块的大小;
基于所述待编码图像的划分模板以及所述划分模板的指示信息确定所述待编码图像中的至少一个交界。
在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界,包括:
基于所述曲面图像到所述多面体的映射方式确定所述待编码图像的划分函数,所述划分函数用于指示所述待编码图像中的至少一个交界在所述待编码图像中的位置。
在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界的步骤,是在对所述待编码图像编码之前执行的。
在一些实施例中,所述处理器在将待编码图像中的一个待编码块划分成 至少两个预测块之前,还用于:
确定所述待编码块的至少部分顶点上的像素点分别位于不同分区内。
在一些实施例中,所述处理器还用于:
生成所述待编码块的标志位,所述标志位用于指示所述待编码块被划分成至少两个预测块。
在一些实施例中,所述处理器在采用不同的参考块分别对所述至少两个预测块预测之前,还用于:
分别获取所述至少两个预测块的参考数据;
从所述预测块的参考数据中获取所述预测块的参考块。
在一些实施例中,所述参考块的形状与所述预测块的形状相同。
在一些实施例中,所述参考块的大小与所述预测块的大小相同。
在一些实施例中,所述参考数据与所述待编码块的形状和/或大小相同。
在一些实施例中,所述参考数据与所述预测块的最小外接矩形的形状和/或大小相同。
在一些实施例中,所述多面体为正八面体或者正二十面体。
在一些实施例中,所述至少两个分区中的至少一个分区呈三角形或者菱形。
在一些实施例中,所述至少一个分区呈正三角形或者直角三角形。
在一些实施例中,所述待编码块呈规则形状,所述预测块呈规则形状或者不规则形状。
在一些实施例中,所述至少两个预测块中的每个预测块分别位于一个分区内。
在一些实施例中,所述至少两个预测块中的一个预测块位于至少两个分区内。
在一些实施例中,所述基于所述特定交界将所述待编码块划分成至少两个预测块,包括:
将所述待编码块划分成至少两个预测块,其中,所述至少两个预测块中任意两个相邻的预测块的交界为所述特定交界。
在一些实施例中,所述曲面图像为全景视频中的一帧图像。
图13是根据本发明实施例的视频解码装置的示意性框图。如图13所示,视频解码装置130包括:
至少一个存储器1301,用于存储计算机可执行指令;
至少一个处理器1302,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
将待解码图像中的一个待解码块划分成至少两个预测块,所述至少两个预测块分别位于所述待解码图像的至少两个分区内,其中所述待解码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待解码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;
采用不同的参考块分别对所述至少两个预测块预测。
在一些实施例中,所述两个分区非矩形,所述两个预测块非矩形。
在一些实施例中,所述至少两个分区包括相邻的第一分区和第二分区,所述将待解码图像中的一个待解码块划分成至少两个预测块,包括:
当待解码图像中的一个待解码块跨过所述第一分区和第二分区的交界时,基于所述交界将所述待解码块划分成至少两个预测块。
在一些实施例中,所述第一分区和第二分区分别在所述曲面图像中的映射区域不相邻。
在一些实施例中,所述处理器还用于:
基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,所述交界为所述待解码图像中相邻两个分区的交界;
基于所述待解码图像的至少一个交界将所述待解码块划分成至少两个预测块。
在一些实施例中,所述基于所述待解码图像的至少一个交界将所述待解码块划分成至少两个预测块,包括:
基于所述待解码图像的至少一个特定交界将所述待解码块划分成至少两个预测块,所述特定交界为交界两侧的分区分别在所述曲面图像中的映射区域不相邻的交界;
基于所述特定交界将所述待解码块划分成至少两个预测块。
在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,包括:
基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的划分模板,所述划分模板包括与所述待解码图像中的各像素点一一对应或者与所 述待解码图像中的各像素块一一对应的示意点,其中,分别对应位于具有交界的两个分区的像素点或像素块的两个示意点的值不同;
基于所述待解码图像的划分模板确定所述待解码图像中的至少一个交界。
在一些实施例中,所述划分模板为二值图像。
在一些实施例中,所述划分模板中至少部分示意点分别对应的所述待解码图像中的像素块的大小不同。
在一些实施例中,所述处理器还用于:
获取所述待解码图像的划分模板的指示信息,所述指示信息用于指示每个示意点对应的像素块的大小;
基于所述待解码图像的划分模板以及所述划分模板的指示信息确定所述待解码图像中的至少一个交界。
在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,包括:
基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的划分函数,所述划分函数用于指示所述待解码图像中的至少一个交界在所述待解码图像中的位置。
在一些实施例中,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界的步骤,是在对所述待解码图像解码之前执行的。
在一些实施例中,所述处理器在将待解码图像中的一个待解码块划分成至少两个预测块之前,还用于:
确定所述待解码块的至少部分顶点上的像素点分别位于不同分区内。
在一些实施例中,所述处理器还用于:
获取所述待解码块的标志位,所述标志位用于指示所述待解码块是否需要划分;
当所述标志位指示所述待解码块需要划分时,将所述待解码块划分成至少两个预测块。
在一些实施例中,所述处理器还用于:
当所述标志位指示所述待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。
在一些实施例中,所述处理器在采用不同的参考块分别对所述至少两个 预测块预测之前,还用于:
分别获取所述至少两个预测块的参考数据;
从所述预测块的参考数据中获取所述预测块的参考块。
在一些实施例中,所述参考块的形状与所述预测块的形状相同。
在一些实施例中,所述参考块的大小与所述预测块的大小相同。
在一些实施例中,所述参考数据与所述待解码块的形状和/或大小相同。
在一些实施例中,所述参考数据与所述预测块的最小外接矩形的形状和/或大小相同。
在一些实施例中,所述多面体为正八面体或者正二十面体。
在一些实施例中,所述至少两个分区中的至少一个分区呈三角形或者菱形。
在一些实施例中,所述至少一个分区呈正三角形或者直角三角形。
在一些实施例中,所述待解码块呈规则形状,所述预测块呈规则形状或者不规则形状。
在一些实施例中,所述至少两个预测块中的每个预测块分别位于一个分区内。
在一些实施例中,所述至少两个预测块中的一个预测块位于至少两个分区内。
在一些实施例中,所述基于所述特定交界将所述待解码块划分成至少两个预测块,包括:
将所述待解码块划分成至少两个预测块,其中,所述至少两个预测块中任意两个相邻的预测块的交界为所述特定交界。
在一些实施例中,所述处理器在将待解码图像中的一个待解码块划分成至少两个预测块之前,还用于:
基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的分区的划分方式,
根据所述待解码图像的分区的划分方式确定所述待解码块位于所述至少两个分区内之后,将所述待解码块划分成至少两个预测块。
在一些实施例中,所述处理器还用于:
根据所述待解码图像的分区的划分方式确定所述待解码图像中的一个待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。
在一些实施例中,所述处理器还用于:
当所述待解码块位于一个分区内,或者位于图像内容连续的至少两个分区内时,确定所述待解码块不需要划分。
在一些实施例中,所述曲面图像为全景视频中的一帧图像。
基于与上述方法同样的发明构思,本发明实施例中还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有若干计算机指令,所述计算机指令被执行时,实现上述连通域检测方法。
上述实施例阐明的系统、装置、模块或单元,可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其它可编程数据处理设备,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明实施例而已,并不用于限制本发明。对于本领域技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进,均应包含在本发明的权利要求范围之内。

Claims (118)

  1. 一种视频解码方法,其特征在于,包括:
    将待解码图像中的一个待解码块划分成至少两个预测块,所述至少两个预测块分别位于所述待解码图像的至少两个分区内,其中所述待解码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待解码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;
    采用不同的参考块分别对所述至少两个预测块预测。
  2. 根据权利要求1所述的视频解码方法,其特征在于,所述两个分区非矩形,所述两个预测块非矩形。
  3. 根据权利要求1所述的视频解码方法,其特征在于,所述至少两个分区包括相邻的第一分区和第二分区,所述将待解码图像中的一个待解码块划分成至少两个预测块,包括:
    当待解码图像中的一个待解码块跨过所述第一分区和第二分区的交界时,基于所述交界将所述待解码块划分成至少两个预测块。
  4. 根据权利要求3所述的视频解码方法,其特征在于,所述第一分区和第二分区分别在所述曲面图像中的映射区域不相邻。
  5. 根据权利要求1所述的视频解码方法,其特征在于,所述方法还包括:
    基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,所述交界为所述待解码图像中相邻两个分区的交界;
    基于所述待解码图像的至少一个交界将所述待解码块划分成至少两个预测块。
  6. 根据权利要求5所述的视频解码方法,其特征在于,所述基于所述待解码图像的至少一个交界将所述待解码块划分成至少两个预测块,包括:
    基于所述待解码图像的至少一个特定交界将所述待解码块划分成至少两个预测块,所述特定交界为交界两侧的分区分别在所述曲面图像中的映射区域不相邻的交界;
    基于所述特定交界将所述待解码块划分成至少两个预测块。
  7. 根据权利要求5所述的视频解码方法,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,包括:
    基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的划分模板,所述划分模板包括与所述待解码图像中的各像素点一一对应或者与所述待解码图像中的各像素块一一对应的示意点,其中,分别对应位于具有交界的两个分区的像素点或像素块的两个示意点的值不同;
    基于所述待解码图像的划分模板确定所述待解码图像中的至少一个交界。
  8. 根据权利要求7所述的视频解码方法,其特征在于,所述划分模板为二值图像。
  9. 根据权利要求7所述的视频解码方法,其特征在于,所述划分模板中至少部分示意点分别对应的所述待解码图像中的像素块的大小不同。
  10. 根据权利要求9所述的视频解码方法,其特征在于,所述方法还包括:
    获取所述待解码图像的划分模板的指示信息,所述指示信息用于指示每个示意点对应的像素块的大小;
    基于所述待解码图像的划分模板以及所述划分模板的指示信息确定所述待解码图像中的至少一个交界。
  11. 根据权利要求5所述的视频解码方法,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,包括:
    基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的划分函数,所述划分函数用于指示所述待解码图像中的至少一个交界在所述待解码图像中的位置。
  12. 根据权利要求5所述的视频解码方法,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的 至少一个交界的步骤,是在对所述待解码图像解码之前执行的。
  13. 根据权利要求1所述的视频解码方法,其特征在于,所述将待解码图像中的一个待解码块划分成至少两个预测块,之前还包括:
    确定所述待解码块的至少部分顶点上的像素点分别位于不同分区内。
  14. 根据权利要求1所述的视频解码方法,其特征在于,所述方法还包括:
    获取所述待解码块的标志位,所述标志位用于指示所述待解码块是否需要划分;
    当所述标志位指示所述待解码块需要划分时,将所述待解码块划分成至少两个预测块。
  15. 根据权利要求14所述的视频解码方法,其特征在于,所述方法还包括:
    当所述标志位指示所述待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。
  16. 根据权利要求1所述的视频解码方法,其特征在于,所述采用不同的参考块分别对所述至少两个预测块预测,之前还包括:
    分别获取所述至少两个预测块的参考数据;
    从所述预测块的参考数据中获取所述预测块的参考块。
  17. 根据权利要求16所述的视频解码方法,其特征在于,所述参考块的形状与所述预测块的形状相同。
  18. 根据权利要求16所述的视频解码方法,其特征在于,所述参考块的大小与所述预测块的大小相同。
  19. 根据权利要求16所述的视频解码方法,其特征在于,所述参考数据与所述待解码块的形状和/或大小相同。
  20. 根据权利要求1所述的视频解码方法,其特征在于,所述参考数据与所述预测块的最小外接矩形的形状和/或大小相同。
  21. 根据权利要求20所述的视频解码方法,其特征在于,所述多面体为正八面体或者正二十面体。
  22. 根据权利要求20所述的视频解码方法,其特征在于,所述 至少两个分区中的至少一个分区呈三角形或者菱形。
  23. 根据权利要求22所述的视频解码方法,其特征在于,所述至少一个分区呈正三角形或者直角三角形。
  24. 根据权利要求1所述的视频解码方法,其特征在于,所述待解码块呈规则形状,所述预测块呈规则形状或者不规则形状。
  25. 根据权利要求1所述的视频解码方法,其特征在于,所述至少两个预测块中的每个预测块分别位于一个分区内。
  26. 根据权利要求1所述的视频解码方法,其特征在于,所述至少两个预测块中的一个预测块位于至少两个分区内。
  27. 根据权利要求6所述的视频解码方法,其特征在于,所述基于所述特定交界将所述待解码块划分成至少两个预测块,包括:
    将所述待解码块划分成至少两个预测块,其中,所述至少两个预测块中任意两个相邻的预测块的交界为所述特定交界。
  28. 根据权利要求1所述的视频解码方法,其特征在于,所述将待解码图像中的一个待解码块划分成至少两个预测块,之前还包括:
    基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的分区的划分方式,
    根据所述待解码图像的分区的划分方式确定所述待解码块位于所述至少两个分区内之后,将所述待解码块划分成至少两个预测块。
  29. 根据权利要求28所述的视频解码方法,其特征在于,所述方法还包括:
    根据所述待解码图像的分区的划分方式确定所述待解码图像中的一个待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。
  30. 根据权利要求29所述的视频解码方法,其特征在于,当所述待解码块位于一个分区内,或者位于图像内容连续的至少两个分区内时,确定所述待解码块不需要划分。
  31. 根据权利要求1所述的视频解码方法,其特征在于,所述曲面图像为全景视频中的一帧图像。
  32. 一种视频编码方法,其特征在于,包括:
    将待编码图像中的一个待编码块划分成至少两个预测块,所述至少两个预测块分别位于所述待编码图像的至少两个分区内,其中所述待编码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待编码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;
    采用不同的参考块分别对所述至少两个预测块预测。
  33. 根据权利要求32所述的视频编码方法,其特征在于,所述两个分区非矩形,所述两个预测块非矩形。
  34. 根据权利要求32所述的视频编码方法,其特征在于,所述至少两个分区包括相邻的第一分区和第二分区,所述将待编码图像中的一个待编码块划分成至少两个预测块,包括:
    当待编码图像中的一个待编码块跨过所述第一分区和第二分区的交界时,基于所述交界将所述待编码块划分成至少两个预测块。
  35. 根据权利要求34所述的视频编码方法,其特征在于,所述第一分区和第二分区分别在所述曲面图像中的映射区域不相邻。
  36. 根据权利要求32所述的视频编码方法,其特征在于,所述方法还包括:
    基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界,所述交界为所述待编码图像中不同分区的交界;
    基于所述待编码图像的至少一个交界将所述待编码块划分成至少两个预测块。
  37. 根据权利要求36所述的视频编码方法,其特征在于,所述基于所述待编码图像的至少一个交界将所述待编码块划分成至少两个预测块,包括:
    基于所述待编码图像的至少一个特定交界将所述待编码块划分成至少两个预测块,所述特定交界为交界两边的分区分别在所述曲面图像中的映射区域不相邻的交界。
  38. 根据权利要求36所述的视频编码方法,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中 的至少一个交界,包括:
    基于所述曲面图像到所述多面体的映射方式确定所述待编码图像的划分模板,所述划分模板包括与所述待编码图像中的各像素点一一对应或者与所述待编码图像中的各像素块一一对应的示意点,其中,分别对应位于具有交界的两个分区的像素点或像素块的两个示意点的值不同;
    基于所述待编码图像的划分模板确定所述待编码图像中的至少一个交界。
  39. 根据权利要求38所述的视频编码方法,其特征在于,所述划分模板为二值图像。
  40. 根据权利要求38所述的视频编码方法,其特征在于,所述划分模板中至少部分示意点分别对应的所述待编码图像中的像素块的大小不同。
  41. 根据权利要求40所述的视频编码方法,其特征在于,所述方法还包括:
    生成所述待编码图像的划分模板的指示信息,所述指示信息用于指示每个示意点对应的像素块的大小;
    基于所述待编码图像的划分模板以及所述划分模板的指示信息确定所述待编码图像中的至少一个交界。
  42. 根据权利要求36所述的视频编码方法,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界,包括:
    基于所述曲面图像到所述多面体的映射方式确定所述待编码图像的划分函数,所述划分函数用于指示所述待编码图像中的至少一个交界在所述待编码图像中的位置。
  43. 根据权利要求36所述的视频编码方法,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界的步骤,是在对所述待编码图像编码之前执行的。
  44. 根据权利要求32所述的视频编码方法,其特征在于,所述将待编码图像中的一个待编码块划分成至少两个预测块,之前还包括:
    确定所述待编码块的至少部分顶点上的像素点分别位于不同分区内。
  45. 根据权利要求32所述的视频编码方法,其特征在于,所述方法还包括:
    生成所述待编码块的标志位,所述标志位用于指示所述待编码块被划分成至少两个预测块。
  46. 根据权利要求32所述的视频编码方法,其特征在于,所述采用不同的参考块分别对所述至少两个预测块预测,之前还包括:
    分别获取所述至少两个预测块的参考数据;
    从所述预测块的参考数据中获取所述预测块的参考块。
  47. 根据权利要求46所述的视频编码方法,其特征在于,所述参考块的形状与所述预测块的形状相同。
  48. 根据权利要求46所述的视频编码方法,其特征在于,所述参考块的大小与所述预测块的大小相同。
  49. 根据权利要求46所述的视频编码方法,其特征在于,所述参考数据与所述待编码块的形状和/或大小相同。
  50. 根据权利要求32所述的视频解码方法,其特征在于,所述参考数据与所述预测块的最小外接矩形的形状和/或大小相同。
  51. 根据权利要求50所述的视频编码方法,其特征在于,所述多面体为正八面体或者正二十面体。
  52. 根据权利要求50所述的视频编码方法,其特征在于,所述至少两个分区中的至少一个分区呈三角形或者菱形。
  53. 根据权利要求52所述的视频编码方法,其特征在于,所述至少一个分区呈正三角形或者直角三角形。
  54. 根据权利要求32所述的视频编码方法,其特征在于,所述待编码块呈规则形状,所述预测块呈规则形状或者不规则形状。
  55. 根据权利要求32所述的视频编码方法,其特征在于,所述至少两个预测块中的每个预测块分别位于一个分区内。
  56. 根据权利要求32所述的视频编码方法,其特征在于,所述至少两个预测块中的一个预测块位于至少两个分区内。
  57. 根据权利要求37所述的视频编码方法,其特征在于,所述基于所述特定交界将所述待编码块划分成至少两个预测块,包括:
    将所述待编码块划分成至少两个预测块,其中,所述至少两个预测块中任意两个相邻的预测块的交界为所述特定交界。
  58. 根据权利要求32所述的视频编码方法,其特征在于,所述曲面图像为全景视频中的一帧图像。
  59. 一种视频解码装置,其特征在于,包括:
    至少一个存储器,用于存储计算机可执行指令;
    至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
    将待解码图像中的一个待解码块划分成至少两个预测块,所述至少两个预测块分别位于所述待解码图像的至少两个分区内,其中所述待解码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待解码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;
    采用不同的参考块分别对所述至少两个预测块预测。
  60. 根据权利要求59所述的视频解码装置,其特征在于,所述两个分区非矩形,所述两个预测块非矩形。
  61. 根据权利要求59所述的视频解码装置,其特征在于,所述至少两个分区包括相邻的第一分区和第二分区,所述将待解码图像中的一个待解码块划分成至少两个预测块,包括:
    当待解码图像中的一个待解码块跨过所述第一分区和第二分区的交界时,基于所述交界将所述待解码块划分成至少两个预测块。
  62. 根据权利要求61所述的视频解码装置,其特征在于,所述第一分区和第二分区分别在所述曲面图像中的映射区域不相邻。
  63. 根据权利要求59所述的视频解码装置,其特征在于,所述处理器还用于:
    基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,所述交界为所述待解码图像中相邻两个分区的交界;
    基于所述待解码图像的至少一个交界将所述待解码块划分成至少两个预测块。
  64. 根据权利要求63所述的视频解码装置,其特征在于,所述基于所述待解码图像的至少一个交界将所述待解码块划分成至少两个预测块,包括:
    基于所述待解码图像的至少一个特定交界将所述待解码块划分成至少两个预测块,所述特定交界为交界两侧的分区分别在所述曲面图像中的映射区域不相邻的交界;
    基于所述特定交界将所述待解码块划分成至少两个预测块。
  65. 根据权利要求64所述的视频解码装置,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,包括:
    基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的划分模板,所述划分模板包括与所述待解码图像中的各像素点一一对应或者与所述待解码图像中的各像素块一一对应的示意点,其中,分别对应位于具有交界的两个分区的像素点或像素块的两个示意点的值不同;
    基于所述待解码图像的划分模板确定所述待解码图像中的至少一个交界。
  66. 根据权利要求65所述的视频解码装置,其特征在于,所述划分模板为二值图像。
  67. 根据权利要求65所述的视频解码装置,其特征在于,所述划分模板中至少部分示意点分别对应的所述待解码图像中的像素块的大小不同。
  68. 根据权利要求67所述的视频解码装置,其特征在于,所述处理器还用于:
    获取所述待解码图像的划分模板的指示信息,所述指示信息用于指示每个示意点对应的像素块的大小;
    基于所述待解码图像的划分模板以及所述划分模板的指示信息确定所述待解码图像中的至少一个交界。
  69. 根据权利要求63所述的视频解码装置,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界,包括:
    基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的划分函数,所述划分函数用于指示所述待解码图像中的至少一个交界在所述待解码图像中的位置。
  70. 根据权利要求63所述的视频解码装置,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待解码图像中的至少一个交界的步骤,是在对所述待解码图像解码之前执行的。
  71. 根据权利要求59所述的视频解码装置,其特征在于,所述处理器在将待解码图像中的一个待解码块划分成至少两个预测块之前,还用于:
    确定所述待解码块的至少部分顶点上的像素点分别位于不同分区内。
  72. 根据权利要求59所述的视频解码装置,其特征在于,所述处理器还用于:
    获取所述待解码块的标志位,所述标志位用于指示所述待解码块是否需要划分;
    当所述标志位指示所述待解码块需要划分时,将所述待解码块划分成至少两个预测块。
  73. 根据权利要求72所述的视频解码装置,其特征在于,所述处理器还用于:
    当所述标志位指示所述待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。
  74. 根据权利要求59所述的视频解码装置,其特征在于,所述处理器在采用不同的参考块分别对所述至少两个预测块预测之前,还用于:
    分别获取所述至少两个预测块的参考数据;
    从所述预测块的参考数据中获取所述预测块的参考块。
  75. 根据权利要求74所述的视频解码装置,其特征在于,所述 参考块的形状与所述预测块的形状相同。
  76. 根据权利要求74所述的视频解码装置,其特征在于,所述参考块的大小与所述预测块的大小相同。
  77. 根据权利要求74所述的视频解码装置,其特征在于,所述参考数据与所述待解码块的形状和/或大小相同。
  78. 根据权利要求59所述的视频解码装置,其特征在于,所述参考数据与所述预测块的最小外接矩形的形状和/或大小相同。
  79. 根据权利要求78所述的视频解码装置,其特征在于,所述多面体为正八面体或者正二十面体。
  80. 根据权利要求78所述的视频解码装置,其特征在于,所述至少两个分区中的至少一个分区呈三角形或者菱形。
  81. 根据权利要求80所述的视频解码装置,其特征在于,所述至少一个分区呈正三角形或者直角三角形。
  82. 根据权利要求59所述的视频解码装置,其特征在于,所述待解码块呈规则形状,所述预测块呈规则形状或者不规则形状。
  83. 根据权利要求59所述的视频解码装置,其特征在于,所述至少两个预测块中的每个预测块分别位于一个分区内。
  84. 根据权利要求59所述的视频解码装置,其特征在于,所述至少两个预测块中的一个预测块位于至少两个分区内。
  85. 根据权利要求64所述的视频解码装置,其特征在于,所述基于所述特定交界将所述待解码块划分成至少两个预测块,包括:
    将所述待解码块划分成至少两个预测块,其中,所述至少两个预测块中任意两个相邻的预测块的交界为所述特定交界。
  86. 根据权利要求59所述的视频解码装置,其特征在于,所述处理器在将待解码图像中的一个待解码块划分成至少两个预测块之前,还用于:
    基于所述曲面图像到所述多面体的映射方式确定所述待解码图像的分区的划分方式,
    根据所述待解码图像的分区的划分方式确定所述待解码块位于所述至少两个分区内之后,将所述待解码块划分成至少两个预测块。
  87. 根据权利要求86所述的视频解码装置,其特征在于,所述处理器还用于:
    根据所述待解码图像的分区的划分方式确定所述待解码图像中的一个待解码块不需要划分时,采用一个参考块对所述待解码块进行预测。
  88. 根据权利要求87所述的视频解码装置,其特征在于,所述处理器还用于:
    当所述待解码块位于一个分区内,或者位于图像内容连续的至少两个分区内时,确定所述待解码块不需要划分。
  89. 根据权利要求59所述的视频解码装置,其特征在于,所述曲面图像为全景视频中的一帧图像。
  90. 一种视频编码装置,其特征在于,包括:
    至少一个存储器,用于存储计算机可执行指令;
    至少一个处理器,单独或共同地用于:访问所述至少一个存储器,并执行所述计算机可执行指令,以实施以下操作:
    将待编码图像中的一个待编码块划分成至少两个预测块,所述至少两个预测块分别位于所述待编码图像的至少两个分区内,其中所述待编码图像是曲面图像的至少部分映射到多面体表面上的多个多边形拼接形成的平面图像,所述待编码图像的至少两个分区分别对应于所述多面体表面上的至少两个多边形;
    采用不同的参考块分别对所述至少两个预测块预测。
  91. 根据权利要求90所述的视频编码装置,其特征在于,所述两个分区非矩形,所述两个预测块非矩形。
  92. 根据权利要求90所述的视频编码装置,其特征在于,所述至少两个分区包括相邻的第一分区和第二分区,所述将待编码图像中的一个待编码块划分成至少两个预测块,包括:
    当待编码图像中的一个待编码块跨过所述第一分区和第二分区的交界时,基于所述交界将所述待编码块划分成至少两个预测块。
  93. 根据权利要求92所述的视频编码装置,其特征在于,所述第一分区和第二分区分别在所述曲面图像中的映射区域不相邻。
  94. 根据权利要求90所述的视频编码装置,其特征在于,所述处理器还用于:
    基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界,所述交界为所述待编码图像中不同分区的交界;
    基于所述待编码图像的至少一个交界将所述待编码块划分成至少两个预测块。
  95. 根据权利要求94所述的视频编码装置,其特征在于,所述基于所述待编码图像的至少一个交界将所述待编码块划分成至少两个预测块,包括:
    基于所述待编码图像的至少一个特定交界将所述待编码块划分成至少两个预测块,所述特定交界为交界两边的分区分别在所述曲面图像中的映射区域不相邻的交界。
  96. 根据权利要求94所述的视频编码装置,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界,包括:
    基于所述曲面图像到所述多面体的映射方式确定所述待编码图像的划分模板,所述划分模板包括与所述待编码图像中的各像素点一一对应或者与所述待编码图像中的各像素块一一对应的示意点,其中,分别对应位于具有交界的两个分区的像素点或像素块的两个示意点的值不同;
    基于所述待编码图像的划分模板确定所述待编码图像中的至少一个交界。
  97. 根据权利要求96所述的视频编码装置,其特征在于,所述划分模板为二值图像。
  98. 根据权利要求96所述的视频编码装置,其特征在于,所述划分模板中至少部分示意点分别对应的所述待编码图像中的像素块的大小不同。
  99. 根据权利要求98所述的视频编码装置,其特征在于,所述处理器还用于:
    生成所述待编码图像的划分模板的指示信息,所述指示信息用于 指示每个示意点对应的像素块的大小;
    基于所述待编码图像的划分模板以及所述划分模板的指示信息确定所述待编码图像中的至少一个交界。
  100. 根据权利要求94所述的视频编码装置,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界,包括:
    基于所述曲面图像到所述多面体的映射方式确定所述待编码图像的划分函数,所述划分函数用于指示所述待编码图像中的至少一个交界在所述待编码图像中的位置。
  101. 根据权利要求94所述的视频编码装置,其特征在于,所述基于所述曲面图像到所述多面体的映射方式确定所述待编码图像中的至少一个交界的步骤,是在对所述待编码图像编码之前执行的。
  102. 根据权利要求90所述的视频编码装置,其特征在于,所述处理器在将待编码图像中的一个待编码块划分成至少两个预测块之前,还用于:
    确定所述待编码块的至少部分顶点上的像素点分别位于不同分区内。
  103. 根据权利要求90所述的视频编码装置,其特征在于,所述处理器还用于:
    生成所述待编码块的标志位,所述标志位用于指示所述待编码块被划分成至少两个预测块。
  104. 根据权利要求90所述的视频编码装置,其特征在于,所述处理器在采用不同的参考块分别对所述至少两个预测块预测之前,还用于:
    分别获取所述至少两个预测块的参考数据;
    从所述预测块的参考数据中获取所述预测块的参考块。
  105. 根据权利要求104所述的视频编码装置,其特征在于,所述参考块的形状与所述预测块的形状相同。
  106. 根据权利要求104所述的视频编码装置,其特征在于,所述参考块的大小与所述预测块的大小相同。
  107. 根据权利要求104所述的视频编码装置,其特征在于,所述参考数据与所述待编码块的形状和/或大小相同。
  108. 根据权利要求90所述的视频解码装置,其特征在于,所述参考数据与所述预测块的最小外接矩形的形状和/或大小相同。
  109. 根据权利要求108所述的视频编码装置,其特征在于,所述多面体为正八面体或者正二十面体。
  110. 根据权利要求108所述的视频编码装置,其特征在于,所述至少两个分区中的至少一个分区呈三角形或者菱形。
  111. 根据权利要求110所述的视频编码装置,其特征在于,所述至少一个分区呈正三角形或者直角三角形。
  112. 根据权利要求90所述的视频编码装置,其特征在于,所述待编码块呈规则形状,所述预测块呈规则形状或者不规则形状。
  113. 根据权利要求90所述的视频编码装置,其特征在于,所述至少两个预测块中的每个预测块分别位于一个分区内。
  114. 根据权利要求90所述的视频编码装置,其特征在于,所述至少两个预测块中的一个预测块位于至少两个分区内。
  115. 根据权利要求95所述的视频编码装置,其特征在于,所述基于所述特定交界将所述待编码块划分成至少两个预测块,包括:
    将所述待编码块划分成至少两个预测块,其中,所述至少两个预测块中任意两个相邻的预测块的交界为所述特定交界。
  116. 根据权利要求90所述的视频编码装置,其特征在于,所述曲面图像为全景视频中的一帧图像。
  117. 一种机器可读存储介质,其特征在于,适用于终端,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行处理权利要求1-31任一项所述的视频解码方法。
  118. 一种机器可读存储介质,其特征在于,适用于终端,所述机器可读存储介质上存储有若干计算机指令,所述计算机指令被执行时进行处理权利要求32-58任一项所述的视频编码方法。
PCT/CN2017/120197 2017-12-29 2017-12-29 视频编码方法、视频解码方法及相关装置 WO2019127484A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201780036263.XA CN109496429B (zh) 2017-12-29 2017-12-29 视频编码方法、视频解码方法及相关装置
PCT/CN2017/120197 WO2019127484A1 (zh) 2017-12-29 2017-12-29 视频编码方法、视频解码方法及相关装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2017/120197 WO2019127484A1 (zh) 2017-12-29 2017-12-29 视频编码方法、视频解码方法及相关装置

Publications (1)

Publication Number Publication Date
WO2019127484A1 true WO2019127484A1 (zh) 2019-07-04

Family

ID=65688679

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/120197 WO2019127484A1 (zh) 2017-12-29 2017-12-29 视频编码方法、视频解码方法及相关装置

Country Status (2)

Country Link
CN (1) CN109496429B (zh)
WO (1) WO2019127484A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112068922B (zh) * 2020-11-10 2021-02-12 卡莱特(深圳)云科技有限公司 一种异形led显示屏的显示控制方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101002474A (zh) * 2004-08-13 2007-07-18 庆熙大学校产学协力团 用于二十面体全景图像的编码和解码的方法和设备
CN101742327A (zh) * 2008-11-12 2010-06-16 北京中星微电子有限公司 视频编解码方法和系统及区域描述方法和装置
JP2013046270A (ja) * 2011-08-25 2013-03-04 Olympus Corp 画像貼り合せ装置、撮影装置、画像貼り合せ方法、および画像処理プログラム
CN106105199A (zh) * 2014-03-05 2016-11-09 Lg 电子株式会社 基于多边形单元的编/解码图像的方法及其装置
CN106303535A (zh) * 2015-06-08 2017-01-04 上海天荷电子信息有限公司 参考像素取自不同程度重构像素的图像压缩方法和装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100575285B1 (ko) * 2003-05-21 2006-04-28 장영범 고속의 저전력 이산 코사인 변환 장치 및 방법
CN101667295B (zh) * 2009-09-09 2012-10-03 北京航空航天大学 一种将线搜索扩展于全景视频运动估计的方法
CN104350745B (zh) * 2012-07-04 2018-12-11 英特尔公司 基于全景的3d视频译码
US9877016B2 (en) * 2015-05-27 2018-01-23 Google Llc Omnistereo capture and render of panoramic virtual reality content
KR20180067598A (ko) * 2015-11-11 2018-06-20 삼성전자주식회사 영상을 부호화/복호화 하는 방법 및 그 장치
CN107040779B (zh) * 2016-02-03 2020-04-21 腾讯科技(深圳)有限公司 全景视频编码方法及装置
US20170230668A1 (en) * 2016-02-05 2017-08-10 Mediatek Inc. Method and Apparatus of Mode Information Reference for 360-Degree VR Video
CN106358033B (zh) * 2016-08-25 2018-06-19 北京字节跳动科技有限公司 一种全景视频关键帧编码方法和装置
CN106846245B (zh) * 2017-01-17 2019-08-02 北京大学深圳研究生院 基于主视点的全景视频映射方法
CN107071445A (zh) * 2017-04-10 2017-08-18 上海国茂数字技术有限公司 一种全景视频帧内预测编码方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101002474A (zh) * 2004-08-13 2007-07-18 庆熙大学校产学协力团 用于二十面体全景图像的编码和解码的方法和设备
CN101742327A (zh) * 2008-11-12 2010-06-16 北京中星微电子有限公司 视频编解码方法和系统及区域描述方法和装置
JP2013046270A (ja) * 2011-08-25 2013-03-04 Olympus Corp 画像貼り合せ装置、撮影装置、画像貼り合せ方法、および画像処理プログラム
CN106105199A (zh) * 2014-03-05 2016-11-09 Lg 电子株式会社 基于多边形单元的编/解码图像的方法及其装置
CN106303535A (zh) * 2015-06-08 2017-01-04 上海天荷电子信息有限公司 参考像素取自不同程度重构像素的图像压缩方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
WU, JINFU ET AL.: "A Fast CU Encoding Scheme Based on the Joint Constraint of Best and Second-Best PU Modes for HEVC Inter Coding", 2015 IEEE INTERNATIONAL CONFERENCE ON IMAGING SYSTEMS AND TECHNIQUES (IST), 16 September 2015 (2015-09-16) - 18 September 2015 (2015-09-18), pages 1 - 5, XP032791487, ISSN: 1558-2809 *

Also Published As

Publication number Publication date
CN109496429A (zh) 2019-03-19
CN109496429B (zh) 2022-05-06

Similar Documents

Publication Publication Date Title
KR102273199B1 (ko) 곡선 뷰 비디오 인코딩/디코딩에서 효율성 향상을 위한 시스템 및 방법
US11138762B2 (en) Visual quality of video based point cloud compression using one or more additional patches
EP3467786B1 (en) A method and apparatus for encoding a point cloud representing three-dimensional objects
JP7008903B2 (ja) 適応イントラ予測による全方位映像符号化および復号のための方法および装置
CN107454468B (zh) 对沉浸式视频进行格式化的方法、装置和流
CN111742549A (zh) 在数据流中编码及解码来自数据流的三维场景的方法和装置
US20180122129A1 (en) Generation, transmission and rendering of virtual reality multimedia
US10553015B2 (en) Implicit view-dependent quantization
US20190281273A1 (en) Adaptive loop filtering method for reconstructed projection-based frame that employs projection layout of 360-degree virtual reality projection
CN116248875A (zh) 球面投影运动估计/补偿和模式决策
US11721044B2 (en) Method and apparatus for decoding three-dimensional scenes
US20190222862A1 (en) Encoding apparatus and method, and decoding apparatus and method
KR20190125526A (ko) 사용자 움직임 정보에 기초하여 영상을 표시하기 위한 방법 및 장치
US20150228106A1 (en) Low latency video texture mapping via tight integration of codec engine with 3d graphics engine
KR20210096234A (ko) 호모그래피 변환을 사용하는 포인트 클라우드 코딩
KR20220109433A (ko) 다중 뷰포인트 3DoF+ 콘텐츠의 인코딩 및 디코딩을 위한 방법 및 장치
TWI702835B (zh) Vr360 視訊編解碼的運動向量推導方法和裝置
WO2019127484A1 (zh) 视频编码方法、视频解码方法及相关装置
US20220256134A1 (en) A method and apparatus for delivering a volumetric video content
WO2019127100A1 (zh) 视频编码的方法、装置和计算机系统
US10375398B2 (en) Lightfield compression for per-pixel, on-demand access by a graphics processing unit
CN117859330A (zh) 几何点云编码中的属性编码
US11915373B1 (en) Attribute value compression for a three-dimensional mesh using geometry information to guide prediction
WO2020042185A1 (zh) 视频处理方法及相关装置
US11854112B1 (en) Compression of attribute values comprising unit vectors

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

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

Country of ref document: EP

Kind code of ref document: A1