WO2019001006A1 - 一种图像数据的编码、解码方法及装置 - Google Patents

一种图像数据的编码、解码方法及装置 Download PDF

Info

Publication number
WO2019001006A1
WO2019001006A1 PCT/CN2018/078498 CN2018078498W WO2019001006A1 WO 2019001006 A1 WO2019001006 A1 WO 2019001006A1 CN 2018078498 W CN2018078498 W CN 2018078498W WO 2019001006 A1 WO2019001006 A1 WO 2019001006A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
division
preset
sub
coding tree
Prior art date
Application number
PCT/CN2018/078498
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
Priority to KR1020217034782A priority Critical patent/KR102478441B1/ko
Priority to CA3068551A priority patent/CA3068551A1/en
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Priority to AU2018290360A priority patent/AU2018290360B9/en
Priority to SG11201913535UA priority patent/SG11201913535UA/en
Priority to JP2019572511A priority patent/JP6915105B2/ja
Priority to EP18824528.6A priority patent/EP3637782A4/en
Priority to KR1020207002490A priority patent/KR102320023B1/ko
Priority to RU2020103339A priority patent/RU2754870C2/ru
Priority to BR112019027732-3A priority patent/BR112019027732B1/pt
Publication of WO2019001006A1 publication Critical patent/WO2019001006A1/zh
Priority to US16/728,287 priority patent/US10834430B2/en
Priority to PH12020500016A priority patent/PH12020500016A1/en
Priority to US16/949,362 priority patent/US11277648B2/en
Priority to US17/646,707 priority patent/US11695968B2/en
Priority to AU2023201428A priority patent/AU2023201428C1/en
Priority to US18/200,141 priority patent/US12069317B2/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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
    • 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/172Methods 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 picture, frame or field
    • 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/182Methods 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 a pixel
    • 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/184Methods 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 bits, e.g. of the compressed video stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder

