WO2019114225A1 - 编码单元划分确定方法及装置、计算设备及可读存储介质 - Google Patents

编码单元划分确定方法及装置、计算设备及可读存储介质 Download PDF

Info

Publication number
WO2019114225A1
WO2019114225A1 PCT/CN2018/090935 CN2018090935W WO2019114225A1 WO 2019114225 A1 WO2019114225 A1 WO 2019114225A1 CN 2018090935 W CN2018090935 W CN 2018090935W WO 2019114225 A1 WO2019114225 A1 WO 2019114225A1
Authority
WO
WIPO (PCT)
Prior art keywords
coding unit
threshold
current coding
gradient
size
Prior art date
Application number
PCT/CN2018/090935
Other languages
English (en)
French (fr)
Inventor
毛煦楠
Original Assignee
腾讯科技(深圳)有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Priority to EP18887236.0A priority Critical patent/EP3726837A4/en
Priority to KR1020197036795A priority patent/KR102327942B1/ko
Priority to JP2020526386A priority patent/JP6953067B2/ja
Priority to US16/390,165 priority patent/US11190766B2/en
Publication of WO2019114225A1 publication Critical patent/WO2019114225A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/103Selection of coding mode or of prediction mode
    • H04N19/11Selection of coding mode or of prediction mode among a plurality of spatial predictive coding modes
    • 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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • H04N19/122Selection of transform size, e.g. 8x8 or 2x4x8 DCT; Selection of sub-band transforms of varying structure or type
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/136Incoming video signal characteristics or properties
    • H04N19/14Coding unit complexity, e.g. amount of activity or edge presence estimation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques

