WO2019052254A1 - 编码树节点划分方式的确定方法、装置及编码设备 - Google Patents

编码树节点划分方式的确定方法、装置及编码设备 Download PDF

Info

Publication number
WO2019052254A1
WO2019052254A1 PCT/CN2018/092572 CN2018092572W WO2019052254A1 WO 2019052254 A1 WO2019052254 A1 WO 2019052254A1 CN 2018092572 W CN2018092572 W CN 2018092572W WO 2019052254 A1 WO2019052254 A1 WO 2019052254A1
Authority
WO
WIPO (PCT)
Prior art keywords
tree
current node
current
coding cost
tri
Prior art date
Application number
PCT/CN2018/092572
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 华为技术有限公司
Publication of WO2019052254A1 publication Critical patent/WO2019052254A1/zh
Priority to US16/817,885 priority Critical patent/US10992964B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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
    • H04N19/154Measured or subjectively estimated visual quality after decoding, e.g. measurement of distortion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • 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
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • 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/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/1883Methods 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 relating to sub-band structure, e.g. hierarchical level, directional tree, e.g. low-high [LH], high-low [HL], high-high [HH]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Definitions

  • the present application relates to image processing technologies, and in particular, to a method, a device, and an encoding device for determining a coding tree node division manner.
  • the H.265 video coding standard divides a frame of image into a Coding Tree Unit (CTU) that does not overlap each other, and can also divide the CTU based on a Quad Tree (QT). Specifically, the CTU is used as the root node of the quadtree, and the CTU is recursively divided into several leaf nodes according to the division manner of the quadtree. A node corresponds to an image area. If a node is not divided, the node is called a leaf node, and its corresponding image area forms a coding unit (CU). If the node continues to be divided, the image area corresponding to the node is divided into four image areas of the same size, and each image area corresponds to one node.
  • CTU Coding Tree Unit
  • QT Quad Tree
  • the leaf nodes of the quadtree may continue to adopt a Binary Tree (BT) partition or a Triple Tree (TT) partition.
  • the binary tree partitioning may be a binary tree partition in the horizontal direction or a binary tree partition in the vertical direction.
  • the trigeminal tree division may also be a trigeminal tree division in the horizontal direction or a trigeminal tree division in the vertical direction. Therefore, for the leaf nodes of the quadtree, it may not be divided, and the above four division methods may exist.
  • the Rate Distortion Optimization (RDO) method is usually used to determine the coding method with the least coding cost for each node. The prior art needs to separately determine the coding cost that is not divided and the coding cost corresponding to the above four division manners, thereby causing a problem of low coding efficiency.
  • the present application provides a method, a device, and an encoding device for determining a coding tree node division manner, thereby improving coding efficiency.
  • the present application provides a method for determining a coding tree node division manner, including: determining a non-partition coding cost for encoding a current image region corresponding to a current node when the current node is not divided; performing a binary tree division on the current node, And determining a binary tree partition coding cost for encoding the current image region when the current node is divided by the binary tree; determining whether to acquire the current image region when performing trifurcation on the current node according to the non-partition coding cost and the binary tree division coding cost
  • the tri-tree divides the coding cost; if it is judged that the tri-tree partition coding cost of encoding the current image region when the current node is tri-tree partitioned is obtained, the current node is tri-tree partitioned, and the tri-tree partition coding cost is determined;
  • the division manner corresponding to the minimum coding cost in the determined coding cost of the current node is determined as the division manner of the current
  • the beneficial effects of the present application are: because the method can determine the cost of the tri-tree partition coding for encoding the current image region when performing tri-tree partitioning on the current node according to the non-partition coding cost and the binary tree division coding cost, so that In some cases, the encoding end does not need to try all the partitioning methods, so that the encoding efficiency can be improved.
  • the binary tree coding cost only includes the horizontal binary tree partition coding cost when the current node performs horizontal binary tree partitioning, it is determined whether it is necessary to obtain a trigeminal partition coding cost for encoding the current image region when performing tri-tree partitioning on the current node.
  • the method includes: if the non-divided coding cost is less than the product of the horizontal binary tree partition coding cost and the first preset threshold, determining that the tri-tree partition coding cost is not required to be obtained; or if the non-partition coding cost is less than the horizontal binary tree coding coding cost and the first If the product of the preset threshold is multiplied, and the coding tree level of the current node is less than or equal to the second preset threshold, it is determined that the tri-tree partition coding cost is not required to be obtained.
  • the beneficial effects of the present application are: when the non-partition coding cost is less than the product of the horizontal binary tree partition coding cost and the first preset threshold, or when the non-partition coding cost is less than the product of the horizontal binary tree partition coding cost and the first preset threshold,
  • the coding tree level of the current node is less than or equal to the second preset threshold, the smaller the number of times the current node is divided, the better the coding effect. In this case, it is judged that it is not necessary to obtain the triangulation coding cost, that is, it is not necessary to use the trinomial division for the current node. Thereby improving the coding efficiency.
  • the binary tree coding cost only includes the vertical binary tree partition coding cost when performing vertical binary tree partitioning on the current node, determining whether it is necessary to acquire a tri-tree partition that encodes the current image region when performing tri-tree partitioning on the current node
  • the coding cost includes: if the non-partition coding cost is less than the product of the vertical binary tree partition coding cost and the first preset threshold, it is judged that the tri-tree partition coding cost is not required to be obtained; or, if the division coding cost is less than the vertical binary tree division coding If the cost is the product of the first preset threshold, and the coding tree level of the current node is less than or equal to the second preset threshold, it is determined that the tri-tree partition coding cost is not required to be obtained.
  • the beneficial effects of the present application are: when the non-partition coding cost is less than the product of the vertical binary tree partition coding cost and the first preset threshold, or when the non-partition coding cost is less than the vertical binary tree partition coding cost and the first preset threshold If the product, and the coding tree level of the current node is less than or equal to the second preset threshold, the smaller the number of times the current node is divided, the better the coding effect. In this case, it is judged that it is not necessary to obtain the triangulation coding cost, that is, it is not necessary to use the trinomial division for the current node. Thereby improving the coding efficiency.
  • the binary tree coding cost includes a horizontal binary tree partition coding cost when the current node performs horizontal binary tree division and a vertical binary tree division coding cost when performing vertical binary tree division on the current node, it is determined whether the current node needs to be acquired.
  • the tri-tree partition coding cost of encoding the current image region when the tri-tree is divided includes: if the non-partition coding cost is less than the product of the horizontal binary-tree coding cost and the minimum value of the vertical binary-tree coding cost, and the first preset threshold, Therefore, it is determined that the tri-tree partition coding cost is not required to be obtained; or, if the non-partition coding cost is less than the product of the horizontal binary tree coding coding cost and the minimum value of the vertical binary tree coding coding cost and the first preset threshold, and the coding tree of the current node If the level is less than or equal to the second preset threshold, it is determined that it is not necessary to obtain a triblock partition coding cost.
  • the beneficial effects of the present application are: when the non-partition coding cost is less than the product of the horizontal binary tree partition coding cost and the minimum value of the vertical binary tree partition coding cost and the first preset threshold, or when the non-partition coding cost is less than the horizontal binary tree partition Encoding the cost of the encoding and the minimum of the vertical binary partition coding cost and the first preset threshold, and when the coding tree level of the current node is less than or equal to the second preset threshold, indicating that the number of times the current node is divided is smaller The better the effect. In this case, it is judged that it is not necessary to obtain the tri-tree partition coding cost, that is, it is not necessary to use the tri-tree partition for the current node. Thereby improving the coding efficiency.
  • the tri-tree partitioning includes horizontal tri-tree partitioning and vertical tri-tree partitioning
  • performing tri-tree partitioning on the current node including: if the current image region is wider than the current image region, the current node is first performed. The horizontal tri-tree is divided, and the current node is divided into vertical tri-trees. If the width of the current image area is greater than or equal to the height of the current image area, the current node is first divided into vertical tri-trees, and then the current node is horizontally trifurcated. Tree division.
  • the width of the current image area is less than or equal to the height of the current image area, first divide the current node into a horizontal tri-tree, and then perform vertical tri-tree division on the current node; if the width of the current image area is greater than the current image area, Then, the current node is divided into vertical tri-trees, and then the current node is divided into horizontal tri-trees.
  • the beneficial effect of the present application is that an attempt is made to divide the image into a more appropriate size image region, because the image encoding effect of the division mode is better. If the division mode is not as good as the division mode, based on this, it is not necessary to try another division manner, thereby improving coding efficiency.
  • the method before performing horizontal tri-tree partitioning on the current node, before performing vertical tri-tree partitioning on the current node, the method further includes: determining that the image distortion corresponding to the current image region and the current image region are When the horizontal trifurcation tree is used, the image distortion corresponding to the current image region is the same; when the current node is not divided, the image distortion corresponding to the current image region is different from the image distortion corresponding to the current image region when the current node is divided by the horizontal trinomial tree. , the vertical trigeminal tree division of the current node.
  • the method further includes: determining that the current image is not divided, the image corresponding to the current image region is distorted, and the current image region is vertically trifurcated. Whether the image distortion corresponding to the current image region is the same when the tree is divided; when the current image is not divided, the image distortion corresponding to the current image region is different from the image distortion corresponding to the current image region when the current node is divided by the vertical trigeminal tree. Perform horizontal tri-tree partitioning on the current node.
  • the beneficial effects of the present application are: when it is determined according to the non-partition coding cost and the binary tree division coding cost, it is judged that the current node needs to perform horizontal tri-tree division and vertical tri-tree division; further, vertical tri-tree division can be performed first, followed by When the current image is not divided, the image distortion corresponding to the current image region is the same as the image distortion corresponding to the current image region when the current node is divided by the vertical trinom tree, and then it is determined that the horizontal trigeminal tree of the current node is not required. Division.
  • the horizontal tri-tree partitioning may be performed first, and then the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the horizontal tri-tree is determined. There is no need to perform vertical trinomial partitioning of the current node. Thereby improving the coding efficiency.
  • performing binary tree partitioning on the current node includes: if the current image area is smaller than the current image area, first performing horizontal quadtree partitioning on the current node, and then Perform vertical binary tree division on the current node; if the width of the current image area is greater than or equal to the height of the current image area, first divide the current node into a vertical binary tree, and then perform horizontal binary tree division on the current node.
  • the width of the current image area is less than or equal to the height of the current image area, first divide the current node into a horizontal binary tree, and then perform vertical binary tree division on the current node; if the width of the current image area is greater than the current image area, the first Perform vertical binary tree division on the current node, and then perform horizontal binary tree division on the current node.
  • the beneficial effect of the present application is that an attempt is made to divide the image into a more appropriate size image region, because the image encoding effect of the division mode is better. If the division mode is not as good as the division mode, based on this, it is not necessary to try another division manner, thereby improving coding efficiency.
  • the method before performing horizontal binary tree partitioning on the current node, before performing vertical binary tree partitioning on the current node, the method further includes: determining that the image distortion corresponding to the current image region and the current image region are adopted when the current node is not divided.
  • the image distortion corresponding to the current image region is the same; when the current node is not divided, the image distortion corresponding to the current image region is different from the image distortion corresponding to the current image region when the current node is divided by the horizontal binary tree, The node performs vertical binary tree partitioning.
  • the method further includes: before determining that the current node is not divided, the image distortion corresponding to the current image region and the current image region are divided by the vertical binary tree. Whether the image distortion corresponding to the current image region is the same; when the current image is not divided, the image distortion corresponding to the current image region is different from the image distortion corresponding to the current image region when the current node is divided by the vertical binary tree, and then the current node is performed. Horizontal binary tree division.
  • the beneficial effects of the present application are: first, the vertical binary tree division may be performed, and secondly, the image distortion corresponding to the current image region when the current node is not divided and the image corresponding to the current image region when the current node is divided by the vertical binary tree When the distortion is the same, it is judged that the horizontal node division of the current node is not required.
  • the horizontal binary tree partitioning may be performed first, and then the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the horizontal binary tree are determined to be unnecessary. Perform vertical binary tree partitioning on the current node. Thereby improving the coding efficiency.
  • the present application provides a method for determining a coding tree node division manner, including: determining a horizontal binary tree coding cost of encoding a current image region corresponding to a current node when a current node is divided by a horizontal binary tree; determining that the current node is The vertical binary tree coding encoding cost of the current image region is divided by the vertical binary tree; the coding cost and the vertical binary tree coding cost are determined according to the horizontal binary tree, and it is determined whether the current image region needs to be obtained when the current node is trifurated.
  • the tri-tree partition includes at least one of a horizontal tri-tree partition and a vertical tri-tree partition; if it is determined that a tri-tree encoding the current image region when the current node is tri-tree partitioned is obtained, The coding cost is divided, and the current node is divided into three-trees, and the coding cost of the tri-tree is determined.
  • the division mode corresponding to the minimum coding cost of the current coding cost of the current node is determined as the division mode of the current node.
  • the beneficial effects of the present application are: because the method can divide the coding cost and the vertical binary tree coding cost according to the horizontal binary tree, and determine whether it is necessary to obtain a tri-tree coding coding cost for encoding the current image region when performing tri-tree partitioning on the current node, Therefore, in some cases, the encoding end does not need to try all the dividing modes, and thus the encoding efficiency can be improved.
  • the tri-tree partitioning includes horizontal tri-tree partitioning and vertical tri-tree partitioning
  • determining whether it is necessary to obtain a tri-tree partitioning coding cost for encoding the current image region when performing tri-tree partitioning on the current node including: If the cost of the binary tree partition coding is greater than the product of the vertical binary tree partition coding cost and the first preset threshold, it is determined that the horizontal triblock partition coding cost is not required; if the vertical binary tree division coding cost is greater than the horizontal binary tree division coding cost and the second preset The product of the thresholds determines that it is not necessary to obtain the vertical trigeminal partition coding cost.
  • the beneficial effects of the present application are: when the horizontal binary tree partition coding cost is greater than the product of the vertical binary tree partition coding cost and the first preset threshold, it indicates that the coding efficiency by the horizontal binary tree division is lower than that by the vertical binary tree division, and because of the level
  • the trigeminal tree partitioning is the same as the horizontal binary tree partitioning direction.
  • the vertical trigeminal tree partitioning is the same as the vertical binary tree partitioning direction. Based on this, it can be inferred that the horizontal trifurcation tree partitioning is less efficient than the vertical trigeminal tree partitioning. Therefore, it can be judged that it is not necessary to acquire the horizontal triblock division coding cost.
  • the vertical binary tree partition coding cost is greater than the product of the horizontal binary tree partition coding cost and the second preset threshold, it indicates that the coding efficiency by the horizontal binary tree division is higher than that by the vertical binary tree division, and due to the horizontal tri-tree division and The horizontal binary tree partitioning direction is the same, and the vertical trigeminal tree partitioning is the same as the vertical binary tree partitioning direction. Based on this, it can be inferred that the horizontal trifurcation tree division is more efficient than the vertical trigeminal tree partitioning. Therefore, it can be judged that it is not necessary to obtain a vertical trinom division coding cost. Thereby improving the coding efficiency.
  • the present application provides a determining apparatus for a coding tree node division manner, including: a determining module, a determining module, and a dividing module.
  • the determining module is configured to determine a partitionless coding cost of encoding the current image region corresponding to the current node when the current node is not divided.
  • the partitioning module is used to perform binary tree partitioning on the current node.
  • the determining module is further configured to determine a binary tree partitioning coding cost for encoding the current image region when the current node is divided by the binary tree; the determining module is configured to determine, according to the undivided coding cost and the binary tree partitioning coding cost, whether to obtain a trigeminal tree for the current node.
  • the partitioning module encodes a cost of the triblock tree encoding the current image region; the partitioning module is further configured to: if the determining module determines that the trigonal tree partitioning coding cost of encoding the current image region when acquiring the trifurcation tree of the current node is obtained, the current The node performs a tri-tree partitioning; the determining module is further configured to determine a tri-tree partitioning coding cost, and determine a division manner corresponding to a minimum coding cost of the determined coding cost of the current node as a division manner of the current node.
  • the present application provides a determining apparatus for a coding tree node division manner, which includes: a determining module, a determining module, and a dividing module.
  • the determining module is configured to determine a horizontal binary tree coding cost of encoding the current image region corresponding to the current node when the current node is divided by the horizontal binary tree; the determining module is further configured to determine that the current image region is used when the current node is divided by the vertical binary tree
  • the tri-tree partition includes at least one of a horizontal tri-tree partition and a vertical tri-tree partition;
  • the partitioning module is configured to perform tri-tree partitioning on the current image region when the judging module judges that it is necessary to obtain a tri-tree partitioning of the current node.
  • the coding cost is performed by performing a tri-tree partitioning on the current node.
  • the determining module is further configured to determine a tri-tree partitioning coding cost, and determine a division manner corresponding to a minimum coding cost of the determined coding cost of the current node as a division manner of the current node.
  • the application provides an encoding device, including: a processor and a memory.
  • the memory is used to store execution instructions of the processor.
  • the processor is configured to: determine a non-partition coding cost for encoding a current image region corresponding to the current node when the current node is not divided; perform a binary tree division on the current node, and determine that the current image region is encoded when the current node is divided by a binary tree;
  • the binary tree divides the coding cost; according to the non-partition coding cost and the binary tree division coding cost, it is judged whether it is necessary to obtain the tri-tree coding coding cost of encoding the current image region when performing tri-tree partitioning on the current node; if it is determined that the current node is required to be tri-forked
  • the tree partitioning encodes the coding cost of the current image region, the trigonometric tree is divided into the current node, and the tribe tree partitioning coding cost is determined; the determined division mode of the minimum
  • the application provides an encoding device, including: a processor and a memory; a memory for storing execution instructions of the processor; and a processor configured to: determine a current image region corresponding to the current node when the current node is divided by the horizontal binary tree Performing coding of the horizontal binary tree to divide the coding cost; determining the vertical binary tree coding coding cost of encoding the current image region when the current node is divided by the vertical binary tree; determining the coding cost according to the horizontal binary tree coding cost and the vertical binary tree, and determining whether it is needed Obtaining a tri-tree partition coding cost for encoding a current image region when performing tri-tree partitioning on the current node; the tri-tree partitioning includes at least one of a horizontal tri-tree partition and a vertical tri-tree partition; if it is determined that the current node needs to be acquired When the trigeminal tree divides the coding cost of the current image region, the tri-tree partitioning is performed on the
  • the application provides an encoding device that includes an encoder configured to:
  • it is judged whether it is necessary to obtain the tri-tree partition coding cost of encoding the current image region when performing tri-tree partitioning on the current node if it is judged that the current node needs to obtain the tri-tree partitioning
  • the current image region is encoded by the tri-tree partitioning coding cost, and the current node is tri-tree partitioned, and the tri-tree partition coding cost is determined; the determined coding mode corresponding to the minimum coding cost of the current node is determined as the current node.
  • the way of division is possible to divide the current image region corresponding to the current node.
  • the application provides an encoding device that includes an encoder configured to:
  • a horizontal binary tree coding cost of encoding a current image region corresponding to the current node when the current node is divided by a horizontal binary tree determining a vertical binary tree coding cost of encoding the current image region when the current node is divided by a vertical binary tree; According to the horizontal binary tree coding cost and the vertical binary tree coding cost, it is determined whether it is necessary to obtain a tri-tree coding cost for encoding the current image region when performing tri-tree partitioning on the current node; the tri-tree partition includes horizontal tri-tree partitioning and vertical At least one of the tri-tree partitioning; if it is determined that the tri-tree partitioning coding cost of encoding the current image region when the current node is tri-tree partitioned is obtained, the current node is tri-tree partitioned, and the tri-tree partition coding cost is determined. And determining the division manner corresponding to the minimum coding cost in the determined coding cost of the current node as the division manner of
  • the ninth aspect the application provides a computer storage medium for storing computer software instructions for use in the encoding device of the fifth aspect or the seventh aspect, which is configured to perform the fifth aspect or the seventh aspect program of.
  • the application provides a computer program product comprising instructions which, when executed by a computer, cause the computer to perform the functions performed by the encoding device of the fifth aspect or the seventh aspect.
  • the present application provides a computer storage medium for storing computer software instructions for use in the encoding apparatus of the sixth aspect or the eighth aspect, which is configured to perform the sixth aspect or the eighth aspect described above. Designed program.
  • the present application provides a computer program product comprising instructions which, when executed by a computer, cause the computer to perform the functions performed by the encoding device of the sixth aspect or the eighth aspect.
  • the present application provides a method, a device, and an encoding device for determining a coding tree node division manner.
  • the method can determine whether the current image region needs to be obtained when performing tri-tree partitioning on the current node according to the non-partition coding cost and the binary tree division coding cost.
  • the encoding of the tri-tree divides the coding cost, so that in some cases, the coding end does not need to try all the divisions, so that the coding efficiency can be improved. Further, if the image distortion corresponding to the current node when the current node is not divided and the image distortion corresponding to the current node when the current image region is divided by the horizontal binary tree are the same, the vertical binary tree division of the current node is not required.
  • the horizontal binary tree division of the current node is not required.
  • the vertical tri-tree partitioning of the current node is not required.
  • the image distortion corresponding to the current image region when the current node is not divided is the same as the image distortion corresponding to the current image region when the current node is divided by the vertical tri-tree, skipping the horizontal triangulation of the current node is skipped. Further, the coding efficiency can be improved.
  • FIG. 1A is a schematic diagram of dividing an image region based on a quadtree partitioning manner
  • FIG. 1B is a schematic diagram of dividing an image region based on a horizontal binary tree division manner
  • 1C is a schematic diagram of dividing an image region based on a vertical binary tree division manner
  • FIG. 1D is a schematic diagram of dividing an image region based on a horizontal tri-tree partitioning manner
  • FIG. 1E is a schematic diagram of dividing an image region based on a vertical tri-tree partitioning manner
  • 2A is a schematic diagram of dividing an image region based on a QT-BT division manner
  • 2B is a schematic diagram of a coding tree corresponding to a QT-BT division manner
  • FIG. 3 is a flowchart of a method for determining a coding tree node division manner according to an embodiment of the present disclosure
  • FIG. 4 is a flowchart of a method for determining a coding tree node division manner according to another embodiment of the present disclosure
  • FIG. 5 is a schematic structural diagram of a device for determining a coding tree node division manner according to an embodiment of the present disclosure
  • FIG. 6 is a schematic structural diagram of a device for determining a coding tree node division manner according to another embodiment of the present disclosure
  • FIG. 7 is a schematic structural diagram of an encoding device according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of an encoding device according to another embodiment of the present disclosure.
  • CTU An image consists of multiple CTUs.
  • a CTU usually corresponds to a square image area, including luma pixels and/or chroma pixels in this image area.
  • the CTU also contains syntax elements, which indicate how to CTU.
  • CU It is the leaf node of the coding tree, usually corresponding to an A ⁇ B rectangular area, including the luminance pixel and/or chrominance pixel of the rectangular area, A is the width of the rectangle, B is the height of the rectangle, and A and B can The same can also be different, and the values of A and B are usually an integer power of 2, such as 256, 128, 64, 32, 16, 8, 4.
  • a CU can be decoded by decoding to obtain a reconstructed image of an A ⁇ B rectangular area.
  • Quadtree A tree structure in which each node in a quadtree can be divided into four subnodes.
  • the CTU can be recursively divided into several leaf nodes (CUs).
  • a node corresponds to an image area. If a node is not divided, the node is called a leaf node, and its corresponding image area forms a CU. If the node continues to be divided, the image area corresponding to the node is divided into four image areas of the same size, and each image area corresponds to one node.
  • FIG. 1A is a schematic diagram of dividing an image region according to a quadtree partitioning manner. As shown in FIG. 1A, an image region corresponding to a node is divided into four image regions of the same size, and each divided image region corresponds to one node. .
  • Binary tree A tree structure in which each node in a binary tree can be divided into two child nodes.
  • the dividing direction of the binary tree dividing manner may be a horizontal direction or a vertical direction.
  • FIG. 1B is a schematic diagram of dividing an image region based on a horizontal binary tree division manner
  • FIG. 1C is a schematic diagram of dividing an image region based on a vertical binary tree division manner.
  • the image area corresponding to the node is divided into upper and lower image areas of the same size, and each divided image area corresponds to one node.
  • the image area corresponding to the node is divided into two image areas of the same size, left and right, and each divided image area corresponds to one node.
  • Trigeminal tree A tree structure in which each node in a trigeminal tree can be divided into three subnodes.
  • the dividing direction of the trigeminal tree dividing manner may be a horizontal direction or a vertical direction.
  • FIG. 1D is a schematic diagram of dividing an image region based on a horizontal tri-tree partitioning manner
  • FIG. 1E is a schematic diagram of dividing an image region based on a vertical tri-tree partitioning manner.
  • the image area corresponding to the node is divided into upper, middle and lower image areas, and each divided image area corresponds to one node.
  • the height of these three image areas is 1/4, 1/2, 1/4 of the height of the entire image area.
  • FIG. 1C the image area corresponding to the node is divided into three image areas of left, middle, and right, and each divided image area corresponds to one node.
  • the widths of the three image areas are 1/4, 1/2, and 1/4 of the width of the entire image area.
  • QT-BT division mode The CTU is first divided according to QT, and the leaf nodes of QT are allowed to continue to use BT division. That is, the coding tree is divided into two levels, the first-level coding tree is QT, and the second-level coding tree is BT.
  • QT-TT division mode The CTU is first divided according to QT, and the leaf nodes of QT are allowed to continue to use TT division. That is, the coding tree is divided into two levels, the first-level coding tree is QT, and the second-level coding tree is TT.
  • QT-(BT and/or TT) division CTU is first divided according to QT.
  • the leaf nodes of QT are allowed to continue to use BT or TT division.
  • the nodes of BT are allowed to be divided by BT or TT, and the nodes of TT are allowed to be divided by BT or TT. . That is, the coding tree is divided into two levels, the first-level coding tree is QT, and the second-level coding tree is BT and/or TT.
  • the coding tree includes a multi-level coding tree.
  • cascading coding trees based on QT-BT, QT-TT, QT-(BT and/or TT) partitioning methods each include a two-level coding tree. This application does not limit how to classify the coding tree.
  • Non-cascading coding tree This coding tree only includes a primary coding tree.
  • the QT coding tree, the BT coding tree, and the TT coding tree are non-cascading coding trees.
  • Encoding tree hierarchy If the coding tree is a concatenated coding tree (including N levels), the coding tree hierarchy is divided into: a hierarchy of a first-level coding tree, a hierarchy of a second-level coding tree, a hierarchy of an N-th coding tree.
  • FIG. 2A is a schematic diagram of dividing an image region based on a QT-BT division manner
  • FIG. 2B is a schematic diagram of a coding tree corresponding to a QT-BT division manner. 2A and 2B, the first-level coding tree is QT, and the second-level coding tree is BT.
  • a to m are 13 leaf nodes, and each leaf node corresponds to 1 CU; 1 on the binary tree node represents vertical division, and 0 represents horizontal division; wherein each node has a QT level and a BT level.
  • the QT level of a and b is 1, the BT level is 2; the QT level of c, d, and e is 1, and the BT level is 1; the QT level of f, k, and l is 2, and the BT level is 1; i, The QT level of j is 2, the BT level is 0; the QT level of g and h is 2, the BT level is 2; the QT level of m is 1, and the BT level is 0.
  • the coding tree is a non-cascading coding tree
  • the coding tree hierarchy is the hierarchy of the coding tree. For example, each node in the QT coding tree has only one QT level.
  • Video coding After the video is received by the encoding end, for each frame of the video constituting the video, the image is divided into image blocks to be encoded, and encoded according to the order of the image blocks to be encoded.
  • the current image block to be encoded For the current image block to be encoded, the current image block to be encoded is first predicted by referring to the reconstructed image block to obtain a prediction signal of the current image block to be encoded; and the residual signal is obtained by subtracting the prediction signal from the original signal of the current image block to be encoded. . After prediction, the magnitude of the residual signal is much smaller than the original signal.
  • the residual signal is transformed (optional operation) and quantized.
  • the code stream generally includes: split information of an image block to be currently encoded, encoding mode information, and the like. Further, the encoding end further needs to reconstruct the current image block to be encoded, so as to provide reference pixels for encoding the subsequent image block to be encoded.
  • the encoding end needs to perform inverse quantization and inverse transform on the quantized coefficients of the current image block to be encoded, to obtain a reconstructed residual signal, and to reconstruct the residual signal and the current waiting signal.
  • the prediction signals corresponding to the coded image blocks are added to obtain a reconstructed signal of the current image block to be encoded, and the reconstructed image block is obtained according to the reconstructed signal.
  • RDO It is an optimized way to improve video compression performance. The principle is to optimize the video's lossy (picture quality) and bit rate (the amount of data required for encoding) to achieve an optimal balance point.
  • this algorithm was originally used in video compression encoders, it can also be used for various multimedia encodings including video, video, audio, etc., as long as the encoding takes into account both quality and file size.
  • the leaf nodes of the QT may not be divided, and the above four division manners may exist.
  • the prior art needs to separately determine the coding cost that is not to be divided and the coding cost corresponding to the above four division modes, thereby causing a problem of low coding efficiency.
  • the present application is not limited to the QT-(BT and/or TT) division manner, and the solution provided by the present application may be adopted as long as one node is not divided and the above four division manners are possible.
  • the coding tree is a BT and/or TT, that is, the coding tree is a non-cascading coding tree, and nodes in the coding tree have the possibility of being not divided, and the above four division manners.
  • FIG. 3 is a flowchart of a method for determining a coding tree node division manner according to an embodiment of the present disclosure. As shown in FIG. 3, the method includes:
  • Step S301 determining a non-partition coding cost for encoding a current image region corresponding to the current node when the current node is not divided;
  • Step S302 Perform a binary tree partitioning on the current node, and determine a binary tree partitioning coding cost for encoding the current image region when the current node is divided by the binary tree;
  • Step S303 Determine, according to the undivided coding cost and the binary tree division coding cost, whether it is necessary to obtain a tri-tree coding coding cost for encoding the current image region when performing tri-tree partitioning on the current node;
  • Step S304 If it is determined that the tri-tree partition coding cost of encoding the current image region when the current node is tri-tree partitioned, the tri-tree partitioning is performed on the current node, and the tri-tree partition coding cost is determined;
  • Step S305 Determine the division manner corresponding to the minimum coding cost in the determined coding cost of the current node as the division manner of the current node.
  • the current node corresponds to at least one coding mode, and each coding mode includes: an coding mode, a prediction mode, and a transformation mode.
  • the encoding method may be an original resolution encoding method or a down sampling encoding method.
  • the original resolution encoding method refers to directly encoding the current image region corresponding to the current node.
  • the downsampling coding method refers to performing downsampling processing on the current image region, and then performing encoding operation on the downsampled current image region.
  • the prediction mode is an intra prediction mode or an inter prediction mode, and the intra prediction mode may be any one of a Planar mode, a DC mode, and 33 angle prediction modes.
  • One transformation mode is to perform a transformation operation on the residual signal of the current image region, and then perform a quantization operation.
  • Another mode of transformation is to directly quantize the residual signal.
  • the coding mode, the prediction mode, and the transformation mode are not limited to the above contents, and the present application does not limit this.
  • the encoding end can use the RDO method to calculate the encoding cost of the current node, that is, the encoding cost of the current image region.
  • the encoding end may determine a reconstructed image corresponding to the current image region for each encoding mode of the current image region. Determining coding distortion according to pixels of the reconstructed image and pixels of the current image region, determining a number of encoded bits of the current image region according to information such as an encoding mode and a transform coefficient corresponding to the reconstructed image, and obtaining an encoding cost by a weighting value of the encoding distortion and the number of encoded bits; The smaller the coding cost, the better the coding performance is considered.
  • the process of calculating the coding cost of the current image region is The quantization coefficient of the current image region is obtained by using the coding mode of the current image region. After obtaining the quantization coefficient of the current image region, the encoding end needs to inverse quantize the quantized coefficient according to the quantization parameter to obtain a transform coefficient, and then inversely transform the coefficient.
  • Transforming obtaining a reconstructed residual signal, adding the reconstructed residual signal to the prediction signal of the current image region, obtaining a reconstructed signal of the current image region, and obtaining a reconstructed image block corresponding to the current image region according to the reconstructed signal.
  • the error between the reconstructed image block and the current image region is calculated. The smaller the error, the smaller the coding distortion.
  • Calculating the error between the reconstructed image block and the current image region includes: calculating a difference between each pixel of the reconstructed image block and a corresponding pixel in the current image region, obtaining a corresponding difference, and performing a weighted average on all the differences of the reconstructed image block Finally, the error between the reconstructed image block and the current image area is obtained.
  • the syntax elements such as the coding mode and the transform coefficient corresponding to the reconstructed image block are entropy encoded to obtain the number of coded bits of the current image region.
  • the coding distortion is weighted and the number of coded bits is summed to obtain the coding cost.
  • the minimum coding cost corresponding to the current node is taken as the unpartitioned coding cost.
  • the error of the reconstructed image block corresponding to the current image region and the calculation of the reconstructed image block and the current image region may be determined by using the prior art, which is not limited in this application.
  • the method further includes: determining whether the binary tree partition coding cost and the tri-tree partition coding cost are required to be acquired. If it is necessary to obtain the binary tree partition coding cost and the tri-tree partition coding cost, step S302 to step S305 are performed. Otherwise, step S302 to step S304 are skipped, and step S305 is directly performed.
  • the first alternative manner is to determine whether the prediction mode of the corresponding optimal coding mode of the current node when it is not divided is a Skip mode. If the prediction mode of the corresponding optimal coding mode of the current node is not divided, it is a Skip mode, which means that it is not necessary to obtain a binary tree partition coding cost and a tri-tree partition coding cost.
  • the optimal coding mode is an coding mode corresponding to the non-partition coding cost.
  • the second option is to determine whether to obtain the binary tree partition coding cost and the tri-tree partition coding cost according to the width of the current image region, the current image region height, and the coding tree hierarchy of the current node.
  • the coding tree level of the current node refers to the level of the current node on the primary coding tree divided by the BT and/or TT to which it belongs. For example, if the CTU is divided into CUs using a BT and/or TT coding tree, the coding tree level of the current node is the current node relative to the CTU level; if QT-(BT and/or TT) is used to concatenate the coding tree, the CTU is used. Divided into CU, the coding tree level of the current node is the level on the second-level coding tree of the current node relative to the QT leaf node.
  • the binary tree coding cost and the tri-tree coding cost need to be obtained, including the following options:
  • Option 1 If the second-level coding tree level of the current node is greater than or equal to the preset threshold maxSTDepth, it is determined that the binary tree partition coding cost and the tri-tree partition coding cost are not required to be obtained.
  • maxSTDepth is the maximum value of the allowed second-level coding tree hierarchy.
  • Option 2 If the width or height of the current image area is equal to the preset threshold minCUSize, or if the width or height of the current image area is less than or equal to the preset threshold minCUSize ⁇ 2, it is determined that the binary tree division coding cost and the trinomorph are not required to be obtained. Divide the coding cost.
  • Option 3 If the width or height of the current image area is greater than a preset threshold maxSTSize, it is determined that it is not necessary to obtain a binary tree partition coding cost and a tri-tree partition coding cost.
  • Option 4 If the minimum value of the width and the high of the current image area is less than or equal to the preset threshold minCUSize, it is determined that the binary tree partition coding cost and the tri-tree partition coding cost are not required to be obtained.
  • Option 5 If the ratio of the long side and the short side of the current image area is greater than or equal to a preset threshold, it is determined that the binary tree partition coding cost and the triblock partition coding cost are not required to be obtained.
  • the binary tree partitioning includes: horizontal binary tree partitioning and/or vertical binary tree partitioning.
  • performing binary tree partitioning on the current node includes: if the current image area is smaller than the current image area, first performing horizontal quadtree partitioning on the current node, and then Perform vertical binary tree division on the current node; if the width of the current image area is greater than or equal to the height of the current image area, first divide the current node into a vertical binary tree, and then perform horizontal binary tree division on the current node. That is, first try to divide the image into a more suitable size image area, because the image coding effect of this division mode is better. If the division mode is not as good as the division mode, based on this, it is not necessary to try another division manner, thereby improving coding efficiency.
  • the width of the current image area is less than or equal to the height of the current image area, first divide the current node into a horizontal binary tree, and then perform vertical binary tree division on the current node; if the width of the current image area is greater than the current image area, Then, the current node is vertically divided into two branches, and then the current node is divided into horizontal binary trees. That is, first try to divide the image into a more suitable size image area, because the image coding effect of this division mode is better. If the division mode is not as good as the division mode, based on this, it is not necessary to try another division manner, thereby improving coding efficiency.
  • the method before performing horizontal binary tree partitioning on the current node, before performing vertical binary tree partitioning on the current node, the method further includes: determining that the image distortion corresponding to the current image region and the current image region are adopted when the current node is not divided.
  • the image distortion corresponding to the current image region is the same; when the current node is not divided, the image distortion corresponding to the current image region is different from the image distortion corresponding to the current image region when the current node is divided by the horizontal binary tree, The node performs vertical binary tree partitioning.
  • the method further includes: before determining that the current node is not divided, the image distortion corresponding to the current image region and the current image region are divided by the vertical binary tree. Whether the image distortion corresponding to the current image region is the same; when the current image is not divided, the image distortion corresponding to the current image region is different from the image distortion corresponding to the current image region when the current node is divided by the vertical binary tree, and then the current node is performed. Horizontal binary tree division.
  • the corresponding reconstructed image is the first reconstructed image when the current node is not divided
  • the corresponding reconstructed image is the second reconstructed image when the current node is divided by the horizontal binary tree.
  • determining whether the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the horizontal binary tree including: a distortion total of each pixel of the first reconstructed image and a second reconstruction
  • the distortion of each pixel of the image is the same, or the distortion of each pixel of the first reconstructed image is the same as the distortion of each pixel of the corresponding second reconstructed image.
  • the distortion of the first reconstructed image and the second reconstructed image are all for the current image region.
  • the distortion of the pixel A on the first reconstructed image may be the pixel difference of the pixel B corresponding to the pixel A in the current image region.
  • the sum of the distortions of the pixels of the reconstructed image can be measured by Sum of Squared Difference (SSD) or Sum of Absolute Difference (SAD).
  • the corresponding reconstructed image is the first reconstructed image when the current node is not divided, and the corresponding reconstructed image is the third reconstructed image when the current node is divided by the vertical binary tree. Then, it is determined whether the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the vertical binary tree, including: the sum of distortion of each pixel of the first reconstructed image and the third The distortion of each pixel of the reconstructed image is the same, or the distortion of each pixel of the first reconstructed image is the same as the distortion of each pixel of the corresponding third reconstructed image.
  • the distortion of the first reconstructed image and the third reconstructed image are all for the current image region.
  • the distortion of the pixel A on the first reconstructed image may be the pixel difference of the pixel B corresponding to the pixel A in the current image region.
  • the sum of the distortions of the pixels of the reconstructed image can be measured by SSD or SAD.
  • the image distortion corresponding to the current image region is the same as the image distortion corresponding to the current image region when the current node is divided by the horizontal binary tree, indicating that the current node does not need to perform binary tree division. It is not necessary to use vertical binary tree partitioning to improve coding efficiency.
  • the image distortion corresponding to the current image region is the same as the image distortion corresponding to the current image region when the current node is divided by the vertical binary tree, indicating that the current node may not need to use binary tree partitioning, and based on this, the current image may be skipped.
  • the necessary horizontal binary tree partitioning improves coding efficiency.
  • the binary tree partitioning includes: horizontal binary tree partitioning and/or vertical binary tree partitioning. Therefore, the binary tree partition coding cost includes: horizontal binary tree partition coding cost and/or vertical binary tree partition coding cost. That is, when only the horizontal binary tree partition is used for the current node, the binary tree partition coding cost is the horizontal binary tree partition coding cost. When only the vertical binary tree partition is used for the current node, the binary tree partition coding cost is a vertical binary tree partition coding cost. When a horizontal binary tree partition and a vertical binary tree are used for the current node, the binary tree partition coding cost includes: a horizontal binary tree partition coding cost and a vertical binary tree partition coding cost.
  • horizontal binary tree partitioning and the vertical binary tree partitioning of the current node are performed by using a horizontal binary tree partition and a vertical binary tree respectively for the current node, that is, horizontal binary tree partitioning and vertical binary tree partitioning are two independent partitions. .
  • the minimum coding cost corresponding to the two nodes obtained after the partitioning is determined, and then the minimum coding cost corresponding to the two nodes is summed to obtain the horizontal binary partition coding cost of the current node.
  • the minimum coding cost corresponding to the two nodes obtained after the partitioning is determined, and then the minimum coding cost corresponding to the two nodes is summed to obtain the vertical binary tree of the current node.
  • the coding cost is divided, and the minimum coding cost corresponding to the calculation node may be similar to the method of step S301, which is not described in this application.
  • step S303 the tri-tree partitioning includes: horizontal tri-tree partitioning and/or vertical tri-tree partitioning.
  • the trigonal tree partition coding cost includes: horizontal tri-tree partition coding cost and/or vertical tri-tree partition coding cost.
  • Step S303 includes the following three optional manners, but is not limited to the three optional methods:
  • the first option is as follows: if the binary tree coding cost only includes the horizontal binary tree coding cost when the current node performs horizontal binary tree division, it is determined whether it is necessary to acquire a tri-tree that encodes the current image region when performing tri-tree partitioning on the current node.
  • the division coding cost includes: if the division coding cost is less than the product of the horizontal binary tree division coding cost and the first preset threshold, it is judged that it is not necessary to obtain the triblock division coding cost; or if the division coding cost is less than the horizontal binary tree division coding cost And determining, by the product of the first preset threshold, that the coding tree level of the current node is less than or equal to the second preset threshold, determining that the tri-tree partition coding cost is not required to be obtained;
  • the first preset threshold and the second preset threshold may be set according to actual conditions.
  • the first preset threshold may be a positive number less than 1.5, such as 0.92 or 0.95 or 0.99 or 1 or 1.02;
  • the second preset threshold is a positive integer, such as 1 or 2.
  • the first preset threshold may be different for different coding tree levels of the current node. For example, when the coding tree level of the current node is less than or equal to 1, the first preset threshold may be set to 0.95, and when the coding tree level of the current node is greater than 1, the first preset threshold may be set to 0.92.
  • the non-partition coding cost is less than the product of the horizontal binary tree partition coding cost and the first preset threshold, the smaller the number of times the current node is divided, the better the coding effect. In this case, it is not necessary to obtain the trigeminal partition coding cost for the current node, that is, it is not necessary to perform trinomial division.
  • the second optional mode is: if the binary tree coding cost only includes the vertical binary tree coding cost when the current node performs vertical binary tree division, it is determined whether it is necessary to obtain the current image region when the current node is tri-tree partitioned.
  • the tribe tree partitioning coding cost includes: if the non-partition coding cost is less than the product of the vertical binary tree partition coding cost and the first preset threshold, it is judged that the tri-tree partition coding cost is not required to be obtained; or, if the division coding cost is less than the vertical binary tree And dividing the coding cost into a product of the first preset threshold, and the coding tree level of the current node is less than or equal to the second preset threshold, determining that it is not necessary to acquire the triblock division coding cost.
  • the first preset threshold and the second preset threshold may be set according to actual conditions.
  • the first preset threshold may be a positive number less than 1.5, such as 0.92 or 0.95 or 0.99 or 1 or 1.02;
  • the second preset threshold is a positive integer, such as 1 or 2.
  • the first preset threshold may be different for different coding tree levels of the current node. For example, when the coding tree level of the current node is less than or equal to 1, the first preset threshold may be set to 0.95, and when the coding tree level of the current node is greater than 1, the first preset threshold may be set to 0.92.
  • the first preset threshold value and the first preset threshold value in the foregoing optional manner may be the same or different, and similarly, the second preset threshold value and the second preset threshold value in the foregoing optional manner. Can be the same or different.
  • the non-partition coding cost is less than the product of the vertical binary tree partition coding cost and the first preset threshold, the smaller the number of times the current node is divided, the better the coding effect. In this case, it is not necessary to obtain the trigeminal partition coding cost for the current node, that is, it is not necessary to perform trinomial division.
  • the third option is: if the binary tree coding cost includes the horizontal binary tree coding cost when the current node performs horizontal binary tree division and the vertical binary tree division coding cost when performing vertical binary tree division on the current node, it is determined whether it is necessary to acquire the pair.
  • the tri-tree partition coding cost of encoding the current image region when the current node performs tri-tree partitioning includes: if the non-partition coding cost is less than the minimum value of the horizontal binary tree partition coding cost and the vertical binary tree partition coding cost and the first preset threshold If the product is used, it is judged that it is not necessary to obtain the trigeminal partition coding cost; or, if the division coding cost is less than the product of the horizontal binary tree division coding cost and the minimum value of the vertical binary tree division coding cost and the first preset threshold, and the current node If the coding tree level is less than or equal to the second preset threshold, it is determined that the tri-tree partition coding cost is not required to be obtained.
  • the first preset threshold and the second preset threshold may be set according to actual conditions, where the first preset threshold and the first preset threshold in the foregoing manner may be the same or different, and the same
  • the second preset threshold value here and the second preset threshold value in the foregoing optional manner may be the same or different.
  • the first preset threshold may be a positive number less than 1.5, such as 0.92 or 0.95 or 0.99 or 1 or 1.02, etc.
  • the second predetermined threshold is a positive integer, such as 1 or 2.
  • the first preset threshold may be different for different coding tree levels of the current node.
  • the first preset threshold when the coding tree level of the current node is less than or equal to 1, the first preset threshold may be set to 0.95, and when the coding tree level of the current node is greater than 1, the first preset threshold may be set to 0.92.
  • the undivided coding cost is less than the product of the horizontal binary tree partition coding cost and the minimum value of the vertical binary tree partition coding cost and the first preset threshold, the smaller the number of times the current node is divided, the better the coding effect. In this case, it is not necessary to obtain a tri-tree partition coding cost for encoding the current image region when performing tri-tree partitioning on the current node, that is, it is not necessary to perform tri-tree partitioning on the current node.
  • the fourth optional method can be used to determine whether it is necessary to obtain a tri-tree partition coding cost:
  • the prediction mode of the corresponding optimal coding mode when the current node is divided by the horizontal binary tree or the vertical binary tree is a Skip mode. If the prediction mode of the corresponding optimal coding mode is the Skip mode when the current node is divided by the horizontal binary tree or the vertical binary tree, it means that the current image region is not required to be obtained when the current node is tri-tree partitioned. The tri-tree divides the coding cost. Otherwise, it indicates that it is necessary to obtain the tri-tree partition coding cost of encoding the current image region when performing tri-tree partitioning on the current node.
  • the optimal coding mode when the current node is divided by the horizontal binary tree is the optimal coding mode corresponding to the horizontal binary tree coding coding cost
  • the optimal coding mode when the current node is divided by the vertical binary tree is the vertical binary tree coding coding cost correspondence.
  • step S303 may be used to determine whether it is necessary to obtain a tri-tree partition coding cost for encoding the current image region when performing tri-tree partitioning on the current node. For example, if the split coding cost is less than the product of the horizontal binary tree partition coding cost and the first preset threshold, the first option and the second option are not required to obtain the trigeminal tree division of the current node. The horizontal trigeminal division coding cost of the current image region is encoded.
  • the fourth optional manner may be combined with any one of the first option, the second option, and the third option in step S303.
  • the fourth option may be adopted first.
  • the method determines whether it is necessary to obtain a horizontal tri-tree coding cost and a vertical tri-tree coding cost for encoding the current image region when performing tri-tree partitioning on the current node, and if necessary, obtaining a current-image region when performing tri-tree partitioning on the current node Performing coding of the horizontal tri-tree partition coding cost and the vertical tri-tree partition coding cost, and further determining whether it is necessary to acquire a horizontal tri-tree that encodes the current image region when performing tri-tree partitioning on the current node by using the above-mentioned first alternative manner
  • the coding cost and the vertical trinom division coding cost are divided.
  • step S304 optionally, if the tri-tree partitioning includes horizontal tri-tree partitioning and vertical tri-tree partitioning, performing tri-tree partitioning on the current node includes: if the current image region is wider than the current image region, First, the current node is divided into horizontal tri-trees, and then the current node is divided into vertical tri-trees; if the width of the current image region is greater than or equal to the height of the current image region, the current node is first divided into vertical tri-trees, and then Perform horizontal tri-tree partitioning on the current node. That is, first try to divide the image into a more suitable size image area, because the image coding effect of this division mode is better. If the division mode is not as good as the division mode, based on this, it is not necessary to try another division manner, thereby improving coding efficiency.
  • the width of the current image area is less than or equal to the height of the current image area, first divide the current node into a horizontal tri-tree, and then perform vertical tri-tree division on the current node; if the width of the current image area is greater than the current image area, Then, the current node is divided into vertical tri-trees, and then the current node is divided into horizontal tri-trees. That is, first try to divide the image into a more suitable size image area, because the image coding effect of this division mode is better. If the division mode is not as good as the division mode, based on this, it is not necessary to try another division manner, thereby improving coding efficiency.
  • the method before performing horizontal tri-tree partitioning on the current node, before performing vertical tri-tree partitioning on the current node, the method further includes: determining that the image distortion corresponding to the current image region and the current image region are When the horizontal trifurcation tree is used, the image distortion corresponding to the current image region is the same; when the current node is not divided, the image distortion corresponding to the current image region is different from the image distortion corresponding to the current image region when the current node is divided by the horizontal trinomial tree. , the vertical trigeminal tree division of the current node;
  • the method further includes: determining that the current image is not divided, the image corresponding to the current image region is distorted, and the current image region is vertically trifurcated. Whether the image distortion corresponding to the current image region is the same when the tree is divided; when the current image is not divided, the image distortion corresponding to the current image region is different from the image distortion corresponding to the current image region when the current node is divided by the vertical trigeminal tree. Perform horizontal tri-tree partitioning on the current node.
  • the corresponding reconstructed image is the first reconstructed image when the current node is not divided
  • the corresponding reconstructed image is the second reconstructed image when the current node is divided by the horizontal tri-tree.
  • Determining whether the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the horizontal tri-tree includes: distortion of each pixel of the first reconstructed image and corresponding second The distortion of each pixel of the reconstructed image is the same.
  • the sum of the distortions of the pixels of the first reconstructed image is the same as the sum of the distortions of the pixels of the second reconstructed image.
  • the distortion of the first reconstructed image and the second reconstructed image are all for the current image region.
  • the distortion of the pixel A on the first reconstructed image may be the pixel difference of the pixel B corresponding to the pixel A in the current image region.
  • the sum of the distortions of the pixels of the reconstructed image can be measured by SSD or SAD.
  • the corresponding reconstructed image is the first reconstructed image when the current node is not divided, and the corresponding reconstructed image is the third reconstructed image when the current node is divided by the vertical trinomial tree. Then, it is determined whether the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the vertical tri-tree, including: the sum of distortion of each pixel of the first reconstructed image and the first The distortion of each pixel of the three reconstructed images is the same, or the distortion of each pixel of the first reconstructed image is the same as the distortion of each pixel of the corresponding third reconstructed image.
  • the distortion of the first reconstructed image and the third reconstructed image are all for the current image region.
  • the distortion of the pixel A on the first reconstructed image may be the pixel difference of the pixel B corresponding to the pixel A in the current image region.
  • the sum of the distortions of the pixels of the reconstructed image can be measured by SSD or SAD.
  • the minimum coding cost corresponding to the three nodes obtained after the division is determined, and then the minimum coding cost corresponding to the three nodes is summed to obtain the horizontal tri-tree division of the current node.
  • Coding cost when the current node is divided into vertical tri-trees, the minimum coding cost corresponding to the three nodes obtained after the division is determined, and then the minimum coding cost corresponding to the three nodes is summed to obtain the vertical trigeminal of the current node.
  • the tree divides the coding cost, and the minimum coding cost corresponding to the calculation node may adopt a method similar to the step S301, which is not described in this application.
  • the vertical binary partition coding cost, the horizontal triblock division coding cost, or the vertical triblock division coding cost if the current node still has a child node, according to the The coding cost of the child node adjusts the coding cost of the current node. Similarly, if the child node still has a child node, the coding cost of the parent node can be adjusted according to the child node. That is, the above determining the encoding cost of the current node can be performed in a recursive manner.
  • the method may further include: determining whether another manner of dividing the current node, for example, the dividing manner may be a quadtree partitioning and other possible dividing manners. If it is determined that a certain division mode is not skipped, it is necessary to determine the coding cost of the current node in the division mode.
  • the foregoing various division manners are the division manners tried by the current node. If the current node does not skip the horizontal binary tree division, the vertical binary tree division, the horizontal tri-tree division, and the vertical tri-tree division, The minimum coding cost is selected in the above-described non-partition coding cost, horizontal binary tree partition coding cost, vertical binary tree partition coding cost, horizontal triblock partition coding cost, and vertical triblock partition coding cost. If the current node skips at least one partitioning mode, the minimum encoding cost is selected among the coding costs corresponding to the remaining partitioning modes.
  • the present application provides a method for determining a coding tree node division manner, because the method can encode the current image region when performing tri-tree partitioning on the current node according to the non-partition coding cost and the binary tree division coding cost.
  • the tri-tree divides the coding cost, so that in some cases, the coding end does not need to try all the divisions, so that the coding efficiency can be improved. Further, if the image distortion corresponding to the current node when the current node is not divided and the image distortion corresponding to the current node when the current image region is divided by the horizontal binary tree are the same, the vertical binary tree division of the current node is not required.
  • the horizontal binary tree division of the current node is not required.
  • the vertical tri-tree partitioning of the current node is not required.
  • the image distortion corresponding to the current image region when the current node is not divided is the same as the image distortion corresponding to the current image region when the current node is divided by the vertical tri-tree, skipping the horizontal triangulation of the current node is skipped. Further, the coding efficiency can be improved.
  • FIG. 4 is a flowchart of a method for determining a coding tree node division manner according to another embodiment of the present application. As shown in FIG. 4, the method includes:
  • Step S401 determining a horizontal binary tree coding cost of encoding the current image region corresponding to the current node when the current node is divided by the horizontal binary tree;
  • Step S402 determining a vertical binary tree coding coding cost for encoding the current image region when the current node is divided by the vertical binary tree;
  • Step S403 According to the horizontal binary tree division coding cost and the vertical binary tree division coding cost, determine whether it is necessary to obtain a trigeminal division coding cost for encoding the current image region when the current node performs tri-tree division; the tri-tree partition includes horizontal tri-tree division And at least one of a vertical trigeminal tree division;
  • Step S404 If it is determined that the tri-tree partition coding cost of encoding the current image region when the current node is tri-tree partitioned is obtained, the current node is tri-tree partitioned, and the tri-tree partition coding cost is determined;
  • Step S405 Determine the division manner corresponding to the minimum coding cost in the determined coding cost of the current node as the division manner of the current node.
  • the step S401 determines the horizontal binary tree coding cost of encoding the current image region corresponding to the current node when the current node is divided by the horizontal binary tree, and determines, in step S402, the current node corresponding to the current node when the horizontal node is divided by the horizontal binary tree.
  • the method for the encoding of the horizontal binary tree in the current image region is the same as that in the step S302, and details are not described herein again.
  • step S403 includes: if the horizontal binary-tree partitioning coding cost is greater than a product of the vertical binary-tree partitioning coding cost and the first preset threshold, determining It is required to obtain a horizontal triblock partition coding cost; if the vertical binary partition coding cost is greater than the product of the horizontal binary division coding cost and the second preset threshold, it is judged that the vertical triblock division coding cost is not required to be obtained.
  • the first preset threshold is a positive number greater than or equal to 1, for example, the first preset threshold may be 1.125.
  • the horizontal binary tree partition coding cost is greater than the product of the vertical binary tree partition coding cost and the first preset threshold, it indicates that the coding efficiency by the horizontal binary tree division is lower than that by the vertical binary tree division, and
  • the horizontal tri-tree partitioning is the same as the horizontal binary-tree partitioning.
  • the vertical tri-tree partitioning is the same as the vertical binary-tree partitioning. Based on this, it can be inferred that the horizontal tri-tree partitioning is less efficient than the vertical tri-tree partitioning. Therefore, it is not necessary to obtain a horizontal tri-tree partition coding cost.
  • the vertical binary tree partition coding cost is greater than the product of the horizontal binary tree partition coding cost and the second preset threshold, it indicates that the coding efficiency by the horizontal binary tree division is higher than that by the vertical binary tree division, and due to the horizontal tri-tree division and The horizontal binary tree partitioning direction is the same, and the vertical trigeminal tree partitioning is the same as the vertical binary tree partitioning direction. Based on this, it can be inferred that the horizontal trifurcation tree division is more efficient than the vertical trigeminal tree partitioning. Therefore, it is not necessary to obtain a vertical trinom partition coding cost.
  • step S403 includes: if the horizontal binary-tree partitioning coding cost is greater than a product of the vertical binary-tree partitioning coding cost and the first preset threshold, and If the coding tree level of the current node is smaller than the second preset threshold, it is determined that the horizontal triblock division coding cost is not required; if the vertical binary division coding cost is greater than the product of the horizontal binary division coding cost and the third preset threshold, and If the coding tree level of the current node is less than the fourth preset threshold, it is determined that it is not necessary to obtain the horizontal triblock partition coding cost.
  • Step S404 is the same as step S303, and step S405 is the same as step S304, and the corresponding content and effect are not described herein again.
  • the present application provides a method for determining a coding tree node division manner, because the method can determine the coding cost and the horizontal binary tree division coding cost according to the horizontal binary tree coding cost and the vertical binary tree division coding cost, so that some In this case, the encoding end does not need to try all the division methods, thereby improving the coding efficiency.
  • FIG. 5 is a schematic structural diagram of an apparatus for determining a coding tree node division manner according to an embodiment of the present invention. As shown in FIG. 5, the apparatus includes: a determination module 51, a determination module 52, and a division module 53.
  • the determining module 51 is configured to determine a non-partition coding cost for encoding the current image region corresponding to the current node when the current node is not divided.
  • the dividing module 53 is configured to perform binary tree partitioning on the current node.
  • the determining module 51 is further configured to determine a binary tree partitioning coding cost of encoding the current image region when the current node is divided by the binary tree.
  • the determining module 52 is configured to determine, according to the undivided coding cost and the binary tree partitioning coding cost, whether to obtain a tri-tree partition coding cost for encoding the current image region when performing tri-tree partitioning on the current node.
  • the dividing module 53 is further configured to perform a tri-tree partitioning on the current node if the determining module 52 determines that the tri-tree partitioning coding cost of encoding the current image region is required to obtain the tri-tree partitioning of the current node.
  • the determining module 51 is further configured to determine a triblock partition coding cost, and determine a division manner corresponding to a minimum coding cost of the determined coding cost of the current node as a division manner of the current node.
  • the determining module 52 is specifically configured to:
  • the non-partition coding cost is less than the product of the horizontal binary tree partition coding cost and the first preset threshold, it is determined that the tri-tree partition coding cost is not required to be obtained; or if the non-partition coding cost is less than the horizontal binary tree division coding cost and the first preset threshold If the product tree level of the current node is less than or equal to the second preset threshold, it is determined that the tri-tree partition coding cost is not required to be obtained;
  • the determining module 52 is specifically configured to: if the non-partition coding cost is less than the vertical binary tree division coding cost and the first preset threshold If the product is used, it is judged that the triangulation coding cost is not required to be obtained; or if the non-partition coding cost is less than the product of the vertical binary division coding cost and the first preset threshold, and the coding tree level of the current node is less than or equal to the second preset The threshold determines that it is not necessary to obtain a triblock partition coding cost.
  • the determining module 52 is specifically configured to: if there is no partition coding cost If the product of the coding cost of the horizontal binary partition coding and the minimum of the vertical binary partition coding cost is compared with the first preset threshold, it is determined that the tri-tree partition coding cost is not required to be obtained; or if the division coding cost is less than the horizontal binary tree coding cost And the product of the minimum value of the vertical binary tree coding cost and the first preset threshold, and the coding tree level of the current node is less than or equal to the second preset threshold, determining that it is not necessary to acquire the triblock partition coding cost.
  • the dividing module 53 is specifically configured to:
  • the current node is first divided into horizontal tri-trees, and then the current node is vertically tri-tree-divided; if the width of the current image area is greater than or equal to the height of the current image area, Then, the current node is divided into vertical tri-trees, and then the current node is divided into horizontal tri-trees.
  • the width of the current image area is less than or equal to the height of the current image area, first divide the current node into a horizontal tri-tree, and then perform vertical tri-tree division on the current node; if the width of the current image area is greater than the current image area, Then, the current node is divided into vertical tri-trees, and then the current node is divided into horizontal tri-trees.
  • the determining module 52 is further configured to: before performing horizontal tri-tree partitioning on the current node, determine image distortion and current image region corresponding to the current image region when the current node is not divided, before performing horizontal tri-tree partitioning on the current node. Whether the image distortion corresponding to the current image area is the same when divided by the horizontal tri-tree.
  • the dividing module 53 is further configured to perform vertical trifurcation on the current node when the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the horizontal tri-tree is different. Tree division.
  • the determining module 52 is further configured to: if the current node is vertically divided by the tree, the image distortion corresponding to the current image region and the current image region are used to determine that the current node is not divided before the current node is horizontally triblocked. Whether the image distortion corresponding to the current image area is the same when the straight triblock is divided.
  • the dividing module 53 is further configured to perform horizontal trifurcation on the current node when the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the vertical tri-tree is different. Tree division.
  • the dividing module 53 is specifically configured to:
  • the width of the current image area is smaller than the height of the current image area, first divide the current node into a horizontal binary tree, and then perform vertical binary tree division on the current node; if the width of the current image area is greater than or equal to the height of the current image area, first Perform vertical binary tree division on the current node, and then perform horizontal binary tree division on the current node.
  • the width of the current image area is less than or equal to the height of the current image area, first divide the current node into a horizontal binary tree, and then perform vertical binary tree division on the current node; if the width of the current image area is greater than the current image area, the first Perform vertical binary tree division on the current node, and then perform horizontal binary tree division on the current node.
  • the determining module 52 is further configured to: before performing horizontal binary tree partitioning on the current node, before performing vertical binary tree partitioning on the current node, determining image distortion and current image region corresponding to the current image region when the current node is not divided. Whether the image distortion corresponding to the current image area is the same when divided by the horizontal binary tree.
  • the dividing module 53 is further configured to perform vertical binary tree division on the current node when the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the horizontal binary tree is different. ;
  • the determining module 52 is further configured to: before performing vertical binary tree partitioning on the current node, before performing horizontal binary tree partitioning on the current node, determining that the current image region is not distorted when the current node is not divided, and the current image region is adopted vertically Whether the image distortion corresponding to the current image area is the same when the binary tree is divided.
  • the dividing module 53 is further configured to perform horizontal binary tree division on the current node when the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the vertical binary tree is different. .
  • the determining apparatus for the coding tree node division manner can perform the method for determining the coding tree node division manner corresponding to FIG. 3 and the optional manner of the method, and the implementation principle and technical effects are similar, and details are not described herein again.
  • FIG. 6 is a schematic structural diagram of an apparatus for determining a coding tree node division manner according to another embodiment of the present disclosure. As shown in FIG. 6, the apparatus includes: a determination module 61, a determination module 62, and a division module 63.
  • the determining module 61 is configured to determine a horizontal binary tree partition coding cost for encoding the current image region corresponding to the current node when the current node is divided by the horizontal binary tree.
  • the determining module 61 is further configured to determine a vertical binary tree partition coding cost of encoding the current image region when the current node is divided by the vertical binary tree.
  • the determining module 62 is configured to divide the coding cost and the vertical binary tree coding cost according to the horizontal binary tree, and determine whether it is necessary to obtain a tri-tree coding cost for encoding the current image region when performing tri-tree partitioning on the current node; the tri-tree partition includes horizontal At least one of a trigeminal division and a vertical trinomial division.
  • the dividing module 63 is configured to perform a tri-tree partitioning on the current node if the determining module 62 determines that the tri-tree partitioning coding cost of encoding the current image region is required to obtain the tri-tree partitioning of the current node.
  • the determining module 61 is further configured to determine a triblock partitioning coding cost, and determine a division manner corresponding to a minimum coding cost of the determined coding cost of the current node as a division manner of the current node.
  • the determining module 62 is specifically configured to: if the horizontal binary-tree partitioning coding cost is greater than the product of the vertical binary-tree partitioning coding cost and the first preset threshold, Then, it is judged that the horizontal tri-tree partition coding cost is not required; if the vertical binary tree division coding cost is greater than the product of the horizontal binary tree division coding cost and the second preset threshold, it is judged that the vertical tri-tree coding coding cost is not required to be obtained.
  • the determining apparatus for the coding tree node division manner can perform the method for determining the coding tree node division manner corresponding to FIG. 4 and the optional manner of the method, and the implementation principle and the technical effect are similar, and details are not described herein again.
  • FIG. 7 is a schematic structural diagram of an encoding device according to an embodiment of the present disclosure. As shown in FIG. 7, the device includes: a processor 71 and a memory 72.
  • the memory 72 is used to store execution instructions of the processor 71.
  • the processor 71 is configured to: determine a non-partition coding cost for encoding a current image region corresponding to the current node when the current node is not divided. Binary tree partitioning of the current node. Determine the binary tree partition coding cost of encoding the current image region when the current node is divided by the binary tree. According to the undivided coding cost and the binary tree partitioning coding cost, it is judged whether it is necessary to obtain the tri-tree partition coding cost of encoding the current image region when performing tri-tree partitioning on the current node.
  • the current node is tri-tree partitioned.
  • the triangulation partition coding cost is determined, and the division manner corresponding to the minimum coding cost of the determined coding cost of the current node is determined as the division manner of the current node.
  • the processor 71 is specifically configured to:
  • the non-partition coding cost is less than the product of the horizontal binary tree partition coding cost and the first preset threshold, it is determined that the tri-tree partition coding cost is not required to be obtained; or if the non-partition coding cost is less than the horizontal binary tree division coding cost and the first preset threshold If the product tree level of the current node is less than or equal to the second preset threshold, it is determined that the tri-tree partition coding cost is not required to be obtained;
  • the processor 71 is specifically configured to: if the division coding cost is less than the vertical binary tree division coding cost and the first preset threshold If the product is used, it is judged that the triangulation coding cost is not required to be obtained; or if the non-partition coding cost is less than the product of the vertical binary division coding cost and the first preset threshold, and the coding tree level of the current node is less than or equal to the second preset The threshold determines that it is not necessary to obtain a triblock partition coding cost.
  • the processor 71 is specifically used to: if there is no partition coding cost If the product of the coding cost of the horizontal binary partition coding and the minimum of the vertical binary partition coding cost is compared with the first preset threshold, it is determined that the tri-tree partition coding cost is not required to be obtained; or if the division coding cost is less than the horizontal binary tree coding cost And the product of the minimum value of the vertical binary tree coding cost and the first preset threshold, and the coding tree level of the current node is less than or equal to the second preset threshold, determining that it is not necessary to acquire the triblock partition coding cost.
  • the processor 71 is specifically configured to:
  • the current node is first divided into horizontal tri-trees, and then the current node is vertically tri-tree-divided; if the width of the current image area is greater than or equal to the height of the current image area, Then, the current node is divided into vertical tri-trees, and then the current node is divided into horizontal tri-trees.
  • the width of the current image area is less than or equal to the height of the current image area, first divide the current node into a horizontal tri-tree, and then perform vertical tri-tree division on the current node; if the width of the current image area is greater than the current image area, Then, the current node is divided into vertical tri-trees, and then the current node is divided into horizontal tri-trees.
  • the processor 71 is further configured to: before performing horizontal tri-tree partitioning on the current node, determine image distortion and current image region corresponding to the current image region when the current node is not divided, before performing horizontal tri-tree partitioning on the current node. Whether the image distortion corresponding to the current image area is the same when divided by the horizontal tri-tree.
  • the processor 71 is further configured to perform vertical trisection on the current node when the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the horizontal tri-tree is different. Tree division.
  • the processor 71 is further configured to: before performing vertical tri-tree partitioning on the current node, determine that the current image region is corresponding to the image distortion and the current image region is adopted before the current node is not divided before performing horizontal tri-tree partitioning on the current node. Whether the image distortion corresponding to the current image area is the same when the straight triblock is divided.
  • the processor 71 is further configured to perform horizontal trifurcation on the current node when the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the vertical trinom tree is different. Tree division.
  • the processor 71 is specifically configured to:
  • the width of the current image area is smaller than the height of the current image area, first divide the current node into a horizontal binary tree, and then perform vertical binary tree division on the current node; if the width of the current image area is greater than or equal to the height of the current image area, first Perform vertical binary tree division on the current node, and then perform horizontal binary tree division on the current node.
  • the width of the current image area is less than or equal to the height of the current image area, first divide the current node into a horizontal binary tree, and then perform vertical binary tree division on the current node; if the width of the current image area is greater than the current image area, the first Perform vertical binary tree division on the current node, and then perform horizontal binary tree division on the current node.
  • the processor 71 is further configured to: before performing horizontal binary tree partitioning on the current node, before performing vertical binary tree partitioning on the current node, determining image distortion and current image region corresponding to the current image region when the current node is not divided. Whether the image distortion corresponding to the current image area is the same when divided by the horizontal binary tree.
  • the processor 71 is further configured to perform vertical binary tree division on the current node when the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the horizontal binary tree is different. ;
  • the processor 71 is further configured to: before performing vertical binary tree partitioning on the current node, before performing horizontal binary tree partitioning on the current node, determining that the current image region is not distracted, the image distortion corresponding to the current image region, and the current image region is adopted vertically Whether the image distortion corresponding to the current image area is the same when the binary tree is divided.
  • the processor 71 is further configured to perform horizontal binary tree division on the current node when the image distortion corresponding to the current image region when the current node is not divided and the image distortion corresponding to the current image region when the current node is divided by the vertical binary tree is different. .
  • the present application provides a method for determining the coding tree node division manner corresponding to the foregoing FIG. 3 and an optional manner of the method.
  • the implementation principle and technical effects are similar, and details are not described herein again.
  • FIG. 8 is a schematic structural diagram of an encoding device according to another embodiment of the present disclosure. As shown in FIG. 8, the device includes: a processor 81 and a memory 82.
  • the memory 82 is used to store execution instructions of the processor 81.
  • the processor 81 is configured to: determine a horizontal binary tree partition coding cost of encoding a current image region corresponding to the current node when the current node is divided by the horizontal binary tree. Determining the encoding cost of the vertical binary tree partitioning of the current image region when the current node is divided by the vertical binary tree. According to the horizontal binary tree coding cost and the vertical binary tree coding cost, it is determined whether it is necessary to obtain a tri-tree coding cost for encoding the current image region when performing tri-tree partitioning on the current node; the tri-tree partition includes horizontal tri-tree partitioning and vertical At least one of the trigeminal divisions.
  • the current node is tri-tree partitioned.
  • the triangulation partition coding cost is determined, and the division manner corresponding to the minimum coding cost of the determined coding cost of the current node is determined as the division manner of the current node.
  • the processor 81 is specifically configured to: if the horizontal binary-tree partitioning coding cost is greater than the product of the vertical binary-tree partitioning coding cost and the first preset threshold, Then, it is judged that the horizontal tri-tree partition coding cost is not required; if the vertical binary tree division coding cost is greater than the product of the horizontal binary tree division coding cost and the second preset threshold, it is judged that the vertical tri-tree coding coding cost is not required to be obtained.
  • the present application provides a method for determining the coding tree node division manner corresponding to the foregoing FIG. 4 and an optional manner of the method.
  • the implementation principle and technical effects are similar, and details are not described herein again.