Definitions

  • the embodiments of the present invention relate to the field of image processing, and in particular, to a method and an apparatus for encoding and decoding image data.
  • the video codec standard H.265 divides a frame of image into Coding Tree Units (CTUs) that do not overlap each other, and uses each CTU as the root node of a Quad-Tree (QT) according to QT.
  • the structure recursively divides each CTU into several leaf nodes. Each node in the QT structure corresponds to an image area. If a node is no longer divided, the node is called a leaf node, and its corresponding image area forms a coding unit (CU). Therefore, H.265 can be considered as a process of dividing a CTU into a group of CUs.
  • the division of the CTU into a group of CUs corresponds to a coding tree.
  • the Joint Exploration Team on Future Video Coding (JVET) reference software Joint Exploration Model (JEM) proposed the QTBT division method, that is, the nodes in the first-level coding tree adopt the QT division method.
  • the nodes in the second-level coding tree adopt the Binary Tree (BT) division method (the BT division method includes "horizontal dichotomy” and "vertical dichotomy”).
  • BT Binary Tree
  • the CTU is first divided according to the QT division manner to obtain a plurality of QT leaf nodes; the leaf nodes of the QT may be divided according to the BT division manner.
  • the CU shape is more diverse and can better adapt to the content of the partial image.
  • the encoding end device usually needs to calculate the Rate Distortion Cost (RD cost) for each partitioning method that the node can use, compare the calculated RD cost, and the smallest RD cost.
  • the corresponding division mode is determined as the division manner of the node. Therefore, for each node, the coding end device needs to calculate the RD cost of multiple division modes, so that the coding complexity is high.
  • the embodiment of the present application provides a method and an apparatus for encoding and decoding image data, which can solve the problem of high coding complexity.
  • a method for decoding image data After obtaining a code stream including image data, the decoding end device obtains node partitioning mode information of the first-level coding tree and a second-level coding tree by parsing the code stream.
  • the node division mode information where the node division mode information of the second-level coding tree indicates the division manner corresponding to the first node in the second-level coding tree, and the division manner corresponding to the first node is the candidate division manner set corresponding to the first node
  • the candidate mode set corresponding to the first node is determined according to the first preset dividing condition, where the first preset dividing condition is used to indicate whether to limit the first node according to the target dividing manner, and the target dividing manner includes a horizontal binary At least one of a horizontal three-point, a vertical two-point, and a vertical three-point.
  • the division manner corresponding to the first node of the second-level coding tree in the embodiment of the present application is one of the first preset division conditions, and the first preset division condition is used to indicate whether to limit the first division according to the target division manner.
  • a node and the target division manner includes at least one of a horizontal dichotomy, a horizontal triad, a vertical dichotomy, and a vertical triad.
  • the number of division manners corresponding to the first node is decreased, The complexity of decoding is effectively reduced.
  • the node division manner corresponding to the first-level coding tree is different from the node division manner corresponding to the second-level coding tree, and the node division manner corresponding to the first-level coding tree is Including quadtree partitioning, the node partitioning manner corresponding to the second-level coding tree includes binary tree partitioning and tri-tree partitioning.
  • the foregoing first preset dividing condition includes a first preset dividing sub-condition, a second preset dividing sub-condition, and a third preset dividing sub-condition, At least one of four preset sub-conditions, fifth preset sub-conditions, sixth preset sub-conditions, seventh preset sub-conditions, eighth preset sub-conditions, and ninth predetermined sub-conditionskind.
  • the first preset sub-condition is that if the aspect ratio of the image region corresponding to the first node is greater than or equal to the first preset threshold, the candidate partition mode set corresponding to the first node does not include the horizontal dichotomy and the horizontal triad,
  • the aspect ratio of the image region corresponding to one node is a ratio of the width of the image region corresponding to the first node to the image region corresponding to the first node.
  • the second preset dividing sub-condition is that if the aspect ratio of the image region corresponding to the first node is greater than or equal to the second preset threshold, the candidate partitioning mode set corresponding to the first node does not include the vertical binary and the vertical three-point,
  • the aspect ratio of the image region corresponding to a node is a ratio of a height of the image region corresponding to the first node to a width of the image region corresponding to the first node.
  • the third preset dividing sub-condition is that if the ratio of the area of the image area corresponding to the first node to the area of the image area corresponding to the leaf node of the first-level coding tree to which the first node belongs is less than or equal to a third preset threshold,
  • the candidate partitioning mode set corresponding to the first node does not include a horizontal dichotomy, a horizontal triad, a vertical dichotomy, and a vertical triad.
  • the fourth preset partitioning sub-condition is that if the partitioning manner corresponding to the first node includes the first dividing manner, the decoding order of the first sub-node of the first node is later than the second sub-node of the first node, and the second sub-node corresponds to
  • the division manner is the first division manner, and the candidate division manner set corresponding to the first sub-node does not include the first division manner, and the first division manner is a horizontal division or a vertical division.
  • the fifth preset dividing sub-condition is that if the partitioning manner corresponding to the first node includes the second dividing manner, the area of the image region corresponding to the first child node of the first node is the area of the image region corresponding to the three child nodes of the first node.
  • the smallest candidate, the candidate partition mode set corresponding to the first child node does not include the second partition mode, and the second partition mode is horizontal three-point or vertical three-point.
  • the sixth preset partition sub-condition is that if the partitioning manner corresponding to the first node includes the second partitioning manner, the area of the image region corresponding to the first child node of the first node is the area of the image region corresponding to the three child nodes of the first node.
  • the seventh preset partitioning sub-condition is that if the ratio of the width of the image region corresponding to the first node to the edge length of the preset minimum CU is less than or equal to the third preset threshold, the candidate partitioning mode set corresponding to the first node does not include the vertical If the ratio of the height of the image region corresponding to the first node to the edge length of the preset minimum CU is less than or equal to the third preset threshold, the candidate partition mode set corresponding to the first node does not include the horizontal three-point.
  • the eighth preset sub-condition is that if the area of the image region corresponding to the first node is less than or equal to the fourth preset threshold, the candidate partition mode set corresponding to the first node does not include the horizontal dichotomy, the horizontal trisection, the vertical dichotomy, and the vertical Straight three points.
  • the ninth preset sub-condition is that if the partitioning manner corresponding to the first node is the second partitioning mode, the area of the image region corresponding to the first sub-node of the first node is the area of the image region corresponding to the three sub-nodes of the first node. The largest one, the candidate partition mode set corresponding to the first sub-node does not include the first partition mode, and the first partition mode and the second partition mode have the same split direction.
  • the node division manner information of the second level coding tree includes first information, second information, and third information, where the first information is used to indicate whether to continue to divide
  • the first node is configured to indicate a direction in which the first node is divided
  • the third information is used to indicate a mode in which the first node is divided.
  • the method of “parsing the code stream and obtaining the node division mode information of the second-level coding tree” is: parsing the code stream, and determining, according to the first preset division condition, the candidate division mode set corresponding to the first node. And parsing the code stream according to the candidate partitioning mode set corresponding to the first node, and determining the first information, the second information, and the third information.
  • the decoding end device acquires the first information, the second information, and the third information parsing method according to the candidate partitioning mode set corresponding to the first node, and the values of the first information, the second information, and the third information may be parsed from the code stream. Get it, it can also be preset for the system.
  • the method for “resolving a code stream according to a first candidate node, and parsing a code stream, determining the first information, the second information, and the third information” is specifically Determining a first value, where the first value is a quantity of the division manner included in the candidate division manner set corresponding to the first node; and further analyzing the code stream according to the first value, determining the first information, the second information, and the third information .
  • the candidate mode set corresponding to the node in the second-level coding tree may include at most fifteen types of division manners, and for the plurality of the fifteen division manners, obtaining the first information, the second information, and the third information
  • the methods are the same or similar. Therefore, the decoding end device can determine the first information, the second information, and the third information according to the number of division modes (level first value) included in the candidate mode set corresponding to the first node, so that the decoding end device can be faster.
  • the node division mode information of the second-level coding tree is determined.
  • the node division manner corresponding to the second-level coding tree further includes a quad-tree partition.
  • the method of “analysing the code stream and obtaining the node division mode information of the second-level coding tree” is: parsing the code stream, and obtaining node division mode information of the second-level coding tree, where the node of the second-level coding tree is obtained.
  • the division mode information indicates a division manner corresponding to the first node in the second-level coding tree, and the division manner corresponding to the first node is one of the candidate division manners corresponding to the first node, and the candidate mode set corresponding to the first node is And determining, according to the first preset dividing condition and the second preset dividing condition, the second preset dividing condition is used to indicate whether to limit the dividing the first node according to the quadtree division.
  • the foregoing second preset splitting condition includes at least one of a tenth preset split sub-condition and an eleventh preset split sub-condition.
  • the tenth preset sub-condition is that if the second-level coding tree level of the first node is smaller than the preset maximum second-level coding tree level, the candidate partition mode set corresponding to the first node does not include the quad-tree partition.
  • the eleventh preset sub-condition is that if the aspect ratio of the image region corresponding to the first node is greater than or equal to the fifth preset threshold, the candidate partition mode set corresponding to the first node does not include the quadtree partition.
  • the node division manner information of the second level coding tree further includes fourth information, where the fourth information is used to indicate whether to divide the first node according to the quadtree division .
  • the method of “resolving the code stream and obtaining the node division mode information of the second-level coding tree” is: parsing the code stream, and determining, according to the first preset division condition and the second preset division condition, the first node corresponding to the first node a candidate partitioning mode set; parsing the code stream according to the partitioning manner corresponding to the first node, and determining the first information, the second information, the third information, and the fourth information.
  • the information wherein the node division mode information of the second-level coding tree indicates a division manner corresponding to the first node in the second-level coding tree, and the division manner corresponding to the first node is one of the candidate division manners corresponding to the first node.
  • the first preset partitioning condition is used to indicate whether to limit the first node according to the target partitioning manner, and the target dividing manner includes horizontal dichotomy and level three.
  • the root node of the second-level coding tree is a leaf node of the first-level coding tree , If the first node and a corresponding division mode is not to continue dividing, parsing code stream to obtain the encoded information of the first node, wherein the first node corresponds to a coding unit CU.
  • the decoding reconstruction module is configured to perform decoding and reconstruction on the coding unit according to the coding information of the first node obtained by the analysis module, to obtain an image corresponding to the image data.
  • the node division manner corresponding to the first-level coding tree is different from the node division manner corresponding to the second-level coding tree, and the node division manner corresponding to the first-level coding tree is Including quadtree partitioning, the node partitioning manner corresponding to the second-level coding tree includes binary tree partitioning and tri-tree partitioning.
  • the node division manner corresponding to the first-level coding tree includes a quad-tree division
  • the node division manner corresponding to the second-level coding tree includes a binary tree division and a tri-tree division .
  • the node division manner information of the second-level coding tree includes first information, second information, and third information, where the first information is used to indicate whether to continue to divide A node, the second information is used to indicate the direction in which the first node is divided, and the third information is used to indicate the mode in which the first node is divided.
  • the parsing module is specifically configured to parse the code stream, and determine, according to the first preset partitioning condition, a candidate partitioning mode set corresponding to the first node, and specifically configured to use the candidate partitioning mode set corresponding to the first node, and parse the code. Flow, determining the first information, the second information, and the third information.
  • the foregoing parsing module is specifically configured to determine a first value, where the first value is a quantity of the division manner included in the candidate division manner set corresponding to the first node, and Specifically, the code stream is parsed according to the first value, and the first information, the second information, and the third information are determined.
  • the node division manner corresponding to the second-level coding tree further includes a quad-tree partition.
  • the parsing module is specifically configured to parse the code stream, and obtain node partitioning mode information of the second-level coding tree, where the node partitioning mode information of the second-level coding tree indicates that the first node in the second-level coding tree corresponds to
  • the division manner of the first node is one of the candidate division manners corresponding to the first node, and the candidate mode set corresponding to the first node is determined according to the first preset division condition and the second preset division condition.
  • the second preset division condition is used to indicate whether to limit the division of the first node according to the quadtree division.
  • the node division manner information of the second level coding tree further includes fourth information, where the fourth information is used to indicate whether to divide the first node according to the quadtree division .
  • the parsing module is specifically configured to parse the code stream, and determine, according to the first preset partitioning condition and the second preset partitioning condition, a candidate partitioning mode set corresponding to the first node, and specifically used according to the first node The division manner, parsing the code stream, and determining the first information, the second information, the third information, and the fourth information.
  • first preset division condition in the second aspect reference may be made to the description of the first preset division condition in the foregoing first aspect.
  • second preset division condition in the second aspect may refer to the foregoing first aspect.
  • a decoding end device comprising: one or more processors, a memory, and a communication interface.
  • the memory, communication interface is coupled to one or more processors; the memory is for storing computer program code, the computer program code comprising instructions, and when the one or more processors execute the instructions, the decoding device performs the first and any A possible implementation of a method of decoding image data.
  • a computer readable storage medium stores instructions, wherein when the instruction is run on the decoding device, the decoding device performs the first aspect and any of the above A possible implementation of a method of decoding image data.
  • a computer program product comprising instructions for causing a decoding end device to perform decoding of image data as in the first aspect and any one of its possible implementations is provided when the computer program product is run on a decoding end device method.
  • the name of the above-mentioned decoder device is not limited to the device or the function module itself. In actual implementation, these devices or function modules may appear under other names. As long as the functions of the respective devices or functional modules are similar to the present application, they are within the scope of the claims and their equivalents.
  • a method for decoding image data After determining a CTU corresponding to an image block to be encoded, the encoding end device divides the CTU according to a node division manner corresponding to the first-level coding tree, to obtain a first-level coding.
  • the encoding end device determines a candidate partition mode set corresponding to the first node in the second level coding tree, and the candidate partition mode set corresponding to the first node And satisfying a first preset dividing condition for indicating whether to limit the first node according to the target dividing manner, the target dividing manner includes at least one of a horizontal dichotomy, a horizontal triad, a vertical dichotomy, and a vertical triad, and the second level
  • the root node of the coding tree is a leaf node of the first level coding tree; if the candidate partition mode set corresponding to the first node includes not continuing to divide, the coding end device encodes the coding unit corresponding to the first node to obtain a corresponding coding.
  • the first preset division condition in the embodiment of the present application limits the division manner of the nodes in the second-level coding tree, greatly reduces the complexity of dividing the nodes in the second-level coding tree, and reduces the coding complexity.
  • the node division manner corresponding to the first-level coding tree includes a quad-tree division
  • the node division manner corresponding to the second-level coding tree includes a binary tree division and a tri-tree division.
  • the node division manner corresponding to the second-level coding tree further includes a quad-tree partition.
  • the method for determining the candidate partitioning mode set corresponding to the first node in the second-level coding tree is: determining the candidate partitioning mode set corresponding to the first node, and the candidate partitioning mode set corresponding to the first node satisfies the first And a second preset dividing condition for indicating whether to limit the dividing the first node according to the quadtree partitioning.
  • the first preset division condition in the sixth aspect may be referred to the description of the first preset division condition in the foregoing first aspect.
  • the second preset division condition in the sixth aspect may refer to the foregoing first aspect.
  • an encoding end device includes a determining module, a dividing module, and an encoding module.
  • the determining module is configured to determine a coding tree unit CTU corresponding to the image block to be encoded.
  • the dividing module is configured to divide the CTU determined by the determining module according to a node partitioning manner corresponding to the first-level coding tree, to obtain a leaf node of the first-level coding tree, where the root node of the first-level coding tree corresponds to the CTU.
  • the determining module is further configured to determine a candidate partitioning mode set corresponding to the first node in the second-level coding tree, where the candidate partitioning mode set corresponding to the first node meets the first preset dividing condition, and the first preset dividing condition is used for Indicate whether to limit the first node according to the target division manner, and the root node of the second-level coding tree is a leaf node of the first-level coding tree, and the target division manner includes horizontal dichotomy, horizontal three-point, vertical dichotomy, and vertical three-point At least one of them.
  • the coding module is configured to: if the set of candidate division modes corresponding to the first node determined by the determining module includes not continuing to divide, coding the coding unit CU corresponding to the first node to obtain a coding unit code stream corresponding to the coding unit.
  • the node division manner corresponding to the first-level coding tree includes a quad-tree division
  • the node division manner corresponding to the second-level coding tree includes a binary tree division and a tri-tree division.
  • the node division manner corresponding to the second-level coding tree further includes a quad-tree partition.
  • the determining module is specifically configured to determine a candidate partitioning mode set corresponding to the first node, where the candidate partitioning mode set corresponding to the first node meets the first preset dividing condition and the second preset limiting condition, and the second preset dividing The condition is used to indicate whether to limit the division of the first node according to the quadtree partition.
  • the encoding end device provided by the embodiment of the present application further includes a calculating module, where the calculating module is configured to: if the determining module determines the candidate partitioning mode set corresponding to the first node Including other division modes other than continuing the division, the rate distortion cost of each of the division manners that the first node can use is calculated.
  • the determining module is further configured to determine a partitioning manner corresponding to a minimum rate distortion cost as a target partitioning manner corresponding to the first node.
  • the foregoing dividing module is specifically configured to divide the first node by using a target dividing manner corresponding to the first node determined by the determining module.
  • the first preset division condition in the seventh aspect may be referred to the description of the first preset division condition in the foregoing first aspect.
  • the second preset division condition in the seventh aspect may refer to the foregoing first aspect.
  • an encoding end device comprising: one or more processors, a memory, and a communication interface.
  • the memory, communication interface is coupled to one or more processors; the memory is for storing computer program code, the computer program code comprising instructions, and when the one or more processors execute the instructions, the encoding end device performs the sixth aspect as described above An encoding method of image data of any of the possible implementations.
  • a computer readable storage medium stores instructions, wherein when the instruction is run on the encoding end device, the encoding end device performs the sixth aspect and any of the foregoing A possible implementation of an encoding method of image data.
  • a computer program product comprising instructions for causing an encoding end device to perform encoding of image data as in the sixth aspect and any one of its possible implementations when the computer program product is run on an encoding device method.
  • the names of the above-mentioned encoding end devices are not limited to the devices or the functional modules themselves. In actual implementation, these devices or functional modules may appear under other names. As long as the functions of the respective devices or functional modules are similar to the present application, they are within the scope of the claims and their equivalents.
  • FIG. 1 is a schematic structural diagram of different division manners provided by an embodiment of the present application.
  • FIG. 2 is a schematic structural diagram of a quadtree hierarchy according to an embodiment of the present application.
  • FIG. 3 is a schematic diagram of a combined division of a quadtree partition and a binary tree partition according to an embodiment of the present disclosure
  • FIG. 4 is a schematic structural diagram of an image processing system according to an embodiment of the present application.
  • FIG. 5 is a schematic structural diagram of hardware of a mobile phone according to an embodiment of the present application.
  • FIG. 6 is a schematic flowchart 1 of a method for decoding image data according to an embodiment of the present application.
  • FIG. 7 is a second schematic flowchart of a method for decoding image data according to an embodiment of the present disclosure.
  • FIG. 8 is a schematic flowchart of a method for encoding image data according to an embodiment of the present disclosure
  • FIG. 9 is a schematic structural diagram of a decoding end device according to an embodiment of the present disclosure.
  • FIG. 10 is a schematic structural diagram of an encoding end device according to an embodiment of the present disclosure.
  • the words “exemplary” or “such as” are used to mean an example, illustration, or illustration. Any embodiment or design described as “exemplary” or “for example” in the embodiments of the present application should not be construed as preferred or advantageous over other embodiments or designs. Rather, the use of the words “exemplary” or “such as” is intended to present the concepts in a particular manner.
  • Coding Tree Unit An image consists of multiple CTUs. One CTU usually corresponds to a square image area. As shown in Figure 1(a), image 10 consists of multiple CTUs (including CTU A). , CTU B, CTU C, etc.).
  • the coding information corresponding to a certain CTU includes luminance values and/or chrominance values of pixels in a square image region corresponding to the CTU. Furthermore, the coding information corresponding to a certain CTU may further include syntax elements indicating how to divide the CTU into at least one CU, and a method of decoding each CU to obtain a reconstructed image.
  • An image area corresponding to one CTU may include 64 ⁇ 64, 128 ⁇ 128, or 256 ⁇ 256 pixels.
  • a CTU of 64x64 pixels contains a rectangular pixel lattice of 64 columns of 64 pixels per column, each pixel containing a luminance component and/or a chrominance component.
  • CU Coding Unit
  • A is the width of the rectangle
  • B is the height of the rectangle.
  • the width referred to in the embodiment of the present application refers to the width shown in FIG. 1 .
  • the length in the X-axis direction (horizontal direction) in the two-dimensional Cartesian coordinate system XoY, the height refers to the length in the Y-axis direction (vertical direction) in the two-dimensional Cartesian coordinate system XoY shown in FIG.
  • the values of A and B may be the same or different.
  • the values of A and B are usually an integer power of 2, for example: 256, 128, 64, 32, 16, 8, or 4.
  • a CU can obtain a reconstructed image block of an A ⁇ B rectangular region by decoding processing, and the decoding process usually includes processing such as prediction, dequantization, and inverse transform to generate a predicted image and a residual.
  • the reconstructed image block is obtained by superimposing the predicted image and the residual.
  • a plurality of reconstructed image blocks can be used to obtain a final reconstructed image.
  • Quad-Tree A tree structure in which one node can be divided into four sub-nodes.
  • the video codec standard H.265 adopts a quadtree-based CTU partitioning method: a CTU is used as a root node, and each node corresponds to a square image area; for a node, the node can no longer be divided ( At this time, the square image area corresponding to the node is a CU), and the node may be divided into four lower level nodes, that is, the square image area corresponding to the node is divided into four square areas of the same size (the width thereof) The height is half of the width and height of the front area, and each area corresponds to one node.
  • CTU A is the root node, and CTU A is divided into four nodes a, b, c, and d. If the node a is not divided, the square image area corresponding to node a corresponds to one CU.
  • the image area corresponding to the node is divided into upper and lower areas of the same size, that is, the width of the divided image area remains unchanged, and the height becomes half of the divided image area, and each divided image area corresponds to A child node.
  • the node b is divided by a horizontal binary division method to generate a node e and a node f.
  • the area corresponding to the node is divided into left and right areas of the same size, that is, the height of the divided image area remains unchanged, the width becomes half of the divided image area, and each divided image area corresponds to one Child node.
  • the node d is divided by a vertical binary division method to generate a node g and a node h.
  • horizontal dichotomy and vertical dichotomy are an example of the manner in which the binary tree is divided.
  • the image area corresponding to the node may be divided into two sub-areas in another manner.
  • two high unequal sub-regions are horizontally divided, or vertically divided into two unequal regions.
  • Triple Tree A tree structure in which one node can be divided into three child nodes.
  • the node may not be divided, or the node may be divided into three lower-level nodes.
  • the trigeminal division can include:
  • the image area corresponding to the node is divided into upper, middle and lower regions, and each region corresponds to one child node.
  • the heights of the upper, middle, and lower regions are respectively 1/4, 1/2, and 1/4 of the height of the image region before division.
  • the node c is divided by a horizontal three-division method to generate a node j, a node k, and a node m.
  • the height of the image region corresponding to the node j is the height 1/4 of the image region corresponding to the node c.
  • the height of the image area corresponding to the node k is 1/2 of the height of the image area corresponding to the node c
  • the height of the image area corresponding to the node m is 1/4 of the height of the image area corresponding to the node c.
  • the heights of the upper, middle, and lower regions are respectively 1/3, 1/3, and 1/3 of the height of the image region before the division, that is, the image region corresponding to the node is as shown in FIG.
  • the direction of the X-axis in the two-dimensional Cartesian coordinate system XoY is equally divided into three regions. As shown in Fig.
  • the node c is divided by a horizontal three-division method to generate a node j, a node k, and a node m.
  • the height of the image region corresponding to the node j and the height of the image region corresponding to the node k correspond to the node m.
  • the height of the image area is 1/3 of the height of the image area corresponding to the node c.
  • the image area corresponding to the node is divided into three areas of left, middle and right, each area corresponding to one child node.
  • the widths of the left, middle, and right image regions are respectively 1/4, 1/2, and 1/4 of the width of the image region before division.
  • the node c is divided by a vertical three-division method to generate a node p, a node q, and a node x.
  • the width of the image region corresponding to the node p is the width of the image region corresponding to the node c. 4.
  • the width of the image area corresponding to the node q is 1/2 of the width of the image area corresponding to the node c
  • the width of the image area corresponding to the node x is 1/4 of the width of the image area corresponding to the node c.
  • the heights of the left, middle, and right image regions are respectively 1/3, 1/3, and 1/3 of the height of the image region before the division, that is, the image region corresponding to the node is shown in FIG.
  • the direction of the X-axis in the two-dimensional Cartesian coordinate system XoY is equally divided into three regions. As shown in FIG.
  • the node c is divided by a vertical three-division method to generate a node p, a node q, and a node x, the width of the image region corresponding to the node p, the width of the image region corresponding to the node q, and the node x.
  • the width of the corresponding image area is 1/3 of the width of the image area corresponding to the node c.
  • Image encoding The process of compressing a sequence of images into a stream of code.
  • Image decoding The process of restoring a code stream into a reconstructed image according to specific grammar rules and processing methods.
  • the video codec standard H.265 uses the QT partitioning method to divide the CTU. Specifically, the CTU is used as the root node (root) of the QT structure, and the CTU is recursively divided into a plurality of leaf nodes according to the QT division manner. If a node is no longer split, the node is called a leaf node.
  • an image is composed of a plurality of CTUs, and one CTU corresponds to a square image area, that is, one CTU corresponds to one image block.
  • Each leaf node corresponds to one CU, and each CU is equivalent to a certain sub-image block in the image block corresponding to the CTU, and the sub-image block can no longer be divided by using the QT division manner. If it is necessary to continue to divide a certain node, the image area corresponding to the node is divided into four image areas of the same size. Referring to FIG. 1(b), after the image area corresponding to the node is divided, each generated after the division is generated. Each image area corresponds to a node, and it is also necessary to determine whether these nodes will continue to be divided. Whether a node is divided is indicated by a partition flag bit (such as split_cu_flag) corresponding to the node in the code stream.
  • the level of the root node in the QT structure (referred to as the QT level) is 0, and the QT level of the child node generated by the QT partitioning method is 1 for the QT level of the parent node of the child node.
  • split_cu_flag indicates that the node is no longer divided
  • the CTU node is divided into four 32 ⁇ 32 nodes (QT level is 1), and the fourth The 32 ⁇ 32 nodes are node A1, node A2, node A3, and node A4, respectively.
  • Each of the four 32 ⁇ 32 nodes can choose to continue dividing or not to continue dividing according to its corresponding split_cu_flag.
  • the node A1 is further divided, and the node A1 is divided into four 16 ⁇ 16 nodes (the QT level is 2), and the four 16 ⁇ 16 nodes are the node B1 and the node B2, respectively. , node B3, and node B4. And so on, until all nodes are no longer divided, so that a CTU is divided into a group of CUs.
  • the minimum size of each CU ie, the minimum size of the CU
  • the minimum size of the CU is identified in the Sequence Parameter Set (SPS) of the code stream, for example, 8 ⁇ 8.
  • the CU is the smallest CU.
  • FIG. 3(a) is an example of a coding tree.
  • a coding tree may correspond to only one division, such as a quadtree; or it may correspond to multiple divisions, such as the aforementioned QTBT structure and the QT-BT/TT structure described below.
  • the first level coding tree, the second level coding tree, the third level coding tree, ..., the Nth coding tree respectively correspond to a set of different division modes, and N is a positive integer greater than 3.
  • the set of different division manners may be a type of a certain tree, such as a trigeminal tree, a binary tree, or a quadtree; or a collection of division manners in the same tree type, such as horizontal dichotomy, vertical dichotomy, etc.; It can also be a combination of the two. It can be understood that a coding tree does not need to include multiple different levels of coding trees at the same time.
  • a coding tree may only include a first-level coding tree; or a coding tree may include first-level and second-level coding trees; or a coding tree may include a first-level coding tree, a second-level coding tree, and a A three-level coding tree.
  • the first level coding tree may comprise a division of a quadtree
  • the second level coding tree may comprise a division of a binary tree and a division of a trifurcation tree.
  • the first level coding tree may comprise a division of a quadtree
  • the second level coding tree may comprise a division of a binary tree, a division of a trigeminal tree and a quadtree.
  • the first level coding tree may include a partition of a quadtree and a division of a binary tree
  • the second level coding tree includes a division of a trifurcation tree
  • the first level coding tree may comprise a division of a quadtree
  • the second level coding tree may comprise a division of a binary tree
  • the third level coding tree may comprise a division of a triblock tree.
  • the first level coding tree may comprise a horizontal binary
  • the second level coding tree may comprise vertical binary and quadtree partitioning
  • the third level coding tree may comprise vertical three and horizontal three.
  • the second level coding tree may also include other division manners, which is not specifically limited in this embodiment of the present application.
  • the coding end device usually adopts Rate Distortion Optimization (RDO) technology to determine which coding tree coding is used by the CTU. Specifically, for each node, the encoding end device calculates a Rate Distortion Cost (RD cost) for each of the partitioning modes that the node can use, compares the calculated RD cost, and corresponds to the minimum RD cost. The division method is determined as the division mode of the node.
  • RDO Rate Distortion Optimization
  • the level of a node in the BT structure is called the BT level, and the BT level of the child node generated by the BT partitioning method is 1 for the BT level of the parent node of the child node. If the BT level of a node is equal to the maximum BT level, it is determined that the node is no longer divided. In general, the largest BT level in the BT structure is identified in the SPS.
  • the BT division mode is introduced on the basis of the QT division mode, wherein the QT division manner and the BT division manner are cascaded, and the division manner is called a QTBT division manner.
  • the CTU is divided according to the QT division manner, and the leaf nodes of the QT can continue to be divided by the BT division manner, that is, the first-level coding tree is QT, and the second-level coding tree is BT.
  • each endpoint represents a node
  • the solid line indicates that the node is divided by QT division
  • the dotted line indicates that the node is divided by BT division
  • a to M are 13 leaf nodes, and each leaf node corresponds to 1 CU.
  • 10 represents a vertical dichotomy
  • 11 represents a horizontal dichotomy.
  • Fig. 3(b) shows an image area corresponding to the CTU divided according to the division manner shown in Fig. 3(a).
  • each CU has a QT level and a BT level.
  • the QT level of the CU is the QT level of the QT leaf node to which the CU belongs
  • the BT level of the CU is the BT level of the BT leaf node to which the CU belongs. If the CTU is not divided, that is, there is only one CU, the QT level of the CU is 0, and the BT level is 0.
  • the QT level of A and B is 1, and 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, the BT level is 1; the QT level of I and 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 CU shape is more diverse and can better adapt to the content of the partial image.
  • All CUs generated by the QT partitioning method in the H.265 standard can only be square, that is, the width of the CU is equal to the height of the CU.
  • the width and height of the CU may be different.
  • the aspect ratio (the value is equal to the width divided by the height) is 2, 4, 8, 16, 1/2, 1/4. 1/8 or 1/16.
  • the width and height of all CUs cannot be smaller than the side length of the minimum CU (for example, the minimum CU can be set to 4 ⁇ 4).
  • the SPS of a video stream contains the size information of the smallest CU.
  • a QT-BT/TT division mode may also be included, that is, nodes in the first-level coding tree use QT division mode, and nodes in the second-level coding tree may use BT division mode or TT division.
  • the CTU is a root node of the first-level coding tree, and the CTU is divided into QT division manners to generate a plurality of leaf nodes of the first-level coding tree; and the leaf node of the first-level coding tree is used as the second-level coding tree.
  • the root node divides the nodes in the second-level coding tree by BT partitioning (including horizontal binary and vertical binary) or TT partitioning (including horizontal three-point and vertical three-point) to generate several second-level coding trees.
  • Leaf node is a root node of the first-level coding tree, and the CTU is divided into QT division manners to generate a plurality of leaf nodes of the first-level coding tree; and the leaf node of the first-level coding tree
  • the encoding end device usually needs to calculate the RD cost of each partitioning mode that the node can use, compare the calculated RD cost, and determine the partitioning mode corresponding to the minimum RD cost as the node's The way of division.
  • the TT division mode can also be used. Therefore, for each node in the second-level coding tree, the coding end devices are used. It is necessary to calculate the RD cost of the four division methods (horizontal, vertical, horizontal, and vertical) to determine the actual division of each node in the second-level coding tree.
  • the coding complexity is high.
  • the embodiment of the present application provides a method for decoding image data. After obtaining a code stream including image data, the decoding end device obtains information about node partitioning manner of the first-level coding tree and second by analyzing the code stream.
  • the node division mode information of the level coding tree where the node division mode information of the second level coding tree indicates the division manner corresponding to the first node in the second level coding tree, and the corresponding division manner of the first node is corresponding to the first node.
  • One of the candidate partitioning mode sets, the candidate mode set corresponding to the first node is determined according to the first preset dividing condition, and the first preset dividing condition is used to indicate whether to limit the first node according to the target dividing manner, and the target dividing
  • the method includes at least one of a horizontal dichotomy, a horizontal triad, a vertical dichotomy, and a vertical triad. If the division manner corresponding to the first node is not to continue to be divided, the decoding end device obtains the coding of the first node by parsing the code stream.
  • the first node corresponds to one coding unit CU, so that the decoding end device can be based on the coding information of the first node, Encoding means for decoding reconstructed to obtain an image corresponding to the image data.
  • the root node of the first-level coding tree corresponds to one CTU
  • the leaf node of the first-level coding tree is performed by the node division manner corresponding to the node division mode information of the first-level coding tree and the root node of the first-level coding tree.
  • the root node of the second level coding tree is a leaf node of the first level coding tree.
  • the division manner corresponding to the first node of the second-level coding tree in the embodiment of the present application is one of the first preset division conditions, and the first preset division condition is used to indicate whether to limit the first division according to the target division manner.
  • a node and the target division manner includes at least one of a horizontal dichotomy, a horizontal triad, a vertical dichotomy, and a vertical triad.
  • the number of division manners corresponding to the first node is decreased, The complexity of decoding is effectively reduced.
  • the embodiment of the present application further provides an encoding method of image data, after the encoding end device determines the CTU corresponding to the image block to be encoded, the CTU is divided according to the node division manner corresponding to the first-level coding tree, a leaf node of the first level coding tree, where the root node of the first level coding tree corresponds to the CTU; the coding end device determines a candidate division mode set corresponding to the first node in the second level coding tree, where the first node corresponds
  • the candidate partition mode set satisfies a first preset partitioning condition for indicating whether to limit the first node according to the target partitioning manner, and the target dividing manner includes at least one of a horizontal dichotomy, a horizontal triad, a vertical dichotomy, and a vertical triad.
  • the root node of the second-level coding tree is a leaf node of the first-level coding tree. If the candidate partition mode set corresponding to the first node includes not continuing to divide, the coding end device encodes the coding unit corresponding to the first node. And obtaining a coding unit code stream corresponding to the coding unit.
  • the first preset division condition in the embodiment of the present application limits the division manner of the nodes in the second-level coding tree, greatly reduces the complexity of dividing the nodes in the second-level coding tree, and reduces the coding complexity.
  • FIG. 4 is a schematic structural diagram of an image processing system according to an embodiment of the present application.
  • the image processing system includes an encoding end device 40 and a decoding end device 41.
  • the encoding end device 40 and the decoding end device 41 may be independently configured or integrated in the same device, which is not specifically limited in this embodiment of the present application.
  • the encoding end device 40 and the decoding end device 41 are independently set as an example. For the convenience of description, the following description will be made by taking the independent setting of the encoding end device and the decoding end device as an example.
  • the encoding end device 40 processes the CTU corresponding to each image in the image according to the division manner of the first-level coding tree and the division manner of the second-level coding tree, where If the candidate partitioning mode set corresponding to the first node in the second-level coding tree includes not continuing to divide, the encoding end device 40 encodes the coding unit corresponding to the first node, and obtains a coding unit code stream corresponding to the coding unit; After the coding unit code stream corresponding to each node of the second-level coding tree, the encoding end device 40 acquires the CTU code stream, and sends the CTU code stream to the decoding end device 41; the decoding end device 41 parses the acquired CTU code. The stream obtains the division mode information of the nodes of the second-level coding tree, and performs corresponding processing according to the division manner information of the nodes of the second-level coding tree to obtain the reconstructed image.
  • Both the encoding end device 40 and the decoding end device 41 may be various devices configured with a camera (such as a front camera or a rear camera), for example, the encoding end device and the decoding end device are wearable electronic devices (such as smart watches, etc.) ), Polaroid, can also be the mobile phone shown in Figure 5, but also can be a tablet, desktop computer, virtual reality device, laptop, ultra-mobile personal computer (UMPC), personal digital assistant ( Personal Digital Assistant (PDA), etc., the specific form of the encoding end device 40 and the decoding end device 41 is not particularly limited in the embodiment of the present application.
  • UMPC ultra-mobile personal computer
  • PDA Personal Digital Assistant
  • both the encoding end device 40 and the decoding end device 41 in this embodiment may be mobile phones.
  • the embodiment will be specifically described below by taking a mobile phone as an example.
  • the illustrated mobile phone is only one example of the encoding end device 40 and the decoding end device 41, and the mobile phone may have more or fewer components than those shown in the figure, and two or more may be combined. Parts, or can have different part configurations.
  • the various components shown in FIG. 5 may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.
  • the mobile phone includes an RF (Radio Frequency) circuit 50, a memory 51, an input unit 52, a display unit 53, a sensor 54, an audio circuit 55, and a Wireless Fidelity (Wi-Fi) module 56.
  • the processor 57, the Bluetooth module 58, and the power source 59 and the like It will be understood by those skilled in the art that the structure of the handset shown in FIG. 5 does not constitute a limitation to the handset, and may include more or less components than those illustrated, or some components may be combined, or different components may be arranged.
  • the RF circuit 50 can be used for transmitting and receiving information or during a call, and receiving and transmitting signals.
  • the downlink information of the base station can be received and processed by the processor 57.
  • the data related to the uplink is sent to the base station.
  • RF circuitry includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low noise amplifier, a duplexer, and the like.
  • RF circuitry 50 can also communicate with the network and other mobile devices via wireless communication.
  • the wireless communication can use any communication standard or protocol, including but not limited to global mobile communication systems, general packet radio services, code division multiple access, wideband code division multiple access, long term evolution, email, short message service, and the like.
  • the memory 51 can be used to store software programs and data.
  • the processor 57 executes various functions and data processing of the mobile phone by running software programs and data stored in the memory 51.
  • the memory 51 may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application required for at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may be stored according to Data created by the use of the mobile phone (such as audio data, phone book, video, etc.).
  • the memory 51 may include a high speed random access memory, and may also include a nonvolatile memory such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device.
  • the memory 51 stores an operating system that enables the mobile phone to operate, such as developed by Apple. Operating system, developed by Google Inc. Open source operating system, developed by Microsoft Corporation Operating system, etc.
  • An input unit 52 such as a touch screen, can be used to receive input numeric or character information and to generate signal inputs related to user settings and function controls of the handset.
  • the input unit 52 can include a touch screen 521 and other input devices 522.
  • the touch screen 521 also referred to as a touch panel, can collect touch operations on or near the user (eg, the user operates on or near the touch screen 521 using any suitable object or accessory such as a finger, a stylus, or the like. ), and drive the corresponding connection device according to a preset program.
  • the touch screen 521 may include two parts (not shown in FIG. 5) of the touch detecting device and the touch controller.
  • the touch detection device detects the touch orientation of the user, and detects a signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts the touch information into contact coordinates, and sends the touch information.
  • the processor 57 is provided and can receive instructions from the processor 57 and execute them.
  • the touch screen 521 can be implemented in various types such as resistive, capacitive, infrared, and surface acoustic waves.
  • the display unit 53 (ie, the display screen) can be used to display information input by the user or information provided to the user and a graphical user interface (GUI) of various menus of the mobile phone.
  • the display unit 53 may include a display panel 531 disposed on the front of the mobile phone.
  • the display panel 531 can be configured in the form of a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like.
  • the touch screen 521 can cover the display panel 531. When the touch screen 521 detects a touch operation on or near it, the touch screen 521 transmits to the processor 57 to determine the type of the touch event, and then the processor 57 displays the panel according to the type of the touch event.
  • the touch screen 521 can also be provided with a pressure sensing sensor, so that when the user performs a touch operation on the touch panel, the touch panel can also detect the pressure of the touch operation, and the mobile phone can be more accurate. The touch operation is detected.
  • the handset may also include at least one type of sensor 54, such as a light sensor, motion sensor, and other sensors.
  • the light sensor may include an ambient light sensor and a proximity sensor, and the ambient light sensor may adjust the brightness of the display panel 531 according to the brightness of the ambient light, and the proximity light sensor is disposed on the front side of the mobile phone, when the mobile phone moves to the ear, according to Close to the detection of the light sensor, the mobile phone turns off the power of the display panel 531, so that the mobile phone can further save power.
  • the accelerometer sensor can detect the acceleration of each direction (usually three axes). When it is still, it can detect the magnitude and direction of gravity.
  • Other sensors such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors that can be configured on the mobile phone are not described here.
  • An audio circuit 55, a speaker 551, and a microphone 552 provide an audio interface between the user and the handset.
  • the audio circuit 55 can transmit the converted electrical data of the received audio data to the speaker 551, and is converted into a sound signal output by the speaker 551.
  • the microphone 552 converts the collected sound signal into an electrical signal, and the audio circuit 55 is used by the audio circuit 55. After receiving, it is converted into audio data, and then the audio data is output to the RF circuit 50 for transmission to, for example, another mobile phone, or the audio data is output to the memory 51 for further processing.
  • Wi-Fi is a short-range wireless transmission technology.
  • the mobile phone can help users to send and receive emails, browse web pages and access streaming media through the Wi-Fi module 56, which provides users with wireless broadband Internet access.
  • the processor 57 is a control center of the mobile phone, and connects various parts of the entire mobile phone by using various interfaces and lines, and executes various kinds of mobile phones by running or executing a software program stored in the memory 51 and calling data stored in the memory 51. Function and process data to monitor the phone as a whole.
  • processor 57 may include one or more processing units; processor 57 may also integrate an application processor and a modem processor, where the application processor primarily processes operating systems, user interfaces, applications, etc.
  • the modem processor primarily handles wireless communications. It can be understood that the above modem processor can also be independently set.
  • the Bluetooth module 58 is configured to exchange information with other devices through a short-range communication protocol such as Bluetooth.
  • the mobile phone can establish a Bluetooth connection through the Bluetooth module 58 and a wearable electronic device (such as a smart watch) that also has a Bluetooth module, thereby performing data interaction.
  • the handset also includes a power source 59 (such as a battery) that powers the various components.
  • the power supply can be logically coupled to the processor 57 through the power management system to manage functions such as charging, discharging, and power consumption through the power management system.
  • FIG. 6 is a schematic flowchart diagram of a method for decoding image data according to an embodiment of the present application, and the decoding method can be applied to the image processing system shown in FIG. 4.
  • the decoding method of the image data includes:
  • the decoding end device obtains a code stream that includes image data.
  • the code stream that includes the image data obtained by the decoding device includes a Sequence Parameter Set (SPS), a Picture Parameter Set (PPS), a slice header, or a slice header ( A slice segment header), and a CTU code stream, the CTU code stream carries image data.
  • SPS Sequence Parameter Set
  • PPS Picture Parameter Set
  • slice header or a slice header ( A slice segment header)
  • CTU code stream the CTU code stream carries image data.
  • the decoding end device decodes the obtained code stream to obtain node division manner information of the first-level coding tree.
  • the root node of the first-level coding tree corresponds to a CTU, and the leaf node of the first-level coding tree is indicated by the node division manner corresponding to the node division mode information of the first-level coding tree and the root node of the first-level coding tree.
  • the node division manner corresponding to the first-level coding tree includes quadtree partitioning.
  • the decoding end device After obtaining the code stream, the decoding end device parses the CTU code stream in the code stream to obtain node partitioning information of the first level coding tree.
  • the method for the decoding end device to parse the CTU code stream to obtain the node partitioning information of the first level coding tree may be: the decoding end device uses the CTU as the root node of the first level coding tree, parses the CTU code stream, and obtains the CTU.
  • the first identifier (such as SplitFlag) included in the syntax element of the code stream is used to indicate how to divide the CTU into at least one CU, that is, the first identifier indicates node division manner information of the first-level coding tree.
  • the node corresponding to the SplitFlag is a leaf node of the first-level coding tree; if the value of a SplitFlag is 1, the node corresponding to the SplitFlag is continuously obtained. SplitFlag of the four child nodes until the information of all leaf nodes of the first level coding tree is determined.
  • the width of the image region corresponding to a certain node is equal to the first threshold (for example, the first threshold is 8 or 16)
  • the node is a leaf node of the first-level coding tree
  • the SplitFlag corresponding to the node is The value is 0.
  • the method for the decoding end device to parse the CTU code stream to obtain the node partitioning information of the first level coding tree may also be: the decoding end device uses the CTU as the root node of the first level coding tree, parses the CTU code stream, and obtains the a second identifier (such as NSFlag) included in the syntax element of the CTU code stream for indicating whether to divide the node of the first level coding tree; if the value of the second identifier is the first value (for example, 1), The node corresponding to the second identifier is a leaf node of the first-level coding tree, and is also a second-level coding leaf node; if the value of the second identifier is a second value (for example, 0), acquiring the third identifier included in the syntax element (such as QTSplitFlag); if the value of the third identifier is a third value (for example, 0), it indicates that the node corresponding to the third identifier is
  • the node is a leaf node of the first-level coding tree, and the third node corresponding to the node
  • the value of the identification is the third value.
  • the width or height of the image area corresponding to a certain node is greater than the second threshold, and the value of the second identifier corresponding to the node is the second value, the value of the third identifier is the third value. If the mapping mode of the node is QT, the value of the second identifier corresponding to the node is the second value, and the value of the third identifier corresponding to the node is the third value.
  • coding_quadtree() is a first-level coding tree syntax structure that describes information about a node of the first-level coding tree.
  • the CTU is used as the root node to parse coding_quadtree(xCtb, yCtb, CtbLog2SizeY, 0), where CtbLog2SizeY is the base 2 logarithm of the CTU side length (here, the image area corresponding to the CTU is square).
  • xCtb and yCtb respectively represent the horizontal coordinate offset and the vertical coordinate offset of the upper left corner of the image region corresponding to the CTU with respect to the upper left corner of the image region corresponding to the node.
  • X0 and y0 respectively represent the horizontal coordinate offset and the vertical coordinate offset of the upper left corner of the image region corresponding to the node with respect to the upper left corner of the image region corresponding to the CTU;
  • log2CbSize indicates that the edge length of the image region corresponding to the node is 2 Logarithmic value (since the image area corresponding to the CTU is square and the first-level coding tree is only divided by quadtree, the image area corresponding to all nodes on the first-level coding tree is also square, and the width and height are equal, so only need Indicates the length of the side, does not need to distinguish between width and height);
  • cqtDepth represents the first level of the coding tree hierarchy of the node.
  • the condition condA indicates that the condition of the first-level coding tree node division information syntax element split_cu_flag needs to be parsed from the code stream, for example, condA is “the image area corresponding to the node is within the image area corresponding to the CTU and the side length of the image area corresponding to the node is greater than the threshold. ".
  • Split_cu_flag is 0 to indicate that the node is not divided according to the quadtree, and the leaf node is encoded for the first level. At this time, the leaf node will be parsed according to the syntax structure coding_second_tree() of the second-level coding tree; the split_cu_flag is 1 indicating that the node is in accordance with the quadruple The tree is divided.
  • the node is divided into four sub-nodes, and the edge length, coordinates, and first-level coding tree hierarchy of each sub-node are determined, and the sub-nodes are parsed according to coding_quadtree().
  • coding_quadtree() "X>>Y” means that X is shifted right by Y bits; "X ⁇ Y” means that X is shifted left by Y bits; ae(v) means that syntax elements are parsed using CABAC.
  • the decoding end device parses the obtained code stream to obtain node division mode information of the second-level coding tree.
  • the node division mode information of the second-level coding tree indicates a division manner corresponding to the first node in the second-level coding tree, and the division manner corresponding to the first node is one of the candidate division manners corresponding to the first node,
  • the candidate mode set corresponding to the first node is determined according to the first preset dividing condition, where the first preset dividing condition is used to indicate whether to limit the first node according to the target dividing manner, and the target dividing manner includes a horizontal dichotomy, a horizontal three-point, and At least one of a vertical two-point and a vertical three-point.
  • the root node of the second level coding tree is a leaf node of the first level coding tree.
  • the node division manner corresponding to the second-level coding tree is different from the node division manner corresponding to the first-level coding tree.
  • the node division manner corresponding to the second-level coding tree includes binary tree division and tri-tree division, and the binary tree division includes horizontal Dichotomous and vertical two points, the trigeminal tree division includes horizontal three points and vertical three points.
  • the decoding end device After obtaining the node partitioning mode information of the first-level coding tree, the decoding end device performs the first-level coding tree indicating the node partitioning manner corresponding to the node partitioning mode information of the first-level coding tree and the root node of the first-level coding tree.
  • the leaf node is used as the root node of the second-level coding tree, and the CTU code stream is parsed to obtain the division mode information of the nodes of the second-level coding tree.
  • the method for the decoding end device to parse the CTU code stream to obtain the partitioning mode information of the node of the second level coding tree may be: the decoding end device parses the CTU code stream, and obtains a method for indicating how to divide the second level coding tree.
  • the fourth identifier of a node (such as STSplitMode), that is, the fourth identifier indicates the node division manner information of the second-level coding tree.
  • the fourth identifier of the child node of the corresponding node until the information of all the leaf nodes of the second level coding tree is determined.
  • the method for the decoding end device to parse the CTU code stream to obtain the split mode information of the node of the second level coding tree may be: for the first node in the second level coding tree, the decoding end device first parses the code. And, according to the first preset dividing condition, determining a candidate partitioning mode set corresponding to the first node, and then determining, according to the candidate partitioning mode set corresponding to the first node, the parsing codestream to determine the partitioning mode information corresponding to the first node.
  • the first preset dividing condition includes at least one of the following preset dividing sub-conditions:
  • a first preset sub-condition if the aspect ratio of the image region corresponding to the first node is greater than or equal to a first preset threshold (such as 8 or 4), the candidate partition mode set corresponding to the first node does not include the horizontal dichotomy and level
  • a first preset threshold such as 8 or 4
  • the aspect ratio of the image region corresponding to the first node is a ratio of the width of the image region corresponding to the first node to the image region corresponding to the first node.
  • a second preset sub-condition if the aspect ratio of the image region corresponding to the first node is greater than or equal to a second preset threshold (such as 8 or 4), the candidate partitioning mode set corresponding to the first node does not include the vertical dichotomy In a vertical three-point, the aspect ratio of the image region corresponding to the first node is a ratio of the height of the image region corresponding to the first node to the width of the image region corresponding to the first node.
  • a second preset threshold such as 8 or 4
  • the third preset dividing sub-condition if the ratio of the area of the image area corresponding to the first node to the area of the image area corresponding to the leaf node of the first-level coding tree to which the first node belongs is less than or equal to a third preset threshold (16) Or 8), the candidate partitioning mode set corresponding to the first node does not include a horizontal dichotomy, a horizontal triad, a vertical dichotomy, and a vertical triad.
  • the fourth preset division sub-condition if the division manner corresponding to the first node includes the first division manner, the decoding order of the first sub-node of the first node is later than the second sub-node of the first node, and the second sub-node corresponds to The division manner is the first division manner, and the candidate division manner set corresponding to the first sub-node does not include the first division manner, and the first division manner is a horizontal division or a vertical division.
  • the first node and the second sub-node are all divided into horizontal dichotomy, and the candidate mode set corresponding to the first sub-node does not include the horizontal dichotomy, that is, the first sub-node is not allowed to be divided by the horizontal dichotomy.
  • the fifth preset partition sub-condition if the partitioning manner corresponding to the first node includes the second partitioning manner, the area of the image region corresponding to the first child node of the first node is the area of the image region corresponding to the three child nodes of the first node The smallest candidate, the candidate partition mode set corresponding to the first child node does not include the second partition mode, and the second partition mode is horizontal three-point or vertical three-point.
  • the first node corresponds to a horizontal three-point
  • the candidate mode set corresponding to the first child node does not include a horizontal three-point, that is, the first child node is not allowed to be divided by the horizontal three-point division manner.
  • the sixth preset dividing sub-condition if the dividing manner corresponding to the first node includes the second dividing manner, the area of the image region corresponding to the first child node of the first node is the area of the image region corresponding to the three child nodes of the first node The largest, the set of candidate partitioning modes corresponding to the first child node does not include the second partitioning mode.
  • the seventh preset partitioning sub-condition if the ratio of the width of the image region corresponding to the first node to the edge length of the preset minimum CU is less than or equal to the third preset threshold, the candidate partitioning mode set corresponding to the first node does not include the vertical If the ratio of the height of the image region corresponding to the first node to the edge length of the preset minimum CU is less than or equal to the third preset threshold, the candidate partition mode set corresponding to the first node does not include the horizontal three-point.
  • the eighth preset dividing sub-condition if the area of the image area corresponding to the first node is less than or equal to the fourth preset threshold, the candidate partitioning mode set corresponding to the first node does not include the horizontal dichotomy, the horizontal trisection, the vertical dichotomy, and the vertical Straight three points.
  • the ninth preset sub-condition is: if the division manner corresponding to the first node is the second division manner, the area of the image region corresponding to the first sub-node of the first node is the area of the image region corresponding to the three sub-nodes of the first node The largest one, the candidate partition mode set corresponding to the first sub-node does not include the first partition mode, and the first partition mode and the second partition mode have the same split direction.
  • the division manner corresponding to the first node is a horizontal three-point, and the area of the image region corresponding to the first sub-node of the first node is the largest of the image regions corresponding to the three sub-nodes of the first node, and then
  • the candidate mode set corresponding to a child node does not include a horizontal binary, that is, the first child node is not allowed to be divided by the horizontal binary division method.
  • the first preset dividing condition in the embodiment of the present application may include the foregoing third preset dividing sub-condition, and may further include the fourth preset dividing sub-condition, and may further include the fifth preset dividing sub-condition
  • the first preset dividing sub-condition and the second preset dividing sub-condition may be further included, and may further include the first preset dividing sub-condition, the second preset dividing sub-condition, and the fourth preset dividing sub-condition
  • the sixth preset dividing sub-condition and the seventh preset dividing sub-condition may further include the first preset dividing sub-condition, the second preset dividing sub-condition, the third preset dividing sub-condition, and the seventh preset dividing sub-condition
  • the first preset sub-condition, the second preset sub-condition, the third preset sub-condition, the fifth preset sub-condition, and the seventh preset sub-condition may also be included, and may further include the foregoing
  • the first preset division condition in the embodiment of the present application may also be other combinations of the foregoing preset sub-conditions, and details are not described herein again.
  • the encoding end device may obtain the first preset threshold, the second preset threshold, the third preset threshold, and the fourth preset threshold from the SPS, the PPS, or the strip header in the code stream that includes the image data. And the side length of the preset minimum CU.
  • the first preset threshold, the second preset threshold, the third preset threshold, the fourth preset threshold, and the preset minimum CU side length may also be preset by the image processing system.
  • first preset partitioning condition in the embodiment of the present application may further include other conditions, which are not specifically limited in this embodiment.
  • the first preset dividing condition further includes:
  • the candidate corresponding to the first node includes not continuing to divide.
  • the encoding end device can obtain the preset maximum second level coding tree hierarchy from the SPS, PPS or slice header in the code stream containing the image data.
  • the set of candidate division modes corresponding to the first node does not include the horizontal binary.
  • the candidate partition mode set corresponding to the first node includes not continuing to divide.
  • the candidate partition mode set corresponding to the first node does not include the vertical binary; if the first node corresponds to The ratio of the height of the image area to the side length of the preset minimum CU is smaller than the seventh preset threshold, and the set of candidate division modes corresponding to the first node does not include the horizontal binary.
  • the fourth identifier in the embodiment of the present application is used to indicate how to divide a node in the second level coding tree.
  • the fourth identifier may include first information for indicating whether to continue dividing the node, second information for indicating which direction to divide the node, and third for indicating which mode is used to divide the node. information.
  • the first information is represented by STSplitFlag. If the value of STSplitFlag is equal to 0, it means that the node corresponding to the STSplitFlag is not continued to be divided; if the value of STSplitFlag is equal to 1, it means that the node corresponding to the STSplitFlag is continued to be divided.
  • the second information is represented by STSplitDir. If the value of STSplitDir is equal to 0, it means that the node corresponding to the STSplitDir is divided in the horizontal direction; if the value of STSplitDir is equal to 1, it means that the node corresponding to the STSplitDir is divided in the vertical direction.
  • the third information is represented by the STSplitType. If the value of the STSplitType is equal to 0, the division method corresponding to the node corresponding to the STSplitType is a binary tree division; if the value of the STSplitDir is equal to 1, the division manner corresponding to the node corresponding to the STSplitType is Trigeminal tree division.
  • the fourth identifier in the embodiment of the present application may further include a binary tree partition identifier that is used to indicate whether the node corresponding to the fourth identifier is divided according to a binary tree partitioning manner, and is used to indicate whether the fourth partition is divided according to a tri-tree partition manner. Identifying a tri-tree partitioning identifier of the corresponding node and second information (the dividing direction identifier is the same as the dividing direction identifier in the previous example).
  • the binary tree partitioning identifier is represented as BTFlag. If the value of the BTFlag is equal to 0, the mapping manner corresponding to the node corresponding to the fourth identifier is not the BT partition. If the value of the BTFlag is equal to 1, the node corresponding to the fourth identifier corresponds to The division is BT division.
  • the tribtree partition identifier is TTFlag. If the value of the TTFlag is equal to 0, the partitioning mode corresponding to the node corresponding to the fourth identifier is not the TT partition. If the value of the TTFlag is equal to 1, the partition corresponding to the node corresponding to the fourth identifier is TT division.
  • the fourth identifier in the embodiment of the present application may also include any combination of the foregoing first information, the foregoing second information, and the foregoing third information, which is not specifically limited in this embodiment of the present application.
  • the fourth identifier may include more information.
  • the fourth identifier may include the first information, the second information, and the third information. Therefore, after determining the candidate partitioning mode set corresponding to the first node, the decoding end device determines the first according to the candidate partitioning mode set corresponding to the first node. The information, the second information, and the third information, so that the division mode information corresponding to the first node can be determined.
  • the decoding end device first determines, according to the first preset dividing condition, the candidate partitioning mode set of the first node; and then, the decoding end device determines, according to the candidate partitioning mode set of the first node, whether it can be parsed from the code stream.
  • the first information, the second information, and the third information if any one of the first information, the second information, and the third information cannot be parsed from the code stream, the value of the information is a system default.
  • the decoding end device first parses the STSplitFlag from the code stream, if the value of the STSplitFlag is 0.
  • the value of STSplitDir and STSplitType defaults to 0; if the value of STSplitFlag is 1, then the STSplitDir is further parsed (the parsing mode of STSplitDir is related to the set of candidate partitioning modes corresponding to the first node), and the STSplitType is parsed according to the value of STSplitDir ( The parsing manner of the STSplitType is related to the set of candidate partitioning modes corresponding to the first node, wherein if the candidate partitioning mode set corresponding to the first node includes a horizontal dichotomy, a horizontal three-point, a vertical dichotomy, and a vertical three-point, the decoding end The device parses the STSplitDir and the STSplitType in sequence from the code stream. If the candidate partitioning mode set corresponding to the first node includes one or three partitioning modes, at least one of the STSplitDir and the STSplitType is
  • Table 2 shows all possible cases of the set of candidate division modes corresponding to the first node in this embodiment, and shows the first information, the second information, and the corresponding information corresponding to each case.
  • the value of the Vertical Binary Tree (VBT) is 0, indicating that the candidate partition mode set corresponding to the first node does not include a vertical binary
  • the VBT value of 1 indicates the candidate partitioning mode corresponding to the first node.
  • the set includes a vertical binary
  • a horizontal binary value (HBT) has a value of 0, indicating that the candidate partitioning mode set corresponding to the first node does not include a horizontal binary
  • the HBT value of 1 indicates a candidate partitioning manner corresponding to the first node.
  • the set includes a horizontal binary, and a value of 0 in the vertical triple tree (VTT) indicates that the candidate partitioning mode set corresponding to the first node does not include a vertical three-point, and the value of the VTT is 1 indicating that the first node corresponds to the first node.
  • the candidate partition mode set includes a vertical three-point, and the horizontal binary value (HTT) has a value of 0, indicating that the candidate partition mode set corresponding to the first node does not include a horizontal three-point, and the HTT value is 1 and the first
  • the set of candidate partitioning modes corresponding to the nodes includes a horizontal three-point.
  • a, b, and c respectively indicate that STSplitFlag, STSplitDir, and STSplitType are obtained by parsing the code stream; NA(x) indicates that the corresponding bit is set to the default value x.
  • the values of STSplitDir and STSplitType default to 0; when parsing to STSplitFlag is 1, parsing STSplitDir first, and then parsing STSplitType according to the value of STSplitDir. symbol!
  • the expression "exp?m:n" means that m is used if exp is true, otherwise n is used. For example: STSplitDir?
  • NA(1) indicates that if the value of STSplitDir is not 0 (that is, equal to 1, since the value of STSplitDir is 0 or 1 in this embodiment), the STSplitType is obtained from the code stream; otherwise, the value of STSplitType defaults to 1.
  • the decoding end device can determine the STSplitFlag, STSplitDir, and STSplitType according to the candidate partitioning mode set corresponding to the first node.
  • the candidate partition mode set corresponding to the first node does not include vertical dichotomy, horizontal dichotomy, horizontal triad, and vertical triad, then STSplitFlag, STSplitDir, and The value of STSplitType defaults to 0.
  • the first corresponding candidate partition mode set does not include a horizontal dichotomy, a horizontal triad, and a vertical triad, and the decoding end device firstly from the code stream.
  • Parse STSplitFlag if the value of STSplitFlag is 0, the values of STSplitDir and STSplitType default to 0. If the value of STSplitFlag is 1, the value of STSplitDir defaults to 1, and the value of STSplitType defaults to 0.
  • the first corresponding candidate partition mode set does not include the horizontal three-point and the vertical three-point, and the first decoding end device first parses the STSplitFlag from the code stream. If the value of STSplitFlag is 0, the values of STSplitDir and STSplitType default to 0. If the value of STSplitFlag is 1, the decoding device parses STSplitDir from the code stream and defaults the value of STSplitType to 0.
  • the first corresponding candidate partition mode set does not include the vertical three-point, and the first decoding device first parses the STSplitFlag from the code stream; if the STSplitFlag If the value is 0, the values of STSplitDir and STSplitType default to 0. If the value of STSplitFlag is 1, the decoding device parses STSplitDir from the code stream; if the value of STSplitDir is 1, the value of STSplitType defaults to 0, if STSplitDir The value of 0 is the decoding device that parses the STSplitType from the code stream.
  • the decoding end device may determine the fourth identifier STSplitMode according to the three values, that is, determine the division manner information of the first node in the second-level coding tree.
  • the decoding end device determines the value of STSplitMode according to the values of STSplitFlag, STSplitDir, and STSplitType by using the mapping manner shown in Table 3.
  • the value of STSplitMode is 2, that is, the division manner corresponding to the first node is vertical two points. .
  • the candidate partition mode set may further include only horizontal three-point and vertical three-point, and does not include horizontal binary and vertical binary.
  • the decoding device first parses the STSplitFlag from the code stream; if the value of STSplitFlag is 0.
  • the values of STSplitDir and STSplitType are both 0 by default. If the value of STSplitFlag is 1, the decoding device parses STSplitDir from the code stream, and the value of STSplitType defaults to 1.
  • the division method of the second-level coding tree further includes other division methods other than horizontal binary, vertical binary, horizontal three-point, and vertical three-point, the information analysis method exemplified in Table 2 above needs to be performed.
  • the embodiment of the present application does not specifically limit this.
  • the first information, the second information, and the third information corresponding to the plurality of candidate partitioning mode sets in the above-mentioned 15 candidate partitioning mode sets are parsed in the same or similar manner. Therefore, the foregoing several types may also be used.
  • the candidate partitioning method sets are combined into one class, and each class adopts an analytical method.
  • the analysis method of the first information, the second information, and the third information is equivalent to the above-described analysis method of determining the first information, the second information, and the third information according to Table 2, but the number of judgment branches is smaller.
  • the decoding end device may determine the first information STSplitFlag according to the parsing manner shown in Table 4, determine the second information STSplitDir according to the parsing manner shown in Table 5, and determine the third information STSplitType according to the parsing manner shown in Table 6.
  • && is logical and operation
  • is logical or operation,! It is logically non-operational.
  • a, b, and c respectively indicate that the corresponding information needs to be parsed from the code stream, and NA(x) indicates that the value of the corresponding information is set to x.
  • the decoding end device parses the STSplitFlag from the code stream; when the value of the NumType is equal to 0, the STSplitFlag The value defaults to 0.
  • the decoding device determines that the value of STSplitFlag is 1, it continues to parse STSplitDir and STSplitType; otherwise, the values of STSplitDir and STSplitType default to 0.
  • each candidate partitioning mode set includes multiple partitioning modes, and the STSplitFlag corresponding to each candidate partitioning mode set needs to be parsed from the codestream. , corresponding to the situation shown in Table 4.
  • the candidate partition mode set 15 in Table 2 does not include the partition mode, that is, the number of partition modes included in the candidate partition mode set 15 is 0, and the value of the STSplitFlag corresponding to the candidate partition mode set 15 defaults to NA (0), and Table 4 Corresponding.
  • the decoding end device determines STSplitDir in a different manner.
  • the decoding device needs to determine which method to use to determine STSplitDir according to different conditions.
  • the decoding device parses the code stream to obtain STSplitDir.
  • the value of NumType is set to ! HBT (that is, STSplitDir is 1 when HBT is 0, and STSplitDir is 0 when HBT is 1).
  • the number of partition modes included in each candidate partition mode set is greater than or equal to 3, and each candidate partition mode set in the candidate partition mode sets 1 to 5
  • the corresponding STSplitDir needs to be parsed from the code stream, corresponding to the situation shown in Table 5.
  • the candidate partition mode set 6 to 10 in Table 2 the number of the partitioning modes included in each candidate partitioning mode set is equal to 2
  • the STSplitDir corresponding to each candidate partitioning mode set in the candidate partitioning mode set 6-10 is under different conditions.
  • the analysis method is different, and corresponds to the case shown in Table 5.
  • the number of the partitioning modes included in each candidate partitioning mode set is equal to 1, and the value of the STSplitDir corresponding to each candidate partitioning mode set in the candidate partitioning mode sets 11 to 14 is a default value.
  • NA VBT
  • the number of division modes included in the candidate division mode set 15 in Table 2 is equal to 0, and the STSplitDir corresponding to the candidate division mode set 15 is the default value NA(0), which corresponds to the case shown in Table 5.
  • the method for determining the STSplitType by the decoding device according to Table 6 is similar to the method for the decoding device to determine the STSplitDir according to Table 5, and details are not described herein again.
  • the first-level coding tree partition information is represented by NSFlag and QTSplitFlag
  • the node when the value of the NSFlag of a certain node is the first value, the node is the leaf node of the second-level coding tree, and the value of the STSplitFlag is defaulted. 0; when the value of NSFlag of a node is the second value and the value of QTSplitFlag is the second value, the node is not the leaf node of the second-level coding tree, and the value of STSplitFlag defaults to 1.
  • the decoding device in the embodiment of the present application may perform S602 after executing S601, or may acquire information about a leaf node of the first-level coding tree for the first time in the process of executing S601.
  • the leaf node of the first level coding tree immediately executes S602 until the last leaf node of the first level coding tree is obtained.
  • the decoding end device parses the code stream to obtain coding information of the first node.
  • the first node is a second-level coding tree. Leaf node.
  • nodes that are no longer divided correspond to one CU.
  • the first node corresponds to one CU.
  • the decoding end device parses the coding unit syntax structure in the code stream (for example, the coding_unit() syntax structure in H.265, the explanation of the coding_unit() syntax structure is described below, and obtains the coding of each CU.
  • Information, the coding information of each CU includes information such as a prediction mode and a transform coefficient of the CU.
  • the decoding end device acquiring the encoding information of each CU means that the decoding end device obtains the encoding information of each leaf node of the second-level coding tree.
  • the decoding end device in the embodiment of the present application may obtain the information of one leaf node of the second-level coding tree in the process of performing S602, parse the code stream, and obtain the coding information of the leaf node; After the coding information of the leaf node is obtained, the leaf information of the next second-level coding tree is obtained, and the coding information of the leaf node of the next second-level coding tree is obtained, and so on, until the last second-level second-level coding The leaf node of the tree.
  • the syntax table of the second level coding tree in the embodiment of the present application is as shown in Table 7.
  • the coding_second_tree() is a grammatical structure of the second-level coding tree, and describes information of a node of the second-level coding tree.
  • log2CuWidth and log2CuHeight respectively represent the base-2 logarithm of the width and height of the image region corresponding to the node
  • stDepth represents the second-level coding tree hierarchy of the leaf node of the second-level coding tree.
  • the condition condB indicates a condition for parsing the second-level coding tree node division information syntax element STSplitMode from the code stream, for example, the condition condB is “the second-level coding tree level stDepth of the node is smaller than the preset maximum second-level coding tree level maxSTDepth, And the width and height of the image area corresponding to the node are both smaller than the threshold maxSTSize, and the width or height of the image area corresponding to the node is greater than the threshold minSTSize".
  • maxSTDepth is an integer greater than 0 (for example, 2 or 3 or 4), which can be preset or parsed from SPS;
  • minSTSize is an integer greater than 0 (for example, 4 or 8), which can be preset or parsed from SPS. ;
  • maxSTSize is an integer greater than minSTSize (for example, 64 or 128), which can be pre-set or parsed from SPS.
  • the value of STSplitMode ranges from 0, 1, 2, 3, and 4.
  • the node is a leaf node of the second-level coding tree, and the node corresponds to one CU.
  • the coding unit information is parsed according to the CU syntax structure coding_unit().
  • the embodiment of the present application does not limit the manner in which the syntax elements of the coding unit information are organized.
  • the value of STSplitMode is 1 to 4
  • the node is divided into 2 or 3 sub-nodes by using horizontal dichotomy, vertical dichotomy, horizontal triad, and vertical three-point respectively, and for each sub-node, an image corresponding to each sub-node is determined.
  • the width, height, coordinates, and second-level coding tree hierarchy of the region and then parse these child nodes according to coding_second_tree().
  • the STSplitFlag, the STSplitDir, and the STSplitType in the embodiment of the present application may be coded by a by-pass method, or may be encoded using a probability model, and the probability model may be adaptively selected based on a context.
  • the context model selection method of the STSplitFlag is: obtaining the size of the CU corresponding to the left side of the image area corresponding to the node S1, the size of the upper side of the image area corresponding to the node, and the size of the image area corresponding to the CU. S3; if both S1 and S2 are smaller than S3, the context model No. 2 is selected, and if there is only one small S3 in S1 and S2, the context model No. 1 is selected; otherwise (S1 and S2 are not smaller than S3), the context No. 0 is selected. model.
  • the left position of the image area corresponding to the node is, for example, (x0-1, y0)), and the upper position of the image area corresponding to the node is, for example, (x0, y0-1).
  • the context model selection method of STSplitDir is: if the width of the image area corresponding to the node is greater than 2 times of the height, the model No. 0 is used; if the width of the image area corresponding to the node is equal to 2 times the height, the model No. 1 is used; The width of the image area is equal to high, and the model number 2 is used; if the width of the image area corresponding to the node is equal to 1/2 of the height, the model No. 3 is used; if the width of the image area corresponding to the node is less than 1/2 of the height, the number 4 is used. model.
  • the context model selection method of STSplitType is: if the level of the secondary coding tree of the node is equal to 0, select the model number 0; if the level of the secondary coding tree of the node is equal to 1, select the model number 1; if the level of the secondary coding tree of the node is greater than 1 , choose model number 2.
  • the decoding end device performs decoding and reconstruction on the coding unit according to the coding information of the three child nodes of the first node, to obtain an image corresponding to the image data.
  • the process of decoding and reconstructing a coding unit includes processing such as prediction, inverse quantization, inverse transform, loop filtering, and the like.
  • the process of performing decoding reconstruction for each coding unit includes:
  • the transform coefficient of the CU is inverse quantized and inverse transformed according to the quantization parameter and the transform mode, and the reconstructed residual of the CU is obtained. If the CU does not have a transform coefficient, the reconstructed residual of the CU is 0, that is, the reconstructed residual value of each pixel in the CU is 0.
  • the encoding end device performs decoding reconstruction on each coding unit according to the above method, and acquires a reconstructed image block of each CU. After acquiring the reconstructed image block of each CU, the encoding end device obtains the final reconstructed image according to all the reconstructed image blocks obtained, that is, obtains an image corresponding to the image data.
  • the division manner corresponding to the first node of the second-level coding tree in the embodiment of the present application is one of the first preset division conditions, and the first preset division condition is used to indicate whether to limit the first division according to the target division manner.
  • a node and the target division manner includes at least one of a horizontal dichotomy, a horizontal triad, a vertical dichotomy, and a vertical triad.
  • the number of division manners corresponding to the first node is decreased, The complexity of decoding is effectively reduced.
  • the decoding device may further determine the first information, the third information, and the second information according to the parsing method shown in Table 8, and further obtain the second level encoding according to the mapping manner shown in Table 3.
  • the node division mode information of the tree may be further determined.
  • Table 8 is similar to Table 2 and will not be described in detail here.
  • the first information, the third information, and the second information corresponding to the plurality of candidate partitioning mode sets of the 15 candidate partitioning mode sets shown in Table 8 are parsed in the same or similar manner. Therefore, the foregoing may also be Several sets of candidate partitioning methods are combined into one class, and each class adopts an analytical method.
  • the parsing method of the first information, the third information, and the second information is equivalent to the above-described parsing method for determining the first information, the third information, and the second information according to Table 8, but the judging branch is less.
  • the decoding device can determine the first information STSplitFlag according to the parsing manner shown in Table 4, determine the third information STSplitType according to the parsing manner shown in Table 9, and determine the second information STSplitDir according to the parsing manner shown in Table 10.
  • the decoding end device determines the node division manner information of the second-level coding tree according to the order of the first information, the second information, and the third information, or according to the order of the first information, the third information, and the second information
  • the node division mode information of the second-level coding tree is determined. Under the action of the first preset division condition, the decoding end device can decode quickly, and the decoding complexity is low.
  • the method for decoding image data includes:
  • the decoding end device obtains a code stream that includes image data.
  • the decoding end device decodes the obtained code stream to obtain node division manner information of the first-level coding tree.
  • S701 can refer to the description of S601 above, and details are not described herein again.
  • the decoding end device parses the obtained code stream to obtain node division mode information of the second-level coding tree.
  • the node division mode information of the second-level coding tree indicates a division manner corresponding to the first node in the second-level coding tree, and the division manner corresponding to the first node is one of the candidate division manners corresponding to the first node,
  • the candidate mode set corresponding to the first node is determined according to the first preset dividing condition and the second preset dividing condition, where the first preset dividing condition is used to indicate whether to limit the first node according to the target dividing manner, and the target dividing manner includes At least one of a horizontal dichotomy, a horizontal three-division, a vertical dichotomy, and a vertical three-division, the second preset division condition is used to indicate whether to limit the division of the first node according to the quadtree division.
  • the root node of the second level coding tree is a leaf node of the first level coding tree.
  • the node division manner corresponding to the second-level coding tree is different from the node division manner corresponding to the first-level coding tree.
  • the node division manner corresponding to the second-level coding tree includes binary tree division, tri-tree division, and quad-tree division.
  • the binary tree division includes a horizontal dichotomy and a vertical dichotomy
  • the trigeminal tree division includes a horizontal three-point and a vertical three-point.
  • the decoding end device needs to determine a candidate partitioning mode set corresponding to the first node according to the first preset dividing condition and the second preset dividing condition.
  • the first preset dividing condition is the same as the first preset dividing condition in the embodiment in FIG. 6, where the second preset dividing condition may include at least one preset dividing sub-condition:
  • the tenth preset sub-condition if the second-level coding tree level of the first node is smaller than the preset maximum second-level coding tree level, the candidate partition mode set corresponding to the first node does not include the quad-tree partition.
  • the eleventh preset sub-conditions are: if the aspect ratio of the image region corresponding to the first node is greater than or equal to the fifth preset threshold, the candidate partition mode set corresponding to the first node does not include the quadtree partition.
  • the decoding end device in this embodiment first determines, according to the first preset dividing condition and the second preset dividing condition, a candidate partitioning mode set corresponding to the first node, and then according to the corresponding dividing manner of the first node. And parsing the code stream, and determining node division mode information corresponding to the second-level coding tree.
  • the fourth identifier in this embodiment further includes fourth information (the fourth information in the text is represented by STQTSplitFlag), and the fourth information is used to indicate whether the first node is divided according to the quadtree partition. That is, the fourth identifier in this embodiment includes the first information, the second information, the third information, and the fourth information.
  • the value of the STQTSplitFlag is equal to 1 and the division mode corresponding to the node corresponding to the fourth identifier includes a quadtree partition.
  • the value of the STQTSplitFlag is equal to 0, and the candidate partition mode set corresponding to the node corresponding to the fourth identifier does not include. Quadtree division.
  • the decoding end device sequentially determines the first information, the second information, the third information, and the fourth information, so as to determine the node division manner information corresponding to the second-level coding tree.
  • the decoding device in this embodiment may determine the first information according to the content of the first value and the fourth information in the embodiment in FIG. 6, thereby determining the second information and the third. information.
  • the decoding end device may determine the first information STSplitFlag according to the parsing manner shown in Table 11, and determine the fourth information STQTSplitFlag according to the parsing manner shown in Table 12.
  • the value of QT is 1 to indicate that the first node is divided according to the QT division mode, and the value of QT is 0, indicating that the first node is not allowed to be divided according to the QT division manner.
  • the decoding end device parses the STQTSplitFlag from the code stream; otherwise, the value of the STQTSplitFlag defaults to 0. If the value of STQTSplitFlag is 0, then STSplitDir and STSplitType continue to be parsed in order; otherwise, the values of STSplitDir and STSplitType default to 0.
  • the parsing manners of the STSplitDir and the STSplitType are the same as those of the STSplitDir and the STSplitType in the embodiment shown in FIG. 6, and details are not described herein again.
  • the decoding end device may determine the fourth identifier STSplitMode according to the four values, that is, determine the division manner information of the first node in the second-level coding tree.
  • the decoding end device determines the value of STSplitMode according to the values of STSplitFlag, STSplitDir, STSplitType, and STQTSplitFlag using the mapping manner shown in Table 13.
  • the STQTSplitFlag in this embodiment can also be encoded using a skip mode, or encoded using one probability model, or encoded using multiple probability models.
  • the decoding end device parses the code stream to obtain coding information of the first node.
  • S703 can refer to the above S603, and details are not described herein.
  • the decoding end device performs decoding and reconstruction on the coding unit according to the coding information of the three child nodes of the first node, to obtain an image corresponding to the image data.
  • S704 can refer to the foregoing S604, and details are not described herein again.
  • the partitioning manner corresponding to the second-level coding tree in this embodiment further includes a quad-tree partitioning, and further restricts the partition included in the candidate partitioning mode set corresponding to the first node. In this way, the decoding rate of the decoding device can be further improved.
  • the embodiment of the present application further provides an encoding method of image data, which can be applied to the image processing system shown in FIG. 4.
  • the encoding method of the image data includes:
  • the encoding end device determines a CTU corresponding to the image block to be encoded.
  • an image is composed of a plurality of CTUs, and a CTU generally corresponds to a square image area.
  • the encoding end device After acquiring an image, the encoding end device performs encoding processing on each CTU of the image.
  • the coding process of the CPT is the same for each CTU. Therefore, the coding process of one CTU by the coding end device is taken as an example for description.
  • the coding end device divides the CTU according to a node division manner corresponding to the first-level coding tree, and obtains a leaf node of the first-level coding tree.
  • the root node of the first-level coding tree corresponds to the CTU, and the node division manner corresponding to the first-level coding tree is a quad-tree partition.
  • the encoding end device determines the CTU as the root node of the first-level coding tree, and uses the QT division manner to recursively divide the CTU into at least one leaf node.
  • the encoding end device After acquiring the at least one leaf node of the first-level coding tree, the encoding end device determines each leaf node of the first-level coding tree as the root node of the second-level coding tree, and sequentially pairs each of the second-level coding trees.
  • the root nodes perform the following steps until information about all leaf nodes of the second level coding tree is obtained.
  • the embodiment of the present application is described by taking the processing of the first node in the second-level coding tree by the encoding end device as an example.
  • the encoding end device determines a candidate partitioning mode set corresponding to the first node in the second-level coding tree, where the candidate partitioning mode set corresponding to the first node meets the first preset dividing condition.
  • the first preset dividing condition is used to indicate whether to limit the first node according to the target dividing manner, and the root node of the second-level coding tree is a leaf node of the first-level coding tree, and the target dividing manner includes horizontal two-point, horizontal three-point, At least one of a vertical two-point and a vertical three-point.
  • the division manner that the first node can use includes non-continuation division, horizontal dichotomy, horizontal trisection, vertical dichotomy, vertical triad, and quadtree division. the way.
  • the encoding end device needs to calculate the RD cost of the six partitioning modes in turn, resulting in high coding complexity.
  • An embodiment of the present application provides a first preset dividing condition that limits a dividing manner that can be used by a first node, where the first preset dividing condition is the same as the first preset dividing condition described in the embodiment shown in FIG. No detailed description will be given.
  • the number of partitioning modes included in the candidate partitioning mode set corresponding to the first node is limited, so that in most cases, the encoding end device does not need to calculate six types for the first node.
  • the RD cost of the division mode reduces the coding complexity.
  • the encoding end device encodes the CU corresponding to the first node to obtain a coding unit code stream corresponding to the CU.
  • the candidate partitioning mode set corresponding to the first node includes not continuing to divide, the first node is a leaf node of the second-level coding tree, and the first node corresponds to one CU.
  • the encoding end device encodes the CU corresponding to the first node to obtain a coded unit code stream with the CU.
  • the CU coding includes a prediction, a transform, a quantization, and an entropy coding.
  • the encoding end device encodes the CU, and the process of obtaining the CU code stream of the CU mainly includes:
  • the encoding end device selects the intra prediction or the inter prediction according to the prediction mode to obtain the predicted pixel of the CU.
  • the encoding end device changes and quantizes the residual between the original pixel of the CU and the predicted pixel of the CU to obtain a transform coefficient, and performs inverse quantization and inverse transform processing on the obtained transform coefficient, thereby obtaining the CU. Rebuild the residual.
  • the encoding end device adds the predicted pixel of the CU and the reconstructed residual of the CU, and performs loop filtering processing to obtain the reconstructed pixel of the CU.
  • the encoding end device entropy encodes the prediction mode and the transform coefficient of the CU to obtain a CU code stream.
  • the method for generating the CU code stream of the CU may refer to the existing method for generating the CU code stream, and details are not described herein again.
  • the encoding end device calculates the RD cost of each partitioning mode in the candidate partitioning mode set corresponding to the first node.
  • the encoding end device divides the first node by using the dividing mode, and obtains all the CUs after the first node is divided by the dividing mode, and the encoding end device calculates each The RD cost of each CU, and the sum of the RD costs of all CUs is determined as the RD cost of the division mode.
  • the RD cost of the CU is equal to the sum of the Sum of Squared Errors (SSE) of the reconstructed distortion of the pixel included in the CU and the estimated number of bits of the CU corresponding code stream. with.
  • SSE Sum of Squared Errors
  • the coding end device determines a division manner corresponding to a minimum rate distortion cost as a target division manner corresponding to the first node.
  • the coding end device divides the first node by using a target division manner corresponding to the first node.
  • the S802-S806 is sequentially executed for each child node of the first node until all the leaf nodes in the second-level coding tree are acquired.
  • Each leaf node of the second-level coding tree corresponds to one CU, and after obtaining all the leaf nodes of the second-level coding tree, the coding end device can acquire the CU corresponding to each leaf node of the second-level coding tree. It can be known from S803 that the encoding end device encodes one CU to obtain the CU code stream corresponding to the CU. Therefore, the encoding end device can obtain at least one CU code stream. In this way, the encoding end device can obtain the CTU code stream according to the at least one CU code stream, the node division manner information corresponding to the first level coding tree, and the node division manner information corresponding to the second level coding tree, thereby generating a code stream including the image data. .
  • the second preset dividing condition may include at least one of the following predetermined dividing sub-conditions:
  • the tenth preset sub-condition if the second-level coding tree level of the first node is smaller than the preset maximum second-level coding tree level, the candidate partition mode set corresponding to the first node does not include the quad-tree partition.
  • the eleventh preset sub-conditions are: if the aspect ratio of the image region corresponding to the first node is greater than or equal to the fifth preset threshold, the candidate partition mode set corresponding to the first node does not include the quadtree partition.
  • the first preset condition in the embodiment of the present application limits the division of nodes in the second-level coding tree, so that the complexity of dividing the nodes in the second-level coding tree is greatly reduced, and the coding complexity is reduced.
  • the embodiment of the present application provides a decoding end device, which is used to perform the steps performed by the decoding end device in the decoding method of the above image data.
  • the decoding device provided by the embodiment of the present application may include a module corresponding to the corresponding step.
  • the embodiment of the present application may perform the division of the function module on the decoding end device according to the foregoing method example.
  • each function module may be divided according to each function, or two or more functions may be integrated into one processing module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
  • the division of modules in the embodiments of the present application is schematic, and is only a logical function division, and may be further divided in actual implementation.
  • FIG. 9 shows a possible structural diagram of the terminal device involved in the foregoing embodiment, in the case where the respective functional modules are divided by corresponding functions.
  • the decoding end device includes an obtaining module 900, a parsing module 901, and a decoding and resolving module 910.
  • the obtaining module 900 is configured to support the decoding end device to perform S600, and/or S700, etc. in the foregoing embodiments, and/or other processes for the techniques described herein;
  • the parsing module 901 is configured to support the decoding end device to perform the above S601, S602, S603, S701, S702, and/or S703, etc.
  • the decoding reconstruction module 910 is configured to support the decoding end device to perform the above embodiment S604, and/or S704, etc., and/or other processes for the techniques described herein. All the related content of the steps involved in the foregoing method embodiments may be referred to the functional descriptions of the corresponding functional modules, and details are not described herein again.
  • the decoding device provided by the embodiment of the present application includes, but is not limited to, the foregoing module.
  • the decoding device may further include a storage module 911.
  • the storage module 911 can be used to store program code and data of the decoding end device.
  • the resolution module 901 and the decoding reconstruction module 910 in the embodiment of the present application may be the processor 57 in FIG. 5, and the acquisition module 900 may be the RF circuit 50 in FIG. 5 and the RF.
  • the antenna connected to the circuit 50, the memory module 911 may be the memory 51 in FIG.
  • the decoding device When the decoding device operates, the decoding device performs a decoding method of the image data of the embodiment as shown in FIG. 6 or 7.
  • the decoding device performs a decoding method of the image data of the embodiment as shown in FIG. 6 or 7.
  • the decoding device performs a decoding method of the image data of the embodiment as shown in FIG. 6 or 7.
  • Another embodiment of the present application further provides a computer readable storage medium including one or more program codes, the one or more programs including instructions, when a processor in a decoding end device is executing the At the time of the program code, the decoding device performs a decoding method of the image data as shown in FIG. 6 or 7.
  • a computer program product comprising computer executed instructions stored in a computer readable storage medium; at least one processor of the decoding end device is The computer readable storage medium reads the computer execution instructions, and the at least one processor executes the computer execution instructions such that the decoding end device implements the step of executing the decoding end device in the decoding method of the image data shown in FIG. 6 or FIG.
  • the embodiment of the present application provides an encoding end device, which is used to perform the steps performed by the encoding end device in the decoding method of the above image data.
  • the encoding end device provided by the embodiment of the present application may include a module corresponding to the corresponding step.
  • the embodiment of the present application may perform the division of the function module on the encoding end device according to the foregoing method example.
  • each function module may be divided according to each function, or two or more functions may be integrated into one processing module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
  • the division of modules in the embodiments of the present application is schematic, and is only a logical function division, and may be further divided in actual implementation.
  • FIG. 10 shows a possible structural diagram of the terminal device involved in the foregoing embodiment in the case where the respective functional modules are divided by corresponding functions.
  • the encoding end device includes a determining module 1000, a dividing module 1001, an encoding module 1010, and a computing module 1011.
  • the determining module 1000 is configured to support the encoding end device to perform S800, S802, and/or S805 and the like in the above embodiments, and/or other processes for the techniques described herein;
  • the dividing module 1001 is configured to support the encoding end device Performing S801, and/or S806, etc.
  • encoding module 1010 is configured to support the encoding end device to perform S803 in the above embodiment, and/or Other processes of the techniques described herein;
  • computing module 1011 is for supporting the encoding end device to perform S804 in the above-described embodiments, and/or other processes for the techniques described herein. All the related content of the steps involved in the foregoing method embodiments may be referred to the functional descriptions of the corresponding functional modules, and details are not described herein again.
  • the encoding end device provided by the embodiment of the present application includes but is not limited to the foregoing module.
  • the encoding end device may further include a storage module 1002, a sending module 1003, and a receiving module 1004.
  • the storage module 1002 can be used to store program code and data of the encoding end device.
  • the transmitting module 1003 and the receiving module 1004 are configured to communicate with other devices.
  • the determining module 1000, the dividing module 1001, the encoding module 1010, and the computing module 1011 in the embodiment of the present application may be the processor 57 in FIG. 5, and the sending module 1003 and the receiving module 1004 may be in the form of an integrated unit.
  • the RF circuit 50 in 5 and the antenna connected to the RF circuit 50, the memory module 1002 may be the memory 51 in FIG.
  • the encoding device When the encoding device operates, the encoding device performs a decoding method of the image data of the embodiment shown in FIG.
  • the decoding method of the specific image data refer to the related description in the embodiment shown in FIG. 8 above, and details are not described herein again.
  • Another embodiment of the present application further provides a computer readable storage medium comprising one or more program codes, the one or more programs including instructions, when a processor in an encoding end device is executing the At the time of the program code, the encoding side device executes the decoding method of the image data as shown in FIG.
  • a computer program product comprising computer executed instructions stored in a computer readable storage medium; at least one processor of the encoding end device is The computer readable storage medium reads the computer execution instructions, and the at least one processor executes the computer execution instructions such that the encoding side device implements the steps of the encoding end device in the decoding method of the image data shown in FIG.
  • the computer program product includes one or more computer instructions.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions can be stored in a computer readable storage medium or transferred from one computer readable storage medium to another computer readable storage medium, for example, the computer instructions can be from a website site, computer, server or data center Transfer to another website site, computer, server, or data center by wire (eg, coaxial cable, fiber optic, digital subscriber line (DSL), or wireless (eg, infrared, wireless, microwave, etc.).
  • the computer readable storage medium can be any available media that can be accessed by a computer or a data storage device such as a server, data center, or the like that includes one or more available media.
  • the usable medium may be a magnetic medium (eg, a floppy disk, a hard disk, a magnetic tape), an optical medium (eg, a DVD), or a semiconductor medium (such as a solid state disk (SSD)).
  • the units described as separate components may or may not be physically separated, and the components displayed as units may be one physical unit or multiple physical units, that is, may be located in one place, or may be distributed to multiple different places. . Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a readable storage medium.
  • the technical solution of the embodiments of the present application may be embodied in the form of a software product in the form of a software product in essence or in the form of a contribution to the prior art, and the software product is stored in a storage medium.
  • a number of instructions are included to cause a device (which may be a microcontroller, chip, etc.) or a processor to perform all or part of the steps of the methods described in various embodiments of the present application.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .

Landscapes

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

Abstract

本申请实施例公开了一种图像数据的编码、解码方法及装置,涉及图像处理领域,解决了编码复杂度较高的问题。解码方法包括:得到包含图像数据的码流;解析码流,得到第一级编码树的节点划分方式信息和第二级编码树的节点划分方式信息,第二级编码树的节点划分方式信息指示第二级编码树中第一节点对应的划分方式,第一节点对应的划分方式为根据第一预设划分条件确定的第一节点对应的候选划分方式集合中的一种,第一预设划分条件用于指示是否限制按照目标划分方式划分第一节点;如果第一节点对应的划分方式为不继续划分,解析码流,得到第一节点的编码信息;根据第一节点的编码信息,对第一节点对应的编码单元进行解码重建,得到对应图像数据的图像。

Description

一种图像数据的编码、解码方法及装置 技术领域
本申请实施例涉及图像处理领域,尤其涉及一种图像数据的编码、解码方法及装置。
背景技术
视频编解码标准H.265将一帧图像分割成互不重叠的编码树单元(Coding Tree Unit,CTU),并将每个CTU作为四叉树(Quad-Tree,QT)的根节点,按照QT结构将每个CTU递归划分为若干个叶节点。QT结构中的每个节点对应一个图像区域。如果某一节点不再划分,则该节点称为叶节点,它对应的图像区域形成一个编码单元(Coding Unit,CU)。因此,可以认为H.265是一种将CTU划分为一组CU的过程。将CTU划分成一组CU的划分方式对应于一个编码树(coding tree)。
未来视频编码联合探索组(Joint Exploration team on Future Video Coding,JVET)参考软件联合探索模型(Joint Exploration Model,JEM)提出了QTBT划分方式,即第一级编码树中的节点采用QT划分方式,第二级编码树中的节点采用二叉树(Binary Tree,BT)划分方式(BT划分方式包括“水平二分”和“竖直二分”)。具体的,将CTU先按照QT划分方式划分,以获取若干个QT叶节点;QT的叶节点可以按照BT划分方式划分。QTBT划分方式中CU形状更加多样,能够更好地适应局部图像的内容。
但是,对于每个节点,编码端设备通常需要计算该节点能够使用的每一种划分方式的率失真代价(Rate Distortion cost,RD cost),比较计算出的RD cost,并将最小的RD cost所对应的划分方式确定为该节点的划分方式。因此,对于每个节点,编码端设备均需要计算多种划分方式的RD cost,这样的话,编码复杂度较高。
发明内容
本申请实施例提供一种图像数据的编码、解码方法及装置,能够解决目前编码复杂度较高的问题。
为达到上述目的,本申请实施例采用如下技术方案:
第一方面,提供一种图像数据的解码方法,解码端设备在得到包含图像数据的码流后,通过解析该码流,得到第一级编码树的节点划分方式信息和第二级编码树的节点划分方式信息,其中,第二级编码树的节点划分方式信息指示第二级编码树中的第一节点对应的划分方式,第一节点对应的划分方式为第一节点对应的候选划分方式集合中的一种,第一节点对应的候选方式集合是根据第一预设划分条件确定的,第一预设划分条件用于指示是否限制按照目标划分方式划分第一节点,目标划分方式包括水平二分、水平三分、竖直二分和竖直三分的至少一种,如果第一节点对应的划分方式为不继续划分,该解码端设备通过解析码流,得到第一节点的编码信息,第一节点对应一个编码单元CU,这样,该解码端设备可根据第一节点的编码信息,对编码单元 进行解码重建,得到对应图像数据的图像。本申请中第一级编码树的根节点对应一个CTU,第一级编码树的叶节点是通过第一级编码树的节点划分方式信息对应的节点划分方式和第一级编码树的根节点进行指示的,第二级编码树的根节点为第一级编码树的一个叶节点。
本申请实施例中第二级编码树的第一节点对应的划分方式是根据第一预设划分条件确定出的其中一个,第一预设划分条件用于指示是否限制按照目标划分方式划分第一节点,且该目标划分方式包括水平二分、水平三分、竖直二分和竖直三分的至少一种,在第一预设划分条件的作用下,第一节点对应的划分方式的数量减少,有效地降低了解码的复杂度。
可选的,在本申请的一种可能的实现方式中,第一级编码树对应的节点划分方式与第二级编码树对应的节点划分方式不相同,第一级编码树对应的节点划分方式包括四叉树划分,第二级编码树对应的节点划分方式包括二叉树划分和三叉树划分。
可选的,在本申请的另一种可能的实现方式中,上述第一预设划分条件包括第一预设划分子条件、第二预设划分子条件、第三预设划分子条件、第四预设划分子条件、第五预设划分子条件、第六预设划分子条件、第七预设划分子条件、第八预设划分子条件以及第九预设划分子条件中的至少一种。其中,第一预设划分子条件为如果第一节点对应的图像区域的宽高比大于或等于第一预设阈值,第一节点对应的候选划分方式集合不包括水平二分和水平三分,第一节点对应的图像区域的宽高比为第一节点对应的图像区域的宽与第一节点对应的图像区域的高的比值。第二预设划分子条件为如果第一节点对应的图像区域的高宽比大于或等于第二预设阈值,第一节点对应的候选划分方式集合不包括竖直二分和竖直三分,第一节点对应的图像区域的高宽比为第一节点对应的图像区域的高与第一节点对应的图像区域的宽的比值。第三预设划分子条件为如果第一节点对应的图像区域的面积与第一节点归属的第一级编码树的叶节点对应的图像区域的面积的比值小于或等于第三预设阈值,则第一节点对应的候选划分方式集合不包括水平二分、水平三分、竖直二分和竖直三分。第四预设划分子条件为如果第一节点对应的划分方式包括第一划分方式,第一节点的第一子节点的解码顺序晚于第一节点的第二子节点,且第二子节点对应的划分方式为第一划分方式,则第一子节点对应的候选划分方式集合不包括第一划分方式,第一划分方式为水平二分或竖直二分。第五预设划分子条件为如果第一节点对应的划分方式包括第二划分方式,第一节点的第一子节点对应的图像区域的面积为第一节点的三个子节点对应的图像区域的面积中最小的,第一子节点对应的候选划分方式集合不包括第二划分方式,第二划分方式为水平三分或竖直三分。第六预设划分子条件为如果第一节点对应的划分方式包括第二划分方式,第一节点的第一子节点对应的图像区域的面积为第一节点的三个子节点对应的图像区域的面积中最大的,第一子节点对应的候选划分方式集合不包括第二划分方式。第七预设划分子条件为如果第一节点对应的图像区域的宽与预设的最小CU的边长比值小于或等于第三预设阈值,则第一节点对应的候选划分方式集合不包括竖直三分;如果第一节点对应的图像区域的高与预设的最小CU的边长比值小于或等于第三预设阈值,则第一节点对应的候选划分方式集合不包括水平三分。第八预设划分子条件为如果第一节点对应的图像区域的面积小于或者等于第四预设阈值, 第一节点对应的候选划分方式集合不包括水平二分、水平三分、竖直二分和竖直三分。第九预设划分子条件为如果第一节点对应的划分方式为第二划分方式,第一节点的第一子节点对应的图像区域的面积为第一节点的三个子节点对应的图像区域的面积中最大的,第一子节点对应的候选划分方式集合不包括第一划分方式,第一划分方式与第二划分方式的划分方向相同。
可选的,在本申请的另一种可能的实现方式中,上述第二级编码树的节点划分方式信息包括第一信息、第二信息以及第三信息,第一信息用于表示是否继续划分第一节点,第二信息用于表示划分第一节点的方向,第三信息用于表示划分第一节点的模式。在这种场景中,上述“解析码流,得到第二级编码树的节点划分方式信息”的方法为:解析码流,根据第一预设划分条件,确定第一节点对应的候选划分方式集合;根据第一节点对应的候选划分方式集合,解析码流,确定第一信息、第二信息以及第三信息。
解码端设备根据第一节点对应的候选划分方式集合,获取上述第一信息、第二信息以及第三信息的解析方法,第一信息、第二信息以及第三信息的值可以从码流中解析得到,也可以为系统预设的。
可选的,在本申请的另一种可能的实现方式中,“根据第一节点对应的候选划分方式集合,解析码流,确定第一信息、第二信息以及第三信息”的方法具体为:先确定第一数值,该第一数值为第一节点对应的候选划分方式集合包括的划分方式的数量;再根据第一数值,解析码流,确定第一信息、第二信息以及第三信息。
第二级编码树中节点对应的候选方式集合最多可包括十五种划分方式,对于这十五种划分方式中的若干种划分方式而言,获取第一信息、第二信息以及第三信息的方法相同或相近。因此,解码端设备可以根据第一节点对应的候选方式集合所包括的划分方式的数量(级第一数值)确定第一信息、第二信息以及第三信息,这样,解码端设备可更快的确定出第二级编码树的节点划分方式信息。
可选的,在本申请的另一种可能的实现方式中,第二级编码树对应的节点划分方式还包括四叉树划分。这样的话,上述“解析码流,得到第二级编码树的节点划分方式信息”的方法为:解析码流,得到第二级编码树的节点划分方式信息,其中,第二级编码树的节点划分方式信息指示第二级编码树中的第一节点对应的划分方式,第一节点对应的划分方式为第一节点对应的候选划分方式集合中的一种,第一节点对应的候选方式集合是根据第一预设划分条件和第二预设划分条件确定的,第二预设划分条件用于指示是否限制按照四叉树划分进行划分第一节点。
可选的,在本申请的另一种可能的实现方式中,上述第二预设划分条件包括第十预设划分子条件和第十一预设划分子条件中的至少一种。其中,第十预设划分子条件为如果第一节点的第二级编码树层级小于预设的最大第二级编码树层级,第一节点对应的候选划分方式集合不包括四叉树划分。第十一预设划分子条件为如果第一节点对应的图像区域的宽高比大于或等于第五预设阈值,第一节点对应的候选划分方式集合不包括四叉树划分。
可选的,在本申请的另一种可能的实现方式中,第二级编码树的节点划分方式信息还包括第四信息,第四信息用于表示是否按照四叉树划分进行划分第一节点。相应 的,上述“解析码流,得到第二级编码树的节点划分方式信息”的方法为:解析码流,根据第一预设划分条件和第二预设划分条件,确定第一节点对应的候选划分方式集合;根据第一节点对应的划分方式,解析码流,确定第一信息、第二信息、第三信息以及第四信息。
第二方面,提供一种解码端设备,该解码端设备包括获取模块、解析模块以及解码重建模块。其中,上述获取模块,用于得到包含图像数据的码流。上述解析模块,用于解析上述获取模块获取到的码流,得到第一级编码树的节点划分方式信息,其中,第一级编码树的根节点对应一个编码树单元CTU,第一级编码树的叶节点是通过第一级编码树的节点划分方式信息对应的节点划分方式和第一级编码树的根节点进行指示的,以及用于解析码流,得到第二级编码树的节点划分方式信息,其中,第二级编码树的节点划分方式信息指示第二级编码树中的第一节点对应的划分方式,第一节点对应的划分方式为第一节点对应的候选划分方式集合中的一种,第一节点对应的候选方式集合是根据第一预设划分条件确定的,第一预设划分条件用于指示是否限制按照目标划分方式划分第一节点,目标划分方式包括水平二分、水平三分、竖直二分和竖直三分的至少一种,第二级编码树的根节点为第一级编码树的一个叶节点,以及用于如果第一节点对应的划分方式为不继续划分,解析码流,得到第一节点的编码信息,其中,第一节点对应一个编码单元CU。上述解码重建模块,用于根据上述解析模块得到的第一节点的编码信息,对编码单元进行解码重建,得到对应图像数据的图像。
可选的,在本申请的一种可能的实现方式中,第一级编码树对应的节点划分方式与第二级编码树对应的节点划分方式不相同,第一级编码树对应的节点划分方式包括四叉树划分,第二级编码树对应的节点划分方式包括二叉树划分和三叉树划分。
可选的,在本申请的另一种可能的实现方式中,第一级编码树对应的节点划分方式包括四叉树划分,第二级编码树对应的节点划分方式包括二叉树划分和三叉树划分。
可选的,在本申请的另一种可能的实现方式中,第二级编码树的节点划分方式信息包括第一信息、第二信息以及第三信息,第一信息用于表示是否继续划分第一节点,第二信息用于表示划分第一节点的方向,第三信息用于表示划分第一节点的模式。相应的,上述解析模块,具体用于解析码流,根据第一预设划分条件,确定第一节点对应的候选划分方式集合,以及具体用于根据第一节点对应的候选划分方式集合,解析码流,确定第一信息、第二信息以及第三信息。
可选的,在本申请的另一种可能的实现方式中,上述解析模块,具体用于确定第一数值,第一数值为第一节点对应的候选划分方式集合包括的划分方式的数量,以及具体用于根据第一数值,解析码流,确定第一信息、第二信息以及第三信息。
可选的,在本申请的另一种可能的实现方式中,第二级编码树对应的节点划分方式还包括四叉树划分。相应的,上述解析模块,具体用于解析码流,得到第二级编码树的节点划分方式信息,其中,第二级编码树的节点划分方式信息指示第二级编码树中的第一节点对应的划分方式,第一节点对应的划分方式为第一节点对应的候选划分方式集合中的一种,第一节点对应的候选方式集合是根据第一预设划分条件和第二预设划分条件确定的,第二预设划分条件用于指示是否限制按照四叉树划分进行划分第 一节点。
可选的,在本申请的另一种可能的实现方式中,第二级编码树的节点划分方式信息还包括第四信息,第四信息用于表示是否按照四叉树划分进行划分第一节点。相应的,上述解析模块,具体用于解析码流,根据第一预设划分条件和第二预设划分条件,确定第一节点对应的候选划分方式集合,以及具体用于根据第一节点对应的划分方式,解析码流,确定第一信息、第二信息、第三信息以及第四信息。
第二方面中的第一预设划分条件可参考上述第一方面中的第一预设划分条件的描述,同理,第二方面中的第二预设划分条件可参考上述第一方面中的第二预设划分条件的描述。
第三方面,提供一种解码端设备,其特征在于,解码端设备包括:一个或多个处理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,解码端设备执行如上述第一及其任意一种可能的实现方式的图像数据的解码方法。
第四方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,其特征在于,当指令在解码端设备上运行时,使得解码端设备执行如上述第一方面及其任意一种可能的实现方式的图像数据的解码方法。
第五方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在解码端设备上运行时,使得解码端设备执行如第一方面及其任意一种可能的实现方式的图像数据的解码方法。
本申请中第二方面、第三方面、第四方面、第五方面及其各种实现方式的具体描述,可以参考第一方面及其各种实现方式中的详细描述;并且,第二方面、第三方面、第四方面、第五方面及其各种实现方式的有益效果,可以参考第一方面及其各种实现方式中的有益效果分析,此处不再赘述。
在本申请中,上述解码端设备的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
第六方面,提供一种图像数据的解码方法,编码端设备在确定与待编码图像块对应的CTU后,将该CTU按照第一级编码树对应的节点划分方式进行划分,得到第一级编码树的叶节点,其中,第一级编码树的根节点对应该CTU;编码端设备确定第二级编码树中的第一节点对应的候选划分方式集合,该第一节点对应的候选划分方式集合满足用于指示是否限制按照目标划分方式划分第一节点的第一预设划分条件,目标划分方式包括水平二分、水平三分、竖直二分和竖直三分中的至少一种,第二级编码树的根节点为第一级编码树的一个叶节点;如果第一节点对应的候选划分方式集合包括不继续划分,该编码端设备对与第一节点对应的编码单元进行编码,得到对应编码单元的编码单元码流。
本申请实施例中的第一预设划分条件限制了第二级编码树中的节点的划分方式,大幅度的减少了划分第二级编码树中节点的复杂度,降低了编码复杂度。
可选的,在本申请的一种可能的实现方式中,第一级编码树对应的节点划分方式包括四叉树划分,第二级编码树对应的节点划分方式包括二叉树划分和三叉树划分。
可选的,在本申请的另一种可能的实现方式中,第二级编码树对应的节点划分方式还包括四叉树划分。这样的话,上述“确定第二级编码树中的第一节点对应的候选划分方式集合”的方法为:确定第一节点对应的候选划分方式集合,第一节点对应的候选划分方式集合满足第一预设划分条件和第二预设限制条件,第二预设划分条件用于指示是否限制按照四叉树划分进行划分第一节点。
可选的,在本申请的另一种可能的实现方式中,如果第一节点对应的候选划分方式集合包括除不继续划分以外的其他划分方式,计算第一节点能够使用的划分方式中的每种划分方式的率失真代价;将最小的率失真代价对应的划分方式确定为第一节点对应的目标划分方式;使用第一节点对应的目标划分方式划分第一节点。
第六方面中的第一预设划分条件可参考上述第一方面中的第一预设划分条件的描述,同理,第六方面中的第二预设划分条件可参考上述第一方面中的第二预设划分条件的描述。
第七方面,提供一种编码端设备,该编码端设备包括确定模块、划分模块和编码模块。其中,上述确定模块,用于确定与待编码图像块对应的编码树单元CTU。上述划分模块,用于将上述确定模块确定的CTU按照第一级编码树对应的节点划分方式进行划分,得到第一级编码树的叶节点,第一级编码树的根节点对应CTU。上述确定模块,还用于确定第二级编码树中的第一节点对应的候选划分方式集合,第一节点对应的候选划分方式集合满足第一预设划分条件,第一预设划分条件用于指示是否限制按照目标划分方式划分第一节点,第二级编码树的根节点为第一级编码树的一个叶节点,目标划分方式包括水平二分、水平三分、竖直二分和竖直三分中的至少一种。上述编码模块,用于如果上述确定模块确定的第一节点对应的候选划分方式集合包括不继续划分,对与第一节点对应的编码单元CU进行编码,得到对应编码单元的编码单元码流。
可选的,在本申请的一种可能的实现方式中,第一级编码树对应的节点划分方式包括四叉树划分,第二级编码树对应的节点划分方式包括二叉树划分和三叉树划分。
可选的,在本申请的一种可能的实现方式中,第二级编码树对应的节点划分方式还包括四叉树划分。相应的,上述确定模块,具体用于确定第一节点对应的候选划分方式集合,第一节点对应的候选划分方式集合满足第一预设划分条件和第二预设限制条件,第二预设划分条件用于指示是否限制按照四叉树划分进行划分第一节点。
可选的,在本申请的一种可能的实现方式中,本申请实施例提供的编码端设备还包括计算模块,该计算模块用于如果上述确定模块确定的第一节点对应的候选划分方式集合包括除不继续划分以外的其他划分方式,计算第一节点能够使用的划分方式中的每种划分方式的率失真代价。相应的,上述确定模块,还用于将最小的率失真代价对应的划分方式确定为第一节点对应的目标划分方式。上述划分模块,具体用于使用上述确定模块确定的第一节点对应的目标划分方式划分第一节点。
第七方面中的第一预设划分条件可参考上述第一方面中的第一预设划分条件的描述,同理,第七方面中的第二预设划分条件可参考上述第一方面中的第二预设划分条件的描述。
第八方面,提供一种编码端设备,其特征在于,编码端设备包括:一个或多个处 理器、存储器、通信接口。该存储器、通信接口与一个或多个处理器耦合;存储器用于存储计算机程序代码,计算机程序代码包括指令,当一个或多个处理器执行指令时,编码端设备执行如上述第六方面及其任意一种可能的实现方式的图像数据的编码方法。
第九方面,提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,其特征在于,当指令在编码端设备上运行时,使得编码端设备执行如上述第六方面及其任意一种可能的实现方式的图像数据的编码方法。
第十方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在编码端设备上运行时,使得编码端设备执行如第六方面及其任意一种可能的实现方式的图像数据的编码方法。
本申请中第七方面、第八方面、第九方面、第十方面及其各种实现方式的具体描述,可以参考第七方面及其各种实现方式中的详细描述;并且,第七方面、第八方面、第九方面。第十方面及其各种实现方式的有益效果,可以参考第六方面及其各种实现方式中的有益效果分析,此处不再赘述。
在本申请中,上述编码端设备的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。只要各个设备或功能模块的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
图1为本申请实施例提供的不同划分方式的结构示意图;
图2为本申请实施例提供的四叉树层级的结构示意图;
图3为本申请实施例提供的四叉树划分和二叉树划分的组合划分示意图;
图4为本申请实施例提供的图像处理系统的结构示意图;
图5为本申请实施例提供的一种手机的硬件结构示意图;
图6为本申请实施例提供的图像数据的解码方法流程示意图一;
图7为本申请实施例提供的图像数据的解码方法流程示意图二;
图8为本申请实施例提供的图像数据的编码方法流程示意图;
图9为本申请实施例提供的解码端设备的结构示意图;
图10为本申请实施例提供的编码端设备的结构示意图。
具体实施方式
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于限定特定顺序。
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了方便理解本申请实施例,首先在此介绍本申请实施例涉及到的相关要素。
编码树单元(Coding Tree Unit,CTU):一幅图像由多个CTU构成,一个CTU通常对应于一个方形图像区域,如图1(a)所示,图像10由多个CTU构成(包括CTU A、CTU B、CTU C等)。与某一CTU对应的编码信息包含与该CTU对应的方形图像区域中的像素的亮度值和/或色度值。此外,与某一CTU对应的编码信息还可以包含语法元素,这些语法元素指示如何将该CTU划分成至少一个CU,以及解码每个CU以得到重建图像的方法。
一个CTU对应的图像区域可以包括64×64、128×128或256×256个像素。在一个示例中,64×64个像素的CTU包含由64列、每列64个像素的矩形像素点阵,每个像素包含亮度分量和/或色度分量。
可以理解的是,CTU也可以对应矩形图像区域或者其它形状的图像区域,一个CTU对应的图像区域也可以是水平方向的像素点的数量与竖直方向的像素点数量不同的图像区域,例如包括64×128个像素。
编码单元(Coding Unit,CU):通常对应于一个A×B的矩形区域,A为矩形的宽,B为矩形的高,其中,本申请实施例中涉及到的宽是指图1示出的二维直角坐标系XoY中沿X轴方向(水平方向)的长度,高是指图1示出的二维直角坐标系XoY中沿Y轴方向(竖直方向)的长度。这里,A和B的取值可以相同,也可以不同。A和B的取值通常为2的整数次幂,例如:256、128、64、32、16、8或4等。一个CU可通过解码处理得到一个A×B的矩形区域的重建图像块,解码处理通常包括预测(prediction)、反量化(dequantization)、反变换(inverse transform)等处理,产生预测图像和残差,预测图像和残差叠加后得到重建图像块。多个重建图像块可以得到最终的重建图像。
四叉树(Quad-Tree,QT):一种树状结构,一个节点可划分为四个子节点。在一个示例中,视频编解码标准H.265采用基于四叉树的CTU划分方式:将CTU作为根节点,每个节点对应于一个方形图像区域;对于某一节点,可以不再划分该节点(此时该节点对应的方形图像区域为一个CU),也可以将该节点划分成四个下一层级的节点,即把该节点对应的方形图像区域划分成四个大小相同的方形区域(其宽、高各为划分前区域宽、高的一半),每个区域对应于一个节点。如图1(b)所示,CTU A为根节点,将CTU A划分为a、b、c和d四个节点,若不再划分a节点,则a节点对应的方形图像区域对应一个CU。
二叉树(Binary Tree,BT):一种树状结构,一个节点可划分成两个子节点。对于二叉树结构上的某一节点,可以不再划分该节点,也可以将该节点划分成两个下一层级的节点。二叉树划分方式可以包括:
(1)、水平二分
将节点对应的图像区域划分成上、下两个相同大小的区域,即被划分的图像区域的宽保持不变,高变为被划分的图像区域的一半,划分后的每个图像区域对应于一个子节点。如图1(c)所示,节点b使用水平二分划分方式划分,生成节点e和节点f。
(2)、竖直二分
将节点对应的区域划分成左、右两个大小相同的区域,即被划分的图像区域的高 保持不变,宽变为被划分的图像区域的一半,划分后的每个图像区域对应于一个子节点。如图1(d)所示,节点d使用竖直二分划分方式划分,生成节点g和节点h。
可以理解的是,上述水平二分和竖直二分是对二叉树划分方式的一种示例。可以采用别的方式将节点对应的图像区域划分为两个子区域。例如水平划分两个高不相等的子区域,或者竖直划分为两个宽不相等的区域。
三叉树(Triple Tree,TT):一种树状结构,一个节点可划分成三个子节点。对于三叉树结构上的某一节点,可以不再划分该节点,也可以将该节点划分成三个下一层级的节点。三叉树划分方式可以包括:
(1)、水平三分
将节点对应的图像区域划分成上、中、下三个区域,每个区域对应于一个子节点。在一个示例中,上、中、下三个区域的高分别为划分前的图像区域的高的1/4、1/2、1/4。如图1(e)所示,节点c使用水平三分划分方式划分,生成节点j、节点k和节点m,节点j对应的图像区域的高为节点c对应的图像区域的高的1/4,节点k对应的图像区域的高为节点c对应的图像区域的高的1/2,节点m对应的图像区域的高为节点c对应的图像区域的高的1/4。在另一个示例中,上、中、下三个区域的高分别为划分前的图像区域的高的1/3、1/3、1/3,即将节点对应的图像区域按照图1示出的二维直角坐标系XoY中的X轴的方向平均划分为三个区域。如图1(f)所示,节点c使用水平三分划分方式划分,生成节点j、节点k和节点m,节点j对应的图像区域的高、节点k对应的图像区域的高、节点m对应的图像区域的高均为节点c对应的图像区域的高的1/3。
(2)、竖直三分
将节点对应的图像区域划分成左、中、右三个区域,每个区域对应于一个子节点。在一个示例中,左、中、右三个图像区域的宽分别为划分前的图像区域的宽的1/4、1/2、1/4。如图1(g)所示,节点c使用竖直三分划分方式划分,生成节点p、节点q和节点x,节点p对应的图像区域的宽为节点c对应的图像区域的宽的1/4,节点q对应的图像区域的宽为节点c对应的图像区域的宽的1/2,节点x对应的图像区域的宽为节点c对应的图像区域的宽的1/4。在另一个示例中,左、中、右三个图像区域的高分别为划分前的图像区域的高的1/3、1/3、1/3,即将节点对应的图像区域按照图1示出的二维直角坐标系XoY中的X轴的方向平均划分为三个区域。如图1(h)所示,节点c使用竖直三分划分方式划分,生成节点p、节点q和节点x,节点p对应的图像区域的宽、节点q对应的图像区域的宽、节点x对应的图像区域的宽均为节点c对应的图像区域的宽的1/3。
图像编码(image encoding):将图像序列压缩成码流的处理过程。
图像解码(image decoding):将码流按照特定的语法规则和处理方法恢复成重建图像的处理过程。
视频编解码标准H.265使用QT划分方式划分CTU。具体的,将CTU作为QT结构的根节点(root),按照QT划分方式,将CTU递归划分成若干个叶节点(leaf node)。如果某一节点不再划分,则该节点称为叶节点。从上述描述可知,一幅图像由多个CTU构成,一个CTU对应于一个方形图像区域,也就是说,一个CTU对应一个图像 块。每个叶节点对应一个CU,每个CU相当于CTU对应的图像块中的某一子图像块,且无法再继续使用QT划分方式划分该子图像块。如果需要继续划分某一节点,则将该节点对应的图像区域划分成四个相同大小的图像区域,可参考图1(b),在该节点对应的图像区域被划分后,划分后生成的每个图像区域均对应一个节点,还需要分别确定这些节点是否还会继续划分。一个节点是否划分由码流中该节点对应的划分标志位(如split_cu_flag)指示。根节点在QT结构中的层级(简称为QT层级)为0,采用QT划分方式生成的子节点的QT层级为该子节点的父节点的QT层级加1。
示例性的,某一节点的划分标志位用split_cu_flag表示,split_cu_flag=0表示不再划分该节点,split_cu_flag=1表示继续划分该节点。如图2所示,在64×64的CTU节点(QT层级为0)的split_cu_flag的值为1的情况下,将CTU节点划分为四个32×32的节点(QT层级为1),这四个32×32的节点分别为节点A1、节点A2、节点A3以及节点A4。这四个32×32的节点中的每一个节点,又可以根据它对应的split_cu_flag,选择继续划分或者不继续划分。如果节点A1的split_cu_flag的值为1,则继续划分节点A1,将节点A1划分为四个16×16的节点(QT层级为2),这四个16×16的节点分别为节点B1、节点B2、节点B3以及节点B4。以此类推,直到所有节点都不再划分,这样,一个CTU就被划分成一组CU。在同一个QT结构中,每个CU的最小尺寸(即CU的最小大小)相同,且CU的最小尺寸在码流的序列参数集(Sequence Parameter Set,SPS)中标识,例如,8×8的CU为最小CU。在上述递归划分过程中,如果某一节点的尺寸等于最小CU尺寸,则确定不再划分该节点,同时也不需要在码流中包含该节点的划分标志位。
将CTU划分成一组CU的划分方式对应于一个编码树,图3(a)即为一种编码树的示例。一个编码树可能只对应一种划分方式,例如四叉树;也可以对应多种划分方式,例如前述的QTBT结构和下文中介绍的QT-BT/TT结构。
第一级编码树、第二级编码树、第三级编码树、……、第N级编码树分别对应的是不同的划分方式的集合,N为大于3的正整数。这些不同的划分方式的集合可以是某一种树的类型,例如三叉树,二叉树,四叉树;也可以是同一种树的类型中的划分方式的集合,例如水平二分,竖直二分等;还可以是两者的结合。可以理解的是,一个编码树并不需要同时包含上述多个不同级别的编码树。例如,一个编码树可以只包括第一级编码树;或者,一个编码树可以包含第一级和第二级编码树;或者一个编码树可以包含第一级编码树,第二级编码树和第三级编码树。
在一个示例中,第一级编码树可以包括四叉树的划分,第二级编码树可以包括二叉树的划分和三叉树的划分。
在一个示例中,第一级编码树可以包括四叉树的划分,第二级编码树可以包括二叉树的划分、三叉树和四叉树的划分。
在一个示例中,第一级编码树可以包括四叉树的划分和二叉树的划分,第二级编码树包括三叉树的划分。
在一个示例中,第一级编码树可以包括四叉树的划分,第二级编码树可以包括二叉树的划分,第三级编码树可以包括三叉树的划分。
在一个示例中,第一级编码树可以包括水平二分,第二级编码树可以包括竖直二 分和四叉树划分,第三级编码树可以包括竖直三分和水平三分。
第二级编码树还可能包含其它划分方式,本申请实施例对此不作具体限定。
编码端设备通常采用率失真优化(Rate Distortion Optimization,RDO)技术来确定CTU采用哪一种编码树编码。具体的,对于每个节点,编码端设备计算该节点能够使用的每一种划分方式的率失真代价(Rate Distortion cost,RD cost),比较计算出的RD cost,并将最小的RD cost所对应的划分方式确定为该节点的划分方式。
与QT结构相似,某一节点在BT结构中的层级称为BT层级,采用BT划分方式生成的子节点的BT层级为该子节点的父节点的BT层级加1。如果某一节点的BT层级等于最大BT层级,则确定不再划分该节点。一般的,BT结构中的最大BT层级在SPS中标识。
在一个示例中,在QT划分方式的基础上引入了BT划分方式,其中,QT划分方式和BT划分方式级联,该划分方式称为QTBT划分方式。具体的,将CTU按照QT划分方式划分,QT的叶节点能够继续使用BT划分方式划分,即第一级编码树为QT,第二级编码树为BT。
如图3(a)所示,每个端点表示一个节点,实线表示节点使用QT划分方式划分,虚线表示节点使用BT划分方式划分,A到M为13个叶节点,每个叶节点对应1个CU。在BT结构中,10表示竖直二分,11表示水平二分。图3(b)示出了按照图3(a)示出的划分方式划分的CTU对应的图像区域。
QTBT划分方式中,每个CU具有QT层级和BT层级。对于QTBT划分方式中的某个CU而言,该CU的QT层级为该CU所属的QT叶节点的QT层级,该CU的BT层级为该CU所属BT叶节点的BT层级。若CTU未被划分,即只有一个CU,则该CU的QT层级为0,BT层级为0。
示例性的,图3(a)中,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。
QTBT划分方式中CU形状更加多样,能够更好地适应局部图像的内容。H.265标准中基于QT划分方式划分生成的所有CU都只能是正方形,即CU的宽(width)等于CU的高(height)。基于QT划分方式引入BT划分方式后,CU的宽和高可以不相同,例如:宽高比(其数值等于宽除以高)为2、4、8、16、1/2、1/4、1/8或者1/16。当然,在QTBT划分方式下,所有CU的宽和高都不能小于最小CU的边长(例如:最小CU可设置为4×4)。一般的,视频流的SPS包含有最小CU的大小信息。
在上述QTBT的基础之上还可以包括一种QT-BT/TT划分方式,即第一级编码树中的节点使用QT划分方式,第二级编码树中的节点可以使用BT划分方式或TT划分方式。具体的,CTU为第一级编码树的根节点,将CTU采用QT划分方式划分,生成若干个第一级编码树的叶节点;再以第一级编码树的叶节点作为第二级编码树的根节点,采用BT划分方式(包括水平二分和竖直二分)或TT划分方式(包括水平三分和竖直三分)划分第二级编码树中的节点,以生成若干第二级编码树的叶节点。
但是,对于每个节点,编码端设备通常需要计算该节点能够使用的每一种划分方 式的RD cost,比较计算出的RD cost,并将最小的RD cost所对应的划分方式确定为该节点的划分方式。在QT-BT/TT划分方式中,由于第二级编码树中的节点可使用BT划分方式,也可以使用TT划分方式,因此,对于第二级编码树中的每个节点,编码端设备均需要计算四种划分方式(水平二分、竖直二分、水平三分以及竖直三分)的RD cost,才能够确定出第二级编码树中的每个节点真正使用的划分方式,这样的话,编码复杂度较高。
针对上述问题,本申请实施例提供一种图像数据的解码方法,解码端设备在得到包含图像数据的码流后,通过解析该码流,得到第一级编码树的节点划分方式信息和第二级编码树的节点划分方式信息,其中,第二级编码树的节点划分方式信息指示第二级编码树中的第一节点对应的划分方式,第一节点对应的划分方式为第一节点对应的候选划分方式集合中的一种,第一节点对应的候选方式集合是根据第一预设划分条件确定的,第一预设划分条件用于指示是否限制按照目标划分方式划分第一节点,目标划分方式包括水平二分、水平三分、竖直二分和竖直三分的至少一种,如果第一节点对应的划分方式为不继续划分,该解码端设备通过解析码流,得到第一节点的编码信息,第一节点对应一个编码单元CU,这样,该解码端设备可根据第一节点的编码信息,对编码单元进行解码重建,得到对应图像数据的图像。本申请中第一级编码树的根节点对应一个CTU,第一级编码树的叶节点是通过第一级编码树的节点划分方式信息对应的节点划分方式和第一级编码树的根节点进行指示的,第二级编码树的根节点为第一级编码树的一个叶节点。本申请实施例中第二级编码树的第一节点对应的划分方式是根据第一预设划分条件确定出的其中一个,第一预设划分条件用于指示是否限制按照目标划分方式划分第一节点,且该目标划分方式包括水平二分、水平三分、竖直二分和竖直三分的至少一种,在第一预设划分条件的作用下,第一节点对应的划分方式的数量减少,有效地降低了解码的复杂度。
相应的,本申请实施例还提供一种图像数据的编码方法,编码端设备在确定与待编码图像块对应的CTU后,将该CTU按照第一级编码树对应的节点划分方式进行划分,得到第一级编码树的叶节点,其中,第一级编码树的根节点对应该CTU;编码端设备确定第二级编码树中的第一节点对应的候选划分方式集合,该第一节点对应的候选划分方式集合满足用于指示是否限制按照目标划分方式划分第一节点的第一预设划分条件,目标划分方式包括水平二分、水平三分、竖直二分和竖直三分中的至少一种,第二级编码树的根节点为第一级编码树的一个叶节点;如果第一节点对应的候选划分方式集合包括不继续划分,该编码端设备对与第一节点对应的编码单元进行编码,得到对应编码单元的编码单元码流。本申请实施例中的第一预设划分条件限制了第二级编码树中的节点的划分方式,大幅度的减少了划分第二级编码树中节点的复杂度,降低了编码复杂度。
本申请实施例提供一种图像数据的编码、解码方法均适用于图像处理系统。图4是本申请实施例提供的图像处理系统的结构示意图。如图4所示,该图像处理系统包括编码端设备40和解码端设备41。其中,编码端设备40和解码端设备41可以独立设置,也可以集成在同一设备,本申请实施例对此不作具体限定。图1中以编码端设备40和解码端设备41独立设置为例。为了便于描述,下文均以编码端设备与解码端 设备独立设置为例进行说明。
具体的,编码端设备40在捕获到某一影像后,对该影像中的每一图像对应的CTU根据第一级编码树的划分方式和第二级编码树的划分方式进行处理,其中,若第二级编码树中的第一节点对应的候选划分方式集合包括不继续划分,则编码端设备40对与第一节点对应的编码单元进行编码,得到对应编码单元的编码单元码流;在获取到第二级编码树的每个节点对应的编码单元码流后,编码端设备40获取CTU码流,并向解码端设备41发送该CTU码流;解码端设备41解析其获取到的CTU码流,得到第二级编码树的节点的划分方式信息,并根据第二级编码树的节点的划分方式信息进行相应处理,以获取重建图像。
编码端设备40和解码端设备41均可以为配置有摄像头(如前置摄像头或后置摄像头)的各种设备,例如,该编码端设备和解码端设备为可穿戴电子设备(例如智能手表等)、拍立得,也可以是图5所示的手机,还可以是平板电脑,台式电脑,虚拟现实装置,笔记本电脑、超级移动个人计算机(Ultra-mobile Personal Computer,UMPC)、个人数字助理(Personal Digital Assistant,PDA)等,本申请实施例对编码端设备40和解码端设备41的具体形式不做特殊限制。
结合图4,如图5所示,本实施例中的编码端设备40和解码端设备41均可以为手机。下面以手机为例对实施例进行具体说明。
应该理解的是,图示手机仅仅是编码端设备40和解码端设备41的一个范例,并且手机可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图5中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
如图5所示,手机包括:RF(Radio Frequency,射频)电路50、存储器51、输入单元52、显示单元53、传感器54、音频电路55、无线保真(Wireless Fidelity,Wi-Fi)模块56、处理器57、蓝牙模块58以及电源59等部件。本领域技术人员可以理解,图5中示出的手机结构并不构成对手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图5对手机的各个构成部件进行具体的介绍:
RF电路50可用于收发信息或通话过程中,信号的接收和发送,可以将基站的下行信息接收后,给处理器57处理;另外,将涉及上行的数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等器件。此外,RF电路50还可以通过无线通信与网络和其他移动设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统、通用分组无线服务、码分多址、宽带码分多址、长期演进、电子邮件、短消息服务等。
存储器51可用于存储软件程序及数据。处理器57通过运行存储在存储器51的软件程序及数据,从而执行手机的各种功能以及数据处理。存储器51可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储 根据手机的使用所创建的数据(比如音频数据、电话本、视频等)等。此外,存储器51可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。在以下实施例中,存储器51存储有使得手机能运行的操作系统,例如苹果公司所开发的
Figure PCTCN2018078498-appb-000001
操作系统,谷歌公司所开发的
Figure PCTCN2018078498-appb-000002
开源操作系统,微软公司所开发的
Figure PCTCN2018078498-appb-000003
操作系统等。
输入单元52(如触摸屏)可用于接收输入的数字或字符信息,以及产生与手机的用户设置以及功能控制有关的信号输入。具体的,输入单元52可包括触摸屏521和其他输入设备522。触摸屏521,也称为触摸面板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控屏521上或在触控屏521附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控屏521可包括触摸检测装置和触摸控制器两个部分(图5中未示出)。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器57,并能接收处理器57发来的指令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控屏521。
显示单元53(即显示屏)可用于显示由用户输入的信息或提供给用户的信息以及手机的各种菜单的图形用户界面(Graphical User Interface,GUI)。显示单元53可包括设置在手机正面的显示面板531。可选的,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-emitting Diode,OLED)等形式来配置显示面板531。进一步的,触摸屏521可覆盖显示面板531,当触摸屏521检测到在其上或附近的触摸操作后,传送给处理器57以确定触摸事件的类型,随后处理器57根据触摸事件的类型在显示面板531上提供相应的视觉输出。虽然,在图5中,触摸屏521与显示面板531是作为两个独立的部件来实现手机的输入和输出功能,但是在某些实施例中,可以将触摸屏521与显示面板531集成而实现手机的输入和输出功能。
在另外的一些实施例中,上述触摸屏521还可以设置有压力感应传感器,这样用户在上述触控面板上进行触摸操作时,触控面板还能检测到该触摸操作的压力,进而手机能够更准确地检测该触摸操作。
手机还可以包括至少一种传感器54,比如光传感器、运动传感器以及其他传感器。具体的,光传感器可包括环境光传感器及接近传感器,环境光传感器可根据环境光线的明暗来调节显示面板531的亮度,接近光传感器设置在手机的正面,当在手机移动到耳边时,根据接近光传感器的检测,手机关闭显示面板531的电源,这样手机可以进一步节省电量。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏转化、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等。手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路55、扬声器551,麦克风552可提供用户与手机之间的音频接口。 音频电路55可将接收到的音频数据转换后的电信号,传输到扬声器551,由扬声器551转换为声音信号输出;另一方面,麦克风552将收集的声音信号转换为电信号,由音频电路55接收后转换为音频数据,再将音频数据输出至RF电路50以发送给比如另一手机,或者将音频数据输出至存储器51以便进一步处理。
Wi-Fi属于短距离无线传输技术,手机可以通过Wi-Fi模块56帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。
处理器57是手机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器51内的软件程序,以及调用存储在存储器51内的数据,执行手机的各种功能和处理数据,从而对手机进行整体监控。在一些实施例中,处理器57可包括一个或多个处理单元;处理器57还可以集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以是独立设置的。
蓝牙模块58,用于通过蓝牙这种短距离通讯协议来与其他设备进行信息交互。例如,手机可以通过蓝牙模块58与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
手机还包括给各个部件供电的电源59(比如电池)。电源可以通过电源管理系统与处理器57逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗等功能。
以下,将结合具体实施例详细阐述本申请实施例提供的一种图像数据的编码、解码方法。
图6为本申请实施例提供的图像数据的解码方法的流程示意图,该解码方法可以应用在图4所示的图像处理系统中。
如图6所示,该图像数据的解码方法包括:
S600、解码端设备得到包含图像数据的码流。
可选的,解码端设备得到的包含图像数据的码流包括序列参数集(Sequence Parameter Set,SPS)、图像参数集(Picture Parameter Set,PPS)、条带头(slice header)或条带片段头(slice segment header)、以及CTU码流,CTU码流携带有图像数据。
S601、解码端设备解码其得到的码流,得到第一级编码树的节点划分方式信息。
第一级编码树的根节点对应一个CTU,第一级编码树的叶节点是通过第一级编码树的节点划分方式信息对应的节点划分方式和第一级编码树的根节点进行指示的。第一级编码树对应的节点划分方式包括四叉树划分。
解码端设备在得到码流后,解析该码流中的CTU码流,得到第一级编码树的节点划分信息。
可选的,解码端设备解析CTU码流,得到第一级编码树的节点划分信息的方法可以为:解码端设备将CTU作为第一级编码树的根节点,解析CTU码流,获取该CTU码流中语法元素所包括的用于指示如何将该CTU划分成至少一个CU的第一标识(如SplitFlag),即第一标识表示第一级编码树的节点划分方式信息。在一个示例中,如 果某一SplitFlag的数值为0,则说明与该SplitFlag对应的节点为第一级编码树的叶节点;如果某一SplitFlag的数值为1,则继续获取与该SplitFlag对应的节点的四个子节点的SplitFlag,直到确定出第一级编码树的所有叶节点的信息。
需要说明的是,若某一节点对应的图像区域的宽等于第一阈值(例如第一阈值为8或16),则该节点为第一级编码树的叶节点,与该节点对应的SplitFlag的数值为0。
可选的,解码端设备解析CTU码流,得到第一级编码树的节点划分信息的方法还可以为:解码端设备将CTU作为第一级编码树的根节点,解析CTU码流,获取该CTU码流中语法元素所包括的用于指示是否划分第一级编码树的节点的第二标识(如NSFlag);如果第二标识的数值为第一值(例如1),则说明与该第二标识对应的节点为第一级编码树的叶节点,同时也为第二级编码树叶节点;如果第二标识的数值为第二值(例如0),则获取语法元素所包括的第三标识(如QTSplitFlag);如果第三标识的数值为第三值(例如0),则说明与该第三标识对应的节点为第一级编码树叶节点,但不是第二级编码树的叶节点;如果第三标识的数值为第四值(例如1),则继续获取与该第三标识对应的节点的四个子节点的第二标识,直到确定出第一级编码树的所有叶节点的信息。
需要说明的是,若某一节点对应的图像区域的宽等于第一阈值(例如第一阈值为8或16),则该节点为第一级编码树的叶节点,与该节点对应的第三标识的数值为第三值。另外,如果某一节点对应的图像区域的宽或高大于第二阈值、且与该节点对应的第二标识的数值为第二值,则第三标识的数值为第三值。如果某一节点对应的划分方式为QT划分,与该节点对应的第二标识的数值为第二值且与该节点对应的第三标识的数值为第三值。
在一个示例中,本申请实施例中第一级编码树的语法表如表1所示。表1中,coding_quadtree()为第一级编码树语法结构体,描述第一级编码树的某一节点的信息。
表1中,以CTU为根节点,解析coding_quadtree(xCtb,yCtb,CtbLog2SizeY,0),其中CtbLog2SizeY为CTU的边长以2为底的对数值(这里,CTU对应的图像区域的形状为正方形),xCtb和yCtb分别表示CTU对应的图像区域的左上角相对于节点对应的图像区域的左上角的水平坐标偏移和竖直坐标偏移。x0和y0分别表示节点对应的图像区域的左上角相对于CTU对应的图像区域的左上角的水平坐标偏移和竖直坐标偏移;log2CbSize表示节点对应的图像区域的边长以2为底的对数值(由于CTU对应的图像区域为正方形且第一级编码树仅使用四叉树划分,所以第一级编码树上的所有节点对应的图像区域也为正方形,宽和高相等,所以只需要指示边长,不需要区分宽和高);cqtDepth表示节点的第一级编码树层级。条件condA表示需要从码流中解析第一级编码树节点划分信息语法元素split_cu_flag的条件,例如condA为“节点对应的图像区域在CTU对应的图像区域内且节点对应的图像区域的边长大于阈值”。split_cu_flag为0指示节点不按照四叉树进行划分,为第一级编码树叶节点,此时将按照第二级编码树的语法结构体coding_second_tree()解析该叶节点;split_cu_flag为1指示节点按照四叉树进行划分,此时该节点划分成四个子节点,确定每个子节点对应的图像区域的边长、坐标、每个子节点的第一级编码树层级,并依次按照coding_quadtree()解析这些子节点。“X>>Y”表示将X右移Y位;“X<<Y”表示将X左移Y位;ae(v)表示使用CABAC解析语法元素。
表1
Figure PCTCN2018078498-appb-000004
Figure PCTCN2018078498-appb-000005
S602、解码端设备解析其得到的码流,得到第二级编码树的节点划分方式信息。
其中,第二级编码树的节点划分方式信息指示第二级编码树中的第一节点对应的划分方式,第一节点对应的划分方式为第一节点对应的候选划分方式集合中的一种,第一节点对应的候选方式集合是根据第一预设划分条件确定的,第一预设划分条件用于指示是否限制按照目标划分方式划分第一节点,目标划分方式包括水平二分、水平三分、竖直二分和竖直三分的至少一种。
第二级编码树的根节点为第一级编码树的一个叶节点。第二级编码树对应的节点划分方式与第一级编码树对应的节点划分方式不相同,本实施例中第二级编码树对应的节点划分方式包括二叉树划分和三叉树划分,二叉树划分包括水平二分和竖直二分,三叉树划分包括水平三分和竖直三分。
解码端设备在得到第一级编码树的节点划分方式信息后,将第一级编码树的节点划分方式信息对应的节点划分方式和第一级编码树的根节点进行指示的第一级编码树的叶节点作为第二级编码树的根节点,解析CTU码流,得到第二级编码树的节点的划分方式信息。
可选的,解码端设备解析CTU码流,得到第二级编码树的节点的划分方式信息的方法可以为:解码端设备解析CTU码流,获取用于指示如何划分第二级编码树中某一节点的第四标识(如STSplitMode),即第四标识表示第二级编码树的节点划分方式信息。
如果某一第四标识表示不继续划分(如STSplitMode=0),则说明与该第四标识对应的节点为第二级编码树的叶节点。
如果某一第四标识表示继续划分(如STSplitMode=1、2、3或4),则说明与该第四标识对应的节点存在两个或三个子节点,编码端设备继续获取与该第四标识对应的节点的子节点的第四标识,直到确定出第二级编码树的所有叶节点的信息。示例性的,STSplitMode=1表示与该第四标识对应的节点对应的划分方式为水平二分,STSplitMode=2表示与该第四标识对应的节点对应的划分方式为竖直二分, STSplitMode=3表示与该第四标识对应的节点对应的划分方式为水平三分,STSplitMode=4表示与该第四标识对应的节点对应的划分方式为竖直三分。
可选的,解码端设备解析CTU码流,得到第二级编码树的节点的划分方式信息的方法还可以为:对于第二级编码树中的第一节点而言,解码端设备首先解析码流,根据第一预设划分条件,确定第一节点对应的候选划分方式集合,然后根据第一节点对应的候选划分方式集合,解析码流确定第一节点对应的划分方式信息。
这里,第一预设划分条件包括以下至少一种预设划分子条件:
第一预设划分子条件:如果第一节点对应的图像区域的宽高比大于或等于第一预设阈值(如8或4),第一节点对应的候选划分方式集合不包括水平二分和水平三分,第一节点对应的图像区域的宽高比为第一节点对应的图像区域的宽与第一节点对应的图像区域的高的比值。
第二预设划分子条件:如果第一节点对应的图像区域的高宽比大于或等于第二预设阈值(如8或4),第一节点对应的候选划分方式集合不包括竖直二分和竖直三分,第一节点对应的图像区域的高宽比为第一节点对应的图像区域的高与第一节点对应的图像区域的宽的比值。
第三预设划分子条件:如果第一节点对应的图像区域的面积与第一节点归属的第一级编码树的叶节点对应的图像区域的面积的比值小于或等于第三预设阈值(16或8),则第一节点对应的候选划分方式集合不包括水平二分、水平三分、竖直二分和竖直三分。
第四预设划分子条件:如果第一节点对应的划分方式包括第一划分方式,第一节点的第一子节点的解码顺序晚于第一节点的第二子节点,且第二子节点对应的划分方式为第一划分方式,则第一子节点对应的候选划分方式集合不包括第一划分方式,第一划分方式为水平二分或竖直二分。
示例性的,第一节点和第二子节点对应的划分方式均为水平二分,则第一子节点对应的候选方式集合不包括水平二分,即不允许使用水平二分划分方式划分第一子节点。
第五预设划分子条件:如果第一节点对应的划分方式包括第二划分方式,第一节点的第一子节点对应的图像区域的面积为第一节点的三个子节点对应的图像区域的面积中最小的,第一子节点对应的候选划分方式集合不包括第二划分方式,第二划分方式为水平三分或竖直三分。
示例性的,第一节点对应的划分方式均为水平三分,则第一子节点对应的候选方式集合不包括水平三分,即不允许使用水平三分划分方式划分第一子节点。
第六预设划分子条件:如果第一节点对应的划分方式包括第二划分方式,第一节点的第一子节点对应的图像区域的面积为第一节点的三个子节点对应的图像区域的面积中最大的,第一子节点对应的候选划分方式集合不包括第二划分方式。
第七预设划分子条件:如果第一节点对应的图像区域的宽与预设的最小CU的边长比值小于或等于第三预设阈值,则第一节点对应的候选划分方式集合不包括竖直三分;如果第一节点对应的图像区域的高与预设的最小CU的边长比值小于或等于第三预设阈值,则第一节点对应的候选划分方式集合不包括水平三分。
第八预设划分子条件:如果第一节点对应的图像区域的面积小于或者等于第四预设阈值,第一节点对应的候选划分方式集合不包括水平二分、水平三分、竖直二分和竖直三分。
第九预设划分子条件:如果第一节点对应的划分方式为第二划分方式,第一节点的第一子节点对应的图像区域的面积为第一节点的三个子节点对应的图像区域的面积中最大的,第一子节点对应的候选划分方式集合不包括第一划分方式,第一划分方式与第二划分方式的划分方向相同。
示例性的,第一节点对应的划分方式为水平三分,第一节点的第一子节点对应的图像区域的面积为第一节点的三个子节点对应的图像区域的面积中最大的,则第一子节点对应的候选方式集合不包括水平二分,即不允许使用水平二分划分方式划分第一子节点。
示例性的,本申请实施例中的第一预设划分条件可以包括上述第三预设划分子条件,也可以包括上述第四预设划分子条件,还可以包括上述第五预设划分子条件,还可以包括上述第一预设划分子条件和第二预设划分子条件,还可以包括上述第一预设划分子条件、第二预设划分子条件、第四预设划分子条件、第六预设划分子条件和第七预设划分子条件,也可以包括上述第一预设划分子条件、第二预设划分子条件、第三预设划分子条件和第七预设划分子条件,还可以包括上述第一预设划分子条件、第二预设划分子条件、第三预设划分子条件、第五预设划分子条件和第七预设划分子条件,还可以包括上述第五预设划分子条件和第七预设划分子条件,还可以包括上述第三预设划分子条件、第四预设划分子条件和第七预设划分子条件,还可以包括上述第一预设划分子条件、第二预设划分子条件、第四预设划分子条件和第五预设划分子条件。
当然,本申请实施例中的第一预设划分条件还可以为上述预设划分子条件的其他组合,此处不再进行详细赘述。
可选的,编码端设备可从包含图像数据的码流中的SPS、PPS或条带头中获取到上述第一预设阈值、第二预设阈值、第三预设阈值、第四预设阈值以及预设的最小CU的边长。当然,上述第一预设阈值、第二预设阈值、第三预设阈值、第四预设阈值以及预设的最小CU的边长也可以是图像处理系统预设的。
此外,除了上述第一预设划分子条件~第九预设划分子条件,本申请实施例中第一预设划分条件还可以包括其他条件,本申请实施例对此不作具体限定。
示例性的,第一预设划分条件还包括:
A、如果第一节点的第二级编码树层级等于预设的最大第二级编码树层级(例如预设的最大第二级编码树层级为3、4或2),第一节点对应的候选划分方式集合包括不继续划分。
编码端设备可以从包含图像数据的码流中的SPS、PPS或条带头中获取到上述预设的最大第二级编码树层级。
B、如果第一节点对应的图像区域的宽等于预设的最小CU的宽,第一节点对应的候选划分方式集合不包括水平二分。
C、如果第一节点对应的图像区域的宽或高大于第五预设阈值(例如64或128) 时,第一节点对应的候选划分方式集合包括不继续划分。
D、如果第一节点对应的图像区域的宽与预设的最小CU的边长的比值小于第六预设阈值,第一节点对应的候选划分方式集合不包括竖直二分;如果第一节点对应的图像区域的高与预设的最小CU的边长的比值小于第七预设阈值,第一节点对应的候选划分方式集合不包括水平二分。
从上述描述可知,本申请实施例中的第四标识用于指示如何划分第二级编码树中某一节点。可选的,第四标识可以包括用于指示是否继续划分该节点的第一信息、用于指示按照哪一方向划分该节点的第二信息以及用于指示按照哪一模式划分该节点的第三信息。
示例性的,第一信息用STSplitFlag表示,如果STSplitFlag的数值等于0,表示不继续划分与该STSplitFlag对应的节点;如果STSplitFlag的数值等于1,表示继续划分与该STSplitFlag对应的节点。第二信息用STSplitDir表示,如果STSplitDir的数值等于0,表示按照水平方向划分与该STSplitDir对应的节点;如果STSplitDir的数值等于1,表示按照竖直方向划分与该STSplitDir对应的节点。第三信息用STSplitType表示,如果STSplitType的数值等于0,表示与该STSplitType对应的节点所对应的划分方式为二叉树划分;如果STSplitDir的数值等于1,表示与该STSplitType对应的节点所对应的划分方式为三叉树划分。
可选的,本申请实施例中的第四标识也可以包括用于指示是否按照二叉树划分方式划分该第四标识对应的节点的二叉树划分标识、用于指示是否按照三叉树划分方式划分该第四标识对应的节点的三叉树划分标识以及第二信息(该划分方向标识与上一示例中的划分方向标识相同)。
示例性的,二叉树划分标识表示为BTFlag,如果BTFlag的数值等于0,表示第四标识对应的节点所对应的划分方式不是BT划分,如果BTFlag的数值等于1,表示第四标识对应的节点所对应的划分方式是BT划分。三叉树划分标识为TTFlag,如果TTFlag的数值等于0,表示第四标识对应的节点所对应的划分方式不是TT划分,如果TTFlag的数值等于1,表示第四标识对应的节点所对应的划分方式是TT划分。
当然,本申请实施例中的第四标识也可以包括上述第一信息、上述第二信息以及上述第三信息的任意组合,本申请实施例对此不作具体限定。
容易理解的是,如果第二级编码树对应的划分方式还包含除二叉树划分和三叉树划分以外的其它划分方式,则上述第四标识可包括更多的信息。
由于第四标识可以包括第一信息、第二信息和第三信息,因此,解码端设备在确定第一节点对应的候选划分方式集合后,根据该第一节点对应的候选划分方式集合确定第一信息、第二信息以及第三信息,这样,即可确定出第一节点对应的划分方式信息。
具体的,解码端设备首先根据上述第一预设划分条件,确定第一节点的候选划分方式集合;然后,该解码端设备根据第一节点的候选划分方式集合确定是否可以从码流中解析到第一信息、第二信息和第三信息,若第一信息、第二信息和第三信息中的任意一个无法从码流中解析得到,则该信息的数值为系统默认的。
示例性的,第一信息用STSplitFlag表示,第二信息用STSplitDir表示,第三信息 用STSplitType表示。如果第一节点对应的候选划分方式集合不包含水平二分、水平三分、竖直二分以及竖直三分,则第一节点对应的划分方式为不继续划分,即STSplitFlag、STSplitDir、STSplitType均不需要从码流中解析,三者的数值均为0。如果第一节点对应的候选划分方式集合包含水平二分、水平三分、竖直二分以及竖直三分中的至少一种,则解码端设备首先从码流中解析STSplitFlag,如果STSplitFlag的数值为0,则STSplitDir和STSplitType的数值默认为0;如果STSplitFlag的数值为1,则继续解析STSplitDir(STSplitDir的解析方式和,与第一节点对应的候选划分方式集合相关),并根据STSplitDir的数值解析STSplitType(STSplitType的解析方式和,与第一节点对应的候选划分方式集合相关。其中,如果第一节点对应的候选划分方式集合包含水平二分、水平三分、竖直二分以及竖直三分,则解码端设备从码流中依次解析STSplitDir和STSplitType;如果第一节点对应的候选划分方式集合包括1到3种划分方式,则STSplitDir和STSplitType中至少有一者不从码流中解析,而可以直接获得。
在一个示例中,表2示出了本实施例中与第一节点对应的候选划分方式集合的所有可能的情况,并示出了每一种情况所对应的第一信息、第二信息和第三信息的解析方法。表2中,竖直二分(Vertical Binary Tree,VBT)的数值为0表示与第一节点对应的候选划分方式集合不包含竖直二分,VBT的数值为1表示与第一节点对应的候选划分方式集合包含竖直二分,水平二分(Horizontal Binary Tree,HBT)的数值为0表示与第一节点对应的候选划分方式集合不包含水平二分,HBT的数值为1表示与第一节点对应的候选划分方式集合包含水平二分,竖直三分(Vertical Triple Tree,VTT)的数值为0表示与第一节点对应的候选划分方式集合不包含竖直三分,VTT的数值为1表示与第一节点对应的候选划分方式集合包含竖直三分,水平三分(Horizontal Binary Tree,HTT)的数值为0表示与第一节点对应的候选划分方式集合不包含水平三分,HTT的数值为1表示与第一节点对应的候选划分方式集合包含水平三分。a、b、c分别表示STSplitFlag、STSplitDir、STSplitType通过解析码流获得;NA(x)表示相应的比特设置为默认值x。当解析到STSplitFlag为0时,STSplitDir和STSplitType的数值默认0;当解析到STSplitFlag为1时,先解析STSplitDir,再根据STSplitDir的数值解析STSplitType。符号!为逻辑非操作,表达式“exp?m:n”表示如果exp为真则使用m,否则使用n。例如:STSplitDir?c:NA(1)表示如果STSplitDir的数值不为0(即等于1,因为此实施例中STSplitDir的数值为0或1),则从码流中获取STSplitType;否则STSplitType的数值默认为1。又例如,!STSplitDir?NA(0):NA(1)表示如果STSplitDir的数值等于0,则STSplitType的数值默认为0;否则,STSplitType的数值默认为1。
结合表2可知,解码端设备根据与第一节点对应的候选划分方式集合,可确定出上述STSplitFlag、STSplitDir和STSplitType。
在一个示例中,对于表2中的候选划分方式集合15而言,第一节点对应的候选划分方式集合不包括竖直二分、水平二分、水平三分以及竖直三分,则STSplitFlag、STSplitDir和STSplitType的数值均默认为0。
在另一个示例中,对于表2中的候选划分方式集合12而言,第一对应的候选划 分方式集合不包括水平二分、水平三分以及竖直三分,则解码端设备首先从码流中解析STSplitFlag;如果STSplitFlag的数值为0,则STSplitDir和STSplitType的数值均默认为0,如果STSplitFlag的数值为1,则STSplitDir的数值默认为1,STSplitType的数值默认值为0。
在另一个示例中,对于表2中的候选划分方式集合6而言,第一对应的候选划分方式集合不包括水平三分以及竖直三分,则首解码端设备首先从码流中解析STSplitFlag;如果STSplitFlag的数值为0,则STSplitDir和STSplitType的数值均默认为0,如果STSplitFlag的数值为1,则解码端设备从码流中解析STSplitDir,并将STSplitType的数值默认为0。
表2
Figure PCTCN2018078498-appb-000006
在另一个示例中,对于表2中的候选划分方式集合5而言,第一对应的候选划分方式集合不包括竖直三分,则首解码端设备先从码流中解析STSplitFlag;如果STSplitFlag的数值为0,则STSplitDir和STSplitType的数值均默认为0,如果STSplitFlag的数值为1,则解码端设备从码流中解析STSplitDir;如果STSplitDir的数值为1,则STSplitType的数值默认为0,如果STSplitDir的数值为0,则解码端设备从码流中解析STSplitType。
解码端设备在确定出STSplitFlag、STSplitDir和STSplitType的数值后,可根据这三个数值确定出第四标识STSplitMode,即确定出第二级编码树中第一节点的划分方式信息。
示例性的,解码端设备利用表3所示的映射方式,根据STSplitFlag、STSplitDir和STSplitType的数值确定STSplitMode的数值。
表3
Figure PCTCN2018078498-appb-000007
Figure PCTCN2018078498-appb-000008
在一个示例中,结合上述示例,若与第一节点对应的STSplitFlag、STSplitDir、STSplitTyp的数值分别为1、1、0,则STSplitMode的数值为2,即第一节点对应的划分方式为竖直二分。
可选的,候选划分方式集合还可以仅包含水平三分和竖直三分,而不包含水平二分和竖直二分,此时解码端设备先从码流中解析STSplitFlag;如果STSplitFlag的数值为0,则STSplitDir和STSplitType的数值均默认为0,如果STSplitFlag的数值为1,则解码端设备从码流中解析STSplitDir,STSplitType的数值默认为1。
容易理解的,如果第二级编码树的划分方式中还包括水平二分、竖直二分、水平三分、竖直三分以外的其它划分方法,则需要对上述表2中示范的信息解析方法进行扩展,本申请实施例对此不作具体限定。
从表2可以看出,上述15种候选划分方式集合中的若干种候选划分方式集合对应的第一信息、第二信息和第三信息的解析方式相同或相近,因此,还可以将上述若干种候选划分方式集合合并为一类,每一类采用一种解析方法。这样的话,第一信息、第二信息和第三信息的解析方法与上述按照表2确定第一信息、第二信息和第三信息的解析方法是等价的,但判断分支更少。
示例性的,解码端设备可以根据表4示出的解析方式确定第一信息STSplitFlag,根据表5示出的解析方式确定第二信息STSplitDir,根据表6示出的解析方式确定第三信息STSplitType。其中,&&为逻辑与操作,||为逻辑或操作,!为逻辑非操作。与表2类似的,a、b、c分别表示对应的信息需要从码流中解析,NA(x)表示对应的信息的值设置为x。
表4
  NumType>0 NumType==0
STSplitFlag a NA(0)
如表4所示,当候选划分方式集合包括的划分方式的数量(即第一数值,用NumType)大于0时,解码端设备从码流中解析STSplitFlag;当NumType的数值等于0时,STSplitFlag的数值默认为0。当解码端设备确定STSplitFlag的数值为1时,继续解析STSplitDir和STSplitType;否则,STSplitDir和STSplitType的数值均默认为0。
结合表2可以看出,表2中候选划分方式集合1~14中,每种候选划分方式集合均包括多种划分方式,且每种候选划分方式集合对应的STSplitFlag均需从码流中解析获得,与表4所示的情况相对应。此外,表2中候选划分方式集合15未包括划分方式,即候选划分方式集合15包括的划分方式的数量为0,候选划分方式集合15对应的STSplitFlag的数值默认为NA(0),与表4相对应。
表5
Figure PCTCN2018078498-appb-000009
如表5所示,在NumType的数值大于等于3、NumType的数值等于2、NumType的数值等于1、NumType的数值等于0的情况下,解码端设备采用不同的方式确定STSplitDir。此外,在NumType的数值等于2的情况下,解码端设备还需根据不同的条件确定采用哪一方式确定STSplitDir。
示例性的,在NumType的数值大于等于3时,解码端设备解析码流得到STSplitDir。在NumType的数值等于2且满足条件(HBT&&HTT)||(VBT&&VTT)时,STSplitDir的数值设置为!HBT(即HBT为0时STSplitDir为1,HBT为1时STSplitDir为0)。
结合表2可以看出,表2中候选划分方式集合1~5中,每种候选划分方式集合包括的划分方式的数量大于或等于3,候选划分方式集合1~5中每种候选划分方式集合对应的STSplitDir均需从码流中解析获得,与表5所示的情况相对应。表2中候选划分方式集合6~10中,每种候选划分方式集合包括的划分方式的数量均等于2,候选划分方式集合6~10中每种候选划分方式集合对应的STSplitDir在不同条件下的解析方式不同,与表5所示的情况相对应。表2中候选划分方式集合11~14中,每种候选划分方式集合包括的划分方式的数量等于1,候选划分方式集合11~14中每种候选划分方式集合对应的STSplitDir的数值均为默认值NA(VBT||VTT),与表5所示的情况相对应。表2中候选划分方式集合15包括的划分方式的数量等于0,候选划分方式集合15对应的STSplitDir为默认值NA(0),与表5所示的情况相对应。
表6
Figure PCTCN2018078498-appb-000010
如表6所示,在NumType的数值等于4、NumType的数值等于3、NumType的数值等于2、NumType的数值等于1、NumType的数值等于0的情况下,解码端设备采用不同的方式确定STSplitType。此外,在NumType的数值等于2和NumType的数值等于3的情况下,解码端设备还需根据不同的条件确定采用哪一方式确定STSplitType。与表4、表5类似,表6也与表2相对应。
解码端设备根据表6确定STSplitType的方法与解码端设备根据表5确定STSplitDir的方法类似,此处不再进行详细赘述。
需要说明的是,如果第一级编码树划分信息由NSFlag和QTSplitFlag表示,则当某一节点的NSFlag的数值为第一值时,该节点为第二级编码树的叶节点,STSplitFlag的数值默认为0;当某一节点的NSFlag的数值为第二值且QTSplitFlag的数值为第二值时,该节点不是第二级编码树的叶节点,STSplitFlag的数值默认为1。
可选的,本申请实施例中的解码端设备可以在执行完S601后,再执行S602,也可以在执行S601的过程中,首次获取到第一级编码树的一个叶节点的信息后,基于该第一级编码树的叶节点立即执行S602,直到获取到第一级编码树的最后一个叶节点。
S603、如果第二级编码树的节点划分方式信息指示第二级编码树中的第一节点对应的划分方式为不继续划分,解码端设备解析码流,得到第一节点的编码信息。
本申请实施例中,如果第二级编码树的节点划分方式信息指示第二级编码树中的第一节点对应的划分方式为不继续划分,则说明该第一节点为第二级编码树的叶节点。
从上面描述可知,不再划分的节点对应一个CU。相应的,第一节点对应一个CU。
具体的,解码端设备解析码流中的编码单元语法结构体(例如H.265中的coding_unit()语法结构体,coding_unit()语法结构体的解释请参考下面描述),得到每个CU的编码信息,每个CU的编码信息均包括CU的预测模式、变换系数等信息。这里,解码端设备获取每个CU的编码信息意味着解码端设备得到第二级编码树的每个叶节点的编码信息。
可选的,本申请实施例中的解码端设备可以在执行S602的过程中,获取到第二级编码树的一个叶节点的信息后,解析码流,获取该叶节点的编码信息;在获取到该叶节点的编码信息后,继续获取下一个第二级编码树的叶节点以及获取下一个第二级编码树的叶节点的编码信息,依次类推,直到最后一个第二级第二级编码树的叶节点。
在一个示例中,本申请实施例中的第二级编码树的语法表如表7所示。coding_second_tree()为第二级编码树的语法结构体,描述第二级编码树的某一个节点的信息。
表7中,log2CuWidth和log2CuHeight分别表示节点对应的图像区域的宽和高以2为底的对数值,stDepth表示第二级编码树的叶节点的第二级编码树层级。条件condB表示需要从码流中解析第二级编码树节点划分信息语法元素STSplitMode的条件,例如条件condB为“节点的第二级编码树层级stDepth小于预设的最大第二级编码树层级maxSTDepth,且节点对应的图像区域的宽和高均小于阈值maxSTSize,且节点对应的图像区域的宽或高大于阈值minSTSize”。maxSTDepth为大于0的整数(例如2或3或4),可预先设定或从SPS中解析得到;minSTSize为大于0的整数(例如为4或8),可预先设定或从SPS中解析得到;maxSTSize为大于minSTSize的整数(例如为64或128),可预先设定或从SPS中解析得到。
STSplitMode的取值范围为0、1、2、3、4。当STSplitMode的数值为0时,节点为第二级编码树的叶节点,且该节点对应于一个CU,此时按照CU语法结构体coding_unit()解析编码单元信息。本申请实施例对编码单元信息的语法元素组织方式不做限定。当STSplitMode的数值为1至4时,分别使用水平二分、竖直二分、水平 三分、竖直三分将节点划分为2个或3个子节点,对每个子节点,确定每个子节点对应的图像区域的宽、高、坐标、第二级编码树层级,并依次按照coding_second_tree()解析这些子节点。
可选的,本申请实施例中的STSplitFlag、STSplitDir和STSplitType可使用跳过(by-pass)方式编码,也可以使用一个概率模型编码,还可以基于上下文自适应地选择概率模型。
示例性的,STSplitFlag的上下文模型选择方法为:获取节点对应的图像区域的左侧位置对应CU的大小S1、节点对应的图像区域的上侧位置对应CU的大小S2、节点对应的图像区域的大小S3;如果S1和S2均小于S3,则选择2号上下文模型,如果S1和S2中只有一个小S3,则选择1号上下文模型;否则(S1和S2都不小于S3),则选择0号上下文模型。节点对应的图像区域的左侧位置例如为(x0-1,y0)),节点对应的图像区域的上侧位置例如为(x0,y0-1)。
STSplitDir的上下文模型选择方法为:如果节点对应的图像区域的宽大于高的2倍,使用0号模型;如果节点对应的图像区域的宽等于高的2倍,使用1号模型;如果节点对应的图像区域的宽等于高,使用2号模型;如果节点对应的图像区域的宽等于高的1/2,使用3号模型;如果节点对应的图像区域的宽小于高的1/2,使用4号模型。
STSplitType的上下文模型选择方法为:如果节点的二级编码树层级等于0,选择0号模型;如果节点的二级编码树层级等于1,选择1号模型;如果节点的二级编码树层级大于1,选择2号模型。
应当理解的是,上述上下文模型的编号仅用于区别不同的上下文模型,并不限制上下文模型编号必须与为上述示例中的编号相同。
表7
Figure PCTCN2018078498-appb-000011
Figure PCTCN2018078498-appb-000012
S604、解码端设备根据第一节点的三个子节点的编码信息,对编码单元进行解码重建,得到对应图像数据的图像。
对编码单元进行解码重建的过程包括预测、反量化、反变换、环路滤波等处理。具体的,对于每个编码单元进行解码重建的过程包括:
(1)、根据该CU的编码信息所包括的预测模式,选用帧内预测或帧间预测,得到该CU的预测像素。
(2)、如果该CU存在变换系数,则根据量化参数、变换模式,对该CU的变换系数进行反量化和反变换处理,得到该CU的重建残差。如果该CU不存在变换系数,则该CU的重建残差为0,即该CU中各像素的重建残差值均为0。
(3)、将该CU的预测像素和该CU的重建残差相加后进行环路滤波处理,得到CU的重建图像块。
编码端设备按照上述方法对每个编码单元进行解码重建,获取到每个CU的重建图像块。在获取到每个CU的重建图像块后,编码端设备根据获取到的所有重建图像 块得到最终的重建图像,即得到对应图像数据的图像。
本申请实施例中第二级编码树的第一节点对应的划分方式是根据第一预设划分条件确定出的其中一个,第一预设划分条件用于指示是否限制按照目标划分方式划分第一节点,且该目标划分方式包括水平二分、水平三分、竖直二分和竖直三分的至少一种,在第一预设划分条件的作用下,第一节点对应的划分方式的数量减少,有效地降低了解码的复杂度。
在图6所示的实施例中,解码端设备在确定第二级编码树的节点划分方式信息的过程中,可以依次确定第一信息、第二信息以及第三信息。本申请实施例中的解码端设备还可以按照第一信息、第三信息以及第二信息的顺序确定第二级编码树的节点划分方式信息。现对这种场景进行说明。
在一个示例中,上述S602中,解码端设备还可以根据表8示出的解析方法依次确定第一信息、第三信息和第二信息,进而根据表3所示的映射方式得到第二级编码树的节点划分方式信息。
表8与表2类似,此处不再进行详细赘述。
与表2类似,表8示出的15种候选划分方式集合中的若干种候选划分方式集合对应的第一信息、第三信息和第二信息的解析方式相同或相近,因此,还可以将上述若干种候选划分方式集合合并为一类,每一类采用一种解析方法。这样的话,第一信息、第三信息和第二信息的解析方法与上述按照表8确定第一信息、第三信息和第二信息的解析方法是等价的,但判断分支更少。
示例性的,解码端设备可以根据表4示出的解析方式确定第一信息STSplitFlag,根据表9示出的解析方式确定第三信息STSplitType,根据表10示出的解析方式确定第二信息STSplitDir。
表8
Figure PCTCN2018078498-appb-000013
Figure PCTCN2018078498-appb-000014
表9
Figure PCTCN2018078498-appb-000015
表10
Figure PCTCN2018078498-appb-000016
可以看出,不论解码端设备是按照第一信息、第二信息以及第三信息的顺序确定第二级编码树的节点划分方式信息,还是按照第一信息、第三信息以及第二信息的顺序确定第二级编码树的节点划分方式信息,在第一预设划分条件的作用下,解码端设备均可快速解码,且解码的复杂度较低。
在上述实施例中,第一级编码树对应的划分方式包括四叉树划分,第二级编码树对应的划分方式包括二叉树划分和三叉树划分。在实际应用中,第二级编码树对应的划分方式还可以包括四叉树划分,这样解码端设备需根据第一预设划分条件和第二预设划分条件确定与第一节点对应的候选划分方式集合,进而确定与第一节点对应的划分方式。
如图7所示,在这种场景中,本申请实施例提供的图像数据的解码方法包括:
S700、解码端设备得到包含图像数据的码流。
S700可以参考上述S600的描述,此处不再进行详细赘述。
S701、解码端设备解码其得到的码流,得到第一级编码树的节点划分方式信息。
S701可以参考上述S601的描述,此处不再进行详细赘述。
S702、解码端设备解析其得到的码流,得到第二级编码树的节点划分方式信息。
其中,第二级编码树的节点划分方式信息指示第二级编码树中的第一节点对应的划分方式,第一节点对应的划分方式为第一节点对应的候选划分方式集合中的一种,第一节点对应的候选方式集合是根据第一预设划分条件和第二预设划分条件确定的,第一预设划分条件用于指示是否限制按照目标划分方式划分第一节点,目标划分方式 包括水平二分、水平三分、竖直二分和竖直三分的至少一种,第二预设划分条件用于指示是否限制按照四叉树划分进行划分第一节点。
第二级编码树的根节点为第一级编码树的一个叶节点。第二级编码树对应的节点划分方式与第一级编码树对应的节点划分方式不相同,本实施例中第二级编码树对应的节点划分方式包括二叉树划分、三叉树划分以及四叉树划分,二叉树划分包括水平二分和竖直二分,三叉树划分包括水平三分和竖直三分。
与上述S602不同的是,本实施例中解码端设备需要根据第一预设划分条件和第二预设划分条件确定与第一节点对应的候选划分方式集合。
第一预设划分条件与图6所述实施例中的第一预设划分条件相同,这里,第二预设划分条件可以包括以下至少一种预设划分子条件:
第十预设划分子条件:如果第一节点的第二级编码树层级小于预设的最大第二级编码树层级,第一节点对应的候选划分方式集合不包括四叉树划分。
第十一预设划分子条件:如果第一节点对应的图像区域的宽高比大于或等于第五预设阈值,第一节点对应的候选划分方式集合不包括四叉树划分。
与上述S602类似,本实施例中的解码端设备首先根据第一预设划分条件和第二预设划分条件,确定第一节点对应的候选划分方式集合,然后再根据第一节点对应的划分方式,解析码流,确定第二级编码树对应的节点划分方式信息。
由于本实施例中第二级编码树对应的节点划分方式还包括四叉树划分,因此本实施例在图6所述的基础上,第四标识(STSplitMode)的数值还可以为5,STSplitMode=5表示与该第四标识对应的节点对应的划分方式为四叉树划分。
相应的,本实施例中的第四标识还包括第四信息(本文中的第四信息用STQTSplitFlag表示),该第四信息用于表示是否按照四叉树划分进行划分第一节点。也就是说,本实施例中的第四标识包括第一信息、第二信息、第三信息和第四信息。本实施例中STQTSplitFlag的数值等于1表示与该第四标识对应的节点对应的划分方式包括四叉树划分,STQTSplitFlag的数值等于0表示与该第四标识对应的节点对应的候选划分方式集合不包括四叉树划分。
具体的,解码端设备依次确定出第一信息、第二信息、第三信息和第四信息,即可确定出第二级编码树对应的节点划分方式信息。
与图6所述的实施例类似,本实施例中的解码端设备可根据图6所述实施例中的第一数值与第四信息的内容确定第一信息,进而确定第二信息和第三信息。
示例性的,解码端设备可以根据表11示出的解析方式确定第一信息STSplitFlag,根据表12示出的解析方式确定第四信息STQTSplitFlag。表11中,QT的数值为1表示按照QT划分方式划分第一节点,QT的数值为0表示不允许按照QT划分方式划分第一节点。当满足“NumType>0||QT”时,解码端设备从码流中解析STSplitFlag,否则(即满足“NumType==0&&!QT”),STSplitFlag的数值默认为0。如果STSplitFlag的数值为1,则解码端设备继续解析STQTSplitFlag;否则,STQTSplitFlag、STSplitDir、STSplitType的数值均默认为0。
从表12可知,当与第一节点对应的划分方式包括四叉树划分时,解码端设备从码流中解析STQTSplitFlag;否则,STQTSplitFlag的数值默认为0。如果STQTSplitFlag 的数值为0,则继续依次解析STSplitDir和STSplitType;否则,STSplitDir和STSplitType的数值默认为0。
本实施例中,STSplitDir和STSplitType的解析方式与图6所述实施例中STSplitDir和STSplitType的解析方式相同,此处不再进行详细赘述。
表11
  NumType>0||QT NumType==0&&!QT
STSplitFlag a NA(0)
表12
  QT !QT
STQTSplitFlag a NA(0)
解码端设备在确定出STSplitFlag、STSplitDir、STSplitType和STQTSplitFlag的数值后,可根据这四个数值确定出第四标识STSplitMode,即确定出第二级编码树中第一节点的划分方式信息。
示例性的,解码端设备利用表13所示的映射方式,根据STSplitFlag、STSplitDir、STSplitType和STQTSplitFlag的数值确定STSplitMode的数值。
表13
STSplitMode STSplitFlag STQTSplitFlag STSplitDir STSplitType
0 0 0 0 0
1 1 0 0 0
2 1 0 1 0
3 1 0 0 1
4 1 0 1 1
5 1 1 0 0
与其他信息相同,本实施例中的STQTSplitFlag也可使用跳过方式编码,或者使用1个概率模型进行编码,或者使用多个概率模型编码。
S703、如果第二级编码树的节点划分方式信息指示第二级编码树中的第一节点对应的划分方式为不继续划分,解码端设备解析码流,得到第一节点的编码信息。
S703可以参考上述S603,此处不在进行详细赘述。
S704、解码端设备根据第一节点的三个子节点的编码信息,对编码单元进行解码重建,得到对应图像数据的图像。
S704可以参考上述S604,此处不再进行详细赘述。
与上述图6所述的实施例相比,本实施例中的第二级编码树对应的划分方式还包括四叉树划分,进一步地限制了与第一节点对应的候选划分方式集合包括的划分方式,这样,可进一步地提高了解码端设备的解码速率。
此外,本申请实施例还提供一种图像数据的编码方法,该编码方法可以应用在图4所示的图像处理系统中。
如图8所示,本申请实施例提供的图像数据的编码方法包括:
S800、编码端设备确定与待编码图像块对应的CTU。
从前面描述可知,一幅图像由多个CTU构成,一个CTU通常对应于一个方形图 像区域。编码端设备在获取到某一图像后,对该图像的每个CTU进行编码处理。
编码端设备对每个CTU的编码处理过程均相同,因此,本申请实施例以编码端设备对其中一个CTU的编码处理为例进行说明。
S801、编码端设备将CTU按照第一级编码树对应的节点划分方式进行划分,得到第一级编码树的叶节点。
第一级编码树的根节点对应CTU,第一级编码树对应的节点划分方式为四叉树划分。
具体的,编码端设备将CTU确定为第一级编码树的根节点,使用QT划分方式,将该CTU递归划分为至少一个叶节点。
编码端设备在获取到第一级编码树的至少一个叶节点后,将第一级编码树的每个叶节点确定为第二级编码树的根节点,并依次对第二级编码树的每个根节点执行下述步骤,直到获取到第二级编码树的所有叶节点的信息。本申请实施例以编码端设备对第二级编码树中的第一节点的处理为例进行说明。
S802、编码端设备确定第二级编码树中的第一节点对应的候选划分方式集合,第一节点对应的候选划分方式集合满足第一预设划分条件。
第一预设划分条件用于指示是否限制按照目标划分方式划分第一节点,第二级编码树的根节点为第一级编码树的一个叶节点,目标划分方式包括水平二分、水平三分、竖直二分和竖直三分中的至少一种。
一般的,在第一节点的划分无任何限制条件的情况下,第一节点能够使用的划分方式包括不继续划分、水平二分、水平三分、竖直二分、竖直三分和四叉树划分方式。这样的话,编码端设备需要依次计算这六种划分方式的RD cost,导致编码复杂度较高。
本申请实施例提出了限制第一节点能够使用的划分方式的第一预设划分条件,该第一预设划分条件与图6所示实施例中描述的第一预设划分条件相同,此处不再进行详细赘述。
在第一预设划分条件的作用下,限制了第一节点对应的候选划分方式集合所包括的划分方式的数量,这样在大部分情况下,编码端设备无需再计算针对第一节点的六种划分方式的RD cost,降低了编码复杂度。
S803、如果第一节点对应的候选划分方式集合包括不继续划分,编码端设备对与第一节点对应的CU进行编码,得到对应CU的编码单元码流。
如果第一节点对应的候选划分方式集合包括为不继续划分,则说明第一节点为第二级编码树的叶节点,该第一节点对应一个CU。编码端设备对与该第一节点对应的CU进行编码,得到与该CU的编码单元码流。
具体的,CU编码包括预测(prediction)、变换(transform)、量化(quantization)、熵编码(entropy coding)等环节。对于某一CU而言,编码端设备对该CU进行编码,得到该CU的CU码流的过程主要包括:
(1)、编码端设备根据预测模式,选用帧内预测或帧间预测,得到CU的预测像素。
(2)、编码端设备将CU的原始像素和CU的预测像素之间的残差进行变化和量 化,得到变换系数,并对得到的变换系数进行反量化、反变换处理,从而得到该CU的重建残差。
(3)、编码端设备将该CU的预测像素和该CU的重建残差相加后进行环路滤波处理,得到该CU的重建像素。
(4)、编码端设备对该CU的预测模式、变换系数等信息进行熵编码,得到CU码流。
编码端设备对CU进行编码,得到该CU的CU码流的详细过程可以参考现有的生成CU码流的方法,此处不再进行详细赘述。
S804、如果第一节点对应的候选划分方式集合未包括不继续划分,编码端设备计算第一节点对应的候选划分方式集合中的每种划分方式的RD cost。
对于第一节点对应的候选划分方式集合中的某一种划分方式集合,编码端设备使用该划分方式划分第一节点,并获取该划分方式划分第一节点后的所有CU,编码端设备计算每个CU的RD cost,并将所有CU的RD cost之和确定为该划分方式的RD cost。
可选的,对于任一CU而言,该CU的RD cost等于该CU包含的像素的重建失真的平方误差总和(Sum of Squared Errors,SSE)与该CU对应码流的比特数估算值的加权和。
S805、编码端设备将最小的率失真代价对应的划分方式确定为第一节点对应的目标划分方式。
S806、编码端设备使用第一节点对应的目标划分方式划分第一节点。
编码端设备使用第一节点对应的目标划分方式划分第一节点后,再对第一节点的每个子节点依次执行S802-S806,直到获取到第二级编码树中的所有叶节点。
第二级编码树的每个叶节点对应一个CU,编码端设备在获取到第二级编码树的所有叶节点后,可获取到第二级编码树每个叶节点对应的CU。从S803可知,编码端设备对一个CU编码可得到该CU对应的CU码流。因此,编码端设备可得到至少一个CU码流。这样,编码端设备根据至少一个CU码流、第一级编码树对应的节点划分方式信息以及第二级编码树对应的节点划分方式信息,可得到CTU码流,进而生成包括图像数据的码流。
进一步地,本申请实施例中的编码端设备还可以根据第二预设划分条件确定第一节点对应的候选划分方式集合。
这里,第二预设划分条件可以包括以下至少一种预设划分子条件:
第十预设划分子条件:如果第一节点的第二级编码树层级小于预设的最大第二级编码树层级,第一节点对应的候选划分方式集合不包括四叉树划分。
第十一预设划分子条件:如果第一节点对应的图像区域的宽高比大于或等于第五预设阈值,第一节点对应的候选划分方式集合不包括四叉树划分。
本申请实施例中的第一预设条件限制了第二级编码树中的节点的划分,这样,大幅度的减少了划分第二级编码树中节点的复杂度,降低了编码复杂度。
本申请实施例提供一种解码端设备,该解码端设备用于执行以上图像数据的解码 方法中的解码端设备所执行的步骤。本申请实施例提供的解码端设备可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对解码端设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图9示出上述实施例中所涉及的终端设备的一种可能的结构示意图。如图9所示,解码端设备包括获取模块900、解析模块901和解码重构模块910。获取模块900用于支持该解码端设备执行上述实施例中的S600、和/或S700等,和/或用于本文所描述的技术的其它过程;解析模块901用于支持该解码端设备执行上述实施例中的S601、S602、S603、S701、S702、和/或S703等,和/或用于本文所描述的技术的其它过程;解码重构模块910用于支持该解码端设备执行上述实施例中的S604、和/或S704等,和/或用于本文所描述的技术的其它过程。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。当然,本申请实施例提供的解码端设备包括但不限于上述模块,例如解码端设备还可以包括存储模块911。存储模块911可以用于存储该解码端设备的程序代码和数据。
在采用集成的单元的情况下,本申请实施例中的解析模块901和解码重构模块910可以是图5中的处理器57,获取模块900可以是图5中的RF电路50和与该RF电路50连接的天线,存储模块911可以是图5中的存储器51。
当解码端设备运行时,该解码端设备执行如图6或图7所示的实施例的图像数据的解码方法。具体的图像数据的解码方法可参见上述如图6或图7所示的实施例中的相关描述,此处不再赘述。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当解码端设备中的处理器在执行该程序代码时,该解码端设备执行如图6或图7所示的图像数据的解码方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;解码端设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得解码端设备实施执行图6或图7所示的图像数据的解码方法中的解码端设备的步骤。
本申请实施例提供一种编码端设备,该编码端设备用于执行以上图像数据的解码方法中的编码端设备所执行的步骤。本申请实施例提供的编码端设备可以包括相应步骤所对应的模块。
本申请实施例可以根据上述方法示例对编码端设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的 形式实现。本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,图10示出上述实施例中所涉及的终端设备的一种可能的结构示意图。如图10所示,编码端设备包括确定模块1000、划分模块1001、编码模块1010和计算模块1011。确定模块1000用于支持该编码端设备执行上述实施例中的S800、S802、和/或S805等,和/或用于本文所描述的技术的其它过程;划分模块1001用于支持该编码端设备执行上述实施例中的S801、和/或S806等,和/或用于本文所描述的技术的其它过程;编码模块1010用于支持该编码端设备执行上述实施例中的S803,和/或用于本文所描述的技术的其它过程;计算模块1011用于支持该编码端设备执行上述实施例中的S804,和/或用于本文所描述的技术的其它过程。其中,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。当然,本申请实施例提供的编码端设备包括但不限于上述模块,例如编码端设备还可以包括存储模块1002、发送模块1003和接收模块1004。存储模块1002可以用于存储该编码端设备的程序代码和数据。发送模块1003和接收模块1004用于与其他设备通信。
在采用集成的单元的情况下,本申请实施例中的确定模块1000、划分模块1001、编码模块1010和计算模块1011可以是图5中的处理器57,发送模块1003和接收模块1004可以是图5中的RF电路50和与该RF电路50连接的天线,存储模块1002可以是图5中的存储器51。
当编码端设备运行时,该编码端设备执行如图8所示的实施例的图像数据的解码方法。具体的图像数据的解码方法可参见上述如图8所示的实施例中的相关描述,此处不再赘述。
本申请另一实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,该一个或多个程序包括指令,当编码端设备中的处理器在执行该程序代码时,该编码端设备执行如图8所示的图像数据的解码方法。
在本申请的另一实施例中,还提供一种计算机程序产品,该计算机程序产品包括计算机执行指令,该计算机执行指令存储在计算机可读存储介质中;编码端设备的至少一个处理器可以从计算机可读存储介质读取该计算机执行指令,至少一个处理器执行该计算机执行指令使得编码端设备实施执行图8所示的图像数据的解码方法中的编码端设备的步骤。
在上述实施例中,可以全部或部分的通过软件,硬件,固件或者其任意组合来实现。当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式出现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心传输。所述计算机 可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘,硬盘、磁带)、光介质(例如,DVD)或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (28)

  1. 一种图像数据的解码方法,其特征在于,所述解码方法包括:
    得到包含所述图像数据的码流;
    解析所述码流,得到第一级编码树的节点划分方式信息,其中,所述第一级编码树的根节点对应一个编码树单元CTU,所述第一级编码树的叶节点是通过所述第一级编码树的节点划分方式信息对应的节点划分方式和所述第一级编码树的根节点进行指示的;
    解析所述码流,得到第二级编码树的节点划分方式信息,其中,所述第二级编码树的节点划分方式信息指示所述第二级编码树中的第一节点对应的划分方式,所述第一节点对应的划分方式为所述第一节点对应的候选划分方式集合中的一种,所述第一节点对应的候选方式集合是根据第一预设划分条件确定的,所述第一预设划分条件用于指示是否限制按照目标划分方式划分所述第一节点,所述目标划分方式包括水平二分、水平三分、竖直二分和竖直三分的至少一种,所述第二级编码树的根节点为所述第一级编码树的一个叶节点;
    如果所述第一节点对应的划分方式为不继续划分,解析所述码流,得到所述第一节点的编码信息,其中,所述第一节点对应一个编码单元CU;
    根据所述第一节点的编码信息,对所述编码单元进行解码重建,得到对应所述图像数据的图像。
  2. 根据权利要求1所述的解码方法,其特征在于,
    所述第一级编码树对应的节点划分方式包括四叉树划分,所述第二级编码树对应的节点划分方式包括二叉树划分和三叉树划分。
  3. 根据权利要求1或2所述的解码方法,其特征在于,所述第一预设划分条件包括以下至少一种预设划分子条件:
    第一预设划分子条件:如果所述第一节点对应的图像区域的宽高比大于或等于第一预设阈值,所述第一节点对应的候选划分方式集合不包括所述水平二分和所述水平三分,所述第一节点对应的图像区域的宽高比为所述第一节点对应的图像区域的宽与所述第一节点对应的图像区域的高的比值;
    第二预设划分子条件:如果所述第一节点对应的图像区域的高宽比大于或等于第二预设阈值,所述第一节点对应的候选划分方式集合不包括所述竖直二分和所述竖直三分,所述第一节点对应的图像区域的高宽比为所述第一节点对应的图像区域的高与所述第一节点对应的图像区域的宽的比值;
    第三预设划分子条件:如果所述第一节点对应的图像区域的面积与所述第一节点归属的第一级编码树的叶节点对应的图像区域的面积的比值小于或等于第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述水平二分、所述水平三分、所述竖直二分和所述竖直三分;
    第四预设划分子条件:如果所述第一节点对应的划分方式包括第一划分方式,所述第一节点的第一子节点的解码顺序晚于所述第一节点的第二子节点,且所述第二子节点对应的划分方式为所述第一划分方式,则所述第一子节点对应的候选划分方式集合不包括所述 第一划分方式,所述第一划分方式为所述水平二分或所述竖直二分;
    第五预设划分子条件:如果所述第一节点对应的划分方式包括第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最小的,所述第一子节点对应的候选划分方式集合不包括所述第二划分方式,所述第二划分方式为所述水平三分或所述竖直三分;
    第六预设划分子条件:如果所述第一节点对应的划分方式包括所述第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最大的,所述第一子节点对应的候选划分方式集合不包括所述第二划分方式;
    第七预设划分子条件:如果所述第一节点对应的图像区域的宽与预设的最小CU的边长比值小于或等于第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述竖直三分;如果所述第一节点对应的图像区域的高与预设的最小CU的边长比值小于或等于所述第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述水平三分;
    第八预设划分子条件:如果所述第一节点对应的图像区域的面积小于或者等于第四预设阈值,所述第一节点对应的候选划分方式集合不包括所述水平二分、所述水平三分、所述竖直二分和所述竖直三分;
    第九预设划分子条件:如果所述第一节点对应的划分方式为所述第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最大的,所述第一子节点对应的候选划分方式集合不包括所述第一划分方式,所述第一划分方式与所述第二划分方式的划分方向相同。
  4. 根据权利要求1-3中任意一项所述的解码方法,其特征在于,所述第二级编码树的节点划分方式信息包括第一信息、第二信息以及第三信息,所述第一信息用于表示是否继续划分所述第一节点,所述第二信息用于表示划分所述第一节点的方向,所述第三信息用于表示划分所述第一节点的模式;
    所述解析所述码流,得到第二级编码树的节点划分方式信息,具体包括:
    解析所述码流,根据所述第一预设划分条件,确定所述第一节点对应的候选划分方式集合;
    根据所述第一节点对应的候选划分方式集合,解析所述码流,确定所述第一信息、所述第二信息以及所述第三信息。
  5. 根据权利要求4所述的解码方法,其特征在于,所述根据所述第一节点对应的候选划分方式集合,解析所述码流,确定所述第一信息、所述第二信息以及所述第三信息,具体包括:
    确定第一数值,所述第一数值为所述第一节点对应的候选划分方式集合包括的划分方式的数量;
    根据所述第一数值,解析所述码流,确定所述第一信息、所述第二信息以及所述第三信息。
  6. 根据权利要求4或5所述的解码方法,其特征在于,所述第二级编码树对应的节点划分方式还包括四叉树划分;
    所述解析所述码流,得到第二级编码树的节点划分方式信息,具体包括:
    解析所述码流,得到所述第二级编码树的节点划分方式信息,其中,所述第二级编码树的节点划分方式信息指示所述第二级编码树中的第一节点对应的划分方式,所述第一节点对应的划分方式为所述第一节点对应的候选划分方式集合中的一种,所述第一节点对应的候选方式集合是根据所述第一预设划分条件和第二预设划分条件确定的,所述第二预设划分条件用于指示是否限制按照所述四叉树划分进行划分所述第一节点。
  7. 根据权利要求6所述的解码方法,其特征在于,所述第二预设划分条件包括以下至少一种预设划分子条件:
    第十预设划分子条件:如果所述第一节点的第二级编码树层级小于预设的最大第二级编码树层级,所述第一节点对应的候选划分方式集合不包括所述四叉树划分;
    第十一预设划分子条件:如果所述第一节点对应的图像区域的宽高比大于或等于第五预设阈值,所述第一节点对应的候选划分方式集合不包括所述四叉树划分。
  8. 根据权利要求6或7所述的解码方法,其特征在于,所述第二级编码树的节点划分方式信息还包括第四信息,所述第四信息用于表示是否按照所述四叉树划分进行划分所述第一节点;
    所述解析所述码流,得到第二级编码树的节点划分方式信息,具体包括:
    解析所述码流,根据所述第一预设划分条件和所述第二预设划分条件,确定所述第一节点对应的候选划分方式集合;
    根据所述第一节点对应的划分方式,解析所述码流,确定所述第一信息、所述第二信息、所述第三信息以及所述第四信息。
  9. 一种图像数据的编码方法,其特征在于,所述编码方法包括:
    确定与待编码图像块对应的编码树单元CTU;
    将所述CTU按照第一级编码树对应的节点划分方式进行划分,得到所述第一级编码树的叶节点,所述第一级编码树的根节点对应所述CTU;
    确定第二级编码树中的第一节点对应的候选划分方式集合,所述第一节点对应的候选划分方式集合满足第一预设划分条件,所述第一预设划分条件用于指示是否限制按照目标划分方式划分所述第一节点,所述第二级编码树的根节点为所述第一级编码树的一个叶节点,所述目标划分方式包括水平二分、水平三分、竖直二分和竖直三分中的至少一种;
    如果所述第一节点对应的候选划分方式集合包括不继续划分,对与所述第一节点对应的编码单元CU进行编码,得到对应所述编码单元的编码单元码流。
  10. 根据权利要求9所述的编码方法,其特征在于,所述第一级编码树对应的节点划分方式包括四叉树划分,所述第二级编码树对应的节点划分方式包括所述二叉树划分和所述三叉树划分。
  11. 根据权利要求9或10所述的编码方法,其特征在于,所述第一预设划分条件包括一下至少一种预设划分子条件:
    第一预设划分子条件:如果所述第一节点对应的图像区域的宽高比大于或等于第一预设阈值,所述第一节点对应的候选划分方式集合不包括所述水平二分和所述水平三分,所述第一节点对应的图像区域的宽高比为所述第一节点对应的图像区域的宽与所述第一节点对应的图像区域的高的比值;
    第二预设划分子条件:如果所述第一节点对应的图像区域的高宽比大于或等于第二预 设阈值,所述第一节点对应的候选划分方式集合不包括所述竖直二分和所述竖直三分,所述第一节点对应的图像区域的高宽比为所述第一节点对应的图像区域的高与所述第一节点对应的图像区域的宽的比值;
    第三预设划分子条件:如果所述第一节点对应的图像区域的面积与所述第一节点归属的第一级编码树的叶节点对应的图像区域的面积的比值小于或等于第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述水平二分、所述水平三分、所述竖直二分和所述竖直三分;
    第四预设划分子条件:如果所述第一节点对应的划分方式包括第一划分方式,所述第一节点的第一子节点的解码顺序晚于所述第一节点的第二子节点,且所述第二子节点对应的划分方式为所述第一划分方式,则所述第一子节点对应的候选划分方式集合不包括所述第一划分方式,所述第一划分方式为所述水平二分或所述竖直二分;
    第五预设划分子条件:如果所述第一节点对应的划分方式包括第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最小的,所述第一子节点对应的候选划分方式集合不包括所述第二划分方式,所述第二划分方式为所述水平三分或所述竖直三分;
    第六预设划分子条件:如果所述第一节点对应的划分方式包括所述第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最大的,所述第一子节点对应的候选划分方式集合不包括所述第二划分方式;
    第七预设划分子条件:如果所述第一节点对应的图像区域的宽与预设的最小CU的边长比值小于或等于第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述竖直三分;如果所述第一节点对应的图像区域的高与预设的最小CU的边长比值小于或等于所述第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述水平三分;
    第八预设划分子条件:如果所述第一节点对应的图像区域的面积小于或者等于第四预设阈值,所述第一节点对应的候选划分方式集合不包括所述水平二分、所述水平三分、所述竖直二分和所述竖直三分;
    第九预设划分子条件:如果所述第一节点对应的划分方式为所述第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最大的,所述第一子节点对应的候选划分方式集合不包括所述第一划分方式,所述第一划分方式与所述第二划分方式的划分方向相同。
  12. 根据权利要求10所述的编码方法,其特征在于,所述第二级编码树对应的节点划分方式还包括所述四叉树划分;
    所述确定第二级编码树中的第一节点对应的候选划分方式集合,包括:
    确定所述第一节点对应的候选划分方式集合,所述第一节点对应的候选划分方式集合满足所述第一预设划分条件和所述第二预设限制条件,所述第二预设划分条件用于指示是否限制按照所述四叉树划分进行划分所述第一节点。
  13. 根据权利要求12所述的编码方法,其特征在于,所述第二预设划分条件包括以下至少一种预设划分子条件:
    第十预设划分子条件:如果所述第一节点的第二级编码树层级小于预设的最大第二级 编码树层级,所述第一节点对应的候选划分方式集合不包括所述四叉树划分;
    第十一预设划分子条件:如果所述第一节点对应的图像区域的宽高比大于或等于第五预设阈值,所述第一节点对应的候选划分方式集合不包括所述四叉树划分。
  14. 根据权利要求9-13中任意一项所述的编码方法,其特征在于,所述编码方法还包括:
    如果所述第一节点对应的候选划分方式集合包括除不继续划分以外的其他划分方式,计算所述第一节点能够使用的划分方式中的每种划分方式的率失真代价;
    将最小的率失真代价对应的划分方式确定为所述第一节点对应的目标划分方式;
    使用所述第一节点对应的目标划分方式划分所述第一节点。
  15. 一种解码端设备,其特征在于,包括:
    获取模块,用于得到包含所述图像数据的码流;
    解析模块,用于解析所述获取模块获取到的所述码流,得到第一级编码树的节点划分方式信息,其中,所述第一级编码树的根节点对应一个编码树单元CTU,所述第一级编码树的叶节点是通过所述第一级编码树的节点划分方式信息对应的节点划分方式和所述第一级编码树的根节点进行指示的,以及用于解析所述码流,得到第二级编码树的节点划分方式信息,其中,所述第二级编码树的节点划分方式信息指示所述第二级编码树中的第一节点对应的划分方式,所述第一节点对应的划分方式为所述第一节点对应的候选划分方式集合中的一种,所述第一节点对应的候选方式集合是根据第一预设划分条件确定的,所述第一预设划分条件用于指示是否限制按照目标划分方式划分所述第一节点,所述目标划分方式包括水平二分、水平三分、竖直二分和竖直三分的至少一种,所述第二级编码树的根节点为所述第一级编码树的一个叶节点,以及用于如果所述第一节点对应的划分方式为不继续划分,解析所述码流,得到所述第一节点的编码信息,其中,所述第一节点对应一个编码单元CU;
    解码重建模块,用于根据所述解析模块得到的所述第一节点的编码信息,对所述编码单元进行解码重建,得到对应所述图像数据的图像。
  16. 根据权利要求15所述的解码端设备,其特征在于,所述第一级编码树对应的节点划分方式包括四叉树划分,所述第二级编码树对应的节点划分方式包括二叉树划分和三叉树划分。
  17. 根据权利要求15或16所述的解码端设备,其特征在于,所述第一预设划分条件包括以下至少一种预设划分子条件:
    第一预设划分子条件:如果所述第一节点对应的图像区域的宽高比大于或等于第一预设阈值,所述第一节点对应的候选划分方式集合不包括所述水平二分和所述水平三分,所述第一节点对应的图像区域的宽高比为所述第一节点对应的图像区域的宽与所述第一节点对应的图像区域的高的比值;
    第二预设划分子条件:如果所述第一节点对应的图像区域的高宽比大于或等于第二预设阈值,所述第一节点对应的候选划分方式集合不包括所述竖直二分和所述竖直三分,所述第一节点对应的图像区域的高宽比为所述第一节点对应的图像区域的高与所述第一节点对应的图像区域的宽的比值;
    第三预设划分子条件:如果所述第一节点对应的图像区域的面积与所述第一节点归属 的第一级编码树的叶节点对应的图像区域的面积的比值小于或等于第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述水平二分、所述水平三分、所述竖直二分和所述竖直三分;
    第四预设划分子条件:如果所述第一节点对应的划分方式包括第一划分方式,所述第一节点的第一子节点的解码顺序晚于所述第一节点的第二子节点,且所述第二子节点对应的划分方式为所述第一划分方式,则所述第一子节点对应的候选划分方式集合不包括所述第一划分方式,所述第一划分方式为所述水平二分或所述竖直二分;
    第五预设划分子条件:如果所述第一节点对应的划分方式包括第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最小的,所述第一子节点对应的候选划分方式集合不包括所述第二划分方式,所述第二划分方式为所述水平三分或所述竖直三分;
    第六预设划分子条件:如果所述第一节点对应的划分方式包括所述第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最大的,所述第一子节点对应的候选划分方式集合不包括所述第二划分方式;
    第七预设划分子条件:如果所述第一节点对应的图像区域的宽与预设的最小CU的边长比值小于或等于第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述竖直三分;如果所述第一节点对应的图像区域的高与预设的最小CU的边长比值小于或等于所述第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述水平三分;
    第八预设划分子条件:如果所述第一节点对应的图像区域的面积小于或者等于第四预设阈值,所述第一节点对应的候选划分方式集合不包括所述水平二分、所述水平三分、所述竖直二分和所述竖直三分;
    第九预设划分子条件:如果所述第一节点对应的划分方式为所述第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最大的,所述第一子节点对应的候选划分方式集合不包括所述第一划分方式,所述第一划分方式与所述第二划分方式的划分方向相同。
  18. 根据权利要求15-17中任意一项所述的解码端设备,其特征在于,所述第二级编码树的节点划分方式信息包括第一信息、第二信息以及第三信息,所述第一信息用于表示是否继续划分所述第一节点,所述第二信息用于表示划分所述第一节点的方向,所述第三信息用于表示划分所述第一节点的模式;
    所述解析模块,具体用于解析所述码流,根据所述第一预设划分条件,确定所述第一节点对应的候选划分方式集合,以及具体用于根据所述第一节点对应的候选划分方式集合,解析所述码流,确定所述第一信息、所述第二信息以及所述第三信息。
  19. 根据权利要求18所述的解码端设备,其特征在于,
    所述解析模块,具体用于确定第一数值,所述第一数值为所述第一节点对应的候选划分方式集合包括的划分方式的数量,以及具体用于根据所述第一数值,解析所述码流,确定所述第一信息、所述第二信息以及所述第三信息。
  20. 根据权利要求18或19所述的解码端设备,其特征在于,所述第二级编码树对应的节点划分方式还包括四叉树划分;
    所述解析模块,具体用于解析所述码流,得到所述第二级编码树的节点划分方式信息,其中,所述第二级编码树的节点划分方式信息指示所述第二级编码树中的第一节点对应的划分方式,所述第一节点对应的划分方式为所述第一节点对应的候选划分方式集合中的一种,所述第一节点对应的候选方式集合是根据所述第一预设划分条件和第二预设划分条件确定的,所述第二预设划分条件用于指示是否限制按照所述四叉树划分进行划分所述第一节点。
  21. 根据权利要求20所述的解码端设备,其特征在于,所述第二预设划分条件包括以下至少一种预设划分子条件:
    第十预设划分子条件:如果所述第一节点的第二级编码树层级小于预设的最大第二级编码树层级,所述第一节点对应的候选划分方式集合不包括所述四叉树划分;
    第十一预设划分子条件:如果所述第一节点对应的图像区域的宽高比大于或等于第五预设阈值,所述第一节点对应的候选划分方式集合不包括所述四叉树划分。
  22. 根据权利要求20或21所述的解码端设备,其特征在于,所述第二级编码树的节点划分方式信息还包括第四信息,所述第四信息用于表示是否按照所述四叉树划分进行划分所述第一节点;
    所述解析模块,具体用于解析所述码流,根据所述第一预设划分条件和所述第二预设划分条件,确定所述第一节点对应的候选划分方式集合,以及具体用于根据所述第一节点对应的划分方式,解析所述码流,确定所述第一信息、所述第二信息、所述第三信息以及所述第四信息。
  23. 一种编码端设备,其特征在于,包括:
    确定模块,用于确定与待编码图像块对应的编码树单元CTU;
    划分模块,用于将所述确定模块确定的所述CTU按照第一级编码树对应的节点划分方式进行划分,得到所述第一级编码树的叶节点,所述第一级编码树的根节点对应所述CTU;
    所述确定模块,还用于确定第二级编码树中的第一节点对应的候选划分方式集合,所述第一节点对应的候选划分方式集合满足第一预设划分条件,所述第一预设划分条件用于指示是否限制按照目标划分方式划分所述第一节点,所述第二级编码树的根节点为所述第一级编码树的一个叶节点,所述目标划分方式包括水平二分、水平三分、竖直二分和竖直三分中的至少一种;
    编码模块,用于如果所述确定模块确定的所述第一节点对应的候选划分方式集合包括不继续划分,对与所述第一节点对应的编码单元CU进行编码,得到对应所述编码单元的编码单元码流。
  24. 根据权利要求23所述的编码端设备,其特征在于,所述第一级编码树对应的节点划分方式包括四叉树划分,所述第二级编码树对应的节点划分方式包括所述二叉树划分和所述三叉树划分。
  25. 根据权利要求23或24所述的编码端设备,其特征在于,所述第一预设划分条件包括以下至少一种预设划分子条件:
    第一预设划分子条件:如果所述第一节点对应的图像区域的宽高比大于或等于第一预设阈值,所述第一节点对应的候选划分方式集合不包括所述水平二分和所述水平三分,所 述第一节点对应的图像区域的宽高比为所述第一节点对应的图像区域的宽与所述第一节点对应的图像区域的高的比值;
    第二预设划分子条件:如果所述第一节点对应的图像区域的高宽比大于或等于第二预设阈值,所述第一节点对应的候选划分方式集合不包括所述竖直二分和所述竖直三分,所述第一节点对应的图像区域的高宽比为所述第一节点对应的图像区域的高与所述第一节点对应的图像区域的宽的比值;
    第三预设划分子条件:如果所述第一节点对应的图像区域的面积与所述第一节点归属的第一级编码树的叶节点对应的图像区域的面积的比值小于或等于第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述水平二分、所述水平三分、所述竖直二分和所述竖直三分;
    第四预设划分子条件:如果所述第一节点对应的划分方式包括第一划分方式,所述第一节点的第一子节点的解码顺序晚于所述第一节点的第二子节点,且所述第二子节点对应的划分方式为所述第一划分方式,则所述第一子节点对应的候选划分方式集合不包括所述第一划分方式,所述第一划分方式为所述水平二分或所述竖直二分;
    第五预设划分子条件:如果所述第一节点对应的划分方式包括第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最小的,所述第一子节点对应的候选划分方式集合不包括所述第二划分方式,所述第二划分方式为所述水平三分或所述竖直三分;
    第六预设划分子条件:如果所述第一节点对应的划分方式包括所述第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最大的,所述第一子节点对应的候选划分方式集合不包括所述第二划分方式;
    第七预设划分子条件:如果所述第一节点对应的图像区域的宽与预设的最小CU的边长比值小于或等于第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述竖直三分;如果所述第一节点对应的图像区域的高与预设的最小CU的边长比值小于或等于所述第三预设阈值,则所述第一节点对应的候选划分方式集合不包括所述水平三分;
    第八预设划分子条件:如果所述第一节点对应的图像区域的面积小于或者等于第四预设阈值,所述第一节点对应的候选划分方式集合不包括所述水平二分、所述水平三分、所述竖直二分和所述竖直三分;
    第九预设划分子条件:如果所述第一节点对应的划分方式为所述第二划分方式,所述第一节点的第一子节点对应的图像区域的面积为所述第一节点的三个子节点对应的图像区域的面积中最大的,所述第一子节点对应的候选划分方式集合不包括所述第一划分方式,所述第一划分方式与所述第二划分方式的划分方向相同。
  26. 根据权利要求24所述的编码端设备,其特征在于,所述第二级编码树对应的节点划分方式还包括所述四叉树划分;
    所述确定模块,具体用于确定所述第一节点对应的候选划分方式集合,所述第一节点对应的候选划分方式集合满足所述第一预设划分条件和所述第二预设限制条件,所述第二预设划分条件用于指示是否限制按照所述四叉树划分进行划分所述第一节点。
  27. 根据权利要求26所述的编码端设备,其特征在于,所述第二预设划分条件包括 以下至少一种预设划分子条件:
    第十预设划分子条件:如果所述第一节点的第二级编码树层级小于预设的最大第二级编码树层级,所述第一节点对应的候选划分方式集合不包括所述四叉树划分;
    第十一预设划分子条件:如果所述第一节点对应的图像区域的宽高比大于或等于第五预设阈值,所述第一节点对应的候选划分方式集合不包括所述四叉树划分。
  28. 根据权利要求23-27中任意一项所述的编码端设备,其特征在于,所述编码端设备还包括计算模块,
    所述计算模块,用于如果所述确定模块确定的所述第一节点对应的候选划分方式集合包括除不继续划分以外的其他划分方式,计算所述第一节点能够使用的划分方式中的每种划分方式的率失真代价;
    所述确定模块,还用于将最小的率失真代价对应的划分方式确定为所述第一节点对应的目标划分方式;
    所述划分模块,具体用于使用所述确定模块确定的所述第一节点对应的目标划分方式划分所述第一节点。