Definitions

  • the present application relates to the field of video coding technologies, and in particular, to a coding unit division determining method and apparatus, a computing device, and a readable storage medium.
  • HEVC High Efficiency Video Coding
  • the main purpose of the present application is to provide a coding unit partition determination method and apparatus, a computing device, and a readable storage medium, which are intended to solve the technical problem that the coding unit of the prior art has a large computational burden and high computational complexity. .
  • a first aspect of the present application provides a coding unit division determining method, including:
  • the computing device determines whether the size of the current coding unit is greater than a size of the minimum coding unit
  • the computing device acquires a gradient of the current coding unit
  • the computing device acquires a gradient of each sub coding unit included in the current coding unit;
  • the computing device determines whether to divide the current coding unit according to a gradient of the respective sub coding units.
  • the second aspect of the present application provides a coding unit division determining apparatus, including:
  • a first determining module configured to determine whether a size of the current coding unit is greater than a size of the minimum coding unit
  • a first acquiring module configured to acquire a gradient of the current coding unit when a size of the current coding unit is larger than a size of the minimum coding unit
  • a second acquiring module configured to acquire, when the gradient of the current coding unit is smaller than the first threshold, a gradient of each sub coding unit included in the current coding unit;
  • a second determining module configured to determine, according to the gradient of each of the sub coding units, whether to divide the current coding unit.
  • a third aspect of the present application provides a computing device, including: a memory, a processor, and a computer program stored on the memory and running on the processor, the processor executing the computer program
  • the steps in the coding unit division determining method provided by the first aspect of the embodiment of the present application are implemented.
  • a fourth aspect of the present application provides a computer readable storage medium, where a computer program is stored, and when the computer program is executed by a processor, the coding unit division determining method provided by the first aspect of the present application is implemented. Each step in the process.
  • the present application provides a coding unit partition determination method, including: determining, by a computing device, whether a size of a current coding unit is greater than a size of a minimum coding unit, and acquiring a gradient of a current coding unit when a size of the current coding unit is greater than a size of a minimum coding unit When the gradient of the current coding unit is smaller than the first threshold, the gradients of the respective sub coding units included in the current coding unit are obtained, and whether the current coding unit is divided according to the gradient of the respective sub coding units is confirmed.
  • the current coding unit whose size is larger than the minimum coding unit, it is required to determine whether to further partition the current coding unit based on the gradient of the current coding unit and the gradient of each sub coding unit included in the current coding unit, so that it can be determined. There is no need to divide the coding unit, which reduces the amount of computation caused by coding unit division and reduces the computational complexity.
  • FIG. 1 is a schematic flowchart of a method for determining a coding unit division in an embodiment of the present application
  • 1a is a schematic diagram of a sub-coding unit of a current coding unit of 64 ⁇ 64 in the embodiment of the present application;
  • FIG. 2 is a schematic flow chart of the refinement step of step 104 in the embodiment shown in FIG. 1;
  • step 3 is a schematic flow chart of the refinement step of step 104 in the embodiment shown in FIG. 1;
  • FIG. 4 is another schematic flowchart of a method for determining a coding unit division according to an embodiment of the present application
  • FIG. 5 is a schematic flowchart of a method for setting a first threshold according to an embodiment of the present application
  • FIG. 6 is a schematic diagram of a neighboring block of a current coding unit in an embodiment of the present application.
  • FIG. 7 is a schematic flowchart of dividing a current coding unit partition in an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of a program module of an encoding determining apparatus according to an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of a refinement program module of a second determining module in the embodiment shown in FIG. 8;
  • FIG. 10 is a schematic structural diagram of a refinement module of a second determining module in the embodiment shown in FIG. 8;
  • FIG. 11 is another schematic structural diagram of a program module of an encoding determining apparatus according to an embodiment of the present application.
  • FIG. 12 is a schematic structural diagram of an additional program module in an embodiment of the present application.
  • FIG. 13 is a schematic structural diagram of a computing device in an embodiment of the present application.
  • the division method of the coding unit has a technical problem of large computational burden and high computational complexity.
  • the present application provides a coding unit partition determination method. For a current coding unit whose size is larger than a minimum coding unit, a gradient based on a current coding unit and each sub coding unit included in a current coding unit are required. The gradient determines whether the current coding unit is further divided, so that the coding unit that does not need to be divided can be determined, the computation amount caused by the coding unit division is reduced, and the operation complexity is reduced.
  • FIG. 1 is a schematic flowchart of a method for determining a coding unit division according to an embodiment of the present application, where the method includes:
  • Step 101 Determine whether a size of the current coding unit is greater than a size of the minimum coding unit
  • HEVC High Efficiency Video Coding
  • PU prediction unit
  • TU transform unit
  • the coding unit is the basic unit of coding in HEVC.
  • a frame of video image is divided into a number of maximum coding units.
  • the maximum coding unit size is 64x64, and the maximum coding unit can be further recursively divided into smaller coding units, the smallest coding.
  • the size of the unit is 8x8, and the other sizes of the coding unit can be 32x32, 16x16. It can be seen that HEVC provides a more flexible coding unit partitioning method and a larger coding unit, which is advantageous for adapting the coding characteristics of different texture regions.
  • the coding unit division determining method is implemented by a coding unit division determining device (hereinafter simply referred to as a determining device), and the determining device may be a program module, stored in a memory, and called by the processor from the memory, and the determining
  • the computing device to which the device belongs may be a server.
  • the coding unit partition determination method in the embodiment of the present application is applicable to intra prediction, and the intra prediction is an encoding technique for eliminating spatial redundancy by using spatial correlation between pixels in a video frame, where HEVC There are up to 35 intra prediction modes available, including 33 directional prediction modes and two non-directional prediction modes.
  • the non-directional prediction modes are mode 0 (DC mode) and mode 1 (plane mode), 33 directionality.
  • the prediction mode is mode 2 to 35.
  • the coding unit partition determination method in the embodiment of the present application can effectively determine whether to divide the current coding unit.
  • the coding unit partition determination method may be applied in an intra prediction coding process, and after determining an optimal intra prediction mode of the current coding unit and a coding value corresponding to the optimal intra prediction mode, determining by using the foregoing method Whether the current coding unit needs to be further divided. specific:
  • the determining means will determine if the size of the current coding unit is greater than the size of the smallest coding unit, wherein the size of the smallest coding unit is 8x8. And when the size of the current coding unit is equal to the size of the minimum coding unit, indicating that the current coding unit is already the smallest coding unit, and may not be further divided. When the size of the current coding unit is larger than the size of the minimum coding unit, it indicates that further determination is needed. Whether the current coding unit needs further division.
  • the code generation value refers to the number of bits required to complete the coding in the specified intra prediction mode. Therefore, the coding value is different for different intra prediction modes.
  • Step 102 When the size of the current coding unit is larger than the size of the minimum coding unit, obtain a gradient of the current coding unit.
  • Step 103 When the gradient of the current coding unit is smaller than the first threshold, acquire a gradient of each sub coding unit included in the current coding unit.
  • Step 104 Determine, according to the gradient of each sub coding unit, whether to divide the current coding unit.
  • the determining device when the size of the current coding unit is larger than the size of the minimum coding unit, the determining device will acquire the gradient of the current coding unit.
  • the gradient of the current coding unit is compared with a first threshold to initially determine whether division is required, at the current.
  • the gradient of each sub coding unit included in the current coding unit is obtained to further determine whether division is needed.
  • the gradient of the current coding unit is greater than or equal to the first threshold, it is determined that the current coding unit needs to be divided.
  • the first threshold may be set in advance or may be calculated, which will be described in detail in the following embodiments, and details are not described herein.
  • the current coding unit is not divided in step 103.
  • the above-mentioned sub-coding unit is only a unit based on the size assumption of the current coding unit, wherein the number of sub-coding units is four.
  • the current coding unit is 64x64
  • FIG. 1a a schematic diagram of a sub-coding unit of a current coding unit of 64 ⁇ 64 in the embodiment of the present application, where four 32 ⁇ 32 blocks are sub-coding units.
  • the gradient refers to the directional derivative obtained by the pixel luminance values along the horizontal, vertical, lower left, and lower right directions.
  • the gradient of the sub coding unit may use an existing gradient algorithm. For example, the Sobel algorithm may be used, or other methods may be used.
  • the other method may be: calculating a sum of a horizontal one-dimensional gradient and a vertical one-dimensional gradient of all or part of the pixel points in the sub-coding unit, using the sum as a gradient of the sub-coding unit, or calculating all or part of the pixels in the sub-coding unit.
  • the sum of the multi-angle gradients of the points which is the gradient of the sub-coding unit.
  • the determining means determines whether to divide the current coding unit according to the gradient of each sub-coding unit. It can be understood that, in the prior art, the current coding unit whose size is larger than the minimum coding unit is divided, and in the embodiment of the present application, in the case that the gradient of the current coding unit is less than the first threshold, The gradient of each sub-coding unit may further determine whether to divide the current coding unit, and perform division for determining the current coding unit that needs to be divided. If the current coding unit that does not need to be divided is determined, the division is not performed, and therefore, there must be a part. The current coding unit does not need to be divided, which can effectively reduce the computational complexity of dividing the coding unit and reduce the computational complexity.
  • a coding unit having a size larger than a minimum coding unit if the number of coding units is 100, the number of divisions is 100, and in the embodiment of the present application, for the size larger than the minimum coding unit.
  • a coding unit when the number of coding units of the type is 100, based on the gradient of the sub coding unit included in the coding unit, 60 of which need to be divided, and 40 of which do not need to be divided, then only need to be divided 60 times, and the number of divisions is reduced. It is possible to reduce the amount of calculations caused by dividing the coding unit and to reduce the computational complexity.
  • the first threshold is used, the gradient of each sub-coding unit included in the current coding unit is obtained, and whether the current coding unit is divided according to the gradient of each sub-coding unit is confirmed.
  • the current coding unit whose size is larger than the minimum coding unit, it is required to determine whether to further partition the current coding unit based on the gradient of the current coding unit and the gradient of each sub coding unit included in the current coding unit, so that it can be determined. There is no need to divide the coding unit, which reduces the amount of computation caused by coding unit division and reduces the computational complexity.
  • FIG. 2 A schematic flowchart of the refinement step of step 104, the step 104 includes:
  • Step 201 When the sum of the gradients of the respective sub-coding units is greater than the second threshold, determine, in each of the sub-coding units, a first number of sub-coding units whose gradient is less than or equal to a third threshold; perform step 202 or step 203;
  • Step 202 When the first quantity is greater than or equal to a fourth threshold, determine to divide the current coding unit.
  • Step 203 When the first quantity is less than the fourth threshold, determine that the current coding unit is not divided.
  • a first threshold and a second threshold are set, wherein the first threshold is greater than a second threshold, where the first threshold is used to compare with a gradient of a current coding unit, and a gradient of the current coding unit is smaller than
  • the first threshold is used to compare with a gradient of a current coding unit, and a gradient of the current coding unit is smaller than
  • the sum of the gradients of the respective sub-coding units included in the current coding unit is compared with a second threshold to determine whether the current coding unit needs to be divided.
  • the gradient of the coding unit is equal to the sum of the gradients of its respective sub coding units.
  • the determining means determines the sub coding unit in which the gradient is less than or equal to the third threshold in each sub coding unit. The first number.
  • the sum of the gradients of the respective sub coding units is less than or equal to the second threshold, it may be determined at this time that the current coding unit does not need to be divided.
  • the smoother the image content of the current coding unit is, and the smaller the possibility of further dividing the current coding unit, the greater the gradient of the gradients of the respective sub-coding units. , indicating that the image content of the current coding unit is less smooth, and the possibility of further dividing the current coding unit is greater. Therefore, in the embodiment of the present application, by setting the first threshold and the second threshold, the determination of whether the division is required may be divided into three cases. One is that the gradient of the current coding unit is greater than or equal to the first threshold, indicating The image content of the current coding unit is not smooth.
  • the current coding unit is divided, and the other is that when the sum of the gradients of the respective sub coding units is smaller than the second threshold, it indicates that the image content of the current coding unit is smooth. It will be determined that the current coding unit is not divided.
  • the last one is that the gradient of the current coding unit is smaller than the first threshold, and the sum of the gradients of the respective sub coding units is greater than the second threshold, which is set for a case where there may be a large gap between each sub coding unit, and therefore, it is required to be based on
  • the first quantity described above further determines whether the current coding unit needs to be divided.
  • the fourth threshold can be set to 1, 2 or 3, and preferably 1.
  • the first number is greater than or equal to the fourth threshold, it indicates that there is a sub coding unit having a large gradient difference, and indicates the current coding unit.
  • the image content is smooth and uneven, some areas are smooth, and some areas are not smooth.
  • it is determined to divide the current coding unit.
  • the first number is smaller than the fourth threshold, it indicates that there is no sub-coding unit having a large gradient difference, and therefore, it is determined that the current coding unit is not divided.
  • the third threshold may be a smaller value, for example, the value approaches zero or equals zero.
  • the sum of the gradients of the respective sub-coding units needs to satisfy the following conditions: less than the first threshold and greater than the second threshold, and only if the condition is met, whether the current coding unit needs to be performed based on the first quantity is determined. Further division. Under the condition that the condition is satisfied, the first number of sub-coding units whose gradient is less than or equal to the third threshold cannot be 4 (the first quantity is 4, indicating that the gradients of the four sub-coding units are small, which is actually It is not necessary to divide, and its sum cannot be greater than the first threshold), and therefore, there is no erroneous determination that the current coding unit needs to be divided.
  • the division of the current coding unit not only reduces the computational burden of coding the coding unit, but also reduces the computational complexity, and fully considers the gradient difference of each sub-coding unit to the coding unit structure and the selected optimal intra prediction mode ( Because the optimal intra prediction mode of each sub coding unit may be different after the current coding unit is divided into multiple sub coding units, and may also be different from the optimal intra prediction mode of the current coding unit, the better Implement coding to further reduce the code rate.
  • FIG. 3 is a schematic flowchart of the refinement step of step 104 in the embodiment shown in FIG. 1.
  • the step 104 includes:
  • Step 301 When the sum of the gradients of the respective sub-coding units is greater than the second threshold, determine whether a ratio of the maximum gradient to the minimum non-zero gradient in the gradient of each sub-coding unit is greater than or equal to a fifth threshold; 302 or step 303;
  • Step 302 When the ratio is greater than or equal to the fifth threshold, determine to divide the current coding unit.
  • Step 303 When the ratio is less than the fifth threshold, determine that the current coding unit is not divided.
  • the determining means determines whether the ratio of the maximum gradient to the minimum non-zero gradient is greater than or equal to a fifth threshold in the gradient of each sub-coding unit.
  • the ratio when the ratio is greater than or equal to the fifth threshold, indicating that the gradient between the sub-coding unit of the maximum gradient and the sub-coding unit of the minimum non-zero gradient is large, in order to reduce the code rate, determining the current coding unit Performing division, when the ratio is smaller than the fifth threshold, indicating that the gradient difference between the sub-coding unit of the maximum gradient and the sub-coding unit of the minimum non-zero gradient is small, and it is determined that the current coding unit does not need to be divided.
  • the gradient of the current coding unit when the gradient of the current coding unit is smaller than the first threshold, and the sum of the gradients of the respective sub coding units is greater than the second threshold, it is further determined whether the pair needs to be used by using the gradient of each sub coding unit of the current coding unit.
  • the division of the current coding unit not only reduces the computational burden of coding the coding unit, but also reduces the computational complexity, and fully considers the influence of the gradient difference of each sub-coding unit on the coding unit structure and the selected intra prediction mode, so that Can achieve better coding, further reducing the code rate.
  • FIG. 4 is another schematic flowchart of a method for determining a coding unit partition according to an embodiment of the present application, including:
  • Step 401 Determine whether the size of the current coding unit is greater than the size of the minimum coding unit.
  • Step 402 When the size of the current coding unit is larger than the size of the minimum coding unit, calculate a gradient of each minimum coding unit included in the current coding unit, and use a sum of gradients of the respective minimum coding units as the current coding. a gradient of the unit; performing step 403 or step 404;
  • Step 403 When the gradient of the current coding unit is greater than or equal to the first threshold, determine to divide the current coding unit.
  • Step 404 When the gradient of the current coding unit is smaller than the first threshold, acquire a gradient of each sub coding unit included in the current coding unit.
  • Step 405 Determine, according to the gradient of each sub coding unit, whether to divide the current coding unit.
  • step 401 is similar to the content described in step 101 in the embodiment shown in FIG. 1, and is not described herein.
  • step 405 may refer to FIG. 2 and FIG. 3 for the refinement step of step 104 in FIG. The content of this, do not repeat here.
  • the determining apparatus calculates a gradient of each minimum coding unit included in the current coding unit, and uses the gradient sum of each minimum coding unit as
  • the gradient of the current coding unit for example, the current coding unit is 16x16, which includes four 8x8 minimum coding units. If the gradients of the four minimum coding units are respectively a, b, c, and d, the gradient of the current coding unit is a+b+c+d.
  • the determining means determines whether the gradient of the current coding unit is greater than or equal to the first threshold, and when the gradient of the current coding unit is greater than or equal to the first threshold, determining that the current coding unit needs to be divided, when the current coding unit When the gradient is less than the first threshold, the determining means further determines whether the current coding unit needs to be divided according to the gradient of each sub-coding unit of the current coding unit.
  • the gradient of the current coding unit is used to initially determine whether it needs to be divided, and in the case that the division is not initially determined, in order to further improve the accuracy of the division determination, it will be based on The gradient of each sub-coding unit is determined again, which not only reduces the computational burden and complexity, but also enables a more reasonable division.
  • first threshold may be related to a neighboring block of the current coding unit.
  • FIG. 5 it is a schematic flowchart of a method for setting a first threshold in the embodiment of the present application, including:
  • Step 501 Obtain a second quantity of neighboring blocks of the current coding unit, where a size of the neighboring block is the same as a size of the current coding unit.
  • the first threshold is set according to the second quantity. Specifically, step 502 or step 503 is performed.
  • Step 502 When the second quantity is less than the sixth threshold, set the first threshold to a preset value;
  • Step 503 When the second quantity is equal to the sixth threshold, determining, in the neighboring block, whether there is a target neighboring block whose size of the coding unit is greater than or equal to a size of the current coding unit;
  • Step 504 When the target neighboring block exists, setting the first threshold according to a gradient of a coding unit to which the target neighboring block belongs;
  • Step 505 When the target neighboring block does not exist, set the first threshold to be zero.
  • the setting of the first threshold may be determined before the use of the first threshold, that is, before determining whether the gradient of the current coding unit is greater than or equal to the first threshold, and for different current coding units, The first threshold corresponding to the current coding unit.
  • the neighboring block of the current coding unit is the upper left block, the upper block, the upper right block, and the left block of the current coding unit.
  • FIG. 6 is a schematic diagram of a neighboring block of the current coding unit in the embodiment of the present application, where curr Indicates the current coding unit, aboveleft indicates the upper left block, above indicates the upper block, aboveright indicates the upper right block, and left indicates the left block.
  • the size of the neighboring block of the current coding unit is the same as the size of the current coding unit. For example, if the current coding unit is 32 ⁇ 32, the neighboring block is determined around the current coding unit based on 32 ⁇ 32. It should be noted that the adjacent block may be one coding unit, may be composed of multiple coding units, or may belong to one coding unit. For example, if the current coding unit is 32x32, the upper left block belongs to a 64x64 coding unit, the upper block is four 16x16 coding units, and the upper right block is a 32x32 coding unit.
  • some current coding units can determine 4 neighboring blocks, and some current coding units may have less than 4 determined neighboring blocks due to their special positions. Therefore, the current coding will be obtained first.
  • the value may be 4. If the value is less than, the first threshold is set to a preset value, and the preset value is a fixed threshold. It can be understood that when the first threshold is a preset value, the second threshold may be another preset value, and the first threshold is maintained to be greater than the second threshold.
  • the first threshold is set according to the size of the coding unit to which the neighboring block belongs and the size of the current coding unit. Specifically, the determining device determines the size of the coding unit to which each adjacent block belongs, and Determining, in the neighboring block, whether there is a target neighboring block whose size of the encoding unit is greater than or equal to the size of the current coding unit, and when the target neighboring block exists, based on the gradient of the coding unit to which the target neighboring block belongs Set the above first threshold.
  • the current coding unit P is 32x32
  • the upper left block belongs to a 64x64 coding unit A
  • the upper block is four 16x16 coding units B
  • the upper right block is a 32x32 coding unit C
  • the left block is 16 A coding unit D of 8x8
  • the size of the coding unit A is larger than the current coding unit P
  • the size of the coding unit C is equal to the coding unit P
  • the first threshold value is set based on the gradient of the coding unit A and the gradient of the coding unit C.
  • the average value of the gradients of the coding unit A and the coding unit C is calculated, and the product of the average value and the preset coefficient is set as the above-described first threshold value.
  • the difference between the first threshold and the preset interval may be calculated. If the difference is greater than zero, the difference is used as the second threshold. If it is less than zero, the second threshold is set to zero.
  • the first threshold when there is no adjacent target block, the first threshold is set to be zero, and in this case, the second threshold is also set to zero.
  • the first threshold is used for comparison with the gradient of the current coding unit.
  • the first threshold is set based on the neighboring block, it is determined that the size of the adjacent coding unit is greater than or equal to the current coding.
  • the target neighboring block of the unit further sets a first threshold based on an average value of the gradients of the coding units to which the target neighboring block belongs, the first threshold being used to indicate the maximum value of the gradient of the coding unit that does not need to be divided.
  • the current coding unit does not need to be further provided on the premise that the larger-sized coding unit is not divided.
  • the possibility of division therefore, when the gradient of the current coding unit is greater than or equal to the first threshold, indicating that the gradient of the current coding unit has been greater than or equal to the maximum value that does not need to be divided, it may be directly determined that the current coding unit needs to be further divided.
  • the gradient of the current coding unit is smaller than the first threshold, it may be determined that the probability that the current coding unit does not need to be further divided is large.
  • the first threshold is set to zero. If the gradient of the current coding unit is necessarily greater than or equal to the first threshold (zero), it is necessary to divide the current coding unit.
  • determining whether the current coding unit needs to be divided by combining the gradient of the current coding unit and the gradient of each sub coding unit of the current coding unit can not only reduce the operation burden and reduce the operation of coding the coding unit.
  • setting a first threshold according to the neighboring block of the current coding unit so as to determine whether the current coding unit needs to be divided by using the first threshold and the gradient of the current coding unit, the accuracy of the determination can be effectively improved, so that the current coding unit is The division is more reasonable.
  • the optimal intra prediction mode of the current coding unit is output, so that the current coding unit is performed by using the optimal intra prediction mode.
  • the partitioning operation will be performed. Referring to FIG. 7, the flow chart of dividing the current coding unit in the embodiment of the present application includes:
  • Step 701 The current coding unit is divided into multiple sub coding units.
  • Step 702 Select an optimal intra prediction mode for a plurality of the sub coding units, and calculate a coding value of the plurality of sub coding units; perform step 703 or step 704;
  • Step 703 When the sum of the coded values of the plurality of sub coding units is greater than or equal to the coded value of the current coding unit, cancel the division of the current coding unit, and output an optimal of the current coding unit.
  • Intra prediction mode and coding cost value When the sum of the coded values of the plurality of sub coding units is greater than or equal to the coded value of the current coding unit, cancel the division of the current coding unit, and output an optimal of the current coding unit.
  • Step 704 When a sum of coded values of the plurality of sub coding units is smaller than a coded value of the current coding unit, output coding value values of the plurality of sub coding units and an selected optimal intra prediction mode. .
  • the determining apparatus when determining to divide the current coding unit, divides the current coding unit into a plurality of sub coding units, for example, for a coding unit having a size of 64 ⁇ 64, it may be divided into four 32 ⁇ 32 sub coding units. .
  • an optimal intra prediction mode is selected for each sub coding unit, and a coding generation value corresponding to the optimal intra prediction mode is calculated, wherein the selection and coding generation of the optimal intra prediction mode of the sub coding unit are performed.
  • the calculation of value has been implemented in various ways in practical applications, for example, separately calculating the coding value of sub-coding units in all intra prediction modes, and using the prediction mode with the smallest coding value as its optimal intra prediction mode.
  • the optimal prediction mode of the sub-coding unit is that the coding cost is the smallest among the multiple prediction modes.
  • the selection method of the optimal intra prediction mode may be selected based on specific needs, and details are not described herein.
  • calculating a sum of coding value values of the plurality of sub coding units when the sum is greater than or equal to a coding value of the current coding unit, indicating that encoding the current coding unit is required to encode each sub coding unit of the current coding unit
  • the cost is smaller, the division of the current coding unit will be cancelled, and the optimal intra prediction mode of the current coding unit is output, so that the coding can be performed based on the optimal prediction mode of the current coding unit.
  • the coding value of the current coding unit is also calculated in the selection process of the optimal intra prediction mode of the current coding unit.
  • each sub-coding unit may be encoded by using the optimal intra prediction mode of each sub-coding unit to implement the current coding.
  • the coding of the unit when the coded value of the divided sub-coding unit is greater than or equal to the current coding unit, indicating that the division of the current coding unit is unreasonable, at this time, the division of the current coding unit is cancelled, and the current coding is still used.
  • the optimal intra prediction mode of the unit encodes the current coding unit. In the above manner, the optimal unit structure and the optimal intra prediction mode can be divided, and the code rate is effectively reduced.
  • FIG. 8 is a schematic structural diagram of a program module of a coding unit division determining apparatus according to an embodiment of the present application, where the apparatus includes:
  • a first determining module 801 configured to determine whether a size of the current coding unit is greater than a size of the minimum coding unit
  • a first obtaining module 802 configured to acquire a gradient of the current coding unit when a size of the current coding unit is larger than a size of the minimum coding unit;
  • a second obtaining module 803, configured to acquire, when the gradient of the current coding unit is smaller than the first threshold, a gradient of each sub coding unit included in the current coding unit;
  • the second determining module 804 is configured to determine, according to the gradient of each of the sub coding units, whether to divide the current coding unit.
  • HEVC High Efficiency Video Coding
  • PU prediction unit
  • TU transform unit
  • the coding unit is the basic unit of coding in HEVC.
  • the frame video image is divided into a number of maximum coding units.
  • the maximum coding unit size is 64x64, and the maximum coding unit can be further recursively divided into smaller coding units, the smallest coding.
  • the size of the unit is 8x8, and the other sizes of the coding unit can be 32x32, 16x16. It can be seen that HEVC provides a more flexible coding unit partitioning method and a larger coding unit, which is advantageous for adapting the coding characteristics of different texture regions.
  • the coding unit division determining apparatus in the embodiment of the present application is applicable to intra prediction, and an intra prediction is an encoding technique for eliminating spatial redundancy by using spatial correlation between pixels in a video frame, wherein HEVC
  • intra prediction modes including 33 directional prediction modes and two non-directional prediction modes.
  • the non-directional prediction modes are mode 0 (DC mode) and mode 1 (plane mode), 33 directionality.
  • the prediction mode is mode 2 to 35.
  • the optimal intra prediction mode needs to be selected for the current coding unit and the coding cost of the current coding unit is calculated.
  • the determining device determines the size of the current coding unit. Whether it is larger than the size of the smallest coding unit, wherein the size of the smallest coding unit is 8x8. And when the size of the current coding unit is equal to the size of the minimum coding unit, indicating that the current coding unit is already the smallest coding unit, and may not be further divided. When the size of the current coding unit is larger than the size of the minimum coding unit, it indicates that the current determination needs to be further determined. Whether the coding unit needs further division.
  • the gradient of the sub-coding unit may use an existing gradient algorithm.
  • the Sobel algorithm may be used, or other methods may be used, for example, calculating the horizontal one-dimensional gradient and vertical of all or part of the pixel points in the sub-coding unit.
  • the first threshold is used, the gradient of each sub-coding unit included in the current coding unit is obtained, and whether the current coding unit is divided according to the gradient of each sub-coding unit is confirmed.
  • the current coding unit whose size is larger than the minimum coding unit, it is required to determine whether to further partition the current coding unit based on the gradient of the current coding unit and the gradient of each sub coding unit included in the current coding unit, so that it can be determined.
  • the coding unit that does not need to be divided reduces the amount of computation caused by coding unit division and reduces the computational complexity.
  • FIG. 9 is a schematic structural diagram of a refinement module of the second determining module 804 in the embodiment shown in FIG. 8 in the embodiment of the present application.
  • the second determining module 804 includes:
  • the quantity determining module 901 is configured to determine, when the sum of the gradients of the respective sub-coding units is greater than the second threshold, the first quantity of the sub-coding units whose gradient is less than or equal to the third threshold in each of the sub-coding units, The first threshold is greater than the second threshold;
  • a third determining module 902 configured to determine, when the first quantity is greater than or equal to a fourth threshold, to divide the current coding unit
  • the fourth determining module 903 is configured to determine, when the first quantity is less than the fourth threshold, to divide the current coding unit.
  • the current coding unit needs to be divided by using the gradient of each sub coding unit of the current coding unit, which not only reduces the computational burden of dividing the coding unit, but also reduces the computational complexity, and is sufficient.
  • the influence of the gradient difference of each sub-coding unit on the coding unit structure and the selected intra prediction mode is considered, so that the coding can be better realized, and the code rate is further reduced.
  • FIG. 10 is a schematic structural diagram of a refinement module of the second determining module 804 in the embodiment shown in FIG. 8 in the embodiment of the present application.
  • the second determining module 804 includes:
  • a fifth determining module 1001 configured to determine, when a sum of gradients of the respective sub-coding units is greater than a second threshold, whether a ratio of a maximum gradient to a minimum non-zero gradient is greater than or equal to a ratio of gradients of the respective sub-coding units Five thresholds;
  • the sixth determining module 1002 is configured to determine, when the ratio is greater than or equal to the fifth threshold, to divide the current coding unit;
  • the seventh determining module 1003 is configured to determine, when the ratio is less than the fifth threshold, to divide the current coding unit.
  • the current coding unit needs to be divided by using the gradient of each sub coding unit of the current coding unit, which not only reduces the computational burden of dividing the coding unit, but also reduces the computational complexity, and is sufficient.
  • the influence of the gradient difference of each sub-coding unit on the coding unit structure and the selected intra prediction mode is considered, so that the coding can be better realized, and the code rate is further reduced.
  • FIG. 11 is a schematic structural diagram of a program module of a coding unit partition determining apparatus according to an embodiment of the present disclosure, including: a first determining module 801, a first acquiring module 802, and a second acquiring module 803 in the embodiment shown in FIG. And the second determining module 804 is similar to the content described in the embodiment shown in FIG. 8, and details are not described herein.
  • the first obtaining module 802 is specifically configured to calculate a gradient of each minimum coding unit included in the current coding unit, and use a sum of gradients of the respective minimum coding units as a gradient of the current coding unit.
  • the computer instruction further includes:
  • a quantity obtaining module 1101 configured to acquire a second quantity of adjacent blocks of the current coding unit, where a size of the adjacent block is the same as a size of the current coding unit;
  • the threshold setting module 1102 is configured to set the third threshold according to the second quantity.
  • the threshold setting module 1102 includes: a first setting module 1103 and a second setting module 1104.
  • the first setting module 1103 is configured to: when the second quantity is less than the sixth threshold, set the first threshold to a preset value;
  • the second setting module 1104 is configured to: when the second quantity is equal to the sixth threshold, set the first threshold according to a size of a coding unit to which the neighboring block belongs and a size of the current coding unit.
  • the second setting module 1104 includes an eighth determining module 1105, a third setting module 1106, and a fourth setting module 1107.
  • An eighth determining module 1105 configured to determine, in the neighboring block, whether there is a target neighboring block whose size of the encoding unit is greater than or equal to a size of the current coding unit;
  • a third setting module 1106, configured to: when the target neighboring block exists, set the first threshold according to a gradient of a coding unit to which the target neighboring block belongs;
  • the fourth setting module 1107 is configured to set the first threshold to be zero when the target neighboring block does not exist.
  • determining whether the current coding unit needs to be divided by combining the gradient of the current coding unit and the gradient of each sub coding unit of the current coding unit can not only reduce the operation burden and reduce the operation of coding the coding unit.
  • setting a first threshold according to the neighboring block of the current coding unit so as to determine whether the current coding unit needs to be divided by using the first threshold and the gradient of the current coding unit, the accuracy of the determination can be effectively improved, so that the current coding unit is The division is more reasonable.
  • FIG. 12 it is a schematic structural diagram of an additional program module in the embodiment of the present application.
  • the appending program module is configured to implement partitioning of a current coding unit when determining to divide a current coding unit, where the additional program module includes:
  • a dividing module 1201, configured to divide the current coding unit into multiple sub-coding units
  • the selecting calculation module 1202 is configured to respectively select an optimal intra prediction mode for the plurality of the sub coding units, and calculate a coding cost value of the plurality of sub coding units;
  • the cancel output module 1203 is configured to cancel the division of the current coding unit when the sum of the coded values of the plurality of the sub coding units is greater than or equal to the coding value of the current coding unit, and output the current coding Optimal intra prediction mode of the unit;
  • the output module 1204 is configured to output, when the sum of the coded values of the plurality of the sub-coding units is smaller than the coded value of the current coding unit, the coded value of the plurality of the sub-coded units and the selected optimal frame Internal prediction mode.
  • the embodiment of the present application further provides a computing device, including a memory, a processor, and a computer program stored on the processor and running on the processor, wherein when the processor executes the computer program, the implementation is as shown in FIG. 1 to FIG. 5. Any of the steps in the coding unit division determining method in any one of the embodiments shown in FIG.
  • the embodiment of the present application further provides a readable storage medium, on which a computer program is stored, wherein when the computer program is executed by the processor, any one of FIG. 1 to FIG. 5 or the embodiment shown in FIG. 7 is implemented.
  • the coding unit in the division determines the steps of the method.
  • the foregoing coding unit division determining apparatus is a computing device, and the computing device may be a server.
  • the computing device 130 includes a processor 1301, a memory 1302, and a transceiver 1303.
  • the memory 1302 can include read only memory and random access memory and provides operational instructions and data to the processor 1301.
  • a portion of memory 1302 may also include non-volatile random access memory (NVRAM).
  • NVRAM non-volatile random access memory
  • memory 1302 stores elements of executable modules or data structures, or a subset thereof, or their extended set.
  • the following process is performed: after determining the optimal intra prediction mode of the current coding unit, determining the current coding unit Whether the size is greater than the size of the minimum coding unit, when the size of the current coding unit is larger than the size of the minimum coding unit, obtaining a gradient of the current coding unit, and acquiring a current coding unit when the gradient of the current coding unit is smaller than the first threshold
  • the gradient of each sub-coding unit determines whether the current coding unit is divided according to the gradient of the respective sub-coding unit.
  • the computing device Compared with the manner in which all the coding units are divided in the prior art, the computing device provided by the embodiment of the present application needs to be based on the gradient of the current coding unit and the current coding unit, for the current coding unit whose size is larger than the minimum coding unit.
  • the gradient of each sub-coding unit determines whether the current coding unit is further divided, so that the coding unit that does not need to be divided can be determined, the computational complexity caused by coding unit division is reduced, and the computational complexity is reduced.
  • the processor 1301 controls the operation of the computing device 130, and the processor 1301 may also be referred to as a CPU (Central Processing Unit).
  • Memory 1302 can include read only memory and random access memory and provides instructions and data to processor 1301. A portion of memory 1302 may also include non-volatile random access memory (NVRAM).
  • NVRAM non-volatile random access memory
  • the various components of computing device 130 are coupled together by bus system 1304 in a particular application, wherein bus system 1304 can include, in addition to the data bus, a power bus, a control bus, a status signal bus, and the like. However, for clarity of description, various buses are labeled as bus system 1304 in the figure.
  • Processor 1301 may be an integrated circuit chip that has the ability to process signals. In the implementation process, each step of the foregoing method may be completed by an integrated logic circuit of hardware in the processor 1301 or an instruction in a form of software.
  • the processor 910 described above may be a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, a discrete gate or transistor logic device, or discrete hardware. Component.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA off-the-shelf programmable gate array
  • the methods, steps, and logical block diagrams disclosed in the embodiments of the present application can be implemented or executed.
  • the general purpose processor may be a microprocessor or the processor or any conventional processor or the like.
  • the steps of the method disclosed in the embodiments of the present application may be directly implemented by the hardware decoding processor, or may be performed by a combination of hardware and software modules in the decoding processor.
  • the software module can be located in a conventional storage medium such as random access memory, flash memory, read only memory, programmable read only memory or electrically erasable programmable memory, registers, and the like.
  • the storage medium is located in the memory 1302, and the processor 1301 reads the information in the memory 1302 and completes the steps of the above method in combination with its hardware.
  • the above computing device 130 can be understood by referring to the description of the embodiment shown in FIG. 1 to FIG. 7 , and no further description is made herein.
  • the disclosed apparatus and method may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the modules is only a logical function division.
  • there may be another division manner for example, multiple modules or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or module, and may be electrical, mechanical or otherwise.
  • the modules described as separate components may or may not be physically separated.
  • the components displayed as modules may or may not be physical modules, that is, may be located in one place, or may be distributed to multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the embodiment.
  • each functional module in each embodiment of the present application may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or in the form of software functional modules.
  • the integrated modules if implemented in the form of software functional modules and sold or used as separate products, may be stored in a computer readable storage medium.
  • a computer readable storage medium A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) 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.