Landscapes

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

Abstract

本申请提供一种编码树节点划分方式的确定方法、装置及编码设备,包括确定当前节点不被划分时对当前节点对应的当前图像区域进行编码的无划分编码代价;对当前节点进行二叉树划分,并确定当前节点被采用二叉树划分时对当前图像区域进行编码的二叉树划分编码代价;根据无划分编码代价和二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;若判断需要获取三叉树划分编码代价,则对当前节点进行三叉树划分,并确定三叉树划分编码代价;将最小编码代价对应的划分方式确定为当前节点的划分方式。从而使得在一些情况下编码端无需将所有的划分方式都尝试一遍,进而可以提高编码效率。

Description

编码树节点划分方式的确定方法、装置及编码设备
本申请要求于2017年9月15日提交中国专利局、申请号为201710834335.7、申请名称为“编码树节点划分方式的确定方法、装置及编码设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及图像处理技术,尤其涉及一种编码树节点划分方式的确定方法、装置及编码设备。
背景技术
H.265视频编码标准把一帧图像分割成互不重叠的编码树单元(Coding Tree Unit,CTU),还可以基于四叉树(Quad Tree,简称QT)对CTU进行划分。具体地,将CTU作为四叉树的根节点,按照四叉树的划分方式,将CTU递归划分成若干个叶节点。一个节点对应于一个图像区域,如果节点不被划分,则该节点称为叶节点,它对应的图像区域形成一个编码单元(Coding Unit,CU)。如果节点继续被划分,则节点对应的图像区域划分成四个相同大小的图像区域,每个图像区域对应一个节点。
进一步地,可以对四叉树的叶节点继续采用二叉树(Binary Tree,BT)划分或者三叉树(Triple Tree,TT)划分。其中,二叉树划分可以是水平方向上的二叉树划分或者竖直方向上的二叉树划分。同样,三叉树划分也可以是水平方向上的三叉树划分或者竖直方向上的三叉树划分。因此,对于四叉树的叶节点来讲,可能不被划分,也可能存在上述四种划分方式。通常通过率失真优化(Rate Distortion Optimization,RDO)方法为每个节点确定编码代价最小的划分方式。现有技术需要分别确定不被划分的编码代价以及上述四种划分方式对应的编码代价,从而造成编码效率低的问题。
发明内容
本申请提供一种编码树节点划分方式的确定方法、装置及编码设备,从而可以提高编码效率。
第一方面,本申请提供一种编码树节点划分方式的确定方法,包括:确定当前节点不被划分时对当前节点对应的当前图像区域进行编码的无划分编码代价;对当前节点进行二叉树划分,并确定当前节点被采用二叉树划分时对当前图像区域进行编码的二叉树划分编码代价;根据无划分编码代价和二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;若判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分,并确定三叉树划分编码代价;将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
本申请的有益效果是;由于该方法可以根据无划分编码代价和二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,从而使得在一些情况下编码端无需将所有的划分方式都尝试一遍,从而可以提高编码效率。
可选地,若二叉树编码代价仅包括对当前节点进行水平二叉树划分时的水平二叉树划分编码代价,则判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,包括:若无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价。
本申请的有益效果是;当无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积时,或者,当无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值时,表示当前节点被划分的次数越少则编码效果越好。这种情况下,判断不需要获取三叉树划分编码代价,即对当前节点没有必要采用三叉树划分。从而提高编码效率。
可选地,若二叉树编码代价仅包括对当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,包括:若无划分编码代价小于竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于竖直二叉树划分编码代价与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价。
本申请的有益效果是;当无划分编码代价小于竖直二叉树划分编码代价与第一预设阈值的乘积时,或者,当无划分编码代价小于竖直二叉树划分编码代价与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值时,表示当前节点被划分的次数越少则编码效果越好。这种情况下,判断不需要获取三叉树划分编码代价,即对当前节点没有必要采用三叉树划分。从而提高编码效率。
可选地,若二叉树编码代价包括对当前节点进行水平二叉树划分时的水平二叉树划分编码代价和对当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,包括:若无划分编码代价小于水平二叉树划分编码代价与竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于水平二叉树划分编码代价与竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价。
本申请的有益效果是;当无划分编码代价小于水平二叉树划分编码代价与竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积时,或者,当无划分编码代价小于水平二叉树划分编码代价与竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值时,表示当前节点被划分的次数越少则编码效果越好。这种情况下,判断不需要获取三叉树划分编码代价,即 对当前节点没有必要采用三叉树划分。从而提高编码效率。
可选地,若三叉树划分包括水平三叉树划分和竖直三叉树划分,则对当前节点进行三叉树划分,包括:若当前图像区域的宽小于当前图像区域的高,则先对当前节点进行水平三叉树划分,再对当前节点进行竖直三叉树划分;若当前图像区域的宽大于或者等于当前图像区域的高,则先对当前节点进行竖直三叉树划分,再对当前节点进行水平三叉树划分。
或者,
若当前图像区域的宽小于或者等于当前图像区域的高,则先对当前节点进行水平三叉树划分,再对当前节点进行竖直三叉树划分;若当前图像区域的宽大于当前图像区域的高,则先对当前节点进行竖直三叉树划分,再对当前节点进行水平三叉树划分。
本申请的有益效果是;先尝试能把图像切割成更合适大小的图像区域的划分方式,因为该划分方式的图像编码效果更好。如果该划分方式不如无划分方式,基于此,可以不必尝试另一种划分方式,从而提高编码效率。
可选地,若先对当前节点进行水平三叉树划分,则对当前节点进行竖直三叉树划分之前,方法还包括:判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用水平三叉树划分时当前图像区域对应的图像失真是否相同;在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平三叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行竖直三叉树划分。
或者,
若先对当前节点进行竖直三叉树划分,则对当前节点进行水平三叉树划分之前,方法还包括:判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用竖直三叉树划分时当前图像区域对应的图像失真是否相同;在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用竖直三叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行水平三叉树划分。
本申请的有益效果是;当根据无划分编码代价和二叉树划分编码代价,判断需要对当前节点进行水平三叉树划分和竖直三叉树划分时;进一步地,可以先进行竖直三叉树划分,其次在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用所述竖直三叉树划分时所述当前图像区域对应的图像失真相同时,则判断不需要对当前节点进行水平三叉树划分。或者可以先进行水平三叉树划分,其次在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用所述水平三叉树划分时所述当前图像区域对应的图像失真相同时,则判断不需要对当前节点进行竖直三叉树划分。从而提高编码效率。
可选地,若二叉树划分包括水平二叉树划分和竖直二叉树划分,则对当前节点进行二叉树划分包括:若当前图像区域的宽小于当前图像区域的高,则先对当前节点进行水平二叉树划分,再对当前节点进行竖直二叉树划分;若当前图像区域的宽大于或者等于当前图像区域的高,则先对当前节点进行竖直二叉树划分,再对当前节点进行水平二叉树划分。
或者,
若当前图像区域的宽小于或者等于当前图像区域的高,则先对当前节点进行水平 二叉树划分,再对当前节点进行竖直二叉树划分;若当前图像区域的宽大于当前图像区域的高,则先对当前节点进行竖直二叉树划分,再对当前节点进行水平二叉树划分。
本申请的有益效果是;先尝试能把图像切割成更合适大小的图像区域的划分方式,因为该划分方式的图像编码效果更好。如果该划分方式不如无划分方式,基于此,可以不必尝试另一种划分方式,从而提高编码效率。
可选地,若先对当前节点进行水平二叉树划分,则对当前节点进行竖直二叉树划分之前,方法还包括:判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用水平二叉树划分时当前图像区域对应的图像失真是否相同;在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平二叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行竖直二叉树划分。
或者,
若先对当前节点进行竖直二叉树划分,则对当前节点进行水平二叉树划分之前,方法还包括:判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用竖直二叉树划分时当前图像区域对应的图像失真是否相同;在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用竖直二叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行水平二叉树划分。
本申请的有益效果是;可以先进行竖直二叉树划分,其次在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用所述竖直二叉树划分时所述当前图像区域对应的图像失真相同时,则判断不需要对当前节点进行水平二叉树划分。或者可以先进行水平二叉树划分,其次在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用所述水平二叉树划分时所述当前图像区域对应的图像失真相同时,则判断不需要对当前节点进行竖直二叉树划分。从而提高编码效率。
第二方面,本申请提供一种编码树节点划分方式的确定方法,包括:确定当前节点被采用水平二叉树划分时对当前节点对应的当前图像区域进行编码的水平二叉树划分编码代价;确定当前节点被采用竖直二叉树划分时对当前图像区域进行编码的竖直二叉树划分编码代价;根据水平二叉树划分编码代价和竖直二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;三叉树划分包括水平三叉树划分和竖直三叉树划分中的至少一种;若判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分,并确定三叉树划分编码代价;将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
本申请的有益效果是;由于该方法可以根据水平二叉树划分编码代价和竖直二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,从而使得在一些情况下编码端无需将所有的划分方式都尝试一遍,进而可以提高编码效率。
可选地,若三叉树划分包括水平三叉树划分和竖直三叉树划分,则判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,包括:若水平二叉树划分编码代价大于竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取水平三叉树划分编码代价;若竖直二叉树划分编码代价大于水 平二叉树划分编码代价与第二预设阈值的乘积,则判断不需要获取竖直三叉树划分编码代价。
本申请的有益效果是;当水平二叉树划分编码代价大于竖直二叉树划分编码代价与第一预设阈值的乘积时,说明通过水平二叉树划分比通过竖直二叉树划分的编码效率要低,并且由于水平三叉树划分与水平二叉树划分的划分方向相同,竖直三叉树划分与竖直二叉树划分的划分方向相同,基于此,可推断基于水平三叉树划分比基于竖直三叉树划分的编码效率低。因此,可以判断不需要获取水平三叉树划分编码代价。同样的,当竖直二叉树划分编码代价大于水平二叉树划分编码代价与第二预设阈值的乘积时,说明通过水平二叉树划分比通过竖直二叉树划分的编码效率要高,并且由于水平三叉树划分与水平二叉树划分的划分方向相同,竖直三叉树划分与竖直二叉树划分的划分方向相同,基于此,可推断基于水平三叉树划分比基于竖直三叉树划分的编码效率高。因此,可以判断不需要获取竖直三叉树划分编码代价。从而提高编码效率。
下面对编码树节点划分方式的确定装置及编码设备进行介绍,其实现原理和技术效果与上述原理和技术效果类似,此处不再赘述。
第三方面,本申请提供一种编码树节点划分方式的确定装置,包括:确定模块、判断模块和划分模块。
确定模块用于确定当前节点不被划分时对当前节点对应的当前图像区域进行编码的无划分编码代价。划分模块用于对当前节点进行二叉树划分。确定模块还用于确定当前节点被采用二叉树划分时对当前图像区域进行编码的二叉树划分编码代价;判断模块用于根据无划分编码代价和二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;划分模块还用于若判断模块判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分;确定模块还用于确定三叉树划分编码代价,并将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
第四方面,本申请提供一种编码树节点划分方式的确定装置,其特征在于,包括:确定模块、判断模块和划分模块。
确定模块用于确定当前节点被采用水平二叉树划分时对当前节点对应的当前图像区域进行编码的水平二叉树划分编码代价;确定模块还用于确定当前节点被采用竖直二叉树划分时对当前图像区域进行编码的竖直二叉树划分编码代价;判断模块用于根据水平二叉树划分编码代价和竖直二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;三叉树划分包括水平三叉树划分和竖直三叉树划分中的至少一种;划分模块用于若判断模块判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分;确定模块还用于确定三叉树划分编码代价,并将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
第五方面,本申请提供一种编码设备,包括:处理器和存储器。存储器用于存储处理器的执行指令。处理器用于:确定当前节点不被划分时对当前节点对应的当前图像区域进行编码的无划分编码代价;对当前节点进行二叉树划分,并确定当前节点被 采用二叉树划分时对当前图像区域进行编码的二叉树划分编码代价;根据无划分编码代价和二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;若判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分,并确定三叉树划分编码代价;将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
第六方面,本申请提供一种编码设备,包括:处理器和存储器;存储器用于存储处理器的执行指令;处理器用于:确定当前节点被采用水平二叉树划分时对当前节点对应的当前图像区域进行编码的水平二叉树划分编码代价;确定当前节点被采用竖直二叉树划分时对当前图像区域进行编码的竖直二叉树划分编码代价;根据水平二叉树划分编码代价和竖直二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;三叉树划分包括水平三叉树划分和竖直三叉树划分中的至少一种;若判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分,并确定三叉树划分编码代价;将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
第七方面,本申请提供一种编码设备,该设备包括经配置以进行以下操作的编码器:
确定当前节点不被划分时对当前节点对应的当前图像区域进行编码的无划分编码代价;对当前节点进行二叉树划分,并确定当前节点被采用二叉树划分时对当前图像区域进行编码的二叉树划分编码代价;根据无划分编码代价和二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;若判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分,并确定三叉树划分编码代价;将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
第八方面,本申请提供一种编码设备,该设备包括经配置以进行以下操作的编码器:
确定当前节点被采用水平二叉树划分时对当前节点对应的当前图像区域进行编码的水平二叉树划分编码代价;确定当前节点被采用竖直二叉树划分时对当前图像区域进行编码的竖直二叉树划分编码代价;根据水平二叉树划分编码代价和竖直二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;三叉树划分包括水平三叉树划分和竖直三叉树划分中的至少一种;若判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分,并确定三叉树划分编码代价;将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
第九方面,本申请提供一种计算机存储介质,用于储存为上述第五方面或第七方面涉及的编码设备所用的计算机软件指令,其包含用于执行上述第五方面或者第七方 面所设计的程序。
第十方面,本申请提供一种计算机程序产品,其包含指令,当所述计算机程序被计算机所执行时,该指令使得计算机执行第五方面或者第七方面中编码设备所执行的功能。
第十一方面,本申请提供一种计算机存储介质,用于储存为上述第六方面或者第八方面涉及的编码设备所用的计算机软件指令,其包含用于执行上述第六方面或者第八方面所设计的程序。
第十二方面,本申请提供一种计算机程序产品,其包含指令,当所述计算机程序被计算机所执行时,该指令使得计算机执行第六方面或者第八方面中编码设备所执行的功能。
本申请提供一种编码树节点划分方式的确定方法、装置及编码设备,由于该方法可以根据无划分编码代价和二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,从而使得在一些情况下编码端无需将所有的划分方式都尝试一遍,从而可以提高编码效率。进一步地,若当前节点不被划分时当前节点对应的图像失真和当前图像区域被采用水平二叉树划分时当前节点对应的图像失真相同,则不需要对当前节点进行竖直二叉树划分。或者,若当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用第二二叉树划分时当前图像区域对应的图像失真相同,则不需要对当前节点进行水平二叉树划分。更进一步地,若当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平三叉树划分时当前图像区域对应的图像失真相同,则不需要对当前节点进行竖直三叉树划分。或者,若当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用所述竖直三叉树划分时当前图像区域对应的图像失真相同,则跳过对当前节点进行水平三叉树划分。进一步地可以提高编码效率。
附图说明
图1A是基于四叉树划分方式对图像区域进行划分的示意图;
图1B是基于水平二叉树划分方式对图像区域进行划分的示意图;
图1C是基于竖直二叉树划分方式对图像区域进行划分的示意图;
图1D是基于水平三叉树划分方式对图像区域进行划分的示意图;
图1E是基于竖直三叉树划分方式对图像区域进行划分的示意图;
图2A是基于QT-BT划分方式对图像区域进行划分的示意图;
图2B是QT-BT划分方式对应的编码树的示意图;
图3为本申请一实施例提供的一种编码树节点划分方式的确定方法的流程图;
图4为本申请另一实施例提供的一种编码树节点划分方式的确定方法的流程图;
图5为本申请一实施例提供的一种编码树节点划分方式的确定装置的结构示意图;
图6为本申请另一实施例提供的一种编码树节点划分方式的确定装置的结构示意图;
图7为本申请一实施例提供的一种编码设备的结构示意图;
图8为本申请另一实施例提供的一种编码设备的结构示意图。
具体实施方式
以下,对本申请中的部分专业用语进行解释说明,以便于本领域技术人员理解。
CTU:一幅图像由多个CTU构成,一个CTU通常对应于一个方形图像区域,包括这个图像区域中的亮度像素和/或色度像素;CTU中还包含语法元素,这些语法元素指示如何将CTU划分成至少一个CU,以及解码每个编码单元得到重建图像的方法。
CU:它是编码树的叶节点,通常对应于一个A×B的矩形区域,包含该矩形区域的亮度像素/或色度像素,A为矩形的宽,B为矩形的高,A和B可以相同也可以不同,A和B的取值通常为2的整数次幂,例如256、128、64、32、16、8、4。一个CU可通过解码处理解码得到一个A×B的矩形区域的重建图像。
四叉树:一种树状结构,四叉树中的每个节点可以被划分为四个子节点。按照四叉树的划分方式,可以将CTU递归划分成若干个叶节点(CU)。一个节点对应于一个图像区域,如果节点不被划分,则该节点称为叶节点,它对应的图像区域形成一个CU。如果节点继续被划分,则节点对应的图像区域划分成四个相同大小的图像区域,每个图像区域对应一个节点。图1A是基于四叉树划分方式对图像区域进行划分的示意图,如图1A所示,将节点对应的图像区域划分成四个相同大小的图像区域,划分后的每个图像区域对应于一个节点。
二叉树:一种树状结构,二叉树中的每个节点可以被划分成两个子节点。其中,二叉树划分方式的划分方向可以是水平方向或者是竖直方向。例如:图1B是基于水平二叉树划分方式对图像区域进行划分的示意图,图1C是基于竖直二叉树划分方式对图像区域进行划分的示意图。如图1B所示,将节点对应的图像区域划分成上、下两个相同大小的图像区域,划分后的每个图像区域对应于一个节点。如图1C所示,将节点对应的图像区域划分成左、右两个相同大小的图像区域,划分后的每个图像区域对应于一个节点。
三叉树:一种树状结构,三叉树中的每个节点可以被划分成三个子节点。其中,三叉树划分方式的划分方向可以是水平方向或者是竖直方向。例如:图1D是基于水平三叉树划分方式对图像区域进行划分的示意图,图1E是基于竖直三叉树划分方式对图像区域进行划分的示意图。如图1D所示,将节点对应的图像区域划分成上、中、下三个的图像区域,划分后的每个图像区域对应于一个节点。这三个图像区域的高分别为整个图像区域高的1/4,1/2,1/4。如图1C所示,将节点对应的图像区域划分成左、中、右三个的图像区域,划分后的每个图像区域对应于一个节点。这三个图像区域的宽分别为整个图像区域宽的1/4,1/2,1/4。
QT-BT划分方式:CTU先按照QT划分,QT的叶节点允许继续使用BT划分。即编码树被分为两级,第一级编码树为QT,第二级编码树为BT。
QT-TT划分方式:CTU先按照QT划分,QT的叶节点允许继续使用TT划分。即编码树被分为两级,第一级编码树为QT,第二级编码树为TT。
QT-(BT和/或TT)划分方式:CTU先按照QT划分,QT的叶节点允许继续使用BT或者TT划分,其中BT的节点允许使用BT或TT划分,TT的节点允许使用BT或TT划分。即编码树被分为两级,第一级编码树为QT,第二级编码树为BT和/或 TT。
级联编码树:该编码树包括多级编码树。例如:基于QT-BT、QT-TT、QT-(BT和/或TT)划分方式的级联编码树均包括两级编码树。本申请对如何划分编码树的级别不做限制。
非级联编码树:该编码树只包括一级编码树。例如:QT编码树、BT编码树和TT编码树为非级联编码树。
编码树层级:若编码树为级联编码树(包括N级),则编码树层级分为:第一级编码树的层级、第二级编码树的层级……第N级编码树的层级。以基于QT-BT划分方式的编码树为例:图2A是基于QT-BT划分方式对图像区域进行划分的示意图,图2B是QT-BT划分方式对应的编码树的示意图。结合图2A和图2B进行说明:第一级编码树为QT,第二级编码树为BT。a到m为13个叶节点,每个叶节点对应1个CU;二叉树节点上的1表示竖直划分,0表示水平划分;其中每个节点都具有QT层级和BT层级。比如:a和b的QT层级为1,BT层级为2;c、d、e的QT层级为1,BT层级为1;f、k、l的QT层级为2,BT层级为1;i、j的QT层级为2,BT层级为0;g、h的QT层级为2,BT层级为2;m的QT层级为1,BT层级为0。若编码树为非级联编码树,则编码树层级即为该编码树的层级。例如:QT编码树中的各个节点均只有一个QT层级。
视频编码:编码端接收到视频之后,对于构成视频的每帧图像,将该图像划分成待编码图像块,按照待编码图像块的顺序进行编码。对于当前待编码图像块,首先通过参考重建图像块对当前待编码图像块进行预测,得到当前待编码图像块的预测信号;用当前待编码图像块的原始信号减去预测信号,得到残差信号。经过预测后,残差信号的幅值远小于原始信号。将残差信号进行变换(可选操作)和量化操作。经过变换量化后,得到量化系数,再通过变长编码、二进制编码等熵编码技术对量化系数做熵编码操作,得到码流。该码流通常包括:当前待编码图像块的划分信息以及编码模式信息等。进一步地,编码端还需要重建当前待编码图像块,以实现对后续待编码图像块的编码提供参考像素。具体地,在得到当前待编码图像块的量化系数之后,编码端需要对当前待编码图像块的量化系数进行反量化和反变换,得到重建的残差信号,将重建的残差信号与当前待编码图像块对应的预测信号相加,得到当前待编码图像块的重建信号,根据该重建信号得到重建图像块。
RDO:它是一种提升视频压缩性能的最优化方法。其原理是对视频的有损(画面质量)与比特率(编码所需的数据量)同时进行最优化,以求达到一个最佳的平衡点。虽然此算法一开始是在视频压缩的编码器中被使用,但也可以用于各种多媒体编码包含视频、视频、音频等等,只要编码时会同时考虑到质量及文件大小皆可使用。
基于上述专业用语的介绍,下面提供一种编码树节点划分方式的确定方法及设备。
具体地,对于QT-(BT和/或TT)划分方式,QT的叶节点来讲,可能不被划分,也可能存在上述四种划分方式。同样,对于BT中的各个节点、TT中的各个节点来讲,可能不被划分,也可能存在上述四种划分方式。针对这些节点中的每个节点,现有技术需要分别确定不被划分的编码代价以及上述四种划分方式对应的编码代价,从而造成编码效率低的问题。
需要说明的是,本申请不限定于QT-(BT和/或TT)划分方式,只要一个节点存在不被划分、以及上述四种划分方式的可能,均可以采用本申请提供的方案。例如:编码树是一个BT和/或TT,即该编码树为非级联编码树,该编码树中的节点存在不被划分、以及上述四种划分方式的可能。
为了解决上述技术问题,本申请提供一种编码树节点划分方式的确定方法及设备。具体地,图3为本申请一实施例提供的一种编码树节点划分方式的确定方法的流程图,如图3所示,该方法包括:
步骤S301:确定当前节点不被划分时对当前节点对应的当前图像区域进行编码的无划分编码代价;
步骤S302:对当前节点进行二叉树划分,并确定当前节点被采用二叉树划分时对所述当前图像区域进行编码的二叉树划分编码代价;
步骤S303:根据无划分编码代价和二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;
步骤S304:若判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分,并确定三叉树划分编码代价;
步骤S305:将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
针对上述步骤S301进行详细说明:其中,当前节点对应至少一种编码模式,每种编码模式包括:编码方式、预测模式和变换模式等。
编码方式可以是原分辨率编码方式或者下采样编码方式等。原分辨率编码方式是指对当前节点对应的当前图像区域直接进行编码操作。下采样编码方式是指对当前图像区域先进行下采样处理,然后对下采样后的该当前图像区域进行编码操作。
该预测模式为帧内预测模式或者帧间预测模式,帧内预测模式可以是Planar模式、DC模式以及33种角度预测模式中的任一项。
一种变换模式是先对当前图像区域的残差信号进行变换操作,再进行量化操作。另一种变换模式是对残差信号直接进行量化操作。
其中,编码方式、预测模式以及变换模式不局限于上述内容,本申请对此不做限制。
编码端可以采用RDO方法计算当前节点的编码代价,即当前图像区域的编码代价。可选地,编码端可以针对当前图像区域的每种编码模式确定当前图像区域对应的重建图像。根据重建图像的像素和当前图像区域的像素确定编码失真,根据重建图像对应的编码模式和变换系数等信息确定当前图像区域的编码比特数,由编码失真和编码比特数的加权值得到编码代价;所述编码代价越小,则认为编码性能越佳。例如:当当前图像区域的编码模式包括的编码方式为原分辨率编码方式、预测模式为帧内预测模式、变换模式为上述第一种变换模式时,则计算当前图像区域的编码代价的过程为:采用当前图像区域的编码模式得到当前图像区域的量化系数,在得到当前图像区域的量化系数之后,编码端需要根据量化参数对该量化系数进行反量化,得到变换系数,再对变换系数进行反变换,得到重建的残差信号,将重建的残差信号与当前图像区域 的预测信号相加,得到当前图像区域的重建信号,根据该重建信号得到当前图像区域对应的重建图像块。计算该重建图像块与当前图像区域的误差,误差越小,则表示编码失真越小。其中计算重建图像块与当前图像区域的误差,包括:对重建图像块的每个像素与当前图像区域中对应的像素求差,得到对应差值,对重建图像块的所有差值求加权平均值,最终得到重建图像块与当前图像区域的误差。将重建图像块对应的编码模式和变换系数等语法元素进行熵编码,得到当前图像区域的编码比特数。将编码失真与编码比特数进行加权求和,得到编码代价。最后,将当前节点对应的最小编码代价作为无划分编码代价。
需要说明的是,可以采用现有技术确定当前图像区域对应的重建图像块、计算重建图像块与当前图像区域的误差,本申请对此不做限制。
可选地,步骤S302之前还包括:判断是否需要获取二叉树划分编码代价和三叉树划分编码代价。如果需要获取二叉树划分编码代价和三叉树划分编码代价,则执行步骤S302至步骤S305,否则,则跳过步骤S302至步骤S304,直接执行步骤S305。
具体地,判断是否需要获取二叉树划分编码代价和三叉树划分编码代价可以采用如下两种可选方式:
第一种可选方式:确定当前节点在不被划分时对应的最优编码模式的预测模式是否为跳过(Skip)模式。若当前节点在不被划分时对应的最优编码模式的预测模式为跳过(Skip)模式,则表示不需要获取二叉树划分编码代价和三叉树划分编码代价,
否则,则表示需要获取二叉树划分编码代价和三叉树划分编码代价。其中,该最优编码模式是无划分编码代价对应的编码模式。
第二种可选方式:可以根据当前图像区域的宽、当前图像区域高和当前节点的编码树层级判断是否需要获取二叉树划分编码代价和三叉树划分编码代价。
需要说明的是,在本申请中,当前节点的编码树层级指当前节点在其所属的使用BT和/或TT划分的一级编码树上的层级。例如,如果使用BT和/或TT编码树将CTU划分为CU,则当前节点的编码树层级为当前节点相对于CTU的层级;如果使用QT-(BT和/或TT)级联编码树将CTU划分为CU,则当前节点的编码树层级为当前节点相对于QT叶节点的第二级编码树上的层级。
其中,根据当前图像区域的宽、高和当前节点的编码树层级判断是否需要获取二叉树划分编码代价和三叉树划分编码代价,包括如下几种可选方式:
可选方式一:若当前节点的第二级编码树层级大于或者等于预设阈值maxSTDepth,则判断不需要获取二叉树划分编码代价和三叉树划分编码代价。其中,maxSTDepth是被允许的第二级编码树层级的最大值。
可选方式二:若当前图像区域的宽或者高等于预设阈值minCUSize,或者,若当前图像区域的宽或者高小于等于预设阈值minCUSize×2,则判断不需要获取二叉树划分编码代价和三叉树划分编码代价。
可选方式三:若当前图像区域的宽或者高大于预设阈值maxSTSize,则判断不需要获取二叉树划分编码代价和三叉树划分编码代价。
可选方式四:若当前图像区域的宽和高中的最小值小于或者等于预设阈值minCUSize,则判断不需要获取二叉树划分编码代价和三叉树划分编码代价。
可选方式五:若当前图像区域的长边和短边的比例大于或者等于预设阈值,则判断不需要获取二叉树划分编码代价和三叉树划分编码代价。
针对上述步骤S302进行详细说明:二叉树划分包括:水平二叉树划分和/或竖直二叉树划分。
可选地,若二叉树划分包括水平二叉树划分和竖直二叉树划分,则对当前节点进行二叉树划分包括:若当前图像区域的宽小于当前图像区域的高,则先对当前节点进行水平二叉树划分,再对当前节点进行竖直二叉树划分;若当前图像区域的宽大于或者等于当前图像区域的高,则先对当前节点进行竖直二叉树划分,再对当前节点进行水平二叉树划分。即先尝试能把图像切割成更合适大小的图像区域的划分方式,因为该划分方式的图像编码效果更好。如果该划分方式不如无划分方式,基于此,可以不必尝试另一种划分方式,从而提高编码效率。
或者,若当前图像区域的宽小于或者等于当前图像区域的高,则先对当前节点进行水平二叉树划分,再对当前节点进行竖直二叉树划分;若当前图像区域的宽大于当前图像区域的高,则先对当前节点进行竖直二叉树划分,再对当前节点进行水平二叉树划分。即先尝试能把图像切割成更合适大小的图像区域的划分方式,因为该划分方式的图像编码效果更好。如果该划分方式不如无划分方式,基于此,可以不必尝试另一种划分方式,从而提高编码效率。
可选地,若先对当前节点进行水平二叉树划分,则对当前节点进行竖直二叉树划分之前,方法还包括:判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用水平二叉树划分时当前图像区域对应的图像失真是否相同;在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平二叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行竖直二叉树划分。
或者,
若先对当前节点进行竖直二叉树划分,则对当前节点进行水平二叉树划分之前,方法还包括:判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用竖直二叉树划分时当前图像区域对应的图像失真是否相同;在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用竖直二叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行水平二叉树划分。
其中,假设当前节点不被划分时对应的重建图像为第一重建图像,当前节点被采用水平二叉树划分时对应的重建图像为第二重建图像。则判断当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平二叉树划分时当前图像区域对应的图像失真是否相同,包括:第一重建图像的各像素的失真总和与第二重建图像的各像素的失真总和相同,或者第一重建图像的各像素的失真与对应的第二重建图像的各像素的失真相同。其中,第一重建图像和第二重建图像的失真均是针对当前图像区域来讲的。例如:第一重建图像上的像素A的失真可以是:像素A与像素A在当前图像区域对应的像素B的像素差。而重建图像的各像素的失真总和可以通过平方误差和(Sum of Squared Difference,SSD)或者绝对误差和(Sum of Absolute Difference,SAD)来衡量。
假设当前节点不被划分时对应的重建图像为第一重建图像,当前节点被采用竖直 二叉树划分时对应的重建图像为第三重建图像。则判断当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用竖直二叉树划分时当前图像区域对应的图像失真是否相同,包括:第一重建图像的各像素的失真总和与第三重建图像的各像素的失真总和相同,或者第一重建图像的各像素的失真与对应的第三重建图像的各像素的失真相同。其中,第一重建图像和第三重建图像的失真均是针对当前图像区域来讲的。例如:第一重建图像上的像素A的失真可以是:像素A与像素A在当前图像区域对应的像素B的像素差。而重建图像的各像素的失真总和可以通过SSD或者SAD来衡量。
通过该可选方式可知,当当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平二叉树划分时当前图像区域对应的图像失真相同时,表示当前节点可以不必进行二叉树划分,因此不必采用竖直二叉树划分,从而提高编码效率。当当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用竖直二叉树划分时当前图像区域对应的图像失真相同时,表示当前节点可以不必采用二叉树划分,基于此,可以跳过不必要的水平二叉树划分,从而提高编码效率。
进一步地,由于二叉树划分包括:水平二叉树划分和/或竖直二叉树划分。因此二叉树划分编码代价包括:水平二叉树划分编码代价和/或竖直二叉树划分编码代价。即当对所述当前节点仅采用水平二叉树划分时,二叉树划分编码代价为水平二叉树划分编码代价。当对所述当前节点仅采用竖直二叉树划分时,二叉树划分编码代价为竖直二叉树划分编码代价。当对所述当前节点采用水平二叉树划分和竖直二叉树时,二叉树划分编码代价包括:水平二叉树划分编码代价和竖直二叉树划分编码代价。需要说明的是,对所述当前节点采用水平二叉树划分和竖直二叉树划分是指分别对所述当前节点采用水平二叉树划分和竖直二叉树,即水平二叉树划分和竖直二叉树划分是两个独立划分。
当当前节点被采用水平二叉树划分方式时,确定划分后得到的两个节点分别对应的最小编码代价,然后对两个节点分别对应的最小编码代价求和得到当前节点的水平二叉树划分编码代价。同样的,当当前节点被采用竖直二叉树划分方式时,确定划分后得到的两个节点分别对应的最小编码代价,然后对两个节点分别对应的最小编码代价求和得到当前节点的竖直二叉树划分编码代价,其中,计算节点对应的最小编码代价可以采用类似步骤S301的方法,本申请对此不再赘述。
针对上述步骤S303进行详细说明:三叉树划分包括:水平三叉树划分和/或竖直三叉树划分。相应的,三叉树划分编码代价包括:水平三叉树划分编码代价和/或竖直三叉树划分编码代价。
步骤S303包括如下三种可选方式,但不限于这三种可选方式:
第一种可选方式:若二叉树编码代价仅包括对当前节点进行水平二叉树划分时的水平二叉树划分编码代价,则判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,包括:若无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价;
上述的第一预设阈值和第二预设阈值可以根据实际情况设定,可选地,第一预设阈值可以是小于1.5的正数,例如是0.92或0.95或0.99或1或1.02等;第二预设阈值为正整数,例如是1或2。对于当前节点不同的编码树层级,第一预设阈值可以不同。例如:当当前节点的编码树层级小于或者等于1时,第一预设阈值可以设置为0.95,当当前节点的编码树层级大于1时,第一预设阈值可以设置为0.92。当无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积时,表示当前节点被划分的次数越少则编码效果越好。这种情况下,对当前节点没有必要获取三叉树划分编码代价,即不必执行三叉树划分。
第二种可选方式:若二叉树编码代价仅包括对当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价包括:若无划分编码代价小于竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于竖直二叉树划分编码代价与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价。
这里的第一预设阈值和第二预设阈值可以根据实际情况设定,可选地,第一预设阈值可以是小于1.5的正数,例如是0.92或0.95或0.99或1或1.02等;第二预设阈值为正整数,例如是1或2。对于当前节点不同的编码树层级,第一预设阈值可以不同。例如:当当前节点的编码树层级小于或者等于1时,第一预设阈值可以设置为0.95,当当前节点的编码树层级大于1时,第一预设阈值可以设置为0.92。其中,这里的第一预设阈值和上述可选方式中的第一预设阈值可以相同,也可以不同,同样地,这里的第二预设阈值和上述可选方式中的第二预设阈值可以相同,也可以不同。当无划分编码代价小于竖直二叉树划分编码代价与第一预设阈值的乘积时,表示当前节点被划分的次数越少则编码效果越好。这种情况下,对当前节点没有必要获取三叉树划分编码代价,即不必执行三叉树划分。
第三种可选方式:若二叉树编码代价包括对当前节点进行水平二叉树划分时的水平二叉树划分编码代价和对当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价包括:若无划分编码代价小于水平二叉树划分编码代价与竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于水平二叉树划分编码代价与竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价。
这里的第一预设阈值和第二预设阈值可以根据实际情况设定,其中,这里的第一预设阈值和上述可选方式中的第一预设阈值可以相同,也可以不同,同样地,这里的第二预设阈值和上述可选方式中的第二预设阈值可以相同,也可以不同。可选地,第一预设阈值可以是小于1.5的正数,例如是0.92或0.95或0.99或1或1.02等;第二预设阈值为正整数,例如是1或2。对于当前节点不同的编码树层级,第一预设阈值可以不同。例如:当当前节点的编码树层级小于或者等于1时,第一预设阈值可以设置为0.95,当当前节点的编码树层级大于1时,第一预设阈值可以设置为0.92。当无 划分编码代价小于水平二叉树划分编码代价与竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积时,表示当前节点被划分的次数越少则编码效果越好。这种情况下,没有必要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,即对该当前节点不必进行三叉树划分。
除了上述三种可选方式外,还可以通过如下第四种可选方式判断是否需要获取三叉树划分编码代价:
具体地,确定当前节点被采用水平二叉树划分或者竖直二叉树划分时对应的最优编码模式的预测模式是否为跳过(Skip)模式。若当前节点被采用水平二叉树划分或者竖直二叉树划分时对应的最优编码模式的预测模式为跳过(Skip)模式,则表示不需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,否则,则表示需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价。其中,当前节点被采用水平二叉树划分时的最优编码模式为水平二叉树划分编码代价对应的最优编码模式,当前节点被采用竖直二叉树划分时的最优编码模式为竖直二叉树划分编码代价对应的最优编码模式。
需要说明的是,本申请还可以采用步骤S303的四种可选方式的结合方式来判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价。例如:结合第一种可选方式和第二种可选方式,若无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积,则不需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的水平三叉树划分编码代价。进一步地,若无划分编码代价大于竖直二叉树划分编码代价与第一预设阈值的乘积,则需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的竖直三叉树划分编码代价。或者,该第四种可选方式还可以和步骤S303的第一种可选方式、第二种可选方式以及第三种可选方式任一项结合,例如:可以先通过第四种可选方式判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的水平三叉树划分编码代价和竖直三叉树划分编码代价,如果需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的水平三叉树划分编码代价和竖直三叉树划分编码代价,再采用上述第一种可选方式进一步判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的水平三叉树划分编码代价和竖直三叉树划分编码代价。
针对步骤S304进行详细说明:可选地,若三叉树划分包括水平三叉树划分和竖直三叉树划分,则对当前节点进行三叉树划分包括:若当前图像区域的宽小于当前图像区域的高,则先对当前节点进行水平三叉树划分,再对当前节点进行竖直三叉树划分;若当前图像区域的宽大于或者等于当前图像区域的高,则先对当前节点进行竖直三叉树划分,再对当前节点进行水平三叉树划分。即先尝试能把图像切割成更合适大小的图像区域的划分方式,因为该划分方式的图像编码效果更好。如果该划分方式不如无划分方式,基于此,可以不必尝试另一种划分方式,从而提高编码效率。
或者,
若当前图像区域的宽小于或者等于当前图像区域的高,则先对当前节点进行水平三叉树划分,再对当前节点进行竖直三叉树划分;若当前图像区域的宽大于当前图像区域的高,则先对当前节点进行竖直三叉树划分,再对当前节点进行水平三叉树划分。 即先尝试能把图像切割成更合适大小的图像区域的划分方式,因为该划分方式的图像编码效果更好。如果该划分方式不如无划分方式,基于此,可以不必尝试另一种划分方式,从而提高编码效率。
可选地,若先对当前节点进行水平三叉树划分,则对当前节点进行竖直三叉树划分之前,方法还包括:判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用水平三叉树划分时当前图像区域对应的图像失真是否相同;在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平三叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行竖直三叉树划分;
或者,
若先对当前节点进行竖直三叉树划分,则对当前节点进行水平三叉树划分之前,方法还包括:判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用竖直三叉树划分时当前图像区域对应的图像失真是否相同;在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用竖直三叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行水平三叉树划分。
其中,假设当前节点不被划分时对应的重建图像为第一重建图像,当前节点被采用水平三叉树划分时对应的重建图像为第二重建图像。判断当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平三叉树划分时当前图像区域对应的图像失真是否相同,包括:第一重建图像的各像素的失真与对应的第二重建图像的各像素的失真相同。或者,第一重建图像的各像素的失真总和与第二重建图像的各像素的失真总和相同。其中,第一重建图像和第二重建图像的失真均是针对当前图像区域来讲的。例如:第一重建图像上的像素A的失真可以是:像素A与像素A在当前图像区域对应的像素B的像素差。而重建图像的各像素的失真总和可以通过SSD或者SAD来衡量。
假设当前节点不被划分时对应的重建图像为第一重建图像,当前节点被采用竖直三叉树划分时对应的重建图像为第三重建图像。则判断当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用竖直三叉树划分时当前图像区域对应的图像失真是否相同,包括:第一重建图像的各像素的失真总和与第三重建图像的各像素的失真总和相同,或者第一重建图像的各像素的失真与对应的第三重建图像的各像素的失真相同。其中,第一重建图像和第三重建图像的失真均是针对当前图像区域来讲的。例如:第一重建图像上的像素A的失真可以是:像素A与像素A在当前图像区域对应的像素B的像素差。而重建图像的各像素的失真总和可以通过SSD或者SAD来衡量。
通过这两种可选方式,可以进一步判断是否跳过水平三叉树划分或者竖直三叉树划分,从而提高编码效率。
其中,当当前节点被采用水平三叉树划分方式时,确定划分后得到的三个节点分别对应的最小编码代价,然后对三个节点分别对应的最小编码代价求和得到当前节点的水平三叉树划分编码代价,当前节点被采用竖直三叉树划分方式时,确定划分后得到的三个节点分别对应的最小编码代价,然后对三个节点分别对应的最小编码代价求和得到当前节点的竖直三叉树划分编码代价,其中,计算节点对应的最小编码代价可 以采用类似步骤S301的方法,本申请对此不再赘述。
可选地,在计算当前节点的水平二叉树划分编码代价、竖直二叉树划分编码代价、水平三叉树划分编码代价或者竖直三叉树划分编码代价时,若当前节点还存在子节点时,可以根据该子节点的编码代价调整当前节点的各编码代价,同样地,若该子节点还存在子节点时,可以根据子节点调整其父节点的各编码代价。即上述确定当前节点的编码代价可以采用递归方式进行。
可选地,在步骤S304之后,步骤S305之前还可以包括:判断是否对当前节点的其他划分方式,例如:该划分方式可以是四叉树划分以及其他可能的划分方式。若确定不跳过某划分方式,则需要确定当前节点在该划分方式下的编码代价。
针对步骤S305进行说明:上述的各种划分方式均是对当前节点所尝试的划分方式,若当前节点未跳过水平二叉树划分、竖直二叉树划分、水平三叉树划分以及竖直三叉树划分,则在上述无划分编码代价、水平二叉树划分编码代价、竖直二叉树划分编码代价以及水平三叉树划分编码代价、竖直三叉树划分编码代价中选择最小编码代价。若当前节点跳过至少一种划分方式,则在剩下的划分方式对应的编码代价中选择最小编码代价
综上,本申请提供一种编码树节点划分方式的确定方法,由于该方法可以根据无划分编码代价和二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,从而使得在一些情况下编码端无需将所有的划分方式都尝试一遍,从而可以提高编码效率。进一步地,若当前节点不被划分时当前节点对应的图像失真和当前图像区域被采用水平二叉树划分时当前节点对应的图像失真相同,则不需要对当前节点进行竖直二叉树划分。或者,若当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用第二二叉树划分时当前图像区域对应的图像失真相同,则不需要对当前节点进行水平二叉树划分。更进一步地,若当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平三叉树划分时当前图像区域对应的图像失真相同,则不需要对当前节点进行竖直三叉树划分。或者,若当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用所述竖直三叉树划分时当前图像区域对应的图像失真相同,则跳过对当前节点进行水平三叉树划分。进一步地可以提高编码效率。
图4为本申请另一实施例提供的一种编码树节点划分方式的确定方法的流程图,如图4所示,该方法包括:
步骤S401:确定当前节点被采用水平二叉树划分时对当前节点对应的当前图像区域进行编码的水平二叉树划分编码代价;
步骤S402:确定当前节点被采用竖直二叉树划分时对当前图像区域进行编码的竖直二叉树划分编码代价;
步骤S403:根据水平二叉树划分编码代价和竖直二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;三叉树划分包括水平三叉树划分和竖直三叉树划分中的至少一种;
步骤S404:若判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分,并确定三叉树划分编码代 价;
步骤S405:将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
其中,步骤S401中确定当前节点被采用水平二叉树划分时对当前节点对应的当前图像区域进行编码的水平二叉树划分编码代价,和,步骤S402中确定当前节点被采用水平二叉树划分时对当前节点对应的当前图像区域进行编码的水平二叉树划分编码代价的方法与步骤S302采用的方法相同,在此不再赘述。
可选地,若三叉树划分包括水平三叉树划分和竖直三叉树划分,则步骤S403包括:若水平二叉树划分编码代价大于竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取水平三叉树划分编码代价;若竖直二叉树划分编码代价大于所述水平二叉树划分编码代价与第二预设阈值的乘积,则判断不需要获取竖直三叉树划分编码代价。
在该可选方式中,第一预设阈值为大于或者等于1的正数,例如第一预设阈值可以是1.125。由于在该可选方式中,当水平二叉树划分编码代价大于竖直二叉树划分编码代价与第一预设阈值的乘积时,说明通过水平二叉树划分比通过竖直二叉树划分的编码效率要低,并且由于水平三叉树划分与水平二叉树划分的划分方向相同,竖直三叉树划分与竖直二叉树划分的划分方向相同,基于此,可推断基于水平三叉树划分比基于竖直三叉树划分的编码效率低。因此,可以不需要获取水平三叉树划分编码代价。同样的,当竖直二叉树划分编码代价大于水平二叉树划分编码代价与第二预设阈值的乘积时,说明通过水平二叉树划分比通过竖直二叉树划分的编码效率要高,并且由于水平三叉树划分与水平二叉树划分的划分方向相同,竖直三叉树划分与竖直二叉树划分的划分方向相同,基于此,可推断基于水平三叉树划分比基于竖直三叉树划分的编码效率高。因此,可以不需要获取竖直三叉树划分编码代价。
可选地,若三叉树划分包括水平三叉树划分和竖直三叉树划分,则步骤S403包括:若水平二叉树划分编码代价大于所述竖直二叉树划分编码代价与第一预设阈值的乘积,且当前节点的编码树层级小于第二预设阈值,则判断不需要获取水平三叉树划分编码代价;若竖直二叉树划分编码代价大于所述水平二叉树划分编码代价与第三预设阈值的乘积,且当前节点的编码树层级小于第四预设阈值,则判断不需要获取水平三叉树划分编码代价。
需要说明的是,本申请涉及的所有预设阈值均大于0。
其中,步骤S404与步骤S303相同,步骤S405与步骤S304相同,对应内容和效果在此不再赘述。
综上,本申请提供一种编码树节点划分方式的确定方法,由于该方法可以根据水平二叉树划分编码代价和竖直二叉树划分编码代价,判断是否需要获取水平三叉树划分编码代价,从而使得在一些情况下编码端无需将所有的划分方式都尝试一遍,进而可以提高编码效率。
图5为本申请一实施例提供的一种编码树节点划分方式的确定装置的结构示意图,如图5所示,该装置包括:确定模块51、判断模块52和划分模块53。
确定模块51,用于确定当前节点不被划分时对所述当前节点对应的当前图像区域 进行编码的无划分编码代价。
划分模块53,用于对当前节点进行二叉树划分。
确定模块51,还用于确定当前节点被采用二叉树划分时对当前图像区域进行编码的二叉树划分编码代价。
判断模块52,用于根据无划分编码代价和二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价。
划分模块53,还用于若判断模块52判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分。
确定模块51,还用于确定三叉树划分编码代价,并将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
可选地,若二叉树编码代价仅包括对当前节点进行水平二叉树划分时的水平二叉树划分编码代价,则判断模块52具体用于:
若无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价;
若二叉树编码代价仅包括对当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则判断模块52具体用于:若无划分编码代价小于竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于竖直二叉树划分编码代价与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价。
若二叉树编码代价包括对当前节点进行水平二叉树划分时的水平二叉树划分编码代价和对当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则判断模块52具体用于:若无划分编码代价小于水平二叉树划分编码代价与竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于水平二叉树划分编码代价与竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价。
可选地,若三叉树划分包括水平三叉树划分和竖直三叉树划分,则划分模块53具体用于:
若当前图像区域的宽小于当前图像区域的高,则先对当前节点进行水平三叉树划分,再对当前节点进行竖直三叉树划分;若当前图像区域的宽大于或者等于当前图像区域的高,则先对当前节点进行竖直三叉树划分,再对当前节点进行水平三叉树划分。
或者,
若当前图像区域的宽小于或者等于当前图像区域的高,则先对当前节点进行水平三叉树划分,再对当前节点进行竖直三叉树划分;若当前图像区域的宽大于当前图像区域的高,则先对当前节点进行竖直三叉树划分,再对当前节点进行水平三叉树划分。
可选地,判断模块52,还用于若先对当前节点进行水平三叉树划分,则对当前节点进行水平三叉树划分之前判断当前节点不被划分时当前图像区域对应的图像失真和 当前图像区域被采用水平三叉树划分时当前图像区域对应的图像失真是否相同。
划分模块53,还用于在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平三叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行竖直三叉树划分。
或者,
判断模块52,还用于若先对当前节点进行竖直三叉树划分,则对当前节点进行水平三叉树划分之前判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用竖直三叉树划分时当前图像区域对应的图像失真是否相同。
划分模块53,还用于在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用竖直三叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行水平三叉树划分。
可选地,若二叉树划分包括水平二叉树划分和竖直二叉树划分,则划分模块53具体用于:
若当前图像区域的宽小于当前图像区域的高,则先对当前节点进行水平二叉树划分,再对当前节点进行竖直二叉树划分;若当前图像区域的宽大于或者等于当前图像区域的高,则先对当前节点进行竖直二叉树划分,再对当前节点进行水平二叉树划分。
或者,
若当前图像区域的宽小于或者等于当前图像区域的高,则先对当前节点进行水平二叉树划分,再对当前节点进行竖直二叉树划分;若当前图像区域的宽大于当前图像区域的高,则先对当前节点进行竖直二叉树划分,再对当前节点进行水平二叉树划分。
可选地,判断模块52,还用于若先对当前节点进行水平二叉树划分,则对当前节点进行竖直二叉树划分之前,判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用水平二叉树划分时当前图像区域对应的图像失真是否相同。
划分模块53,还用于在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平二叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行竖直二叉树划分;
或者,
判断模块52,还用于若先对当前节点进行竖直二叉树划分,则对当前节点进行水平二叉树划分之前,判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用竖直二叉树划分时当前图像区域对应的图像失真是否相同。
划分模块53,还用于在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用竖直二叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行水平二叉树划分。
本申请提供编码树节点划分方式的确定装置可以执行上述图3对应的编码树节点划分方式的确定方法以及该方法的可选方式,其实现原理和技术效果类似,此处不再赘述。
图6为本申请另一实施例提供的一种编码树节点划分方式的确定装置的结构示意图,如图6所示,该装置包括:确定模块61、判断模块62和划分模块63。
确定模块61,用于确定当前节点被采用水平二叉树划分时对当前节点对应的当前 图像区域进行编码的水平二叉树划分编码代价。
确定模块61,还用于确定当前节点被采用竖直二叉树划分时对当前图像区域进行编码的竖直二叉树划分编码代价。
判断模块62,用于根据水平二叉树划分编码代价和竖直二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;三叉树划分包括水平三叉树划分和竖直三叉树划分中的至少一种。
划分模块63,用于若判断模块62判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分。
确定模块61,还用于确定三叉树划分编码代价,并将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
可选地,若三叉树划分包括水平三叉树划分和竖直三叉树划分,则判断模块62具体用于:若水平二叉树划分编码代价大于竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取水平三叉树划分编码代价;若竖直二叉树划分编码代价大于水平二叉树划分编码代价与第二预设阈值的乘积,则判断不需要获取竖直三叉树划分编码代价。
本申请提供编码树节点划分方式的确定装置可以执行上述图4对应的编码树节点划分方式的确定方法以及该方法的可选方式,其实现原理和技术效果类似,此处不再赘述。
图7为本申请一实施例提供的一种编码设备的结构示意图,如图7所示,该设备包括:处理器71和存储器72。
存储器72用于存储所述处理器71的执行指令。
处理器71用于:确定当前节点不被划分时对所述当前节点对应的当前图像区域进行编码的无划分编码代价。对当前节点进行二叉树划分。确定当前节点被采用二叉树划分时对当前图像区域进行编码的二叉树划分编码代价。根据无划分编码代价和二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价。若判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分。确定三叉树划分编码代价,并将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
可选地,若二叉树编码代价仅包括对当前节点进行水平二叉树划分时的水平二叉树划分编码代价,则处理器71具体用于:
若无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于水平二叉树划分编码代价与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价;
若二叉树编码代价仅包括对当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则处理器71具体用于:若无划分编码代价小于竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于竖直二叉树划分编码代价与第一预设阈值的乘积,且当前节点的编码树层级小 于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价。
若二叉树编码代价包括对当前节点进行水平二叉树划分时的水平二叉树划分编码代价和对当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则处理器71具体用于:若无划分编码代价小于水平二叉树划分编码代价与竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,则判断不需要获取三叉树划分编码代价;或者,若无划分编码代价小于水平二叉树划分编码代价与竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,且当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取三叉树划分编码代价。
可选地,若三叉树划分包括水平三叉树划分和竖直三叉树划分,则处理器71具体用于:
若当前图像区域的宽小于当前图像区域的高,则先对当前节点进行水平三叉树划分,再对当前节点进行竖直三叉树划分;若当前图像区域的宽大于或者等于当前图像区域的高,则先对当前节点进行竖直三叉树划分,再对当前节点进行水平三叉树划分。
或者,
若当前图像区域的宽小于或者等于当前图像区域的高,则先对当前节点进行水平三叉树划分,再对当前节点进行竖直三叉树划分;若当前图像区域的宽大于当前图像区域的高,则先对当前节点进行竖直三叉树划分,再对当前节点进行水平三叉树划分。
可选地,处理器71,还用于若先对当前节点进行水平三叉树划分,则对当前节点进行水平三叉树划分之前判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用水平三叉树划分时当前图像区域对应的图像失真是否相同。
处理器71,还用于在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平三叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行竖直三叉树划分。
或者,
处理器71,还用于若先对当前节点进行竖直三叉树划分,则对当前节点进行水平三叉树划分之前判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用竖直三叉树划分时当前图像区域对应的图像失真是否相同。
处理器71,还用于在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用竖直三叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行水平三叉树划分。
可选地,若二叉树划分包括水平二叉树划分和竖直二叉树划分,则处理器71具体用于:
若当前图像区域的宽小于当前图像区域的高,则先对当前节点进行水平二叉树划分,再对当前节点进行竖直二叉树划分;若当前图像区域的宽大于或者等于当前图像区域的高,则先对当前节点进行竖直二叉树划分,再对当前节点进行水平二叉树划分。
或者,
若当前图像区域的宽小于或者等于当前图像区域的高,则先对当前节点进行水平二叉树划分,再对当前节点进行竖直二叉树划分;若当前图像区域的宽大于当前图像区域的高,则先对当前节点进行竖直二叉树划分,再对当前节点进行水平二叉树划分。
可选地,处理器71,还用于若先对当前节点进行水平二叉树划分,则对当前节点进行竖直二叉树划分之前,判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用水平二叉树划分时当前图像区域对应的图像失真是否相同。
处理器71,还用于在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用水平二叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行竖直二叉树划分;
或者,
处理器71,还用于若先对当前节点进行竖直二叉树划分,则对当前节点进行水平二叉树划分之前,判断当前节点不被划分时当前图像区域对应的图像失真和当前图像区域被采用竖直二叉树划分时当前图像区域对应的图像失真是否相同。
处理器71,还用于在当前节点不被划分时当前图像区域对应的图像失真和当前节点被采用竖直二叉树划分时当前图像区域对应的图像失真不相同时,才对当前节点进行水平二叉树划分。
本申请提供编码设备可以执行上述图3对应的编码树节点划分方式的确定方法以及该方法的可选方式,其实现原理和技术效果类似,此处不再赘述。
图8为本申请另一实施例提供的一种编码设备的结构示意图,如图8所示,该设备包括:处理器81和存储器82。
存储器82用于存储所述处理器81的执行指令。
处理器81用于:确定当前节点被采用水平二叉树划分时对当前节点对应的当前图像区域进行编码的水平二叉树划分编码代价。确定当前节点被采用竖直二叉树划分时对当前图像区域进行编码的竖直二叉树划分编码代价。根据水平二叉树划分编码代价和竖直二叉树划分编码代价,判断是否需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价;三叉树划分包括水平三叉树划分和竖直三叉树划分中的至少一种。若判断需要获取对当前节点进行三叉树划分时对当前图像区域进行编码的三叉树划分编码代价,则对当前节点进行三叉树划分。确定三叉树划分编码代价,并将确定的当前节点的编码代价中最小编码代价对应的划分方式确定为当前节点的划分方式。
可选地,若三叉树划分包括水平三叉树划分和竖直三叉树划分,则处理器81具体用于:若水平二叉树划分编码代价大于竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取水平三叉树划分编码代价;若竖直二叉树划分编码代价大于水平二叉树划分编码代价与第二预设阈值的乘积,则判断不需要获取竖直三叉树划分编码代价。
本申请提供编码设备可以执行上述图4对应的编码树节点划分方式的确定方法以及该方法的可选方式,其实现原理和技术效果类似,此处不再赘述。