PCT/CN2018/078498 2017-06-28 2018-03-09 一种图像数据的编码、解码方法及装置 WO2019001006A1 (zh)

Priority Applications (15)

Application Number Priority Date Filing Date Title
BR112019027732-3A BR112019027732B1 (pt) 2017-06-28 2018-03-09 Método e aparelho de codificação de dados de imagem e método e aparelho de decodificação de dados de imagem
RU2020103339A RU2754870C2 (ru) 2017-06-28 2018-03-09 Способ и устройство кодирования данных изображения, способ и устройство декодирования данных изображения
AU2018290360A AU2018290360B9 (en) 2017-06-28 2018-03-09 Picture data encoding method and apparatus and picture data decoding method and apparatus
CA3068551A CA3068551A1 (en) 2017-06-28 2018-03-09 Picture data encoding method and apparatus and picture data decoding method and apparatus
JP2019572511A JP6915105B2 (ja) 2017-06-28 2018-03-09 画像データ符号化方法及び装置並びに画像データ復号化方法及び装置
EP18824528.6A EP3637782A4 (en) 2017-06-28 2018-03-09 METHOD AND DEVICE FOR ENCODING AND DECODING IMAGE DATA
KR1020207002490A KR102320023B1 (ko) 2017-06-28 2018-03-09 화상 데이터 인코딩 방법 및 장치 및 화상 데이터 디코딩 방법 및 장치
KR1020217034782A KR102478441B1 (ko) 2017-06-28 2018-03-09 화상 데이터 인코딩 방법 및 장치 및 화상 데이터 디코딩 방법 및 장치
SG11201913535UA SG11201913535UA (en) 2017-06-28 2018-03-09 Picture data encoding method and apparatus and picture data decoding method and apparatus
US16/728,287 US10834430B2 (en) 2017-06-28 2019-12-27 Picture data encoding method and apparatus and picture data decoding method and apparatus
PH12020500016A PH12020500016A1 (en) 2017-06-28 2020-01-02 Picture data encoding method and apparatus and picture data decoding method and apparatus
US16/949,362 US11277648B2 (en) 2017-06-28 2020-10-27 Picture data encoding method and apparatus and picture data decoding method and apparatus
US17/646,707 US11695968B2 (en) 2017-06-28 2021-12-31 Picture data encoding method and apparatus and picture data decoding method and apparatus
AU2023201428A AU2023201428C1 (en) 2017-06-28 2023-03-08 Picture data encoding method and apparatus and picture data decoding method and apparatus
US18/200,141 US12069317B2 (en) 2017-06-28 2023-05-22 Picture data encoding method and apparatus and picture data decoding method and apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710509138.8A CN109151468B (zh) 2017-06-28 2017-06-28 一种图像数据的编码、解码方法及装置
CN201710509138.8 2017-06-28

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/728,287 Continuation US10834430B2 (en) 2017-06-28 2019-12-27 Picture data encoding method and apparatus and picture data decoding method and apparatus