Landscapes

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

Abstract

本申请公开了一种编码单元划分确定方法及装置、计算设备及可读存储介质,方法包括:确定当前编码单元的尺寸是否大于最小编码单元的尺寸,当该当前编码单元的尺寸大于最小编码单元的尺寸时,获取当编码单元的梯度,当当前编码单元的梯度小于第一阈值时,获取当前编码单元包含的各个子编码单元的梯度,根据该各个子编码单元的梯度确认是否对当前编码单元进行划分。相对于现有技术,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少对编码单元划分所带来的运算量且降低运算复杂度。

Description

编码单元划分确定方法及装置、计算设备及可读存储介质
本申请要求于2017年12月14日提交中国专利局、申请号为201711339827.5、发明名称为“编码单元划分确定方法及装置、终端设备及可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及视频编码技术领域,尤其涉及一种编码单元划分确定方法及装置、计算设备及可读存储介质。
技术背景
目前,随着互联网和硬件设备的发展,视频的分辨率越来越大。2013年,由ITU VCEG和ISO MPEG联合成立的视频编码联合协作团队研究制定了新一代视频编码标准—高效视频编码标准(High Efficiency Video Coding,HEVC)。相比H.264/AVC,在相当视觉质量下,HEVC节省一半以上的码率。HEVC具有更高的压缩性能的一个主要原因是它提供了更大的编码块结构以及灵活的子块划分方式。在HEVC中,最大编码单元(Largest Coding Unit)能够被递归地划分成小的编码单元(Coding Unit,CU),从而形成编码单元树(Coding Unit Tree,CTU)结构。
然而,由于采用编码单元树结构,需要对每一个尺寸大于最小编码单元的编码单元都进行进一步划分,且对划分后的子编码单元进行预测模式选择,这种划分方式将带来巨大的运算负担,运算复杂度高。
技术内容
本申请的主要目的在于提供一种编码单元划分确定方法及装置、计算设备及可读存储介质,旨在解决现有技术中编码单元的划分方式存在运算负担大,及运算复杂度高的技术问题。
为实现上述目的,本申请的第一方面提供一种编码单元划分确定方法,包括:
计算设备确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
当所述当前编码单元的尺寸大于最小编码单元的尺寸时,所述计算设备获取所述当前编码单元的梯度;
当所述当前编码单元的梯度小于第一阈值时,所述计算设备获取所述当前编码单元包含的各个子编码单元的梯度;
所述计算设备根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
为实现上述目的,本申请第二方面提供一种编码单元划分确定装置,包括:
第一确定模块,用于确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
第一获取模块,用于当所述当前编码单元的尺寸大于最小编码单元的尺寸时,获取所述当前编码单元的梯度;
第二获取模块,用于当所述当前编码单元的梯度小于第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
第二确定模块,用于根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
为实现上述目的,本申请第三方面提供一种计算设备,包括:存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本申请实施例第一方面提供的编码单元划分确定方法中的各个步骤。
为实现上述目的,本申请第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如本申请第一方面提供的编码单元划分确定方法中的各个步骤。
本申请提供一种编码单元划分确定方法,包括:计算设备确定当前编码单元的尺寸是否大于最小编码单元的尺寸,当该当前编码单元的尺寸大于最小编码单元的尺寸时,获取当前编码单元的梯度,当当前编码单元的梯度小于第一阈值时,获取该当前编码单元包含的各个子编码单元的梯度,根据该各个子编码单元的梯度确认是否对当前编码单元进行划分。相对于现有技术,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少对编码单元划分所带来的运算量且降低运算复杂度。
附图简要说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中编码单元划分确定方法的流程示意图;
图1a为本申请实施例中64x64的当前编码单元的子编码单元的示意图;
图2为图1所示实施例中步骤104的细化步骤的流程示意图;
图3为图1所示实施例中步骤104的细化步骤的流程示意图;
图4为本申请实施例中编码单元划分确定方法的另一流程示意图;
图5为本申请实施例中第一阈值的设置方法的流程示意图;
图6为本申请实施例中当前编码单元的相邻块的示意图;
图7为本申请实施例中对当前编码单元划分进行划分的流程示意图;
图8为本申请实施例中编码确定装置的程序模块的结构示意图;
图9为图8所示实施例中第二确定模块的细化程序模块的结构示意图;
图10为图8所示实施例中第二确定模块的细化程序模块的结构;
图11为本申请实施例中编码确定装置的程序模块的另一结构示意图;
图12为本申请实施例中追加程序模块的结构示意图;
图13为本申请实施例中的一种计算设备的结构示意图。
具体实施方式
为使得本申请的发明目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
现有技术中,编码单元的划分方式存在运算负担大、运算复杂度高的技术问题。为了解决上述问题,本申请提出一种编码单元划分确定方法,相对于现有技术,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少编码单元划分所带来的运算量、降低运算复杂度。
请参阅图1,为本申请实施例中编码单元划分确定方法的流程示意图,该方法包括:
步骤101、确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
在HEVC中,扩展了宏块(Macroblock,MB)的概念,并分为编码单元、预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU),编码单元是HEVC中编码的基本单元,一帧视频图像被划分为若干个最大编码单元。相比于H.264/AVC中的16x16固定宏块大小,HEVC主要档次的定义中,最大编码单元的大小是64x64,最大编码单元能够被进一步递归的划分成更小的编码单元,最小的编码单元的大小是8x8,编码单元的其他大小可以是32x32、16x16。由此可以看出HEVC提供更加灵活的编码单元划分方式以及更大的编码单元,这有利于适应不同纹理区域的编码特性。
其中,上述编码单元划分确定方法由编码单元划分确定装置(以下简称为:确 定装置)实现,该确定装置可以为程序模块,存储在存储器中,并由处理器从存储器内调用执行,且该确定装置所属的计算设备可以为服务器。
需要说明的是,本申请实施例中的编码单元划分确定方法适用于帧内预测,帧内预测是利用视频帧内像素之间的空间相关性消除空域冗余的一种编码技术,其中,HEVC提供的帧内预测模式高达35种,包括33种方向性预测模式和两种非方向性预测模式,非方向性预测模式为模式0(DC模式)和模式1(平面模式),33种方向性预测模式为模式2~35。在帧内预测编码过程中,通过本申请实施例中的编码单元划分确定方法能够有效的确定是否对当前编码单元进行划分。
优选地,上述编码单元划分确定方法可以应用在帧内预测编码过程中,在确定当前编码单元的最优帧内预测模式及该最优帧内预测模式对应的编码代价值之后,通过上述方法确定是否需要对该当前编码单元进行进一步划分。具体的:
确定装置将确定该当前编码单元的尺寸是否大于最小编码单元的尺寸,其中,最小编码单元的尺寸为8x8。且当该当前编码单元的尺寸等于最小编码单元的尺寸时,表明当前编码单元已经是最小编码单元,不可以进一步划分,当该当前编码单元的尺寸大于最小编码单元的尺寸时,表明需要进一步判断当前编码单元是否需要进一步划分。
其中,编码代价值是指在指定帧内预测模式下,完成编码所需要的比特数。因此,对于不同的帧内预测模式,其编码代价值也不同。
步骤102、当所述当前编码单元的尺寸大于最小编码单元的尺寸时,获取当前编码单元的梯度;
步骤103、当所述当前编码单元的梯度小于第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
步骤104、根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
在本申请实施例中,当该当前编码单元的尺寸大于最小编码单元的尺寸时,确定装置将获取当前编码单元的梯度。
其中,当前编码单元的梯度越大,表明当前编码单元的图像内容越不平滑,需要进行划分的可能性越大,当前编码单元的梯度越小,表明当前编码单元的图像内容越平滑,需要进行划分的可能性越小,因此,在当前编码单元的尺寸大于最小编码单元的尺寸的情况下,将该当前编码单元的梯度与第一阈值进行比较,以便初步确定是否需要进行划分,在该当前编码单元的梯度小于第一阈值时,获取该当前编码单元包含的各个子编码单元的梯度,以便进一步确定是否需要划分。当当前编码单元的梯度大于或等于第一阈值时,确定需要对当前编码单元进行划分。
其中,该第一阈值可以是预先设置的,也可以是计算得到的,后续实施例中将详细描述,此处不做赘述。
需要说明的是,在步骤103中并未对当前编码单元进行划分,上述的子编码单元仅仅是基于当前编码单元的尺寸假设的单元,其中,子编码单元的个数为4个。例如,当该当前编码单元为64x64时,可以表明该当前编码单元是可以划分为4个32x32的子编码单元的,但是此时并未真正对当前编码单元进行划分。请参阅图1a,为本申请实施例中64x64的当前编码单元的子编码单元的示意图,四个32x32的块即为子编码单元。
其中,梯度是指像素亮度值沿着水平、垂直、左下、右下等方向获得的方向导数,子编码单元的梯度可以采用已有的梯度算法,例如,可以采用Sobel算法,也可以采用其他方法,该其他方法可以为:计算子编码单元中所有或部分像素点的水平一维梯度和垂直一维梯度之和,将该和作为子编码单元的梯度,或者计算子编码单元中所有或部分像素点的多角度梯度之和,将该和作为该子编码单元的梯度。
其中,确定装置将根据各个子编码单元的梯度确定是否对当前编码单元进行划分。可以理解的是,现有技术中,对于尺寸大于最小编码单元的当前编码单元,均是进行划分的,而本申请实施例中,在当前编码单元的梯度小于第一阈值的情况下,通过基于各个子编码单元的梯度可以进一步确定是否对当前编码单元进行划分,对于确定需要划分的当前编码单元,则进行划分,对于确定不需要划分的当前编码单元,则不进行划分,因此,必然存在一部分当前编码单元是不需要划分的,能够有效的减少对编码单元进行划分的运算量及降低运算复杂度。例如,现有技术中,对于尺寸大于最小编码单元的编码单元,若该类编码单元的个数为100,则划分的次数为100,而在本申请实施例中,对于尺寸大于最小编码单元的编码单元,当该类编码单元的个数为100个,基于编码单元包含的子编码单元的梯度确定其中的60个需要划分,40个不需要划分,那么只需要划分60次,划分次数减少,能够减少划分编码单元带来的运算量及降低运算复杂度。
在本申请实施例中,确定当前编码单元的尺寸是否大于最小编码单元的尺寸,当该当前编码单元的尺寸大于最小编码单元的尺寸时,获取当前编码单元的梯度,当当前编码单元的梯度小于第一阈值时,获取该当前编码单元包含的各个子编码单元的梯度,根据该各个子编码单元的梯度确认是否对当前编码单元进行划分。相对于现有技术,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少编码单元划分所带来的运算量、降低运算复杂度。
在本申请实施例中,存在多种方式根据各个子编码单元的梯度确定是否对当前编码单元进行划分,下面将介绍其中的两种方式,一种请参阅图2,为图1所示实施例中步骤104的细化步骤的流程示意图,该步骤104包括:
步骤201、当所述各个子编码单元的梯度的和大于第二阈值时,确定所述各个子 编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量;执行步骤202或者步骤203;
步骤202、当所述第一数量大于或等于第四阈值时,确定对所述当前编码单元进行划分;
步骤203、当所述第一数量小于所述第四阈值时,确定不对所述当前编码单元进行划分。
在本申请实施例中,设置了第一阈值及第二阈值,其中,第一阈值大于第二阈值,该第一阈值用于与当前编码单元的梯度进行比较,且在当前编码单元的梯度小于第一阈值时,将当前编码单元包含的各个子编码单元的梯度的和与第二阈值进行比较,以确定是否需要对当前编码单元进行划分。需要说明的是,对于同一个编码单元,该编码单元的梯度等于其各个子编码单元的梯度的和。
其中,当当前编码单元的梯度小于第一阈值,且各个子编码单元的梯度的二和大于第二阈值时,确定装置将确定各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量。
进一步地,在本申请实施例中,当各个子编码单元的梯度的和小于或等于第二阈值时,此时可以确定不需要对当前编码单元进行划分。
需要说明的是,各个子编码单元的梯度的和越小,表明当前编码单元的图像内容越平滑,对当前编码单元进行进一步划分的可能性就越小,各个子编码单元的梯度的和越大,表明当前编码单元的图像内容越不平滑,对当前编码单元进行进一步划分的可能性就越大。因此,本申请实施例中,通过设置第一阈值和第二阈值的方式,可以将是否需要划分的判断分三种情况,一种是,当前编码单元的的梯度大于或等于第一阈值,表明当前编码单元的图像内容不平滑,此时将确定对当前编码单元进行划分,另一种是,各个子编码单元的梯度的和小于第二阈值时,表明当前编码单元的图像内容平滑,此时将确定不对当前编码单元进行划分。最后一种则是当前编码单元的梯度小于第一阈值,且各个子编码单元的梯度的和大于第二阈值,此是针对各个子编码单元可能存在差距较大的情况设置的,因此,需要基于上述第一数量进一步确定是否需要对当前编码单元进行划分。
可以理解的是,考虑到子编码单元的个数通常为4,因此,第四阈值可以设置为1、2或3,且优选为1。在4个子编码单元的梯度的和小于第一阈值并大于第二阈值的情况下,当第一数量大于或等于第四阈值时,表明存在梯度差距较大的子编码单元,且表明当前编码单元的图像内容平滑的不均匀,有的区域平滑,有的区域不平滑,为了能够降低码率,将确定对当前编码单元进行划分。当第一数量小于第四阈值时,表明不存在梯度差距较大的子编码单元,因此,确定不对当前编码单元进行划分。
其中,上述第三阈值可以为一个较小值,例如,该值趋近于零或者等于零。
需要说明的是,各个子编码单元的梯度的和需要满足以下条件:小于第一阈值 且大于第二阈值,只有在满足该条件的情况下才会基于第一数量确定是否需要对当前编码单元进行进一步划分。在该满足该条件下,梯度小于或等于第三阈值的子编码单元的第一数量不可能为4(第一数量为4时,表明4个子编码单元的梯度都很小,这种情况实际上是不需要进行划分的,且其和不可能大于第一阈值),因此,不会存在错误的确定当前编码单元需要划分的情况。
在本申请实施例中,在当前编码单元的梯度小于第一阈值,且在各个子编码单元的梯度的和大于第二阈值时,通过利用当前编码单元的各个子编码单元的梯度进一步确定是否需要对该当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的最优帧内预测模式(因为将当前编码单元划分为多个子编码单元之后,各个子编码单元的最优帧内预测模式可能不同,也可能与当前编码单元的最优帧内预测模式不同)的影响,使得能够更好的实现编码,进一步降低码率。
其中,另一种根据各个子编码单元的梯度确定是否对当前编码单元进行划分的方式请参阅图3,为图1所示实施例中步骤104的细化步骤的流程示意图,该步骤104包括:
步骤301、当所述各个子编码单元的梯度的和大于第二阈值时,确定所述各个子编码单元的梯度中,最大梯度与最小非零梯度的比值是否大于或等于第五阈值;执行步骤302或者执行步骤303;
步骤302、当所述比值大于或等于所述第五阈值时,确定对所述当前编码单元进行划分;
步骤303、当所述比值小于所述第五阈值时,确定不对所述当前编码单元进行划分。
在本申请实施例中,针对当前编码单元的梯度小于第一阈值,且各个子编码单元的梯度的和大于第二阈值的情况,还可以通过其他方式确定是否存在梯度差距较大的子编码单元,以便确定是否需要进一步划分当前编码单元。具体的:确定装置将确定各个子编码单元的梯度中,最大梯度与最小非零梯度的比值是否大于或等于第五阈值。其中,当该比值大于或等于该第五阈值时,表明该最大梯度的子编码单元与该最小非零梯度的子编码单元的梯度差距较大,为了降低码率,将确定对该当前编码单元进行划分,当该比值小于该第五阈值时,表明最大梯度的子编码单元与最小非零梯度的子编码单元的梯度差距小,确定不需要对当前编码单元进行划分。
在本申请实施例中,在当前编码单元的梯度小于第一阈值,且各个子编码单元的梯度的和大于第二阈值时,通过利用当前编码单元的各个子编码单元的梯度进一步确定是否需要对该当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的帧内预测模式的影响,使得能够更好的实现编码,进一步降低码率。
基于图1所示实施例,请参阅图4,为本申请实施例中编码单元划分确定方法的另一流程示意图,包括:
步骤401、确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
步骤402、当所述当前编码单元的尺寸大于最小编码单元的尺寸时,计算所述当前编码单元包含的各个最小编码单元的梯度,将所述各个最小编码单元的梯度的和作为所述当前编码单元的梯度;执行步骤403或者步骤404;
步骤403、当所述当前编码单元的梯度大于或等于第一阈值时,确定对所述当前编码单元进行划分;
步骤404、当所述当前编码单元的梯度小于所述第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
步骤405、根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
需要说明的是,步骤401与图1所示实施例中的步骤101描述的内容相似,此处不做赘述,此外,步骤405可以参考图2及图3对图1中步骤104的细化步骤的内容,此处不做赘述。
在本申请实施例中,在确定当前编码单元的尺寸大于最小编码单元的尺寸的情况下,确定装置将计算当前编码单元包含的各个最小编码单元的梯度,并将各个最小编码单元的梯度和作为当前编码单元的梯度,例如,当前编码单元为16x16,其包含4个8x8的最小编码单元,若该4个最小编码单元的梯度分别为a、b、c、d,则当前编码单元的梯度为a+b+c+d。
进一步地,确定装置将判断该当前编码单元的梯度是否大于或等于第一阈值,当该当前编码单元的梯度大于或等于第一阈值,确定需要对该当前编码单元进行划分,当该当前编码单元的梯度小于第一阈值时,确定装置将进一步根据当前编码单元的各子编码单元的梯度确定是否需要对当前编码单元进行划分。
可以理解的是,在本申请实施例中,先通过当前编码单元的梯度初步确定是否需要对其进行划分,且在初步确定不需要划分的情况下,为了进一步提高划分判断的准确性,将基于各个子编码单元的梯度再一次进行确定,不仅仅能够降低运算负担及复杂度,且能够实现更合理的划分。
需要说明的是,上述第一阈值可以与当前编码单元的相邻块有关,请参阅图5,为本申请实施例中第一阈值的设置方法的流程示意图,包括:
步骤501、获取所述当前编码单元相邻块的第二数量,所述相邻块的尺寸与所述当前编码单元的尺寸相同;
其中,在得到上述第二数量之后,将根据第二数量设置第一阈值,具体的,将执行步骤502、或者执行步骤503。
步骤502、当所述第二数量小于第六阈值时,设置所述第一阈值为预设值;
步骤503、当所述第二数量等于所述第六阈值时,确定所述相邻块中,是否存在所属的编码单元的尺寸大于或等于所述当前编码单元的尺寸的目标相邻块;
步骤504、当存在所述目标相邻块时,基于所述目标相邻块所属的编码单元的梯度设置所述第一阈值;
步骤505、当不存在所述目标相邻块时,设置所述第一阈值为零。
其中,该第一阈值的设置可以是在第一阈值的使用前确定,即在判断当前编码单元的梯度是否大于或等于第一阈值之前设置,且对于不同的当前编码单元,都将确定与该当前编码单元对应的第一阈值。
其中,当前编码单元的相邻块为当前编码单元的左上块、上边块、右上块及左边块,请参阅图6,为本申请实施例中当前编码单元的相邻块的示意图,其中,curr表示当前编码单元,aboveleft表示左上块、above表示上边块,aboveright表示右上块,left表示左边块。
其中,当前编码单元的相邻块的尺寸与当前编码单元的尺寸相同,例如,若当前编码单元为32x32,则基于32x32在当前编码单元的周围确定相邻块。需要说明的是,相邻块可以是一个编码单元,也可以是多个编码单元构成的,还可以属于一个编码单元的部分。例如,若当前编码单元为32x32,其左上块属于一个64x64编码单元的部分,其上边块为4个16x16的编码单元,其右上块为一个32x32的编码单元。
可以理解的是,有些当前编码单元可以确定其4个相邻块,有些当前编码单元由于其处的位置特殊,确定的相邻块的个数可能会少于4,因此,将先获取当前编码单元相邻块的第二数量。
进一步地,判断该第二数量是否小于第六阈值,例如,该数值可以为4,若小于,则将设置第一阈值为预设值,该预设值为一个固定阈值。可以理解的是,在该第一阈值为预设值时,第二阈值可以为另一个预设值,且保持第一阈值大于第二阈值。
当第二数量等于第六阈值,将根据相邻块所属的编码单元的尺寸及当前编码单元的尺寸设置第一阈值,具体的:确定装置将确定各个相邻块所属的编码单元的尺寸,并确定相邻块中,是否存在所属的编码单元的尺寸大于或等于当前编码单元的尺寸的目标相邻块,当存在该目标相邻块时,将基于该目标相邻块所属的编码单元的梯度设置上述第一阈值。例如,若当前编码单元P为32x32,其左上块属于一个64x64编码单元A的部分,其上边块为4个16x16的编码单元B,其右上块为一个32x32的编码单元C,其左边块为16个8x8的编码单元D,因此,编码单元A的尺寸大于当前编码单元P,编码单元C的尺寸等于编码单元P,将基于编码单元A的梯度及编码单元C的梯度设置上述第一阈值。例如,计算编码单元A和编码单元C的梯度的平均值,将该平均值与预设系数的乘积作为上述第一阈值并设置。且在通过该中方式设置第一阈值后,可以计算该第一阈值与预设间隔值之间的差值,若该差值大于零,则将该差值作为第二阈值,若该差值小于零,则将第二阈值设置为零。
其中,当不存在相邻目标块时,设置第一阈值为零,且在该种情况下,将第二阈值也设置为零。
需要说明的是,第一阈值是用于与当前编码单元的梯度进行比较的,在基于相邻块设置第一阈值时,需要先确定相邻块中,所属编码单元的尺寸大于或等于当前编码单元的目标相邻块,再基于目标相邻块所属编码单元的梯度的平均值设置第一阈值,该第一阈值用于表示不需要进行划分的编码单元的梯度的最大值。因此,在存在目标相邻块的情况下,表明当前编码单元的周围存在未进一步划分的尺寸更大的编码单元,在尺寸更大的编码单元未划分的前提下,当前编码单元存在不需要进一步划分的可能,因此,在当前编码单元的梯度大于或等于第一阈值时,表明当前编码单元的梯度已经大于或等于不需要进行划分的最大值,可以直接确定该当前编码单元需要进一步进行划分。在当前编码单元的梯度小于第一阈值时,可以确定该当前编码单元不需要进一步划分的概率较大,因此,基于目标相邻块所属的编码单元的梯度设置第一阈值,能够有效提高对当前编码单元是否划分的判断的准确性。此外,在不存在目标相邻块的情况下,表明当前编码单元的周围都是尺寸比其小的编码单元,这种情况下为了确保是否进行划分的准确性,将第一阈值设置为零,使得当前编码单元的梯度必然大于或等于该第一阈值(零),必然需要对当前编码单元进行划分。
在本申请实施例中,通过结合当前编码单元的梯度、及当前编码单元的各个子编码单元的梯度确定是否需要对当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的帧内预测模式的影响,使得能够更好的实现编码,进一步降低码率。且通过基于当前编码单元的相邻块设置第一阈值,以便利用该第一阈值及当前编码单元的梯度确定是否需要对当前编码单元进行划分,能够有效提升判断的准确性,使得对当前编码单元的划分更加合理。
在本申请实施例中,在确定不需要对当前编码单元进行划分的情况下,将输出该当前编码单元的最优帧内预测模式,以便利用该最优帧内预测模式对该当前编码单元进行编码,且在确定需要对当前编码单元进行划分的情况下,将执行划分操作,请参阅图7,为本申请实施例中,对当前编码单元进行划分的流程示意图,包括:
步骤701、将所述当前编码单元划分为多个子编码单元;
步骤702、分别为多个所述子编码单元选择最优帧内预测模式,并计算多个所述子编码单元的编码代价值;执行步骤703或者步骤704;
步骤703、当多个所述子编码单元的编码代价值的和大于或等于所述当前编码单元的编码代价值时,取消对所述当前编码单元的划分,输出所述当前编码单元的最优帧内预测模式及编码代价值;
步骤704、当多个所述子编码单元的编码代价值的和小于所述当前编码单元的编 码代价值时,输出多个所述子编码单元的编码代价值及选择的最优帧内预测模式。
可以理解的是,图7所示实施例描述的内容可应用于图2、图3及图4。
在本申请实施例中,在确定对当前编码单元进行划分时,确定装置将当前编码单元划分为多个子编码单元,例如,对于尺寸为64x64的编码单元,可以划分为4个32x32的子编码单元。
进一步地,将分别为每个子编码单元选择最优帧内预测模式,及计算该最优帧内预测模式对应的编码代价值,其中,子编码单元的最优帧内预测模式的选择及编码代价值的计算在实际应用中已经有多种方式实现,例如,分别计算子编码单元在所有帧内预测模式下的编码代价值,并将编码代价值最小的预测模式作为其最优帧内预测模式,即子编码单元的最优预测模式是多种预测模式中编码代价最小的。在实际应用中,可以基于具体的需要选择最优帧内预测模式的选择方法,此处不做赘述。
其中,计算上述多个子编码单元的编码代价值的和,当该和大于或等于当前编码单元的编码代价值,表明对当前编码单元进行编码相对于当前编码单元的各子编码单元进行编码所需要的代价更小,将取消对当前编码单元的划分,并输出当前编码单元的最优帧内预测模式,使得能够基于当前编码单元的最优预测模式进行编码。需要说明的是,当前编码单元的编码代价值也是在当前编码单元的最优帧内预测模式的选择过程中计算得到的。
其中,当多个子编码单元的编码代价值的和小于当前编码单元的编码代价值时,说明此处划分能够节约编码代价,将输出该多个子编码单元的编码代价值及对应的最优帧内预测模式。
可以理解的是,在本申请实施例中,当划分后的多个子编码单元的编码代价值小于当前编码单元的代价值时,表明对当前编码单元的划分是合理的,此时,会放弃当前编码单元的最优帧内预测模式及编码代价值,而是遍历各个子编码单元,确定遍历到的子编码单元的尺寸是否大于最小编码单元的尺寸,当大于最小编码单元的尺寸时,将遍历到的子编码单元当做上述当前编码单元,返回执行图1所示实施例中的步骤101。当遍历到的子编码单元的尺寸等于最小编码单元的尺寸,则表明已经不需要继续进行划分,可利用各个子编码单元的最优帧内预测模式对各个子编码单元进行编码,以实现当前编码单元的编码;当划分后的子编码单元的编码代价值大于或等于当前编码单元,表明对当前编码单元的划分是不合理的,此时,将取消对当前编码单元的划分,仍然使用当前编码单元的最优帧内预测模式对该当前编码单元的进行编码,通过上述方式,能够划分得到最优的单元结构且最优的帧内预测模式,有效降低码率。
在本申请实施例中,在确定对当前编码单元进行划分的情况下,通过将划分后的各子编码单元的编码代价值的和与当前编码单元的编码代价值进行比较,并选择 编码代价值最小的方式进行输出,使得能够实现编码单元的更合理的划分,节约编码代价。
请参阅图8,为本申请实施例中编码单元划分确定装置的程序模块的结构示意图,该装置包括:
第一确定模块801,用于确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
第一获取模块802,用于当所述当前编码单元的尺寸大于最小编码单元的尺寸时,获取所述当前编码单元的梯度;
第二获取模块803,用于当所述当前编码单元的梯度小于第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
第二确定模块804,用于根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
在HEVC中,扩展了宏块(Macroblock,MB)的概念并分为编码单元、预测单元(Prediction Unit,PU)和变换单元(Transform Unit,TU),编码单元是HEVC中编码的基本单元,一帧视频图像被划分为若干个最大编码单元。相比于H.264/AVC中的16x16固定宏块大小,HEVC主要档次的定义中,最大编码单元的大小是64x64,最大编码单元能够被进一步递归的划分成更小的编码单元,最小的编码单元的大小是8x8,编码单元的其他大小可以是32x32、16x16。由此可以看出HEVC提供更加灵活的编码单元划分方式以及更大的编码单元,这有利于适应不同纹理区域的编码特性。
需要说明的是,本申请实施例中的编码单元划分确定装置适用于帧内预测,帧内预测是利用视频帧内像素之间的空间相关性消除空域冗余的一种编码技术,其中,HEVC提供的帧内预测模式高达35种,包括33种方向性预测模式和两种非方向性预测模式,非方向性预测模式为模式0(DC模式)和模式1(平面模式),33种方向性预测模式为模式2~35。
在本申请实施例中,需要为当前编码单元选择最优帧内预测模式并计算该当前编码单元的编码代价,为了确认该当前编码单元是否可以进一步划分,确定装置将确定该当前编码单元的尺寸是否大于最小编码单元的尺寸,其中,最小编码单元的尺寸为8x8。且当当前编码单元的尺寸等于最小编码单元的尺寸时,表明当前编码单元已经是最小编码单元,不可以进一步划分,当该当前编码单元的尺寸大于最小编码单元的尺寸时,表明需要进一步判断当前编码单元是否需要进一步划分。
需要说明的是,子编码单元的梯度可以采用已有的梯度算法,例如,可以采用Sobel算法,也可以采用其他方法,例如,计算子编码单元中所有或部分像素点的水平一维梯度和垂直一维梯度之和,或者计算子编码单元中所有或部分像素点的多角度梯度之和。
在本申请实施例中,确定当前编码单元的尺寸是否大于最小编码单元的尺寸,当该当前编码单元的尺寸大于最小编码单元的尺寸时,获取当前编码单元的梯度,当当前编码单元的梯度小于第一阈值时,获取该当前编码单元包含的各个子编码单元的梯度,根据该各个子编码单元的梯度确认是否对当前编码单元进行划分。相对于现有技术,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少编码单元划分所带来的运算量且降低运算复杂度。
请参阅图9,为本申请实施例中图8所示实施例中第二确定模块804的细化程序模块的结构示意图,该第二确定模块804包括:
数量确定模块901,用于当所述各个子编码单元的梯度的和大于第二阈值时,确定所述各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量,所述第一阈值大于所述第二阈值;
第三确定模块902,用于当所述第一数量大于或等于第四阈值时,确定对所述当前编码单元进行划分;
第四确定模块903,用于当所述第一数量小于所述第四阈值时,确定不对所述当前编码单元进行划分。
可以理解的是,与上述模块相关的内容具体可以参阅图2所示实施例,此处不做赘述。
在本申请实施例中,通过利用当前编码单元的各个子编码单元的梯度进一步确定是否需要对该当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的帧内预测模式的影响,使得能够更好的实现编码,进一步降低码率。
请参阅图10,为本申请实施例中图8所示实施例中第二确定模块804的细化程序模块的结构示意图,该第二确定模块804包括:
第五确定模块1001,用于当所述各个子编码单元的梯度的和大于第二阈值时,确定所述各个子编码单元的梯度中,最大梯度与最小非零梯度的比值是否大于或等于第五阈值;
第六确定模块1002,用于当所述比值大于或等于所述第五阈值时,确定对所述当前编码单元进行划分;
第七确定模块1003,用于当所述比值小于所述第五阈值时,确定不对所述当前编码单元进行划分。
可以理解的是,与上述模块相关的内容,具体可以参阅图3,此处不做赘述。
在本申请实施例中,通过利用当前编码单元的各个子编码单元的梯度进一步确定是否需要对该当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算 负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的帧内预测模式的影响,使得能够更好的实现编码,进一步降低码率。
请参阅图11,为本申请实施例中编码单元划分确定装置的程序模块的结构示意图,包括:如图8所示实施例中的第一确定模块801、第一获取模块802第二获取模块803及第二确定模块804,且与图8所示实施例中描述的内容相似,此处不做赘述。
其中,第一获取模块802具体用于计算所述当前编码单元包含的各个最小编码单元的梯度,将所述各个最小编码单元的梯度的和作为所述当前编码单元的梯度。
在本申请实施例中,所述计算机指令还包括:
数量获取模块1101,用于获取所述当前编码单元相邻块的第二数量,所述相邻块的尺寸与所述当前编码单元的尺寸相同;
阈值设置模块1102,用于根据所述第二数量设置所述第三阈值。
其中,阈值设置模块1102包括:第一设置模块1103及第二设置模块1104。
第一设置模块1103,用于当所述第二数量小于第六阈值时,设置所述第一阈值为预设值;
第二设置模块1104,用于当所述第二数量等于所述第六阈值时,根据所述相邻块所属的编码单元的尺寸及所述当前编码单元的尺寸设置所述第一阈值。
其中,第二设置模块1104包括:第八确定模块1105、第三设置模块1106及第四设置模块1107。
第八确定模块1105,用于确定所述相邻块中,是否存在所属的编码单元的尺寸大于或等于所述当前编码单元的尺寸的目标相邻块;
第三设置模块1106,用于当存在所述目标相邻块时,基于所述目标相邻块所属的编码单元的梯度设置所述第一阈值;
第四设置模块1107,用于当不存在所述目标相邻块时,设置所述第一阈值为零。
可以理解的是,与上述模块相关的内容具体可参阅图5所示实施例,此处不做赘述。
在本申请实施例中,通过结合当前编码单元的梯度、及当前编码单元的各个子编码单元的梯度确定是否需要对当前编码单元进行划分,不仅能够减轻对编码单元进行划分的运算负担及降低运算复杂度,且充分考虑了各个子编码单元的梯度差异对编码单元结构及选择的帧内预测模式的影响,使得能够更好的实现编码,进一步降低码率。且通过基于当前编码单元的相邻块设置第一阈值,以便利用该第一阈值及当前编码单元的梯度确定是否需要对当前编码单元进行划分,能够有效提升判断的准确性,使得对当前编码单元的划分更加合理。
请参阅图12,为本申请实施例中追加程序模块的结构示意图,该追加程序模块用于在确定对当前编码单元进行划分时,实现对当前编码单元的划分,该追加程序模块包括:
划分模块1201,用于将所述当前编码单元划分为多个子编码单元;
选择计算模块1202,用于分别为多个所述子编码单元选择最优帧内预测模式,并计算多个所述子编码单元的编码代价值;
取消输出模块1203,用于当多个所述子编码单元的编码代价值的和大于或等于所述当前编码单元的编码代价值时,取消对所述当前编码单元的划分,输出所述当前编码单元的最优帧内预测模式;
输出模块1204,用于当多个所述子编码单元的编码代价值的和小于所述当前编码单元的编码代价值时,输出多个所述子编码单元的编码代价值及选择的最优帧内预测模式。
在本申请实施例中,在确定对当前编码单元进行划分的情况下,通过将划分后的各子编码单元的编码代价值的和与当前编码单元的编码代价值进行比较,并选择编码代价值最小的方式进行输出,使得能够实现编码单元的更合理的划分,节约编码代价。
本申请实施例中还提供一种计算设备,包括存储器、处理器及存储在存储器上且在处理器上运行的计算机程序,其特征在于,处理器执行计算机程序时,实现如图1至图5任意一个或者图7所示实施例中的编码单元划分确定方法中的各个步骤。
本申请实施例中还提供一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现图1至图5任意一个或者图7所示实施例中的编码单元划分确定方法的各个步骤。
可以理解的是,在本申请实施例中,上述的编码单元划分确定装置是一种计算设备,该计算设备具体可以是服务器,为了更好的理解本申请实施例中的技术方案,请参阅图13,为本申请实施例中计算设备130的结构示意图。该计算设备130包括处理器1301、存储器1302和收发器1303,存储器1302可以包括只读存储器和随机存取存储器,并向处理器1301提供操作指令和数据。存储器1302的一部分还可以包括非易失性随机存取存储器(NVRAM)。
在一些实施方式中,存储器1302存储了如下的元素:可执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本申请实施例中,通过调用存储器1302存储的操作指令(该操作指令可存储在操作系统中),执行以下过程:在确定当前编码单元的最优帧内预测模式之后,确定当前编码单元的尺寸是否大于最小编码单元的尺寸,当该当前编码单元的尺寸大于最小编码单元的尺寸时,获取当前编码单元的梯度,当当前编码单元的梯度小于第一阈值时,获取该当前编码单元包含的各个子编码单元的梯度,根据该各个子编码单元的梯度确认是否对当前编码单元进行划分。
与现有技术中对所有编码单元都进行划分的方式相比,本申请实施例提供的计算设备,对于尺寸大于最小编码单元的当前编码单元,需要基于当前编码单元的梯 度及当前编码单元包含的各子编码单元的梯度,确定是否对当前编码单元进行进一步划分,使得能够确定不需要进行划分的编码单元,减少对编码单元划分所带来的运算量且降低运算复杂度。
其中,处理器1301控制计算设备130的操作,处理器1301还可以称为CPU(Central Processing Unit,中央处理单元)。存储器1302可以包括只读存储器和随机存取存储器,并向处理器1301提供指令和数据。存储器1302的一部分还可以包括非易失性随机存取存储器(NVRAM)。具体的应用中计算设备130的各个组件通过总线系统1304耦合在一起,其中总线系统1304除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统1304。
上述本申请实施例揭示的方法可以应用于处理器1301中,或者由处理器1301实现。处理器1301可能是一种集成电路芯片,具有处理信号的能力。在实现过程中,上述方法的各步骤可以通过处理器1301中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器910可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1302,处理器1301读取存储器1302中的信息,结合其硬件完成上述方法的步骤。
以上的计算设备130可以参阅图1至图7所示实施例的描述进行理解,本处不做过多赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可 以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上为对本申请所提供的一种编码单元划分确定方法及装置、计算设备及可读存储介质的描述,对于本领域的技术人员,依据本申请实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本申请的限制。