Claims (16)

  1. 一种编码树节点划分方式的确定方法,其特征在于,包括:
    确定当前节点不被划分时对所述当前节点对应的当前图像区域进行编码的无划分编码代价;
    对所述当前节点进行二叉树划分,并确定所述当前节点被采用二叉树划分时对所述当前图像区域进行编码的二叉树划分编码代价;
    根据所述无划分编码代价和所述二叉树划分编码代价,判断是否需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价;
    若判断需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价,则对所述当前节点进行三叉树划分,并确定所述三叉树划分编码代价;
    将确定的所述当前节点的编码代价中最小编码代价对应的划分方式确定为所述当前节点的划分方式。
  2. 根据权利要求1所述的方法,其特征在于,若所述二叉树编码代价仅包括对所述当前节点进行水平二叉树划分时的水平二叉树划分编码代价,则所述判断是否需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价,包括:若所述无划分编码代价小于所述水平二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取所述三叉树划分编码代价;或者,若所述无划分编码代价小于所述水平二叉树划分编码代价与第一预设阈值的乘积,且所述当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取所述三叉树划分编码代价;
    若所述二叉树编码代价仅包括对所述当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则所述判断是否需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价包括:若所述无划分编码代价小于所述竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取所述三叉树划分编码代价;或者,若所述无划分编码代价小于所述竖直二叉树划分编码代价与第一预设阈值的乘积,且所述当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取所述三叉树划分编码代价;
    若所述二叉树编码代价包括对所述当前节点进行水平二叉树划分时的水平二叉树划分编码代价和对所述当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则所述判断是否需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价包括:若所述无划分编码代价小于所述水平二叉树划分编码代价与所述竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,则判断不需要获取所述三叉树划分编码代价;或者,若所述无划分编码代价小于所述水平二叉树划分编码代价与所述竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,且所述当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取所述三叉树划分编码代价。
  3. 根据权利要求1或2所述的方法,其特征在于,若所述三叉树划分包括水平三叉树划分和竖直三叉树划分,则所述对所述当前节点进行三叉树划分包括:
    若所述当前图像区域的宽小于所述当前图像区域的高,则先对所述当前节点进行水平三叉树划分,再对所述当前节点进行竖直三叉树划分;若所述当前图像区域的宽大于或者等于所述当前图像区域的高,则先对所述当前节点进行竖直三叉树划分,再对所述当前节点进行水平三叉树划分;
    或者,
    若所述当前图像区域的宽小于或者等于所述当前图像区域的高,则先对所述当前节点进行水平三叉树划分,再对所述当前节点进行竖直三叉树划分;若所述当前图像区域的宽大于所述当前图像区域的高,则先对所述当前节点进行竖直三叉树划分,再对所述当前节点进行水平三叉树划分。
  4. 根据权利要求3所述的方法,其特征在于,若先对所述当前节点进行水平三叉树划分,则所述对所述当前节点进行竖直三叉树划分之前,所述方法还包括:判断所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前图像区域被采用水平三叉树划分时所述当前图像区域对应的图像失真是否相同;在所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前节点被采用所述水平三叉树划分时所述当前图像区域对应的图像失真不相同时,才对所述当前节点进行竖直三叉树划分;
    或者,
    若先对所述当前节点进行竖直三叉树划分,则所述对所述当前节点进行水平三叉树划分之前,所述方法还包括:判断所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前图像区域被采用竖直三叉树划分时所述当前图像区域对应的图像失真是否相同;在所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前节点被采用所述竖直三叉树划分时所述当前图像区域对应的图像失真不相同时,才对所述当前节点进行水平三叉树划分。
  5. 根据权利要求1-4任一项所述的方法,其特征在于,若所述二叉树划分包括水平二叉树划分和竖直二叉树划分,则所述对所述当前节点进行二叉树划分包括:
    若所述当前图像区域的宽小于所述当前图像区域的高,则先对所述当前节点进行水平二叉树划分,再对所述当前节点进行竖直二叉树划分;若所述当前图像区域的宽大于或者等于所述当前图像区域的高,则先对所述当前节点进行竖直二叉树划分,再对所述当前节点进行水平二叉树划分;
    或者,
    若所述当前图像区域的宽小于或者等于所述当前图像区域的高,则先对所述当前节点进行水平二叉树划分,再对所述当前节点进行竖直二叉树划分;若所述当前图像区域的宽大于所述当前图像区域的高,则先对所述当前节点进行竖直二叉树划分,再对所述当前节点进行水平二叉树划分。
  6. 根据权利要求5所述的方法,其特征在于,若先对所述当前节点进行水平二叉树划分,则所述对所述当前节点进行竖直二叉树划分之前,所述方法还包括:判断所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前图像区域被采用水平二叉树划分时所述当前图像区域对应的图像失真是否相同;在所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前节点被采用所述水平二叉树划分 时所述当前图像区域对应的图像失真不相同时,才对所述当前节点进行竖直二叉树划分;
    或者,
    若先对所述当前节点进行竖直二叉树划分,则所述对所述当前节点进行水平二叉树划分之前,所述方法还包括:判断所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前图像区域被采用竖直二叉树划分时所述当前图像区域对应的图像失真是否相同;在所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前节点被采用所述竖直二叉树划分时所述当前图像区域对应的图像失真不相同时,才对所述当前节点进行水平二叉树划分。
  7. 一种编码树节点划分方式的确定方法,其特征在于,包括:
    确定当前节点被采用水平二叉树划分时对所述当前节点对应的当前图像区域进行编码的水平二叉树划分编码代价;
    确定所述当前节点被采用竖直二叉树划分时对所述当前图像区域进行编码的竖直二叉树划分编码代价;
    根据所述水平二叉树划分编码代价和所述竖直二叉树划分编码代价,判断是否需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价;所述三叉树划分包括水平三叉树划分和竖直三叉树划分中的至少一种;
    若判断需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价,则对所述当前节点进行三叉树划分,并确定所述三叉树划分编码代价;
    将确定的所述当前节点的编码代价中最小编码代价对应的划分方式确定为所述当前节点的划分方式。
  8. 根据权利要求7所述的方法,其特征在于,若所述三叉树划分包括水平三叉树划分和竖直三叉树划分,则所述判断是否需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价,包括:
    若所述水平二叉树划分编码代价大于所述竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取水平三叉树划分编码代价;
    若所述竖直二叉树划分编码代价大于所述水平二叉树划分编码代价与第二预设阈值的乘积,则判断不需要获取竖直三叉树划分编码代价。
  9. 一种编码树节点划分方式的确定装置,其特征在于,包括:确定模块、判断模块和划分模块;
    所述确定模块,用于确定当前节点不被划分时对所述当前节点对应的当前图像区域进行编码的无划分编码代价;
    所述划分模块,用于对所述当前节点进行二叉树划分;
    所述确定模块,还用于确定所述当前节点被采用二叉树划分时对所述当前图像区域进行编码的二叉树划分编码代价;
    所述判断模块,用于根据所述无划分编码代价和所述二叉树划分编码代价,判断是否需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价;
    所述划分模块,还用于若所述判断模块判断需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价,则对所述当前节点进行三叉树划分;
    所述确定模块,还用于确定所述三叉树划分编码代价,并将确定的所述当前节点的编码代价中最小编码代价对应的划分方式确定为所述当前节点的划分方式。
  10. 根据权利要求9所述的装置,其特征在于,若所述二叉树编码代价仅包括对所述当前节点进行水平二叉树划分时的水平二叉树划分编码代价,则所述判断模块具体用于:
    若所述无划分编码代价小于所述水平二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取所述三叉树划分编码代价;或者,若所述无划分编码代价小于所述水平二叉树划分编码代价与第一预设阈值的乘积,且所述当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取所述三叉树划分编码代价;
    若所述二叉树编码代价仅包括对所述当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则所述判断模块具体用于:
    若所述无划分编码代价小于所述竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取所述三叉树划分编码代价;或者,若所述无划分编码代价小于所述竖直二叉树划分编码代价与第一预设阈值的乘积,且所述当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取所述三叉树划分编码代价;
    若所述二叉树编码代价包括对所述当前节点进行水平二叉树划分时的水平二叉树划分编码代价和对所述当前节点进行竖直二叉树划分时的竖直二叉树划分编码代价,则所述判断模块具体用于:
    若所述无划分编码代价小于所述水平二叉树划分编码代价与所述竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,则判断不需要获取所述三叉树划分编码代价;或者,
    若所述无划分编码代价小于所述水平二叉树划分编码代价与所述竖直二叉树划分编码代价中的最小值与第一预设阈值的乘积,且所述当前节点的编码树层级小于或者等于第二预设阈值,则判断不需要获取所述三叉树划分编码代价。
  11. 根据权利要求9或10所述的装置,其特征在于,若所述三叉树划分包括水平三叉树划分和竖直三叉树划分,则所述划分模块具体用于:
    若所述当前图像区域的宽小于所述当前图像区域的高,则先对所述当前节点进行水平三叉树划分,再对所述当前节点进行竖直三叉树划分;若所述当前图像区域的宽大于或者等于所述当前图像区域的高,则先对所述当前节点进行竖直三叉树划分,再对所述当前节点进行水平三叉树划分;
    或者,
    若所述当前图像区域的宽小于或者等于所述当前图像区域的高,则先对所述当前节点进行水平三叉树划分,再对所述当前节点进行竖直三叉树划分;若所述当前图像区域的宽大于所述当前图像区域的高,则先对所述当前节点进行竖直三叉树划分,再对所述当前节点进行水平三叉树划分。
  12. 根据权利要求11所述的装置,其特征在于,
    所述判断模块,还用于若先对所述当前节点进行水平三叉树划分,则对所述当前节点进行水平三叉树划分之前,判断所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前图像区域被采用水平三叉树划分时所述当前图像区域对应的图像失真是否相同;
    所述划分模块,还用于在所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前节点被采用所述水平三叉树划分时所述当前图像区域对应的图像失真不相同时,才对所述当前节点进行竖直三叉树划分;
    或者,
    所述判断模块,还用于若先对所述当前节点进行竖直三叉树划分,则对所述当前节点进行水平三叉树划分之前,判断所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前图像区域被采用竖直三叉树划分时所述当前图像区域对应的图像失真是否相同;
    所述划分模块,还用于在所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前节点被采用所述竖直三叉树划分时所述当前图像区域对应的图像失真不相同时,才对所述当前节点进行水平三叉树划分。
  13. 根据权利要求9-12任一项所述的装置,其特征在于,若所述二叉树划分包括水平二叉树划分和竖直二叉树划分,则所述划分模块具体用于:
    若所述当前图像区域的宽小于所述当前图像区域的高,则先对所述当前节点进行水平二叉树划分,再对所述当前节点进行竖直二叉树划分;若所述当前图像区域的宽大于或者等于所述当前图像区域的高,则先对所述当前节点进行竖直二叉树划分,再对所述当前节点进行水平二叉树划分;
    或者,
    若所述当前图像区域的宽小于或者等于所述当前图像区域的高,则先对所述当前节点进行水平二叉树划分,再对所述当前节点进行竖直二叉树划分;若所述当前图像区域的宽大于所述当前图像区域的高,则先对所述当前节点进行竖直二叉树划分,再对所述当前节点进行水平二叉树划分。
  14. 根据权利要求13所述的装置,其特征在于,
    所述判断模块,还用于若先对所述当前节点进行水平二叉树划分,则所述对所述当前节点进行竖直二叉树划分之前,判断所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前图像区域被采用水平二叉树划分时所述当前图像区域对应的图像失真是否相同;
    所述划分模块,还用于在所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前节点被采用所述水平二叉树划分时所述当前图像区域对应的图像失真不相同时,才对所述当前节点进行竖直二叉树划分;
    或者,
    所述判断模块,还用于若先对所述当前节点进行竖直二叉树划分,则所述对所述当前节点进行水平二叉树划分之前,判断所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前图像区域被采用竖直二叉树划分时所述当前图像区域对应的图像失真是否相同;
    所述划分模块,还用于在所述当前节点不被划分时所述当前图像区域对应的图像失真和所述当前节点被采用所述竖直二叉树划分时所述当前图像区域对应的图像失真不相同时,才对所述当前节点进行水平二叉树划分。
  15. 一种编码树节点划分方式的确定装置,其特征在于,包括:确定模块、判断模块和划分模块;
    所述确定模块,用于确定当前节点被采用水平二叉树划分时对所述当前节点对应的当前图像区域进行编码的水平二叉树划分编码代价;
    所述确定模块,还用于确定所述当前节点被采用竖直二叉树划分时对所述当前图像区域进行编码的竖直二叉树划分编码代价;
    所述判断模块,用于根据所述水平二叉树划分编码代价和所述竖直二叉树划分编码代价,判断是否需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价;所述三叉树划分包括水平三叉树划分和竖直三叉树划分中的至少一种;
    所述划分模块,用于若所述判断模块判断需要获取对所述当前节点进行三叉树划分时对所述当前图像区域进行编码的三叉树划分编码代价,则对所述当前节点进行三叉树划分;
    所述确定模块,还用于确定所述三叉树划分编码代价,并将确定的所述当前节点的编码代价中最小编码代价对应的划分方式确定为所述当前节点的划分方式。
  16. 根据权利要求15所述的装置,其特征在于,若所述三叉树划分包括水平三叉树划分和竖直三叉树划分,则所述判断模块具体用于:
    若所述水平二叉树划分编码代价大于所述竖直二叉树划分编码代价与第一预设阈值的乘积,则判断不需要获取水平三叉树划分编码代价;
    若所述竖直二叉树划分编码代价大于所述水平二叉树划分编码代价与第二预设阈值的乘积,则判断不需要获取竖直三叉树划分编码代价。