Publications (1)

Publication Number Publication Date
WO2019001006A1 true WO2019001006A1 (zh) 2019-01-03

Family

ID=64740356

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/078498 WO2019001006A1 (zh) 2017-06-28 2018-03-09 一种图像数据的编码、解码方法及装置

Country Status (13)

Country Link
US (4) US10834430B2 (zh)
EP (1) EP3637782A4 (zh)
JP (3) JP6915105B2 (zh)
KR (2) KR102478441B1 (zh)
CN (5) CN112601084A (zh)
AU (2) AU2018290360B9 (zh)
CA (1) CA3068551A1 (zh)
MX (2) MX2023010008A (zh)
PH (1) PH12020500016A1 (zh)
RU (1) RU2754870C2 (zh)
SG (1) SG11201913535UA (zh)
TW (1) TWI674790B (zh)
WO (1) WO2019001006A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020186117A1 (en) * 2019-03-12 2020-09-17 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus of video coding for triangle prediction
CN114467308A (zh) * 2019-09-22 2022-05-10 北京字节跳动网络技术有限公司 视频处理中的参考图片重采样
JP2022535665A (ja) * 2019-04-23 2022-08-10 オッポ広東移動通信有限公司 画像デコーディング方法、デコーダおよび記憶媒体

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108965894B (zh) * 2017-05-27 2021-12-21 华为技术有限公司 一种视频图像的编解码方法及装置
CN117336511A (zh) * 2017-07-06 2024-01-02 Lx 半导体科技有限公司 图像编码方法、图像解码方法、发送方法和数字存储介质
CN110892718B (zh) 2017-07-06 2023-02-03 三星电子株式会社 视频编码方法和装置、视频解码方法和装置
EP3737098A4 (en) * 2018-01-02 2021-06-09 Samsung Electronics Co., Ltd. CODING PROCESS AND ASSOCIATED APPARATUS, AND DECODING PROCESS AND ASSOCIATED APPARATUS
WO2019151268A1 (ja) * 2018-01-30 2019-08-08 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 符号化装置、復号装置、符号化方法および復号方法
KR20210005326A (ko) * 2018-03-05 2021-01-13 파나소닉 인텔렉츄얼 프로퍼티 코포레이션 오브 아메리카 부호화 장치, 복호 장치, 부호화 방법 및 복호 방법
WO2019190280A1 (ko) * 2018-03-29 2019-10-03 세종대학교산학협력단 영상 부호화/복호화 방법 및 장치
HUE064218T2 (hu) 2018-08-28 2024-02-28 Huawei Tech Co Ltd Képfelosztási eljárás és eszköz
KR20240005108A (ko) 2019-01-08 2024-01-11 후아웨이 테크놀러지 컴퍼니 리미티드 이미지 예측 방법, 장치 및 시스템, 디바이스 및 저장 매체
CN111770337B (zh) * 2019-03-30 2022-08-19 华为技术有限公司 视频编码方法、视频解码方法及相关设备
KR20210145754A (ko) 2019-04-12 2021-12-02 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 행렬 기반 인트라 예측에서의 산출
WO2020221372A1 (en) * 2019-05-01 2020-11-05 Beijing Bytedance Network Technology Co., Ltd. Context coding for matrix-based intra prediction
CN111901593B (zh) * 2019-05-04 2024-01-02 华为技术有限公司 一种图像划分方法、装置及设备
JP2022535726A (ja) 2019-05-31 2022-08-10 北京字節跳動網絡技術有限公司 行列ベースイントラ予測における制約されたアップサンプリングプロセス
WO2020244610A1 (en) 2019-06-05 2020-12-10 Beijing Bytedance Network Technology Co., Ltd. Context determination for matrix-based intra prediction
CN110490845A (zh) * 2019-07-26 2019-11-22 北京大米科技有限公司 一种图像特征提取方法、装置、存储介质及电子设备
CN111507071B (zh) * 2020-04-17 2024-02-27 上海电气风电集团股份有限公司 风电场的编码方法、编码装置及计算机可读存储介质
CN112511843B (zh) * 2020-11-19 2022-03-04 腾讯科技(深圳)有限公司 视频编码方法、装置、终端设备以及存储介质
CN113347403B (zh) * 2021-04-19 2023-10-27 浙江大学 一种图像处理方法及装置
CN113660490A (zh) * 2021-06-24 2021-11-16 浙江大华技术股份有限公司 编码单元的划分方法、编码方法、电子装置及存储介质
WO2023197832A1 (en) * 2022-04-13 2023-10-19 Mediatek Inc. Method and apparatus of using separate splitting trees for colour components in video coding system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016091161A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Method of video coding using binary tree block partitioning
WO2017088170A1 (en) * 2015-11-27 2017-06-01 Mediatek Inc. Entropy coding the binary tree block partitioning structure

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2010116869A1 (ja) * 2009-04-08 2012-10-18 シャープ株式会社 動画像符号化装置および動画像復号装置
BR122020008249B1 (pt) * 2010-04-13 2021-02-17 Ge Video Compression, Llc herança em amostra de arranjo em subdivisão multitree
US8576097B2 (en) * 2010-07-06 2013-11-05 Nokia Corporation Coding using a mapping between a syntax element and a code word
US20120170648A1 (en) 2011-01-05 2012-07-05 Qualcomm Incorporated Frame splitting in video coding
US8494290B2 (en) * 2011-05-05 2013-07-23 Mitsubishi Electric Research Laboratories, Inc. Method for coding pictures using hierarchical transform units
AU2012200345B2 (en) * 2012-01-20 2014-05-01 Canon Kabushiki Kaisha Method, apparatus and system for encoding and decoding the significance map residual coefficients of a transform unit
CN102801976B (zh) * 2012-08-03 2014-10-22 山东省科学院情报研究所 基于三维小波视频编码的帧间块模式选择方法
WO2014078068A1 (en) * 2012-11-13 2014-05-22 Intel Corporation Content adaptive transform coding for next generation video
WO2014120367A1 (en) * 2013-01-30 2014-08-07 Intel Corporation Content adaptive parametric transforms for coding for next generation video
EP3886433A3 (en) * 2013-03-07 2021-10-27 Telefonaktiebolaget LM Ericsson (publ) Video transcoding
CN103414891B (zh) * 2013-07-19 2016-08-10 北京交通大学 一种hevc帧内编码的自底向上快速四叉树裁剪算法
US20170118486A1 (en) * 2014-06-11 2017-04-27 Lg Electronics Inc. Method And Apparatus For Encoding And Decoding Video Signal Using Embedded Block Partitioning
KR20170128390A (ko) * 2015-03-19 2017-11-22 엘지전자 주식회사 비디오 신호의 처리 방법 및 이를 위한 장치
CN104853220B (zh) * 2015-05-18 2017-08-25 武汉随锐亿山科技有限公司 一种hevc编码四叉树的递推译码方法
WO2017008263A1 (en) * 2015-07-15 2017-01-19 Mediatek Singapore Pte. Ltd. Conditional binary tree block partitioning structure
JP6866369B2 (ja) * 2015-11-24 2021-04-28 サムスン エレクトロニクス カンパニー リミテッド 符号化順序符号化方法及びその装置、該復号方法及びその装置
CN105721866B (zh) * 2016-02-01 2019-02-12 北京奇艺世纪科技有限公司 一种编码单元划分方法及装置
CN116567236A (zh) * 2016-12-16 2023-08-08 夏普株式会社 图像解码方法
US11539952B2 (en) * 2019-03-12 2022-12-27 Qualcomm Incorporated Implicit transform selection in video coding
US20220232255A1 (en) * 2019-05-30 2022-07-21 Sharp Kabushiki Kaisha Image decoding apparatus

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016091161A1 (en) * 2014-12-10 2016-06-16 Mediatek Singapore Pte. Ltd. Method of video coding using binary tree block partitioning
WO2017088170A1 (en) * 2015-11-27 2017-06-01 Mediatek Inc. Entropy coding the binary tree block partitioning structure

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020186117A1 (en) * 2019-03-12 2020-09-17 Beijing Dajia Internet Information Technology Co., Ltd. Methods and apparatus of video coding for triangle prediction
US11134261B2 (en) 2019-03-12 2021-09-28 Beijing Daija Internet Information Technology Co., Ltd. Methods and apparatus of video coding for triangle prediction
JP2022535665A (ja) * 2019-04-23 2022-08-10 オッポ広東移動通信有限公司 画像デコーディング方法、デコーダおよび記憶媒体
JP7309909B2 (ja) 2019-04-23 2023-07-18 オッポ広東移動通信有限公司 画像デコーディング方法、デコーダおよび記憶媒体
US11882318B2 (en) 2019-04-23 2024-01-23 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for picture decoding, decoder and storage medium
US11930223B2 (en) 2019-04-23 2024-03-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Method for picture decoding, decoder and storage medium
JP7490863B2 (ja) 2019-04-23 2024-05-27 オッポ広東移動通信有限公司 画像デコーディング方法、デコーダおよび記憶媒体
CN114467308A (zh) * 2019-09-22 2022-05-10 北京字节跳动网络技术有限公司 视频处理中的参考图片重采样
CN114467308B (zh) * 2019-09-22 2024-04-12 北京字节跳动网络技术有限公司 视频处理中的参考图片重采样