Claims (15)

  1. 一种编码单元划分确定方法,其特征在于,所述方法包括:
    计算设备确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
    当所述当前编码单元的尺寸大于最小编码单元的尺寸时,所述计算设备获取所述当前编码单元的梯度;
    当所述当前编码单元的梯度小于第一阈值时,所述计算设备获取所述当前编码单元包含的各个子编码单元的梯度;以及
    所述计算设备根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
  2. 根据权利要求1所述的方法,其特征在于,所述计算设备根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分,包括:
    当所述各个子编码单元的梯度的和大于第二阈值时,所述计算设备确定所述各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量,所述第一阈值大于所述第二阈值;
    当所述第一数量大于或等于第四阈值时,所述计算设备确定对所述当前编码单元进行划分;
    当所述第一数量小于所述第四阈值时,所述计算设备确定不对所述当前编码单元进行划分。
  3. 根据权利要求1所述的方法,其特征在于,所述计算设备根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分,包括:
    当所述各个子编码单元的梯度的和大于第二阈值时,所述计算设备确定所述各个子编码单元的梯度中,最大梯度与最小非零梯度的比值是否大于或等于第五阈值;
    当所述比值大于或等于所述第五阈值时,所述计算设备确定对所述当前编码单元进行划分;
    当所述比值小于所述第五阈值时,所述计算设备确定不对所述当前编码单元进行划分。
  4. 根据权利要求1所述的方法,其特征在于,所述计算设备获取所述当前编码单元的梯度,包括:
    所述计算设备计算所述当前编码单元包含的各个最小编码单元的梯度,将所述各个最小编码单元的梯度的和作为所述当前编码单元的梯度。
  5. 根据权利要求1至4任意一项所述的方法,其特征在于,所述方法还包括:
    所述计算设备获取所述当前编码单元相邻块的第二数量,所述相邻块的尺寸与所述当前编码单元的尺寸相同;
    所述计算设备根据所述第二数量设置所述第一阈值。
  6. 根据权利要求5所述的方法,其特征在于,所述计算设备根据所述第二数量 设置所述第一阈值,包括:
    当所述第二数量小于第六阈值时,所述计算设备设置所述第一阈值为预设值;
    当所述第二数量等于所述第六阈值,所述计算设备根据所述相邻块所属的编码单元的尺寸及所述当前编码单元的尺寸设置所述第一阈值。
  7. 根据权利要求6所述的方法,其特征在于,所述计算设备根据所述相邻块所属的编码单元的尺寸及所述当前编码单元的尺寸设置所述第一阈值,包括:
    所述计算设备确定所述相邻块中,是否存在所属的编码单元的尺寸大于或等于所述当前编码单元的尺寸的目标相邻块;
    当存在所述目标相邻块时,所述计算设备基于所述目标相邻块所属的编码单元的梯度设置所述第一阈值;
    当不存在所述目标相邻块时,所述计算设备设置所述第一阈值为零。
  8. 一种编码单元划分确定装置,其特征在于,所述装置包括:
    第一确定模块,用于确定当前编码单元的尺寸是否大于最小编码单元的尺寸;
    第一获取模块,用于当所述当前编码单元的尺寸大于最小编码单元的尺寸时,获取所述当前编码单元的梯度;
    第二获取模块,用于当所述当前编码单元的梯度小于第一阈值时,获取所述当前编码单元包含的各个子编码单元的梯度;
    第二确定模块,用于根据所述各个子编码单元的梯度确定是否对所述当前编码单元进行划分。
  9. 根据权利要求8所述的装置,其特征在于,所述第二确定模块包括:
    数量确定模块,用于当所述各个子编码单元的梯度的和大于第二阈值时,确定所述各个子编码单元中,梯度小于或等于第三阈值的子编码单元的第一数量,所述第一阈值大于所述第二阈值;
    第三确定模块,用于当所述第一数量大于或等于第四阈值时,确定对所述当前编码单元进行划分;
    第四确定模块,用于当所述第一数量小于所述第四阈值时,确定不对所述当前编码单元进行划分。
  10. 根据权利要求8所述的装置,其特征在于,所述第二确定模块包括:
    第五确定模块,用于当所述各个子编码单元的梯度的和大于第二阈值时,确定所述各个子编码单元的梯度中,最大梯度与最小非零梯度的比值是否大于或等于第五阈值;
    第六确定模块,用于当所述比值大于或等于所述第五阈值时,确定对所述当前编码单元进行划分;
    第七确定模块,用于当所述比值小于所述第五阈值时,确定不对所述当前编码单元进行划分。
  11. 根据权利要求8所述的装置,其特征在于,所述第一获取模块具体用于计算所述当前编码单元包含的各个最小编码单元的梯度,将所述各个最小编码单元的梯度的和作为所述当前编码单元的梯度。
  12. 根据权利要求8至11任意一项所述的装置,其特征在于,所述装置还包括:
    数量获取模块,用于获取所述当前编码单元相邻块的第二数量,所述相邻块的尺寸与所述当前编码单元的尺寸相同;
    阈值设置模块,用于根据所述第二数量设置所述第一阈值。
  13. 根据权利要求12所述的装置,其特征在于,所述阈值设置模块包括:
    第一设置模块,用于当所述第二数量小于第六阈值时,设置所述第一阈值为预设值;
    第二设置模块,用于当所述第二数量等于所述第六阈值时,根据所述相邻块所属的编码单元的尺寸及所述当前编码单元的尺寸设置所述第一阈值;
    其中,所述第二设置模块包括:
    第八确定模块,用于确定所述相邻块中,是否存在所属的编码单元的尺寸大于或等于所述当前编码单元的尺寸的目标相邻块;
    第三设置模块,用于当存在所述目标相邻块时,基于所述目标相邻块所属的编码单元的梯度设置所述第一阈值;
    第四设置模块,用于当不存在所述目标相邻块时,设置所述第一阈值为零。
  14. 一种计算设备,包括存储器、处理器及存储在所述存储器上且在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1至7任意一项所述的编码单元划分确定方法中的各个步骤。
  15. 一种可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至7任意一项所述的编码单元划分确定方法的各个步骤。