PCT/CN2018/092572 2017-09-15 2018-06-25 编码树节点划分方式的确定方法、装置及编码设备 WO2019052254A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/817,885 US10992964B2 (en) 2017-09-15 2020-03-13 Method and apparatus for determining coding tree node split mode and coding device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710834335.7 2017-09-15
CN201710834335.7A CN109510987B (zh) 2017-09-15 2017-09-15 编码树节点划分方式的确定方法、装置及编码设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/817,885 Continuation US10992964B2 (en) 2017-09-15 2020-03-13 Method and apparatus for determining coding tree node split mode and coding device

Publications (1)

Publication Number Publication Date
WO2019052254A1 true WO2019052254A1 (zh) 2019-03-21

Family

ID=65722391

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/092572 WO2019052254A1 (zh) 2017-09-15 2018-06-25 编码树节点划分方式的确定方法、装置及编码设备

Country Status (3)

Country Link
US (1) US10992964B2 (zh)
CN (1) CN109510987B (zh)
WO (1) WO2019052254A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200304815A1 (en) * 2019-03-22 2020-09-24 Tencent America LLC Method and apparatus for video coding

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965894B (zh) * 2017-05-27 2021-12-21 华为技术有限公司 一种视频图像的编解码方法及装置
CN111866510A (zh) * 2019-04-30 2020-10-30 华为技术有限公司 视频序列的帧内预测方法及装置
CN110446036B (zh) * 2019-07-29 2021-11-16 中南大学 一种基于多用途编码中帧内编码的编码单元快速划分方法
CN116505954B (zh) * 2023-06-28 2024-01-23 深圳大普微电子科技有限公司 一种霍夫曼编码方法、系统、装置及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297774A (zh) * 2013-05-13 2013-09-11 清华大学深圳研究生院 一种视频编码中b帧的快速编码方法
CN105721865A (zh) * 2016-02-01 2016-06-29 同济大学 一种hevc帧间编码单元划分的快速决策算法
CN106028047A (zh) * 2016-05-24 2016-10-12 西安电子科技大学 一种基于Hadamard变换的帧内预测的快速模式选择和PU划分的方法
WO2017008263A1 (en) * 2015-07-15 2017-01-19 Mediatek Singapore Pte. Ltd. Conditional binary tree block partitioning structure
CN106937116A (zh) * 2017-03-15 2017-07-07 杭州电子科技大学 基于随机训练集自适应学习的低复杂度视频编码方法
US20170208336A1 (en) * 2016-01-15 2017-07-20 Qualcomm Incorporated Multi-type-tree framework for video coding

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9736455B2 (en) * 2014-06-30 2017-08-15 Nokia Technologies Oy Method and apparatus for downscaling depth data for view plus depth data compression
WO2016090568A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Binary tree block partitioning structure
EP3618439A4 (en) * 2017-04-28 2020-09-02 Sharp Kabushiki Kaisha IMAGE DECODING DEVICE AND IMAGE CODING DEVICE
CN108965894B (zh) * 2017-05-27 2021-12-21 华为技术有限公司 一种视频图像的编解码方法及装置
US20190246122A1 (en) * 2018-02-08 2019-08-08 Qualcomm Incorporated Palette coding for video coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103297774A (zh) * 2013-05-13 2013-09-11 清华大学深圳研究生院 一种视频编码中b帧的快速编码方法
WO2017008263A1 (en) * 2015-07-15 2017-01-19 Mediatek Singapore Pte. Ltd. Conditional binary tree block partitioning structure
US20170208336A1 (en) * 2016-01-15 2017-07-20 Qualcomm Incorporated Multi-type-tree framework for video coding
CN105721865A (zh) * 2016-02-01 2016-06-29 同济大学 一种hevc帧间编码单元划分的快速决策算法
CN106028047A (zh) * 2016-05-24 2016-10-12 西安电子科技大学 一种基于Hadamard变换的帧内预测的快速模式选择和PU划分的方法
CN106937116A (zh) * 2017-03-15 2017-07-07 杭州电子科技大学 基于随机训练集自适应学习的低复杂度视频编码方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200304815A1 (en) * 2019-03-22 2020-09-24 Tencent America LLC Method and apparatus for video coding
US11677969B2 (en) * 2019-03-22 2023-06-13 Tencent America LLC Method and apparatus for video coding