Also Published As

Publication number Publication date
CA3068551A1 (en) 2019-01-03
CN109151468B (zh) 2020-12-08
AU2023201428A1 (en) 2023-04-06
RU2754870C2 (ru) 2021-09-08
JP7437485B2 (ja) 2024-02-22
AU2018290360A1 (en) 2020-01-30
SG11201913535UA (en) 2020-01-30
JP2023029940A (ja) 2023-03-07
CN112822491B (zh) 2024-05-03
AU2018290360B2 (en) 2022-12-08
AU2023201428B2 (en) 2024-02-08
US20220124377A1 (en) 2022-04-21
RU2020103339A3 (zh) 2021-07-28
MX2023010006A (es) 2023-09-07
CN112601083A (zh) 2021-04-02
US20230370647A1 (en) 2023-11-16
RU2020103339A (ru) 2021-07-28
KR102320023B1 (ko) 2021-10-29
EP3637782A4 (en) 2020-07-01
JP2021180505A (ja) 2021-11-18
CN112601085A (zh) 2021-04-02
AU2018290360B9 (en) 2023-01-05
US12069317B2 (en) 2024-08-20
AU2023201428C1 (en) 2024-07-11
KR20210133320A (ko) 2021-11-05
JP7189282B2 (ja) 2022-12-13
MX2023010008A (es) 2023-09-07
US20200137424A1 (en) 2020-04-30
US20210044837A1 (en) 2021-02-11
CN112601084A (zh) 2021-04-02
PH12020500016A1 (en) 2020-11-09
CN112822491A (zh) 2021-05-18
KR20200020915A (ko) 2020-02-26
BR112019027732A2 (pt) 2020-08-18
TW201914300A (zh) 2019-04-01
US11695968B2 (en) 2023-07-04
US11277648B2 (en) 2022-03-15
TWI674790B (zh) 2019-10-11
JP2020526128A (ja) 2020-08-27
KR102478441B1 (ko) 2022-12-15
CN109151468A (zh) 2019-01-04
JP6915105B2 (ja) 2021-08-04
EP3637782A1 (en) 2020-04-15
US10834430B2 (en) 2020-11-10