PCT/CN2018/090935 2017-12-14 2018-06-13 编码单元划分确定方法及装置、计算设备及可读存储介质 WO2019114225A1 (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP18887236.0A EP3726837A4 (en) 2017-12-14 2018-06-13 PROCESS AND DEVICE FOR DETERMINING THE DIVISION OF A CODING UNIT, COMPUTER DEVICE AND READABLE STORAGE MEDIA
KR1020197036795A KR102327942B1 (ko) 2017-12-14 2018-06-13 코딩 유닛 분할 결정 방법 및 디바이스, 컴퓨팅 디바이스 및 판독 가능한 저장 매체
JP2020526386A JP6953067B2 (ja) 2017-12-14 2018-06-13 符号化単位分割決定方法及び装置、コンピューティングデバイス及び読み取り可能な記憶媒体
US16/390,165 US11190766B2 (en) 2017-12-14 2019-04-22 Method and apparatus for determining division of coding unit, computing device, and readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201711339827.5 2017-12-14
CN201711339827.5A CN109963151B (zh) 2017-12-14 2017-12-14 编码单元划分确定方法及装置、终端设备及可读存储介质

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US16/390,165 Continuation US11190766B2 (en) 2017-12-14 2019-04-22 Method and apparatus for determining division of coding unit, computing device, and readable storage medium

Publications (1)

Publication Number Publication Date
WO2019114225A1 true WO2019114225A1 (zh) 2019-06-20

Family

ID=66818937

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/090935 WO2019114225A1 (zh) 2017-12-14 2018-06-13 编码单元划分确定方法及装置、计算设备及可读存储介质

Country Status (6)

Country Link
US (1) US11190766B2 (zh)
EP (1) EP3726837A4 (zh)
JP (1) JP6953067B2 (zh)
KR (1) KR102327942B1 (zh)
CN (1) CN109963151B (zh)
WO (1) WO2019114225A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669602A (zh) * 2020-06-04 2020-09-15 北京大学深圳研究生院 编码单元的划分方法、装置、编码器及存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112702603A (zh) * 2019-10-22 2021-04-23 腾讯科技(深圳)有限公司 视频编码方法、装置、计算机设备和存储介质
CN112584154A (zh) * 2020-12-25 2021-03-30 咪咕文化科技有限公司 视频编码块划分方法、装置、电子设备及存储介质
CN113467949B (zh) * 2021-07-07 2022-06-28 河海大学 边缘计算环境下用于分布式dnn训练的梯度压缩方法
CN117440157B (zh) * 2023-09-26 2024-05-28 书行科技(北京)有限公司 视频编码方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363450A (zh) * 2014-11-27 2015-02-18 北京奇艺世纪科技有限公司 一种帧内编码模式决策方法及装置
CN105391999A (zh) * 2015-10-30 2016-03-09 北京奇艺世纪科技有限公司 一种编码模式判断方法和装置
CN105491385A (zh) * 2015-12-02 2016-04-13 同济大学 一种hevc帧内编码单元划分的快速决策方法
WO2017142262A1 (ko) * 2016-02-16 2017-08-24 삼성전자 주식회사 적응적인 블록 파티셔닝 방법 및 장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4697557B2 (ja) * 2009-01-07 2011-06-08 ソニー株式会社 符号化装置、符号化方法、記録媒体及び画像処理装置
US9094658B2 (en) * 2010-05-10 2015-07-28 Mediatek Inc. Method and apparatus of adaptive loop filtering
US11178407B2 (en) * 2012-11-19 2021-11-16 Texas Instruments Incorporated Adaptive coding unit (CU) partitioning based on image statistics
CN103297781B (zh) * 2013-06-07 2016-02-17 安科智慧城市技术(中国)有限公司 一种基于纹理方向的hevc帧内编码方法、装置和系统
KR102169610B1 (ko) * 2013-08-21 2020-10-23 삼성전자주식회사 인트라 예측 모드 결정 방법 및 장치
CN103517069B (zh) * 2013-09-25 2016-10-26 北京航空航天大学 一种基于纹理分析的hevc帧内预测快速模式选择方法
CN104883566B (zh) * 2015-05-27 2018-06-12 复旦大学 一种适用于hevc标准的帧内预测块大小划分的快速算法
CN105120292B (zh) * 2015-09-09 2018-11-23 厦门大学 一种基于图像纹理特征的视频编码帧内预测方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104363450A (zh) * 2014-11-27 2015-02-18 北京奇艺世纪科技有限公司 一种帧内编码模式决策方法及装置
CN105391999A (zh) * 2015-10-30 2016-03-09 北京奇艺世纪科技有限公司 一种编码模式判断方法和装置
CN105491385A (zh) * 2015-12-02 2016-04-13 同济大学 一种hevc帧内编码单元划分的快速决策方法
WO2017142262A1 (ko) * 2016-02-16 2017-08-24 삼성전자 주식회사 적응적인 블록 파티셔닝 방법 및 장치

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3726837A4 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111669602A (zh) * 2020-06-04 2020-09-15 北京大学深圳研究生院 编码单元的划分方法、装置、编码器及存储介质

Also Published As

Publication number Publication date
KR102327942B1 (ko) 2021-11-17
US11190766B2 (en) 2021-11-30
CN109963151A (zh) 2019-07-02
US20190253709A1 (en) 2019-08-15
JP6953067B2 (ja) 2021-10-27
JP2021502786A (ja) 2021-01-28
EP3726837A4 (en) 2020-10-28
CN109963151B (zh) 2020-10-20
KR20200005653A (ko) 2020-01-15
EP3726837A1 (en) 2020-10-21

Similar Documents

Publication Publication Date Title
WO2019114225A1 (zh) 编码单元划分确定方法及装置、计算设备及可读存储介质
TWI665907B (zh) 用於圖像和視訊編碼的基於模板的圖框內預測的方法和裝置
US20230421807A1 (en) Method and apparatus for processing intra prediction mode
CN110290388B (zh) 帧内预测方法、视频编码方法、计算机设备及存储装置
TWI540885B (zh) 經由畫面內預測進行影像之編碼與解碼的方法及其裝置
WO2015180428A1 (zh) 帧内预测编码的视频编码方法及视频编码装置
EP3962080A1 (en) Method and apparatus for image processing
BR112014009431B1 (pt) Método para codificar dados de vídeo, aparelho para codificar vídeo e memória legível por computador
US11153574B2 (en) Image encoding method/device, image decoding method/device, and recording medium in which bitstream is stored
CN104982035B (zh) 用于对数字图像的序列进行编码的方法
KR102214937B1 (ko) 디블로킹 필터 방법 및 장치
WO2016180129A1 (zh) 预测模式选择方法、装置及设备
KR20220045045A (ko) 비디오 신호의 행렬 가중된 인트라 예측
JP7482536B2 (ja) 適応的な数の領域を伴う幾何学的分割のための形状適応離散コサイン変換
US20230063062A1 (en) Hardware codec accelerators for high-performance video encoding
CN113647104A (zh) 在以自适应区域数量进行的几何分区中的帧间预测
JP7481332B2 (ja) デコードのための予測方法及びその装置、並びにコンピュータ記憶媒体
EP3791591A1 (en) Method and apparatus for blended intra prediction
CN110213595B (zh) 基于帧内预测的编码方法、图像处理设备和存储装置
US20170201767A1 (en) Video encoding device and video encoding method
JP2022548204A (ja) 変換スキップモードで映像データを符号化するための方法及び装置
WO2022077490A1 (zh) 一种帧内预测方法、编码器、解码器及存储介质
WO2020258052A1 (zh) 图像分量预测方法、装置及计算机存储介质
WO2023050370A1 (zh) 帧内预测的方法、解码器、编码器和编解码系统
WO2023044916A1 (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: 18887236

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20197036795

Country of ref document: KR

Kind code of ref document: A

ENP Entry into the national phase

Ref document number: 2020526386

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2018887236

Country of ref document: EP

Effective date: 20200714