Also Published As

Publication number Publication date
US10992964B2 (en) 2021-04-27
US20200221140A1 (en) 2020-07-09
CN109510987B (zh) 2022-12-06
CN109510987A (zh) 2019-03-22

Similar Documents

Publication Publication Date Title
WO2019052254A1 (zh) 编码树节点划分方式的确定方法、装置及编码设备
US10887594B2 (en) Entropy coding of coding units in image and video data
WO2020253831A1 (zh) 一种编解码方法、装置及存储介质
CN110199524B (zh) 一种在计算设备中实现的方法
KR20190029732A (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR102398612B1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
KR102351029B1 (ko) 인트라 예측 모드 기반 영상 처리 방법 및 이를 위한 장치
US11606571B2 (en) Spatial varying transform for video coding
US20210266527A1 (en) Video signal processing method and device using reference sample
US11770542B2 (en) Colour component prediction method, encoder, and decoder
WO2021139572A1 (zh) 编码方法、解码方法、编码器、解码器以及存储介质
TWI719612B (zh) 圖像和視訊處理中產生mpm 以進行幀內預測的方法和裝置
CN116980594A (zh) 帧内预测方法、编码器、解码器以及存储介质
US20230319265A1 (en) Intra prediction method and device, decoder, and encoder
CN110944179B (zh) 一种视频数据解码方法及装置
US20220116613A1 (en) Video encoding method and device, and video decoding method and device
CN113068026B (zh) 编码预测方法、装置及计算机存储介质
CN116405665A (zh) 编码方法、装置、设备及存储介质
CN113709459B (zh) 帧内预测方法、装置及计算机存储介质
CN113395516B (zh) 帧内预测方法及装置、计算机可读存储介质
WO2019219066A1 (zh) 一种编解码方法及装置
CN113395520A (zh) 解码预测方法、装置及计算机存储介质
KR20200004348A (ko) 타겟 영역 수정을 통해 비디오 신호를 처리하는 방법 및 장치
WO2022188114A1 (zh) 帧内预测方法、编码器、解码器以及存储介质
US20230403392A1 (en) Intra prediction method and decoder

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

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

Country of ref document: EP

Kind code of ref document: A1