Similar Documents

Publication Publication Date Title
WO2019001006A1 (zh) 一种图像数据的编码、解码方法及装置
TWI667914B (zh) 一種影像資料的編碼、解碼方法及裝置
CN108304753B (zh) 视频通信方法及视频通信装置
CN105992001A (zh) 一种对图片进行量化处理的方法及装置
US20240095966A1 (en) Coding of displacements by use of contexts for vertex mesh (v-mesh)
CN113066139A (zh) 图片处理方法和装置、存储介质及电子设备
CN109003313B (zh) 一种传输网页图片的方法、装置和系统
RU2773641C2 (ru) Способ и устройство кодирования данных изображения, способ и устройство декодирования данных изображения
BR112019027732B1 (pt) Método e aparelho de codificação de dados de imagem e método e aparelho de decodificação de dados de imagem
BR122024002650A2 (pt) Método e aparelho de codificação de dados de imagem e método e aparelho de decodificação de dados de imagem
CN117742577A (zh) 图像处理方法、装置、存储介质及电子设备
CN116996681A (zh) 一种编码码率的确定方法、装置、设备及存储介质

Legal Events

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

Ref document number: 18824528

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 3068551

Country of ref document: CA

Ref document number: 2019572511

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112019027732

Country of ref document: BR

ENP Entry into the national phase

Ref document number: 20207002490

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2018824528

Country of ref document: EP

Effective date: 20200111

ENP Entry into the national phase

Ref document number: 2018290360

Country of ref document: AU

Date of ref document: 20180309

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 112019027732

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20191223